Skip to content

Commit e7b7430

Browse files
authored
Merge pull request #54 from matsengrp/mlepatch
Mlepatch
2 parents e10d7a3 + 3ac24e8 commit e7b7430

9 files changed

+312
-308
lines changed

Diff for: docs/_images/gctree.out.inference.abundance_rank.svg

+60-60
Loading

Diff for: docs/_images/gctree.out.inference.likelihood_rank.svg

+234-234
Loading

Diff for: docs/_modules/gctree/branching_processes.html

+7-5
Original file line numberDiff line numberDiff line change
@@ -511,7 +511,7 @@ <h1>Source code for gctree.branching_processes</h1><div class="highlight"><pre>
511511
<span class="sd"> Returns:</span>
512512
<span class="sd"> Tuple :math:`(p, q)` with estimated branching probability and estimated mutation probability</span>
513513
<span class="sd"> &quot;&quot;&quot;</span>
514-
<span class="k">return</span> <span class="n">_mle_helper</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ll</span><span class="p">)</span></div>
514+
<span class="k">return</span> <span class="n">_mle_helper</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ll</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div>
515515

516516
<div class="viewcode-block" id="CollapsedTree.simulate"><a class="viewcode-back" href="../../stubs/gctree.CollapsedTree.html#gctree.CollapsedTree.simulate">[docs]</a> <span class="k">def</span> <span class="nf">simulate</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">p</span><span class="p">:</span> <span class="n">np</span><span class="o">.</span><span class="n">float64</span><span class="p">,</span> <span class="n">q</span><span class="p">:</span> <span class="n">np</span><span class="o">.</span><span class="n">float64</span><span class="p">,</span> <span class="n">root</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">):</span>
517517
<span class="sa">r</span><span class="sd">&quot;&quot;&quot;Simulate a collapsed tree as an infinite type Galton-Watson process</span>
@@ -627,7 +627,9 @@ <h1>Source code for gctree.branching_processes</h1><div class="highlight"><pre>
627627
<span class="n">nstyle</span> <span class="o">=</span> <span class="n">ete3</span><span class="o">.</span><span class="n">NodeStyle</span><span class="p">()</span>
628628
<span class="n">nstyle</span><span class="p">[</span><span class="s2">&quot;size&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="mi">0</span>
629629
<span class="k">if</span> <span class="n">node</span><span class="o">.</span><span class="n">up</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
630-
<span class="k">if</span> <span class="nb">set</span><span class="p">(</span><span class="n">node</span><span class="o">.</span><span class="n">sequence</span><span class="o">.</span><span class="n">upper</span><span class="p">())</span> <span class="o">==</span> <span class="nb">set</span><span class="p">(</span><span class="s2">&quot;ACGT&quot;</span><span class="p">):</span>
630+
<span class="k">if</span> <span class="s2">&quot;sequence&quot;</span> <span class="ow">in</span> <span class="n">tree_copy</span><span class="o">.</span><span class="n">features</span> <span class="ow">and</span> <span class="nb">set</span><span class="p">(</span>
631+
<span class="n">node</span><span class="o">.</span><span class="n">sequence</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
632+
<span class="p">)</span> <span class="o">==</span> <span class="nb">set</span><span class="p">(</span><span class="s2">&quot;ACGT&quot;</span><span class="p">):</span>
631633
<span class="k">if</span> <span class="n">frame</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
632634
<span class="k">if</span> <span class="n">chain_split</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="ow">and</span> <span class="n">frame2</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
633635
<span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
@@ -699,7 +701,6 @@ <h1>Source code for gctree.branching_processes</h1><div class="highlight"><pre>
699701
<span class="n">ts</span><span class="o">.</span><span class="n">layout_fn</span> <span class="o">=</span> <span class="n">my_layout</span>
700702
<span class="n">ts</span><span class="o">.</span><span class="n">show_scale</span> <span class="o">=</span> <span class="kc">False</span>
701703
<span class="n">ts</span><span class="o">.</span><span class="n">show_branch_support</span> <span class="o">=</span> <span class="n">show_support</span>
702-
<span class="n">tree_copy</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">outfile</span><span class="p">,</span> <span class="n">tree_style</span><span class="o">=</span><span class="n">ts</span><span class="p">)</span>
703704
<span class="c1"># if we labelled seqs, let&#39;s also write the alignment out so we have</span>
704705
<span class="c1"># the sequences (including of internal nodes)</span>
705706
<span class="k">if</span> <span class="n">idlabel</span><span class="p">:</span>
@@ -714,7 +715,8 @@ <h1>Source code for gctree.branching_processes</h1><div class="highlight"><pre>
714715
<span class="p">)</span>
715716
<span class="n">AlignIO</span><span class="o">.</span><span class="n">write</span><span class="p">(</span>
716717
<span class="n">aln</span><span class="p">,</span> <span class="nb">open</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">splitext</span><span class="p">(</span><span class="n">outfile</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="s2">&quot;.fasta&quot;</span><span class="p">,</span> <span class="s2">&quot;w&quot;</span><span class="p">),</span> <span class="s2">&quot;fasta&quot;</span>
717-
<span class="p">)</span></div>
718+
<span class="p">)</span>
719+
<span class="k">return</span> <span class="n">tree_copy</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">outfile</span><span class="p">,</span> <span class="n">tree_style</span><span class="o">=</span><span class="n">ts</span><span class="p">)</span></div>
718720

