Skip to content

Commit f09f2ce

Browse files
author
Sphinx
committed
Automated update 66ad0a062e98f9964a7a4c67ad85291386ef3540
1 parent 2c506e2 commit f09f2ce

File tree

8 files changed

+523
-426
lines changed

8 files changed

+523
-426
lines changed

dev/Tutorial/chapter_align.html

Lines changed: 322 additions & 83 deletions
Large diffs are not rendered by default.

dev/Tutorial/chapter_pairwise.html

Lines changed: 17 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,8 @@
7373
</li>
7474
<li class="toctree-l3"><a class="reference internal" href="#examples">Examples</a></li>
7575
<li class="toctree-l3"><a class="reference internal" href="#generalized-pairwise-alignments">Generalized pairwise alignments</a><ul>
76-
<li class="toctree-l4"><a class="reference internal" href="#generalized-pairwise-alignments-using-a-substitution-matrix-and-alphabet">Generalized pairwise alignments using a substitution matrix and alphabet</a></li>
77-
<li class="toctree-l4"><a class="reference internal" href="#generalized-pairwise-alignments-using-match-mismatch-scores-and-an-alphabet">Generalized pairwise alignments using match/mismatch scores and an alphabet</a></li>
76+
<li class="toctree-l4"><a class="reference internal" href="#generalized-pairwise-alignments-using-a-substitution-matrix">Generalized pairwise alignments using a substitution matrix</a></li>
77+
<li class="toctree-l4"><a class="reference internal" href="#generalized-pairwise-alignments-using-match-mismatch-scores">Generalized pairwise alignments using match/mismatch scores</a></li>
7878
<li class="toctree-l4"><a class="reference internal" href="#generalized-pairwise-alignments-using-match-mismatch-scores-and-integer-sequences">Generalized pairwise alignments using match/mismatch scores and integer sequences</a></li>
7979
<li class="toctree-l4"><a class="reference internal" href="#generalized-pairwise-alignments-using-a-substitution-matrix-and-integer-sequences">Generalized pairwise alignments using a substitution matrix and integer sequences</a></li>
8080
</ul>
@@ -1176,9 +1176,7 @@ <h3>Array objects<a class="headerlink" href="#array-objects" title="Link to this
11761176
<span class="go">&#39;ACGT&#39;</span>
11771177
</pre></div>
11781178
</div>
1179-
<p>This property is read-only; modifying the underlying <code class="docutils literal notranslate"><span class="pre">_alphabet</span></code>
1180-
attribute may lead to unexpected results. Elements can be accessed both
1181-
by letter and by integer index:</p>
1179+
<p>Elements can be accessed both by letter and by integer index:</p>
11821180
<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">counts</span><span class="p">[</span><span class="s2">&quot;C&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="o">-</span><span class="mi">3</span>
11831181
<span class="gp">&gt;&gt;&gt; </span><span class="n">counts</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="mi">7</span>
11841182
<span class="gp">&gt;&gt;&gt; </span><span class="nb">print</span><span class="p">(</span><span class="n">counts</span><span class="p">)</span>
@@ -1810,8 +1808,8 @@ <h3>Loading predefined substitution matrices<a class="headerlink" href="#loading
18101808
nucleotides or amino acids. More generally, <code class="docutils literal notranslate"><span class="pre">PairwiseAligner</span></code> can also
18111809
be applied to lists or tuples of arbitrary objects. This section will
18121810
describe some examples of such generalized pairwise alignments.</p>
1813-
<section id="generalized-pairwise-alignments-using-a-substitution-matrix-and-alphabet">
1814-
<h3>Generalized pairwise alignments using a substitution matrix and alphabet<a class="headerlink" href="#generalized-pairwise-alignments-using-a-substitution-matrix-and-alphabet" title="Link to this heading"></a></h3>
1811+
<section id="generalized-pairwise-alignments-using-a-substitution-matrix">
1812+
<h3>Generalized pairwise alignments using a substitution matrix<a class="headerlink" href="#generalized-pairwise-alignments-using-a-substitution-matrix" title="Link to this heading"></a></h3>
18151813
<p>Schneider <em>et al.</em> <a class="reference internal" href="chapter_bibliography.html#schneider2005" id="id11"><span>[Schneider2005]</span></a> created a
18161814
substitution matrix for aligning three-nucleotide codons (see
18171815
<a class="reference external" href="#codonmatrix">below</a> in section <a class="reference internal" href="#sec-substitution-matrices"><span class="std std-ref">Substitution matrices</span></a>
@@ -1877,28 +1875,19 @@ <h3>Generalized pairwise alignments using a substitution matrix and alphabet<a c
18771875
</pre></div>
18781876
</div>
18791877
</section>
1880-
<section id="generalized-pairwise-alignments-using-match-mismatch-scores-and-an-alphabet">
1881-
<h3>Generalized pairwise alignments using match/mismatch scores and an alphabet<a class="headerlink" href="#generalized-pairwise-alignments-using-match-mismatch-scores-and-an-alphabet" title="Link to this heading"></a></h3>
1878+
<section id="generalized-pairwise-alignments-using-match-mismatch-scores">
1879+
<h3>Generalized pairwise alignments using match/mismatch scores<a class="headerlink" href="#generalized-pairwise-alignments-using-match-mismatch-scores" title="Link to this heading"></a></h3>
18821880
<p>Using the three-letter amino acid symbols, the sequences above translate
18831881
to</p>
18841882
<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">s1</span> <span class="o">=</span> <span class="p">(</span><span class="s2">&quot;Asn&quot;</span><span class="p">,</span> <span class="s2">&quot;Leu&quot;</span><span class="p">,</span> <span class="s2">&quot;Leu&quot;</span><span class="p">,</span> <span class="s2">&quot;Phe&quot;</span><span class="p">)</span>
18851883
<span class="gp">&gt;&gt;&gt; </span><span class="n">s2</span> <span class="o">=</span> <span class="p">(</span><span class="s2">&quot;Asn&quot;</span><span class="p">,</span> <span class="s2">&quot;Leu&quot;</span><span class="p">,</span> <span class="s2">&quot;Phe&quot;</span><span class="p">)</span>
18861884
</pre></div>
18871885
</div>
1888-
<p>We can align these sequences directly to each other by using a
1889-
three-letter amino acid alphabet:</p>
1890-
<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="kn">from</span><span class="w"> </span><span class="nn">Bio</span><span class="w"> </span><span class="kn">import</span> <span class="n">Align</span>
1891-
<span class="gp">&gt;&gt;&gt; </span><span class="n">aligner</span> <span class="o">=</span> <span class="n">Align</span><span class="o">.</span><span class="n">PairwiseAligner</span><span class="p">()</span>
1892-
<span class="gp">&gt;&gt;&gt; </span><span class="n">aligner</span><span class="o">.</span><span class="n">alphabet</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;Ala&#39;</span><span class="p">,</span> <span class="s1">&#39;Arg&#39;</span><span class="p">,</span> <span class="s1">&#39;Asn&#39;</span><span class="p">,</span> <span class="s1">&#39;Asp&#39;</span><span class="p">,</span> <span class="s1">&#39;Cys&#39;</span><span class="p">,</span>
1893-
<span class="gp">... </span> <span class="s1">&#39;Gln&#39;</span><span class="p">,</span> <span class="s1">&#39;Glu&#39;</span><span class="p">,</span> <span class="s1">&#39;Gly&#39;</span><span class="p">,</span> <span class="s1">&#39;His&#39;</span><span class="p">,</span> <span class="s1">&#39;Ile&#39;</span><span class="p">,</span>
1894-
<span class="gp">... </span> <span class="s1">&#39;Leu&#39;</span><span class="p">,</span> <span class="s1">&#39;Lys&#39;</span><span class="p">,</span> <span class="s1">&#39;Met&#39;</span><span class="p">,</span> <span class="s1">&#39;Phe&#39;</span><span class="p">,</span> <span class="s1">&#39;Pro&#39;</span><span class="p">,</span>
1895-
<span class="gp">... </span> <span class="s1">&#39;Ser&#39;</span><span class="p">,</span> <span class="s1">&#39;Thr&#39;</span><span class="p">,</span> <span class="s1">&#39;Trp&#39;</span><span class="p">,</span> <span class="s1">&#39;Tyr&#39;</span><span class="p">,</span> <span class="s1">&#39;Val&#39;</span><span class="p">]</span> <span class="c1"># fmt: skip</span>
1896-
<span class="gp">...</span>
1897-
</pre></div>
1898-
</div>
18991886
<p>We use +6/-1 match and mismatch scores as an approximation of the
19001887
BLOSUM62 matrix, and align these sequences to each other:</p>
1901-
<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">aligner</span><span class="o">.</span><span class="n">match</span> <span class="o">=</span> <span class="o">+</span><span class="mi">6</span>
1888+
<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="kn">from</span><span class="w"> </span><span class="nn">Bio</span><span class="w"> </span><span class="kn">import</span> <span class="n">Align</span>
1889+
<span class="gp">&gt;&gt;&gt; </span><span class="n">aligner</span> <span class="o">=</span> <span class="n">Align</span><span class="o">.</span><span class="n">PairwiseAligner</span><span class="p">()</span>
1890+
<span class="gp">&gt;&gt;&gt; </span><span class="n">aligner</span><span class="o">.</span><span class="n">match</span> <span class="o">=</span> <span class="o">+</span><span class="mi">6</span>
19021891
<span class="gp">&gt;&gt;&gt; </span><span class="n">aligner</span><span class="o">.</span><span class="n">mismatch</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span>
19031892
<span class="gp">&gt;&gt;&gt; </span><span class="n">alignments</span> <span class="o">=</span> <span class="n">aligner</span><span class="o">.</span><span class="n">align</span><span class="p">(</span><span class="n">s1</span><span class="p">,</span> <span class="n">s2</span><span class="p">)</span>
19041893
<span class="gp">&gt;&gt;&gt; </span><span class="nb">print</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">alignments</span><span class="p">))</span>
@@ -1920,9 +1909,10 @@ <h3>Generalized pairwise alignments using match/mismatch scores and an alphabet<
19201909
</section>
19211910
<section id="generalized-pairwise-alignments-using-match-mismatch-scores-and-integer-sequences">
19221911
<h3>Generalized pairwise alignments using match/mismatch scores and integer sequences<a class="headerlink" href="#generalized-pairwise-alignments-using-match-mismatch-scores-and-integer-sequences" title="Link to this heading"></a></h3>
1923-
<p>Internally, the first step when performing an alignment is to replace
1924-
the two sequences by integer arrays consisting of the indices of each
1925-
letter in each sequence in the alphabet associated with the aligner.
1912+
<p>Internally, the first step when performing an alignment is to create a
1913+
temporary alphabet consisting of the letters in the two sequences, and
1914+
replacing the sequences by integer arrays consisting of the indices of each
1915+
letter in the alphabet.
19261916
This step can be bypassed by passing integer arrays directly:</p>
19271917
<div class="highlight-pycon notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="kn">import</span><span class="w"> </span><span class="nn">numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">np</span>
19281918
<span class="gp">&gt;&gt;&gt; </span><span class="kn">from</span><span class="w"> </span><span class="nn">Bio</span><span class="w"> </span><span class="kn">import</span> <span class="n">Align</span>
@@ -1986,11 +1976,11 @@ <h3>Generalized pairwise alignments using a substitution matrix and integer sequ
19861976
<span class="gp">&gt;&gt;&gt; </span><span class="n">aligner</span> <span class="o">=</span> <span class="n">Align</span><span class="o">.</span><span class="n">PairwiseAligner</span><span class="p">()</span>
19871977
<span class="gp">&gt;&gt;&gt; </span><span class="n">m</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">eye</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
19881978
<span class="gp">&gt;&gt;&gt; </span><span class="n">m</span><span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">:]</span> <span class="o">=</span> <span class="n">m</span><span class="p">[</span><span class="mi">1</span><span class="p">:,</span> <span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="o">-</span><span class="mi">2</span>
1989-
<span class="gp">&gt;&gt;&gt; </span><span class="n">m</span><span class="p">[</span><span class="mi">2</span><span class="p">,</span> <span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="mi">3</span>
1979+
<span class="gp">&gt;&gt;&gt; </span><span class="n">m</span><span class="p">[</span><span class="mi">2</span><span class="p">,</span> <span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="mi">6</span>
19901980
<span class="gp">&gt;&gt;&gt; </span><span class="nb">print</span><span class="p">(</span><span class="n">m</span><span class="p">)</span>
19911981
<span class="go">[[ 1. -2. -2. -2. -2.]</span>
19921982
<span class="go"> [-2. 1. 0. 0. 0.]</span>
1993-
<span class="go"> [-2. 0. 3. 0. 0.]</span>
1983+
<span class="go"> [-2. 0. 6. 0. 0.]</span>
19941984
<span class="go"> [-2. 0. 0. 1. 0.]</span>
19951985
<span class="go"> [-2. 0. 0. 0. 1.]]</span>
19961986
<span class="gp">&gt;&gt;&gt; </span><span class="n">aligner</span><span class="o">.</span><span class="n">substitution_matrix</span> <span class="o">=</span> <span class="n">m</span>
@@ -2011,7 +2001,7 @@ <h3>Generalized pairwise alignments using a substitution matrix and integer sequ
20112001
<span class="go">0 3 2 - 1</span>
20122002

20132003
<span class="gp">&gt;&gt;&gt; </span><span class="nb">print</span><span class="p">(</span><span class="n">alignments</span><span class="o">.</span><span class="n">score</span><span class="p">)</span>
2014-
<span class="go">2.0</span>
2004+
<span class="go">5.0</span>
20152005
</pre></div>
20162006
</div>
20172007
</section>

0 commit comments

Comments
 (0)