Molecular Biology is full of functions and machines. I have created some classes that abstract nucleotides, amino acids, nucleotide strands, and have implemented the unit tests you need to validate your code.
Open up genetic_code.go
and see there are 3 TODO comments there. You have to finish up the mapping for codons to amino acids defined in amino_acids.go
. The table is defined at thoughtco page among other places on the web. Follow the UCAG ordering from that page. When you have this correct, running the unit tests in genetic_code_test.go
will pass. This should be simple and afterwards, you should get familiar with some of the names. Notice that there are 4^3 = 64 different combinations for the RNA nucleotide codons, but only 20 amino acids. Some of them map to a STOP code (which we represent as nil
).
The ribosome can process a strand of RNA and build proteins (specific amino acid strands). The process is called Translation. Your job is to implement this in ribosome.go
. When you get it right, the tests in ribosome_tests.go
will pass.
Email your code changes to [email protected] to receive credit and receive a response that will contain a text file with a sequence of nucleotides. Follow this procedure:
cd rna2protein
go build
cat myfile.fna | ./rna2protein
email the output to [email protected] to receive credit.