719721
<div class="viewcode-block" id="CollapsedTree.write"><a class="viewcode-back" href="../../stubs/gctree.CollapsedTree.html#gctree.CollapsedTree.write">[docs]</a> <span class="k">def</span> <span class="nf">write</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">file_name</span><span class="p">:</span> <span class="nb">str</span><span class="p">):</span>
720722
<span class="sa">r</span><span class="sd">&quot;&quot;&quot;Serialize to pickle file.</span>
@@ -1003,7 +1005,7 @@ <h1>Source code for gctree.branching_processes</h1><div class="highlight"><pre>
10031005
<span class="k">return</span> <span class="n">ls</span><span class="o">.</span><span class="n">sum</span><span class="p">(),</span> <span class="n">grad_ls</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">axis</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span></div>
10041006

10051007
<div class="viewcode-block" id="CollapsedForest.mle"><a class="viewcode-back" href="../../stubs/gctree.CollapsedForest.html#gctree.CollapsedForest.mle">[docs]</a> <span class="k">def</span> <span class="nf">mle</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Tuple</span><span class="p">[</span><span class="n">np</span><span class="o">.</span><span class="n">float64</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">float64</span><span class="p">]:</span>
1006-
<span class="k">return</span> <span class="n">_mle_helper</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ll</span><span class="p">)</span></div>
1008+
<span class="k">return</span> <span class="n">_mle_helper</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ll</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div>
10071009

10081010
<span class="n">mle</span><span class="o">.</span><span class="vm">__doc__</span> <span class="o">=</span> <span class="n">CollapsedTree</span><span class="o">.</span><span class="n">mle</span><span class="o">.</span><span class="vm">__doc__</span>
10091011

Diff for: docs/_modules/gctree/mutation_model.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -472,7 +472,7 @@ <h1>Source code for gctree.mutation_model</h1><div class="highlight"><pre>
472472
<span class="n">child</span><span class="o">.</span><span class="n">add_feature</span><span class="p">(</span><span class="s2">&quot;time&quot;</span><span class="p">,</span> <span class="n">t</span><span class="p">)</span>
473473
<span class="n">leaf</span><span class="o">.</span><span class="n">add_child</span><span class="p">(</span><span class="n">child</span><span class="p">)</span>
474474

475-
<span class="k">if</span> <span class="n">leaves_unterminated</span> <span class="o">&lt;</span> <span class="n">N</span><span class="p">:</span>
475+
<span class="k">if</span> <span class="n">N</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="ow">and</span> <span class="n">leaves_unterminated</span> <span class="o">&lt;</span> <span class="n">N</span><span class="p">:</span>
476476
<span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span>
477477
<span class="s2">&quot;tree terminated with </span><span class="si">{}</span><span class="s2"> leaves, </span><span class="si">{}</span><span class="s2"> desired&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span>
478478
<span class="n">leaves_unterminated</span><span class="p">,</span> <span class="n">N</span>

