<div dir="ltr"><span style="font-family:monospace,monospace"># -*- coding: utf-8 -*-<br>"""<br>Created on Wed Dec 16 10:07:57 2015<br><br>@author: kurner, 4dsolutions (.net)<br>(copyleft MIT license, 2015)<br><br>Example:  Rich Data Structures <br>(for learning Python, including sqlite3)<br><br>Source:  <br><br><a href="http://www.soc-bdr.org/rds/authors/unit_tables_conversions_and_genetic_dictionaries/e5202/index_en.html">http://www.soc-bdr.org/rds/authors/unit_tables_conversions_and_genetic_dictionaries/e5202/index_en.html</a><br><br>Any errors you discover in transcribing will be mine, please <br>let me know and I'll correct my copy as well.<br><br><a href="mailto:kirby.urner@gmail.com">kirby.urner@gmail.com</a><br><br>Re:  "Rich Data Structures"<br><a href="https://mail.python.org/pipermail/edu-sig/2006-June/006608.html">https://mail.python.org/pipermail/edu-sig/2006-June/006608.html</a><br><br>(a more obvious need now that "big data" examples are in demand,<br>for learning map/reduce techniques etc.).  Indeed, we have many <br>public raw data sets.  A goal is to have some already in Python,<br>as ready-to-go native data types.  As here.  This is not "big<br>data", just data.<br><br>Another experiment:<br><a href="https://mail.python.org/pipermail/edu-sig/2012-December/010709.html">https://mail.python.org/pipermail/edu-sig/2012-December/010709.html</a><br>(same caveats about errors)<br><br>"""<br><br>amino_acid_abbrevs = \<br>dict(<br>Phe = 'Phenyalinine',<br>Leu = 'Leucine',<br>Ser = 'Serine',<br>Tyr = 'Tyrosine',<br>Cys = 'Cysteine',<br>Trp = 'Tryptophan',<br>Pro = 'Proline',<br>His = 'Histidine',<br>Gln = 'Glutamine',<br>Arg = 'Arginine',<br>Ile = 'Isoleucine',<br>Met = 'Methionine',<br>Thr = 'Threonine',<br>Asn = 'Asparagine',<br>Lys = 'Lysine',<br>Val = 'Valine',<br>Ala = 'Alanine',<br>Asp = 'Aspartate',<br>Glu = 'Glutamate',<br>Cly = 'Glycine')<br><br>combos = [(a, b, c) for a in ('G','U','A','C')<br>for b in ('G','U','A','C') <br>for c in ('G','U','A','C')]<br> <br><br># Also see:<br># <a href="https://flic.kr/p/BeVwN2">https://flic.kr/p/BeVwN2</a><br># (American Scientist Vol. 97)<br>   <br>mRNA = \<br>{<br>('G', 'G', 'G') : 'Gly',<br>('G', 'G', 'U') : 'Gly',<br>('G', 'G', 'A') : 'Gly',<br>('G', 'G', 'C') : 'Gly',<br>('G', 'U', 'G') : 'Val',<br>('G', 'U', 'U') : 'Val',<br>('G', 'U', 'A') : 'Val',<br>('G', 'U', 'C') : 'Val',<br>('G', 'A', 'G') : 'Glu',<br>('G', 'A', 'U') : 'Asp',<br>('G', 'A', 'A') : 'Glu',<br>('G', 'A', 'C') : 'Asp',<br>('G', 'C', 'G') : 'Ala',<br>('G', 'C', 'U') : 'Ala',<br>('G', 'C', 'A') : 'Ala',<br>('G', 'C', 'C') : 'Ala',<br><br>('U', 'G', 'G') : 'Trp',<br>('U', 'G', 'U') : 'Cys',<br>('U', 'G', 'A') : 'STOP',<br>('U', 'G', 'C') : 'Cys',<br>('U', 'U', 'G') : 'Leu',<br>('U', 'U', 'U') : 'Phe',<br>('U', 'U', 'A') : 'Leu',<br>('U', 'U', 'C') : 'Phe',<br>('U', 'A', 'G') : 'STOP',<br>('U', 'A', 'U') : 'Tyr',<br>('U', 'A', 'A') : 'STOP',<br>('U', 'A', 'C') : 'Tyr',<br>('U', 'C', 'G') : 'Ser',<br>('U', 'C', 'U') : 'Ser',<br>('U', 'C', 'A') : 'Ser',<br>('U', 'C', 'C') : 'Ser',<br><br>('A', 'G', 'G') : 'Arg',<br>('A', 'G', 'U') : 'Ser',<br>('A', 'G', 'A') : 'Arg',<br>('A', 'G', 'C') : 'Ser',<br>('A', 'U', 'G') : 'Met',<br>('A', 'U', 'U') : 'Ile',<br>('A', 'U', 'A') : 'Ile',<br>('A', 'U', 'C') : 'Ile',<br>('A', 'A', 'G') : 'Lys',<br>('A', 'A', 'U') : 'Asn',<br>('A', 'A', 'A') : 'Lys',<br>('A', 'A', 'C') : 'Asn',<br>('A', 'C', 'G') : 'Thr',<br>('A', 'C', 'U') : 'Thr',<br>('A', 'C', 'A') : 'Thr',<br>('A', 'C', 'C') : 'Thr',<br><br>('C', 'G', 'G') : 'Arg',<br>('C', 'G', 'U') : 'Arg',<br>('C', 'G', 'A') : 'Arg',<br>('C', 'G', 'C') : 'Arg',<br>('C', 'U', 'G') : 'Leu',<br>('C', 'U', 'U') : 'Leu',<br>('C', 'U', 'A') : 'Leu',<br>('C', 'U', 'C') : 'Leu',<br>('C', 'A', 'G') : 'Gln',<br>('C', 'A', 'U') : 'His',<br>('C', 'A', 'A') : 'Gln',<br>('C', 'A', 'C') : 'His',<br>('C', 'C', 'G') : 'Pro',<br>('C', 'C', 'U') : 'Pro',<br>('C', 'C', 'A') : 'Pro',<br>('C', 'C', 'C') : 'Pro'}<br><br><br># [Ibid, <a href="http://www.soc-bdr.org">www.soc-bdr.org</a>] from Table 5. Genetic Code: <br># mRNA condon -> tRNA anti-codon<br># DNA column dropped (computable, replace mRNA U with T)<br># last column also not included.<br><br>tRNA = \<br>{<br>('U','U','U'):(('A','A','A'), ('A','A','G')),<br>('U','U','C'):(('A','A','G'),),<br>('U','U','A'):(('A','A','U'),),<br>('U','U','G'):(('A','A','U'),('A','A','C')),<br>('U','C','U'):(('A','G','I'),('A','G','G'), ('A','G','A')),<br>('U','C','C'):(('A','G','I'),('A','G','G')),<br>('U','C','A'):(('A','G','I'),('A','G','U')),<br>('U','C','G'):(('A','G','C'),('A','G','U')),<br>('U','A','U'):(('A','U','A'),('A','U','G'),),<br>('U','A','C'):(('A','U','G'),),<br>('U','A','A'):(('A','U','U'),),<br>('U','A','G'):(('A','U','C'),('A','U','U')),<br>('U','G','U'):(('A','C','A'),('A','C','G')),<br>('U','G','C'):(('A','C','G'),),<br>('U','G','A'):(('A','C','U'),),<br>('U','G','G'):(('A','C','C'),),<br><br>('C','U','U'):(('G','A','I'),('G','A','G'),('G','A','A')),<br>('C','U','C'):(('G','A','I'),('G','A','G')),<br>('C','U','A'):(('G','A','I'),('G','A','U')),<br>('C','U','G'):(('G','A','C'),('G','A','U')),<br>('C','C','U'):(('G','G','I'),('G','G','G'),('G','G','A')),<br>('C','C','C'):(('G','G','I'),('G','G','G')),<br>('C','C','A'):(('G','G','I'),('G','G','U')),<br>('C','C','G'):(('G','G','C'),('G','G','U')),<br>('C','A','U'):(('G','U','A'),('G','U','G')),<br>('C','A','C'):(('G','U','G'),),<br>('C','A','A'):(('G','U','U'),),<br>('C','A','G'):(('G','U','C'),('G','U','U')),<br>('C','G','U'):(('G','C','I'),('G','C','G'),('G','C','A')),<br>('C','G','C'):(('G','C','I'),('G','C','G')),<br>('C','G','A'):(('G','C','I'),('G','C','U')),<br>('C','G','G'):(('G','C','C'),('G','C','U')),<br><br>('A','U','U'):(('U','A','I'),('U','A','G'),('U','A','A')),<br>('A','U','C'):(('U','A','I'),('U','A','G')),<br>('A','U','A'):(('U','A','I'),('U','A','U')),<br>('A','U','G'):(('U','A','C'),),<br>('A','C','U'):(('U','G','I'),('U','G','G'),('U','G','A')),<br>('A','C','C'):(('U','G','I'),('U','G','G')),<br>('A','C','A'):(('U','G','I'),('U','G','U')),<br>('A','C','G'):(('U','G','C'),('U','G','U')),<br>('A','A','U'):(('U','U','A'),('U','U','G')),<br>('A','A','C'):(('U','U','G'),),<br>('A','A','A'):(('U','U','U'),),<br>('A','A','G'):(('U','U','C'),('U','U','U')),<br>('A','G','U'):(('U','C','A'),('U','C','G')),<br>('A','G','C'):(('U','C','G'),),<br>('A','G','A'):(('U','C','U'),),<br>('A','G','G'):(('U','C','C'),('U','C','U')),<br>    <br>('G','U','U'):(('C','A','I'),('C','A','G'),('C','A','A')),<br>('G','U','C'):(('C','A','I'),('C','A','G')),<br>('G','U','A'):(('C','A','I'),('C','A','U')),<br>('G','U','G'):(('C','A','C'),('C','A','U')),<br>('G','C','U'):(('C','G','I'),('C','G','G'),('C','G','A')),<br>('G','C','C'):(('C','G','I'),('C','G','G')),<br>('G','C','A'):(('C','G','I'),('C','G','U')),<br>('G','C','G'):(('C','G','C'),('C','G','U')),<br>('G','A','U'):(('C','U','G'),('C','U','A')),<br>('G','A','C'):(('C','U','G'),),<br>('G','A','A'):(('C','U','U'),),<br>('G','A','G'):(('C','U','U'),('C','U','C')),<br>('G','G','U'):(('C','C','I'),('C','C','G'),('C','C','A')),<br>('G','G','C'):(('C','C','I'),('C','C','G')),<br>('G','G','A'):(('C','C','I'),('C','C','U')),<br>('G','G','G'):(('C','C','C'),('C','C','U'))<br>}<br></span><br></div>