🚀 Solutions for the Bioinformatics Textbook Track Problems from Rosalind
- Compute the Number of Times a Pattern Appears in a Text
- Find the Most Frequent Words in a String
- Find the Reverse Complement of a String
- Find All Occurrences of a Pattern in a String
- Find Patterns Forming Clumps in a String
- Find a Position in a Genome Minimizing the Skew
- Compute the Hamming Distance Between Two Strings
- Find All Approximate Occurrences of a Pattern in a String
- Find the Most Frequent Words with Mismatches in a String
- Find Frequent Words with Mismatches and Reverse Complements
- Generate the Frequency Array of a String
- Implement PatternToNumber
- Implement NumberToPattern
- Generate the d-Neighborhood of a String
- Implement MotifEnumeration
- Find a Median String
- Find a Profile-most Probable k-mer in a StringFind a Profile-most Probable k-mer in a String
- Implement GreedyMotifSearch
- Implement GreedyMotifSearch with Pseudocounts
- Implement RandomizedMotifSearch
- Implement GibbsSampler
- Implement DistanceBetweenPatternAndStrings
- Generate the k-mer Composition of a String
- Reconstruct a String from its Genome Path
- Construct the Overlap Graph of a Collection of k-mers
- Construct the De Bruijn Graph of a String
- Construct the De Bruijn Graph of a Collection of k-mers
- Find an Eulerian Cycle in a Graph
- Find an Eulerian Path in a Graph
- Reconstruct a String from its k-mer Composition
- Find a k-Universal Circular String
- Reconstruct a String from its Paired Composition
- Generate Contigs from a Collection of Reads
- Construct a String Spelled by a Gapped Genome Path
- Generate All Maximal Non-Branching Paths in a Graph
- Translate an RNA String into an Amino Acid String
- Find Substrings of a Genome Encoding a Given Amino Acid String
- Generate the Theoretical Spectrum of a Cyclic Peptide
- Compute the Number of Peptides of Given Total Mass
- Find a Cyclic Peptide with Theoretical Spectrum Matching an Ideal Spectrum
- Compute the Score of a Cyclic Peptide Against a Spectrum
- Implement LeaderboardCyclopeptideSequencing
- Generate the Convolution of a Spectrum
- Implement ConvolutionCyclopeptideSequencing
- Generate the Theoretical Spectrum of a Linear Peptide
- Compute the Score of a Linear Peptide
- Trim a Peptide Leaderboard
- Solve the Turnpike Problem
- Find the Minimum Number of Coins Needed to Make Change
- Find the Length of a Longest Path in a Manhattan-like Grid
- Find a Longest Common Subsequence of Two Strings
- Find the Longest Path in a DAG
- Find a Highest-Scoring Alignment of Two Strings
- Find a Highest-Scoring Local Alignment of Two Strings
- Compute the Edit Distance Between Two Strings
- Find a Highest-Scoring Fitting Alignment of Two Strings
- Find a Highest-Scoring Overlap Alignment of Two Strings
- Align Two Strings Using Affine Gap Penalties
- Find a Middle Edge in an Alignment Graph in Linear Space
- Align Two Strings Using Linear Space
- Find a Highest-Scoring Multiple Sequence Alignment
- Find a Topological Ordering of a DAG
- Implement GreedySorting to Sort a Permutation by Reversals
- Compute the Number of Breakpoints in a Permutation
- Compute the 2-Break Distance Between a Pair of Genomes
- Find a Shortest Transformation of One Genome into Another by 2-Breaks
- Find All Shared k-mers of a Pair of Strings
- Implement ChromosomeToCycle
- Implement CycleToChromosome
- Implement ColoredEdges
- Implement GraphToGenome
- Implement 2-BreakOnGenomeGraph
- Implement 2-BreakOnGenome
- Compute Distances Between Leaves
- Compute Limb Lengths in a Tree
- Implement AdditivePhylogeny
- Implement UPGMA
- Implement the Neighbor Joining Algorithm
- Implement SmallParsimony
- Adapt SmallParsimony to Unrooted Trees
- Implement FarthestFirstTraversal
- Compute the Squared Error Distortion
- Implement the Lloyd Algorithm for k-Means Clustering
- Implement the Soft k-Means Clustering Algorithm
- Implement Hierarchical Clustering
- Construct a Trie from a Collection of Patterns
- Implement TrieMatching
- Construct the Suffix Tree of a String
- Find the Longest Repeat in a String
- Find the Longest Substring Shared by Two Strings
- Find the Shortest Non-Shared Substring of Two Strings
- Construct the Suffix Array of a String
- Pattern Matching with the Suffix Array
- Construct the Burrows-Wheeler Transform of a String
- Reconstruct a String from its Burrows-Wheeler Transform
- Generate the Last-to-First Mapping of a String
- Implement BWMatching
- Implement BetterBWMatching
- Find All Occurrences of a Collection of Patterns in a String
- Find All Approximate Occurrences of a Collection of Patterns in a String
- Implement TreeColoring
- Construct the Partial Suffix Array of a String
- Construct a Suffix Tree from a Suffix Array
- Compute the Probability of a Hidden Path
- Compute the Probability of an Outcome Given a Hidden Path
- Implement the Viterbi Algorithm
- Compute the Probability of a String Emitted by an HMM
- Construct a Profile HMM
- Construct a Profile HMM with Pseudocounts
- Perform a Multiple Sequence Alignment with a Profile HMM
- Estimate the Parameters of an HMM
- Implement Viterbi Learning
- Solve the Soft Decoding Problem
- Implement Baum-Welch Learning
- Construct the Graph of a Spectrum
- Implement DecodingIdealSpectrum
- Convert a Peptide into a Peptide Vector
- Convert a Peptide Vector into a Peptide
- Sequence a Peptide
- Find a Highest-Scoring Peptide in a Proteome against a Spectrum
- Implement PSMSearch
- Compute the Size of a Spectral Dictionary
- Compute the Probability of a Spectral Dictionary
- Find a Highest-Scoring Modified Peptide against a Spectrum