Diff for: docs/_sources/developer.rst.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Lint::
2222

2323
make lint
2424

25-
Build docs locally (you can then see the generated documentation in ``docs/_build/index.html``.)::
25+
Build docs locally (you can then see the generated documentation in ``docsrc/_build/html/index.html``.)::
2626

2727
make docs
2828

Diff for: docs/developer.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ <h1>Developer tools<a class="headerlink" href="#developer-tools" title="Permalin
197197
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">make</span> <span class="n">lint</span>
198198
</pre></div>
199199
</div>
200-
<p>Build docs locally (you can then see the generated documentation in <code class="docutils literal notranslate"><span class="pre">docs/_build/index.html</span></code>.):</p>
200+
<p>Build docs locally (you can then see the generated documentation in <code class="docutils literal notranslate"><span class="pre">docsrc/_build/html/index.html</span></code>.):</p>
201201
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">make</span> <span class="n">docs</span>
202202
</pre></div>
203203
</div>

Diff for: docsrc/developer.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Lint::
2222

2323
make lint
2424

25-
Build docs locally (you can then see the generated documentation in ``docs/_build/index.html``.)::
25+
Build docs locally (you can then see the generated documentation in ``docsrc/_build/html/index.html``.)::
2626

2727
make docs
2828

Diff for: gctree/branching_processes.py

+6-4
Original file line numberDiff line numberDiff line change
@@ -334,7 +334,7 @@ def mle(self, **kwargs) -> Tuple[np.float64, np.float64]:
334334
Returns:
335335
Tuple :math:`(p, q)` with estimated branching probability and estimated mutation probability
336336
"""
337-
return _mle_helper(self.ll)
337+
return _mle_helper(self.ll, **kwargs)
338338

339339
def simulate(self, p: np.float64, q: np.float64, root: bool = True):
340340
r"""Simulate a collapsed tree as an infinite type Galton-Watson process
@@ -450,7 +450,9 @@ def my_layout(node):
450450
nstyle = ete3.NodeStyle()
451451
nstyle["size"] = 0
452452
if node.up is not None:
453-
if set(node.sequence.upper()) == set("ACGT"):
453+
if "sequence" in tree_copy.features and set(
454+
node.sequence.upper()
455+
) == set("ACGT"):
454456
if frame is not None:
455457
if chain_split is not None and frame2 is None:
456458
raise ValueError(
@@ -522,7 +524,6 @@ def my_layout(node):
522524
ts.layout_fn = my_layout
523525
ts.show_scale = False
524526
ts.show_branch_support = show_support
525-
tree_copy.render(outfile, tree_style=ts)
526527
# if we labelled seqs, let's also write the alignment out so we have
527528
# the sequences (including of internal nodes)
528529
if idlabel:
@@ -538,6 +539,7 @@ def my_layout(node):
538539
AlignIO.write(
539540
aln, open(os.path.splitext(outfile)[0] + ".fasta", "w"), "fasta"
540541
)
542+
return tree_copy.render(outfile, tree_style=ts)
541543

542544
def write(self, file_name: str):
543545
r"""Serialize to pickle file.
@@ -826,7 +828,7 @@ def ll(
826828
return ls.sum(), grad_ls.sum(axis=0)
827829

828830
def mle(self, **kwargs) -> Tuple[np.float64, np.float64]:
829-
return _mle_helper(self.ll)
831+
return _mle_helper(self.ll, **kwargs)
830832

831833
mle.__doc__ = CollapsedTree.mle.__doc__
832834

Diff for: gctree/mutation_model.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ def simulate(
295295
child.add_feature("time", t)
296296
leaf.add_child(child)
297297

298-
if leaves_unterminated < N:
298+
if N is not None and leaves_unterminated < N:
299299
raise RuntimeError(
300300
"tree terminated with {} leaves, {} desired".format(
301301
leaves_unterminated, N

0 commit comments

Comments
 (0)