Chapter 7. Translating mRNA into Protein: More Functional Programming
According to the Central Dogma of molecular biology, DNA makes mRNA, and mRNA makes protein.
In Chapter 2, I showed how to transcribe DNA to mRNA, so now it’s time to translate mRNA into protein sequences.
As described on the Rosalind PROT page, I now need to write a program that accepts a string of mRNA and produces an amino acid sequence.
I will show several solutions using lists, for loops, list comprehensions, dictionaries, and higher-order functions, but I confess I’ll end with a Biopython function.
Still, it will be tons of fun.
Mostly I’m going to focus on how to write, test, and compose small functions to create solutions. You’ll learn:
-
How to extract codons/k-mers from a sequence using string slices
-
How to use a dictionary as a lookup table
-
How to translate a
forloop into a list comprehension and amap()expression -
How to use the
takewhile()andpartial()functions -
How to use the
Bio.Seqmodule to translate mRNA into proteins
Getting Started
You will need to work in the 07_prot directory for this exercise.
I recommend you begin by copying the first solution to prot.py and asking for the usage:
$ cp solution1_for.py prot.py $ ./prot.py -h usage: prot.py [-h] RNA Translate RNA to proteins positional arguments: RNA RNA sequence optional arguments: -h, --help show this help message and exit
The program requires an RNA sequence as a single positional argument. From here on, I’ll use the term ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access