Bioinformatics Algorithms
- Part 1: populate arrays
- Task 1: populate preallocated array with random values
- Task 2: populate non-preallocated array with random values
- Task 2.1: write nested for loop
- Task 2.2: use inbuilt append
- Task 3: check runtime of the tested methods
- Part 2: intersect arrays
- Task 1: naive nested for loop
- Task 2: while loop on sorted arrays
- Task 3: hash function
- Task 4: check runtime of the tested methods
- Part 1: search arrays
- Task 1: naive loop
- Task 2: binary search
- Task 3: check runtime of the tested methods
- Part 2: exact sequence matching
- Task 1: convert a word into a position in the array
- Task 2: count and save the occurences of words
- Task 3: obtain the fractal images out of sequence matching
- Task 4: generate all possible permutations using a recursion
- Part 1: Needleman–Wunsch
- Task 1: implement Needleman–Wunsch
- Task 2: test the implementation
- Part 2: permutation test and Gumble distribution
- Task 1: randomly shuffle a string
- Task 2: generate a reference score and calculate the score for 1000 randomly shuffled sequences
- Task 3: plot a histogram of the calculated permutation scores
- Task 4: compute the associate p-value for the reference score
- Task 5: compute the associate p-value using an estimated gumble distribution
- Task 6: plot the histogram and the fitted probability density function
- Part 1: Dijkstra's algorithm
- Task 1: prepare environment for Dijkstra
- Task 2: implement Dijkstra