-
Notifications
You must be signed in to change notification settings - Fork 0
/
10th-diary.html
225 lines (209 loc) · 31 KB
/
10th-diary.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
<!DOCTYPE html>
<html lang="en">
<head>
<title>10th Diary</title>
<meta charset="utf-8" />
<link rel="stylesheet" href="/theme/css/main.css" type="text/css" />
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
<!--[if lte IE 7]>
<link rel="stylesheet" type="text/css" media="all" href="/css/ie.css"/>
<script src="/js/IE8.js" type="text/javascript"></script><![endif]-->
<!--[if lt IE 7]>
<link rel="stylesheet" type="text/css" media="all" href="/css/ie6.css"/><![endif]-->
</head>
<body id="index" class="home">
<header id="banner" class="body">
<h1><a href="/index.html">Codon Alignment GSoC Homepage </a></h1>
<nav><ul>
<li class="active"><a href="/category/gsoc.html">GSoC</a></li>
<li ><a href="/category/me.html">Me</a></li>
<li ><a href="/category/timeline.html">Timeline</a></li>
</ul></nav>
</header><!-- /#banner -->
<section id="content" class="body">
<article>
<header>
<h1 class="entry-title">
<a href="10th-diary.html" rel="bookmark"
title="Permalink to 10th Diary">10th Diary</a></h1>
</header>
<div class="entry-content">
<footer class="post-info">
<abbr class="published" title="2013-09-16T22:48:00">
Mon 16 September 2013
</abbr>
<address class="vcard author">
By <a class="url fn" href="/author/zheng-ruan.html">Zheng Ruan</a>
</address>
<p>In <a href="/category/gsoc.html">GSoC</a>. </p>
<p>tags: <a href="/tag/codon-alignment.html">Codon Alignment</a><a href="/tag/gsoc.html">GSoC</a></p></footer><!-- /.post-info --> <div class="section" id="things-have-been-done">
<h2>Things have been done</h2>
<p>In the last coding week for my GSoC project, I am mainly dealing with issues
left from previous weeks as well as several new features. First, a <tt class="docutils literal">cfreq</tt>
option has been added to the maximum likelihood method and it allows the user
to specify equilibrium codon frequency model (available options include F1x4,
F3x4 and F61). Second new feature is dN, dS tree reconstruction. This is done
by using Yanbo Ye's Code (specifically, <tt class="docutils literal">DistanceMatrix</tt> and
<tt class="docutils literal">DistanceTreeConstructor</tt> classes). This method is implemented in
<tt class="docutils literal">CodonAlignment</tt> class so that user can build a dN tree and dS tree once it
get the alignment. Furthermore, I corrected all the things Eric pointed out in
my code several days ago. <tt class="docutils literal">toCodonAlignment</tt> is now a classmethod called
<tt class="docutils literal">from_msa</tt> in <tt class="docutils literal">CodonAlignment</tt> class, rather than an independent function.
I also speed up
the Mcdonald Kreitman test implementation by breaking the _dijkstra() once it
arrives at the target codon. However, I think I can make it even faster by
building codon to codon substitution matrix on the fly (I may do this after my
GSoC). In addition, I removed the Scipy dependency by using the <tt class="docutils literal">chisq.py</tt>
from Eric's biofrills/stats/. When the convergency problem in
Phylo/PAML/chi2.py is solved, I may shift it back to Biopython's chi2
implementation. I also re-organized the <tt class="docutils literal">cal_dn_ds</tt> method so that it is more
readable.</p>
</div>
<div class="section" id="some-examples">
<h2>Some Examples</h2>
<p>I will illustrate the two new features described above.</p>
<ol class="arabic simple">
<li>Using different equilibrium codon frequency model to estimate dN, dS under ML.</li>
</ol>
<div class="highlight"><pre><span class="o">>>></span> <span class="kn">from</span> <span class="nn">Bio</span> <span class="kn">import</span> <span class="n">SeqIO</span><span class="p">,</span> <span class="n">AlignIO</span>
<span class="o">>>></span> <span class="kn">from</span> <span class="nn">Bio</span> <span class="kn">import</span> <span class="n">CodonAlign</span>
<span class="o">>>></span> <span class="kn">from</span> <span class="nn">Bio.Data.CodonTable</span> <span class="kn">import</span> <span class="n">generic_by_id</span>
<span class="o">>>></span> <span class="kn">from</span> <span class="nn">Bio.Alphabet</span> <span class="kn">import</span> <span class="n">IUPAC</span>
<span class="o">>>></span> <span class="kn">from</span> <span class="nn">Bio.CodonAlign.CodonSeq</span> <span class="kn">import</span> <span class="n">cal_dn_ds</span>
<span class="o">>>></span> <span class="n">aln</span> <span class="o">=</span> <span class="n">AlignIO</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="s">'pro.aln'</span><span class="p">,</span> <span class="s">'clustal'</span><span class="p">,</span> <span class="n">alphabet</span><span class="o">=</span><span class="n">IUPAC</span><span class="o">.</span><span class="n">protein</span><span class="p">)</span>
<span class="o">>>></span> <span class="n">seq1</span> <span class="o">=</span> <span class="n">SeqIO</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="s">'rbcL_cucu_mRNA.fa'</span><span class="p">,</span> <span class="s">'fasta'</span><span class="p">,</span> <span class="n">alphabet</span><span class="o">=</span><span class="n">IUPAC</span><span class="o">.</span><span class="n">IUPACUnambiguousDNA</span><span class="p">())</span>
<span class="o">>>></span> <span class="n">seq2</span> <span class="o">=</span> <span class="n">SeqIO</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="s">'rbcL_nic_mRNA.fa'</span><span class="p">,</span> <span class="s">'fasta'</span><span class="p">,</span> <span class="n">alphabet</span><span class="o">=</span><span class="n">IUPAC</span><span class="o">.</span><span class="n">IUPACUnambiguousDNA</span><span class="p">())</span>
<span class="o">>>></span> <span class="n">codon_aln</span> <span class="o">=</span> <span class="n">CodonAlign</span><span class="o">.</span><span class="n">build</span><span class="p">(</span><span class="n">aln</span><span class="p">,</span> <span class="p">[</span><span class="n">seq1</span><span class="p">,</span> <span class="n">seq2</span><span class="p">],</span> <span class="n">codon_table</span><span class="o">=</span><span class="n">generic_by_id</span><span class="p">[</span><span class="mi">11</span><span class="p">])</span>
<span class="o">>>></span> <span class="n">dN</span><span class="p">,</span> <span class="n">dS</span> <span class="o">=</span> <span class="n">cal_dn_ds</span><span class="p">(</span><span class="n">codon_aln</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">codon_aln</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="n">method</span><span class="o">=</span><span class="s">'ML'</span><span class="p">,</span> <span class="n">cfreq</span><span class="o">=</span><span class="s">'F1x4'</span><span class="p">)</span>
<span class="o">>>></span> <span class="k">print</span> <span class="n">dN</span><span class="p">,</span> <span class="n">dS</span>
<span class="mf">0.0345408062877</span> <span class="mf">0.314510886694</span>
<span class="o">>>></span> <span class="n">dN</span><span class="p">,</span> <span class="n">dS</span> <span class="o">=</span> <span class="n">cal_dn_ds</span><span class="p">(</span><span class="n">codon_aln</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">codon_aln</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="n">method</span><span class="o">=</span><span class="s">'ML'</span><span class="p">,</span> <span class="n">cfreq</span><span class="o">=</span><span class="s">'F3x4'</span><span class="p">)</span>
<span class="o">>>></span> <span class="k">print</span> <span class="n">dN</span><span class="p">,</span> <span class="n">dS</span>
<span class="mf">0.0342472820368</span> <span class="mf">0.420673537297</span>
<span class="o">>>></span> <span class="n">dN</span><span class="p">,</span> <span class="n">dS</span> <span class="o">=</span> <span class="n">cal_dn_ds</span><span class="p">(</span><span class="n">codon_aln</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">codon_aln</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="n">method</span><span class="o">=</span><span class="s">'ML'</span><span class="p">,</span> <span class="n">cfreq</span><span class="o">=</span><span class="s">'F61'</span><span class="p">)</span>
<span class="o">>>></span> <span class="k">print</span> <span class="n">dN</span><span class="p">,</span> <span class="n">dS</span>
<span class="mf">0.0355901166208</span> <span class="mf">0.44417445805</span>
</pre></div>
<p>By default, ML method will use F3x4 to estimate dN and dS.</p>
<ol class="arabic simple" start="2">
<li>Estimating dN and dS trees from Codon Alignment.</li>
</ol>
<div class="highlight"><pre><span class="o">>>></span> <span class="n">pro_aln</span> <span class="o">=</span> <span class="n">AlignIO</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="s">'adh.aln'</span><span class="p">,</span> <span class="s">'clustal'</span><span class="p">,</span> <span class="n">alphabet</span><span class="o">=</span><span class="n">IUPAC</span><span class="o">.</span><span class="n">protein</span><span class="p">)</span>
<span class="o">>>></span> <span class="n">p</span> <span class="o">=</span> <span class="n">SeqIO</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="s">'drosophilla.fasta'</span><span class="p">,</span> <span class="s">'fasta'</span><span class="p">,</span> <span class="n">alphabet</span><span class="o">=</span><span class="n">IUPAC</span><span class="o">.</span><span class="n">IUPACUnambiguousDNA</span><span class="p">())</span>
<span class="o">>>></span> <span class="n">codon_aln</span> <span class="o">=</span> <span class="n">CodonAlign</span><span class="o">.</span><span class="n">build</span><span class="p">(</span><span class="n">pro_aln</span><span class="p">,</span> <span class="n">p</span><span class="p">)</span>
<span class="o">>>></span> <span class="n">dn_tree</span><span class="p">,</span> <span class="n">ds_tree</span> <span class="o">=</span> <span class="n">codon_aln</span><span class="o">.</span><span class="n">get_dn_ds_tree</span><span class="p">()</span>
<span class="o">>>></span> <span class="k">print</span> <span class="n">ds_tree</span>
<span class="n">Tree</span><span class="p">(</span><span class="n">rooted</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'Inner26'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.0660961902035</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'Inner25'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.0241865617789</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'Inner24'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.0215192393847</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'Inner10'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.00264551361746</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'gi|156859|gb|M17827.1|DROADHCA'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.00264551361746</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'gi|156861|gb|M17828.1|DROADHCB'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.0148698333559</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'Inner21'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.00876665519004</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'Inner14'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.00529109306862</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'gi|156867|gb|M17831.1|DROADHCE'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.00529109306862</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'Inner1'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'gi|156865|gb|M17830.1|DROADHCD'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'gi|156863|gb|M19547.1|DROADHCC'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.00476282861245</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'Inner16'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.00929491964622</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'gi|156869|gb|M17832.1|DROADHCF'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.00666793867556</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'Inner9'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.00262698097065</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'Inner4'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'Inner3'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'Inner2'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'gi|156871|gb|M17833.1|DROADHCG'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'gi|156873|gb|M17834.1|DROADHCH'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'gi|156875|gb|M17835.1|DROADHCI'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'gi|156877|gb|M17836.1|DROADHCJ'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.00262698097065</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'gi|156879|gb|M17837.1|DROADHCK'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.0201467326198</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'Inner20'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.0133347488053</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'gi|9099|emb|X57362.1|'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.00269573738188</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'Inner18'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.00536651683534</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'Inner13'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.00527249458811</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'gi|9103|emb|X57364.1|'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.00527249458811</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'gi|9101|emb|X57363.1|'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.0106390114235</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'gi|9097|emb|X57361.1|'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.0567366494521</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'Inner23'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.0226942895568</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'gi|9225|emb|X57369.1|'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.00580291490159</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'Inner22'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.0168913746552</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'gi|9221|emb|X57367.1|'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.00695492026446</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'Inner19'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.00568075968879</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'Inner12'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'Inner11'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.00526324429364</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'gi|9239|emb|X57376.1|'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.00526324429364</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'gi|9237|emb|X57375.1|'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.00526324429364</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'gi|9233|emb|X57373.1|'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.00100754959171</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'Inner17'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.00993645439073</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'gi|9227|emb|X57370.1|'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.00333761625244</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'Inner15'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.00659883813828</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'gi|9231|emb|X57372.1|'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.00397644982917</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'Inner8'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.00262238830911</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'gi|9235|emb|X57374.1|'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.00262238830911</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'Inner7'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'Inner6'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'Inner5'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'gi|9229|emb|X57371.1|'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'gi|9223|emb|X57368.1|'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'gi|9219|emb|X57366.1|'</span><span class="p">)</span>
<span class="n">Clade</span><span class="p">(</span><span class="n">branch_length</span><span class="o">=</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">'gi|9217|emb|X57365.1|'</span><span class="p">)</span>
</pre></div>
</div>
<div class="section" id="future-plan">
<h2>Future Plan</h2>
<ol class="arabic simple">
<li>Write Documentation and Test.</li>
</ol>
<p>For more info, please visit my
[CodonAlign github repo](<a class="reference external" href="https://github.com/zruan/biopython/tree/master/Bio/CodonAlign">https://github.com/zruan/biopython/tree/master/Bio/CodonAlign</a>)</p>
</div>
</div><!-- /.entry-content -->
<div class="comments">
<h2>Comments !</h2>
<div id="disqus_thread"></div>
<script type="text/javascript">
var disqus_identifier = "10th-diary.html";
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = 'http://zruansblog.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
</div>
</article>
</section>
<section id="extras" class="body">
<div class="blogroll">
<h2>blogroll</h2>
<ul>
<li><a href="http://informatics.nescent.org/wiki/Phyloinformatics_Summer_of_Code_2013#Codon_Alignment_and_Analysis_in_Biopython">NESCent GSoC Project wiki</a></li>
<li><a href="http://biopython.org/wiki/Main_Page">Biopython</a></li>
<li><a href="http://iob.uga.edu/">UGA Bioinformatics</a></li>
<li><a href="http://getpelican.com/">Pelican</a></li>
<li><a href="http://python.org/">Python.org</a></li>
<li><a href="http://jinja.pocoo.org/">Jinja2</a></li>
</ul>
</div><!-- /.blogroll -->
<div class="social">
<h2>social</h2>
<ul>
<li><a href="https://www.facebook.com/ruan.zheng.7">Facebook</a></li>
<li><a href="http://zr1991.blogspot.com/">Google Blogger</a></li>
<li><a href="http://user.qzone.qq.com/8390905">Qzone</a></li>
</ul>
</div><!-- /.social -->
</section><!-- /#extras -->
<footer id="contentinfo" class="body">
</footer><!-- /#contentinfo -->
<script type="text/javascript">
var disqus_shortname = 'zruansblog';
(function () {
var s = document.createElement('script'); s.async = true;
s.type = 'text/javascript';
s.src = 'http://' + disqus_shortname + '.disqus.com/count.js';
(document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
}());
</script>
</body>
</html>