/bioutils

C++ Library written to solve the ROSALIND problems

Primary LanguageC++

Bioinformatics Utilities

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.

Progress

Bioinformatics Textbook Track

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