<?xml version="1.0" encoding="ascii"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Bio.SeqUtils.CodonUsage</title> <link rel="stylesheet" href="epydoc.css" type="text/css" /> <script type="text/javascript" src="epydoc.js"></script> </head> <body bgcolor="white" text="black" link="blue" vlink="#204080" alink="#204080"> <!-- ==================== NAVIGATION BAR ==================== --> <table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0"> <tr valign="middle"> <!-- Tree link --> <th> <a href="module-tree.html">Trees</a> </th> <!-- Index link --> <th> <a href="identifier-index.html">Indices</a> </th> <!-- Help link --> <th> <a href="help.html">Help</a> </th> <th class="navbar" width="100%"></th> </tr> </table> <table width="100%" cellpadding="0" cellspacing="0"> <tr valign="top"> <td width="100%"> <span class="breadcrumbs"> <a href="Bio-module.html">Package Bio</a> :: <a href="Bio.SeqUtils-module.html">Package SeqUtils</a> :: Module CodonUsage </span> </td> <td> <table cellpadding="0" cellspacing="0"> <!-- hide/show private --> <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink" onclick="toggle_private();">hide private</a>]</span></td></tr> <tr><td align="right"><span class="options" >[<a href="frames.html" target="_top">frames</a >] | <a href="Bio.SeqUtils.CodonUsage-pysrc.html" target="_top">no frames</a>]</span></td></tr> </table> </td> </tr> </table> <h1 class="epydoc">Source Code for <a href="Bio.SeqUtils.CodonUsage-module.html">Module Bio.SeqUtils.CodonUsage</a></h1> <pre class="py-src"> <a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">math</tt> </tt> <a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module Bio.SeqUtils.CodonUsageIndices=Bio.SeqUtils.CodonUsageIndices-module.html"><a title="Bio.SeqUtils.CodonUsageIndices" class="py-name" href="#" onclick="return doclink('link-0', 'CodonUsageIndices', 'link-0');">CodonUsageIndices</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Variable Bio.SeqUtils.CodonUsageIndices.SharpEcoliIndex=Bio.SeqUtils.CodonUsageIndices-module.html#SharpEcoliIndex"><a title="Bio.SeqUtils.CodonUsageIndices.SharpEcoliIndex" class="py-name" href="#" onclick="return doclink('link-1', 'SharpEcoliIndex', 'link-1');">SharpEcoliIndex</a></tt> </tt> <a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name" targets="Package Bio=Bio-module.html"><a title="Bio" class="py-name" href="#" onclick="return doclink('link-2', 'Bio', 'link-2');">Bio</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name" targets="Package Bio.Fasta=Bio.Fasta-module.html"><a title="Bio.Fasta" class="py-name" href="#" onclick="return doclink('link-3', 'Fasta', 'link-3');">Fasta</a></tt> </tt> <a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"> </tt> <a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt id="link-4" class="py-name" targets="Variable Bio.SeqUtils.CodonUsage.CodonsDict=Bio.SeqUtils.CodonUsage-module.html#CodonsDict"><a title="Bio.SeqUtils.CodonUsage.CodonsDict" class="py-name" href="#" onclick="return doclink('link-4', 'CodonsDict', 'link-4');">CodonsDict</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'TTT'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'TTC'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'TTA'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'TTG'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'CTT'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> </tt> <a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-string">'CTC'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'CTA'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'CTG'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'ATT'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'ATC'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> </tt> <a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-string">'ATA'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'ATG'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'GTT'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'GTC'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'GTA'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> </tt> <a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-string">'GTG'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'TAT'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'TAC'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'TAA'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'TAG'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> </tt> <a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-string">'CAT'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'CAC'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'CAA'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'CAG'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'AAT'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> </tt> <a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-string">'AAC'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'AAA'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'AAG'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'GAT'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'GAC'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> </tt> <a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-string">'GAA'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'GAG'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'TCT'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'TCC'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'TCA'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> </tt> <a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-string">'TCG'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'CCT'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'CCC'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'CCA'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'CCG'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> </tt> <a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-string">'ACT'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'ACC'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'ACA'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'ACG'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'GCT'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> </tt> <a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-string">'GCC'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'GCA'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'GCG'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'TGT'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'TGC'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> </tt> <a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-string">'TGA'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'TGG'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'CGT'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'CGC'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'CGA'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> </tt> <a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-string">'CGG'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'AGT'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'AGC'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'AGA'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'AGG'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> </tt> <a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-string">'GGT'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'GGC'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'GGA'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'GGG'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">}</tt> </tt> <a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> </tt> <a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"> </tt> <a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-comment"># this dictionary is used to know which codons encode the same AA.</tt> </tt> <a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-comment"></tt><tt id="link-5" class="py-name" targets="Variable Bio.SeqUtils.CodonUsage.SynonymousCodons=Bio.SeqUtils.CodonUsage-module.html#SynonymousCodons"><a title="Bio.SeqUtils.CodonUsage.SynonymousCodons" class="py-name" href="#" onclick="return doclink('link-5', 'SynonymousCodons', 'link-5');">SynonymousCodons</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'CYS'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'TGT'</tt><tt class="py-op">,</tt> <tt class="py-string">'TGC'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'ASP'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'GAT'</tt><tt class="py-op">,</tt> <tt class="py-string">'GAC'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt> <a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"><tt class="py-string">'SER'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'TCT'</tt><tt class="py-op">,</tt> <tt class="py-string">'TCG'</tt><tt class="py-op">,</tt> <tt class="py-string">'TCA'</tt><tt class="py-op">,</tt> <tt class="py-string">'TCC'</tt><tt class="py-op">,</tt> <tt class="py-string">'AGC'</tt><tt class="py-op">,</tt> <tt class="py-string">'AGT'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt> <a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-string">'GLN'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'CAA'</tt><tt class="py-op">,</tt> <tt class="py-string">'CAG'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'MET'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'ATG'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'ASN'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'AAC'</tt><tt class="py-op">,</tt> <tt class="py-string">'AAT'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt> <a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-string">'PRO'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'CCT'</tt><tt class="py-op">,</tt> <tt class="py-string">'CCG'</tt><tt class="py-op">,</tt> <tt class="py-string">'CCA'</tt><tt class="py-op">,</tt> <tt class="py-string">'CCC'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'LYS'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'AAG'</tt><tt class="py-op">,</tt> <tt class="py-string">'AAA'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt> <a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-string">'STOP'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'TAG'</tt><tt class="py-op">,</tt> <tt class="py-string">'TGA'</tt><tt class="py-op">,</tt> <tt class="py-string">'TAA'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'THR'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'ACC'</tt><tt class="py-op">,</tt> <tt class="py-string">'ACA'</tt><tt class="py-op">,</tt> <tt class="py-string">'ACG'</tt><tt class="py-op">,</tt> <tt class="py-string">'ACT'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt> <a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-string">'PHE'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'TTT'</tt><tt class="py-op">,</tt> <tt class="py-string">'TTC'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'ALA'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'GCA'</tt><tt class="py-op">,</tt> <tt class="py-string">'GCC'</tt><tt class="py-op">,</tt> <tt class="py-string">'GCG'</tt><tt class="py-op">,</tt> <tt class="py-string">'GCT'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt> <a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt class="py-string">'GLY'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'GGT'</tt><tt class="py-op">,</tt> <tt class="py-string">'GGG'</tt><tt class="py-op">,</tt> <tt class="py-string">'GGA'</tt><tt class="py-op">,</tt> <tt class="py-string">'GGC'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'ILE'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'ATC'</tt><tt class="py-op">,</tt> <tt class="py-string">'ATA'</tt><tt class="py-op">,</tt> <tt class="py-string">'ATT'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt> <a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt class="py-string">'LEU'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'TTA'</tt><tt class="py-op">,</tt> <tt class="py-string">'TTG'</tt><tt class="py-op">,</tt> <tt class="py-string">'CTC'</tt><tt class="py-op">,</tt> <tt class="py-string">'CTT'</tt><tt class="py-op">,</tt> <tt class="py-string">'CTG'</tt><tt class="py-op">,</tt> <tt class="py-string">'CTA'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'HIS'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'CAT'</tt><tt class="py-op">,</tt> <tt class="py-string">'CAC'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt> <a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"><tt class="py-string">'ARG'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'CGA'</tt><tt class="py-op">,</tt> <tt class="py-string">'CGC'</tt><tt class="py-op">,</tt> <tt class="py-string">'CGG'</tt><tt class="py-op">,</tt> <tt class="py-string">'CGT'</tt><tt class="py-op">,</tt> <tt class="py-string">'AGG'</tt><tt class="py-op">,</tt> <tt class="py-string">'AGA'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'TRP'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'TGG'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt> <a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt class="py-string">'VAL'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'GTA'</tt><tt class="py-op">,</tt> <tt class="py-string">'GTC'</tt><tt class="py-op">,</tt> <tt class="py-string">'GTG'</tt><tt class="py-op">,</tt> <tt class="py-string">'GTT'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'GLU'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'GAG'</tt><tt class="py-op">,</tt> <tt class="py-string">'GAA'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'TYR'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'TAT'</tt><tt class="py-op">,</tt> <tt class="py-string">'TAC'</tt><tt class="py-op">]</tt><tt class="py-op">}</tt> </tt> <a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"> </tt> <a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"> </tt> <a name="CodonAdaptationIndex"></a><div id="CodonAdaptationIndex-def"><a name="L33"></a><tt class="py-lineno"> 33</tt> <a class="py-toggle" href="#" id="CodonAdaptationIndex-toggle" onclick="return toggle('CodonAdaptationIndex');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="Bio.SeqUtils.CodonUsage.CodonAdaptationIndex-class.html">CodonAdaptationIndex</a><tt class="py-op">:</tt> </tt> </div><div id="CodonAdaptationIndex-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="CodonAdaptationIndex-expanded"><a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt> <a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt> <a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"><tt class="py-docstring"> This class implements the codon adaptaion index (CAI) described by Sharp and</tt> </tt> <a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"><tt class="py-docstring"> Li (Nucleic Acids Res. 1987 Feb 11;15(3):1281-95).</tt> </tt> <a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"><tt class="py-docstring"> methods:</tt> </tt> <a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"><tt class="py-docstring"> set_cai_index(Index):</tt> </tt> <a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"><tt class="py-docstring"> This mehtod sets-up an index to be used when calculating CAI for a gene.</tt> </tt> <a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"><tt class="py-docstring"> Just pass a dictionary similar to the SharpEcoliIndex in CodonUsageIndices</tt> </tt> <a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"><tt class="py-docstring"> module.</tt> </tt> <a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"><tt class="py-docstring"> generate_index(FastaFile):</tt> </tt> <a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"><tt class="py-docstring"> This method takes a location of a FastaFile and generates an index. This</tt> </tt> <a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"><tt class="py-docstring"> index can later be used to calculate CAI of a gene.</tt> </tt> <a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"><tt class="py-docstring"> cai_for_gene(DNAsequence):</tt> </tt> <a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"><tt class="py-docstring"> This mehtod uses the Index (either the one you set or the one you generated)</tt> </tt> <a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"><tt class="py-docstring"> and returns the CAI for the DNA sequence.</tt> </tt> <a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"><tt class="py-docstring"> print_index():</tt> </tt> <a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"><tt class="py-docstring"> This method prints out the index you used.</tt> </tt> <a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt> <a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt> <a name="CodonAdaptationIndex.__init__"></a><div id="CodonAdaptationIndex.__init__-def"><a name="L61"></a><tt class="py-lineno"> 61</tt> <a class="py-toggle" href="#" id="CodonAdaptationIndex.__init__-toggle" onclick="return toggle('CodonAdaptationIndex.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.SeqUtils.CodonUsage.CodonAdaptationIndex-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="CodonAdaptationIndex.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="CodonAdaptationIndex.__init__-expanded"><a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method Bio.Crystal.Chain.index()=Bio.Crystal.Chain-class.html#index,Method Bio.EUtils.POM.ElementNode.index()=Bio.EUtils.POM.ElementNode-class.html#index,Method Bio.SCOP.Raf.SeqMap.index()=Bio.SCOP.Raf.SeqMap-class.html#index,Method Bio.Seq.MutableSeq.index()=Bio.Seq.MutableSeq-class.html#index"><a title="Bio.Crystal.Chain.index Bio.EUtils.POM.ElementNode.index Bio.SCOP.Raf.SeqMap.index Bio.Seq.MutableSeq.index" class="py-name" href="#" onclick="return doclink('link-6', 'index', 'link-6');">index</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt> <a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">codon_count</tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-op">}</tt> </tt> </div><a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> </tt> <a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> <tt class="py-comment"># use this method with predefined CAI index</tt> </tt> <a name="CodonAdaptationIndex.set_cai_index"></a><div id="CodonAdaptationIndex.set_cai_index-def"><a name="L66"></a><tt class="py-lineno"> 66</tt> <a class="py-toggle" href="#" id="CodonAdaptationIndex.set_cai_index-toggle" onclick="return toggle('CodonAdaptationIndex.set_cai_index');">-</a><tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.SeqUtils.CodonUsage.CodonAdaptationIndex-class.html#set_cai_index">set_cai_index</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">Index</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="CodonAdaptationIndex.set_cai_index-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="CodonAdaptationIndex.set_cai_index-expanded"><a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="Bio.Crystal.Chain.index Bio.EUtils.POM.ElementNode.index Bio.SCOP.Raf.SeqMap.index Bio.Seq.MutableSeq.index" class="py-name" href="#" onclick="return doclink('link-7', 'index', 'link-6');">index</a></tt> <tt class="py-op">=</tt> <tt id="link-8" class="py-name" targets="Module Bio.Index=Bio.Index-module.html,Class Bio.SCOP.Cla.Index=Bio.SCOP.Cla.Index-class.html"><a title="Bio.Index Bio.SCOP.Cla.Index" class="py-name" href="#" onclick="return doclink('link-8', 'Index', 'link-8');">Index</a></tt> </tt> </div><a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> </tt> <a name="CodonAdaptationIndex.generate_index"></a><div id="CodonAdaptationIndex.generate_index-def"><a name="L69"></a><tt class="py-lineno"> 69</tt> <a class="py-toggle" href="#" id="CodonAdaptationIndex.generate_index-toggle" onclick="return toggle('CodonAdaptationIndex.generate_index');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.SeqUtils.CodonUsage.CodonAdaptationIndex-class.html#generate_index">generate_index</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">FastaFile</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="CodonAdaptationIndex.generate_index-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="CodonAdaptationIndex.generate_index-expanded"><a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt class="py-comment"># first make sure i am not overwriting an existing index:</tt> </tt> <a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="Bio.Crystal.Chain.index Bio.EUtils.POM.ElementNode.index Bio.SCOP.Raf.SeqMap.index Bio.Seq.MutableSeq.index" class="py-name" href="#" onclick="return doclink('link-9', 'index', 'link-6');">index</a></tt> <tt class="py-op">!=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">codon_count</tt><tt class="py-op">!=</tt><tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">:</tt> </tt> <a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-10" class="py-name" targets="Class Bio.Crystal.Error=Bio.Crystal.Error-class.html,Class Bio.ECell.Error=Bio.ECell.Error-class.html"><a title="Bio.Crystal.Error Bio.ECell.Error" class="py-name" href="#" onclick="return doclink('link-10', 'Error', 'link-10');">Error</a></tt><tt class="py-op">(</tt><tt class="py-string">"an index has already been set or a codon count has been done. cannot overwrite either."</tt><tt class="py-op">)</tt> </tt> <a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-comment"># count codon occurances in the file.</tt> </tt> <a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Method Bio.SeqUtils.CodonUsage.CodonAdaptationIndex._count_codons()=Bio.SeqUtils.CodonUsage.CodonAdaptationIndex-class.html#_count_codons"><a title="Bio.SeqUtils.CodonUsage.CodonAdaptationIndex._count_codons" class="py-name" href="#" onclick="return doclink('link-11', '_count_codons', 'link-11');">_count_codons</a></tt><tt class="py-op">(</tt><tt class="py-name">FastaFile</tt><tt class="py-op">)</tt> </tt> <a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> </tt> <a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt class="py-comment"># now to calculate the index we first need to sum the number of times</tt> </tt> <a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># synonymous codons were used all together.</tt> </tt> <a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">for</tt> <tt class="py-name">AA</tt> <tt class="py-keyword">in</tt> <tt id="link-12" class="py-name"><a title="Bio.SeqUtils.CodonUsage.SynonymousCodons" class="py-name" href="#" onclick="return doclink('link-12', 'SynonymousCodons', 'link-5');">SynonymousCodons</a></tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method Bio.Crystal.Crystal.keys()=Bio.Crystal.Crystal-class.html#keys,Method Bio.EUtils.MultiDict._BaseMultiDict.keys()=Bio.EUtils.MultiDict._BaseMultiDict-class.html#keys,Method Bio.GenBank.NCBIDictionary.keys()=Bio.GenBank.NCBIDictionary-class.html#keys,Method Bio.Mindy.BaseDB.DictLookup.keys()=Bio.Mindy.BaseDB.DictLookup-class.html#keys,Method Bio.Mindy.BaseDB.OpenDB.keys()=Bio.Mindy.BaseDB.OpenDB-class.html#keys,Method Bio.Mindy.BerkeleyDB.PrimaryNamespace.keys()=Bio.Mindy.BerkeleyDB.PrimaryNamespace-class.html#keys,Method Bio.Mindy.BerkeleyDB.SecondaryNamespace.keys()=Bio.Mindy.BerkeleyDB.SecondaryNamespace-class.html#keys,Method Bio.Mindy.FlatDB.PrimaryNamespace.keys()=Bio.Mindy.FlatDB.PrimaryNamespace-class.html#keys,Method Bio.Mindy.FlatDB.PrimaryTable.keys()=Bio.Mindy.FlatDB.PrimaryTable-class.html#keys,Method Bio.Mindy.FlatDB.SecondaryNamespace.keys()=Bio.Mindy.FlatDB.SecondaryNamespace-class.html#keys,Method Bio.Mindy.FlatDB.SecondaryTable.keys()=Bio.Mindy.FlatDB.SecondaryTable-class.html#keys,Method Bio.PDB.AbstractPropertyMap.AbstractPropertyMap.keys()=Bio.PDB.AbstractPropertyMap.AbstractPropertyMap-class.html#keys,Method Bio.Prosite.ExPASyDictionary.keys()=Bio.Prosite.ExPASyDictionary-class.html#keys,Method Bio.Prosite.Prodoc.ExPASyDictionary.keys()=Bio.Prosite.Prodoc.ExPASyDictionary-class.html#keys,Method Bio.PubMed.Dictionary.keys()=Bio.PubMed.Dictionary-class.html#keys,Method Bio.SwissProt.SProt.Dictionary.keys()=Bio.SwissProt.SProt.Dictionary-class.html#keys,Method Bio.SwissProt.SProt.ExPASyDictionary.keys()=Bio.SwissProt.SProt.ExPASyDictionary-class.html#keys,Method Bio.config.Registry.Registry.keys()=Bio.config.Registry.Registry-class.html#keys,Method BioSQL.BioSeqDatabase.BioSeqDatabase.keys()=BioSQL.BioSeqDatabase.BioSeqDatabase-class.html#keys,Method BioSQL.BioSeqDatabase.DBServer.keys()=BioSQL.BioSeqDatabase.DBServer-class.html#keys,Method Martel.Parser.MartelAttributeList.keys()=Martel.Parser.MartelAttributeList-class.html#keys"><a title="Bio.Crystal.Crystal.keys Bio.EUtils.MultiDict._BaseMultiDict.keys Bio.GenBank.NCBIDictionary.keys Bio.Mindy.BaseDB.DictLookup.keys Bio.Mindy.BaseDB.OpenDB.keys Bio.Mindy.BerkeleyDB.PrimaryNamespace.keys Bio.Mindy.BerkeleyDB.SecondaryNamespace.keys Bio.Mindy.FlatDB.PrimaryNamespace.keys Bio.Mindy.FlatDB.PrimaryTable.keys Bio.Mindy.FlatDB.SecondaryNamespace.keys Bio.Mindy.FlatDB.SecondaryTable.keys Bio.PDB.AbstractPropertyMap.AbstractPropertyMap.keys Bio.Prosite.ExPASyDictionary.keys Bio.Prosite.Prodoc.ExPASyDictionary.keys Bio.PubMed.Dictionary.keys Bio.SwissProt.SProt.Dictionary.keys Bio.SwissProt.SProt.ExPASyDictionary.keys Bio.config.Registry.Registry.keys BioSQL.BioSeqDatabase.BioSeqDatabase.keys BioSQL.BioSeqDatabase.DBServer.keys Martel.Parser.MartelAttributeList.keys" class="py-name" href="#" onclick="return doclink('link-13', 'keys', 'link-13');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-name">Sum</tt><tt class="py-op">=</tt><tt class="py-number">0.0</tt> </tt> <a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-name">RCSU</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> <tt class="py-comment"># RCSU values are equal to CodonCount/((1/num of synonymous codons) * sum of all synonymous codons)</tt> </tt> <a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> </tt> <a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">codon</tt> <tt class="py-keyword">in</tt> <tt id="link-14" class="py-name"><a title="Bio.SeqUtils.CodonUsage.SynonymousCodons" class="py-name" href="#" onclick="return doclink('link-14', 'SynonymousCodons', 'link-5');">SynonymousCodons</a></tt><tt class="py-op">[</tt><tt class="py-name">AA</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt> <a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-name">Sum</tt> <tt class="py-op">+=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">codon_count</tt><tt class="py-op">[</tt><tt class="py-name">codon</tt><tt class="py-op">]</tt> </tt> <a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt class="py-comment"># calculate the RSCU value for each of the codons</tt> </tt> <a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">for</tt> <tt class="py-name">codon</tt> <tt class="py-keyword">in</tt> <tt id="link-15" class="py-name"><a title="Bio.SeqUtils.CodonUsage.SynonymousCodons" class="py-name" href="#" onclick="return doclink('link-15', 'SynonymousCodons', 'link-5');">SynonymousCodons</a></tt><tt class="py-op">[</tt><tt class="py-name">AA</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt> <a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> <tt class="py-name">RCSU</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name" targets="Method Bio.Crystal.Chain.append()=Bio.Crystal.Chain-class.html#append,Method Bio.EUtils.POM.ElementNode.append()=Bio.EUtils.POM.ElementNode-class.html#append,Method Bio.EUtils.sourcegen.SourceFile.append()=Bio.EUtils.sourcegen.SourceFile-class.html#append,Method Bio.SCOP.Raf.SeqMap.append()=Bio.SCOP.Raf.SeqMap-class.html#append,Method Bio.Seq.MutableSeq.append()=Bio.Seq.MutableSeq-class.html#append,Method Bio.Wise.psw.Alignment.append()=Bio.Wise.psw.Alignment-class.html#append,Method Bio.Wise.psw.AlignmentColumn.append()=Bio.Wise.psw.AlignmentColumn-class.html#append,Method Martel.msre_parse.SubPattern.append()=Martel.msre_parse.SubPattern-class.html#append"><a title="Bio.Crystal.Chain.append Bio.EUtils.POM.ElementNode.append Bio.EUtils.sourcegen.SourceFile.append Bio.SCOP.Raf.SeqMap.append Bio.Seq.MutableSeq.append Bio.Wise.psw.Alignment.append Bio.Wise.psw.AlignmentColumn.append Martel.msre_parse.SubPattern.append" class="py-name" href="#" onclick="return doclink('link-16', 'append', 'link-16');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">codon_count</tt><tt class="py-op">[</tt><tt class="py-name">codon</tt><tt class="py-op">]</tt><tt class="py-op">/</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-number">1.0</tt><tt class="py-op">/</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-17" class="py-name"><a title="Bio.SeqUtils.CodonUsage.SynonymousCodons" class="py-name" href="#" onclick="return doclink('link-17', 'SynonymousCodons', 'link-5');">SynonymousCodons</a></tt><tt class="py-op">[</tt><tt class="py-name">AA</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">*</tt><tt class="py-name">Sum</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> <tt class="py-comment"># now generate the index W=RCSUi/RCSUmax:</tt> </tt> <a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">RCSUmax</tt> <tt class="py-op">=</tt> <tt class="py-name">max</tt><tt class="py-op">(</tt><tt class="py-name">RCSU</tt><tt class="py-op">)</tt> </tt> <a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-18" class="py-name" targets="Variable Bio.PDB.Polypeptide.i=Bio.PDB.Polypeptide-module.html#i"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-18', 'i', 'link-18');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-19" class="py-name"><a title="Bio.SeqUtils.CodonUsage.SynonymousCodons" class="py-name" href="#" onclick="return doclink('link-19', 'SynonymousCodons', 'link-5');">SynonymousCodons</a></tt><tt class="py-op">[</tt><tt class="py-name">AA</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="Bio.Crystal.Chain.index Bio.EUtils.POM.ElementNode.index Bio.SCOP.Raf.SeqMap.index Bio.Seq.MutableSeq.index" class="py-name" href="#" onclick="return doclink('link-20', 'index', 'link-6');">index</a></tt><tt class="py-op">[</tt><tt id="link-21" class="py-name"><a title="Bio.SeqUtils.CodonUsage.SynonymousCodons" class="py-name" href="#" onclick="return doclink('link-21', 'SynonymousCodons', 'link-5');">SynonymousCodons</a></tt><tt class="py-op">[</tt><tt class="py-name">AA</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt id="link-22" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-22', 'i', 'link-18');">i</a></tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">=</tt> <tt class="py-name">RCSU</tt><tt class="py-op">[</tt><tt id="link-23" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-23', 'i', 'link-18');">i</a></tt><tt class="py-op">]</tt><tt class="py-op">/</tt><tt class="py-name">RCSUmax</tt> </tt> </div><a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> </tt> <a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> </tt> <a name="CodonAdaptationIndex.cai_for_gene"></a><div id="CodonAdaptationIndex.cai_for_gene-def"><a name="L93"></a><tt class="py-lineno"> 93</tt> <a class="py-toggle" href="#" id="CodonAdaptationIndex.cai_for_gene-toggle" onclick="return toggle('CodonAdaptationIndex.cai_for_gene');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.SeqUtils.CodonUsage.CodonAdaptationIndex-class.html#cai_for_gene">cai_for_gene</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">DNAsequence</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="CodonAdaptationIndex.cai_for_gene-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="CodonAdaptationIndex.cai_for_gene-expanded"><a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-name">caiValue</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt> <a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-name">LengthForCai</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt> <a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-comment"># if no index is set or generated, the default SharpEcoliIndex will be used.</tt> </tt> <a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="Bio.Crystal.Chain.index Bio.EUtils.POM.ElementNode.index Bio.SCOP.Raf.SeqMap.index Bio.Seq.MutableSeq.index" class="py-name" href="#" onclick="return doclink('link-24', 'index', 'link-6');">index</a></tt><tt class="py-op">==</tt><tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">:</tt> </tt> <a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name" targets="Method Bio.SeqUtils.CodonUsage.CodonAdaptationIndex.set_cai_index()=Bio.SeqUtils.CodonUsage.CodonAdaptationIndex-class.html#set_cai_index"><a title="Bio.SeqUtils.CodonUsage.CodonAdaptationIndex.set_cai_index" class="py-name" href="#" onclick="return doclink('link-25', 'set_cai_index', 'link-25');">set_cai_index</a></tt><tt class="py-op">(</tt><tt id="link-26" class="py-name"><a title="Bio.SeqUtils.CodonUsageIndices.SharpEcoliIndex" class="py-name" href="#" onclick="return doclink('link-26', 'SharpEcoliIndex', 'link-1');">SharpEcoliIndex</a></tt><tt class="py-op">)</tt> </tt> <a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> </tt> <a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">DNAsequence</tt><tt class="py-op">.</tt><tt class="py-name">islower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> <tt class="py-name">DNAsequence</tt> <tt class="py-op">=</tt> <tt class="py-name">DNAsequence</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-27" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-27', 'i', 'link-18');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt> <tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">DNAsequence</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-number">3</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> <tt class="py-name">codon</tt> <tt class="py-op">=</tt> <tt class="py-name">DNAsequence</tt><tt class="py-op">[</tt><tt id="link-28" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-28', 'i', 'link-18');">i</a></tt><tt class="py-op">:</tt><tt id="link-29" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-29', 'i', 'link-18');">i</a></tt><tt class="py-op">+</tt><tt class="py-number">3</tt><tt class="py-op">]</tt> </tt> <a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="Bio.Crystal.Chain.index Bio.EUtils.POM.ElementNode.index Bio.SCOP.Raf.SeqMap.index Bio.Seq.MutableSeq.index" class="py-name" href="#" onclick="return doclink('link-30', 'index', 'link-6');">index</a></tt><tt class="py-op">.</tt><tt id="link-31" class="py-name" targets="Method Bio.Crystal.Crystal.has_key()=Bio.Crystal.Crystal-class.html#has_key,Method Bio.EUtils.POM.ElementNode.has_key()=Bio.EUtils.POM.ElementNode-class.html#has_key,Method Bio.GenBank.NCBIDictionary.has_key()=Bio.GenBank.NCBIDictionary-class.html#has_key,Method Bio.PDB.AbstractPropertyMap.AbstractPropertyMap.has_key()=Bio.PDB.AbstractPropertyMap.AbstractPropertyMap-class.html#has_key,Method Bio.PDB.FragmentMapper'.FragmentMapper.has_key()=Bio.PDB.FragmentMapper%27.FragmentMapper-class.html#has_key,Method Bio.Prosite.ExPASyDictionary.has_key()=Bio.Prosite.ExPASyDictionary-class.html#has_key,Method Bio.Prosite.Prodoc.ExPASyDictionary.has_key()=Bio.Prosite.Prodoc.ExPASyDictionary-class.html#has_key,Method Bio.PubMed.Dictionary.has_key()=Bio.PubMed.Dictionary-class.html#has_key,Method Bio.SwissProt.SProt.ExPASyDictionary.has_key()=Bio.SwissProt.SProt.ExPASyDictionary-class.html#has_key,Method Martel.Parser.MartelAttributeList.has_key()=Martel.Parser.MartelAttributeList-class.html#has_key"><a title="Bio.Crystal.Crystal.has_key Bio.EUtils.POM.ElementNode.has_key Bio.GenBank.NCBIDictionary.has_key Bio.PDB.AbstractPropertyMap.AbstractPropertyMap.has_key Bio.PDB.FragmentMapper'.FragmentMapper.has_key Bio.Prosite.ExPASyDictionary.has_key Bio.Prosite.Prodoc.ExPASyDictionary.has_key Bio.PubMed.Dictionary.has_key Bio.SwissProt.SProt.ExPASyDictionary.has_key Martel.Parser.MartelAttributeList.has_key" class="py-name" href="#" onclick="return doclink('link-31', 'has_key', 'link-31');">has_key</a></tt><tt class="py-op">(</tt><tt class="py-name">codon</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">codon</tt><tt class="py-op">!=</tt><tt class="py-string">'ATG'</tt> <tt class="py-keyword">and</tt> <tt class="py-name">codon</tt><tt class="py-op">!=</tt> <tt class="py-string">'TGG'</tt><tt class="py-op">:</tt> <tt class="py-comment">#these two codons are always one, exclude them.</tt> </tt> <a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-name">caiValue</tt> <tt class="py-op">+=</tt> <tt class="py-name">math</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name" targets="Variable Bio.Affy.CelFile.log=Bio.Affy.CelFile-module.html#log,Variable Bio.LogisticRegression.log=Bio.LogisticRegression-module.html#log,Variable Bio.MarkovModel.log=Bio.MarkovModel-module.html#log,Variable Bio.MaxEntropy.log=Bio.MaxEntropy-module.html#log,Variable Bio.NaiveBayes.log=Bio.NaiveBayes-module.html#log,Variable Bio.Statistics.lowess.log=Bio.Statistics.lowess-module.html#log,Variable Bio.distance.log=Bio.distance-module.html#log,Variable Bio.kNN.log=Bio.kNN-module.html#log"><a title="Bio.Affy.CelFile.log Bio.LogisticRegression.log Bio.MarkovModel.log Bio.MaxEntropy.log Bio.NaiveBayes.log Bio.Statistics.lowess.log Bio.distance.log Bio.kNN.log" class="py-name" href="#" onclick="return doclink('link-32', 'log', 'link-32');">log</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="Bio.Crystal.Chain.index Bio.EUtils.POM.ElementNode.index Bio.SCOP.Raf.SeqMap.index Bio.Seq.MutableSeq.index" class="py-name" href="#" onclick="return doclink('link-33', 'index', 'link-6');">index</a></tt><tt class="py-op">[</tt><tt class="py-name">codon</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt> <a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-name">LengthForCai</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt> <a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">codon</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-string">'TGA'</tt><tt class="py-op">,</tt><tt class="py-string">'TAA'</tt><tt class="py-op">,</tt> <tt class="py-string">'TAG'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> <tt class="py-comment"># some indices you will use may not include stop codons.</tt> </tt> <a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">TypeError</tt><tt class="py-op">(</tt><tt class="py-string">"illegal codon in sequence: %s.\n%s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">codon</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="Bio.Crystal.Chain.index Bio.EUtils.POM.ElementNode.index Bio.SCOP.Raf.SeqMap.index Bio.Seq.MutableSeq.index" class="py-name" href="#" onclick="return doclink('link-34', 'index', 'link-6');">index</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">math</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name" targets="Variable Bio.Affy.CelFile.exp=Bio.Affy.CelFile-module.html#exp,Variable Bio.LogisticRegression.exp=Bio.LogisticRegression-module.html#exp,Variable Bio.MarkovModel.exp=Bio.MarkovModel-module.html#exp,Variable Bio.MaxEntropy.exp=Bio.MaxEntropy-module.html#exp,Variable Bio.NaiveBayes.exp=Bio.NaiveBayes-module.html#exp,Variable Bio.Statistics.lowess.exp=Bio.Statistics.lowess-module.html#exp,Variable Bio.distance.exp=Bio.distance-module.html#exp,Variable Bio.kNN.exp=Bio.kNN-module.html#exp"><a title="Bio.Affy.CelFile.exp Bio.LogisticRegression.exp Bio.MarkovModel.exp Bio.MaxEntropy.exp Bio.NaiveBayes.exp Bio.Statistics.lowess.exp Bio.distance.exp Bio.kNN.exp" class="py-name" href="#" onclick="return doclink('link-35', 'exp', 'link-35');">exp</a></tt><tt class="py-op">(</tt><tt class="py-name">caiValue</tt><tt class="py-op">*</tt><tt class="py-op">(</tt><tt class="py-number">1.0</tt><tt class="py-op">/</tt><tt class="py-op">(</tt><tt class="py-name">LengthForCai</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> </div><a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> </tt> <a name="CodonAdaptationIndex._count_codons"></a><div id="CodonAdaptationIndex._count_codons-def"><a name="L112"></a><tt class="py-lineno">112</tt> <a class="py-toggle" href="#" id="CodonAdaptationIndex._count_codons-toggle" onclick="return toggle('CodonAdaptationIndex._count_codons');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.SeqUtils.CodonUsage.CodonAdaptationIndex-class.html#_count_codons">_count_codons</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">FastaFile</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="CodonAdaptationIndex._count_codons-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="CodonAdaptationIndex._count_codons-expanded"><a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt class="py-name">InputFile</tt> <tt class="py-op">=</tt> <tt id="link-36" class="py-name" targets="Function Bio.Mindy.FlatDB.open()=Bio.Mindy.FlatDB-module.html#open,Function Bio.Mindy.open()=Bio.Mindy-module.html#open"><a title="Bio.Mindy.FlatDB.open Bio.Mindy.open" class="py-name" href="#" onclick="return doclink('link-36', 'open', 'link-36');">open</a></tt><tt class="py-op">(</tt><tt class="py-name">FastaFile</tt><tt class="py-op">,</tt> <tt class="py-string">'r'</tt><tt class="py-op">)</tt> </tt> <a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-comment"># set up the fasta parser</tt> </tt> <a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">parser</tt> <tt class="py-op">=</tt> <tt id="link-37" class="py-name"><a title="Bio.Fasta" class="py-name" href="#" onclick="return doclink('link-37', 'Fasta', 'link-3');">Fasta</a></tt><tt class="py-op">.</tt><tt id="link-38" class="py-name" targets="Class Bio.CDD.RecordParser=Bio.CDD.RecordParser-class.html,Class Bio.Compass.RecordParser=Bio.Compass.RecordParser-class.html,Class Bio.ECell.RecordParser=Bio.ECell.RecordParser-class.html,Class Bio.Enzyme.RecordParser=Bio.Enzyme.RecordParser-class.html,Class Bio.Fasta.RecordParser=Bio.Fasta.RecordParser-class.html,Class Bio.GenBank.RecordParser=Bio.GenBank.RecordParser-class.html,Class Bio.Gobase.RecordParser=Bio.Gobase.RecordParser-class.html,Class Bio.IntelliGenetics.RecordParser=Bio.IntelliGenetics.RecordParser-class.html,Class Bio.LocusLink.RecordParser=Bio.LocusLink.RecordParser-class.html,Class Bio.Medline.RecordParser=Bio.Medline.RecordParser-class.html,Class Bio.MetaTool.RecordParser=Bio.MetaTool.RecordParser-class.html,Class Bio.NBRF.RecordParser=Bio.NBRF.RecordParser-class.html,Class Bio.PopGen.FDist.RecordParser=Bio.PopGen.FDist.RecordParser-class.html,Class Bio.PopGen.GenePop.RecordParser=Bio.PopGen.GenePop.RecordParser-class.html,Class Bio.Prosite.Prodoc.RecordParser=Bio.Prosite.Prodoc.RecordParser-class.html,Class Bio.Prosite.RecordParser=Bio.Prosite.RecordParser-class.html,Class Bio.Rebase.RecordParser=Bio.Rebase.RecordParser-class.html,Class Bio.Saf.RecordParser=Bio.Saf.RecordParser-class.html,Class Bio.Sequencing.Ace.RecordParser=Bio.Sequencing.Ace.RecordParser-class.html,Class Bio.Sequencing.Phd.RecordParser=Bio.Sequencing.Phd.RecordParser-class.html,Class Bio.SwissProt.SProt.RecordParser=Bio.SwissProt.SProt.RecordParser-class.html,Class Bio.UniGene.RecordParser=Bio.UniGene.RecordParser-class.html,Class Martel.Parser.RecordParser=Martel.Parser.RecordParser-class.html"><a title="Bio.CDD.RecordParser Bio.Compass.RecordParser Bio.ECell.RecordParser Bio.Enzyme.RecordParser Bio.Fasta.RecordParser Bio.GenBank.RecordParser Bio.Gobase.RecordParser Bio.IntelliGenetics.RecordParser Bio.LocusLink.RecordParser Bio.Medline.RecordParser Bio.MetaTool.RecordParser Bio.NBRF.RecordParser Bio.PopGen.FDist.RecordParser Bio.PopGen.GenePop.RecordParser Bio.Prosite.Prodoc.RecordParser Bio.Prosite.RecordParser Bio.Rebase.RecordParser Bio.Saf.RecordParser Bio.Sequencing.Ace.RecordParser Bio.Sequencing.Phd.RecordParser Bio.SwissProt.SProt.RecordParser Bio.UniGene.RecordParser Martel.Parser.RecordParser" class="py-name" href="#" onclick="return doclink('link-38', 'RecordParser', 'link-38');">RecordParser</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> <tt class="py-name">iterator</tt> <tt class="py-op">=</tt> <tt id="link-39" class="py-name"><a title="Bio.Fasta" class="py-name" href="#" onclick="return doclink('link-39', 'Fasta', 'link-3');">Fasta</a></tt><tt class="py-op">.</tt><tt id="link-40" class="py-name" targets="Class Bio.Blast.NCBIStandalone.Iterator=Bio.Blast.NCBIStandalone.Iterator-class.html,Class Bio.CDD.Iterator=Bio.CDD.Iterator-class.html,Class Bio.Compass.Iterator=Bio.Compass.Iterator-class.html,Class Bio.ECell.Iterator=Bio.ECell.Iterator-class.html,Class Bio.Enzyme.Iterator=Bio.Enzyme.Iterator-class.html,Class Bio.Fasta.Iterator=Bio.Fasta.Iterator-class.html,Class Bio.GenBank.Iterator=Bio.GenBank.Iterator-class.html,Class Bio.Gobase.Iterator=Bio.Gobase.Iterator-class.html,Class Bio.IntelliGenetics.Iterator=Bio.IntelliGenetics.Iterator-class.html,Class Bio.LocusLink.Iterator=Bio.LocusLink.Iterator-class.html,Class Bio.Medline.Iterator=Bio.Medline.Iterator-class.html,Class Bio.MetaTool.Iterator=Bio.MetaTool.Iterator-class.html,Class Bio.NBRF.Iterator=Bio.NBRF.Iterator-class.html,Class Bio.Prosite.Iterator=Bio.Prosite.Iterator-class.html,Class Bio.Prosite.Prodoc.Iterator=Bio.Prosite.Prodoc.Iterator-class.html,Class Bio.Rebase.Iterator=Bio.Rebase.Iterator-class.html,Class Bio.SCOP.Cla.Iterator=Bio.SCOP.Cla.Iterator-class.html,Class Bio.SCOP.Des.Iterator=Bio.SCOP.Des.Iterator-class.html,Class Bio.SCOP.Dom.Iterator=Bio.SCOP.Dom.Iterator-class.html,Class Bio.SCOP.Hie.Iterator=Bio.SCOP.Hie.Iterator-class.html,Class Bio.SCOP.Raf.Iterator=Bio.SCOP.Raf.Iterator-class.html,Class Bio.Saf.Iterator=Bio.Saf.Iterator-class.html,Class Bio.Sequencing.Ace.Iterator=Bio.Sequencing.Ace.Iterator-class.html,Class Bio.Sequencing.Phd.Iterator=Bio.Sequencing.Phd.Iterator-class.html,Class Bio.SwissProt.SProt.Iterator=Bio.SwissProt.SProt.Iterator-class.html,Class Bio.UniGene.Iterator=Bio.UniGene.Iterator-class.html,Module Martel.Iterator=Martel.Iterator-module.html,Class Martel.Iterator.Iterator=Martel.Iterator.Iterator-class.html"><a title="Bio.Blast.NCBIStandalone.Iterator Bio.CDD.Iterator Bio.Compass.Iterator Bio.ECell.Iterator Bio.Enzyme.Iterator Bio.Fasta.Iterator Bio.GenBank.Iterator Bio.Gobase.Iterator Bio.IntelliGenetics.Iterator Bio.LocusLink.Iterator Bio.Medline.Iterator Bio.MetaTool.Iterator Bio.NBRF.Iterator Bio.Prosite.Iterator Bio.Prosite.Prodoc.Iterator Bio.Rebase.Iterator Bio.SCOP.Cla.Iterator Bio.SCOP.Des.Iterator Bio.SCOP.Dom.Iterator Bio.SCOP.Hie.Iterator Bio.SCOP.Raf.Iterator Bio.Saf.Iterator Bio.Sequencing.Ace.Iterator Bio.Sequencing.Phd.Iterator Bio.SwissProt.SProt.Iterator Bio.UniGene.Iterator Martel.Iterator Martel.Iterator.Iterator" class="py-name" href="#" onclick="return doclink('link-40', 'Iterator', 'link-40');">Iterator</a></tt><tt class="py-op">(</tt><tt class="py-name">InputFile</tt><tt class="py-op">,</tt> <tt class="py-name">parser</tt><tt class="py-op">)</tt> </tt> <a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt class="py-name">cur_record</tt> <tt class="py-op">=</tt> <tt class="py-name">iterator</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name" targets="Method Bio.AlignIO.ClustalIO.ClustalIterator.next()=Bio.AlignIO.ClustalIO.ClustalIterator-class.html#next,Method Bio.AlignIO.EmbossIO.EmbossIterator.next()=Bio.AlignIO.EmbossIO.EmbossIterator-class.html#next,Method Bio.AlignIO.FastaIO.FastaM10Iterator.next()=Bio.AlignIO.FastaIO.FastaM10Iterator-class.html#next,Method Bio.AlignIO.Interfaces.AlignmentIterator.next()=Bio.AlignIO.Interfaces.AlignmentIterator-class.html#next,Method Bio.AlignIO.PhylipIO.PhylipIterator.next()=Bio.AlignIO.PhylipIO.PhylipIterator-class.html#next,Method Bio.AlignIO.StockholmIO.StockholmIterator.next()=Bio.AlignIO.StockholmIO.StockholmIterator-class.html#next,Method Bio.Blast.NCBIStandalone.Iterator.next()=Bio.Blast.NCBIStandalone.Iterator-class.html#next,Method Bio.Blast.ParseBlastTable.BlastTableReader.next()=Bio.Blast.ParseBlastTable.BlastTableReader-class.html#next,Method Bio.CDD.Iterator.next()=Bio.CDD.Iterator-class.html#next,Method Bio.Compass.Iterator.next()=Bio.Compass.Iterator-class.html#next,Method Bio.DocSQL.IterationCursor.next()=Bio.DocSQL.IterationCursor-class.html#next,Method Bio.ECell.Iterator.next()=Bio.ECell.Iterator-class.html#next,Method Bio.Enzyme.Iterator.next()=Bio.Enzyme.Iterator-class.html#next,Method Bio.Fasta.Iterator.next()=Bio.Fasta.Iterator-class.html#next,Method Bio.GenBank.Iterator.next()=Bio.GenBank.Iterator-class.html#next,Method Bio.Gobase.Iterator.next()=Bio.Gobase.Iterator-class.html#next,Method Bio.IntelliGenetics.IntelliGeneticsReader.next()=Bio.IntelliGenetics.IntelliGeneticsReader-class.html#next,Method Bio.IntelliGenetics.Iterator.next()=Bio.IntelliGenetics.Iterator-class.html#next,Method Bio.LocusLink.Iterator.next()=Bio.LocusLink.Iterator-class.html#next,Method Bio.Medline.Iterator.next()=Bio.Medline.Iterator-class.html#next,Method Bio.MetaTool.Iterator.next()=Bio.MetaTool.Iterator-class.html#next,Method Bio.NBRF.Iterator.next()=Bio.NBRF.Iterator-class.html#next,Method Bio.Nexus.Nexus.CharBuffer.next()=Bio.Nexus.Nexus.CharBuffer-class.html#next,Method Bio.Prosite.Iterator.next()=Bio.Prosite.Iterator-class.html#next,Method Bio.Prosite.Prodoc.Iterator.next()=Bio.Prosite.Prodoc.Iterator-class.html#next,Method Bio.Rebase.Iterator.next()=Bio.Rebase.Iterator-class.html#next,Method Bio.SCOP.Cla.Iterator.next()=Bio.SCOP.Cla.Iterator-class.html#next,Method Bio.SCOP.Des.Iterator.next()=Bio.SCOP.Des.Iterator-class.html#next,Method Bio.SCOP.Dom.Iterator.next()=Bio.SCOP.Dom.Iterator-class.html#next,Method Bio.SCOP.Hie.Iterator.next()=Bio.SCOP.Hie.Iterator-class.html#next,Method Bio.SCOP.Raf.Iterator.next()=Bio.SCOP.Raf.Iterator-class.html#next,Method Bio.Saf.Iterator.next()=Bio.Saf.Iterator-class.html#next,Method Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next()=Bio.SeqIO.Interfaces.InterlacedSequenceIterator-class.html#next,Method Bio.SeqIO.Interfaces.SequenceIterator.next()=Bio.SeqIO.Interfaces.SequenceIterator-class.html#next,Method Bio.Sequencing.Ace.Iterator.next()=Bio.Sequencing.Ace.Iterator-class.html#next,Method Bio.Sequencing.Phd.Iterator.next()=Bio.Sequencing.Phd.Iterator-class.html#next,Method Bio.SwissProt.SProt.Iterator.next()=Bio.SwissProt.SProt.Iterator-class.html#next,Method Bio.UniGene.Iterator.next()=Bio.UniGene.Iterator-class.html#next,Method Martel.Iterator.EventStream.next()=Martel.Iterator.EventStream-class.html#next,Method Martel.Iterator.HeaderFooterEventStream.next()=Martel.Iterator.HeaderFooterEventStream-class.html#next,Method Martel.Iterator.Iterate.next()=Martel.Iterator.Iterate-class.html#next,Method Martel.Iterator.RecordEventStream.next()=Martel.Iterator.RecordEventStream-class.html#next,Method Martel.RecordReader.CountLines.next()=Martel.RecordReader.CountLines-class.html#next,Method Martel.RecordReader.EndsWith.next()=Martel.RecordReader.EndsWith-class.html#next,Method Martel.RecordReader.Everything.next()=Martel.RecordReader.Everything-class.html#next,Method Martel.RecordReader.Nothing.next()=Martel.RecordReader.Nothing-class.html#next,Method Martel.RecordReader.RecordReader.next()=Martel.RecordReader.RecordReader-class.html#next,Method Martel.RecordReader.StartsWith.next()=Martel.RecordReader.StartsWith-class.html#next,Method Martel.RecordReader.Until.next()=Martel.RecordReader.Until-class.html#next"><a title="Bio.AlignIO.ClustalIO.ClustalIterator.next Bio.AlignIO.EmbossIO.EmbossIterator.next Bio.AlignIO.FastaIO.FastaM10Iterator.next Bio.AlignIO.Interfaces.AlignmentIterator.next Bio.AlignIO.PhylipIO.PhylipIterator.next Bio.AlignIO.StockholmIO.StockholmIterator.next Bio.Blast.NCBIStandalone.Iterator.next Bio.Blast.ParseBlastTable.BlastTableReader.next Bio.CDD.Iterator.next Bio.Compass.Iterator.next Bio.DocSQL.IterationCursor.next Bio.ECell.Iterator.next Bio.Enzyme.Iterator.next Bio.Fasta.Iterator.next Bio.GenBank.Iterator.next Bio.Gobase.Iterator.next Bio.IntelliGenetics.IntelliGeneticsReader.next Bio.IntelliGenetics.Iterator.next Bio.LocusLink.Iterator.next Bio.Medline.Iterator.next Bio.MetaTool.Iterator.next Bio.NBRF.Iterator.next Bio.Nexus.Nexus.CharBuffer.next Bio.Prosite.Iterator.next Bio.Prosite.Prodoc.Iterator.next Bio.Rebase.Iterator.next Bio.SCOP.Cla.Iterator.next Bio.SCOP.Des.Iterator.next Bio.SCOP.Dom.Iterator.next Bio.SCOP.Hie.Iterator.next Bio.SCOP.Raf.Iterator.next Bio.Saf.Iterator.next Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next Bio.SeqIO.Interfaces.SequenceIterator.next Bio.Sequencing.Ace.Iterator.next Bio.Sequencing.Phd.Iterator.next Bio.SwissProt.SProt.Iterator.next Bio.UniGene.Iterator.next Martel.Iterator.EventStream.next Martel.Iterator.HeaderFooterEventStream.next Martel.Iterator.Iterate.next Martel.Iterator.RecordEventStream.next Martel.RecordReader.CountLines.next Martel.RecordReader.EndsWith.next Martel.RecordReader.Everything.next Martel.RecordReader.Nothing.next Martel.RecordReader.RecordReader.next Martel.RecordReader.StartsWith.next Martel.RecordReader.Until.next" class="py-name" href="#" onclick="return doclink('link-41', 'next', 'link-41');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> </tt> <a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> <tt class="py-comment"># make the codon dictionary local</tt> </tt> <a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">codon_count</tt> <tt class="py-op">=</tt> <tt id="link-42" class="py-name"><a title="Bio.SeqUtils.CodonUsage.CodonsDict" class="py-name" href="#" onclick="return doclink('link-42', 'CodonsDict', 'link-4');">CodonsDict</a></tt><tt class="py-op">.</tt><tt id="link-43" class="py-name" targets="Method Bio.Crystal.Crystal.copy()=Bio.Crystal.Crystal-class.html#copy,Method Bio.GA.Organism.Organism.copy()=Bio.GA.Organism.Organism-class.html#copy,Method Bio.GenBank.NCBIDictionary.copy()=Bio.GenBank.NCBIDictionary-class.html#copy,Method Bio.PDB.Vector'.Vector.copy()=Bio.PDB.Vector%27.Vector-class.html#copy,Method Bio.Prosite.ExPASyDictionary.copy()=Bio.Prosite.ExPASyDictionary-class.html#copy,Method Bio.Prosite.Pattern.PrositeTerm.copy()=Bio.Prosite.Pattern.PrositeTerm-class.html#copy,Method Bio.Prosite.Prodoc.ExPASyDictionary.copy()=Bio.Prosite.Prodoc.ExPASyDictionary-class.html#copy,Method Bio.PubMed.Dictionary.copy()=Bio.PubMed.Dictionary-class.html#copy,Method Bio.SwissProt.SProt.ExPASyDictionary.copy()=Bio.SwissProt.SProt.ExPASyDictionary-class.html#copy,Method Martel.Expression.Any.copy()=Martel.Expression.Any-class.html#copy,Method Martel.Expression.AnyEol.copy()=Martel.Expression.AnyEol-class.html#copy,Method Martel.Expression.Assert.copy()=Martel.Expression.Assert-class.html#copy,Method Martel.Expression.AtBeginning.copy()=Martel.Expression.AtBeginning-class.html#copy,Method Martel.Expression.AtEnd.copy()=Martel.Expression.AtEnd-class.html#copy,Method Martel.Expression.Debug.copy()=Martel.Expression.Debug-class.html#copy,Method Martel.Expression.Dot.copy()=Martel.Expression.Dot-class.html#copy,Method Martel.Expression.Expression.copy()=Martel.Expression.Expression-class.html#copy,Method Martel.Expression.ExpressionList.copy()=Martel.Expression.ExpressionList-class.html#copy,Method Martel.Expression.FastFeature.copy()=Martel.Expression.FastFeature-class.html#copy,Method Martel.Expression.Group.copy()=Martel.Expression.Group-class.html#copy,Method Martel.Expression.GroupRef.copy()=Martel.Expression.GroupRef-class.html#copy,Method Martel.Expression.HeaderFooter.copy()=Martel.Expression.HeaderFooter-class.html#copy,Method Martel.Expression.Literal.copy()=Martel.Expression.Literal-class.html#copy,Method Martel.Expression.MaxRepeat.copy()=Martel.Expression.MaxRepeat-class.html#copy,Method Martel.Expression.NullOp.copy()=Martel.Expression.NullOp-class.html#copy,Method Martel.Expression.ParseRecords.copy()=Martel.Expression.ParseRecords-class.html#copy,Method Martel.Expression.PassThrough.copy()=Martel.Expression.PassThrough-class.html#copy,Method Martel.Expression.Str.copy()=Martel.Expression.Str-class.html#copy,Method Martel.IterParser.IterHeaderFooter.copy()=Martel.IterParser.IterHeaderFooter-class.html#copy,Method Martel.IterParser.IterRecords.copy()=Martel.IterParser.IterRecords-class.html#copy,Method Martel.Iterator.IteratorRecords.copy()=Martel.Iterator.IteratorRecords-class.html#copy,Method Martel.Parser.HeaderFooterParser.copy()=Martel.Parser.HeaderFooterParser-class.html#copy,Method Martel.Parser.Parser.copy()=Martel.Parser.Parser-class.html#copy,Method Martel.Parser.RecordParser.copy()=Martel.Parser.RecordParser-class.html#copy"><a title="Bio.Crystal.Crystal.copy Bio.GA.Organism.Organism.copy Bio.GenBank.NCBIDictionary.copy Bio.PDB.Vector'.Vector.copy Bio.Prosite.ExPASyDictionary.copy Bio.Prosite.Pattern.PrositeTerm.copy Bio.Prosite.Prodoc.ExPASyDictionary.copy Bio.PubMed.Dictionary.copy Bio.SwissProt.SProt.ExPASyDictionary.copy Martel.Expression.Any.copy Martel.Expression.AnyEol.copy Martel.Expression.Assert.copy Martel.Expression.AtBeginning.copy Martel.Expression.AtEnd.copy Martel.Expression.Debug.copy Martel.Expression.Dot.copy Martel.Expression.Expression.copy Martel.Expression.ExpressionList.copy Martel.Expression.FastFeature.copy Martel.Expression.Group.copy Martel.Expression.GroupRef.copy Martel.Expression.HeaderFooter.copy Martel.Expression.Literal.copy Martel.Expression.MaxRepeat.copy Martel.Expression.NullOp.copy Martel.Expression.ParseRecords.copy Martel.Expression.PassThrough.copy Martel.Expression.Str.copy Martel.IterParser.IterHeaderFooter.copy Martel.IterParser.IterRecords.copy Martel.Iterator.IteratorRecords.copy Martel.Parser.HeaderFooterParser.copy Martel.Parser.Parser.copy Martel.Parser.RecordParser.copy" class="py-name" href="#" onclick="return doclink('link-43', 'copy', 'link-43');">copy</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"> </tt> <a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> </tt> <a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> <tt class="py-comment"># iterate over sequence and count all the codons in the FastaFile.</tt> </tt> <a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">while</tt> <tt class="py-name">cur_record</tt><tt class="py-op">:</tt> </tt> <a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> <tt class="py-comment"># make sure the sequence is lower case</tt> </tt> <a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-name">cur_record</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name" targets="Method Bio.AlignAce.Parser.AlignAceConsumer.sequence()=Bio.AlignAce.Parser.AlignAceConsumer-class.html#sequence,Variable Bio.Emboss.primer3_format.sequence=Bio.Emboss.primer3_format-module.html#sequence,Method Bio.FSSP.FSSPAlignDict.sequence()=Bio.FSSP.FSSPAlignDict-class.html#sequence,Method Bio.GenBank._FeatureConsumer.sequence()=Bio.GenBank._FeatureConsumer-class.html#sequence,Method Bio.GenBank._RecordConsumer.sequence()=Bio.GenBank._RecordConsumer-class.html#sequence,Method Bio.IntelliGenetics._RecordConsumer.sequence()=Bio.IntelliGenetics._RecordConsumer-class.html#sequence,Method Bio.Rebase._RecordConsumer.sequence()=Bio.Rebase._RecordConsumer-class.html#sequence,Function Bio.Std.sequence()=Bio.Std-module.html#sequence,Module Bio.builders.SeqRecord.sequence=Bio.builders.SeqRecord.sequence-module.html,Variable Bio.expressions.fasta.sequence=Bio.expressions.fasta-module.html#sequence,Variable Bio.expressions.genbank.sequence=Bio.expressions.genbank-module.html#sequence,Variable Bio.expressions.swissprot.sprot38.sequence=Bio.expressions.swissprot.sprot38-module.html#sequence,Module Bio.formatdefs.sequence=Bio.formatdefs.sequence-module.html,Variable Bio.formatdefs.sequence.sequence=Bio.formatdefs.sequence-module.html#sequence,Variable Martel.test.test_swissprot38.sequence=Martel.test.test_swissprot38-module.html#sequence,Variable Martel.test.testformats.swissprot38.sequence=Martel.test.testformats.swissprot38-module.html#sequence"><a title="Bio.AlignAce.Parser.AlignAceConsumer.sequence Bio.Emboss.primer3_format.sequence Bio.FSSP.FSSPAlignDict.sequence Bio.GenBank._FeatureConsumer.sequence Bio.GenBank._RecordConsumer.sequence Bio.IntelliGenetics._RecordConsumer.sequence Bio.Rebase._RecordConsumer.sequence Bio.Std.sequence Bio.builders.SeqRecord.sequence Bio.expressions.fasta.sequence Bio.expressions.genbank.sequence Bio.expressions.swissprot.sprot38.sequence Bio.formatdefs.sequence Bio.formatdefs.sequence.sequence Martel.test.test_swissprot38.sequence Martel.test.testformats.swissprot38.sequence" class="py-name" href="#" onclick="return doclink('link-44', 'sequence', 'link-44');">sequence</a></tt><tt class="py-op">.</tt><tt class="py-name">islower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> <tt class="py-name">DNAsequence</tt> <tt class="py-op">=</tt> <tt class="py-name">cur_record</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="Bio.AlignAce.Parser.AlignAceConsumer.sequence Bio.Emboss.primer3_format.sequence Bio.FSSP.FSSPAlignDict.sequence Bio.GenBank._FeatureConsumer.sequence Bio.GenBank._RecordConsumer.sequence Bio.IntelliGenetics._RecordConsumer.sequence Bio.Rebase._RecordConsumer.sequence Bio.Std.sequence Bio.builders.SeqRecord.sequence Bio.expressions.fasta.sequence Bio.expressions.genbank.sequence Bio.expressions.swissprot.sprot38.sequence Bio.formatdefs.sequence Bio.formatdefs.sequence.sequence Martel.test.test_swissprot38.sequence Martel.test.testformats.swissprot38.sequence" class="py-name" href="#" onclick="return doclink('link-45', 'sequence', 'link-44');">sequence</a></tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> <a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> <tt class="py-name">DNAsequence</tt> <tt class="py-op">=</tt> <tt class="py-name">cur_record</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="Bio.AlignAce.Parser.AlignAceConsumer.sequence Bio.Emboss.primer3_format.sequence Bio.FSSP.FSSPAlignDict.sequence Bio.GenBank._FeatureConsumer.sequence Bio.GenBank._RecordConsumer.sequence Bio.IntelliGenetics._RecordConsumer.sequence Bio.Rebase._RecordConsumer.sequence Bio.Std.sequence Bio.builders.SeqRecord.sequence Bio.expressions.fasta.sequence Bio.expressions.genbank.sequence Bio.expressions.swissprot.sprot38.sequence Bio.formatdefs.sequence Bio.formatdefs.sequence.sequence Martel.test.test_swissprot38.sequence Martel.test.testformats.swissprot38.sequence" class="py-name" href="#" onclick="return doclink('link-46', 'sequence', 'link-44');">sequence</a></tt> </tt> <a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-47" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-47', 'i', 'link-18');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">DNAsequence</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-number">3</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> <tt class="py-name">codon</tt> <tt class="py-op">=</tt> <tt class="py-name">DNAsequence</tt><tt class="py-op">[</tt><tt id="link-48" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-48', 'i', 'link-18');">i</a></tt><tt class="py-op">:</tt><tt id="link-49" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-49', 'i', 'link-18');">i</a></tt><tt class="py-op">+</tt><tt class="py-number">3</tt><tt class="py-op">]</tt> </tt> <a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">codon_count</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="Bio.Crystal.Crystal.has_key Bio.EUtils.POM.ElementNode.has_key Bio.GenBank.NCBIDictionary.has_key Bio.PDB.AbstractPropertyMap.AbstractPropertyMap.has_key Bio.PDB.FragmentMapper'.FragmentMapper.has_key Bio.Prosite.ExPASyDictionary.has_key Bio.Prosite.Prodoc.ExPASyDictionary.has_key Bio.PubMed.Dictionary.has_key Bio.SwissProt.SProt.ExPASyDictionary.has_key Martel.Parser.MartelAttributeList.has_key" class="py-name" href="#" onclick="return doclink('link-50', 'has_key', 'link-31');">has_key</a></tt><tt class="py-op">(</tt><tt class="py-name">codon</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> <a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">codon_count</tt><tt class="py-op">[</tt><tt class="py-name">codon</tt><tt class="py-op">]</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt> <a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> <a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">TypeError</tt><tt class="py-op">(</tt><tt class="py-string">"illegal codon %s in gene: %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">codon</tt><tt class="py-op">,</tt> <tt class="py-name">cur_record</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name" targets="Method Bio.Blast.NCBIStandalone._AlignmentConsumer.title()=Bio.Blast.NCBIStandalone._AlignmentConsumer-class.html#title,Method Bio.GenBank._FeatureConsumer.title()=Bio.GenBank._FeatureConsumer-class.html#title,Method Bio.GenBank._RecordConsumer.title()=Bio.GenBank._RecordConsumer-class.html#title,Method Bio.Medline._RecordConsumer.title()=Bio.Medline._RecordConsumer-class.html#title,Variable Bio.expressions.fasta.title=Bio.expressions.fasta-module.html#title"><a title="Bio.Blast.NCBIStandalone._AlignmentConsumer.title Bio.GenBank._FeatureConsumer.title Bio.GenBank._RecordConsumer.title Bio.Medline._RecordConsumer.title Bio.expressions.fasta.title" class="py-name" href="#" onclick="return doclink('link-51', 'title', 'link-51');">title</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> <a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> </tt> <a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> <tt class="py-name">cur_record</tt> <tt class="py-op">=</tt> <tt class="py-name">iterator</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="Bio.AlignIO.ClustalIO.ClustalIterator.next Bio.AlignIO.EmbossIO.EmbossIterator.next Bio.AlignIO.FastaIO.FastaM10Iterator.next Bio.AlignIO.Interfaces.AlignmentIterator.next Bio.AlignIO.PhylipIO.PhylipIterator.next Bio.AlignIO.StockholmIO.StockholmIterator.next Bio.Blast.NCBIStandalone.Iterator.next Bio.Blast.ParseBlastTable.BlastTableReader.next Bio.CDD.Iterator.next Bio.Compass.Iterator.next Bio.DocSQL.IterationCursor.next Bio.ECell.Iterator.next Bio.Enzyme.Iterator.next Bio.Fasta.Iterator.next Bio.GenBank.Iterator.next Bio.Gobase.Iterator.next Bio.IntelliGenetics.IntelliGeneticsReader.next Bio.IntelliGenetics.Iterator.next Bio.LocusLink.Iterator.next Bio.Medline.Iterator.next Bio.MetaTool.Iterator.next Bio.NBRF.Iterator.next Bio.Nexus.Nexus.CharBuffer.next Bio.Prosite.Iterator.next Bio.Prosite.Prodoc.Iterator.next Bio.Rebase.Iterator.next Bio.SCOP.Cla.Iterator.next Bio.SCOP.Des.Iterator.next Bio.SCOP.Dom.Iterator.next Bio.SCOP.Hie.Iterator.next Bio.SCOP.Raf.Iterator.next Bio.Saf.Iterator.next Bio.SeqIO.Interfaces.InterlacedSequenceIterator.next Bio.SeqIO.Interfaces.SequenceIterator.next Bio.Sequencing.Ace.Iterator.next Bio.Sequencing.Phd.Iterator.next Bio.SwissProt.SProt.Iterator.next Bio.UniGene.Iterator.next Martel.Iterator.EventStream.next Martel.Iterator.HeaderFooterEventStream.next Martel.Iterator.Iterate.next Martel.Iterator.RecordEventStream.next Martel.RecordReader.CountLines.next Martel.RecordReader.EndsWith.next Martel.RecordReader.Everything.next Martel.RecordReader.Nothing.next Martel.RecordReader.RecordReader.next Martel.RecordReader.StartsWith.next Martel.RecordReader.Until.next" class="py-name" href="#" onclick="return doclink('link-52', 'next', 'link-41');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> <tt class="py-name">InputFile</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name" targets="Method Bio.FilteredReader.FilteredReader.close()=Bio.FilteredReader.FilteredReader-class.html#close,Method Bio.Mindy.BerkeleyDB.BerkeleyDB.close()=Bio.Mindy.BerkeleyDB.BerkeleyDB-class.html#close,Method Bio.Mindy.FlatDB.MemoryFlatDB.close()=Bio.Mindy.FlatDB.MemoryFlatDB-class.html#close,Method BioSQL.BioSeqDatabase.Adaptor.close()=BioSQL.BioSeqDatabase.Adaptor-class.html#close,Method Martel.Parser.Parser.close()=Martel.Parser.Parser-class.html#close,Method Martel.Parser.RecordParser.close()=Martel.Parser.RecordParser-class.html#close"><a title="Bio.FilteredReader.FilteredReader.close Bio.Mindy.BerkeleyDB.BerkeleyDB.close Bio.Mindy.FlatDB.MemoryFlatDB.close BioSQL.BioSeqDatabase.Adaptor.close Martel.Parser.Parser.close Martel.Parser.RecordParser.close" class="py-name" href="#" onclick="return doclink('link-53', 'close', 'link-53');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> </div><a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"> </tt> <a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> <tt class="py-comment"># this just gives the index when the objects is printed.</tt> </tt> <a name="CodonAdaptationIndex.print_index"></a><div id="CodonAdaptationIndex.print_index-def"><a name="L141"></a><tt class="py-lineno">141</tt> <a class="py-toggle" href="#" id="CodonAdaptationIndex.print_index-toggle" onclick="return toggle('CodonAdaptationIndex.print_index');">-</a><tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Bio.SeqUtils.CodonUsage.CodonAdaptationIndex-class.html#print_index">print_index</a> <tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> </div><div id="CodonAdaptationIndex.print_index-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="CodonAdaptationIndex.print_index-expanded"><a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt class="py-name">X</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="Bio.Crystal.Chain.index Bio.EUtils.POM.ElementNode.index Bio.SCOP.Raf.SeqMap.index Bio.Seq.MutableSeq.index" class="py-name" href="#" onclick="return doclink('link-54', 'index', 'link-6');">index</a></tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="Bio.Crystal.Crystal.keys Bio.EUtils.MultiDict._BaseMultiDict.keys Bio.GenBank.NCBIDictionary.keys Bio.Mindy.BaseDB.DictLookup.keys Bio.Mindy.BaseDB.OpenDB.keys Bio.Mindy.BerkeleyDB.PrimaryNamespace.keys Bio.Mindy.BerkeleyDB.SecondaryNamespace.keys Bio.Mindy.FlatDB.PrimaryNamespace.keys Bio.Mindy.FlatDB.PrimaryTable.keys Bio.Mindy.FlatDB.SecondaryNamespace.keys Bio.Mindy.FlatDB.SecondaryTable.keys Bio.PDB.AbstractPropertyMap.AbstractPropertyMap.keys Bio.Prosite.ExPASyDictionary.keys Bio.Prosite.Prodoc.ExPASyDictionary.keys Bio.PubMed.Dictionary.keys Bio.SwissProt.SProt.Dictionary.keys Bio.SwissProt.SProt.ExPASyDictionary.keys Bio.config.Registry.Registry.keys BioSQL.BioSeqDatabase.BioSeqDatabase.keys BioSQL.BioSeqDatabase.DBServer.keys Martel.Parser.MartelAttributeList.keys" class="py-name" href="#" onclick="return doclink('link-55', 'keys', 'link-13');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"> <tt class="py-name">X</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name" targets="Method Bio.PDB.Residue.DisorderedResidue.sort()=Bio.PDB.Residue.DisorderedResidue-class.html#sort,Method Bio.PDB.Residue.Residue.sort()=Bio.PDB.Residue.Residue-class.html#sort,Method Bio.Sequencing.Ace.ACEFileRecord.sort()=Bio.Sequencing.Ace.ACEFileRecord-class.html#sort"><a title="Bio.PDB.Residue.DisorderedResidue.sort Bio.PDB.Residue.Residue.sort Bio.Sequencing.Ace.ACEFileRecord.sort" class="py-name" href="#" onclick="return doclink('link-56', 'sort', 'link-56');">sort</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> <a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt id="link-57" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-57', 'i', 'link-18');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">X</tt><tt class="py-op">:</tt> </tt> <a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-string">"%s\t%.3f"</tt> <tt class="py-op">%</tt><tt class="py-op">(</tt><tt id="link-58" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-58', 'i', 'link-18');">i</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="Bio.Crystal.Chain.index Bio.EUtils.POM.ElementNode.index Bio.SCOP.Raf.SeqMap.index Bio.Seq.MutableSeq.index" class="py-name" href="#" onclick="return doclink('link-59', 'index', 'link-6');">index</a></tt><tt class="py-op">[</tt><tt id="link-60" class="py-name"><a title="Bio.PDB.Polypeptide.i" class="py-name" href="#" onclick="return doclink('link-60', 'i', 'link-18');">i</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt> </div></div><a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"> </tt><script type="text/javascript"> <!-- expandto(location.href); // --> </script> </pre> <br /> <!-- ==================== NAVIGATION BAR ==================== --> <table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0"> <tr valign="middle"> <!-- Tree link --> <th> <a href="module-tree.html">Trees</a> </th> <!-- Index link --> <th> <a href="identifier-index.html">Indices</a> </th> <!-- Help link --> <th> <a href="help.html">Help</a> </th> <th class="navbar" width="100%"></th> </tr> </table> <table border="0" cellpadding="0" cellspacing="0" width="100%%"> <tr> <td align="left" class="footer"> Generated by Epydoc 3.0.1 on Mon Sep 15 09:27:00 2008 </td> <td align="right" class="footer"> <a target="mainFrame" href="http://epydoc.sourceforge.net" >http://epydoc.sourceforge.net</a> </td> </tr> </table> <script type="text/javascript"> <!-- // Private objects are initially displayed (because if // javascript is turned off then we want them to be // visible); but by default, we want to hide them. So hide // them unless we have a cookie that says to show them. checkCookie(); // --> </script> </body> </html>