Repository 'hyphy_fubar'
hg clone https://toolshed.g2.bx.psu.edu/repos/iuc/hyphy_fubar

Changeset 1:0f108ee932ea (2019-08-21)
Previous changeset 0:fe399429a5d2 (2019-01-17) Next changeset 2:6943fbec145c (2020-02-13)
Commit message:
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2c7a7ff8a55e7584e84335baa3159a63ce7a590c"
modified:
hyphy_fubar.xml
macros.xml
test-data/fubar-out1.json
test-data/meme-in1.fa
test-data/meme-in1.nhx
test-data/meme-out1.json
added:
test-data/bgm-in1.fa
test-data/bgm-in1.nhx
test-data/bgm-out1.json
test-data/fade-in1.fa
test-data/fade-in1.nhx
test-data/fade-out1.json
test-data/gard-in1.fa
test-data/gard-out1.json
test-data/gard-out1.nex
test-data/relax-in1.fa
test-data/relax-in1.nhx
test-data/relax-in2.nhx
test-data/relax-out1.json
test-data/sm19-in1.nhx
test-data/sm19-in2.nhx
test-data/sm19-out1.json
test-data/sm19-out2.json
b
diff -r fe399429a5d2 -r 0f108ee932ea hyphy_fubar.xml
--- a/hyphy_fubar.xml Thu Jan 17 04:22:54 2019 -0500
+++ b/hyphy_fubar.xml Wed Aug 21 12:24:34 2019 -0400
[
@@ -4,59 +4,55 @@
     <macros>
         <import>macros.xml</import>
     </macros>
-    <expand macro="requirements" />
-    <expand macro="version_command" />
-    <command detect_errors="exit_code">
-    <![CDATA[
-    ln -s '$input_file' fubar_input.fa &&
-    ln -s '$input_nhx' fubar_input.nhx &&
-    echo $gencodeid > tool_params &&
-    echo `pwd`/fubar_input.fa >> tool_params &&
-    echo `pwd`/fubar_input.nhx >> tool_params &&
-    echo '$grid_points' >> tool_params &&
-    echo '$posterior' >> tool_params &&
-    echo '$mcmc' >> tool_params &&
-    echo '$chain_length' >> tool_params &&
-    echo '$samples' >> tool_params &&
-    echo '$samples_per_chain' >> tool_params &&
-    echo '$concentration' >> tool_params &&
-    @HYPHY_INVOCATION@ \$HYPHY_LIB/TemplateBatchFiles/SelectionAnalyses/FUBAR.bf > '$fubar_log'
-    ]]>
-    </command>
+    <expand macro="requirements"/>
+    <command detect_errors="exit_code"><![CDATA[
+        ln -s '$input_file' fubar_input.fa &&
+        ln -s '$input_nhx' fubar_input.nhx &&
+        @HYPHY_INVOCATION@ fubar
+            --alignment ./fubar_input.fa
+            --tree ./fubar_input.nhx
+            --code '$gencodeid'
+            --method '$posterior'
+            --grid '$grid_points'
+            --chains '$mcmc'
+            --chain-length '$chain_length'
+            --burn-in '$samples'
+            --samples '$samples_per_chain'
+            --concentration_parameter '$concentration'
+            > '$fubar_log'
+    ]]></command>
     <inputs>
-        <expand macro="inputs" />
-        <expand macro="gencode" />
-        <param name="grid_points" type="integer" value="20" min="5" max="50" label="Grid points" />
+        <expand macro="inputs"/>
+        <expand macro="gencode"/>
+        <param name="grid_points" type="integer" value="20" min="5" max="50" label="Grid points"/>
         <param name="posterior" type="select" label="Posterior estimation method">
-            <option value="1">Full Metropolis-Hastings MCMC algorithm</option>
-            <option value="2">Collapsed Gibbs sampler</option>
-            <option value="3">0-th order Variational Bayes approximations</option>
+            <option value="Metropolis-Hastings">Full Metropolis-Hastings MCMC algorithm</option>
+            <option value="Collapsed-Gibbs">Collapsed Gibbs sampler</option>
+            <option value="Variational-Bayes">0-th order Variational Bayes approximations</option>
         </param>
-        <param name="mcmc" type="integer" value="5" min="2" max="20" label="Number of MCMC chains" />
-        <param name="chain_length" type="integer" value="2000000" min="500000" max="50000000" label="Length of each chain" />
-        <param name="samples" type="integer" value="1000000" min="100000" max="1900000" label="Samples to use for burn-in" />
-        <param name="samples_per_chain" type="integer" value="100" min="50" max="1000000" label="Samples to draw from each chain" />
-        <param name="concentration" type="float" value="0.5" min="0.001" max="1" label="Concentration parameter of the Dirichlet prior" />
+        <param name="mcmc" type="integer" value="5" min="2" max="20" label="Number of MCMC chains"/>
+        <param name="chain_length" type="integer" value="2000000" min="500000" max="50000000" label="Length of each chain"/>
+        <param name="samples" type="integer" value="1000000" min="100000" max="1900000" label="Samples to use for burn-in"/>
+        <param name="samples_per_chain" type="integer" value="100" min="50" max="1000000" label="Samples to draw from each chain"/>
+        <param name="concentration" type="float" value="0.5" min="0.001" max="1" label="Concentration parameter of the Dirichlet prior"/>
     </inputs>
     <outputs>
-        <data name="fubar_log" format="txt" />
-        <data name="fubar_output" format="json" from_work_dir="fubar_input.fa.FUBAR.json" />
+        <data name="fubar_log" format="txt"/>
+        <data name="fubar_output" format="hyphy_results.json" from_work_dir="fubar_input.fa.FUBAR.json"/>
     </outputs>
     <tests>
         <test>
-            <param name="input_file" ftype="fasta" value="fubar-in1.fa" />
-            <param name="input_nhx" ftype="nhx" value="fubar-in1.nhx" />
-            <param name="posterior" value="1" />
-            <output name="fubar_output" file="fubar-out1.json" compare="sim_size" />
+            <param name="input_file" ftype="fasta" value="fubar-in1.fa"/>
+            <param name="input_nhx" ftype="nhx" value="fubar-in1.nhx"/>
+            <param name="posterior" value="Variational-Bayes"/>
+            <output name="fubar_output" file="fubar-out1.json" compare="sim_size"/>
         </test>
     </tests>
-    <help>
-        <![CDATA[
+    <help><![CDATA[
 Model-based selection analyses (such as those performed by PAML and HyPhy) can be slow, becoming impractical for large alignments. We present a method to model and detect selection much faster than existing methods and to leverage Bayesian MCMC to robustly account for parameter estimation errors.
 
 Results: By exploiting some commonly used approximations, FUBAR can perform detection of positive selection under a model that allows rich site- to-site rate variation about 30 to 50 times faster than existing random effects likelihood methods, and 10 to 30 times faster than existing fixed effects likelihood methods. We introduce an ultra-fast MCMC routine that allows a flexible prior specification, with no parametric constraints on the prior shape. Furthermore, our method allows us to visualize Bayesian inference for each site, revealing the model supported by the data.
-        ]]>
-    </help>
+    ]]></help>
     <expand macro="citations">
         <citation type="doi">10.1093/molbev/mst030</citation>
     </expand>
b
diff -r fe399429a5d2 -r 0f108ee932ea macros.xml
--- a/macros.xml Thu Jan 17 04:22:54 2019 -0500
+++ b/macros.xml Wed Aug 21 12:24:34 2019 -0400
[
@@ -1,57 +1,87 @@
 <?xml version="1.0"?>
 <macros>
     <xml name="inputs">
-        <param name="input_file" type="data" format="fasta" label="Input FASTA file" />
-        <param name="input_nhx" type="data" format="nhx" label="Input newick file" />
+        <param name="input_file" type="data" format="fasta" label="Input FASTA file"/>
+        <param name="input_nhx" type="data" format="nhx" label="Input newick file"/>
+    </xml>
+    <xml name="substitution">
+        <param name="model" type="select" label="Substitution model">
+            <option value="LG">LG - Generalist empirical model from
+            Le and Gascuel (2008)</option>
+            <option value="HIVBm">HIVBm - Specialist empirical model
+            for between-host HIV sequences</option>
+            <option value="HIVWm">HIVWm - Specialist empirical model
+            for within-host HIV sequences</option>
+            <option value="WAG">WAG - Generalist empirical model from
+            Whelan and Goldman (2001)</option>
+            <option value="JTT">JTT - Generalist empirical model from
+            Jones, Taylor, and Thornton (1996)</option>
+            <option value="JC69">JC69 - Generalist empirical model
+            from with equal exchangeability rates</option>
+            <option value="mtMet">mtMet - Specialist empirical model
+            for metazoan mitochondrial genomes</option>
+            <option value="mtVer">mtVer - Specialist empirical model
+            for vertebrate mitochondrial genomes</option>
+            <option value="mtInv">mtInv - Specialist empirical model
+            for invertebrate mitochondrial genomes</option>
+            <option value="gcpREV">gcpREV - Specialist empirical
+            model for green plant chloroplast genomes</option>
+            <option value="GTR">GTR - General time reversible
+            model</option>
+        </param>
     </xml>
     <xml name="gencode">
         <param name="gencodeid" type="select" label="Genetic code">
-            <option value="1">Universal code</option>
-            <option value="2">Vertebrate mitochondrial DNA code</option>
-            <option value="3">Yeast mitochondrial DNA code</option>
-            <option value="4">Mold, Protozoan and Coelenterate mt; Mycloplasma/Spiroplasma</option>
-            <option value="5">Invertebrate mitochondrial DNA code</option>
-            <option value="6">Ciliate, Dasycladacean and Hexamita Nuclear code</option>
-            <option value="7">Echinoderm mitochondrial DNA code</option>
-            <option value="8">Euplotid Nuclear code</option>
-            <option value="9">Alternative Yeast Nuclear code</option>
-            <option value="10">Ascidian mitochondrial DNA code</option>
-            <option value="11">Flatworm mitochondrial DNA code</option>
-            <option value="12">Blepharisma Nuclear code</option>
+            <option value="Universal">Universal code</option>
+            <option value="Vertebrate-mtDNA">Vertebrate mitochondrial DNA
+            code</option>
+            <option value="Yeast-mtDNA">Yeast mitochondrial DNA
+            code</option>
+            <option value="Mold-Protozoan-mtDNA">Mold, Protozoan and
+            Coelenterate mt; Mycloplasma/Spiroplasma</option>
+            <option value="Invertebrate-mtDNA">Invertebrate mitochondrial
+            DNA code</option>
+            <option value="Ciliate-Nuclear">Ciliate, Dasycladacean and
+            Hexamita Nuclear code</option>
+            <option value="Echinoderm-mtDNA">Echinoderm mitochondrial DNA
+            code</option>
+            <option value="Euplotid-Nuclear">Euplotid Nuclear
+            code</option>
+            <option value="Alt-Yeast-Nuclear">Alternative Yeast Nuclear
+            code</option>
+            <option value="Ascidian-mtDNA">Ascidian mitochondrial DNA
+            code</option>
+            <option value="Flatworm-mtDNA">Flatworm mitochondrial DNA
+            code</option>
+            <option value="Blepharisma-Nuclear">Blepharisma Nuclear
+            code</option>
         </param>
     </xml>
     <xml name="branches">
         <param name="branches" type="select" label="Set of branches to test">
-            <option value="1">All branches</option>
-            <option value="2">Internal branches</option>
-            <option value="3">Leaf branches</option>
-            <option value="4">Unlabeled branches</option>
+            <option value="All">All branches</option>
+            <option value="Internal">Internal branches</option>
+            <option value="Leaves">Leaf branches</option>
+            <option value="'Unlabeled-branches'">Unlabeled
+            branches</option>
         </param>
     </xml>
-    <xml name="version_command">
-        <version_command>HYPHYMP --version | tail -n 1 | awk '{print $1}'</version_command>
-    </xml>
     <xml name="citations">
         <citations>
             <citation type="doi">10.1093/bioinformatics/bti079</citation>
-            <yield />
+            <yield/>
         </citations>
     </xml>
-    <token name="@VERSION@">2.3.14</token>
+    <token name="@VERSION@">2.5.0</token>
     <xml name="requirements">
         <requirements>
-            <requirement type="package" version="@VERSION@">hyphy</requirement>
-            <yield />
+            <requirement type="package" version="@VERSION@">
+            hyphy</requirement>
+            <yield/>
         </requirements>
     </xml>
-    <token name="@HYPHY_INVOCATION@"><![CDATA[export HYPHY=`which HYPHYMP` &&
+    <token name="@HYPHY_ENVIRONMENT@"><![CDATA[export HYPHY=`which hyphy` &&
 export HYPHY_PATH=`dirname \$HYPHY` &&
-export HYPHY_LIB=`readlink -f \$HYPHY_PATH/../lib/hyphy` &&
-cat tool_params | HYPHYMP LIBPATH=\$HYPHY_LIB ]]>
-    </token>
-    <token name="@HYPHYMPI_INVOCATION@"><![CDATA[export HYPHY=`which HYPHYMP` &&
-export HYPHY_PATH=`dirname \$HYPHY` &&
-export HYPHY_LIB=`readlink -f \$HYPHY_PATH/../lib/hyphy` &&
-cat tool_params | mpirun -np \${GALAXY_SLOTS:-1} HYPHYMPI LIBPATH=\$HYPHY_LIB ]]>
-    </token>
-</macros>
\ No newline at end of file
+export HYPHY_LIB=`readlink -f \$HYPHY_PATH/../lib/hyphy` &&]]></token>
+    <token name="@HYPHY_INVOCATION@"><![CDATA[@HYPHY_ENVIRONMENT@ hyphy LIBPATH=\$HYPHY_LIB ]]></token>
+</macros>
b
diff -r fe399429a5d2 -r 0f108ee932ea test-data/bgm-in1.fa
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/bgm-in1.fa Wed Aug 21 12:24:34 2019 -0400
b
@@ -0,0 +1,20 @@
+>Human
+GCACAATTCAGAAAAGAGAAAGAGACTTTC
+>Chimp
+GCACAATTCAGAAAAGAGAAAGAGACTTTC
+>Baboon
+GCACAATTCAGAAAAGAGAAGGAGACTTTC
+>RhMonkey
+GCACAATTCAGAAAAGAGAAGGAGACTTTC
+>Cow
+GCACGAATAAAGAAAGATATGCCACTTCAC
+>Pig
+GCAGAATTTAAAAAAAACAAAGAAACTCAC
+>Horse
+GCAAAATTCAAAAATGGCAGTATGACTTTC
+>Cat
+GCGAGGTTCCAAATTAGCAACAAGCCTAAG
+>Mouse
+GCAGAGTTTAAAAGGAAGAAGCCACCTTTT
+>Rat
+GCCGAGTTTAAAAGGAAGATGAAGCCTTTT
b
diff -r fe399429a5d2 -r 0f108ee932ea test-data/bgm-in1.nhx
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/bgm-in1.nhx Wed Aug 21 12:24:34 2019 -0400
b
@@ -0,0 +1,1 @@
+((((Pig:0.147969,Cow:0.213430):0.085099,Horse:0.165787,Cat:0.264806):0.058611,((RhMonkey:0.002015,Baboon:0.003108):0.022733,(Human:0.004349,Chimp:0.000799):0.011873):0.101856):0.340802,Rat:0.050958,Mouse:0.097950);
b
diff -r fe399429a5d2 -r 0f108ee932ea test-data/bgm-out1.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/bgm-out1.json Wed Aug 21 12:24:34 2019 -0400
[
b'@@ -0,0 +1,408 @@\n+{\n+ "MLE":{\n+   "content":    [\n+[3, 4, 0.01806536842133838, 0.0196151052739404, 0.03768047369527878, 2, 4, 1],\n+    [3, 5, 0.0136689326165866, 0.08411879896894461, 0.09778773158553121, 2, 2, 1],\n+    [3, 6, 0.01626880980001384, 0.05621779910581199, 0.07248660890582583, 2, 2, 1],\n+    [3, 7, 0.01296085994820069, 0.02206081801264715, 0.03502167796084783, 2, 1, 0],\n+    [3, 9, 0.01069476203525126, 0.01376808584576788, 0.02446284788101914, 2, 3, 0],\n+    [3, 10, 0.05465425513197631, 0.1433115560788012, 0.1979658112107776, 2, 1, 1],\n+    [3, 11, 0.02893963856420952, 0.01605584764833427, 0.04499548621254379, 2, 1, 0],\n+    [3, 12, 0.01072516405613842, 0.0249434485528662, 0.03566861260900463, 2, 1, 0],\n+    [3, 14, 0.02105948857071199, 0.05408645518169206, 0.07514594375240405, 2, 2, 1],\n+    [3, 15, 0.0123000231875007, 0.02432900062064017, 0.03662902380814088, 2, 3, 1],\n+    [3, 16, 0.005326227185235535, 0.02715178476956077, 0.0324780119547963, 2, 4, 1],\n+    [3, 17, 0.03377277022598092, 0.04443847194728315, 0.07821124217326408, 2, 2, 1],\n+    [3, 18, 0.01498654024671119, 0.01399705284721538, 0.02898359309392656, 2, 2, 0],\n+    [3, 20, 0.03160117895292701, 0.03379356385898681, 0.06539474281191382, 2, 3, 1],\n+    [3, 21, 0.005825814343840907, 0.01762290041418722, 0.02344871475802813, 2, 5, 1],\n+    [3, 22, 0.004808842565391303, 0.01857986311191453, 0.02338870567730583, 2, 5, 1],\n+    [3, 23, 0.01560225549428971, 0.01369335589628938, 0.02929561139057909, 2, 3, 0],\n+    [3, 24, 0.02796792379060828, 0.0120172661798151, 0.03998518997042338, 2, 2, 0],\n+    [3, 25, 0.004879890854338218, 0.05174659736268138, 0.05662648821701959, 2, 3, 1],\n+    [3, 26, 0.008542556433088364, 0.02342067235707167, 0.03196322879016003, 2, 1, 0],\n+    [3, 28, 0.02842598870361674, 0.04882702442678508, 0.07725301313040182, 2, 2, 1],\n+    [3, 29, 0.02983611705240465, 0.04834281650968934, 0.07817893356209399, 2, 2, 1],\n+    [3, 30, 0.02136530753356511, 0.056551049600131, 0.0779163571336961, 2, 2, 1],\n+    [4, 5, 0.04128639081201998, 0.1643521228119713, 0.2056385136239913, 4, 2, 2],\n+    [4, 6, 0.002891680521324363, 0.02014100082658794, 0.0230326813479123, 4, 2, 1],\n+    [4, 7, 0.01937071123900217, 0.03955420345740617, 0.05892491469640834, 4, 1, 1],\n+    [4, 9, 0.005876622911646858, 0.01316366694762399, 0.01904028985927084, 4, 3, 1],\n+    [4, 10, 0.02063883956421052, 0.03235708509290364, 0.05299592465711416, 4, 1, 1],\n+    [4, 11, 0.05646705485150577, 0.03046422064113512, 0.08693127549264089, 4, 1, 1],\n+    [4, 12, 0.018550325874111, 0.04456585108483763, 0.06311617695894862, 4, 1, 1],\n+    [4, 14, 0.002644483178150749, 0.02400887432195999, 0.02665335750011074, 4, 2, 1],\n+    [4, 15, 0.01378625971212575, 0.03709407143284885, 0.05088033114497461, 4, 3, 2],\n+    [4, 16, 0.005366210549264398, 0.0254419855729714, 0.03080819612223579, 4, 4, 2],\n+    [4, 17, 0.08506807888824773, 0.08873474434715359, 0.1738028232354013, 4, 2, 2],\n+    [4, 18, 0.01666065271395927, 0.01550783907099662, 0.03216849178495589, 4, 2, 1],\n+    [4, 20, 0.0602710511807769, 0.03562465630098035, 0.09589570748175724, 4, 3, 2],\n+    [4, 21, 0.03064565490801606, 0.06355132795273535, 0.09419698286075141, 4, 5, 3],\n+    [4, 22, 0.02451199601165472, 0.07489768093572295, 0.09940967694737768, 4, 5, 3],\n+    [4, 23, 0.03630394203907011, 0.03058821944652209, 0.06689216148559221, 4, 3, 2],\n+    [4, 24, 0.02164778178638001, 0.008961778863845419, 0.03060956065022543, 4, 2, 0],\n+    [4, 25, 0.01168690527839325, 0.07747501344981376, 0.08916191872820702, 4, 3, 2],\n+    [4, 26, 0.01588288283660194, 0.04096522221306678, 0.05684810504966872, 4, 1, 1],\n+    [4, 28, 0.01128665086452497, 0.01582662360389917, 0.02711327446842414, 4, 2, 1],\n+    [4, 29, 0.01028593387764938, 0.01547886135935664, 0.02576479523700602, 4, 2, 1],\n+    [4, 30, 0.004517730197507495, 0.02179721676324585, 0.02631494696075334, 4, 2, 1],\n+    [5, 6, 0.01349845941886215, 0.0271001713778612, 0.04059863079672335, 2, 2, 1],\n+    [5, 7, 0.0'..b'stitution counts inferred for Site 2"],\n+    ["Shared subs", "Substitutions shared by both sites"] \n+    ]\n+  },\n+ "analysis":{\n+   "authors":"Art FY Poon, Fraser I Lewis, Simon DW Frost and Sergei L Kosakovsky Pond",\n+   "citation":"Spidermonkey: rapid detection of co-evolving sites using Bayesian graphical models (2008). _Bioinformatics_ 24(17): 1949-1950",\n+   "contact":"apoon42@uwo.ca",\n+   "info":"BGM (Bayesian Graphical Model) uses a maximum likelihood ancestral state reconstruction to\\nmap substitution (non-synonymous only for coding data) events to branches in the\\nphylogeny and then analyzes the joint distribution of the\\nsubstitution map using a Bayesian graphical model (network).\\nNext, a Markov chain Monte Carlo analysis is used to generate\\na random sample of network structures from the posterior\\ndistribution given the data.  Each node in the network\\nrepresents a codon site in the alignment, and links (edges)\\nbetween nodes indicate high posterior support for correlated\\nsubstitutions at the two sites over time, which implies coevolution.",\n+   "requirements":"in-frame codon alignment and a phylogenetic tree",\n+   "version":"1.1"\n+  },\n+ "branch attributes":{\n+   "0":{\n+     "Baboon":{\n+       "models.DNA.GTR.ModelDescription":0\n+      },\n+     "Cat":{\n+       "models.DNA.GTR.ModelDescription":0.7933191636859576\n+      },\n+     "Chimp":{\n+       "models.DNA.GTR.ModelDescription":0\n+      },\n+     "Cow":{\n+       "models.DNA.GTR.ModelDescription":0.8094119333244753\n+      },\n+     "Horse":{\n+       "models.DNA.GTR.ModelDescription":0.2769077630163064\n+      },\n+     "Human":{\n+       "models.DNA.GTR.ModelDescription":0\n+      },\n+     "Mouse":{\n+       "models.DNA.GTR.ModelDescription":0.1094921058577506\n+      },\n+     "Node1":{\n+       "models.DNA.GTR.ModelDescription":0.4820782253393885\n+      },\n+     "Node12":{\n+       "models.DNA.GTR.ModelDescription":0\n+      },\n+     "Node2":{\n+       "models.DNA.GTR.ModelDescription":0.08259105925424247\n+      },\n+     "Node3":{\n+       "models.DNA.GTR.ModelDescription":0.2526911684326281\n+      },\n+     "Node8":{\n+       "models.DNA.GTR.ModelDescription":0.06531857233184223\n+      },\n+     "Node9":{\n+       "models.DNA.GTR.ModelDescription":0.03361817454867485\n+      },\n+     "Pig":{\n+       "models.DNA.GTR.ModelDescription":0\n+      },\n+     "Rat":{\n+       "models.DNA.GTR.ModelDescription":0.0888784436278628\n+      },\n+     "RhMonkey":{\n+       "models.DNA.GTR.ModelDescription":0\n+      }\n+    },\n+   "attributes":{\n+     "models.DNA.GTR.ModelDescription":{\n+       "attribute type":"branch length",\n+       "display order":0\n+      }\n+    }\n+  },\n+ "data partitions":{\n+   "0":{\n+     "coverage":      [\n+[0, 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] \n+      ],\n+     "name":"bgm.filter.default"\n+    }\n+  },\n+ "fits":{\n+   "models.DNA.GTR.ModelDescription":{\n+     "AIC-c":472.7691802214979,\n+     "Log Likelihood":-210.2027719289308,\n+     "Rate Distributions":null,\n+     "display order":0,\n+     "estimated parameters":24\n+    }\n+  },\n+ "input":{\n+   "datatype":"nucleotide",\n+   "file name":"/tmp/tmpSz4m4X/job_working_directory/000/3/working/bgm_input.fa",\n+   "number of sequences":10,\n+   "number of sites":30,\n+   "trees":{\n+     "0":"((((Pig:0.147969,Cow:0.21343)Node3:0.08509899999999999,Horse:0.165787,Cat:0.264806)Node2:0.058611,((RhMonkey:0.002015,Baboon:0.003108)Node9:0.022733,(Human:0.004349,Chimp:0.000799)Node12:0.011873)Node8:0.101856)Node1:0.340802,Rat:0.050958,Mouse:0.09795)"\n+    }\n+  },\n+ "settings":{\n+   "burn-in":10000,\n+   "data-type":"nucleotide",\n+   "max-parents":1,\n+   "min-subs":1,\n+   "samples":100,\n+   "steps":100000,\n+   "threshold":0.5\n+  },\n+ "tested":0,\n+ "timers":{\n+   "Baseline fit":{\n+     "order":1,\n+     "timer":0\n+    },\n+   "Network inference":{\n+     "order":2,\n+     "timer":1\n+    },\n+   "Overall":{\n+     "order":0,\n+     "timer":1\n+    }\n+  }\n+}\n\\ No newline at end of file\n'
b
diff -r fe399429a5d2 -r 0f108ee932ea test-data/fade-in1.fa
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fade-in1.fa Wed Aug 21 12:24:34 2019 -0400
b
@@ -0,0 +1,50 @@
+>Human
+KEITNALETWGALGQDINLDIPSFQMSDDIDDIKWEKTSDKKKIAQFRKEKETFKEKDTY
+KLFKNGTLKIKH-LKTDDQDIYKVSIYDTKGKNVLEKIFDLKIQERVSKPKISWTCINTT
+LTCEVMNGTDPELNLYQDGKHLK-LSQRVITHKWTTSLSAKFKCTAGNKVSKESSVEPVS
+CPEKGLD
+>Chimp
+EEITNALETWGALGQDINLDIPSFQMSDDIDDIKWEKTSDKKKIAQFRKEKETFKEKDTY
+KLFKNGTLKIKH-LKTDDQDIYKVSIYDTKGKNVLEKIFDLKIQERVSKPKISWTCINTT
+LTCEVMNGTDPELNLYQDGKHLK-LSQRVITHKWTTSLSAKFKCTAGNKVSKESSVEPVS
+CPEKGLD
+>Baboon
+KEIRNALETWGALGQDIDLDIPSFQMSDDIDDIKWEKTSDKKKIAQFRKEKETFEEKDAY
+KLFKNGTLKIKH-LKIHDQDSYKVSIYDTKGKNVLEKTFDLKIQERVSEPKISWTCINTT
+LTCEVMNGTDPELNLYQDGKHLK-LSQRVITHKWTTSLSAKFKCTAGNKVSKESRMETVS
+CPEKGLD
+>RhMonkey
+KEIRNALETWGALGQDIDLDIPSFQMSDDIDDIRWEKTSDKKKIAQFRKEKETFEEKDAY
+KLFKNGTLKXKH-LKIHDQDSYKVSIYDTKGKNVLEKTFDLKIQERVSEPKISWTCINTT
+LTCEVMNGTXPELNLYQDGKHVK-LSQRVITHKWTTSLSAKFKCTAGNKVSKESRMETVS
+CPEKGLD
+>Cow
+----ESIVVWGALDHDLNLDIPGFPRSDIVADIKWNR--NKNKIARIKKDMPLHNEMDKY
+DMFTNGTLKIKT-LMRNDSGLYEVEVYDSNGVNLLSKKFDLKIQEMLSGPEINWICTNRT
+VSCKVENGSNPKLQLFLNTTRVKQDHGKLITYTWNTRWNKTFKCVASNHVDSKVSIEIAV
+CPDEGLD
+>Pig
+-----TEVVWGIVDQDINLDIPELSKHDNVDHIRWQK--NENKIAEFKKNKETHPVKDTY
+MMLPNGTLRIKD-LKRDDEGIYKVTVYATDGKHMLERKFDLPILDGVSKPVISWSCADKT
+VTCEVAEGSDPKLKLYVNKSTAREGRQKVILWKWNTKWSTLFKCVASNNASEQISMVTIS
+CTGQGLD
+>Horse
+----KNITILGALERDINLDIPAFQMSEHVEDIQWSK--GKTKIAKFKNGSMTFQKDKTY
+EVLKNGTLKIKH-LERIHEGTYKVDAYDSDGKNVLEETFHLSLLEMVSKPNISWSCTNTT
+LTCEVTKGTDFELKLYLNGRMIQKSPRKVIVYKRASNQIASFKCTANNTVSEESSSVVIR
+CTEKGLD
+>Cat
+---ANDDIVWGTLGQDINLDIPDSQ-GINIDDIHWEK--GKKKVARFQISNKPKNPDEKY
+NVSMNGTLKIKH-LMLEDCDTYKVVIYDKDGKNVLDKTFQLKIQEKVSTPNIDWNCINKT
+LVCKVSNGTDPELKLYVNGTSIKPVSSKFSTYRFINKQKILVNCTAENKVSKESDVKMIT
+CSEKGLD
+>Mouse
+---RDNETIWGVLGHGITLNIPNFQMTDDIDEVRWVR--RGTLVAEFKRKKPPFLISETY
+EVLANGSLKIKKPMMRNDSGTYNVMVYGTNGMTRLEKDLDVRILERVSKPMIHWECPNTT
+LTCAVLQGTDFELKLYQGETLLNSLPQKNMSYQW-TNLNAPFKCEAINPVSKESKMEVVN
+CPEKGLS
+>Rat
+---RDSGTVWGALGHGINLNIPNFQMTDDIDEVRWER--GSTLVAEFKRKMKPFLKSGAF
+EILANGDLKIKN-LTRDDSGTYNVTVYSTNGTRILDKALDLRILEMVSKPMIYWECSNAT
+LTCEVLEGTDVELKLYQGKEHLRSLRQKTMSYQW-TNLRAPFKCKAVNRVSQESEMEVVN
+CPEKGLP
b
diff -r fe399429a5d2 -r 0f108ee932ea test-data/fade-in1.nhx
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fade-in1.nhx Wed Aug 21 12:24:34 2019 -0400
b
@@ -0,0 +1,1 @@
+(((((Pig:0.147969,Cow:0.213430):0.085099,Horse:0.165787,Cat:0.264806):0.058611,((RhMonkey:0.002015,Baboon:0.003108):0.022733,(Human:0.004349,Chimp:0.000799):0.011873):0.101856):0.340802,Rat:0.050958):0.1,Mouse:0.097950);
b
diff -r fe399429a5d2 -r 0f108ee932ea test-data/fade-out1.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fade-out1.json Wed Aug 21 12:24:34 2019 -0400
[
b'@@ -0,0 +1,4281 @@\n+{\n+ "MLE":{\n+   "content":{\n+     "A":{\n+       "0":        [\n+[11.51603702583788, 5.631258087856319, 0.9499945736517019, 1.039547845181838],\n+        [1.097681549705998, 5.630570600846716, 0.947706309872091, 0.9916649771782264],\n+        [1.539775545261955, 5.630630056322405, 0.9478739114757647, 0.9950294283968122],\n+        [1.667724788704626, 5.630719725601435, 0.9499994157127767, 1.039653814109997],\n+        [1.25847739711632, 5.630686152901463, 0.949999717667571, 1.039660423096818],\n+        [4.185910849001634, 5.630654866793391, 0.9499999990566257, 1.039666582026189],\n+        [17.36207569658563, 5.630654762177219, 0.9499999999975496, 1.039666602620866],\n+        [1.24218514731028, 5.630683377853925, 0.9499997426265079, 1.039660969385093],\n+        [1.024191826188649, 5.630715314989586, 0.9499994553820734, 1.039654682360772],\n+        [1.014004796667106, 5.632607163746273, 0.9499824399855789, 1.039282388967598],\n+        [0.4740621651395832, 5.627503581943447, 0.9444437370511891, 0.9302154716674949],\n+        [0.9140592541745473, 5.630730160151203, 0.9499993218638363, 1.039651760022723],\n+        [0.7567550781917379, 5.633990183409649, 0.949970001027206, 1.039010387334885],\n+        [0.9228460004688066, 5.631089594644688, 0.9499960890893352, 1.039581008459963],\n+        [0.7121146981259312, 5.630928767310179, 0.9499975355796291, 1.03961266479502],\n+        [0.6095796503565455, 5.637045393913153, 0.9499425222882696, 1.038409991274629],\n+        [0.6605558065143393, 5.63554887505476, 0.9499559820649285, 1.0387039979643],\n+        [0.7334618546894945, 5.631584447719907, 0.9499916383523238, 1.039483615889978],\n+        [0.504224974984698, 5.628287880610704, 0.945085891537364, 0.9417330997713343],\n+        [0.5854212568599715, 5.637914315759457, 0.949934707155223, 1.038239355084906],\n+        [0.4134221795168672, 5.624771969338814, 0.9425950877828698, 0.8984969502868022],\n+        [0.3904522005816345, 5.623504918093849, 0.9417960395092443, 0.8854107996422699],\n+        [2.212335991763995, 5.630654963724663, 0.9499999981848204, 1.039666562944362],\n+        [0.9394451709609548, 5.631043490270708, 0.9499965037547257, 1.039590083194665],\n+        [0.662131332286878, 5.63206552947176, 0.9499873114753865, 1.039388950286528],\n+        [0.6265288978761459, 5.632604714967718, 0.9499824620100337, 1.039282870694441],\n+        [0.8073383340999795, 5.630800914362855, 0.9499986854963882, 1.039637831946584],\n+        [0.7792544736123335, 5.63140929379169, 0.9499932136968249, 1.039518086142237],\n+        [1.454921870901184, 5.630658037203366, 0.9499999705417759, 1.039665957901579],\n+        [0.8187160463016893, 5.631238578773209, 0.949994749117517, 1.039551684908112],\n+        [0.7579513217946872, 5.631482189124849, 0.9499925580720074, 1.039503740093819],\n+        [0.7197156570640451, 5.631648897767064, 0.9499910586848941, 1.039470932682291],\n+        [0.6214790654256428, 5.636571110701319, 0.9499467880187472, 1.038503152027503],\n+        [1.057135219780293, 5.630660196325318, 0.9499999511225089, 1.039665532858806],\n+        [0.6108370616594117, 5.629852062445075, 0.9466008848231501, 0.9700035810798537],\n+        [1.302972523179607, 5.630665076132612, 0.9499999072332416, 1.039664572225623],\n+        [0.6199990540154902, 5.632759480958808, 0.9499810700358113, 1.039252425764596],\n+        [1.201664187292616, 5.630591693857761, 0.9477598036683865, 0.992736471372866],\n+        [1.125320876061587, 5.630581829699935, 0.947731859108226, 0.9921764611988656],\n+        [1.663131794636887, 5.630679928739902, 0.9499997736480377, 1.039661648369019],\n+        [1.373376890533494, 5.630675820666751, 0.949999810596284, 1.039662457075089],\n+        [1.009621807867757, 5.630729047751628, 0.9499993318688219, 1.03965197900313],\n+        [0.7922677004712597, 5.631579600918412, 0.9499916819447352, 1.039484569710167],\n+        [0.8020493394401262, 5.631282254381984, 0.9499943562965806, 1.039543088827367],\n+        [0.3617783815235022, 5.6211737'..b'T7", "T->E(1)K(1)R(1)S(1)"],\n+      ["H11,L1,M1,R2,S1,T1", "H->L(1)M(1)R(1)S(1), R->T(1)"],\n+      ["A1,I4,L10,V2", "I->A(1)V(1), L->I(1)V(1)"],\n+      ["K12,N1,Q1,R3", "K->Q(1)R(1), R->K(1)N(1)"],\n+      ["E4,K1,P1,Q1,S3", "E->K(1)P(1)Q(1), S->E(1)"],\n+      ["D1,G2,L12,S1,V1", "G->D(1), L->G(1)S(1)V(1)"],\n+      ["H1,P3,R2,S11", "P->R(1)S(1), S->H(1)P(1)R(1)"],\n+      ["G1,Q14,R1,S1", "Q->G(1)R(1)S(1)"],\n+      ["K10,R7", "K->R(1)"],\n+      ["F1,L1,N1,T2,V12", "T->N(1)V(1), V->F(1)L(1)"],\n+      ["I13,M3,S1", "I->S(1), M->I(1)"],\n+      ["L1,S3,T12,V1", "S->T(1), T->L(1)V(1)"],\n+      ["H7,W1,Y9", "Y->H(1)W(1)"],\n+      ["K12,Q3,R1,T1", "K->R(1)T(1), Q->K(1)"],\n+      ["F1,R1,W15", "W->F(1)R(1)"],\n+      ["A4,I1,N3,T7", "A->I(1)N(1)T(1)"],\n+      ["N1,S1,T15", "T->N(1)S(1)"],\n+      ["K3,N6,R1,S7", "K->R(1), N->K(2)S(1)"],\n+      ["L11,Q3,W3", "L->Q(1), Q->W(1)"],\n+      ["I1,K1,N2,R2,S11", "R->N(1)S(1), S->I(1)K(1)N(1)"],\n+      ["A13,I1,K1,T2", "A->I(1)T(1), T->K(1)"],\n+      ["K7,L2,P3,S1,T4", "P->T(1), T->K(1)L(2)S(1)"],\n+      ["F16,V1", "F->V(1)"],\n+      ["K16,N1", "K->N(1)"],\n+      ["C17", ""],\n+      ["E1,K2,T11,V3", "K->E(1)T(1), T->V(1)"],\n+      ["A17", ""],\n+      ["E1,G7,I2,N1,S5,V1", "I->S(1)V(1), S->E(1)G(1)N(1)"],\n+      ["N17", ""],\n+      ["H1,K10,N2,P1,R2,T1", "K->N(1)T(1), N->H(1), R->K(1)P(1)"],\n+      ["A1,V16", "V->A(1)"],\n+      ["D1,S16", "S->D(1)"],\n+      ["E3,K12,Q1,S1", "E->S(1), K->E(2)Q(1)"],\n+      ["E15,K1,Q1", "E->K(1)Q(1)"],\n+      ["I2,S14,V1", "I->V(1), S->I(1)"],\n+      ["D1,E2,K1,R3,S10", "E->K(1)S(1), S->D(1)R(1)"],\n+      ["I1,M11,S1,V4", "M->I(1)S(1)V(2)"],\n+      ["E14,K1,V2", "E->K(1)V(2)"],\n+      ["I1,M1,P3,T5,V7", "T->P(1), V->I(1)M(1)T(2)"],\n+      ["A1,I5,V11", "I->A(1), V->I(1)"],\n+      ["N3,R1,S11,T1,V1", "N->S(1), S->R(1)T(1)V(1)"],\n+      ["C17", ""],\n+      ["P14,S1,T2", "P->S(1)T(2)"],\n+      ["D1,E15,G1", "E->D(1)G(1)"],\n+      ["E1,K15,Q1", "K->E(1)Q(1)"],\n+      ["G17", ""],\n+      ["L17", ""],\n+      ["D14,P1,S2", "S->D(1)P(1)"] \n+      ]\n+    }\n+  },\n+ "tested":{\n+   "0":{\n+     "Baboon":"test",\n+     "Cat":"test",\n+     "Chimp":"test",\n+     "Cow":"test",\n+     "Horse":"test",\n+     "Human":"test",\n+     "Mouse":"test",\n+     "Node1":"test",\n+     "Node10":"test",\n+     "Node13":"test",\n+     "Node2":"test",\n+     "Node3":"test",\n+     "Node4":"test",\n+     "Node9":"test",\n+     "Pig":"test",\n+     "Rat":"test",\n+     "RhMonkey":"test"\n+    }\n+  },\n+ "timers":{\n+   "Baseline Fit":{\n+     "order":1,\n+     "timer":88\n+    },\n+   "Overall":{\n+     "order":0,\n+     "timer":121\n+    },\n+   "Residue A analysis":{\n+     "order":2,\n+     "timer":2\n+    },\n+   "Residue C analysis":{\n+     "order":3,\n+     "timer":1\n+    },\n+   "Residue D analysis":{\n+     "order":4,\n+     "timer":1\n+    },\n+   "Residue E analysis":{\n+     "order":5,\n+     "timer":1\n+    },\n+   "Residue F analysis":{\n+     "order":6,\n+     "timer":2\n+    },\n+   "Residue G analysis":{\n+     "order":7,\n+     "timer":1\n+    },\n+   "Residue H analysis":{\n+     "order":8,\n+     "timer":2\n+    },\n+   "Residue I analysis":{\n+     "order":9,\n+     "timer":1\n+    },\n+   "Residue K analysis":{\n+     "order":10,\n+     "timer":2\n+    },\n+   "Residue L analysis":{\n+     "order":11,\n+     "timer":1\n+    },\n+   "Residue M analysis":{\n+     "order":12,\n+     "timer":2\n+    },\n+   "Residue N analysis":{\n+     "order":13,\n+     "timer":2\n+    },\n+   "Residue P analysis":{\n+     "order":14,\n+     "timer":1\n+    },\n+   "Residue Q analysis":{\n+     "order":15,\n+     "timer":2\n+    },\n+   "Residue R analysis":{\n+     "order":16,\n+     "timer":2\n+    },\n+   "Residue S analysis":{\n+     "order":17,\n+     "timer":2\n+    },\n+   "Residue T analysis":{\n+     "order":18,\n+     "timer":2\n+    },\n+   "Residue V analysis":{\n+     "order":19,\n+     "timer":2\n+    },\n+   "Residue W analysis":{\n+     "order":20,\n+     "timer":2\n+    },\n+   "Residue Y analysis":{\n+     "order":21,\n+     "timer":2\n+    }\n+  }\n+}\n\\ No newline at end of file\n'
b
diff -r fe399429a5d2 -r 0f108ee932ea test-data/fubar-out1.json
--- a/test-data/fubar-out1.json Thu Jan 17 04:22:54 2019 -0500
+++ b/test-data/fubar-out1.json Wed Aug 21 12:24:34 2019 -0400
b
b'@@ -1,3424 +1,1251 @@\n {\n- "analysis":{\n-   "info":"Perform a Fast Unbiased AppRoximate Bayesian (FUBAR)\\n    analysis of a coding sequence alignment to determine whether some\\n    sites have been subject to pervasive purifying or diversifying\\n    selection.\\n\\n    Please note that a FUBAR analysis generates a cache and a results JSON file in the same directory as\\n    directory as the original alignment. HyPhy needs to have write\\n    privileges to this directory. For example if the original file is in\\n    /home/sergei/FUBAR/data/pol.nex then at the end of a FUBAR run, there\\n    will also exist FUBAR-generated files /home/sergei/FUBAR/data/pol.nex.FUBAR.json,\\n    /home/sergei/FUBAR/data/pol.nex.fubrar.cache. They also\\n    provide checkpointing so that a partially completed analysis can be\\n    restarted.",\n-   "version":"2.0",\n-   "citation":"FUBAR: a fast, unconstrained bayesian approximation for inferring selection (2013), Mol Biol Evol. 30(5):1196-205",\n-   "authors":"Sergei L Kosakovsky Pond",\n-   "contact":"spond@temple.edu",\n-   "requirements":"in-frame codon alignment (possibly partitioned) and a phylogenetic tree (one per partition)"\n-  },\n- "input":{\n-   "file name":"/tmp/tmpZU5xzE/job_working_directory/002/2526/working/fubar_input.fa",\n-   "number of sequences":163,\n-   "number of sites":566,\n-   "partition count":1,\n-   "trees":{\n-     "0":"(KF790010:0.001247,CY147300:0.000623,((CY168239:0.001872,(CY171039:0.001874,KF790389:0.000623)Node7:0.000624)Node5:1e-10,((CY141224:0.001247,(CY147305:1e-10,KF790037:0.000623)Node13:0.000623)Node11:1e-10,(((KF790403:0.000623,KF761507:0.001876)Node18:1e-10,KC526205:0.000623)Node17:1e-10,((CY169303:1e-10,(KF789585:0.000623,CY141202:0.000623)Node25:0.000623)Node23:0.000623,(((KJ667974:0.002501,KJ938675:0.001873)Node30:0.000623,CY134876:1e-10)Node29:0.000623,((KF790414:0.001248,(KF790384:0.001245,KF790408:0.00125)Node37:1e-10)Node35:1e-10,((KF886352:0.001882,(KF790438:0.000623,CY134996:0.001873)Node43:0.000623)Node41:0.001875,(KF789591:0.001879,((KF790049:0.001255,(CY134956:0.000624,CY183153:0.000624)Node51:0.000626)Node49:0.001249,((CY168407:0.004394,CY183065:0.003128)Node55:1e-10,(KF598733:0.002501,((KC892174:1e-10,(KF685747:0.000624,CY168471:0.000625)Node63:0.00375)Node61:0.000624,(((KC892685:0.000624,KC892641:1e-10)Node68:0.001874,KC893110:0.001249)Node67:1e-10,(KC892480:1e-10,(JX913043:0.001249,(KF551075:0.00125,((CY114509:1e-10,(KC892889:1e-10,KC893018:0.002498)Node81:0.005006)Node79:0.001877,(((KC892519:1e-10,KC892498:0.000624)Node86:0.002497,KC892266:0.000623)Node85:0.001026,((KC892156:0.003756,(JX978746:0.001256,KC892407:0.001883)Node93:0.001875)Node91:0.00355,((KC535402:0.000623,(KC882488:0.002498,KC535387:0.001247)Node99:0.001872)Node97:1e-10,(KC535363:0.000623,((KC535396:0.000623,(KC882883:1e-10,KC882867:0.000623)Node107:0.003124)Node105:1e-10,((KC535378:0.001872,KC535375:0.002498)Node111:1e-10,(GQ385891:0.001248,((EU779522:0.001251,(CY037727:1e-10,FJ179354:0.003124)Node119:1e-10)Node117:0.000623,((GQ385889:0.005007,(FJ686933:0.001243,FJ179356:0.003117)Node125:1e-10)Node123:0.000622,(CY173095:0.001245,(((CY173191:1e-10,CY037703:0.001247)Node132:0.000622,CY035062:0.00249)Node131:1e-10,((CY173255:0.001871,(CY044748:1e-10,GQ385846:0.001247)Node139:0.000623)Node137:1e-10,((CY027075:0.000623,(EU199367:1e-10,CY172823:0.000623)Node145:1e-10)Node143:0.000623,(((CY172847:0.000623,CY025643:1e-10)Node150:0.000623,CY172839:0.000623)Node149:0.001247,(((CY026251:0.002497,CY092241:0.00125)Node156:0.000624,CY026019:0.000623)Node155:1e-10,((CY025341:0.002502,(CY172775:0.001247,CY172903:0.000623)Node163:0.001248)Node161:0.000622,(EU199255:0.003134,(CY172431:0.000621,((CY172223:0.003127,(CY172191:0.001254,CY020069:0.000628)Node173:0.000621)Node171:1e-10,((CY092217:0.003119,(CY025485:0.001283,EU516019:0.00059)Node179:0.008843)Node177:0.001868,(CY002080:0.000622,((CY002064:0.001873,(CY002456:0.000626,CY002048:0.002491)Node187:0.001243)Node185:0.003763,(AB434109:0.006307,(((CY088198:0.0'..b'":"test",\n+     "Node11":"test",\n+     "Node110":"test",\n+     "Node111":"test",\n+     "Node114":"test",\n+     "Node116":"test",\n+     "Node117":"test",\n+     "Node119":"test",\n+     "Node122":"test",\n+     "Node123":"test",\n+     "Node125":"test",\n+     "Node128":"test",\n+     "Node13":"test",\n+     "Node130":"test",\n+     "Node131":"test",\n+     "Node132":"test",\n+     "Node136":"test",\n+     "Node137":"test",\n+     "Node139":"test",\n+     "Node142":"test",\n+     "Node143":"test",\n+     "Node145":"test",\n+     "Node148":"test",\n+     "Node149":"test",\n+     "Node150":"test",\n+     "Node154":"test",\n+     "Node155":"test",\n+     "Node156":"test",\n+     "Node16":"test",\n+     "Node160":"test",\n+     "Node161":"test",\n+     "Node163":"test",\n+     "Node166":"test",\n+     "Node168":"test",\n+     "Node17":"test",\n+     "Node170":"test",\n+     "Node171":"test",\n+     "Node173":"test",\n+     "Node176":"test",\n+     "Node177":"test",\n+     "Node179":"test",\n+     "Node18":"test",\n+     "Node182":"test",\n+     "Node184":"test",\n+     "Node185":"test",\n+     "Node187":"test",\n+     "Node190":"test",\n+     "Node192":"test",\n+     "Node193":"test",\n+     "Node194":"test",\n+     "Node198":"test",\n+     "Node199":"test",\n+     "Node202":"test",\n+     "Node203":"test",\n+     "Node205":"test",\n+     "Node208":"test",\n+     "Node209":"test",\n+     "Node211":"test",\n+     "Node214":"test",\n+     "Node215":"test",\n+     "Node217":"test",\n+     "Node22":"test",\n+     "Node220":"test",\n+     "Node222":"test",\n+     "Node224":"test",\n+     "Node225":"test",\n+     "Node228":"test",\n+     "Node229":"test",\n+     "Node23":"test",\n+     "Node232":"test",\n+     "Node233":"test",\n+     "Node235":"test",\n+     "Node238":"test",\n+     "Node239":"test",\n+     "Node240":"test",\n+     "Node244":"test",\n+     "Node245":"test",\n+     "Node247":"test",\n+     "Node25":"test",\n+     "Node250":"test",\n+     "Node251":"test",\n+     "Node252":"test",\n+     "Node256":"test",\n+     "Node257":"test",\n+     "Node258":"test",\n+     "Node262":"test",\n+     "Node263":"test",\n+     "Node264":"test",\n+     "Node268":"test",\n+     "Node269":"test",\n+     "Node271":"test",\n+     "Node274":"test",\n+     "Node275":"test",\n+     "Node277":"test",\n+     "Node28":"test",\n+     "Node280":"test",\n+     "Node281":"test",\n+     "Node284":"test",\n+     "Node285":"test",\n+     "Node286":"test",\n+     "Node29":"test",\n+     "Node290":"test",\n+     "Node291":"test",\n+     "Node293":"test",\n+     "Node296":"test",\n+     "Node297":"test",\n+     "Node299":"test",\n+     "Node30":"test",\n+     "Node302":"test",\n+     "Node304":"test",\n+     "Node306":"test",\n+     "Node307":"test",\n+     "Node309":"test",\n+     "Node312":"test",\n+     "Node314":"test",\n+     "Node315":"test",\n+     "Node316":"test",\n+     "Node320":"test",\n+     "Node321":"test",\n+     "Node34":"test",\n+     "Node35":"test",\n+     "Node37":"test",\n+     "Node4":"test",\n+     "Node40":"test",\n+     "Node41":"test",\n+     "Node43":"test",\n+     "Node46":"test",\n+     "Node48":"test",\n+     "Node49":"test",\n+     "Node5":"test",\n+     "Node51":"test",\n+     "Node54":"test",\n+     "Node55":"test",\n+     "Node58":"test",\n+     "Node60":"test",\n+     "Node61":"test",\n+     "Node63":"test",\n+     "Node66":"test",\n+     "Node67":"test",\n+     "Node68":"test",\n+     "Node7":"test",\n+     "Node72":"test",\n+     "Node74":"test",\n+     "Node76":"test",\n+     "Node78":"test",\n+     "Node79":"test",\n+     "Node81":"test",\n+     "Node84":"test",\n+     "Node85":"test",\n+     "Node86":"test",\n+     "Node90":"test",\n+     "Node91":"test",\n+     "Node93":"test",\n+     "Node96":"test",\n+     "Node97":"test",\n+     "Node99":"test"\n+    }\n+  },\n+ "timers":{\n+   "Grid Calculations":{\n+     "order":2,\n+     "timer":81\n+    },\n+   "Nucleotide Fit":{\n+     "order":1,\n+     "timer":5\n+    },\n+   "Overall":{\n+     "order":0,\n+     "timer":87\n+    },\n+   "Posterior estimation":{\n+     "order":3,\n+     "timer":1\n+    }\n   }\n }\n\\ No newline at end of file\n'
b
diff -r fe399429a5d2 -r 0f108ee932ea test-data/gard-in1.fa
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/gard-in1.fa Wed Aug 21 12:24:34 2019 -0400
b
b'@@ -0,0 +1,735 @@\n+>TREESPARROW_HENAN_1_2004\n+ATGGAGAAAATAGTGCTTCTTCGTGCAATGATCAATCTTGTTAAAAGTGA\n+TCAGATTGGCGTTGGTTACCATGCAGACTACTCGACAGAGCAGGGTGACA\n+CAATAATGGAAAAGAACGTTACTGTTACACATGCTCAAGACATATTGGAA\n+AAGACACACAACGGGAAGCTCTGCGACCTAGATGGAGTGAAGCCTCTAAT\n+TTTGAAAGATTGTAGTGTAGCTGGATGGCTCCTCGGAAACCCAATGTGTG\n+ACGAATTCATCAATGTGCCGGAGTGGTCTTACATAGTGGAGAAGGCCAGT\n+CCAGCCAATGACCTCTGTTACCCAGGGGATTTCAACGACTATGAAGAACT\n+GAAACACCTATTGAGCAGAATAAACCATTTTGAAAAAATTCAGATCATCC\n+CCAAAAGTTCTTGGTCCGATCATGAAGCCTCATCAGGGGTGAGCTCAGCA\n+TGTCCATACCTGGGGAAGCCCTCCTTTTTCAGAAATGTGGTATGGCTTAT\n+CAAAAAGAACAGTACATACCCAACAATAAAGAGGGGCTACAATAATACCA\n+ACCCAGAAGATCTTTTGGTACTGTGGGGGATTCACCATCCTAATGATGCG\n+GCAGAGCAGATAAAGCTCTATCAAAACCCAACCACCTATATTTCCGTTGG\n+AACATCAACACTAAACCAGAGATTGGTACCAAAAATAGCTACTAGATCCA\n+AAGTAAATGGGCAAAGTGGAAGAATGGAGTTCTTCTGGACAATTTTAAAG\n+CCGAATGACGCTATCAACTTCGAGAGTAATGGAAATTTCATTGCTCCAGA\n+ATATGCATACCAAATTGTCAAGAAAGGGGACTCAGCAATTATGAAAAGTG\n+AATTGGAATATGGTAACTGCAACACCAAGTGTCAAACTCCAATGGGGGCG\n+ATAAACTCTAGTATGCCATTCCACAACATACACCCTCTCACCATCGGGGA\n+ATGCCCCAAATATGTGAAATCAAACAGATTAGTCCTTGCGACAGGGCTCA\n+GAAATAGCCCTCAAAGAGAGAGAAGAAGAAAAAAGAGAGGACTATTTGGA\n+GCTATAGCAGGTTTTATAGAGGGAGGATGGCAGGGAATGGTAGATGGTTG\n+GTATGGGTACCACCATAGCAATGAGCAGGGGAGTGGATACGCTGCAGACA\n+AAGAATCCACTCAAAAAGCAATAGATGGAGTCACCAATAAGGTCAACTCG\n+ATCATTGACAAAATGAACACTCAGTTTGAGGCCGTTGGAAGGGAATTTAA\n+TAACTTAGAAAGGAGAATAGAAAATTTAAACAAGAAGATGGAGGACGGAT\n+TCCTAGATGTCTGGACTTATAATGCTGAACTTCTGGTTCTCATGGAAAAT\n+GAGAGAACTCTAGACTTTCATGACTCAAATGTCAAGAACCTTTACGAAAA\n+GGTCCGACTACAACTTAGGGATAATGCAAAGGAGCTGGGTAACGGTTGTT\n+TCGAGTTCTATCACAAATGTGATAATGAATGTATGGAAAGTGTAAAAAAC\n+GGAACGTATGACTACCCGCAGTATTCAGAAGAAGCAAGACTAAACAGAGA\n+GGAAATAAGTGGAGTAAAATTGGAATCAATAGGAACTTACCAAATACTGT\n+CAATTTATTCAACAGTGGCGAGTTCCCTAGCACTGGCAATCATGGTAGCT\n+GGTCTATCTTTATGGATGTGCTCCAATGGATCGTTACAATGCAGAATT\n+>HUMAN_VIETNAM_CL105_2005\n+ATGGAGAAAATAGTGCTTCTTTTTGCGATAGTCAGTCTTGTTAAAAGTGA\n+TCAGATTTGCATTGGTTACCATGCAAACAACTCGACAGAGCAGGTTGACA\n+CAATAATGGAAAAGAACGTTACTGTTACACATGCCCAAGACATACTGGAA\n+AAGACACACAACGGGAAGCTCTGCGATCTAGATGGAGTGAAGCCTCTAAT\n+TTTGAGAGATTGTAGTGTAGCTGGATGGCTACTCGGAAACCCAATGTGTG\n+ACGAATTCATCAATGTGCCGGAATGGTCTTACATAGTGGAGAAGGTCAAT\n+CCAGTCAATGACCTCTGTTACCCAGGGGTTTTCAATGACTATGAAGAATT\n+GAAACACCTATTGAGCAGAATAAACCATTTTGAGAAAATTCAGATCATCC\n+CCAAAAGTTCTTGGTCCAGTCATGAAGCCTCATTAGGGGTGAGCTCAGTA\n+TGTCCATACCAGGGAAAGTCCTCCTTTTTCAGAAATGTGGTATGGCTTAT\n+CAAAAAGAACAGTACATACCCAACAATAAAGAGGAGCTACAATAATACCA\n+ACCAAGAAGATCTTTTGGTAATATGGGGGATTCATCATCCTAATGATGCG\n+GCAGAGCAGATAAAGCTCTATCAAAACCCAACCACCTATATTTCCGTTGG\n+GACATCAACACTAAACCAGAGATTGGTACCAAGAATAGCTACTAGATCCA\n+AAGTAAACGGGCAAAGTGGGAGGATGGAGTTCTTCTGGACAATTTTAAAA\n+CCGAATGATGCAATCAACTTCGAGAGTAATGGAAATTTCATTGCTCCAGA\n+ATATGCATACAAGATTGTCAAGAAAGGGGACTCAACAATTATGAAAAGTG\n+AATTGGAATATGGTAACTGCAACACCAAGTGTCAAACTCCAATGGGGGCG\n+ATAAACTCTAGTATGCCATTCCACAATATACACCCTCTCACCATCGGGGA\n+ATGCCCCAAATATGTGAAATCAAACAGATTAGTCCTTGCGACTGGGCTCA\n+GAAATAGCCCTCAAAAAGAGAGAAGAAGAAAAAAGAGAGGATTATTTGGA\n+GCTATAGCAGGTTTTATAGAGGGAGGATGGCAGGGAATGGTAGATGGTTG\n+GTATGGGTACCACCATAGCAATGAGCAGGGGAGTGGGTACGCTGCAGACA\n+AAGAATCCACTCAAAAGGCAATAGATGGAGTCACCAATAAGGTCAACTCG\n+ATCATTGACAAAATGAACACTCAGTTTGAGGCCGTTGGAAGGGAATTTAA\n+CAACTTAGAAAGGAGAATAGAGAATTTAAACAAGAAGATGGAAGACGGGT\n+TCCTAGATGTCTGGACTTATAATGCTGAACTTCTGGTTCTCATGGAAAAT\n+GAGAGAACTCTAGACTTTCATGACTCAAATGTCAAGAACCTTTACGACAA\n+GGTCCGACTACAGCTTAGGGATAATGCAAAGGAGCTGGGTAACGGTTGTT\n+TCGAGTTCTATCATAAATGTGATAATGAATGTATGGAAAGTGTAAGAAAC\n+GGAACGTATGACTACCCGCAGTATTCAGAAGAAGCAAGATTAAAAAGAGA\n+GGAAATAAGTGGAGTAAAATTGGAATCAATAGGAATTTACCAAATACTGT\n+CAATTTATTCTACAGTGGCGAGTTCCCTAGCACTGGCAATCATGATAGCT\n+GGTCTATCCTTATGGATGTGCTCCAATGGGTCGTTACAA---------\n+>TREESPARROW_HENAN_4_2004\n+ATGGAGAAAATAGTGCTTCTTCTTGCAATAGTCAGTCTTGTTAAAAGTGA\n+TCAGATTTGCATTGGTTACCATGCAAACAACTCGACAGAGCAGGTTGACA\n+CAATAATGCAAAAGAACGTTACTGTTACACATGCCCAAGACATACTGGAA\n+AAGACACACAACGGGAAGCTCTGCGATCTAGATGGAGTGAAACCTCTAAT\n+TTTAAGAGATTGTAGTGTAGCTGGATGGCTCCTCGGAAACCCAATGTGTG\n+ACGAATTCATCAATGTGCCGGAATGGTCTTACATAGTGGAGAAGGCCAGT\n+CCAGCCAATGACCTCTGTTACCCAGGGGATTTCAACGACTATGAAGAACT\n+GAA'..b'GACGGAT\n+TCCTAGATGTCTGGACTTATAATGCTGAACTTCTGGTTCTCATGGAAAAT\n+GAGAGAACTCTAGACTTTCATGACTCAAATGTCAAGAACCTTTACGACAA\n+GGTCCGACTACAGCTTAGGGATAATGCAAAAGAGCTGGGTAACGGTTGTT\n+TCGAGTTCTATCACAAATGTGATAATGAATGTATGGAAAGTGTAAGAAAC\n+GGAACGTATGACTACCCGCAGTATTCAGAAGAAGCAAGACTAAAAAGAGA\n+GGAAATAAGTGGAGTAAAATTGGAATCAATAGGAACTTACCAAATACTGT\n+CAATTTATTCAACAGTGGCGAGTTCCCTAGCGCTGGCAATCATGGTAGCT\n+GGTCTATCTTTATGGATGTGCTCC------------------------\n+>TREESPARROW_HENAN_2_2004\n+ATGGAGAAAATAGTGCTTCTTCTTGCAATAGTCAGTCTTGTTAAAAGTGA\n+TCAGATTTGCATTGGTTACCATGCAAACAACTCGACAGAGCAGGTTGACA\n+CAATAATGGAAAAGAACGTTACTGTTACACATGCTCAAGACATATTGGAA\n+AAGACACACAACGGGAAGCTCTGCGACCTAGATGGAGTGAAGCCTCTAAT\n+TTTGAAAGATTGTAGTGTAGCTGGATGGCTCCTCGGAAACCCAATGTGTG\n+ACGAATTCATCAATGTGCCGGAGTGGTCTTACATAGTGGAGAAGGCCAGT\n+CCAGCCAATGACCTCTGTTACCCAGGGGATTTCAACGACTATGAAGAACT\n+GAAACACCTATTGAGCAGAATAAACCATTTTGAAAAAATTCAGATCATCC\n+CCAAAAGTTCTTGGTCCGATCATGAAGCCTCATCAGGGGTGAGCTCAGCA\n+TGTCCATACCTGGGGAAGCCCTCCTTTTTCAGAAATGTGGTATGGCTTAT\n+CAAAAAGAACAGTACATACCCAACAATAAAGAGGGGCTACAATAATACCA\n+ACCAAGAAGATCTTTTGGTACTGTGGGGGATTCACCATCCTAATGATGCG\n+GCAGAGCAGATAAAGCTCTATCAAAACCCAACCACCTATATTTCCGTTGG\n+AACATCAACACTAAACCAGAGATTGGTACCAAAAATAGCTACTAGATCCA\n+AAGTAAACGGACAAAGTGGAAGAATGGAGTTCTTCTGGACAATTTTAAAA\n+CCGAATGATGCTATCAATTTCGAGAGTAATGGAAATTTCATTGCTCCAGA\n+ATATGCATACAAAATTGTCAAGAAAGGGGACTCTGCAATTATGAAGAGTG\n+AATTGGAATATGGCAACTGCAACACCAAGTGTCAAACTCCAGTGGGGGCG\n+ATAAATTCTAGCATGCCATTCCACAACATACACCCTCTCACCATCGGGGA\n+ATGCCCCAAATATGTGAAATCAAACAGATTAGTCCTTGCGACTGGACTCA\n+GAAATGCCCCTCAAAGAGAGGGAAGAAGAAAAAAGAGAGGACTATTTGGA\n+GCTATAGCAGGGTTTATAGAGGGAGGATGGCAGGGGATGGTAGATGGTTG\n+GTATGGGTACCACCATAGCAATGAGCAGGGGAGTGGATACGCTGCAGACA\n+AAGAATCCACTCAAAAAGCAATAGATGGAGTCACCAATAAGGTCAACTCG\n+ATCATTGACAAAATGAACACTCAGTTTGAGGCCGTTGGAAGGGAATTTAA\n+TAACTTAGAAAGGAGAATAGAAAATTTAAACAAGAAGATGGAGGACGGAT\n+TCCTAGATGTCTGGACTTATAATGCTGAACTTCTGGTTCTCATGGAAAAT\n+GAGAGAACTCTAGACTTTCATGACTCAAATGTCAAGAACCTTTACGAAAA\n+GGTCCGACTACAACTTAGGGATAATGCAAAGGAGCTGGGTAACGGTTGTT\n+TCGAGTTCTATCACAAATGTGATAATGAATGTATGGAAAGTGTAAAAAAC\n+GGAACGTATGACTACCGGCTGGACTCAGAAGAAGCAAGACTAAACAGAGA\n+GGAAATAAGTGGAGTAAAATTGGAATCAATAGGAACTTACCAAATACTGT\n+CAATTTATTCAACAGTGGCGAGTTCCCTAGCACTGGCAATCATGGTAGCT\n+GGTCTATCTTTATGGATGTGCTCCAATGGATCGTTACAATGCAGAATT\n+>HONGKONG_538_97\n+------------------------------------------------GA\n+TCAGATTTGCATTGGTTACCATGCAAACAACTCGACAGAGCAGGTTGACA\n+CAATAATGGAAAAGAATGTTACTGTTACACATGCCCAAGACATACTGGAA\n+AGGACACACAACGGGAAGCTCTGCGATCTAAATGGAGTGAAACCTCTCAT\n+TTTGAGGGATTGTAGTGTAGCTGGATGGCTCCTCGGAAACCCTATGTGTG\n+ACGAATTCATCAATGTGCCGGAATGGTCTTACATAGTGGAGAAGGCCAGT\n+CCAGCCAATGACCTCTGTTATCCAGGGAATTTCAACGACTATGAAGAACT\n+GAAACACCTATTGAGCAGAATAAACCATTTTGAGAAAATTCAGATCATCC\n+CCAAAAGTTCTTGGTCCAATCATGATGCCTCATCAGGGGTGAGCTCAGCA\n+TGTCCATACCTTGGGAGGTCCTCCTTTTTCAGAAATGTGGTATGGCTTAT\n+CAAAAAGAACAGTGCATACCCAACAATAAAGAGGAGCTACAATAATACCA\n+ACCAAGAAGATCTTTTGGTACTGTGGGGGATTCACCATCCTAATGATGCG\n+GCAGAGCAGACAAAGCTCTATCAAAATCCAACCACCTACATTTCCGTTGG\n+AACATCAACACTGAACCAGAGATTGGTTCCAGAAATAGCTACTAGACCCA\n+AAGTAAACGGGCAAAGTGGAAGAATGGAGTTCTTCTGGACAATTTTAAAG\n+CCGAATGATGCCATCAATTTCGAGAGTAATGGAAATTTCATTGCCCCAGA\n+ATATGCATACAAAATTGTCAAGAAAGGGGACTCAACAATTATGAAAAGTG\n+AATTGGAATATGGTAACTGCAACACCAAGTGTCAAACTCCAATGGGGGCG\n+ATAAACTCTAGTATGCCATTCCACAACATACACCCCCTCACCATCGGGGA\n+ATGCCCCAAATATGTGAAATCAAACAGATTAGTTCTTGCGACTGGACTCA\n+GAAATACCCCTCAAAGGGAGAGAAGAAGAAAAAAGAGAGGACTATTTGGA\n+GCTATAGCAGGTTTTATAGAGGGAGGATGGCAGGGAATGGTAGATGGTTG\n+GTATGGGTACCACCATAGCAATGAGCAGGGGAGTGGATACGCTGCAGACC\n+AAGAATCCACTCAAAAGGCAATAGATGGAGTCACCAATAAGGTCAACTCG\n+ATCATTAACAAAATGAACACTCAGTTTGAGGCCGTTGGAAGGGAATTTAA\n+TAACTTAGAAAGGAGAATAGAGAATTTAAACAAGAAAATGGAAGACGGAT\n+TCCTAGATGTCTGGACTTACAATGCTGAACTTCTGGTTCTCATGGAAAAT\n+GAGAGAACTCTCGACTTTCATGACTCAAATGTCAAGAACCTTTACGACAA\n+GGTCCGACTACAGCTTAGGGATAATGCAAAGGAACTGGGTAATGGTTGTT\n+TCGAATTCTATCACAAATGTGATAATGAATGTATGGAAAGTGTAAGAAAC\n+GGAACGTATGACTACCCGCAGTATTCAGAAGAAGCAAGACTAAACAGAGA\n+GGAAATAAGTGGAGTAAAATTGGAATCAATGGGAACTTACCAAATACTGT\n+CAATTTATTCAACAGTGGCGAGTTCCCTAGCACTGGCAATCATGGTAGCT\n+GGTCTATCTTTATGGATGTGCTCCAATGGATCGTTACAATGCAGAATT\n'
b
diff -r fe399429a5d2 -r 0f108ee932ea test-data/gard-out1.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/gard-out1.json Wed Aug 21 12:24:34 2019 -0400
[
b'@@ -0,0 +1,318 @@\n+{\n+ "analysis":{\n+   "authors":"Sergei L Kosakovsky Pond",\n+   "citation":"**Automated Phylogenetic Detection of Recombination Using a Genetic Algorithm**, _Mol Biol Evol 23(10), 1891\xe2\x80\x931901",\n+   "contact":"spond@temple.edu",\n+   "info":"GARD : Genetic Algorithms for Recombination Detection. Implements a heuristic\\n    approach to screening alignments of sequences for recombination, by using the CHC genetic algorithm to search for phylogenetic\\n    incongruence among different partitions of the data. The number of partitions is determined using a step-up procedure, while the\\n    placement of breakpoints is searched for with the GA. The best fitting model (based on c-AIC) is returned; and additional post-hoc\\n    tests run to distinguish topological incongruence from rate-variation.",\n+   "requirements":"A sequence alignment.",\n+   "version":"0.1"\n+  },\n+ "baselineScore":8884.998566352424,\n+ "breakpointData":{\n+   "0":{\n+     "bps":      [\n+[1, 461] \n+      ],\n+     "tree":"(((((((TREESPARROW_HENAN_1_2004:0.01973996359641645,TREESPARROW_HENAN_2_2004:0)Node6:0.006601594605919903,CHICKEN_HEBEI_326_2005:0.02877904543700591)Node5:0.002960697265622527,SWINE_ANHUI_2004:0.01220336915594569)Node4:0.004301817483024902,((DUCK_GUANGZHOU_20_2005:0.006496379151101181,(GOOSE_SHANTOU_2216_2005:0.008666763019733412,PEREGRINEFALCON_HK_D0028_2004:0.006494907750172948)Node14:0)Node12:0.006529386248252737,CK_HK_WF157_2003:0.008749819170042668)Node11:0.006517868346508392)Node3:0.004369843971142481,((TREESPARROW_HENAN_3_2004:0.004310725480928182,((CHICKEN_HONGKONG_915_97:0,(HONGKONG_97_98:0.007234718327388172,HONGKONG_538_97:0)Node24:0)Node22:0,(GOOSE_HONGKONG_W355_97:0,DUCK_HONGKONG_Y283_97:0)Node27:0.002160209380619512)Node21:0.02651640051975179)Node19:0.002209468499615626,TREESPARROW_HENAN_4_2004:0.008707376458939551)Node18:0)Node2:0.01527162191938894,MALLARD_VIETNAM_16_2003:0.00216300836609909)Node1:0,HUMAN_VIETNAM_CL105_2005:0.01089634139979296,(((DUCK_VIETNAM_376_2005:0.002165747961920766,CHICKEN_THAILAND_KANCHANABURI_CK_160_2005:0.01092964139649115)Node35:0.002165571630784742,VIETNAM_3062_2004:0)Node34:0.002160659783816526,DUCK_VIETNAM_272_2005:0.006501625005083654)Node33:0)"\n+    },\n+   "1":{\n+     "bps":      [\n+[462, 650] \n+      ],\n+     "tree":"((((((TREESPARROW_HENAN_1_2004:0,TREESPARROW_HENAN_3_2004:0.01064277225673711)Node5:0.00531987705161906,TREESPARROW_HENAN_2_2004:0)Node4:0.005231591103466107,CHICKEN_HEBEI_326_2005:0.05043188754547531)Node3:0.005435427857192481,CK_HK_WF157_2003:0)Node2:0.005367407450692448,((TREESPARROW_HENAN_4_2004:0.005403333058615208,(((CHICKEN_HONGKONG_915_97:0,(GOOSE_HONGKONG_W355_97:0,DUCK_HONGKONG_Y283_97:0)Node18:0.005303893633648769)Node16:0,HONGKONG_97_98:0)Node15:0,HONGKONG_538_97:0)Node14:0.0160450339521957)Node12:0.01065583332597595,((DUCK_GUANGZHOU_20_2005:0.02156617952480121,GOOSE_SHANTOU_2216_2005:0.005315754078746889)Node24:0,PEREGRINEFALCON_HK_D0028_2004:0.005310132566451705)Node23:0)Node11:0.005324661683629481)Node1:0.01075596871747344,(SWINE_ANHUI_2004:0.01612941661930485,DUCK_VIETNAM_272_2005:0.005332918418299072)Node28:0.005343017103483476,((HUMAN_VIETNAM_CL105_2005:0.01615610619083483,DUCK_VIETNAM_376_2005:0.01622595235090508)Node32:0.005403715853761346,(VIETNAM_3062_2004:0,(MALLARD_VIETNAM_16_2003:0.01066500623689393,CHICKEN_THAILAND_KANCHANABURI_CK_160_2005:0)Node37:0.005316372444723995)Node35:0)Node31:0)"\n+    },\n+   "2":{\n+     "bps":      [\n+[651, 1166] \n+      ],\n+     "tree":"(((((((TREESPARROW_HENAN_1_2004:0.001954008187578416,TREESPARROW_HENAN_3_2004:0.003896316686452931)Node6:0.001938506890703636,TREESPARROW_HENAN_4_2004:0)Node5:0.005890390504717593,((CHICKEN_HEBEI_326_2005:0.0118071209154035,(SWINE_ANHUI_2004:0,TREESPARROW_HENAN_2_2004:0.001939618450410721)Node13:0.01383276182388132)Node11:0.009974147725569997,((CHICKEN_HONGKONG_915_97:0,GOOSE_HONGKONG_W355_97:0)Node17:0.001941847153562197,((DUCK_HONGKONG_Y283_97:0,HONGKONG_538_97:0)Node21:0,HONGKONG_97_98:0.'..b'((DUCK_VIETNAM_376_2005:0.002165747961920766,CHICKEN_THAILAND_KANCHANABURI_CK_160_2005:0.01092964139649115)Node35:0.002165571630784742,VIETNAM_3062_2004:0)Node34:0.002160659783816526,DUCK_VIETNAM_272_2005:0.006501625005083654)Node33:0)"\n+    },\n+   "1":{\n+     "newickString":"((((((TREESPARROW_HENAN_1_2004:0,TREESPARROW_HENAN_3_2004:0.01064277225673711)Node5:0.00531987705161906,TREESPARROW_HENAN_2_2004:0)Node4:0.005231591103466107,CHICKEN_HEBEI_326_2005:0.05043188754547531)Node3:0.005435427857192481,CK_HK_WF157_2003:0)Node2:0.005367407450692448,((TREESPARROW_HENAN_4_2004:0.005403333058615208,(((CHICKEN_HONGKONG_915_97:0,(GOOSE_HONGKONG_W355_97:0,DUCK_HONGKONG_Y283_97:0)Node18:0.005303893633648769)Node16:0,HONGKONG_97_98:0)Node15:0,HONGKONG_538_97:0)Node14:0.0160450339521957)Node12:0.01065583332597595,((DUCK_GUANGZHOU_20_2005:0.02156617952480121,GOOSE_SHANTOU_2216_2005:0.005315754078746889)Node24:0,PEREGRINEFALCON_HK_D0028_2004:0.005310132566451705)Node23:0)Node11:0.005324661683629481)Node1:0.01075596871747344,(SWINE_ANHUI_2004:0.01612941661930485,DUCK_VIETNAM_272_2005:0.005332918418299072)Node28:0.005343017103483476,((HUMAN_VIETNAM_CL105_2005:0.01615610619083483,DUCK_VIETNAM_376_2005:0.01622595235090508)Node32:0.005403715853761346,(VIETNAM_3062_2004:0,(MALLARD_VIETNAM_16_2003:0.01066500623689393,CHICKEN_THAILAND_KANCHANABURI_CK_160_2005:0)Node37:0.005316372444723995)Node35:0)Node31:0)"\n+    },\n+   "2":{\n+     "newickString":"(((((((TREESPARROW_HENAN_1_2004:0.001954008187578416,TREESPARROW_HENAN_3_2004:0.003896316686452931)Node6:0.001938506890703636,TREESPARROW_HENAN_4_2004:0)Node5:0.005890390504717593,((CHICKEN_HEBEI_326_2005:0.0118071209154035,(SWINE_ANHUI_2004:0,TREESPARROW_HENAN_2_2004:0.001939618450410721)Node13:0.01383276182388132)Node11:0.009974147725569997,((CHICKEN_HONGKONG_915_97:0,GOOSE_HONGKONG_W355_97:0)Node17:0.001941847153562197,((DUCK_HONGKONG_Y283_97:0,HONGKONG_538_97:0)Node21:0,HONGKONG_97_98:0.005840445012127324)Node20:0.001942715072940801)Node16:0.01987446960589405)Node10:0.005913850464875198)Node4:0.005886750382502456,(((DUCK_GUANGZHOU_20_2005:0.003893604042162395,GOOSE_SHANTOU_2216_2005:0.003905435534305824)Node27:0.001941929040845811,PEREGRINEFALCON_HK_D0028_2004:0.003899037680959845)Node26:0.001951590047476092,CK_HK_WF157_2003:0.005864286435734769)Node25:0.001925781157666145)Node3:0.009803928769016717,DUCK_VIETNAM_272_2005:0.01580156952635168)Node2:0,CHICKEN_THAILAND_KANCHANABURI_CK_160_2005:0.003890598353658968)Node1:0,((HUMAN_VIETNAM_CL105_2005:0.003905371265795895,DUCK_VIETNAM_376_2005:0.0137665342243657)Node35:0.001932867193851192,MALLARD_VIETNAM_16_2003:0.003887459835724038)Node34:0,VIETNAM_3062_2004:0.00194102772512571)"\n+    },\n+   "3":{\n+     "newickString":"(TREESPARROW_HENAN_1_2004:0,((TREESPARROW_HENAN_3_2004:0.005713571370335148,TREESPARROW_HENAN_4_2004:0)Node3:0.00189607429178233,(CHICKEN_HEBEI_326_2005:0.005712316903324198,(SWINE_ANHUI_2004:0.005701998731046575,(((CHICKEN_HONGKONG_915_97:0,HONGKONG_97_98:0)Node12:0.001895621658683188,(GOOSE_HONGKONG_W355_97:0,HONGKONG_538_97:0)Node15:0)Node11:0.01534803500036186,((DUCK_HONGKONG_Y283_97:0.0001941011375241317,(((HUMAN_VIETNAM_CL105_2005:0.001928158212296621,DUCK_VIETNAM_376_2005:0.003824815472812549)Node23:0.001900556734363341,(VIETNAM_3062_2004:0.001945118440015516,MALLARD_VIETNAM_16_2003:0)Node26:0)Node22:0,(CHICKEN_THAILAND_KANCHANABURI_CK_160_2005:0.00380825293990655,DUCK_VIETNAM_272_2005:0.005749159769097136)Node29:0.001884324589239026)Node21:0.006136201619836659)Node19:0.006956231732180768,(((DUCK_GUANGZHOU_20_2005:0.003782134609270667,GOOSE_SHANTOU_2216_2005:0.005745814969410696)Node34:0.005728903718080784,PEREGRINEFALCON_HK_D0028_2004:0)Node33:0.001883474579815808,CK_HK_WF157_2003:0.005783922057126199)Node32:0.003686703559509533)Node18:0.002359028413665987)Node10:0.003781653021946557)Node8:0.003836413220384994)Node6:0.001894177236914572)Node2:0,TREESPARROW_HENAN_2_2004:0.00767492225272676)"\n+    }\n+  }\n+}\n\\ No newline at end of file\n'
b
diff -r fe399429a5d2 -r 0f108ee932ea test-data/gard-out1.nex
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/gard-out1.nex Wed Aug 21 12:24:34 2019 -0400
b
b"@@ -0,0 +1,255 @@\n+#NEXUS\n+\n+BEGIN TAXA;\n+\tDIMENSIONS NTAX = 21;\n+\tTAXLABELS\n+\t\t'TREESPARROW_HENAN_1_2004' 'HUMAN_VIETNAM_CL105_2005' 'TREESPARROW_HENAN_4_2004' 'CHICKEN_HEBEI_326_2005' 'CHICKEN_HONGKONG_915_97' 'VIETNAM_3062_2004' 'GOOSE_HONGKONG_W355_97' 'DUCK_HONGKONG_Y283_97' 'DUCK_VIETNAM_376_2005' 'MALLARD_VIETNAM_16_2003' 'CHICKEN_THAILAND_KANCHANABURI_CK_160_2005' 'DUCK_GUANGZHOU_20_2005' 'CK_HK_WF157_2003' 'SWINE_ANHUI_2004' 'DUCK_VIETNAM_272_2005' 'HONGKONG_97_98' 'GOOSE_SHANTOU_2216_2005' 'TREESPARROW_HENAN_3_2004' 'PEREGRINEFALCON_HK_D0028_2004' 'TREESPARROW_HENAN_2_2004' 'HONGKONG_538_97' ;\n+END;\n+\n+BEGIN CHARACTERS;\n+\tDIMENSIONS NCHAR = 1698;\n+\tFORMAT\n+\t\tDATATYPE = DNA\n+\t\tGAP=-\n+\t\tMISSING=?\n+\t;\n+\n+MATRIX\n+\t'TREESPARROW_HENAN_1_2004'                  ATGGAGAAAATAGTGCTTCTTCGTGCAATGATCAATCTTGTTAAAAGTGATCAGATTGGCGTTGGTTACCATGCAGACTACTCGACAGAGCAGGGTGACACAATAATGGAAAAGAACGTTACTGTTACACATGCTCAAGACATATTGGAAAAGACACACAACGGGAAGCTCTGCGACCTAGATGGAGTGAAGCCTCTAATTTTGAAAGATTGTAGTGTAGCTGGATGGCTCCTCGGAAACCCAATGTGTGACGAATTCATCAATGTGCCGGAGTGGTCTTACATAGTGGAGAAGGCCAGTCCAGCCAATGACCTCTGTTACCCAGGGGATTTCAACGACTATGAAGAACTGAAACACCTATTGAGCAGAATAAACCATTTTGAAAAAATTCAGATCATCCCCAAAAGTTCTTGGTCCGATCATGAAGCCTCATCAGGGGTGAGCTCAGCATGTCCATACCTGGGGAAGCCCTCCTTTTTCAGAAATGTGGTATGGCTTATCAAAAAGAACAGTACATACCCAACAATAAAGAGGGGCTACAATAATACCAACCCAGAAGATCTTTTGGTACTGTGGGGGATTCACCATCCTAATGATGCGGCAGAGCAGATAAAGCTCTATCAAAACCCAACCACCTATATTTCCGTTGGAACATCAACACTAAACCAGAGATTGGTACCAAAAATAGCTACTAGATCCAAAGTAAATGGGCAAAGTGGAAGAATGGAGTTCTTCTGGACAATTTTAAAGCCGAATGACGCTATCAACTTCGAGAGTAATGGAAATTTCATTGCTCCAGAATATGCATACCAAATTGTCAAGAAAGGGGACTCAGCAATTATGAAAAGTGAATTGGAATATGGTAACTGCAACACCAAGTGTCAAACTCCAATGGGGGCGATAAACTCTAGTATGCCATTCCACAACATACACCCTCTCACCATCGGGGAATGCCCCAAATATGTGAAATCAAACAGATTAGTCCTTGCGACAGGGCTCAGAAATAGCCCTCAAAGAGAGAGAAGAAGAAAAAAGAGAGGACTATTTGGAGCTATAGCAGGTTTTATAGAGGGAGGATGGCAGGGAATGGTAGATGGTTGGTATGGGTACCACCATAGCAATGAGCAGGGGAGTGGATACGCTGCAGACAAAGAATCCACTCAAAAAGCAATAGATGGAGTCACCAATAAGGTCAACTCGATCATTGACAAAATGAACACTCAGTTTGAGGCCGTTGGAAGGGAATTTAATAACTTAGAAAGGAGAATAGAAAATTTAAACAAGAAGATGGAGGACGGATTCCTAGATGTCTGGACTTATAATGCTGAACTTCTGGTTCTCATGGAAAATGAGAGAACTCTAGACTTTCATGACTCAAATGTCAAGAACCTTTACGAAAAGGTCCGACTACAACTTAGGGATAATGCAAAGGAGCTGGGTAACGGTTGTTTCGAGTTCTATCACAAATGTGATAATGAATGTATGGAAAGTGTAAAAAACGGAACGTATGACTACCCGCAGTATTCAGAAGAAGCAAGACTAAACAGAGAGGAAATAAGTGGAGTAAAATTGGAATCAATAGGAACTTACCAAATACTGTCAATTTATTCAACAGTGGCGAGTTCCCTAGCACTGGCAATCATGGTAGCTGGTCTATCTTTATGGATGTGCTCCAATGGATCGTTACAATGCAGAATT\n+\t'HUMAN_VIETNAM_CL105_2005'                  ATGGAGAAAATAGTGCTTCTTTTTGCGATAGTCAGTCTTGTTAAAAGTGATCAGATTTGCATTGGTTACCATGCAAACAACTCGACAGAGCAGGTTGACACAATAATGGAAAAGAACGTTACTGTTACACATGCCCAAGACATACTGGAAAAGACACACAACGGGAAGCTCTGCGATCTAGATGGAGTGAAGCCTCTAATTTTGAGAGATTGTAGTGTAGCTGGATGGCTACTCGGAAACCCAATGTGTGACGAATTCATCAATGTGCCGGAATGGTCTTACATAGTGGAGAAGGTCAATCCAGTCAATGACCTCTGTTACCCAGGGGTTTTCAATGACTATGAAGAATTGAAACACCTATTGAGCAGAATAAACCATTTTGAGAAAATTCAGATCATCCCCAAAAGTTCTTGGTCCAGTCATGAAGCCTCATTAGGGGTGAGCTCAGTATGTCCATACCAGGGAAAGTCCTCCTTTTTCAGAAATGTGGTATGGCTTATCAAAAAGAACAGTACATACCCAACAATAAAGAGGAGCTACAATAATACCAACCAAGAAGATCTTTTGGTAATATGGGGGATTCATCATCCTAATGATGCGGCAGAGCAGATAAAGCTCTATCAAAACCCAACCACCTATATTTCCGTTGGGACATCAACACTAAACCAGAGATTGGTACCAAGAATAGCTACTAGATCCAAAGTAAACGGGCAAAGTGGGAGGATGGAGTTCTTCTGGACAATTTTAAAACCGAATGATGCAATCAACTTCGAGAGTAATGGAAATTTCATTGCTCCAGAATATGCATACAAGATTGTCAAGAAAGGGGACTCAACAATTATGAAAAGTGAATTGGAATATGGTAACTGCAACACCAAGTGTCAAACTCCAATGGGGGCGATAAACTCTAGTATGCCATTCCACAATATACACCCTCTCACCATCGGGGAATGCCCCAAATATGTGAAATCAAACAGATTAGTCCTTGCGACTGGGCTCAGAAATAGCCCTCAAAAAGAGAGAAGAAGAAAAAAGAGAGGATTATTTGGAGCTATAGCAGGTTTTATAGAGGGAGGATGGCAGGGAATGGTAGATGGTTGGTATGGGTACCACCATAGCAATGAGCAGGGGAGTGGGTACGCTGCAGACAAAGAATCCACTCAAAAGGCAATAGATGGAGTCACCAATAAGGTCAACTCGATCATTGACAAAATGAACACTCAGTTTGAGGCCGTTGGAAGGGAATTTAACAACTTAGAAAGGAGAATAGAGAATTTAAACAAGAAGATGGAAGACGGGTTCCTAGATGTCTGGACTTATAATGCTGAACTTCTGGTTCTCATGGAAAATGAGAGAACTCTAGACTTTCATGACTCAAATGTCAAGAACCTTTACGACAAGGTCCGACTACAGCTTAGGGATAATGCAAAGGAGCTGGGTAACGGTTGTTTCGAGTTCTATCATAAATGTGATAATGAAT"..b'_2.Node27.t=0.005762269220625183;\n+gard.tree.part_2.PEREGRINEFALCON_HK_D0028_2004.t=0.01156958073466321;\n+gard.tree.part_3.Node21.t=0.01820789791069541;\n+gard.tree.part_0.Node21.t=0.07868188555962134;\n+gard.tree.part_1.Node23.t=0;\n+gard.tree.part_3.Node19.t=0.02064116615940968;\n+gard.tree.part_1.Node11.t=0.01579982248808471;\n+gard.tree.part_2.Node26.t=0.005790936241909173;\n+gard.tree.part_0.Node19.t=0.006556136739028721;\n+gard.tree.part_2.CK_HK_WF157_2003.t=0.01740104634041944;\n+gard.tree.part_3.DUCK_GUANGZHOU_20_2005.t=0.01122269526273182;\n+gard.tree.part_1.Node1.t=0.03191609280002815;\n+gard.tree.part_0.TREESPARROW_HENAN_4_2004.t=0.02583732273754462;\n+gard.tree.part_3.GOOSE_SHANTOU_2216_2005.t=0.01704950698467438;\n+gard.tree.part_0.Node18.t=0;\n+gard.tree.part_1.SWINE_ANHUI_2004.t=0.04786067821076487;\n+gard.tree.part_2.Node25.t=0.005714353746749828;\n+gard.tree.part_3.Node34.t=0.01699932637509961;\n+gard.tree.part_2.Node3.t=0.02909111290817361;\n+gard.tree.part_1.DUCK_VIETNAM_272_2005.t=0.01582432262534449;\n+gard.tree.part_0.Node2.t=0.04531535142849069;\n+gard.tree.part_3.PEREGRINEFALCON_HK_D0028_2004.t=0;\n+gard.tree.part_2.DUCK_VIETNAM_272_2005.t=0.04688786037187378;\n+gard.tree.part_1.Node28.t=0.01585428836641066;\n+gard.tree.part_0.MALLARD_VIETNAM_16_2003.t=0.006418275987313576;\n+gard.tree.part_2.Node2.t=0;\n+gard.tree.part_0.Node1.t=0;\n+gard.tree.part_1.HUMAN_VIETNAM_CL105_2005.t=0.04793987394516301;\n+gard.tree.part_3.Node33.t=0.005588817804782144;\n+gard.tree.part_2.CHICKEN_THAILAND_KANCHANABURI_CK_160_2005.t=0.01154453879187037;\n+gard.tree.part_3.CK_HK_WF157_2003.t=0.01716258181594375;\n+gard.tree.part_1.DUCK_VIETNAM_376_2005.t=0.04814712785088576;\n+gard.tree.part_0.HUMAN_VIETNAM_CL105_2005.t=0.03233261944427364;\n+gard.tree.part_3.Node32.t=0.01093952353546261;\n+gard.tree.part_1.Node32.t=0.01603439924229737;\n+gard.tree.part_2.Node1.t=0;\n+gard.tree.part_0.DUCK_VIETNAM_376_2005.t=0.006426405166263041;\n+gard.tree.part_3.Node18.t=0.006999924576403242;\n+gard.tree.part_2.HUMAN_VIETNAM_CL105_2005.t=0.01158837432608151;\n+gard.tree.part_1.VIETNAM_3062_2004.t=0;\n+gard.tree.part_0.CHICKEN_THAILAND_KANCHANABURI_CK_160_2005.t=0.03243143023600951;\n+gard.tree.part_2.DUCK_VIETNAM_376_2005.t=0.04084931774911551;\n+gard.tree.part_0.Node35.t=0.006425881940410614;\n+gard.tree.part_3.Node10.t=0.01122126625283681;\n+gard.tree.part_1.MALLARD_VIETNAM_16_2003.t=0.03164618061938185;\n+gard.tree.part_3.Node8.t=0.01138375571529405;\n+gard.tree.part_1.CHICKEN_THAILAND_KANCHANABURI_CK_160_2005.t=0;\n+gard.tree.part_0.VIETNAM_3062_2004.t=0;\n+gard.tree.part_2.Node35.t=0.005735380080537774;\n+gard.tree.part_2.MALLARD_VIETNAM_16_2003.t=0.01153522589478997;\n+gard.tree.part_0.Node34.t=0.006411307059451499;\n+gard.tree.part_3.Node6.t=0.005620575706477796;\n+gard.tree.part_1.Node37.t=0.01577522590128735;\n+gard.tree.part_2.Node34.t=0;\n+gard.tree.part_1.Node35.t=0;\n+gard.tree.part_3.Node2.t=0;\n+gard.tree.part_0.DUCK_VIETNAM_272_2005.t=0.01929221555619922;\n+gard.tree.part_3.TREESPARROW_HENAN_2_2004.t=0.02277373031525211;\n+gard.tree.part_0.Node33.t=0;\n+gard.tree.part_2.VIETNAM_3062_2004.t=0.005759594754296721;\n+gard.tree.part_1.Node31.t=0;\n+DataSet gard.sequences = ReadDataFile(USE_NEXUS_FILE_DATA);\n+DataSetFilter gard.filter.part_0 = CreateFilter(gard.sequences,1,"0-461","0,19,3,13,11,16,18,12,17,4,15,20,6,7,2,9,1,8,10,5,14");\n+DataSetFilter gard.filter.part_1 = CreateFilter(gard.sequences,1,"462-650","0,17,19,3,12,2,4,6,7,15,20,11,16,18,13,14,1,8,5,9,10");\n+DataSetFilter gard.filter.part_2 = CreateFilter(gard.sequences,1,"651-1166","0,17,2,3,13,19,4,6,7,20,15,11,16,18,12,14,10,1,8,9,5");\n+DataSetFilter gard.filter.part_3 = CreateFilter(gard.sequences,1,"1167-1697","0,17,2,3,13,4,15,6,20,7,1,8,5,9,10,14,11,16,18,12,19");\n+ASSUME_REVERSIBLE_MODELS=0;\n+LikelihoodFunction DJoxWylN.likelihoodFunction = (gard.filter.part_0,gard.tree.part_0,gard.filter.part_1,gard.tree.part_1,gard.filter.part_2,gard.tree.part_2,gard.filter.part_3,gard.tree.part_3);\n+\n+END;\n\\ No newline at end of file\n'
b
diff -r fe399429a5d2 -r 0f108ee932ea test-data/meme-in1.fa
--- a/test-data/meme-in1.fa Thu Jan 17 04:22:54 2019 -0500
+++ b/test-data/meme-in1.fa Wed Aug 21 12:24:34 2019 -0400
b
b'@@ -1,1 +1,1 @@\n->TREESPARROW_HENAN_1_2004\rATGGAGAAAATAGTGCTTCTTCGTGCAATGATCAATCTTGTTAAAAGTGA\rTCAGATTGGCGTTGGTTACCATGCAGACTACTCGACAGAGCAGGGTGACA\rCAATAATGGAAAAGAACGTTACTGTTACACATGCTCAAGACATATTGGAA\rAAGACACACAACGGGAAGCTCTGCGACCTAGATGGAGTGAAGCCTCTAAT\rTTTGAAAGATTGTAGTGTAGCTGGATGGCTCCTCGGAAACCCAATGTGTG\rACGAATTCATCAATGTGCCGGAGTGGTCTTACATAGTGGAGAAGGCCAGT\rCCAGCCAATGACCTCTGTTACCCAGGGGATTTCAACGACTATGAAGAACT\rGAAACACCTATTGAGCAGAATAAACCATTTTGAAAAAATTCAGATCATCC\rCCAAAAGTTCTTGGTCCGATCATGAAGCCTCATCAGGGGTGAGCTCAGCA\rTGTCCATACCTGGGGAAGCCCTCCTTTTTCAGAAATGTGGTATGGCTTAT\rCAAAAAGAACAGTACATACCCAACAATAAAGAGGGGCTACAATAATACCA\rACCCAGAAGATCTTTTGGTACTGTGGGGGATTCACCATCCTAATGATGCG\rGCAGAGCAGATAAAGCTCTATCAAAACCCAACCACCTATATTTCCGTTGG\rAACATCAACACTAAACCAGAGATTGGTACCAAAAATAGCTACTAGATCCA\rAAGTAAATGGGCAAAGTGGAAGAATGGAGTTCTTCTGGACAATTTTAAAG\rCCGAATGACGCTATCAACTTCGAGAGTAATGGAAATTTCATTGCTCCAGA\rATATGCATACCAAATTGTCAAGAAAGGGGACTCAGCAATTATGAAAAGTG\rAATTGGAATATGGTAACTGCAACACCAAGTGTCAAACTCCAATGGGGGCG\rATAAACTCTAGTATGCCATTCCACAACATACACCCTCTCACCATCGGGGA\rATGCCCCAAATATGTGAAATCAAACAGATTAGTCCTTGCGACAGGGCTCA\rGAAATAGCCCTCAAAGAGAGAGAAGAAGAAAAAAGAGAGGACTATTTGGA\rGCTATAGCAGGTTTTATAGAGGGAGGATGGCAGGGAATGGTAGATGGTTG\rGTATGGGTACCACCATAGCAATGAGCAGGGGAGTGGATACGCTGCAGACA\rAAGAATCCACTCAAAAAGCAATAGATGGAGTCACCAATAAGGTCAACTCG\rATCATTGACAAAATGAACACTCAGTTTGAGGCCGTTGGAAGGGAATTTAA\rTAACTTAGAAAGGAGAATAGAAAATTTAAACAAGAAGATGGAGGACGGAT\rTCCTAGATGTCTGGACTTATAATGCTGAACTTCTGGTTCTCATGGAAAAT\rGAGAGAACTCTAGACTTTCATGACTCAAATGTCAAGAACCTTTACGAAAA\rGGTCCGACTACAACTTAGGGATAATGCAAAGGAGCTGGGTAACGGTTGTT\rTCGAGTTCTATCACAAATGTGATAATGAATGTATGGAAAGTGTAAAAAAC\rGGAACGTATGACTACCCGCAGTATTCAGAAGAAGCAAGACTAAACAGAGA\rGGAAATAAGTGGAGTAAAATTGGAATCAATAGGAACTTACCAAATACTGT\rCAATTTATTCAACAGTGGCGAGTTCCCTAGCACTGGCAATCATGGTAGCT\rGGTCTATCTTTATGGATGTGCTCCAATGGATCGTTACAATGCAGAATT\r>HUMAN_VIETNAM_CL105_2005\rATGGAGAAAATAGTGCTTCTTTTTGCGATAGTCAGTCTTGTTAAAAGTGA\rTCAGATTTGCATTGGTTACCATGCAAACAACTCGACAGAGCAGGTTGACA\rCAATAATGGAAAAGAACGTTACTGTTACACATGCCCAAGACATACTGGAA\rAAGACACACAACGGGAAGCTCTGCGATCTAGATGGAGTGAAGCCTCTAAT\rTTTGAGAGATTGTAGTGTAGCTGGATGGCTACTCGGAAACCCAATGTGTG\rACGAATTCATCAATGTGCCGGAATGGTCTTACATAGTGGAGAAGGTCAAT\rCCAGTCAATGACCTCTGTTACCCAGGGGTTTTCAATGACTATGAAGAATT\rGAAACACCTATTGAGCAGAATAAACCATTTTGAGAAAATTCAGATCATCC\rCCAAAAGTTCTTGGTCCAGTCATGAAGCCTCATTAGGGGTGAGCTCAGTA\rTGTCCATACCAGGGAAAGTCCTCCTTTTTCAGAAATGTGGTATGGCTTAT\rCAAAAAGAACAGTACATACCCAACAATAAAGAGGAGCTACAATAATACCA\rACCAAGAAGATCTTTTGGTAATATGGGGGATTCATCATCCTAATGATGCG\rGCAGAGCAGATAAAGCTCTATCAAAACCCAACCACCTATATTTCCGTTGG\rGACATCAACACTAAACCAGAGATTGGTACCAAGAATAGCTACTAGATCCA\rAAGTAAACGGGCAAAGTGGGAGGATGGAGTTCTTCTGGACAATTTTAAAA\rCCGAATGATGCAATCAACTTCGAGAGTAATGGAAATTTCATTGCTCCAGA\rATATGCATACAAGATTGTCAAGAAAGGGGACTCAACAATTATGAAAAGTG\rAATTGGAATATGGTAACTGCAACACCAAGTGTCAAACTCCAATGGGGGCG\rATAAACTCTAGTATGCCATTCCACAATATACACCCTCTCACCATCGGGGA\rATGCCCCAAATATGTGAAATCAAACAGATTAGTCCTTGCGACTGGGCTCA\rGAAATAGCCCTCAAAAAGAGAGAAGAAGAAAAAAGAGAGGATTATTTGGA\rGCTATAGCAGGTTTTATAGAGGGAGGATGGCAGGGAATGGTAGATGGTTG\rGTATGGGTACCACCATAGCAATGAGCAGGGGAGTGGGTACGCTGCAGACA\rAAGAATCCACTCAAAAGGCAATAGATGGAGTCACCAATAAGGTCAACTCG\rATCATTGACAAAATGAACACTCAGTTTGAGGCCGTTGGAAGGGAATTTAA\rCAACTTAGAAAGGAGAATAGAGAATTTAAACAAGAAGATGGAAGACGGGT\rTCCTAGATGTCTGGACTTATAATGCTGAACTTCTGGTTCTCATGGAAAAT\rGAGAGAACTCTAGACTTTCATGACTCAAATGTCAAGAACCTTTACGACAA\rGGTCCGACTACAGCTTAGGGATAATGCAAAGGAGCTGGGTAACGGTTGTT\rTCGAGTTCTATCATAAATGTGATAATGAATGTATGGAAAGTGTAAGAAAC\rGGAACGTATGACTACCCGCAGTATTCAGAAGAAGCAAGATTAAAAAGAGA\rGGAAATAAGTGGAGTAAAATTGGAATCAATAGGAATTTACCAAATACTGT\rCAATTTATTCTACAGTGGCGAGTTCCCTAGCACTGGCAATCATGATAGCT\rGGTCTATCCTTATGGATGTGCTCCAATGGGTCGTTACAA---------\r>TREESPARROW_HENAN_4_2004\rATGGAGAAAATAGTGCTTCTTCTTGCAATAGTCAGTCTTGTTAAAAGTGA\rTCAGATTTGCATTGGTTACCATGCAAACAACTCGACAGAGCAGGTTGACA\rCAATAATGCAAAAGAACGTTACTGTTACACATGCCCAAGACATACTGGAA\rAAGACACACAACGGGAAGCTCTGCGATCTAGATGGAGTGAAACCTCTAAT\rTTTAAGAGATTGTAGTGTAGCTGGATGGCTCCTCGGAAACCCAATGTGTG\rACGAATTCATCAATGTGCCGGAATGGTCTTACATAGTGGAGAAGGCCAGT\rCCAGCCAATGACCTCTGTTACCCAGGGGATTTCAACGACTATGAAGAACT\rGAAACACCTATTGAGCAGAATAAACCATTTTGAGAAAATTCAGATCATCC\rCCAAAAGTTCTTGGTCCGATCATGAAGCCTCA'..b'ACTTAGAAAGGAGAATAGAGAATTTAAACAAGAAGATGGAAGACGGAT\rTCCTAGATGTCTGGACTTATAATGCTGAACTTCTGGTTCTCATGGAAAAT\rGAGAGAACTCTAGACTTTCATGACTCAAATGTCAAGAACCTTTACGACAA\rGGTCCGACTACAGCTTAGGGATAATGCAAAAGAGCTAGGTAACGGTTGTT\rTCGAGTTCTATCACAAATGTGATAATGAATGCATGGAAAGTGTAAGAAAC\rGGAACGTATGACTACCCGCAATATTCAGAAGAAGCAAGGCTAAAAAGAGA\rGGAAATTAGTGGAGTAAAATTGGAATCAATAGGAACTTACCAAATACTGT\rCAATTTATTCAACAGTGGCAAGTTCCCTAGCGCTGGCAATCATGGTAGCT\rGGTCTATCTTTATGGATGTGCTCCAATGGTTCGTTACAATGCAGAATT\r>PEREGRINEFALCON_HK_D0028_2004\rATGGAGAAAATAGTGCTTCTTCTTGCAATAGTCAGTCTTGTTAAAAGTGA\rTCAGATTTGCATTGGTTACCATGCAAACAACTCGACAGAGCAGGTTGACA\rCAATAATGGAAAAGAATGTTACTGTTACACATGCCCAAGACATACTGGAA\rAAGACACACAATGGGAAGCTCTGTGACCTAGATGGGGTGAAGCCTCTAAT\rTTTGAGAGATTGTAGTGTCGCTGGATGGCTCCTCGGGAACCCAATGTGTG\rACGAATTCATCAATGTACCGGAATGGTCTTACATAGTGGAGAAGGCCAGT\rCCAGCCAATGACCTCTGTTACCCAGGTGATTTCAACGATTATGAAGAACT\rGAAACACCTATTGAGCAGAATAAACCATTTTGAGAAAATTCAGATCATCC\rCCAAAAGTTCTTGGTCCAATCATGAAGCCTCATCAGGGGTGAGCTCAGCA\rTGTCCATACCTGGGAAAGCCCTCCTTTTTCAGAAATGTGGTATGGCTTAT\rCAAAAAGAACAGTGCATACCCAACAATAAAGAGGAGCTACAATAATACCA\rACCAAGAAGATCTTTTGGTACTGTGGGGGATTCACCATCCTAATGATGCG\rGCAGAGCAGACAAAGCTCTATCAAAACCCAACCACCTATGTTTCCGTTGG\rAACATCAACACTAAACCAGAGATTGGTACCAAAAATAGCCACCAGATCCA\rAAGTAAACGGGCAAAGTGGAAGGATGGAGTTCTTCTGGACAATTTTAAAA\rCCGAATGATGCAATCAACTTCGAGAGTAATGGAAATTTCATTGCTCCAGA\rATATGCATACAAAATTGTCAAGAAAGGGGACTCAGCAATTATGAAAAGTG\rAATTGGAATATGGTAACTGCAATACCAAGTGTCAAACTCCAATGGGGGCG\rATAAACTCTAGTATGCCATTCCACAACATACACCCTCTCACCATCGGGGA\rATGCCCCAAATATGTGAAATCAAACAGATTAGTCCTTGCGACTGGGCTCA\rGAAATAGCCCTCAAAGAGAGAGAAGAAGAAAAAAGAGAGGACTATTTGGA\rGCTATAGCAGGTTTTATAGAGGGAGGATGGCAGGGAATGGTAGATGGTTG\rGTATGGATACCACCATAGCAATGAGCAGGGGAGTGGATACGCTGCAGACA\rAAGAATCCACTCAAAAGGCAATAGATGGAGTCACCAATAAGGTCAACTCG\rATCATTGACAAAATGAACACTCAGTTTGAGGCCGTTGGAAGGGAATTTAA\rTAACTTAGAAAGGAGAATAGAGAATTTAAACAAGAAGATGGAAGACGGAT\rTCCTAGATGTCTGGACTTATAATGCTGAACTTCTGGTTCTCATGGAAAAT\rGAGAGAACTCTAGACTTTCATGACTCAAATGTCAAGAACCTTTACGACAA\rGGTCCGACTACAGCTTAGGGATAATGCAAAAGAGCTGGGTAACGGTTGTT\rTCGAGTTCTATCACAAATGTGATAATGAATGTATGGAAAGTGTAAGAAAC\rGGAACGTATGACTACCCGCAGTATTCAGAAGAAGCAAGACTAAAAAGAGA\rGGAAATAAGTGGAGTAAAATTGGAATCAATAGGAACTTACCAAATACTGT\rCAATTTATTCAACAGTGGCGAGTTCCCTAGCGCTGGCAATCATGGTAGCT\rGGTCTATCTTTATGGATGTGCTCC------------------------\r>HONGKONG_1_538_97\r------------------------------------------------GA\rTCAGATTTGCATTGGTTACCATGCAAACAACTCGACAGAGCAGGTTGACA\rCAATAATGGAAAAGAATGTTACTGTTACACATGCCCAAGACATACTGGAA\rAGGACACACAACGGGAAGCTCTGCGATCTAAATGGAGTGAAACCTCTCAT\rTTTGAGGGATTGTAGTGTAGCTGGATGGCTCCTCGGAAACCCTATGTGTG\rACGAATTCATCAATGTGCCGGAATGGTCTTACATAGTGGAGAAGGCCAGT\rCCAGCCAATGACCTCTGTTATCCAGGGAATTTCAACGACTATGAAGAACT\rGAAACACCTATTGAGCAGAATAAACCATTTTGAGAAAATTCAGATCATCC\rCCAAAAGTTCTTGGTCCAATCATGATGCCTCATCAGGGGTGAGCTCAGCA\rTGTCCATACCTTGGGAGGTCCTCCTTTTTCAGAAATGTGGTATGGCTTAT\rCAAAAAGAACAGTGCATACCCAACAATAAAGAGGAGCTACAATAATACCA\rACCAAGAAGATCTTTTGGTACTGTGGGGGATTCACCATCCTAATGATGCG\rGCAGAGCAGACAAAGCTCTATCAAAATCCAACCACCTACATTTCCGTTGG\rAACATCAACACTGAACCAGAGATTGGTTCCAGAAATAGCTACTAGACCCA\rAAGTAAACGGGCAAAGTGGAAGAATGGAGTTCTTCTGGACAATTTTAAAG\rCCGAATGATGCCATCAATTTCGAGAGTAATGGAAATTTCATTGCCCCAGA\rATATGCATACAAAATTGTCAAGAAAGGGGACTCAACAATTATGAAAAGTG\rAATTGGAATATGGTAACTGCAACACCAAGTGTCAAACTCCAATGGGGGCG\rATAAACTCTAGTATGCCATTCCACAACATACACCCCCTCACCATCGGGGA\rATGCCCCAAATATGTGAAATCAAACAGATTAGTTCTTGCGACTGGACTCA\rGAAATACCCCTCAAAGGGAGAGAAGAAGAAAAAAGAGAGGACTATTTGGA\rGCTATAGCAGGTTTTATAGAGGGAGGATGGCAGGGAATGGTAGATGGTTG\rGTATGGGTACCACCATAGCAATGAGCAGGGGAGTGGATACGCTGCAGACC\rAAGAATCCACTCAAAAGGCAATAGATGGAGTCACCAATAAGGTCAACTCG\rATCATTAACAAAATGAACACTCAGTTTGAGGCCGTTGGAAGGGAATTTAA\rTAACTTAGAAAGGAGAATAGAGAATTTAAACAAGAAAATGGAAGACGGAT\rTCCTAGATGTCTGGACTTACAATGCTGAACTTCTGGTTCTCATGGAAAAT\rGAGAGAACTCTCGACTTTCATGACTCAAATGTCAAGAACCTTTACGACAA\rGGTCCGACTACAGCTTAGGGATAATGCAAAGGAACTGGGTAATGGTTGTT\rTCGAATTCTATCACAAATGTGATAATGAATGTATGGAAAGTGTAAGAAAC\rGGAACGTATGACTACCCGCAGTATTCAGAAGAAGCAAGACTAAACAGAGA\rGGAAATAAGTGGAGTAAAATTGGAATCAATGGGAACTTACCAAATACTGT\rCAATTTATTCAACAGTGGCGAGTTCCCTAGCACTGGCAATCATGGTAGCT\rGGTCTATCTTTATGGATGTGCTCCAATGGATCGTTACAATGCAGAATT\r\r\n\\ No newline at end of file\n'
b
diff -r fe399429a5d2 -r 0f108ee932ea test-data/meme-in1.nhx
--- a/test-data/meme-in1.nhx Thu Jan 17 04:22:54 2019 -0500
+++ b/test-data/meme-in1.nhx Wed Aug 21 12:24:34 2019 -0400
b
@@ -1,1 +1,1 @@
-(((((((TREESPARROW_HENAN_1_2004{FG}:0.0111333782927653,TREESPARROW_HENAN_3_2004{FG}:0.006193745941169043):0.0009956664967877545,TREESPARROW_HENAN_4_2004:0.004351652686857959):0.002267763895256407,(CHICKEN_HEBEI_326_2005:0.02100885319673648,(SWINE_ANHUI_1_2004:0.007702393698306516,TREESPARROW_HENAN_2_2004:0.00906278098731238):0.002095219592954275):0.003887237703073042):0.003404921392531202,(((CHICKEN_HONGKONG_915_97,(GOOSE_HONGKONG_W355_97,DUCK_HONGKONG_Y283_97:0.002798420018760263):0.002899766890966483):0.001306376767766534,HONGKONG_1_97_98:0.003844928589233716):0.000182535836694054,HONGKONG_1_538_97):0.02096173714686362):0.003130608143291779,(((DUCK_GUANGZHOU_20_2005:0.006299389645455026,GOOSE_SHANTOU_2216_2005:0.006207842095177651):0.002530613798219486,PEREGRINEFALCON_HK_D0028_2004:0.003608296348267232):0.003288900909856382,CK_HK_WF157_2003:0.00663129750258774):0.004655295319725731):0.0116808817874948,(((HUMAN_VIETNAM_CL105_2005:0.006521522005742001,DUCK_VIETNAM_376_2005:0.007877615936285868):0.001967887030302483,HUMAN_VIETNAM_3062_2004:0.001641397323851184):0.0003125512332168847,MALLARD_VIETNAM_16_2003:0.003244216605281072):0.0004125980823087554):0.0003400912533471183,CHICKEN_CK_160_2005:0.006168335080088849,DUCK_VIETNAM_272_2005:0.009465302724994452)
+((((((CHICKEN_HEBEI_326_2005:0.02100885319673648,(SWINE_ANHUI_1_2004:0.007702393698306516):0.002095219592954275):0.003887237703073042):0.003404921392531202,(((CHICKEN_HONGKONG_915_97,(GOOSE_HONGKONG_W355_97):0.002899766890966483):0.001306376767766534,HONGKONG_1_97_98:0.003844928589233716):0.000182535836694054,HONGKONG_1_538_97):0.02096173714686362):0.003130608143291779,(((GOOSE_SHANTOU_2216_2005:0.006207842095177651):0.002530613798219486,PEREGRINEFALCON_HK_D0028_2004:0.003608296348267232):0.003288900909856382,CK_HK_WF157_2003:0.00663129750258774):0.004655295319725731):0.0116808817874948,(((HUMAN_VIETNAM_CL105_2005:0.006521522005742001):0.001967887030302483,HUMAN_VIETNAM_3062_2004:0.001641397323851184):0.0003125512332168847,MALLARD_VIETNAM_16_2003:0.003244216605281072):0.0004125980823087554):0.0003400912533471183,CHICKEN_CK_160_2005:0.006168335080088849)
b
diff -r fe399429a5d2 -r 0f108ee932ea test-data/meme-out1.json
--- a/test-data/meme-out1.json Thu Jan 17 04:22:54 2019 -0500
+++ b/test-data/meme-out1.json Wed Aug 21 12:24:34 2019 -0400
[
b'@@ -1,849 +1,748 @@\n {\n- "analysis":{\n-   "info":"MEME (Mixed Effects Model of Evolution)\\n    estimates a site-wise synonymous (&alpha;) and a two-category mixture of non-synonymous\\n    (&beta;-, with proportion p-, and &beta;+ with proportion [1-p-]) rates, and\\n    uses a likelihood ratio test to determine if &beta;+ > &alpha; at a site.\\n    The estimates aggregate information over a proportion of branches at a site,\\n    so the signal is derived from\\n    episodic diversification, which is a combination of strength of selection [effect size] and\\n    the proportion of the tree affected. A subset of branches can be selected\\n    for testing as well, in which case an additional (nuisance) parameter will be\\n    inferred -- the non-synonymous rate on branches NOT selected for testing. Multiple partitions within a NEXUS file are also supported\\n    for recombination - aware analysis.\\n    ",\n-   "version":"2.0.1",\n-   "citation":"Detecting Individual Sites Subject to Episodic Diversifying Selection. _PLoS Genet_ 8(7): e1002764.",\n-   "authors":"Sergei L. Kosakovsky Pond, Steven Weaver",\n-   "contact":"spond@temple.edu",\n-   "requirements":"in-frame codon alignment and a phylogenetic tree"\n-  },\n- "fits":{\n-   "Nucleotide GTR":{\n-     "Log Likelihood":-4394.17778442101,\n-     "estimated parameters":47,\n-     "AIC-c":8882.482274823486,\n-     "Equilibrium frequencies":[\n-      [0.3460163217230355],\n-      [0.1876507375623983],\n-      [0.2296889898480005],\n-      [0.2366439508665657]\n-      ],\n-     "Rate Distributions":{\n-       "Substitution rate from nucleotide A to nucleotide C":0.1602243049428088,\n-       "Substitution rate from nucleotide A to nucleotide G":1,\n-       "Substitution rate from nucleotide A to nucleotide T":0.1350661843114337,\n-       "Substitution rate from nucleotide C to nucleotide G":0.04669906431175039,\n-       "Substitution rate from nucleotide C to nucleotide T":1.290725939052547,\n-       "Substitution rate from nucleotide G to nucleotide T":0.1442807316736102\n-      },\n-     "display order":0\n+ "MLE":{\n+   "content":{\n+     "0":      [\n+[0, 0, 1, 0, 0, 0, 1, 0, 0],\n+      [0, 0, 1, 0, 0, 0, 1, 0, 0],\n+      [0, 0, 0, 1.817789942174416, 1, 0, 0.6666666666666666, 0, 0.1215618554703716],\n+      [0, 0, 1, 0, 0, 0, 1, 0, 0],\n+      [0, 0, 1, 0, 0, 0, 1, 0, 0],\n+      [0, 0, 1, 0, 0, 0, 1, 0, 0],\n+      [0, 0, 1, 0, 0, 0, 1, 0, 0],\n+      [0, 0, 0, 1.900735833403759, 1, 0, 0.6666666666666666, 0, 0.1271087320415013],\n+      [4.223295318660594, 0, 0.1812832787403597, 0, 0.8187167212596403, 0, 0.6666666666666666, 0, 0.1220041843130002],\n+      [0, 0, 0, 1.454313013998262, 1, 0, 0.6666666666666666, 0, 0.0972549051541481],\n+      [0, 0, 0, 3.87077558632765, 1, 0, 0.6666666666666666, 0, 0.2588520551613089],\n+      [5.621376790757513, 1.370160457631764, 0.9999999999999731, 0.7647952134694137, 2.686739719592879e-14, 0, 0.6666666666666666, 0, 0.254019836850675],\n+      [0, 0, 1, 0, 0, 0, 1, 0, 0],\n+      [0, 0, 1, 0, 0, 0, 1, 0, 0],\n+      [0, 0, 1, 0, 0, 0, 1, 0, 0],\n+      [0, 0, 0, 1.424462463669818, 1, 0, 0.6666666666666666, 0, 0.09525869635105789],\n+      [5.523939453749047, 0, 0.10495989356895, 0, 0.89504010643105, 0, 0.6666666666666666, 0, 0.1595776938144102],\n+      [0, 0, 1, 0, 0, 0, 1, 0, 0],\n+      [0, 0, 1, 0, 0, 0, 1, 0, 0],\n+      [0, 0, 1, 0, 0, 0, 1, 0, 0],\n+      [0, 0, 0, 1.857975844217296, 1, 0, 0.6666666666666666, 0, 0.1242492247327626],\n+      [0, 0, 1, 0, 0, 0, 1, 0, 0],\n+      [0, 0, 1, 0, 0, 0, 1, 0, 0],\n+      [0, 0, 1, 0, 0, 0, 1, 0, 0],\n+      [0, 0, 1, 0, 0, 0, 1, 0, 0],\n+      [0, 0, 1, 0, 0, 0, 1, 0, 0],\n+      [0, 0, 1, 0, 0, 0, 1, 0, 0],\n+      [3.058609686328263, 0, 0.2099197871379, 0, 0.7900802128621, 0, 0.6666666666666666, 0, 0.08835829648556724],\n+      [0, 0, 1, 0, 0, 0, 1, 0, 0],\n+      [0, 0, 1, 0, 0, 0, 1, 0, 0],\n+      [0, 0, 1, 0, 0, 0, 1, 0, 0],\n+      [0, 0, 1, 0, 0, 0, 1, 0, 0],\n+      [4.559377199598298, 0, 0.21, 0, 0.79, 0, 0.6666666666666666, 0, 0.1317130473340185],\n+'..b'297],\n+      [0.01868069833194261],\n+      [0.0113660043356041],\n+      [0.01194713276105585],\n+      [0.01326031269640911],\n+      [0.02465674759639369],\n+      [0.01500204623524711],\n+      [0.01576908056409512],\n+      [0.01750235335932507],\n+      [0.02110645419006403],\n+      [0.02462414883970813],\n+      [0.01465982608978509],\n+      [0.008919561995751803],\n+      [0.009375607133978042],\n+      [0.01040613549725428],\n+      [0.01002571776178019],\n+      [0.01053831914788704],\n+      [0.0116966480569341],\n+      [0.02174920799128454],\n+      [0.01323299525169244],\n+      [0.01390958039696969],\n+      [0.01543846454447198] \n+      ],\n+     "Log Likelihood":-3569.784907463222,\n+     "Rate Distributions":{\n+       "non-synonymous/synonymous rate ratio for *test*":        [\n+[0.248895715005128, 1] \n+        ]\n+      },\n+     "display order":1,\n+     "estimated parameters":43\n+    },\n+   "Nucleotide GTR":{\n+     "AIC-c":7431.204675852382,\n+     "Equilibrium frequencies":      [\n+[0.3476574973769445],\n+      [0.1861228958532913],\n+      [0.2296428082660462],\n+      [0.2365767985037179] \n+      ],\n+     "Log Likelihood":-3679.541894127126,\n+     "Rate Distributions":{\n+       "Substitution rate from nucleotide A to nucleotide C":0.2089484190839437,\n+       "Substitution rate from nucleotide A to nucleotide G":1,\n+       "Substitution rate from nucleotide A to nucleotide T":0.1069376934774225,\n+       "Substitution rate from nucleotide C to nucleotide G":0.01756475048192434,\n+       "Substitution rate from nucleotide C to nucleotide T":1.483513244796427,\n+       "Substitution rate from nucleotide G to nucleotide T":0.1186889750817524\n+      },\n+     "display order":0,\n+     "estimated parameters":36\n+    }\n+  },\n+ "input":{\n+   "file name":"/tmp/tmpu23i1b/job_working_directory/000/3/working/meme_input.fa",\n+   "number of sequences":13,\n+   "number of sites":566,\n+   "partition count":1,\n+   "trees":{\n+     "0":"(((((CHICKEN_HEBEI_326_2005:0.02100885319673648,(SWINE_ANHUI_1_2004:0.007702393698306516)Node7:0.002095219592954275)Node5:0.003887237703073042)Node4:0.003404921392531202,(((CHICKEN_HONGKONG_915_97:-1,(GOOSE_HONGKONG_W355_97:-1)Node13:0.002899766890966483)Node11:0.001306376767766534,HONGKONG_1_97_98:0.003844928589233716)Node10:0.000182535836694054,HONGKONG_1_538_97:-1)Node9:0.02096173714686362)Node3:0.003130608143291779,(((GOOSE_SHANTOU_2216_2005:0.006207842095177651)Node19:0.002530613798219486,PEREGRINEFALCON_HK_D0028_2004:0.003608296348267232)Node18:0.003288900909856382,CK_HK_WF157_2003:0.00663129750258774)Node17:0.004655295319725731)Node2:0.0116808817874948,(((HUMAN_VIETNAM_CL105_2005:0.006521522005742001)Node25:0.001967887030302483,HUMAN_VIETNAM_3062_2004:0.001641397323851184)Node24:0.0003125512332168847,MALLARD_VIETNAM_16_2003:0.003244216605281072)Node23:0.0004125980823087554,CHICKEN_CK_160_2005:0.006168335080088849)"\n+    }\n+  },\n+ "tested":{\n+   "0":{\n+     "CHICKEN_CK_160_2005":"test",\n+     "CHICKEN_HEBEI_326_2005":"test",\n+     "CHICKEN_HONGKONG_915_97":"test",\n+     "CK_HK_WF157_2003":"test",\n+     "GOOSE_HONGKONG_W355_97":"test",\n+     "GOOSE_SHANTOU_2216_2005":"test",\n+     "HONGKONG_1_538_97":"test",\n+     "HONGKONG_1_97_98":"test",\n+     "HUMAN_VIETNAM_3062_2004":"test",\n+     "HUMAN_VIETNAM_CL105_2005":"test",\n+     "MALLARD_VIETNAM_16_2003":"test",\n+     "Node10":"test",\n+     "Node11":"test",\n+     "Node13":"test",\n+     "Node17":"test",\n+     "Node18":"test",\n+     "Node19":"test",\n+     "Node2":"test",\n+     "Node23":"test",\n+     "Node24":"test",\n+     "Node25":"test",\n+     "Node3":"test",\n+     "Node4":"test",\n+     "Node5":"test",\n+     "Node7":"test",\n+     "Node9":"test",\n+     "PEREGRINEFALCON_HK_D0028_2004":"test",\n+     "SWINE_ANHUI_1_2004":"test"\n+    }\n+  },\n+ "timers":{\n+   "MEME analysis":{\n+     "order":2,\n+     "timer":249\n+    },\n+   "Model fitting":{\n+     "order":1,\n+     "timer":2\n+    },\n+   "Total time":{\n+     "order":0,\n+     "timer":252\n     }\n   }\n }\n\\ No newline at end of file\n'
b
diff -r fe399429a5d2 -r 0f108ee932ea test-data/relax-in1.fa
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/relax-in1.fa Wed Aug 21 12:24:34 2019 -0400
b
@@ -0,0 +1,20 @@
+>Human
+AAAGAGATTACGAATGCCTTGGAAACCTGGGGTGCCTTGGGTCAGGACATCAACTTGGACATTCCTAGTTTTCAAATGAGTGATGATATTGACGATATAAAATGGGAAAAAACTTCAGACAAGAAAAAGATTGCACAATTCAGAAAAGAGAAAGAGACTTTCAAGGAAAAAGATACATATAAGCTATTTAAAAATGGAACTCTGAAAATTAAGCAT---CTGAAGACCGATGATCAGGATATCTACAAGGTATCAATATATGATACAAAAGGAAAAAATGTGTTGGAAAAAATATTTGATTTGAAGATTCAAGAGAGGGTCTCAAAACCAAAGATCTCCTGGACTTGTATCAACACAACCCTGACCTGTGAGGTAATGAATGGAACTGACCCCGAATTAAACCTGTATCAAGATGGGAAACATCTAAAA---CTTTCTCAGAGGGTCATCACACACAAGTGGACCACCAGCCTGAGTGCAAAATTCAAGTGCACAGCAGGGAACAAAGTCAGCAAGGAATCCAGTGTCGAGCCTGTCAGCTGTCCAGAGAAAGGTCTGGAC
+>Chimp
+GAAGAGATTACGAATGCCTTGGAAACCTGGGGTGCCTTGGGTCAGGACATCAACTTGGACATTCCTAGTTTTCAAATGAGTGATGATATTGACGATATAAAATGGGAAAAAACTTCAGACAAGAAAAAGATTGCACAATTCAGAAAAGAGAAAGAGACTTTCAAGGAAAAAGATACATATAAGCTATTTAAAAATGGAACTCTGAAAATTAAGCAT---CTGAAGACCGATGATCAGGATATCTACAAGGTATCAATATATGATACAAAAGGAAAAAATGTGTTGGAAAAAATATTTGATTTGAAGATTCAAGAGAGGGTCTCAAAACCAAAGATCTCCTGGACTTGTATCAACACAACCCTGACCTGTGAGGTAATGAATGGAACTGACCCCGAATTAAACCTGTATCAAGATGGGAAACATCTAAAA---CTTTCTCAGAGGGTCATCACACACAAGTGGACCACCAGCCTGAGTGCAAAATTCAAGTGCACAGCAGGGAACAAAGTCAGCAAGGAATCCAGTGTCGAGCCTGTCAGCTGTCCAGAGAAAGGTCTGGAC
+>Baboon
+AAAGAGATTAGGAATGCTTTGGAAACCTGGGGAGCGCTGGGTCAGGACATCGACTTGGACATTCCTAGTTTTCAAATGAGTGATGATATTGATGATATAAAATGGGAGAAAACTTCAGACAAGAAAAAGATTGCACAATTCAGAAAAGAGAAGGAGACTTTCGAGGAAAAAGATGCATATAAGCTATTTAAAAACGGAACTCTGAAAATTAAGCAT---CTGAAGATCCATGATCAGGATAGCTACAAGGTATCAATATACGATACAAAAGGAAAAAATGTGTTGGAAAAAACATTTGATTTGAAGATTCAAGAGAGGGTCTCAGAACCAAAGATCTCCTGGACTTGTATCAACACAACCCTGACCTGTGAAGTAATGAATGGAACTGACCCCGAATTAAACCTGTATCAAGATGGGAAACATCTAAAA---CTTTCTCAGAGGGTCATCACACACAAGTGGACCACCAGCCTGAGTGCGAAATTCAAGTGCACAGCAGGGAACAAAGTCAGCAAGGAATCCAGGATGGAGACTGTCAGCTGTCCAGAGAAAGGTCTGGAC
+>RhMonkey
+AAAGAGATTAGGAATGCTTTGGAAACCTGGGGAGCGCTGGGTCAGGACATCGACTTGGACATTCCTAGTTTTCAAATGAGTGATGATATTGATGATATAAGATGGGAAAAAACTTCAGACAAGAAAAAGATTGCACAATTCAGAAAAGAGAAGGAGACTTTCGAGGAAAAAGATGCATATAAGCTATTTAAAAACGGAACTCTGAAAAYTAAGCAT---CTGAAGATCCATGATCAGGATAGCTACAAGGTATCAATATACGATACAAAAGGAAAAAATGTGTTGGAAAAAACATTTGATTTGAAGATTCAAGAGAGGGTCTCAGAACCAAAGATCTCCTGGACTTGTATCAACACAACCCTGACCTGTGAAGTAATGAATGGAACTGRCCCCGAATTAAACCTGTATCAAGATGGGAAACATGTAAAA---CTTTCTCAGAGGGTCATCACACACAAGTGGACCACCAGCCTGAGTGCGAAATTCAAGTGCACAGCAGGGAACAAAGTCAGCAAGGAATCCAGGATGGAGACTGTCAGCTGTCCAGAGAAAGGTCTGGAC
+>Cow
+------------GAAAGCATTGTCGTCTGGGGTGCCCTGGATCATGACCTCAACCTGGACATTCCTGGTTTTCCAAGAAGTGATATAGTGGCAGATATAAAATGGAACAGA------AACAAAAACAAGATTGCACGAATAAAGAAAGATATGCCACTTCACAATGAAATGGACAAATATGATATGTTTACAAATGGAACTCTGAAAATTAAAACT---CTGATGAGAAACGATAGTGGTCTCTATGAGGTAGAGGTTTATGATTCAAATGGAGTAAACCTACTGAGCAAAAAATTTGATTTGAAGATTCAAGAGATGCTCTCAGGACCTGAAATTAACTGGATCTGTACCAACAGAACTGTGAGCTGCAAGGTAGAAAATGGAAGTAATCCTAAATTACAACTGTTTTTAAATACGACCCGTGTCAAACAAGATCATGGGAAGCTCATCACCTACACGTGGAACACCAGATGGAATAAAACATTCAAGTGCGTGGCGAGTAACCATGTCGATAGCAAAGTCAGCATAGAGATCGCCGTGTGTCCAGATGAAGGTCTGGAT
+>Pig
+---------------ACTGAGGTTGTCTGGGGCATCGTGGATCAAGACATCAACCTGGACATTCCTGAACTTTCAAAACATGATAACGTAGATCATATACGATGGCAGAAG------AATGAAAACAAGATCGCAGAATTTAAAAAAAACAAAGAAACTCACCCTGTGAAAGACACATACATGATGTTACCAAATGGAACTCTGAGAATTAAAGAT---CTGAAGAGAGATGATGAGGGTATCTACAAGGTAACTGTCTATGCTACGGATGGAAAACACATGCTGGAGAGAAAATTTGATTTGCCGATTCTAGATGGGGTCTCAAAACCTGTAATCTCCTGGAGCTGTGCCGACAAAACGGTGACCTGTGAGGTAGCAGAAGGAAGTGACCCTAAGTTAAAACTGTATGTAAATAAGTCCACTGCCAGAGAAGGTCGTCAGAAGGTCATCCTGTGGAAGTGGAACACCAAATGGAGCACATTATTCAAGTGTGTGGCCAGTAACAACGCCAGTGAGCAAATCAGCATGGTGACCATCAGTTGTACGGGGCAAGGTCTGGAT
+>Horse
+------------AAGAATATCACCATCTTGGGTGCCCTGGAACGTGATATCAACCTGGACATTCCTGCTTTTCAAATGAGTGAGCATGTAGAAGATATACAATGGAGCAAA------GGAAAAACCAAGATTGCAAAATTCAAAAATGGCAGTATGACTTTCCAGAAAGATAAAACATACGAGGTATTAAAAAATGGAACTCTGAAAATTAAACAT---CTGGAGAGAATTCATGAAGGTACCTACAAGGTAGACGCATATGATAGTGATGGAAAAAATGTGTTGGAGGAAACATTTCATTTGAGCCTTCTAGAGATGGTCTCAAAACCTAATATCTCCTGGAGCTGCACCAACACCACCCTGACCTGCGAGGTGACAAAAGGAACTGACTTTGAGTTAAAACTCTATCTAAATGGGAGAATGATCCAAAAAAGTCCTCGCAAAGTCATCGTATACAAGCGGGCCAGCAACCAAATTGCGTCCTTCAAGTGCACAGCCAATAACACAGTCAGCGAGGAAAGCAGCTCTGTGGTCATCAGGTGTACAGAGAAAGGTCTGGAT
+>Cat
+---------GCAAATGATGATATCGTCTGGGGTACCCTGGGTCAGGACATCAACCTGGACATTCCTGATTCTCAA---GGGATTAATATAGATGATATACACTGGGAAAAA------GGCAAGAAGAAGGTGGCGAGGTTCCAAATTAGCAACAAGCCTAAGAATCCAGATGAAAAATATAATGTGTCAATGAATGGAACTCTGAAAATTAAACAT---CTGATGCTAGAAGACTGCGATACCTACAAGGTTGTTATATACGATAAGGATGGAAAGAATGTGTTGGATAAAACATTTCAGCTGAAGATTCAAGAGAAGGTCTCAACGCCTAACATCGACTGGAATTGTATCAACAAAACCCTGGTCTGTAAGGTATCAAATGGAACAGACCCTGAATTAAAACTGTACGTAAATGGGACCAGTATCAAGCCCGTTTCTTCGAAGTTCAGCACATACAGGTTTATAAACAAGCAGAAGATATTAGTCAACTGCACGGCAGAAAACAAAGTCAGCAAGGAAAGCGACGTGAAGATGATCACTTGTTCAGAGAAGGGTCTGGAC
+>Mouse
+---------AGAGACAATGAGACCATCTGGGGTGTCTTGGGTCATGGCATCACCCTGAACATCCCCAACTTTCAAATGACTGATGATATTGATGAGGTGCGATGGGTAAGG------AGGGGCACCCTGGTCGCAGAGTTTAAAAGGAAGAAGCCACCTTTTTTGATATCAGAAACGTATGAGGTCTTAGCAAACGGATCCCTGAAGATAAAGAAGCCGATGATGAGAAACGACAGTGGCACCTATAATGTAATGGTGTATGGCACAAATGGGATGACTAGGCTGGAGAAGGACCTGGACGTGAGGATTCTGGAGAGGGTCTCAAAGCCCATGATCCACTGGGAATGCCCCAACACAACCCTGACCTGTGCGGTCTTGCAAGGGACAGATTTTGAACTGAAGCTGTATCAAGGGGAAACACTACTCAATAGTCTCCCCCAGAAGAACATGAGTTACCAGTGG---ACCAACCTGAACGCACCATTCAAGTGTGAGGCGATAAACCCGGTCAGCAAGGAGTCTAAGATGGAAGTTGTTAACTGTCCAGAGAAAGGTCTGTCC
+>Rat
+---------AGAGACAGTGGGACCGTCTGGGGTGCCCTGGGTCATGGCATCAACCTGAACATCCCTAACTTTCAAATGACTGATGATATTGATGAGGTGCGATGGGAGAGG------GGGAGCACCCTGGTTGCCGAGTTTAAAAGGAAGATGAAGCCTTTTTTGAAATCGGGAGCATTTGAGATCTTAGCAAATGGAGACTTGAAGATAAAGAAT---CTGACAAGAGATGACAGTGGCACCTATAATGTAACGGTATACAGCACAAATGGGACACGTATCCTGGACAAGGCACTGGACTTGAGGATTCTAGAGATGGTCTCAAAGCCGATGATCTACTGGGAGTGCAGCAACGCAACCCTGACCTGTGAGGTCTTGGAAGGAACAGATGTTGAACTAAAGCTGTACCAAGGAAAGGAGCATCTCAGGAGCCTCCGTCAGAAGACCATGAGTTACCAGTGG---ACCAACCTGAGAGCACCGTTTAAGTGCAAGGCGGTAAACAGGGTCAGCCAGGAGTCTGAGATGGAAGTTGTCAACTGTCCAGAGAAAGGTCTGCCC
b
diff -r fe399429a5d2 -r 0f108ee932ea test-data/relax-in1.nhx
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/relax-in1.nhx Wed Aug 21 12:24:34 2019 -0400
b
@@ -0,0 +1,1 @@
+((((Pig:0.147969,Cow{TEST}:0.21343):0.085099,Horse{TEST}:0.165787,Cat{TEST}:0.264806):0.058611,((RhMonkey:0.002015,Baboon:0.003108):0.022733,(Human:0.004349,Chimp:0.000799):0.011873):0.101856):0.340802,Rat:0.050958,Mouse:0.09795)
\ No newline at end of file
b
diff -r fe399429a5d2 -r 0f108ee932ea test-data/relax-in2.nhx
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/relax-in2.nhx Wed Aug 21 12:24:34 2019 -0400
b
@@ -0,0 +1,1 @@
+((((Pig{TEST}:0.147969,Cow{TEST}:0.21343){TEST}:0.085099,Horse:0.165787,Cat:0.264806){TEST}:0.058611,((RhMonkey{REFERENCE}:0.002015,Baboon{REFERENCE}:0.003108){REFERENCE}:0.022733,(Human{REFERENCE}:0.004349,Chimp{REFERENCE}:0.000799):0.011873){REFERENCE}:0.101856){REFERENCE}:0.340802,Rat{REFERENCE}:0.050958,Mouse{REFERENCE}:0.09795)
b
diff -r fe399429a5d2 -r 0f108ee932ea test-data/relax-out1.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/relax-out1.json Wed Aug 21 12:24:34 2019 -0400
[
b'@@ -0,0 +1,499 @@\n+{\n+ "analysis":{\n+   "info":"RELAX (a random effects test of selection relaxation) uses a random effects branch-site model framework to test whether a set of \'Test\' branches evolves under relaxed selection relative to a set of \'Reference\' branches (R), as measured by the relaxation parameter (K).\\n                                                Version 2.1 adds a check for stability in K estimates to try to mitigate convergence problems",\n+   "version":"2.1",\n+   "citation":"RELAX: Detecting Relaxed Selection in a Phylogenetic Framework (2015). Mol Biol Evol 32 (3): 820-832",\n+   "authors":"Sergei L Kosakovsky Pond, Ben Murrell, Steven Weaver and Temple iGEM / UCSD viral evolution group",\n+   "contact":"spond@temple.edu",\n+   "requirements":"in-frame codon alignment and a phylogenetic tree, with at least two groups of branches defined using the {} notation (one group can be defined as all unlabeled branches)"\n+  },\n+ "input":{\n+   "file name":"/home/galaxystaging/galaxy/database/jobs_directory/000/79/working/relax_input.fa",\n+   "number of sequences":10,\n+   "number of sites":187,\n+   "partition count":1,\n+   "trees":{\n+     "0":"((((Pig:0.147969,Cow:0.21343)Node3:0.085099,Horse:0.165787,Cat:0.264806)Node2:0.058611,((RhMonkey:0.002015,Baboon:0.003108)Node9:0.022733,(Human:0.004349,Chimp:0.000799)Node12:0.011873)Node8:0.101856)Node1:0.340802,Rat:0.050958,Mouse:0.09795)"\n+    }\n+  },\n+ "fits":{\n+   "Nucleotide GTR":{\n+     "Log Likelihood":-3531.964032193222,\n+     "estimated parameters":24,\n+     "AIC-c":7112.142925621896,\n+     "Equilibrium frequencies":[\n+      [0.3563279857397504],\n+      [0.1837789661319073],\n+      [0.2402852049910873],\n+      [0.2196078431372549]\n+      ],\n+     "Rate Distributions":{\n+       "Substitution rate from nucleotide A to nucleotide C":0.5465757107930838,\n+       "Substitution rate from nucleotide A to nucleotide G":1,\n+       "Substitution rate from nucleotide A to nucleotide T":0.264131123736109,\n+       "Substitution rate from nucleotide C to nucleotide G":0.4861812992450388,\n+       "Substitution rate from nucleotide C to nucleotide T":1.017887589835735,\n+       "Substitution rate from nucleotide G to nucleotide T":0.3021773696987065\n+      },\n+     "display order":0\n+    },\n+   "MG94xREV with separate rates for branch sets":{\n+     "Log Likelihood":-3460.931903299487,\n+     "estimated parameters":32,\n+     "AIC-c":6987.013507197776,\n+     "Equilibrium frequencies":[\n+      [0.04785168648208005],\n+      [0.03911346079312019],\n+      [0.04842054060317301],\n+      [0.04069665666515385],\n+      [0.01817010744778396],\n+      [0.01485205303123071],\n+      [0.01838611113045968],\n+      [0.01545321970309948],\n+      [0.0190138898893362],\n+      [0.01554175184587827],\n+      [0.01923992433904378],\n+      [0.01617083546230154],\n+      [0.02796925133965702],\n+      [0.02286176927319543],\n+      [0.02830174586718859],\n+      [0.02378714529482007],\n+      [0.01687870337957799],\n+      [0.01379647304851128],\n+      [0.01707935503225849],\n+      [0.01435491300079667],\n+      [0.006409133648843443],\n+      [0.005238757839512795],\n+      [0.006485324528555602],\n+      [0.005450807083377185],\n+      [0.006706760641638982],\n+      [0.005482034985409045],\n+      [0.006786489669196017],\n+      [0.005703931360295163],\n+      [0.009865581170012171],\n+      [0.008064021368173151],\n+      [0.009982861811889655],\n+      [0.008390428826966174],\n+      [0.03287895020631181],\n+      [0.02687490503171972],\n+      [0.033269810543681],\n+      [0.0279627207822247],\n+      [0.01248470225271473],\n+      [0.01020486315060615],\n+      [0.01263311863778268],\n+      [0.01061792547971484],\n+      [0.01306446616325414],\n+      [0.01067875601941112],\n+      [0.01321977470017749],\n+      [0.01111100011404158],\n+      [0.01921770557551369],\n+      [0.01570834862514353],\n+      [0.01944616295744266],\n+      [0.01634417558076203],\n+      [0.01975257768318274],\n+      [0.02055210293142003],\n+      [0.0091760343267108'..b',\n+       "k (general descriptive)":0.2294495132372282,\n+       "RELAX alternative":0.1341640738853253,\n+       "RELAX null":0.1483938193994467,\n+       "RELAX partitioned descriptive":0.1476318125310598\n+      },\n+     "Rat":{\n+       "original name":"Rat",\n+       "Nucleotide GTR":0.06669544716210057,\n+       "MG94xREV with separate rates for branch sets":0.06725647453745125,\n+       "General descriptive":0.07175915155128718,\n+       "k (general descriptive)":0.5208088414555363,\n+       "RELAX alternative":0.0724007498013708,\n+       "RELAX null":0.07365614414375878,\n+       "RELAX partitioned descriptive":0.07568744563050285\n+      },\n+     "Node1":{\n+       "Nucleotide GTR":0.2771601504028877,\n+       "MG94xREV with separate rates for branch sets":0.286127507474972,\n+       "General descriptive":0.3532216661512288,\n+       "k (general descriptive)":0.2199586786715634,\n+       "RELAX alternative":0.3833004811985787,\n+       "RELAX null":0.4576044234710181,\n+       "RELAX partitioned descriptive":0.4360897576025625\n+      },\n+     "Node12":{\n+       "Nucleotide GTR":0.01783222754921504,\n+       "MG94xREV with separate rates for branch sets":0.01799298835381691,\n+       "General descriptive":0.01771170858901891,\n+       "k (general descriptive)":0.1560499010177516,\n+       "RELAX alternative":0.01833338832069913,\n+       "RELAX null":0.01828012634520382,\n+       "RELAX partitioned descriptive":0.01877701767421286\n+      },\n+     "Node2":{\n+       "Nucleotide GTR":0.06619118337434968,\n+       "MG94xREV with separate rates for branch sets":0.06192085035608558,\n+       "General descriptive":0.05843310574046084,\n+       "k (general descriptive)":0.2816499194095207,\n+       "RELAX alternative":0.05469841675490748,\n+       "RELAX null":0.06219694236954142,\n+       "RELAX partitioned descriptive":0.06011281230238084\n+      },\n+     "Node3":{\n+       "Nucleotide GTR":0.09883746945145887,\n+       "MG94xREV with separate rates for branch sets":0.09744342239018626,\n+       "General descriptive":0.1340338084149808,\n+       "k (general descriptive)":0.8358980179450297,\n+       "RELAX alternative":0.1164056814082033,\n+       "RELAX null":0.1282588343299434,\n+       "RELAX partitioned descriptive":0.1194563668460339\n+      },\n+     "Node8":{\n+       "Nucleotide GTR":0.106110061225871,\n+       "MG94xREV with separate rates for branch sets":0.1090208137603471,\n+       "General descriptive":0.1401594332730181,\n+       "k (general descriptive)":0.9135621448569878,\n+       "RELAX alternative":0.1275155316795084,\n+       "RELAX null":0.1346842719904758,\n+       "RELAX partitioned descriptive":0.1358683972849559\n+      },\n+     "Node9":{\n+       "Nucleotide GTR":0.02567391471029082,\n+       "MG94xREV with separate rates for branch sets":0.02582385148170195,\n+       "General descriptive":0.02665352479510937,\n+       "k (general descriptive)":0.1089752436854629,\n+       "RELAX alternative":0.02681134359856903,\n+       "RELAX null":0.02759760291393045,\n+       "RELAX partitioned descriptive":0.02746061131173372\n+      }\n+    },\n+   "attributes":{\n+     "original name":{\n+       "attribute type":"node label",\n+       "display order":-1\n+      },\n+     "Nucleotide GTR":{\n+       "attribute type":"branch length",\n+       "display order":0\n+      },\n+     "MG94xREV with separate rates for branch sets":{\n+       "attribute type":"branch length",\n+       "display order":1\n+      },\n+     "General descriptive":{\n+       "attribute type":"branch length",\n+       "display order":4\n+      },\n+     "k (general descriptive)":{\n+       "attribute type":"branch label",\n+       "display order":4\n+      },\n+     "RELAX alternative":{\n+       "attribute type":"branch length",\n+       "display order":2\n+      },\n+     "RELAX null":{\n+       "attribute type":"branch length",\n+       "display order":3\n+      },\n+     "RELAX partitioned descriptive":{\n+       "attribute type":"branch length",\n+       "display order":5\n+      }\n+    }\n+  }\n+}\n\\ No newline at end of file\n'
b
diff -r fe399429a5d2 -r 0f108ee932ea test-data/sm19-in1.nhx
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/sm19-in1.nhx Wed Aug 21 12:24:34 2019 -0400
[
@@ -0,0 +1,152 @@
+#NEXUS
+begin taxa;
+ dimensions ntax=50;
+ taxlabels
+ C019-B2_10_1[&!color=#ff0000]
+ C019-B2_13_1[&!color=#ff0000]
+ C019-B2_16_1[&!color=#ff0000]
+ C019-B2_17_3[&!color=#ff0000]
+ C019-B2_18_1[&!color=#ff0000]
+ C019-B2_1_2[&!color=#ff0000]
+ C019-B2_24_1[&!color=#ff0000]
+ C019-B2_28_1[&!color=#ff0000]
+ C019-B2_29_1[&!color=#ff0000]
+ C019-B2_31_1[&!color=#ff0000]
+ C019-B2_32_1[&!color=#ff0000]
+ C019-B2_34_1[&!color=#ff0000]
+ C019-B2_35_1[&!color=#ff0000]
+ C019-B2_42_2[&!color=#ff0000]
+ C019-B2_43_2[&!color=#ff0000]
+ C019-B2_45_1[&!color=#ff0000]
+ C019-B2_46_2[&!color=#ff0000]
+ C019-B2_47_3[&!color=#ff0000]
+ C019-B2_4_1[&!color=#ff0000]
+ C019-B2_52_1[&!color=#ff0000]
+ C019-B2_53_1[&!color=#ff0000]
+ C019-B2_54_1[&!color=#ff0000]
+ C019-B2_5_1[&!color=#ff0000]
+ C019-B2_6_3[&!color=#ff0000]
+ C019-B2_9_1[&!color=#ff0000]
+ C019-S2_10_1[&!color=#0000ff]
+ C019-S2_11_1[&!color=#0000ff]
+ C019-S2_12_2[&!color=#0000ff]
+ C019-S2_13_1[&!color=#0000ff]
+ C019-S2_14_1[&!color=#0000ff]
+ C019-S2_15_4[&!color=#0000ff]
+ C019-S2_16_1[&!color=#0000ff]
+ C019-S2_17_1[&!color=#0000ff]
+ C019-S2_18_2[&!color=#0000ff]
+ C019-S2_19_1[&!color=#0000ff]
+ C019-S2_1_1[&!color=#0000ff]
+ C019-S2_20_2[&!color=#0000ff]
+ C019-S2_21_1[&!color=#0000ff]
+ C019-S2_22_1[&!color=#0000ff]
+ C019-S2_23_2[&!color=#0000ff]
+ C019-S2_24_1[&!color=#0000ff]
+ C019-S2_25_2[&!color=#0000ff]
+ C019-S2_2_1[&!color=#0000ff]
+ C019-S2_3_1[&!color=#0000ff]
+ C019-S2_4_1[&!color=#0000ff]
+ C019-S2_5_1[&!color=#0000ff]
+ C019-S2_6_1[&!color=#0000ff]
+ C019-S2_7_1[&!color=#0000ff]
+ C019-S2_8_1[&!color=#0000ff]
+ C019-S2_9_1[&!color=#0000ff]
+;
+end;
+
+begin trees;
+ tree tree_1 = [&R] ((((((C019-B2_35_1:0.005858,C019-B2_52_1:0.001773):9.4E-4,((((((C019-B2_28_1:0.002896,C019-B2_29_1:9.09E-4):0.004372,C019-B2_31_1:0.003387):0.001252,C019-S2_9_1:0.001965):4.28E-4,C019-B2_34_1:0.003365):0.00173,C019-S2_2_1:0.011763):5.94E-4,((((C019-B2_4_1:0.002924,C019-B2_6_3:8.81E-4):0.001821,C019-B2_5_1:0.001994):0.006052,C019-S2_1_1:0.011533):0.002707,((C019-S2_4_1:0.006447,C019-S2_6_1:0.00696):0.001115,C019-S2_7_1:0.004624):0.003256):0.001452):0.002006):3.96E-4,((C019-S2_10_1:0.005429,C019-S2_12_2:3.52E-4):9.31E-4,C019-B2_42_2:9.87E-4):6.51E-4):5.28E-4,(C019-B2_53_1:0.002654,C019-B2_54_1:0.001151):0.002202):3.98E-4,((((((C019-B2_9_1:0.003599,C019-B2_10_1:0.002149):0.003701,C019-B2_1_2:0.011845):0.001658,C019-S2_3_1:0.009874):1.58E-4,C019-S2_5_1:0.009998):2.67E-4,(((C019-B2_17_3:0.0,C019-S2_22_1:0.0):6.76E-4,C019-B2_16_1:0.003129):2.62E-4,(((((C019-B2_18_1:0.0,C019-S2_25_2:0.0):3.0E-5,C019-S2_24_1:-3.0E-5):7.69E-4,C019-S2_23_2:0.003047):4.93E-4,(((((C019-B2_24_1:0.004304,C019-S2_19_1:-0.002103):0.00459,C019-S2_17_1:0.00129):0.002822,C019-S2_18_2:0.004477):8.52E-4,C019-S2_21_1:0.001446):8.3E-4,C019-S2_20_2:0.003028):0.002252):0.001275,C019-B2_13_1:0.006181):9.2E-4):0.003349):0.001411,C019-S2_13_1:-4.68E-4):0.001963):3.46E-4,(((C019-B2_45_1:8.37E-4,C019-S2_8_1:0.006794):0.001393,C019-S2_14_1:5.17E-4):3.77E-4,(((C019-B2_32_1:0.005635,C019-B2_43_2:0.001995):9.13E-4,C019-S2_11_1:0.002993):5.52E-4,(((C019-B2_46_2:0.0,C019-S2_15_4:0.0):0.001576,C019-S2_16_1:0.002229):0.001073,C019-B2_47_3:8.77E-4):8.62E-4):7.32E-4):3.46E-4);
+end;
+
+begin figtree;
+ set appearance.backgroundColorAttribute="Default";
+ set appearance.backgroundColour=#ffffff;
+ set appearance.branchColorAttribute="User selection";
+ set appearance.branchColorGradient=false;
+ set appearance.branchLineWidth=1.0;
+ set appearance.branchMinLineWidth=0.0;
+ set appearance.branchWidthAttribute="Fixed";
+ set appearance.foregroundColour=#000000;
+ set appearance.hilightingGradient=false;
+ set appearance.selectionColour=#2d3680;
+ set branchLabels.colorAttribute="User selection";
+ set branchLabels.displayAttribute="Branch times";
+ set branchLabels.fontName="sansserif";
+ set branchLabels.fontSize=8;
+ set branchLabels.fontStyle=0;
+ set branchLabels.isShown=false;
+ set branchLabels.significantDigits=4;
+ set layout.expansion=0;
+ set layout.layoutType="RECTILINEAR";
+ set layout.zoom=0;
+ set legend.attribute=null;
+ set legend.fontSize=10.0;
+ set legend.isShown=false;
+ set legend.significantDigits=4;
+ set nodeBars.barWidth=4.0;
+ set nodeBars.displayAttribute=null;
+ set nodeBars.isShown=false;
+ set nodeLabels.colorAttribute="User selection";
+ set nodeLabels.displayAttribute="Node ages";
+ set nodeLabels.fontName="sansserif";
+ set nodeLabels.fontSize=8;
+ set nodeLabels.fontStyle=0;
+ set nodeLabels.isShown=false;
+ set nodeLabels.significantDigits=4;
+ set nodeShapeExternal.colourAttribute="User selection";
+ set nodeShapeExternal.isShown=false;
+ set nodeShapeExternal.minSize=10.0;
+ set nodeShapeExternal.scaleType=Width;
+ set nodeShapeExternal.shapeType=Circle;
+ set nodeShapeExternal.size=4.0;
+ set nodeShapeExternal.sizeAttribute="Fixed";
+ set nodeShapeInternal.colourAttribute="User selection";
+ set nodeShapeInternal.isShown=false;
+ set nodeShapeInternal.minSize=10.0;
+ set nodeShapeInternal.scaleType=Width;
+ set nodeShapeInternal.shapeType=Circle;
+ set nodeShapeInternal.size=4.0;
+ set nodeShapeInternal.sizeAttribute="Fixed";
+ set polarLayout.alignTipLabels=false;
+ set polarLayout.angularRange=0;
+ set polarLayout.rootAngle=0;
+ set polarLayout.rootLength=100;
+ set polarLayout.showRoot=true;
+ set radialLayout.spread=0.0;
+ set rectilinearLayout.alignTipLabels=false;
+ set rectilinearLayout.curvature=0;
+ set rectilinearLayout.rootLength=100;
+ set scale.offsetAge=0.0;
+ set scale.rootAge=1.0;
+ set scale.scaleFactor=1.0;
+ set scale.scaleRoot=false;
+ set scaleAxis.automaticScale=true;
+ set scaleAxis.fontSize=8.0;
+ set scaleAxis.isShown=false;
+ set scaleAxis.lineWidth=1.0;
+ set scaleAxis.majorTicks=1.0;
+ set scaleAxis.minorTicks=0.5;
+ set scaleAxis.origin=0.0;
+ set scaleAxis.reverseAxis=false;
+ set scaleAxis.showGrid=true;
+ set scaleBar.automaticScale=true;
+ set scaleBar.fontSize=10.0;
+ set scaleBar.isShown=true;
+ set scaleBar.lineWidth=1.0;
+ set scaleBar.scaleRange=0.0;
+ set tipLabels.colorAttribute="User selection";
+ set tipLabels.displayAttribute="Names";
+ set tipLabels.fontName="sansserif";
+ set tipLabels.fontSize=8;
+ set tipLabels.fontStyle=0;
+ set tipLabels.isShown=true;
+ set tipLabels.significantDigits=4;
+ set trees.order=false;
+ set trees.orderType="increasing";
+ set trees.rooting=false;
+ set trees.rootingType="User Selection";
+ set trees.transform=false;
+ set trees.transformType="cladogram";
+end;
+
b
diff -r fe399429a5d2 -r 0f108ee932ea test-data/sm19-in2.nhx
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/sm19-in2.nhx Wed Aug 21 12:24:34 2019 -0400
[
@@ -0,0 +1,166 @@
+#NEXUS
+begin taxa;
+ dimensions ntax=64;
+ taxlabels
+ C019-B3_103_1[&!color=#ff0000]
+ C019-B3_10_1[&!color=#ff0000]
+ C019-B3_121_1[&!color=#ff0000]
+ C019-B3_122_4[&!color=#ff0000]
+ C019-B3_125_1[&!color=#ff0000]
+ C019-B3_132_1[&!color=#ff0000]
+ C019-B3_140_2[&!color=#ff0000]
+ C019-B3_144_1[&!color=#ff0000]
+ C019-B3_147_1[&!color=#ff0000]
+ C019-B3_154_1[&!color=#ff0000]
+ C019-B3_162_1[&!color=#ff0000]
+ C019-B3_164_1[&!color=#ff0000]
+ C019-B3_173_1[&!color=#ff0000]
+ C019-B3_179_1[&!color=#ff0000]
+ C019-B3_180_1[&!color=#ff0000]
+ C019-B3_18_1[&!color=#ff0000]
+ C019-B3_1_1[&!color=#ff0000]
+ C019-B3_201_1[&!color=#ff0000]
+ C019-B3_211_4[&!color=#ff0000]
+ C019-B3_26_6[&!color=#ff0000]
+ C019-B3_27_1[&!color=#ff0000]
+ C019-B3_32_1[&!color=#ff0000]
+ C019-B3_37_1[&!color=#ff0000]
+ C019-B3_3_2[&!color=#ff0000]
+ C019-B3_57_1[&!color=#ff0000]
+ C019-B3_59_1[&!color=#ff0000]
+ C019-B3_61_3[&!color=#ff0000]
+ C019-B3_63_1[&!color=#ff0000]
+ C019-B3_84_1[&!color=#ff0000]
+ C019-B3_87_1[&!color=#ff0000]
+ C019-B3_94_1[&!color=#ff0000]
+ C019-B3_98_1[&!color=#ff0000]
+ C019-S3_10_3[&!color=#0000ff]
+ C019-S3_11_1[&!color=#0000ff]
+ C019-S3_12_1[&!color=#0000ff]
+ C019-S3_13_1[&!color=#0000ff]
+ C019-S3_14_1[&!color=#0000ff]
+ C019-S3_15_1[&!color=#0000ff]
+ C019-S3_16_1[&!color=#0000ff]
+ C019-S3_17_1[&!color=#0000ff]
+ C019-S3_18_1[&!color=#0000ff]
+ C019-S3_19_2[&!color=#0000ff]
+ C019-S3_1_3[&!color=#0000ff]
+ C019-S3_20_1[&!color=#0000ff]
+ C019-S3_21_1[&!color=#0000ff]
+ C019-S3_22_2[&!color=#0000ff]
+ C019-S3_23_6[&!color=#0000ff]
+ C019-S3_24_1[&!color=#0000ff]
+ C019-S3_25_1[&!color=#0000ff]
+ C019-S3_26_1[&!color=#0000ff]
+ C019-S3_27_1[&!color=#0000ff]
+ C019-S3_28_1[&!color=#0000ff]
+ C019-S3_29_1[&!color=#0000ff]
+ C019-S3_2_1[&!color=#0000ff]
+ C019-S3_30_5[&!color=#0000ff]
+ C019-S3_31_1[&!color=#0000ff]
+ C019-S3_32_1[&!color=#0000ff]
+ C019-S3_3_1[&!color=#0000ff]
+ C019-S3_4_1[&!color=#0000ff]
+ C019-S3_5_1[&!color=#0000ff]
+ C019-S3_6_1[&!color=#0000ff]
+ C019-S3_7_44[&!color=#0000ff]
+ C019-S3_8_1[&!color=#0000ff]
+ C019-S3_9_1[&!color=#0000ff]
+;
+end;
+
+begin trees;
+ tree tree_1 = [&R] (((((((C019-S3_30_5:0.001628,C019-S3_29_1:0.006003):0.00113,(C019-B3_173_1:0.001171,C019-S3_28_1:0.002634):0.001744):8.3E-4,C019-B3_132_1:0.014016):5.86E-4,((C019-S3_25_1:0.002323,C019-S3_26_1:0.001482):9.35E-4,C019-B3_144_1:0.004793):0.001476):5.2E-4,((C019-B3_140_2:0.005006,C019-B3_211_4:7.09E-4):0.005792,C019-S3_24_1:0.003793):6.51E-4):3.29E-4,((((((C019-B3_180_1:0.007012,C019-S3_12_1:0.002539):0.001059,C019-B3_164_1:0.004685):0.001059,C019-B3_201_1:0.002755):4.7E-4,C019-S3_27_1:0.004308):5.29E-4,(C019-B3_179_1:0.00111,C019-B3_162_1:0.006521):0.001397):4.5E-4,(((C019-B3_98_1:0.00603,C019-B3_84_1:0.011255):0.001462,C019-B3_3_2:0.01022):0.004778,(((((C019-B3_122_4:-1.5E-5,C019-B3_121_1:0.003821):1.07E-4,(((C019-S3_6_1:3.19E-4,C019-S3_5_1:0.003493):2.06E-4,C019-S3_4_1:0.003609):1.56E-4,C019-S3_7_44:-1.63E-4):0.001868):8.3E-5,C019-S3_2_1:0.003743):9.49E-4,C019-S3_3_1:9.47E-4):1.32E-4,((((((C019-B3_87_1:0.004026,C019-B3_94_1:0.003649):0.001868,C019-S3_9_1:0.001947):5.6E-5,C019-S3_8_1:0.001847):0.002662,C019-S3_10_3:0.003074):0.001087,C019-B3_103_1:0.002733):2.29E-4,(C019-S3_1_3:0.003978,C019-B3_125_1:0.003697):9.13E-4):4.97E-4):0.006645):7.82E-4):8.25E-4):5.47E-4,((((C019-S3_22_2:9.84E-4,C019-S3_23_6:0.005041):0.001644,(((((((((C019-B3_32_1:0.001955,C019-S3_15_1:-5.5E-5):9.11E-4,C019-B3_37_1:9.97E-4):0.001209,C019-B3_57_1:0.002666):0.001047,C019-B3_59_1:0.001825):0.001321,(C019-B3_26_6:-2.4E-5,C019-B3_27_1:2.4E-5):0.006853):0.001793,C019-B3_10_1:0.009272):0.001166,((C019-S3_19_2:7.58E-4,C019-S3_17_1:0.003048):0.001952,C019-S3_11_1:0.007625):0.001734):0.001109,C019-B3_147_1:0.00437):0.001515,(((C019-S3_32_1:0.009024,C019-S3_31_1:0.002453):0.007605,C019-B3_1_1:0.014729):0.003341,(C019-S3_14_1:0.002908,C019-S3_13_1:0.004722):0.006888):0.001642):0.00149):2.85E-4,(((C019-S3_20_1:4.17E-4,C019-S3_21_1:0.001505):0.001098,C019-S3_16_1:0.00369):0.00156,((C019-B3_61_3:7.33E-4,C019-B3_63_1:0.006898):0.003303,C019-B3_18_1:0.0063):0.00288):7.85E-4):1.97E-4,(C019-S3_18_1:3.32E-4,C019-B3_154_1:0.00368):0.001664):5.47E-4);
+end;
+
+begin figtree;
+ set appearance.backgroundColorAttribute="Default";
+ set appearance.backgroundColour=#ffffff;
+ set appearance.branchColorAttribute="User selection";
+ set appearance.branchColorGradient=false;
+ set appearance.branchLineWidth=1.0;
+ set appearance.branchMinLineWidth=0.0;
+ set appearance.branchWidthAttribute="Fixed";
+ set appearance.foregroundColour=#000000;
+ set appearance.hilightingGradient=false;
+ set appearance.selectionColour=#2d3680;
+ set branchLabels.colorAttribute="User selection";
+ set branchLabels.displayAttribute="Branch times";
+ set branchLabels.fontName="sansserif";
+ set branchLabels.fontSize=8;
+ set branchLabels.fontStyle=0;
+ set branchLabels.isShown=false;
+ set branchLabels.significantDigits=4;
+ set layout.expansion=0;
+ set layout.layoutType="RECTILINEAR";
+ set layout.zoom=0;
+ set legend.attribute=null;
+ set legend.fontSize=10.0;
+ set legend.isShown=false;
+ set legend.significantDigits=4;
+ set nodeBars.barWidth=4.0;
+ set nodeBars.displayAttribute=null;
+ set nodeBars.isShown=false;
+ set nodeLabels.colorAttribute="User selection";
+ set nodeLabels.displayAttribute="Node ages";
+ set nodeLabels.fontName="sansserif";
+ set nodeLabels.fontSize=8;
+ set nodeLabels.fontStyle=0;
+ set nodeLabels.isShown=false;
+ set nodeLabels.significantDigits=4;
+ set nodeShapeExternal.colourAttribute="User selection";
+ set nodeShapeExternal.isShown=false;
+ set nodeShapeExternal.minSize=10.0;
+ set nodeShapeExternal.scaleType=Width;
+ set nodeShapeExternal.shapeType=Circle;
+ set nodeShapeExternal.size=4.0;
+ set nodeShapeExternal.sizeAttribute="Fixed";
+ set nodeShapeInternal.colourAttribute="User selection";
+ set nodeShapeInternal.isShown=false;
+ set nodeShapeInternal.minSize=10.0;
+ set nodeShapeInternal.scaleType=Width;
+ set nodeShapeInternal.shapeType=Circle;
+ set nodeShapeInternal.size=4.0;
+ set nodeShapeInternal.sizeAttribute="Fixed";
+ set polarLayout.alignTipLabels=false;
+ set polarLayout.angularRange=0;
+ set polarLayout.rootAngle=0;
+ set polarLayout.rootLength=100;
+ set polarLayout.showRoot=true;
+ set radialLayout.spread=0.0;
+ set rectilinearLayout.alignTipLabels=false;
+ set rectilinearLayout.curvature=0;
+ set rectilinearLayout.rootLength=100;
+ set scale.offsetAge=0.0;
+ set scale.rootAge=1.0;
+ set scale.scaleFactor=1.0;
+ set scale.scaleRoot=false;
+ set scaleAxis.automaticScale=true;
+ set scaleAxis.fontSize=8.0;
+ set scaleAxis.isShown=false;
+ set scaleAxis.lineWidth=1.0;
+ set scaleAxis.majorTicks=1.0;
+ set scaleAxis.minorTicks=0.5;
+ set scaleAxis.origin=0.0;
+ set scaleAxis.reverseAxis=false;
+ set scaleAxis.showGrid=true;
+ set scaleBar.automaticScale=true;
+ set scaleBar.fontSize=10.0;
+ set scaleBar.isShown=true;
+ set scaleBar.lineWidth=1.0;
+ set scaleBar.scaleRange=0.0;
+ set tipLabels.colorAttribute="User selection";
+ set tipLabels.displayAttribute="Names";
+ set tipLabels.fontName="sansserif";
+ set tipLabels.fontSize=8;
+ set tipLabels.fontStyle=0;
+ set tipLabels.isShown=true;
+ set tipLabels.significantDigits=4;
+ set trees.order=false;
+ set trees.orderType="increasing";
+ set trees.rooting=false;
+ set trees.rootingType="User Selection";
+ set trees.transform=false;
+ set trees.transformType="cladogram";
+end;
+
b
diff -r fe399429a5d2 -r 0f108ee932ea test-data/sm19-out1.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/sm19-out1.json Wed Aug 21 12:24:34 2019 -0400
b
b'@@ -0,0 +1,2606 @@\n+{\n+ "compartments":2,\n+ "events":{\n+   "C019-B2_18_1":{\n+     "from":"Semen",\n+     "to":"Blood"\n+    },\n+   "C019-B2_24_1":{\n+     "from":"Semen",\n+     "to":"Blood"\n+    },\n+   "C019-B2_45_1":{\n+     "from":"Semen",\n+     "to":"Blood"\n+    },\n+   "C019-B2_46_2":{\n+     "from":"Semen",\n+     "to":"Blood"\n+    },\n+   "C019-B2_47_3":{\n+     "from":"Semen",\n+     "to":"Blood"\n+    },\n+   "C019-S2_1_1":{\n+     "from":"Blood",\n+     "to":"Semen"\n+    },\n+   "C019-S2_22_1":{\n+     "from":"Blood",\n+     "to":"Semen"\n+    },\n+   "C019-S2_2_1":{\n+     "from":"Blood",\n+     "to":"Semen"\n+    },\n+   "C019-S2_9_1":{\n+     "from":"Blood",\n+     "to":"Semen"\n+    },\n+   "Node2":{\n+     "from":"Semen",\n+     "to":"Blood"\n+    },\n+   "Node28":{\n+     "from":"Blood",\n+     "to":"Semen"\n+    },\n+   "Node34":{\n+     "from":"Blood",\n+     "to":"Semen"\n+    },\n+   "Node45":{\n+     "from":"Semen",\n+     "to":"Blood"\n+    },\n+   "Node52":{\n+     "from":"Semen",\n+     "to":"Blood"\n+    },\n+   "Node59":{\n+     "from":"Blood",\n+     "to":"Semen"\n+    },\n+   "Node88":{\n+     "from":"Semen",\n+     "to":"Blood"\n+    }\n+  },\n+ "leaf-count":50,\n+ "migrations":16,\n+ "node-migrations":{\n+   "Node10":1,\n+   "Node11":1,\n+   "Node12":0,\n+   "Node13":0,\n+   "Node2":6,\n+   "Node20":2,\n+   "Node21":1,\n+   "Node22":0,\n+   "Node23":0,\n+   "Node28":1,\n+   "Node29":0,\n+   "Node3":5,\n+   "Node33":1,\n+   "Node34":1,\n+   "Node38":0,\n+   "Node4":4,\n+   "Node41":6,\n+   "Node42":6,\n+   "Node43":1,\n+   "Node44":1,\n+   "Node45":1,\n+   "Node46":0,\n+   "Node5":0,\n+   "Node52":5,\n+   "Node53":1,\n+   "Node54":1,\n+   "Node58":3,\n+   "Node59":3,\n+   "Node60":1,\n+   "Node61":1,\n+   "Node62":1,\n+   "Node67":1,\n+   "Node68":1,\n+   "Node69":1,\n+   "Node70":1,\n+   "Node71":1,\n+   "Node79":16,\n+   "Node8":4,\n+   "Node80":4,\n+   "Node81":1,\n+   "Node82":1,\n+   "Node86":3,\n+   "Node87":1,\n+   "Node88":1,\n+   "Node9":2,\n+   "Node92":2,\n+   "Node93":1,\n+   "Node94":1\n+  },\n+ "node-p-value":{\n+   "panmictic":{\n+     "Node10":0.3866133866133866,\n+     "Node11":0.6103896103896104,\n+     "Node12":0.1568431568431568,\n+     "Node13":0.3486513486513487,\n+     "Node2":0.4045954045954046,\n+     "Node20":0.5954045954045954,\n+     "Node21":0.6183816183816184,\n+     "Node22":0.1538461538461539,\n+     "Node23":0.3626373626373626,\n+     "Node28":0.9050949050949051,\n+     "Node29":0.3786213786213786,\n+     "Node3":0.2897102897102897,\n+     "Node33":0.8901098901098901,\n+     "Node34":1,\n+     "Node38":0.3966033966033966,\n+     "Node4":0.2787212787212787,\n+     "Node41":0.3816183816183816,\n+     "Node42":0.4715284715284715,\n+     "Node43":0.3926073926073926,\n+     "Node44":0.6113886113886113,\n+     "Node45":0.8561438561438561,\n+     "Node46":0.4015984015984016,\n+     "Node5":0.3886113886113886,\n+     "Node52":0.7592407592407593,\n+     "Node53":0.8971028971028971,\n+     "Node54":1,\n+     "Node58":0.3706293706293706,\n+     "Node59":0.5024975024975025,\n+     "Node60":0.5954045954045954,\n+     "Node61":0.8671328671328671,\n+     "Node62":1,\n+     "Node67":0.2117882117882118,\n+     "Node68":0.3646353646353646,\n+     "Node69":0.5784215784215784,\n+     "Node70":0.8501498501498501,\n+     "Node71":1,\n+     "Node79":0.3846153846153846,\n+     "Node8":0.5424575424575424,\n+     "Node80":0.926073926073926,\n+     "Node81":0.8901098901098901,\n+     "Node82":1,\n+     "Node86":0.967032967032967,\n+     "Node87":0.8901098901098901,\n+     "Node88":1,\n+     "Node9":0.7902097902097902,\n+     "Node92":1,\n+     "Node93":0.8721278721278721,\n+     "Node94":1\n+    },\n+   "structured":{\n+     "Node10":0.935064935064935,\n+     "Node11":1,\n+     "Node12":0.8671328671328671,\n+     "Node13":1,\n+     "Node2":0.7232767232767233,\n+     "Node20":0.9760239760239761,\n+     "Node21":1,\n+     "Node22":0.8731268731268731,\n+     "Node23":1,\n+     "Node28":0.9050949050949051,\n+     "Node29":1,\n+     "Node3":0.9100899100899101,\n+     "Node33":1,\n+     "Node34":1,\n+     "Node38":1,\n+     "Node4":0.936063936063936,\n+     "Node41":0.70'..b'1:0.001994)0.1538461538461539:0.006052,C019-S2_1_1:0.011533)0.6183816183816184:0.002707,((C019-S2_4_1:0.006447,C019-S2_6_1:0.00696)0.3786213786213786:0.001115,C019-S2_7_1:0.004624)0.9050949050949051:0.003256)0.5954045954045954:0.001452)0.5424575424575424:0.002006)0.2787212787212787:0.000396,((C019-S2_10_1:0.005429,C019-S2_12_2:0.000352)1:0.000931,C019-B2_42_2:0.000987)0.8901098901098901:0.000651)0.2897102897102897:0.000528,(C019-B2_53_1:0.002654,C019-B2_54_1:0.001151)0.3966033966033966:0.002202)0.4045954045954046:0.000398,((((((C019-B2_9_1:0.003599,C019-B2_10_1:0.002149)0.4015984015984016:0.003701,C019-B2_1_2:0.011845)0.8561438561438561:0.001658,C019-S2_3_1:0.009874000000000001)0.6113886113886113:0.000158,C019-S2_5_1:0.009998)0.3926073926073926:0.000267,(((C019-B2_17_3:1e-10,C019-S2_22_1:1e-10)1:0.000676,C019-B2_16_1:0.003129)0.8971028971028971:0.000262,(((((C019-B2_18_1:1e-10,C019-S2_25_2:1e-10)1:3e-05,C019-S2_24_1:1e-10)0.8671328671328671:0.000769,C019-S2_23_2:0.003047)0.5954045954045954:0.0004929999999999999,(((((C019-B2_24_1:0.004304,C019-S2_19_1:1e-10)1:0.00459,C019-S2_17_1:0.00129)0.8501498501498501:0.002822,C019-S2_18_2:0.004477)0.5784215784215784:0.000852,C019-S2_21_1:0.001446)0.3646353646353646:0.00083,C019-S2_20_2:0.003028)0.2117882117882118:0.002252)0.5024975024975025:0.001275,C019-B2_13_1:0.006181)0.3706293706293706:0.00092)0.7592407592407593:0.003349)0.4715284715284715:0.001411,C019-S2_13_1:1e-10)0.3816183816183816:0.001963,(((C019-B2_45_1:0.000837,C019-S2_8_1:0.006794)1:0.001393,C019-S2_14_1:0.000517)0.8901098901098901:0.000377,(((C019-B2_32_1:0.005635,C019-B2_43_2:0.001995)1:0.000913,C019-S2_11_1:0.002993)0.8901098901098901:0.000552,(((C019-B2_46_2:1e-10,C019-S2_15_4:1e-10)1:0.001576,C019-S2_16_1:0.002229)0.8721278721278721:0.001073,C019-B2_47_3:0.000877)1:0.000862)0.967032967032967:0.000732)0.926073926073926:0.000346)0.3846153846153846",\n+ "tree-p-structured":"(((((C019-B2_35_1:0.005858,C019-B2_52_1:0.001773)1:0.00094,((((((C019-B2_28_1:0.002896,C019-B2_29_1:0.000909)1:0.004372,C019-B2_31_1:0.003387)0.8671328671328671:0.001252,C019-S2_9_1:0.001965)1:0.000428,C019-B2_34_1:0.003365)0.935064935064935:0.00173,C019-S2_2_1:0.011763)0.7902097902097902:0.000594,((((C019-B2_4_1:0.002924,C019-B2_6_3:0.0008809999999999999)1:0.001821,C019-B2_5_1:0.001994)0.8731268731268731:0.006052,C019-S2_1_1:0.011533)1:0.002707,((C019-S2_4_1:0.006447,C019-S2_6_1:0.00696)1:0.001115,C019-S2_7_1:0.004624)0.9050949050949051:0.003256)0.9760239760239761:0.001452)0.8871128871128872:0.002006)0.936063936063936:0.000396,((C019-S2_10_1:0.005429,C019-S2_12_2:0.000352)1:0.000931,C019-B2_42_2:0.000987)1:0.000651)0.9100899100899101:0.000528,(C019-B2_53_1:0.002654,C019-B2_54_1:0.001151)1:0.002202)0.7232767232767233:0.000398,((((((C019-B2_9_1:0.003599,C019-B2_10_1:0.002149)1:0.003701,C019-B2_1_2:0.011845)0.8561438561438561:0.001658,C019-S2_3_1:0.009874000000000001)1:0.000158,C019-S2_5_1:0.009998)0.9410589410589411:0.000267,(((C019-B2_17_3:1e-10,C019-S2_22_1:1e-10)1:0.000676,C019-B2_16_1:0.003129)1:0.000262,(((((C019-B2_18_1:1e-10,C019-S2_25_2:1e-10)1:3e-05,C019-S2_24_1:1e-10)0.8671328671328671:0.000769,C019-S2_23_2:0.003047)1:0.0004929999999999999,(((((C019-B2_24_1:0.004304,C019-S2_19_1:1e-10)1:0.00459,C019-S2_17_1:0.00129)0.8501498501498501:0.002822,C019-S2_18_2:0.004477)1:0.000852,C019-S2_21_1:0.001446)0.929070929070929:0.00083,C019-S2_20_2:0.003028)0.7602397602397603:0.002252)0.9170829170829171:0.001275,C019-B2_13_1:0.006181)0.8061938061938062:0.00092)0.7592407592407593:0.003349)0.8021978021978022:0.001411,C019-S2_13_1:1e-10)0.7002997002997003:0.001963,(((C019-B2_45_1:0.000837,C019-S2_8_1:0.006794)1:0.001393,C019-S2_14_1:0.000517)1:0.000377,(((C019-B2_32_1:0.005635,C019-B2_43_2:0.001995)1:0.000913,C019-S2_11_1:0.002993)0.8901098901098901:0.000552,(((C019-B2_46_2:1e-10,C019-S2_15_4:1e-10)1:0.001576,C019-S2_16_1:0.002229)1:0.001073,C019-B2_47_3:0.000877)1:0.000862)0.967032967032967:0.000732)1:0.000346)0.7822177822177823"\n+}\n\\ No newline at end of file\n'
b
diff -r fe399429a5d2 -r 0f108ee932ea test-data/sm19-out2.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/sm19-out2.json Wed Aug 21 12:24:34 2019 -0400
b
b'@@ -0,0 +1,2754 @@\n+{\n+ "compartments":2,\n+ "events":{\n+   "C019-S3_12_1":{\n+     "from":"Blood",\n+     "to":"Semen"\n+    },\n+   "C019-S3_15_1":{\n+     "from":"Blood",\n+     "to":"Semen"\n+    },\n+   "C019-S3_18_1":{\n+     "from":"Blood",\n+     "to":"Semen"\n+    },\n+   "C019-S3_1_3":{\n+     "from":"Blood",\n+     "to":"Semen"\n+    },\n+   "C019-S3_24_1":{\n+     "from":"Blood",\n+     "to":"Semen"\n+    },\n+   "C019-S3_27_1":{\n+     "from":"Blood",\n+     "to":"Semen"\n+    },\n+   "C019-S3_28_1":{\n+     "from":"Blood",\n+     "to":"Semen"\n+    },\n+   "Node106":{\n+     "from":"Blood",\n+     "to":"Semen"\n+    },\n+   "Node110":{\n+     "from":"Blood",\n+     "to":"Semen"\n+    },\n+   "Node114":{\n+     "from":"Blood",\n+     "to":"Semen"\n+    },\n+   "Node14":{\n+     "from":"Blood",\n+     "to":"Semen"\n+    },\n+   "Node44":{\n+     "from":"Blood",\n+     "to":"Semen"\n+    },\n+   "Node47":{\n+     "from":"Semen",\n+     "to":"Blood"\n+    },\n+   "Node6":{\n+     "from":"Blood",\n+     "to":"Semen"\n+    },\n+   "Node61":{\n+     "from":"Blood",\n+     "to":"Semen"\n+    },\n+   "Node64":{\n+     "from":"Semen",\n+     "to":"Blood"\n+    },\n+   "Node77":{\n+     "from":"Blood",\n+     "to":"Semen"\n+    },\n+   "Node98":{\n+     "from":"Blood",\n+     "to":"Semen"\n+    }\n+  },\n+ "leaf-count":64,\n+ "migrations":18,\n+ "node-migrations":{\n+   "Node104":2,\n+   "Node105":1,\n+   "Node106":1,\n+   "Node110":1,\n+   "Node113":1,\n+   "Node114":1,\n+   "Node115":0,\n+   "Node119":0,\n+   "Node120":0,\n+   "Node124":1,\n+   "Node13":1,\n+   "Node14":1,\n+   "Node18":1,\n+   "Node19":0,\n+   "Node2":4,\n+   "Node23":7,\n+   "Node24":2,\n+   "Node25":2,\n+   "Node26":1,\n+   "Node27":1,\n+   "Node28":1,\n+   "Node3":3,\n+   "Node34":0,\n+   "Node37":5,\n+   "Node38":0,\n+   "Node39":0,\n+   "Node4":2,\n+   "Node43":5,\n+   "Node44":2,\n+   "Node45":1,\n+   "Node46":1,\n+   "Node47":1,\n+   "Node5":2,\n+   "Node50":0,\n+   "Node51":0,\n+   "Node52":0,\n+   "Node59":3,\n+   "Node6":1,\n+   "Node60":2,\n+   "Node61":2,\n+   "Node62":1,\n+   "Node63":1,\n+   "Node64":1,\n+   "Node71":1,\n+   "Node73":18,\n+   "Node74":7,\n+   "Node75":6,\n+   "Node76":5,\n+   "Node77":1,\n+   "Node80":4,\n+   "Node81":2,\n+   "Node82":2,\n+   "Node83":1,\n+   "Node84":1,\n+   "Node85":1,\n+   "Node86":1,\n+   "Node87":1,\n+   "Node88":1,\n+   "Node9":1,\n+   "Node94":0,\n+   "Node98":1,\n+   "Node99":0\n+  },\n+ "node-p-value":{\n+   "panmictic":{\n+     "Node104":0.948051948051948,\n+     "Node105":0.8961038961038961,\n+     "Node106":1,\n+     "Node110":1,\n+     "Node113":0.2027972027972028,\n+     "Node114":0.8891108891108891,\n+     "Node115":0.3536463536463537,\n+     "Node119":0.1598401598401598,\n+     "Node120":0.3596403596403596,\n+     "Node124":1,\n+     "Node13":0.8871128871128872,\n+     "Node14":1,\n+     "Node18":0.8931068931068931,\n+     "Node19":0.3676323676323676,\n+     "Node2":0.8151848151848152,\n+     "Node23":0.1698301698301698,\n+     "Node24":0.6113886113886113,\n+     "Node25":0.9530469530469531,\n+     "Node26":0.6313686313686314,\n+     "Node27":0.8691308691308691,\n+     "Node28":1,\n+     "Node3":0.8691308691308691,\n+     "Node34":0.3826173826173826,\n+     "Node37":0.2107892107892108,\n+     "Node38":0.1598401598401598,\n+     "Node39":0.3296703296703297,\n+     "Node4":0.9430569430569431,\n+     "Node43":0.5334665334665335,\n+     "Node44":0.4015984015984016,\n+     "Node45":0.1348651348651349,\n+     "Node46":0.2337662337662338,\n+     "Node47":1,\n+     "Node5":1,\n+     "Node50":0.09490509490509491,\n+     "Node51":0.1818181818181818,\n+     "Node52":0.3706293706293706,\n+     "Node59":0.8871128871128872,\n+     "Node6":1,\n+     "Node60":0.8161838161838162,\n+     "Node61":0.8901098901098901,\n+     "Node62":0.6083916083916084,\n+     "Node63":0.8711288711288712,\n+     "Node64":1,\n+     "Node71":1,\n+     "Node73":0.07692307692307693,\n+     "Node74":0.1238761238761239,\n+     "Node75":0.07592407592407592,\n+     "Node76":0.2197802197802198,\n+     "Node77":1,\n+     "Node80":0.1338661338661339,\n+     "Node81":0.05694305694305694,\n+     "Node82":0.09490509490509491,\n+  '..b',(((((((((C019-B3_32_1:0.001955,C019-S3_15_1:1e-10)1:0.000911,C019-B3_37_1:0.0009970000000000001)0.8821178821178821:0.001209,C019-B3_57_1:0.002666)0.6273726273726273:0.001047,C019-B3_59_1:0.001825)0.4195804195804196:0.001321,(C019-B3_26_6:1e-10,C019-B3_27_1:2.4e-05)0.3566433566433567:0.006853)0.1298701298701299:0.001793,C019-B3_10_1:0.009272000000000001)0.07692307692307693:0.001166,((C019-S3_19_2:0.000758,C019-S3_17_1:0.003048)0.3496503496503496:0.001952,C019-S3_11_1:0.007625)0.8961038961038961:0.001734)0.09490509490509491:0.001109,C019-B3_147_1:0.00437)0.05694305694305694:0.001515,(((C019-S3_32_1:0.009024000000000001,C019-S3_31_1:0.002453)1:0.007605,C019-B3_1_1:0.014729)0.8961038961038961:0.003341,(C019-S3_14_1:0.002908,C019-S3_13_1:0.004722)1:0.006888)0.948051948051948:0.001642)0.1338661338661339:0.00149)0.2197802197802198:0.000285,(((C019-S3_20_1:0.000417,C019-S3_21_1:0.001505)0.3536463536463537:0.001098,C019-S3_16_1:0.00369)0.8891108891108891:0.00156,((C019-B3_61_3:0.000733,C019-B3_63_1:0.006898)0.3596403596403596:0.003303,C019-B3_18_1:0.0063)0.1598401598401598:0.00288)0.2027972027972028:0.000785)0.07592407592407592:0.000197,(C019-S3_18_1:0.000332,C019-B3_154_1:0.00368)1:0.001664)0.1238761238761239:0.000547)0.07692307692307693",\n+ "tree-p-structured":"((((((C019-S3_30_5:0.001628,C019-S3_29_1:0.006003)1:0.00113,(C019-B3_173_1:0.001171,C019-S3_28_1:0.002634)1:0.001744)1:0.00083,C019-B3_132_1:0.014016)0.9430569430569431:0.000586,((C019-S3_25_1:0.002323,C019-S3_26_1:0.001482)1:0.000935,C019-B3_144_1:0.004793)0.8871128871128872:0.001476)1:0.00052,((C019-B3_140_2:0.005006,C019-B3_211_4:0.000709)1:0.005792,C019-S3_24_1:0.003793)0.8931068931068931:0.000651)0.9890109890109891:0.000329,((((((C019-B3_180_1:0.007012,C019-S3_12_1:0.002539)1:0.001059,C019-B3_164_1:0.004685)0.8691308691308691:0.001059,C019-B3_201_1:0.002755)1:0.00047,C019-S3_27_1:0.004308)0.9530469530469531:0.000529,(C019-B3_179_1:0.00111,C019-B3_162_1:0.006521)1:0.001397)0.9790209790209791:0.00045,(((C019-B3_98_1:0.00603,C019-B3_84_1:0.011255)1:0.001462,C019-B3_3_2:0.01022)0.8701298701298701:0.004778,(((((C019-B3_122_4:1e-10,C019-B3_121_1:0.003821)1:0.000107,(((C019-S3_6_1:0.000319,C019-S3_5_1:0.003493)1:0.000206,C019-S3_4_1:0.003609)0.8591408591408591:0.000156,C019-S3_7_44:1e-10)1:0.001868)0.7752247752247752:8.3e-05,C019-S3_2_1:0.003743)0.9660339660339661:0.000949,C019-S3_3_1:0.000947)0.8591408591408591:0.000132,((((((C019-B3_87_1:0.004026,C019-B3_94_1:0.003649)1:0.001868,C019-S3_9_1:0.001947)1:5.6e-05,C019-S3_8_1:0.001847)1:0.002662,C019-S3_10_3:0.003074)1:0.001087,C019-B3_103_1:0.002733)1:0.000229,(C019-S3_1_3:0.003978,C019-B3_125_1:0.003697)1:0.000913)1:0.000497)0.988011988011988:0.006645)0.8291708291708292:0.000782)0.9070929070929071:0.000825,((((C019-S3_22_2:0.0009840000000000001,C019-S3_23_6:0.005041)1:0.001644,(((((((((C019-B3_32_1:0.001955,C019-S3_15_1:1e-10)1:0.000911,C019-B3_37_1:0.0009970000000000001)0.8821178821178821:0.001209,C019-B3_57_1:0.002666)1:0.001047,C019-B3_59_1:0.001825)0.952047952047952:0.001321,(C019-B3_26_6:1e-10,C019-B3_27_1:2.4e-05)1:0.006853)0.964035964035964:0.001793,C019-B3_10_1:0.009272000000000001)0.8651348651348651:0.001166,((C019-S3_19_2:0.000758,C019-S3_17_1:0.003048)1:0.001952,C019-S3_11_1:0.007625)0.8961038961038961:0.001734)0.8091908091908092:0.001109,C019-B3_147_1:0.00437)0.9630369630369631:0.001515,(((C019-S3_32_1:0.009024000000000001,C019-S3_31_1:0.002453)1:0.007605,C019-B3_1_1:0.014729)0.8961038961038961:0.003341,(C019-S3_14_1:0.002908,C019-S3_13_1:0.004722)1:0.006888)0.948051948051948:0.001642)0.7492507492507493:0.00149)0.8161838161838162:0.000285,(((C019-S3_20_1:0.000417,C019-S3_21_1:0.001505)1:0.001098,C019-S3_16_1:0.00369)0.8891108891108891:0.00156,((C019-B3_61_3:0.000733,C019-B3_63_1:0.006898)1:0.003303,C019-B3_18_1:0.0063)0.8881118881118881:0.00288)1:0.000785)0.7872127872127872:0.000197,(C019-S3_18_1:0.000332,C019-B3_154_1:0.00368)1:0.001664)0.8441558441558441:0.000547)0.8131868131868132"\n+}\n\\ No newline at end of file\n'