This project is the C++ library I wrote to solve the ROSALIND problems, but note that the code is not the solution to the problems.
These questions below are from Bioinformatics Algorithms: An Active-Learning Approach by Phillip Compeau & Pavel Pevzner.
- BA1A Compute the Number of Times a Pattern Appears in a Text
- BA1B Find the Most Frequent Words in a String
- BA1C Find the Reverse Complement of a String
- BA1D Find All Occurrences of a Pattern in a String
- BA1E Find Patterns Forming Clumps in a String
- BA1F Find a Position in a Genome Minimizing the Skew
- BA1G Compute the Hamming Distance Between Two Strings
- BA1H Find All Approximate Occurrences of a Pattern in a String
- BA1I Find the Most Frequent Words with Mismatches in a String
- BA1J Find Frequent Words with Mismatches and Reverse Complements
- BA1K Generate the Frequency Array of a String
- BA1L Implement PatternToNumber
- BA1M Implement NumberToPattern
- BA1N Generate the d-Neighborhood of a String
- BA2A Implement MotifEnumeration
- BA2B Find a Median String
- BA2C Find a Profile-most Probable k-mer in a String
- BA2D Implement GreedyMotifSearch
- BA2E Implement GreedyMotifSearch with Pseudocounts
- BA2F Implement RandomizedMotifSearch
- BA2G Implement GibbsSampler
- BA2H Implement DistanceBetweenPatternAndStrings
- BA3A Generate the k-mer Composition of a String
- BA3B Reconstruct a String from its Genome Path
- BA3C Construct the Overlap Graph of a Collection of k-mers
- BA3D Construct the De Bruijn Graph of a String
- BA3E Construct the De Bruijn Graph of a Collection of k-mers
- BA3F Find an Eulerian Cycle in a Graph
- BA3G Find an Eulerian Path in a Graph
- BA3H Reconstruct a String from its k-mer Composition
- BA3I Find a k-Universal Circular String
- BA3J Reconstruct a String from its Paired Composition
- BA3K Generate Contigs from a Collection of Reads
- BA3L Construct a String Spelled by a Gapped Genome Path
- BA3M Generate All Maximal Non-Branching Paths in a Graph
- BA4A Translate an RNA String into an Amino Acid String
- BA4B Find Substrings of a Genome Encoding a Given Amino Acid String
- BA4C Generate the Theoretical Spectrum of a Cyclic Peptide
- BA4D Compute the Number of Peptides of Given Total Mass
- BA4E Find a Cyclic Peptide with Theoretical Spectrum Matching an Ideal Spectrum
- BA4F Compute the Score of a Cyclic Peptide Against a Spectrum
- BA4G Implement LeaderboardCyclopeptideSequencing
- BA4H Generate the Convolution of a Spectrum
- BA4I Implement ConvolutionCyclopeptideSequencing
- BA4J Generate the Theoretical Spectrum of a Linear Peptide
- BA4K Compute the Score of a Linear Peptide
- BA4L Trim a Peptide Leaderboard
- BA4M Solve the Turnpike Problem
- BA5A Find the Minimum Number of Coins Needed to Make Change
- BA5B Find the Length of a Longest Path in a Manhattan-like Grid
- BA5C Find a Longest Common Subsequence of Two Strings
- BA5D Find the Longest Path in a DAG
- BA5E Find a Highest-Scoring Alignment of Two Strings
- BA5F Find a Highest-Scoring Local Alignment of Two Strings
- BA5G Compute the Edit Distance Between Two Strings
- BA5H Find a Highest-Scoring Fitting Alignment of Two Strings
- BA5I Find a Highest-Scoring Overlap Alignment of Two Strings
- BA5J Align Two Strings Using Affine Gap Penalties
- BA5K Find a Middle Edge in an Alignment Graph in Linear Space
- BA5L Align Two Strings Using Linear Space
- BA5M Find a Highest-Scoring Multiple Sequence Alignment
- BA5N Find a Topological Ordering of a DAG
- BA6A Implement GreedySorting to Sort a Permutation by Reversals
- BA6B Compute the Number of Breakpoints in a Permutation
- BA6C Compute the 2-Break Distance Between a Pair of Genomes
- BA6D Find a Shortest Transformation of One Genome into Another by 2-Breaks
- BA6E Find All Shared k-mers of a Pair of Strings
- BA6F Implement ChromosomeToCycle
- BA6G Implement CycleToChromosome
- BA6H Implement ColoredEdges
- BA6I Implement GraphToGenome
- BA6J Implement 2-BreakOnGenomeGraph
- BA6K Implement 2-BreakOnGenome
- BA7A Compute Distances Between Leaves
- BA7B Compute Limb Lengths in a Tree
- BA7C Implement AdditivePhylogeny
- BA7D Implement UPGMA
- BA7E Implement the Neighbor Joining Algorithm
- BA7F Implement SmallParsimony
- BA7G Adapt SmallParsimony to Unrooted Trees
- BA8A Implement FarthestFirstTraversal
- BA8B Compute the Squared Error Distortion
- BA8C Implement the Lloyd Algorithm for k-Means Clustering
- BA8D Implement the Soft k-Means Clustering Algorithm
- BA8E Implement Hierarchical Clustering
- BA9A Construct a Trie from a Collection of Patterns
- BA9B Implement TrieMatching
- BA9C Construct the Suffix Tree of a String
- BA9D Find the Longest Repeat in a String
- BA9E Find the Longest Substring Shared by Two Strings
- BA9F Find the Shortest Non-Shared Substring of Two Strings
- BA9G Construct the Suffix Array of a String
- BA9H Pattern Matching with the Suffix Array
- BA9I Construct the Burrows-Wheeler Transform of a String
- BA9J Reconstruct a String from its Burrows-Wheeler Transform
- BA9K Generate the Last-to-First Mapping of a String
- BA9L Implement BWMatching
- BA9M Implement BetterBWMatching
- BA9N Find All Occurrences of a Collection of Patterns in a String
- BA9O Find All Approximate Occurrences of a Collection of Patterns in a String
- BA9P Implement TreeColoring
- BA9Q Construct the Partial Suffix Array of a String
- BA9R Construct a Suffix Tree from a Suffix Array
- BA10A Compute the Probability of a Hidden Path
- BA10B Compute the Probability of an Outcome Given a Hidden Path
- BA10C Implement the Viterbi Algorithm
- BA10D Compute the Probability of a String Emitted by an HMM
- BA10E Construct a Profile HMM
- BA10F Construct a Profile HMM with Pseudocounts
- BA10G Perform a Multiple Sequence Alignment with a Profile HMM
- BA10H Estimate the Parameters of an HMM
- BA10I Implement Viterbi Learning
- BA10J Solve the Soft Decoding Problem
- BA10K Implement Baum-Welch Learning
- BA11A Construct the Graph of a Spectrum
- BA11B Implement DecodingIdealSpectrum
- BA11C Convert a Peptide into a Peptide Vector
- BA11D Convert a Peptide Vector into a Peptide
- BA11E Sequence a Peptide
- BA11F Find a Highest-Scoring Peptide in a Proteome against a Spectrum
- BA11G Implement PSMSearch
- BA11H Compute the Size of a Spectral Dictionary
- BA11I Compute the Probability of a Spectral Dictionary
- BA11J Find a Highest-Scoring Modified Peptide against a Spectrum