Rosalind — Bioinformatics Textbook Track

The Bioinformatics Textbook Track, all 124 problems, from pattern finding through assembly graphs to alignment. See the problem list.

124 problems — 124 solved, 0 partial. 124 carry assertions that run on every commit; 0 need a network connection and are checked separately. Press Run on any block to execute it in your browser, or open the whole pack in the workbench.

Take it with you: download this page as a notebook (.bln — run it with bl notebook, or export it to HTML, PDF or Jupyter), every problem as a zip, or grab a single problem with the Download .bl link in its section.

Sections

Or read every problem on a single page — heavier to load, but one place to scroll, search and print.

Every problem

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