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
for
loop into a list comprehension and amap()
expression -
How to use the
takewhile()
andpartial()
functions -
How to use the
Bio.Seq
module 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 ...
Get Mastering Python for Bioinformatics now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.