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

Changeset 0:7b3f9c78cf6d (2019-08-21)
Next changeset 1:d02c8e6f7f2a (2020-02-13)
Commit message:
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2c7a7ff8a55e7584e84335baa3159a63ce7a590c"
added:
hyphy_meme.xml
macros.xml
test-data/absrel-in1.fa
test-data/absrel-in1.nhx
test-data/absrel-out1.json
test-data/bgm-in1.fa
test-data/bgm-in1.nhx
test-data/bgm-out1.json
test-data/busted-out1.json
test-data/fade-in1.fa
test-data/fade-in1.nhx
test-data/fade-out1.json
test-data/fel-out1.json
test-data/fubar-in1.fa
test-data/fubar-in1.nhx
test-data/fubar-out1.json
test-data/gard-in1.fa
test-data/gard-out1.json
test-data/gard-out1.nex
test-data/meme-in1.fa
test-data/meme-in1.nhx
test-data/meme-out1.json
test-data/params.json
test-data/relax-in1.fa
test-data/relax-in1.nhx
test-data/relax-in2.nhx
test-data/relax-out1.json
test-data/slac-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 000000000000 -r 7b3f9c78cf6d hyphy_meme.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/hyphy_meme.xml Wed Aug 21 12:26:38 2019 -0400
[
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<tool id="hyphy_meme" name="HyPhy-MEME" version="@VERSION@+galaxy0">
+    <description>Mixed Effects Model of Evolution</description>
+    <macros>
+        <import>macros.xml</import>
+    </macros>
+    <expand macro="requirements"/>
+    <command detect_errors="exit_code"><![CDATA[
+        ln -s '$input_file' meme_input.fa &&
+        ln -s '$input_nhx' meme_input.nhx &&
+        @HYPHY_INVOCATION@ meme
+            --alignment ./meme_input.fa
+            --tree ./meme_input.nhx
+            --code '$gencodeid'
+            --branches '$branches'
+            --pvalue '$p_value'
+            > '$meme_log'
+    ]]></command>
+    <inputs>
+        <expand macro="inputs"/>
+        <expand macro="gencode"/>
+        <expand macro="branches"/>
+        <param name="p_value" type="float" value=".1" min="0" max="1" label="P-value threshold"/>
+    </inputs>
+    <outputs>
+        <data name="meme_log" format="txt"/>
+        <data name="meme_output" format="hyphy_results.json" from_work_dir="meme_input.fa.MEME.json"/>
+    </outputs>
+    <tests>
+        <test>
+            <param name="input_file" ftype="fasta" value="meme-in1.fa"/>
+            <param name="input_nhx" ftype="nhx" value="meme-in1.nhx"/>
+            <param name="branches" value="All"/>
+            <param name="p_value" value="0.1"/>
+            <output name="meme_output" file="meme-out1.json" compare="sim_size"/>
+        </test>
+    </tests>
+    <help><![CDATA[
+MEME employs a mixed-effects maximum likelihood approach to test the hypothesis that individual sites have been subject to episodic positive or diversifying selection. In other words, MEME aims to detect sites evolving under positive selection under a proportion of branches.
+    ]]></help>
+    <expand macro="citations">
+        <citation type="doi">10.1371/journal.pgen.1002764</citation>
+    </expand>
+</tool>
b
diff -r 000000000000 -r 7b3f9c78cf6d macros.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/macros.xml Wed Aug 21 12:26:38 2019 -0400
[
@@ -0,0 +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"/>
+    </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="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="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="citations">
+        <citations>
+            <citation type="doi">10.1093/bioinformatics/bti079</citation>
+            <yield/>
+        </citations>
+    </xml>
+    <token name="@VERSION@">2.5.0</token>
+    <xml name="requirements">
+        <requirements>
+            <requirement type="package" version="@VERSION@">
+            hyphy</requirement>
+            <yield/>
+        </requirements>
+    </xml>
+    <token name="@HYPHY_ENVIRONMENT@"><![CDATA[export HYPHY=`which hyphy` &&
+export HYPHY_PATH=`dirname \$HYPHY` &&
+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 000000000000 -r 7b3f9c78cf6d test-data/absrel-in1.fa
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/absrel-in1.fa Wed Aug 21 12:26:38 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 000000000000 -r 7b3f9c78cf6d test-data/absrel-in1.nhx
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/absrel-in1.nhx Wed Aug 21 12:26:38 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);
\ No newline at end of file
b
diff -r 000000000000 -r 7b3f9c78cf6d test-data/absrel-out1.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/absrel-out1.json Wed Aug 21 12:26:38 2019 -0400
[
b'@@ -0,0 +1,456 @@\n+{\n+ "analysis":{\n+   "info":"aBSREL (Adaptive branch-site random effects likelihood)\\n                            uses an adaptive random effects branch-site model framework\\n                            to test whether each branch has evolved under positive selection,\\n                            using a procedure which infers an optimal number of rate categories per branch.",\n+   "version":"2.0",\n+   "citation":"Less Is More: An Adaptive Branch-Site Random Effects Model for Efficient Detection of Episodic Diversifying Selection (2015). Mol Biol Evol 32 (5): 1342-1353",\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"\n+  },\n+ "input":{\n+   "file name":"/tmp/tmpCAMqUO/job_working_directory/002/2602/working/absrel_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.96369518556,\n+     "estimated parameters":24,\n+     "AIC-c":7112.577796875186,\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.5474707834424497,\n+       "Substitution rate from nucleotide A to nucleotide G":1,\n+       "Substitution rate from nucleotide A to nucleotide T":0.2645731370379643,\n+       "Substitution rate from nucleotide C to nucleotide G":0.4867482826410435,\n+       "Substitution rate from nucleotide C to nucleotide T":1.018295973581558,\n+       "Substitution rate from nucleotide G to nucleotide T":0.3026112531229544\n+      },\n+     "display order":0\n+    },\n+   "Baseline MG94xREV":{\n+     "Log Likelihood":-3450.669934819203,\n+     "estimated parameters":46,\n+     "AIC-c":6995.711784065174,\n+     "Equilibrium frequencies":[\n+      [0.04787662253946073],\n+      [0.03913388100305117],\n+      [0.04844580322128512],\n+      [0.0407178971288476],\n+      [0.01817959331488358],\n+      [0.01485982100934833],\n+      [0.01839572120297191],\n+      [0.01546129971531724],\n+      [0.0190238172858878],\n+      [0.01554988139098808],\n+      [0.01924998172104109],\n+      [0.01617929156565557],\n+      [0.02798385246472159],\n+      [0.02287372613761008],\n+      [0.02831653817605838],\n+      [0.02379958245776909],\n+      [0.01680670574479072],\n+      [0.01373763619452979],\n+      [0.01700651207463693],\n+      [0.01429369239710176],\n+      [0.006381800954137531],\n+      [0.005216421415661322],\n+      [0.006457670922102578],\n+      [0.00542756570877943],\n+      [0.006678159032689796],\n+      [0.005458661598138652],\n+      [0.00675755225029668],\n+      [0.00567961101013393],\n+      [0.009823507779659469],\n+      [0.008029638769211124],\n+      [0.009940294440024354],\n+      [0.008354653231583485],\n+      [0.0329096029621651],\n+      [0.02689998621179963],\n+      [0.03330084840219455],\n+      [0.02798881284619018],\n+      [0.01249635346589736],\n+      [0.01021439657952951],\n+      [0.01264491622176376],\n+      [0.01062784315018763],\n+      [0.01307665913959002],\n+      [0.01068873273724336],\n+      [0.0132321208528494],\n+      [0.01112137894012831],\n+      [0.01923563996618058],\n+      [0.01572302316926395],\n+      [0.01946432265285621],\n+      [0.01635944157725275],\n+      [0.01977100255021048],\n+      [0.02057127040149398],\n+      [0.009184593415672956],\n+      [0.007507396443725858],\n+      [0.009293784349897772],\n+      [0.007811272183233558],\n+      [0.007856024926654371],\n+      [0.009725369116048951],\n+      ['..b'1\n+      },\n+     "Node1":{\n+       "Nucleotide GTR":0.2772613398768408,\n+       "Baseline MG94xREV":0.2903229694372956,\n+       "Baseline MG94xREV omega ratio":0.4389914526526448,\n+       "Rate classes":2,\n+       "Full adaptive model":0.3664538683295676,\n+       "Rate Distributions":[\n+        [0.1934444279004118, 0.7920338324503209],\n+        [2.595458156723663, 0.2079661675496791]\n+        ],\n+       "LRT":1.095302853601424,\n+       "Uncorrected P-value":0.232551772988317,\n+       "Corrected P-value":1\n+      },\n+     "Node12":{\n+       "Nucleotide GTR":0.01783922546179193,\n+       "Baseline MG94xREV":0.01797212760838867,\n+       "Baseline MG94xREV omega ratio":0.3712490894908597,\n+       "Rate classes":1,\n+       "Full adaptive model":0.01648897148329989,\n+       "Rate Distributions":[\n+        [0.3341484726344874, 1]\n+        ],\n+       "LRT":0,\n+       "Uncorrected P-value":1,\n+       "Corrected P-value":1\n+      },\n+     "Node2":{\n+       "Nucleotide GTR":0.06619058539001231,\n+       "Baseline MG94xREV":0.06580724801157116,\n+       "Baseline MG94xREV omega ratio":0.6811307469311604,\n+       "Rate classes":2,\n+       "Full adaptive model":0.1259563484776556,\n+       "Rate Distributions":[\n+        [0, 0.902872882268449],\n+        [33.80023214939837, 0.09712711773155103]\n+        ],\n+       "LRT":7.670975764417562,\n+       "Uncorrected P-value":0.007599562698001494,\n+       "Corrected P-value":0.09119475237601793\n+      },\n+     "Node3":{\n+       "Nucleotide GTR":0.09883236156840018,\n+       "Baseline MG94xREV":0.102749851157051,\n+       "Baseline MG94xREV omega ratio":1.47449378631578,\n+       "Rate classes":2,\n+       "Full adaptive model":0.1389308407753113,\n+       "Rate Distributions":[\n+        [0, 0.7024206790833775],\n+        [8.065310624699681, 0.2975793209166225]\n+        ],\n+       "LRT":6.598417720076213,\n+       "Uncorrected P-value":0.0131150962965953,\n+       "Corrected P-value":0.1442660592625483\n+      },\n+     "Node8":{\n+       "Nucleotide GTR":0.1061134663636472,\n+       "Baseline MG94xREV":0.110140333084973,\n+       "Baseline MG94xREV omega ratio":1.896243438714738,\n+       "Rate classes":2,\n+       "Full adaptive model":0.2165540926910564,\n+       "Rate Distributions":[\n+        [1, 0.9077840705139004],\n+        [33.32075865076668, 0.09221592948609958]\n+        ],\n+       "LRT":7.97288393366216,\n+       "Uncorrected P-value":0.006519360772582139,\n+       "Corrected P-value":0.08475169004356781\n+      },\n+     "Node9":{\n+       "Nucleotide GTR":0.02566719422260768,\n+       "Baseline MG94xREV":0.02590165433349057,\n+       "Baseline MG94xREV omega ratio":0.4071738826525522,\n+       "Rate classes":1,\n+       "Full adaptive model":0.02766629863085238,\n+       "Rate Distributions":[\n+        [0.4488424899910019, 1]\n+        ],\n+       "LRT":0,\n+       "Uncorrected P-value":1,\n+       "Corrected P-value":1\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+     "Baseline MG94xREV":{\n+       "attribute type":"branch length",\n+       "display order":1\n+      },\n+     "Baseline MG94xREV omega ratio":{\n+       "attribute type":"branch label",\n+       "display order":1\n+      },\n+     "Rate classes":{\n+       "attribute type":"branch label",\n+       "display order":2\n+      },\n+     "Full adaptive model":{\n+       "attribute type":"branch length",\n+       "display order":2\n+      },\n+     "Rate Distributions":{\n+       "attribute type":"branch label",\n+       "display order":3\n+      },\n+     "LRT":{\n+       "attribute type":"branch label",\n+       "display order":4\n+      },\n+     "Uncorrected P-value":{\n+       "attribute type":"branch label",\n+       "display order":5\n+      },\n+     "Corrected P-value":{\n+       "attribute type":"branch label",\n+       "display order":6\n+      }\n+    }\n+  }\n+}\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r 7b3f9c78cf6d 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:26:38 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 000000000000 -r 7b3f9c78cf6d 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:26:38 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 000000000000 -r 7b3f9c78cf6d 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:26:38 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 000000000000 -r 7b3f9c78cf6d test-data/busted-out1.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/busted-out1.json Wed Aug 21 12:26:38 2019 -0400
[
b'@@ -0,0 +1,361 @@\n+{\n+ "analysis":{\n+   "info":"BUSTED (branch-site unrestricted statistical test of episodic diversification) uses a random effects branch-site model fitted jointly to all or a subset of tree branches in order to test for alignment-wide evidence of episodic diversifying selection. Assuming there is evidence of positive selection (i.e. there is an omega > 1), BUSTED will also perform a quick evidence-ratio style analysis to explore which individual sites may have been subject to selection.",\n+   "version":"1.2",\n+   "citation":"*Gene-wide identification of episodic selection*, Mol Biol Evol. 32(5):1365-71",\n+   "authors":"Sergei L Kosakovsky Pond",\n+   "contact":"spond@temple.edu",\n+   "requirements":"in-frame codon alignment and a phylogenetic tree (optionally annotated with {})"\n+  },\n+ "input":{\n+   "file name":"/Users/stephenshank/Documents/Galaxy/tools-iuc/tools/hyphy/test-data/absrel-in1.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+ "background":0,\n+ "fits":{\n+   "Nucleotide GTR":{\n+     "Log Likelihood":-3531.963798530155,\n+     "estimated parameters":24,\n+     "AIC-c":7112.142458295762,\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.5474490057204714,\n+       "Substitution rate from nucleotide A to nucleotide G":1,\n+       "Substitution rate from nucleotide A to nucleotide T":0.2645352969683238,\n+       "Substitution rate from nucleotide C to nucleotide G":0.4863078374555331,\n+       "Substitution rate from nucleotide C to nucleotide T":1.018028772244997,\n+       "Substitution rate from nucleotide G to nucleotide T":0.3025951149895378\n+      },\n+     "display order":0\n+    },\n+   "MG94xREV with separate rates for branch sets":{\n+     "Log Likelihood":-3466.725508616141,\n+     "estimated parameters":31,\n+     "AIC-c":6996.530451399855,\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.009176034326710849],\n+      [0.007500393094996483],\n+      [0.00928511773266342],\n+      [0.007803986567571961],\n+      [0.007848'..b'1561323465,\n+       "constrained":0.001757260248005238\n+      },\n+     "RhMonkey":{\n+       "original name":"RhMonkey",\n+       "Nucleotide GTR":0.003773669075849421,\n+       "MG94xREV with separate rates for branch sets":0.003717699096857038,\n+       "unconstrained":0.003672835047422234,\n+       "constrained":0.00373144096412681\n+      },\n+     "Cow":{\n+       "original name":"Cow",\n+       "Nucleotide GTR":0.2483322373763571,\n+       "MG94xREV with separate rates for branch sets":0.2480141631033857,\n+       "unconstrained":0.2960120156157274,\n+       "constrained":0.2592686681333873\n+      },\n+     "Pig":{\n+       "original name":"Pig",\n+       "Nucleotide GTR":0.187244836750842,\n+       "MG94xREV with separate rates for branch sets":0.1926081878751187,\n+       "unconstrained":0.2187526946336905,\n+       "constrained":0.1943776301130502\n+      },\n+     "Horse":{\n+       "original name":"Horse",\n+       "Nucleotide GTR":0.2091766851769093,\n+       "MG94xREV with separate rates for branch sets":0.2111575880588217,\n+       "unconstrained":0.2572135566477119,\n+       "constrained":0.218486450878766\n+      },\n+     "Cat":{\n+       "original name":"Cat",\n+       "Nucleotide GTR":0.266381043956941,\n+       "MG94xREV with separate rates for branch sets":0.273601177885004,\n+       "unconstrained":0.3292215104251173,\n+       "constrained":0.28483085314287\n+      },\n+     "Mouse":{\n+       "original name":"Mouse",\n+       "Nucleotide GTR":0.1181831744338598,\n+       "MG94xREV with separate rates for branch sets":0.1201847378516324,\n+       "unconstrained":0.1489713993010398,\n+       "constrained":0.1233480139851019\n+      },\n+     "Rat":{\n+       "original name":"Rat",\n+       "Nucleotide GTR":0.06669700444436912,\n+       "MG94xREV with separate rates for branch sets":0.0670850471739789,\n+       "unconstrained":0.07366345007817726,\n+       "constrained":0.06713082546371778\n+      },\n+     "Node1":{\n+       "Nucleotide GTR":0.276880831396131,\n+       "MG94xREV with separate rates for branch sets":0.2843521449765504,\n+       "unconstrained":0.459085769955035,\n+       "constrained":0.3115534692518958\n+      },\n+     "Node12":{\n+       "Nucleotide GTR":0.01783434870161725,\n+       "MG94xREV with separate rates for branch sets":0.01788794906051452,\n+       "unconstrained":0.01828498503175797,\n+       "constrained":0.01770410398930177\n+      },\n+     "Node2":{\n+       "Nucleotide GTR":0.06617535490721377,\n+       "MG94xREV with separate rates for branch sets":0.06447679597474805,\n+       "unconstrained":0.0623969317369398,\n+       "constrained":0.06097949807503514\n+      },\n+     "Node3":{\n+       "Nucleotide GTR":0.09884524766349881,\n+       "MG94xREV with separate rates for branch sets":0.1017497956116402,\n+       "unconstrained":0.1285021744856729,\n+       "constrained":0.1065011238088613\n+      },\n+     "Node8":{\n+       "Nucleotide GTR":0.1061610073141143,\n+       "MG94xREV with separate rates for branch sets":0.1093806684969149,\n+       "unconstrained":0.1348034716617685,\n+       "constrained":0.1118205234697939\n+      },\n+     "Node9":{\n+       "Nucleotide GTR":0.02568007351415409,\n+       "MG94xREV with separate rates for branch sets":0.02593963430985144,\n+       "unconstrained":0.02761127562964508,\n+       "constrained":0.02639493109700932\n+      }\n+    },\n+   "attributes":{\n+     "original name":{\n+       "attribute type":"node label",\n+       "display order":0\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+     "unconstrained":{\n+       "attribute type":"branch length",\n+       "display order":0\n+      },\n+     "constrained":{\n+       "attribute type":"branch length",\n+       "display order":1\n+      }\n+    }\n+  },\n+ "test results":{\n+   "LRT":44.77492170961614,\n+   "p-value":1.893429857346973e-10\n+  }\n+}\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r 7b3f9c78cf6d 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:26:38 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 000000000000 -r 7b3f9c78cf6d 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:26:38 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 000000000000 -r 7b3f9c78cf6d 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:26:38 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 000000000000 -r 7b3f9c78cf6d test-data/fel-out1.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fel-out1.json Wed Aug 21 12:26:38 2019 -0400
[
b'@@ -0,0 +1,450 @@\n+{\n+ "analysis":{\n+   "info":"FEL (Fixed Effects Likelihood)\\n    estimates site-wise synonymous (&alpha;) and non-synonymous (&beta;) rates, and\\n    uses a likelihood ratio test to determine if beta &neq; alpha at a site.\\n    The estimates aggregate information over all branches,\\n    so the signal is derived from\\n    pervasive diversification or conservation. 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.\\n    Multiple partitions within a NEXUS file are also supported\\n    for recombination - aware analysis.\\n    ",\n+   "version":"2.00",\n+   "citation":"Not So Different After All: A Comparison of Methods for Detecting Amino Acid Sites Under Selection (2005). _Mol Biol Evol_ 22 (5): 1208-1222",\n+   "authors":"Sergei L Kosakovsky Pond and Simon DW Frost",\n+   "contact":"spond@temple.edu",\n+   "requirements":"in-frame codon alignment and a phylogenetic tree"\n+  },\n+ "input":{\n+   "file name":"/Users/stephenshank/Documents/Data/Datamonkey/CD2.fasta",\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.963798530155,\n+     "estimated parameters":24,\n+     "AIC-c":7112.142458295762,\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.5474490057204714,\n+       "Substitution rate from nucleotide A to nucleotide G":1,\n+       "Substitution rate from nucleotide A to nucleotide T":0.2645352969683238,\n+       "Substitution rate from nucleotide C to nucleotide G":0.4863078374555331,\n+       "Substitution rate from nucleotide C to nucleotide T":1.018028772244997,\n+       "Substitution rate from nucleotide G to nucleotide T":0.3025951149895378\n+      },\n+     "display order":0\n+    },\n+   "Global MG94xREV":{\n+     "Log Likelihood":-3466.725508616141,\n+     "estimated parameters":31,\n+     "AIC-c":6996.530451399855,\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+      ['..b'871235417342727, 1.658943187728135],\n+      [0, 1.009408180447169, 0.7201317416266795, 1.906505699392216, 0.1673519284290025, 1.293896776352589],\n+      [1.701545575395463e-14, 1.16201561388296, 1.114130105107937, 0.2442491813364853, 0.6211538364843379, 1.489514634415266],\n+      [0.8883515458297054, 1.623622648529189, 1.334319744829745, 0.1803627821799836, 0.6710616565201941, 2.477143670911062],\n+      [0, 0.5570419450087813, 0.3610157342941877, 1.689213063741757, 0.193704737236408, 0.7140369881099469],\n+      [2.804120856177222e-15, 1.378683497609396, 1.139416739891161, 1.532228496397977, 0.215778295124767, 1.767247549328411],\n+      [0.630106498235145, 1.530183136222741, 1.176306017317766, 0.5627230344194487, 0.4531651666494674, 2.242273764894695],\n+      [4.996412325715582, 2.072849087019975, 2.501919619833955, 0.4374688424558926, 0.5083466741660978, 4.883875616363817],\n+      [1.476720795366284, 1.192713829097381, 1.265398043718104, 0.04756528081958322, 0.827355357807033, 2.187015539850353],\n+      [1.778599502537943, 2.833030015698272, 2.535624910277768, 0.2150914997093523, 0.642805674139892, 4.424176058896644],\n+      [1.502754420888704, 0.2825342556426603, 0.4733601919284142, 1.180637234982843, 0.2772263054246996, 1.031916435368656],\n+      [0, 0.2915937523113351, 0.2283654592452333, 0.4790160930559324, 0.4888683243803773, 0.3737756671964466],\n+      [10.08767614696688, 0, 0.4133910037948654, 8.462162631979279, 0.003626104567950983, 4.495915621518065],\n+      [1.984506219150062, 1.662771746660892, 1.756718773063347, 0.03121207319557584, 0.8597680862487451, 3.015865008244778],\n+      [3.805655301370652, 0, 0.7005303037771143, 11.62838958327228, 0.0006495276635800629, 1.696119588919385],\n+      [3.173406516538895, 2.860065663238961, 2.926441853316894, 0.003891888657044262, 0.9502562372040178, 5.080474489659786],\n+      [0, 0, 0, 0, 1, 0],\n+      [2.194271257132928, 4.019627316522699, 3.237226152191341, 0.09176983643381931, 0.7619391181878015, 6.130458650322728],\n+      [0, 0.2994174888128062, 0.1834705090468997, 0.9675444779876443, 0.3252933434590788, 0.3838044222970849],\n+      [1.737488918246139, 0.4263169813102716, 0.5705211950188817, 0.9504457433159637, 0.3296058631975952, 1.320839860569391],\n+      [9.491047642026737e-16, 2.201411562959478, 1.602398780540194, 2.916382754860905, 0.08768422447478674, 2.82185084281439],\n+      [1.033236674389839, 0.5673779129005597, 0.6682462878144323, 0.1916420169326862, 0.6615534805841186, 1.187783044398971],\n+      [0.6633763440867723, 2.065196310532788, 1.40713862608088, 0.9931353495817845, 0.318977273245592, 2.942901296371888],\n+      [3.88753619664278e-15, 1.779262169776622, 1.549159808629328, 1.288480285336618, 0.2563282037478503, 2.280724121673174],\n+      [137.6200023666397, 1.712312972734741, 2.612335663828599, 4.571254357285468, 0.03251275075427451, 63.52993609974021],\n+      [0.9069803858948896, 1.008331374883533, 0.9795641413367016, 0.006632998551161506, 0.9350894763840309, 1.696743112350582],\n+      [1.250218074119796, 2.685270528336648, 2.279331033581541, 0.4656302199387952, 0.4950043706394306, 3.99928134132692],\n+      [0.5981237480607854, 1.191515517605649, 0.9684057167421628, 0.3651500230254783, 0.5456598635374844, 1.793902873797072],\n+      [5.567356236371868, 1.655977785625157, 2.134648959148231, 0.8514639837247273, 0.3561385136046764, 4.60397510129604],\n+      [0, 0, 0, 0, 1, 0],\n+      [0.5915176036957202, 0.7772525687759813, 0.7215979531128016, 0.05398776775817282, 0.8162640993312603, 1.259941036310695],\n+      [0, 0.543676760549953, 0.4362855008937696, 0.8539326132569869, 0.3554421959431151, 0.6969049998601837],\n+      [1.00226665989553, 0.6268338660673796, 0.7169253651929272, 0.1172739583266811, 0.7320101172431673, 1.250193047146509],\n+      [0, 0, 0, 0, 1, 0],\n+      [0, 0, 0, 0, 1, 0],\n+      [2.797676857161142, 0.824684447244541, 1.167394064072366, 1.285234262338761, 0.2569280765461694, 2.303990803636788]\n+      ]\n+    }\n+  }\n+}\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r 7b3f9c78cf6d test-data/fubar-in1.fa
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fubar-in1.fa Wed Aug 21 12:26:38 2019 -0400
b
b'@@ -0,0 +1,326 @@\n+>KF789585\n+ATGAAGACTATCATTGCTTTGAGCTACATTCTATGTCTGGTTTTCGCCCAAAAACTTCCTGGAAATGACAATAGCACGGCAACGCTGTGCCTTGGACACCATGCAGTACCAAACGGAACGATAGTGAAAACAATCACGAATGACCGAATTGAAGTTACTAATGCTACTGAGCTGGTTCAGAATTCCTCAATAGGTGAAATATGCGACAGTCCTCATCAGATCCTTGATGGAGAAAATTGCACACTAATAGATGCTCTATTGGGAGACCCTCAGTGTGATGGCTTTCAAAATAAGAAATGGGACCTTTTTGTTGAACGAAGCAAAGCCTACAGCAACTGTTACCCTTATGATGTGCCGGATTATGCCTCCCTTAGGTCACTAGTTGCCTCATCCGGCACACTGGAGTTTAACAATGAAAGCTTCAATTGGGCTGGAGTCACTCAAAACGGAACAAGTTCTGCTTGCATAAGGGGATCTAATAGTAGTTTCTTTAGTAGATTAAATTGGTTGACCCACTTAAACTTCAAATACCCAGCATTGAACGTGACTATGCCAAACAATGAACAATTTGACAAATTGTACATTTGGGGGGTTCACCACCCGGGTACGGACAAGGACCAAATCTTCCTGTATGCTCAATCATCAGGAAGAATCACAGTATCTACCAAAAGAAGCCAACAAGCTGTAATCCCGAATATCGGATCTAGACCCAGAATAAGGAATATCCCTAGCAGAATAAGCATCTATTGGACAATAGTAAAACCGGGAGACATACTTTTGATTAACAGCACAGGGAATCTAATTGCTCCTAGGGGTTACTTCAAAATACGAAGTGGGAAAAGCTCAATAATGAGATCAGATGCACCCATTGGCAAATGCAAGTCTGAATGCATCACTCCAAATGGAAGCATTCCCAATGACAAACCATTCCAAAATGTAAACAGGATCACATACGGGGCCTGTCCCAGATATGTTAAGCAAAGCACTCTGAAATTGGCAACAGGAATGCGAAATGTACCAGAGAAACAAACTAGAGGCATATTTGGCGCAATAGCGGGTTTCATAGAAAATGGTTGGGAGGGAATGGTGGATGGTTGGTACGGTTTCAGGCATCAAAATTCTGAGGGAAGAGGACAAGCAGCAGATCTCAAAAGCACTCAAGCAGCAATCGATCAAATCAATGGGAAGCTGAATCGATTGATCGGGAAAACCAACGAGAAATTCCATCAGATTGAAAAAGAATTCTCAGAAGTAGAAGGGAGAATTCAGGACCTTGAGAAATATGTTGAGGACACAAAAATAGATCTCTGGTCATACAACGCGGAGCTTCTTGTTGCCCTGGAGAACCAACATACAATTGATCTAACTGACTCAGAAATGAACAAACTGTTTGAAAAAACAAAGAAGCAACTGAGGGAAAATGCTGAGGATATGGGCAATGGTTGTTTCAAAATATACCACAAATGTGACAATGCCTGCATAGGATCAATCAGAAATGGAACTTATGACCACGATGTATACAGGGATGAAGCATTAAACAACCGGTTCCAGATCAAGGGAGTTGAGCTGAAGTCAGGGTACAAAGATTGGATCCTATGGATTTCCTTTGCCATATCATGTTTTTTGCTTTGTGTTGCTTTGTTGGGGTTCATCATGTGGGCCTGCCAAAAGGGCAACATTAGGTGCAACATTTGCATT\n+>CY025485\n+ATGAAGACTATCATTGCTTTGAGCTACATTCTATGTCTGGTTTTCGCTCAAAAACTTCCTGGAAATGACAACAGCACGGCAACGCTGTGCCTTGGGCATCATGCAGTACCAAACGGAACGATAGTGAAAACAATCACGAGTGACCAAATTGAAGTTACTAATGCTACTGAGCTGGTTCAGAATTCCTCAATAGGTGGAATCTGCAACAGTCCTCATCAGATCCTTGATGGAGAAAACTGCACACTAATAGATGCTCTATTGGGAGACCCTCAGTGTGATGGCTTCCAAAATAAGAAATGGGACCTTTTTGTTGAACGCAGCAAAGCCTACAGCAACTGTTACCCTTATGATGTGCCGGATTATGCCTCCCTTAGGTCACTAATTGCCTCATCCGGCACACTGGAGTTTAACAATGAAAGCTTCAATTGGACTGGAGTCACTCAAAATGGAACAAGCTCTGCTTGCAAAAGGAGATCTAATAACAGTTTCTTTAGTAGATTGAATTGGTTGACCCACTTAAAATTCAAATACCCAGCATTGAACGTGACTATGCCAAACAATGAAGAATTTGACAAATTGTACATTTGGGGGGTTCACCACCCGGGTACGGACAATGACCAAATCAGCCTATATGCTCAAGCACCAGGAAGAATCACAGTCTCTACCAAAAGAAGCCAACAAACTGTAATCCCGAATATCGGATCTAGACCCCGAGTAAGGGATATCCCCAGCAGAATAAGCATCTATTGGACAATAGTAAAACCGGGAGACATACTTTTGATTAACAGCACAGGGAATCTAATTGCTCCTCGGGGTTACTTCAAAATACGAAGTGGGAAAAGCTCAATAATGAGATCAGATGCACCCATTGACAAATGCAATTCTGAATGCATCACTCCAAATGGAAGCATTCCCAATGACAAACCATTCCAAAATGTAAACAGGATCACATATGGGGCCTGTCCCAGATATGTTAAGCAAAACACTCTGAAATTGGCAACAGGGATGCGAAATGTACCAGAGAAACAAACTAGAGGCATATTTGGCGCAATCGCGGGTTTCATAGAAAATGGCTGGGAGGGAATGGTGGATGGTTGGTACGGTTTCAGGCATCAAAATTCTGAGGGAATAGGACAAGCAGCAGATCTCAAAAGCACTCAAGCAGCAATCGACCAAATCAATGGGAAGCTGAATAGGTTGATCGGGAAAACCAACGAGAAATTCCATCAGATTGAAAAAGAATTCTCAGAAGTAGAAGGGAGAATTCAGGACCTCGAGAAATATGTTGAGGACACTAAAATAGATCTCTGGTCATACAACGCGGAGCTTCTTGTTGCCCTGGAGAACCAACATACAATTGACCTAACTGACTCAGAAATGAACAAATTGTTTGAAAGAACAAAAAAGCAACTGAGGGAAAATGCTGAGGATATGGGCAATGGTTGTTTCAAAATATACCACAAATGTGACAATGCCTGCATAGGGTCAATCAGAAATGGAACTTATGACCATGATGTATACAGAGATGAAGCATTAAACAACCGGTTCCAGATCAAAGGTGTTGAGCTGAAGTCAGGATACAAAGATTGGATCCTATGGATTTCCTTTGCCATATCATGTTTTTTGCTTTGTGTTGCTTTGTTGGGGTTCATCATGTGGGCCTGCCAAAAAGGCAACATTAGGTGCAACATTTGCATT\n+>KC535396\n+ATGAAGACTATCATTGCTTTGAGCTACATTCTATGTCTGGTTTTCGCTCAAAAACTTCCTGGAAATGACAACAGCACGGCAACGCTGTGCCTTGGGCACCATGCAGTACCAAACGGAACGATAGTGAAAACAATCACGAATGACCAAATTGAAGTTACTAATGCTACTGAGCTGGTTCAGAGTTCCTCAACAGGTGAAATATGCGACAGTCCTCATCAGATCCTTGATGGAGAAAACTGCACACTAATAGATGCTCTATTGGGAGACCCTCAGTGTGATGGCTTCCAAAATAAGAAATGGGACCTTTTTGTTGAACGAAGCAAAGCCTACAGCAACTGTTACCCTTATGATGTGCCGGATTATGCCTCCCTTAGGTCACTAGTTGCCTCATCCGGCACACTGGAGTTTAACAATGAAAGCTTCAATTGGACTGGAGTCACTCAAAACGGAACAAGCTCTGCTTGCATAAGGAGATCTAATAATAGTTTCTTTAGTAGATTGAATTGGTTGACCCACTTAAACTTCAAATACCCAGCATTGAACGTGA'..b'GAGGGAAGAGGACAAGCAGCAGATCTCAAAAGCACTCAAGCAGCAATCGATCAAATCAATGGGAAGCTGAATCGATTGATCGGGAAAACCAACGAGAAATTCCATCAGATTGAAAAAGAATTCTCAGAAGTAGAAGGGAGAATTCAGGACCTTGAGAAATATGTTGAGGACACAAAAATAGATCTCTGGTCATACAACGCGGAGCTTCTTGTTGCCCTGGAGAACCAACATACAATTGATCTAACTGACTCAGAAATGAACAAACTGTTTGAAAAAACAAAGAAGCAACTGAGGGAAAATGCTGAGGATATGGGCAATGGTTGTTTCAAAATATACCACAAATGTGACAATGCCTGCATAGGATCAATCAGAAATGGAACTTATGACCACGATGTATACAGGGATGAAGCATTAAACAACCGGTTCCAGATCAAGGGAGTTGAGCTGAAGTCAGGGTACAAAGATTGGATCCTATGGATTTCCTTTGCCATATCATGTTTTTTGCTTTGTGTTGCTTTGTTGGGGTTCATCATGTGGGCCTGCCAAAAGGGCAACATTAGGTGCAACATTTGCATT\n+>CY012232\n+ATGAAGACTATCATTGCTTTGAGCTACATTTTATGTCTGGTTTTCGCTCAAAAACTTCCCGGAAATGACAACAGCACAGCAACGCTGTGCCTGGGACACCATGCAGTGCCAAACGGAACGCTAGTGAAAACAATCACGAATGATCAAATTGAAGTGACTAATGCTACTGAGCTGGTTCAGAGTTCCCCAACAGGTAGAATATGCGACAGTCCTCACCGAATCCTTGATGGAAAGAACTGCACACTGATAGATGCTCTATTGGGAGACCCTCATTGTGATGGCTTCCAAAATAAGGAATGGGACCTTTTTGTTGAACGCAGCAAAGCTTACAGCAACTGTTACCCTTATGATGTGCCGGATTATGCCTCCCTTAGGTCACTAGTTGCCTCATCAGGCACCCTGGAGTTTACCAACGAAAACTTCAATTGGACTGGAGTCGCTCAGGATGGGAAAAGCTATGCTTGCAAAAGGGGATCTGTTAACAGTTTCTTTAGTAGATTGAATTGGTTGCACAAATTAGAATACAAATATCCAGCGCTGAACGTGACTATGCCAAACAATGGCAAATTTGACAAATTGTACATTTGGGGGGTTCACCACCCGAGCACGGACAGTGACCAAACCAGCCTATATGTCCGAGCATCAGGGAAAGTCACAGTCTCTACCAAAAGAAGCCAACAAACTGTAATCCCGGATATCGGGTATAGACCATGGGTAAGGGGTCTTTCCAGTAGAATAAGCATCTATTGGACAATAGTAAAACCGGGAGACATACTTTTGATTAATAGCACAGGGAATCTAATTGCTCCTCGGGGTTACTTCAAAATACGAAATGGGAAAAGCTCAATAATGAGGTCAGATGCACCCATTGGCAACTGCAGTTCTGAATGCATCACTCCAAATGGAAGCATTCCCAATGACAAACCTTTTCAAAATGTAAACAGGATCACATATGGGGCCTGCCCCAGATATGTTAAGCAAAACACTCTGAAATTGGCAACAGGGATGCGGAATGTACCAGAGAAACAAACTAGAGGCATATTCGGCGCAATCGCAGGTTTCATAGAGAATGGTTGGGAGGGAATGGTAGACGGTTGGTACGGTTTCAGGCATCAGAATTCTGAGGGCACAGGACAAGCTGCAGATCTTAAAAGCACTCAAGCAGCAATCGACCAAATCAACGGGAAACTGAATAGGTTAGTCGAGAAAACGAACGAGAAATTCCATCAAATCGAAAAAGAATTCTCAGAAGTAGAAGGGAGAATTCAGGACCTCGAGAAATATGTTGAAGACACTAAAATAGATCTCTGGTCTTACAATGCGGAGCTTCTTGTTGCTCTGGAGAACCAACATACAATTGATCTAACTGACTCAGAAATGAACAAACTATTTGAAAGAACAAGGAAGCAACTGAGGGAAAATGCTGAGGACATGGGCAATGGTTGTTTCAAAATATACCACAAATGTGACAATGCCTGCATAGGGTCAATCAGAAATGGAACTTATGACCATGATGTATACAGAGACGAAGCATTAAACAACCGGTTCCAGATCAAAGGTGTTGAGCTGAAGTCAGGATACAAAGATTGGATCCTATGGATTTCCTTTGCCATATCATGCTTTTTGCTTTGTGTTGTTTTGCTTGGGTTCATCATGTGGGCCTGCCAAAAAGGCAACATTAGGTGCAACATTTGCATT\n+>EU199367\n+ATGAAGACTATCATTGCTTTGAGCTACATTCTATGTCTGGTTTTCGCTCAAAAACTTCCTGGAAATGACAACAGCACGGCAACGCTGTGCCTTGGGCACCATGCAGTACCAAACGGAACGATAGTGAAAACAATCACGAATGACCAAATTGAAGTTACTAATGCTACTGAGCTGGTTCAGAGTTCCTCAACAGGTGAAATATGCGACAGTCCTCATCAGATCCTTGATGGAGAAAACTGCACACTAATAGATGCTCTATTGGGAGACCCTCAGTGTGATGGCTTCCAAAATAAGAAATGGGACCTTTTTGTTGAACGCAGCAAAGCCTACAGCAACTGTTACCCTTATGATGTGCCGGATTATGCCTCCCTTAGGTCACTAGTTGCCTCATCCGGCACACTGGAGTTTAACAATGAAAGCTTCAATTGGACTGGAGTCACTCAAAACGGAACAAGCTCTGCTTGCATAAGGAGATCTAATAACAGTTTCTTTAGTAGATTGAATTGGTTGACCCACTTAAAATTCAAATACCCAGCATTGAACGTGACTATGCCAAACAATGAAAAATTTGACAAATTGTACATTTGGGGGGTTCACCACCCGGGTACGGACAATGACCAAGTCTTCCTGTATGCTCAAGCATCAGGAAGAATCACAGTCTCTACCAAAAGAAGCCAACAAACTGTAATCCCGAATATCGGATCTAGACCCAGAGTAAGGAATATCCCCAGCAGAATAAGCATCTATTGGACAATAGTAAAACCGGGAGACATACTTTTGATTAACAGCACAGGGAATCTAATTGCTCCTAGGGGTTACTTCAAAATACGAAGTGGGAAAAGCTCAATAATGAGATCAGATGCACCCATTGGCAAATGCAATTCTGAATGCATCACTCCAAATGGAAGCATTCCCAATGACAAACCATTCCAAAATGTAAACAGGATCACATACGGGGCCTGTCCCAGATATGTTAAGCAAAACACTCTGAAATTGGCAACAGGGATGCGAAATGTACCAGAGAAACAAACTAGAGGCATATTTGGCGCAATCGCGGGTTTCATAGAAAATGGTTGGGAGGGAATGGTGGATGGTTGGTACGGTTTCAGGCATCAAAATTCTGAGGGAATAGGACAAGCAGCAGATCTCAAAAGCACTCAAGCAGCAATCGATCAAATCAATGGGAAGCTGAATAGGTTGATCGGGAAAACCAACGAGAAATTCCATCAGATTGAAAAAGAATTCTCAGAAGTCGAAGGGAGAATTCAGGACCTTGAGAAATATGTTGAGGACACCAAAATAGATCTCTGGTCATACAACGCGGAGCTTCTTGTTGCCCTGGAGAACCAACATACAATTGATCTAACTGACTCAGAAATGAACAAACTGTTTGAAAAAACAAAGAAGCAACTGAGGGAAAATGCTGAGGATATGGGCAATGGTTGTTTCAAAATATACCACAAATGTGACAATGCCTGCATAGGATCAATCAGAAATGGAACTTATGACCACGATGTATACAGAGATGAAGCATTAAACAACCGGTTCCAGATCAAGGGCGTTGAGCTGAAGTCAGGATACAAAGATTGGATCCTATGGATTTCCTTTGCCATATCATGTTTTTTGCTTTGTGTTGCTTTGTTGGGGTTCATCATGTGGGCCTGCCAAAAAGGCAACATTAGGTGCAACATTTGCATT\n'
b
diff -r 000000000000 -r 7b3f9c78cf6d test-data/fubar-in1.nhx
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fubar-in1.nhx Wed Aug 21 12:26:38 2019 -0400
b
@@ -0,0 +1,1 @@
+((KF790010:0.001247,CY147300:0.000623):0.0,((CY168239:0.001872,(CY171039:0.001874,KF790389:0.000623):0.000624):0.0,((CY141224:0.001247,(CY147305:0.0,KF790037:0.000623):0.000623):0.0,(((KF790403:0.000623,KF761507:0.001876):0.0,KC526205:0.000623):0.0,((CY169303:0.0,(KF789585:0.000623,CY141202:0.000623):0.000623):0.000623,(((KJ667974:0.002501,KJ938675:0.001873):0.000623,CY134876:0.0):0.000623,((KF790414:0.001248,(KF790384:0.001245,KF790408:0.00125):0.0):0.0,((KF886352:0.001882,(KF790438:0.000623,CY134996:0.001873):0.000623):0.001875,(KF789591:0.001879,((KF790049:0.001255,(CY134956:0.000624,CY183153:0.000624):0.000626):0.001249,((CY168407:0.004394,CY183065:0.003128):0.0,(KF598733:0.002501,((KC892174:0.0,(KF685747:0.000624,CY168471:0.000625):0.00375):0.000624,(((KC892685:0.000624,KC892641:0.0):0.001874,KC893110:0.001249):0.0,(KC892480:0.0,(JX913043:0.001249,(KF551075:0.00125,((CY114509:0.0,(KC892889:0.0,KC893018:0.002498):0.005006):0.001877,(((KC892519:0.0,KC892498:0.000624):0.002497,KC892266:0.000623):0.001026,((KC892156:0.003756,(JX978746:0.001256,KC892407:0.001883):0.001875):0.00355,((KC535402:0.000623,(KC882488:0.002498,KC535387:0.001247):0.001872):0.0,(KC535363:0.000623,((KC535396:0.000623,(KC882883:0.0,KC882867:0.000623):0.003124):0.0,((KC535378:0.001872,KC535375:0.002498):0.0,(GQ385891:0.001248,((EU779522:0.001251,(CY037727:0.0,FJ179354:0.003124):0.0):0.000623,((GQ385889:0.005007,(FJ686933:0.001243,FJ179356:0.003117):0.0):0.000622,(CY173095:0.001245,(((CY173191:0.0,CY037703:0.001247):0.000622,CY035062:0.00249):0.0,((CY173255:0.001871,(CY044748:0.0,GQ385846:0.001247):0.000623):0.0,((CY027075:0.000623,(EU199367:0.0,CY172823:0.000623):0.0):0.000623,(((CY172847:0.000623,CY025643:0.0):0.000623,CY172839:0.000623):0.001247,(((CY026251:0.002497,CY092241:0.00125):0.000624,CY026019:0.000623):0.0,((CY025341:0.002502,(CY172775:0.001247,CY172903:0.000623):0.001248):0.000622,(EU199255:0.003134,(CY172431:0.000621,((CY172223:0.003127,(CY172191:0.001254,CY020069:0.000628):0.000621):0.0,((CY092217:0.003119,(CY025485:0.001283,EU516019:0.00059):0.008843):0.001868,(CY002080:0.000622,((CY002064:0.001873,(CY002456:0.000626,CY002048:0.002491):0.001243):0.003763,(AB434109:0.006307,(((CY088198:0.001245,CY088475:0.000621):0.0,CY000257:0.000621):0.002494,((CY112957:0.003135,CY006859:0.001253):0.000616,((CY000721:0.001243,(CY114493:0.0,CY090885:0.002483):0.002488):0.0,((CY001792:0.000621,(CY001600:0.00062,CY002368:0.001865):0.0):0.0,((CY002304:0.002489,(CY006163:0.001242,CY003632:0.00062):0.0):0.00062,(CY001920:0.003739,(CY001912:0.002498,((CY001504:0.0,CY006060:0.001241):0.00062,((CY001744:0.0,CY002136:0.00124):0.00062,((CY114309:0.003746,(CY006899:0.001874,CY112901:0.001863):0.002496):0.000618,(((CY006579:0.001245,CY006283:0.000621):0.001244,CY007979:0.001864):0.0,((CY006499:0.001241,(CY006491:0.001863,CY006635:0.00124):0.0):0.00062,(((CY036847:0.002495,CY010004:0.001867):0.000621,CY012200:0.000621):0.0,(((CY010028:0.001242,CY009732:0.001242):0.0,CY010012:0.002484):0.001875,(((CY010020:0.002497,CY011416:0.001237):0.001252,CY009484:0.00062):0.005658,((CY010036:0.0,(CY039879:0.002489,CY039880:0.000621):0.002487):0.003109,((CY010628:0.000619,(CY010716:0.002485,CY010516:0.001239):0.0):0.000619,((CY012728:0.0,CY013701:0.000621):0.001243,(((CY012760:0.001239,CY013200:0.001239):0.0,CY011888:0.005614):0.0,((CY013693:0.000619,(CY012184:0.002484,CY013669:0.00124):0.00124):0.0,((CY112669:0.004353,(CY112556:0.001861,CY011896:0.000619):0.00186):0.0,(CY112605:0.001243,(CY012224:0.006953,((CY012512:0.000619,(CY012896:0.00062,CY012232:0.00062):0.000621):0.0,(CY011848:0.0,(((CY011328:0.0,CY114221:0.000619):0.001241,CY011560:0.00124):0.0,((CY012456:0.000619,CY011824:0.00124):0.0,CY017283:0.000619):0.0):0.0):0.0):0.002439):0.008263):0.000618):0.0):0.0):0.000617):0.012609):0.000619):0.001215):0.003782):0.000613):0.006878):0.0):0.001862):0.0):0.0):0.001863):0.001862):0.001245):0.0):0.001241):0.021084):0.000623):0.00065):0.003713):0.002495):0.0):0.005637):0.00313):0.002515):0.001876):0.0):0.000623):0.0):0.003749):0.0):0.0):0.000623):0.000623):0.001872):0.002503):0.0):0.0):0.000623):0.001468):0.00189):0.002721):0.002524):0.0):0.000624):0.0):0.0):0.0):0.000623):0.001248):0.001255):0.000619):0.0):0.0):0.0):0.000623):0.0):0.0):0.0):0.0;
b
diff -r 000000000000 -r 7b3f9c78cf6d test-data/fubar-out1.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fubar-out1.json Wed Aug 21 12:26:38 2019 -0400
[
b'@@ -0,0 +1,4234 @@\n+{\n+ "MLE":{\n+   "content":{\n+     "0":      [\n+[2.358303696561651, 0.2466171873692551, -2.111686509192396, 0.8210197338138971, 0.142087457564682, 0.3966878876600468, 0, 0],\n+      [1.326584461663443, 0.6866899518991865, -0.6398945097642563, 0.6688273802220104, 0.2636275007897265, 0.8574905953981414, 0, 0],\n+      [0.7044422164661149, 0.6750500349130593, -0.02939218155305567, 0.4326692199559115, 0.5033349164743647, 2.427334580981709, 0, 0],\n+      [1.364044071446117, 0.7245533194421999, -0.6394907520039169, 0.659200973014336, 0.2700465050330634, 0.8860935649345238, 0, 0],\n+      [0.8832572277883376, 0.324055205187422, -0.5592020226009156, 0.6938860968986269, 0.2516249096259696, 0.8053237779146634, 0, 0],\n+      [0.8480568188667065, 0.3001964190676413, -0.5478603997990652, 0.7028888613991836, 0.2417160286876891, 0.7635013130968795, 0, 0],\n+      [0.6407145320808335, 0.4049432206602815, -0.235771311420552, 0.5905083476225061, 0.346254278491581, 1.268593561124676, 0, 0],\n+      [0.9072661993050892, 0.2823144256251368, -0.6249517736799524, 0.7252370978512809, 0.2216244205662104, 0.6819689866280161, 0, 0],\n+      [0.7426948982295435, 0.7567393857126714, 0.01404448748312792, 0.4171549324334423, 0.5177499183778403, 2.571484691201039, 0, 0],\n+      [0.8832572277883376, 0.324055205187422, -0.5592020226009156, 0.6938860968986269, 0.2516249096259696, 0.8053237779146634, 0, 0],\n+      [1.153196925053012, 0.9485395403166536, -0.2046573847363585, 0.5514252855343962, 0.3645416498468853, 1.374030198668673, 0, 0],\n+      [1.657348732074937, 0.6709243865161684, -0.986424345558769, 0.7207273307001831, 0.2178413668084056, 0.6670858427096573, 0, 0],\n+      [2.295030716391476, 0.9493945208348539, -1.345636195556623, 0.7893156105877124, 0.1072994329215472, 0.2878908287894031, 0, 0],\n+      [1.742722766688323, 0.2655071923940618, -1.477215574294262, 0.8959706797226714, 0.07989792534668461, 0.2079867680564493, 0, 0],\n+      [1.858688115011278, 0.2822767833344704, -1.576411331676808, 0.8948712160422522, 0.08060057820826491, 0.2099762353184742, 0, 0],\n+      [1.462295776963819, 0.647481858108328, -0.8148139188554907, 0.7073099562386345, 0.2311854144936364, 0.7202363411906459, 0, 0],\n+      [0.948336987809952, 0.3543640669540117, -0.5939729208559403, 0.6875029499512698, 0.2593241204028092, 0.8385924064282853, 0, 0],\n+      [0.7965924808347636, 0.6723946718041862, -0.1241978090305774, 0.4619532406014427, 0.4742157332944405, 2.160252847322258, 0, 0],\n+      [1.730611669879955, 0.2828747107364131, -1.447736959143542, 0.887471165266484, 0.08666510332417507, 0.227274348530725, 0, 0],\n+      [2.602495274926114, 0.2224813986659689, -2.380013876260145, 0.9661218366567534, 0.02332290977910508, 0.0571963013340083, 0, 0],\n+      [0.7155676309890805, 0.6269462570093068, -0.08862137397977365, 0.4574330127122577, 0.4791680668085074, 2.203568105590548, 0, 0],\n+      [0.7667345160069771, 1.042311138764371, 0.2755766227573938, 0.3048304006736612, 0.6248180499681256, 3.988851282337214, 0, 0],\n+      [0.9024614595972034, 0.2921792245177261, -0.6102822350794772, 0.7177884830002524, 0.2287828460835491, 0.7105309357727365, 0, 0],\n+      [1.605664748242327, 0.6699094415790486, -0.9357553066632779, 0.7154008733146512, 0.2226136777986788, 0.6858847762481378, 0, 0],\n+      [0.9072661993050892, 0.2823144256251368, -0.6249517736799524, 0.7252370978512809, 0.2216244205662104, 0.6819689866280161, 0, 0],\n+      [1.274335021760559, 1.059102101214107, -0.2152329205464518, 0.4905281304227055, 0.4069189486928296, 1.643350037181603, 0, 0],\n+      [0.8646868533194048, 0.2992685634705276, -0.5654182898488771, 0.7064937253088767, 0.2387018853652207, 0.7509954553907997, 0, 0],\n+      [0.7328609667105022, 0.321420041009705, -0.4114409257007972, 0.6646479981721136, 0.2754211816395606, 0.9104328448537105, 0, 0],\n+      [0.5633775374085664, 0.412588968020095, -0.1507885693884715, 0.5594463064147368, 0.3741523105695181, 1.431910890812913, 0, 0],\n+      [0.8929030199683131, 0.313'..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 000000000000 -r 7b3f9c78cf6d 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:26:38 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 000000000000 -r 7b3f9c78cf6d 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:26:38 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 000000000000 -r 7b3f9c78cf6d 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:26:38 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 000000000000 -r 7b3f9c78cf6d test-data/meme-in1.fa
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/meme-in1.fa Wed Aug 21 12:26:38 2019 -0400
b
b'@@ -0,0 +1,1 @@\n+>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>CHICKEN_HEBEI_326_2005\rATGGAGAGAATAGTGCTTCTTCTTGCAATAATCGGTCTTGTTAAAAGTGA\rTCAGATTTGCATTGGTTACCATGCAAACAACTCGACAGAGCAGGTTGACA\rCAATAATGGAAAAGAACGTTACTGTTACACATGCTCAAGACATACTGGAG\rAAGACACACAACGGGAAGCTCTGCAACCCAGATGGAGTGAAGCCTCTAAT\rTTTGAAAGATTGTAGTGTAGCTGGATGGCTCCTCGGAAACCCAATGTGTG\rACGAATTTATCAATGTGCCGGAATGGTCTTACATAGTGGAGAAGGCCAGT\rCCAGCCAATGGCCTCTGTTACCCAGGGGATTTCAATGACTATGAAGAACT\rGAAACACCTATTGAGCAGAATAAACCATTTTGAGAAAATTCAGATCATCC\rCCAAAAGTTCTTGGTCCGATCATGGAGCCTCATCAGGGGTGAGCTCAGCA\rTGTTCCTATCTGGGGAAGCCCTCCTTTTTCAGAAATGTGGTATGGCTTAT\rCAAAAAGAATAATACATACCCACCAATAAAGGTGAGCTACAACAATACCA\rACCAAGAAGATCTTTTGGTACTGTGGGGGATTCACCATCCCAATGATGAG\rGCAGAGCAGATAAAGATCTATCAAAACCCAACCACCTATATTTCCGTTGG\rAACATCAACACTAAACCAGAGATTGGTACCAAAAATAGCTACTAGATCCA\rAAGTAAACGGGCAAAGTGGAAGAATGGAGTTCTTCTGGACAATTTTAAAG\rCCGAATGATGCTATCAATTTCGATAGTAATGGAAATTTCATTGCTCCAGA\rATATGCATACAAAATTGTCAAGAAAGGGGACTCAGCGATTATGAAAAGTG\rAATTGGAATATGGCAACTGCAACACCAAGTGTCAAACTCCAATGGGGGCG\rATAAATTCTAGTATGCCATTCCACAACATACACCCTCTCACCGTCGGGGA\rATGCCCCAAATATGTGAAATCAAACAGATTAGTCCTCGCGACTGGACTCA\rGAAATGCCCCTCAAAGAGAGGGAGGAAGAAAAAAGAGAGGACTATTTGGA\rGCCATAGCAGGGTTTATAGAGGGAGGATGGCAGGGAATGGTAGATGGTTG\rGTATGGGTACCACCATAGCAATGAGCAGGGGAGTGGATACGCTGCAGACA\rAAGAATCCACTCAAAAGGCAATAGATGGAGTCACCAATAAGGTCAACTCG\rATCATTGACAAAATGAACACTCAGTTTGAGGCCGTTGGAAGGGAATTTAA\rTAACTTAGAAAGGAGAATAGAAAATTTAAACAAGAAGATGGAGGACGGAT\rTCCTAGATGTCTGGACTTATAACGCTGAACTTCTGGTTCTCATGGAAAAT\rGAGAGAACTCTAGACTTTCATGACTCAAATGTCAAGAACCTTTACGAAAA\rGGTCCGACTACAGCTTAGGGATAATGCAAAGGAGCTGGGTAACGGTTGTT\rTCGAGTTCTATCACAAATGTGATAATGAATGTATGGAAAGTGTAAAAAAC\rGGAACGTATGACTACCCGCAGTATTCAGAAGAAGCAAGACTAAACAGAGA\rGGAAATAAGTGGAGTAAAATTGGAATCAATGGGAACTTACCAAATACTGT\rCAATTTATTCAACAGTGGCGAGTTCCCTAGCATTGGCAATCATGGTAGCT\rGGTCTATCTTTATGGATGTGCTCCAATGGATCGTTACAATGCAGAATT\r>CHICKEN_HONGKONG_915_97\rATGGAGAAAATAGTGCTTCTTCTTGCAACAGTCAGTCTTGTTAAAAGTGA\rTCAGATTTGCATTGGTTACCATGCAAACAACTCGACAGAGCAGGTTGACA\rCAATAATGGAAAAGAATGTTACTGTTACACATGCCCAAGACATACTGGAA\rAGGACACACAACGGGAAGCTCTGCGATCTAAATGGAGTGAAACCTCTCAT\rTTTGAGGGATTGTAGTGTAGCTGGATGGCTCCTCGGAAACCCTATGTGTG\rACGAATTCATCAATGTGCCGGAATGGTCTTACATAGTGGAGAAGGCCAGT\rCCAGCCAATGACCTCTGTTATCCAGGGAATTTCAACGACTATGAAGAACT\rGAAACACCTATTGAGCAGAATAAACCATTTTGAGAAAATTCAGATCATCC\rCCAAAAGTTCTTGGTCCAATCATGATGCCTCATCA'..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 000000000000 -r 7b3f9c78cf6d test-data/meme-in1.nhx
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/meme-in1.nhx Wed Aug 21 12:26:38 2019 -0400
b
@@ -0,0 +1,1 @@
+((((((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 000000000000 -r 7b3f9c78cf6d test-data/meme-out1.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/meme-out1.json Wed Aug 21 12:26:38 2019 -0400
[
b'@@ -0,0 +1,6239 @@\n+{\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+      [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+      [12.52835534598018, 0, 0.1028092111730828, 0, 0.8971907888269173, 0, 0.6666666666666666, 0, 0.3619239620814606],\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+      [4.526013289893084, 0, 0.21, 0, 0.79, 0, 0.6666666666666666, 0, 0.1307492178402363],\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+      [5.778235281128926, 0, 0.1048549336753811, 0, 0.895145066324619, 0, 0.6666666666666666, 0, 0.1669238897710598],\n+      [0, 0, 0, 1.811443451630381, 1, 0, 0.6666666666666666, 0, 0.1211374438547285],\n+      [4.16975333524863, 0, 0.1049198024571935, 0, 0.8950801975428065, 0, 0.6666666666666666, 0, 0.1204574428422312],\n+      [0, 0, 1, 0, 0, 0, 1, 0, 0],\n+      [6.067135083387604, 6.067135083387516, 0.313721188257573, 0, 0.686278811742427, 0, 0.6666666666666666, 0, 0.3025558868541813],\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+      [12.64639196707219, 0, 0.1815339017197267, 0, 0.8184660982802733, 0, 0.6666666666666666, 0, 0.3653338495245107],\n+      [11.47465033410186, 1.6250977062539, 0.6784748819617452, 1.547845247613481, 0.3215251180382548, 0, 0.6666666666666666, 0, 0.4384989474073118],\n+      [2.150572226072722, 2.150572226072722, 0, 3.001300331424568, 1, 0, 0.6666666666666666, 0, 0.2628338207031371],\n+      [0, 0, 0, 1.596774706161373, 1, 0, 0.6666666666666666, 0, 0.1067818077026798],\n+      [4.743412316579805, 0, 0.0586026566410284, 0, 0.9413973433589716, 0, 0.6666666666666666, 0, 0.1370295247854218],\n+      [0, 0, 1, 0, 0, 0, 1, 0, 0],\n+      [3.682413523444095, 0, 0.10495989356895, 0, 0.89504010643105, 0, 0.66666666666'..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 000000000000 -r 7b3f9c78cf6d test-data/params.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/params.json Wed Aug 21 12:26:38 2019 -0400
[
b'@@ -0,0 +1,280 @@\n+{\n+    "filepath": "/home/sweaver/datamonkey/datamonkey-js-dev/app/models/../../uploads/msa/5446bc0d355080301f18a8c6.fasta",\n+    "msa": [\n+        {\n+            "rawsites": 1698,\n+            "nj": "(((((((TREESPARROW_HENAN_1_2004:0.0111333782927653,TREESPARROW_HENAN_3_2004: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.009062780987312381):0.002095219592954275):0.003887237703073042):0.003404921392531202,(((CHICKEN_HONGKONG_915_97:-0.001089936320307174,(GOOSE_HONGKONG_W355_97:-0.002798420018760263,DUCK_HONGKONG_Y283_97:0.002798420018760263):0.002899766890966483):0.001306376767766534,HONGKONG_1_97_98:0.003844928589233716):0.000182535836694054,HONGKONG_1_538_97:-8.034074555865944e-05):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)",\n+            "goodtree": 0,\n+            "sequences": 21,\n+            "sites": 566,\n+            "partitions": 1,\n+            "analysis_type": "1",\n+            "gencodeid": 0,\n+            "datatype": 0,\n+            "_id": "5446bc0d355080301f18a8c7",\n+            "created": "2014-10-21T20:03:25.803Z",\n+            "sequence_info": [\n+                {\n+                    "seqindex": 0,\n+                    "name": "TREESPARROW_HENAN_1_2004",\n+                    "_id": "5446bc0d355080301f18a8c8"\n+                },\n+                {\n+                    "seqindex": 1,\n+                    "name": "HUMAN_VIETNAM_CL105_2005",\n+                    "_id": "5446bc0d355080301f18a8c9"\n+                },\n+                {\n+                    "seqindex": 2,\n+                    "name": "TREESPARROW_HENAN_4_2004",\n+                    "_id": "5446bc0d355080301f18a8ca"\n+                },\n+                {\n+                    "seqindex": 3,\n+                    "name": "CHICKEN_HEBEI_326_2005",\n+                    "_id": "5446bc0d355080301f18a8cb"\n+                },\n+                {\n+                    "seqindex": 4,\n+                    "name": "CHICKEN_HONGKONG_915_97",\n+                    "_id": "5446bc0d355080301f18a8cc"\n+                },\n+                {\n+                    "seqindex": 5,\n+                    "name": "HUMAN_VIETNAM_3062_2004",\n+                    "_id": "5446bc0d355080301f18a8cd"\n+                },\n+                {\n+                    "seqindex": 6,\n+                    "name": "GOOSE_HONGKONG_W355_97",\n+                    "_id": "5446bc0d355080301f18a8ce"\n+                },\n+                {\n+                    "seqindex": 7,\n+                    "name": "DUCK_HONGKONG_Y283_97",\n+                    "_id": "5446bc0d355080301f18a8cf"\n+                },\n+                {\n+                    "seqindex": 8,\n+                    "name": "DUCK_VIETNAM_376_2005",\n+                    "_id": "5446bc0d355080301f18a8d0"\n+                },\n+                {\n+                    "seqindex": 9,\n+                    "name": "MALLARD_VIETNAM_16_2003",\n+                    "_id": "5446bc0d355080301f18a8d1"\n+                },\n+                {\n+                    "seqindex": 10,\n+                    "name": "CHICKEN_CK_160_2005",\n+                    "_id": "5446bc0d355080301f18a8d2"\n+                },\n+                {\n+                    "seqindex": 11,\n+      '..b'ex": 10\n+                    },\n+                    {\n+                        "_id": "5446bc0d355080301f18a8d3",\n+                        "name": "DUCK_GUANGZHOU_20_2005",\n+                        "seqindex": 11\n+                    },\n+                    {\n+                        "_id": "5446bc0d355080301f18a8d4",\n+                        "name": "CK_HK_WF157_2003",\n+                        "seqindex": 12\n+                    },\n+                    {\n+                        "_id": "5446bc0d355080301f18a8d5",\n+                        "name": "SWINE_ANHUI_1_2004",\n+                        "seqindex": 13\n+                    },\n+                    {\n+                        "_id": "5446bc0d355080301f18a8d6",\n+                        "name": "DUCK_VIETNAM_272_2005",\n+                        "seqindex": 14\n+                    },\n+                    {\n+                        "_id": "5446bc0d355080301f18a8d7",\n+                        "name": "HONGKONG_1_97_98",\n+                        "seqindex": 15\n+                    },\n+                    {\n+                        "_id": "5446bc0d355080301f18a8d8",\n+                        "name": "GOOSE_SHANTOU_2216_2005",\n+                        "seqindex": 16\n+                    },\n+                    {\n+                        "_id": "5446bc0d355080301f18a8d9",\n+                        "name": "TREESPARROW_HENAN_3_2004",\n+                        "seqindex": 17\n+                    },\n+                    {\n+                        "_id": "5446bc0d355080301f18a8da",\n+                        "name": "PEREGRINEFALCON_HK_D0028_2004",\n+                        "seqindex": 18\n+                    },\n+                    {\n+                        "_id": "5446bc0d355080301f18a8db",\n+                        "name": "TREESPARROW_HENAN_2_2004",\n+                        "seqindex": 19\n+                    },\n+                    {\n+                        "_id": "5446bc0d355080301f18a8dc",\n+                        "name": "HONGKONG_1_538_97",\n+                        "seqindex": 20\n+                    }\n+                ],\n+                "created": "2014-10-21T20:03:25.803Z",\n+                "_id": "5446bc0d355080301f18a8c7",\n+                "datatype": 0,\n+                "gencodeid": 0,\n+                "partitions": 1,\n+                "sites": 566,\n+                "sequences": 21,\n+                "goodtree": 0,\n+                "nj": "(((((((TREESPARROW_HENAN_1_2004:0.0111333782927653,TREESPARROW_HENAN_3_2004: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.009062780987312381):0.002095219592954275):0.003887237703073042):0.003404921392531202,(((CHICKEN_HONGKONG_915_97:-0.001089936320307174,(GOOSE_HONGKONG_W355_97:-0.002798420018760263,DUCK_HONGKONG_Y283_97:0.002798420018760263):0.002899766890966483):0.001306376767766534,HONGKONG_1_97_98:0.003844928589233716):0.000182535836694054,HONGKONG_1_538_97:-8.034074555865944e-05):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)",\n+                "rawsites": 1698\n+            }\n+        ],\n+        "created": "2014-10-21T20:03:25.798Z"\n+    },\n+    "status_stack": [\n+        "In Queue",\n+        "Running",\n+        "Completed"\n+    ],\n+    "type": "relax"\n+}\n'
b
diff -r 000000000000 -r 7b3f9c78cf6d 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:26:38 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 000000000000 -r 7b3f9c78cf6d 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:26:38 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 000000000000 -r 7b3f9c78cf6d 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:26:38 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 000000000000 -r 7b3f9c78cf6d 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:26:38 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 000000000000 -r 7b3f9c78cf6d test-data/slac-out1.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/slac-out1.json Wed Aug 21 12:26:38 2019 -0400
[
b'@@ -0,0 +1,2076 @@\n+{\n+ "analysis":{\n+   "info":"SLAC (Single Likelihood Ancestor Counting)\\n    uses a maximum likelihood ancestral state reconstruction\\n    and minimum path substitution counting to estimate site - level\\n    dS and dN,\\n    and applies a simple binomial - based test to test\\n    if dS differs drom dN.\\n    The estimates aggregate information over all branches,\\n    so the signal is derived from\\n    pervasive diversification or conservation. A subset of branches can be selected\\n    for testing as well.\\n    Multiple partitions within a NEXUS file are also supported\\n    for recombination - aware analysis.\\n    ",\n+   "version":"2.00",\n+   "citation":"Not So Different After All: A Comparison of Methods for Detecting Amino Acid Sites Under Selection (2005). _Mol Biol Evol_ 22 (5): 1208-1222",\n+   "authors":"Sergei L Kosakovsky Pond and Simon DW Frost",\n+   "contact":"spond@temple.edu",\n+   "requirements":"in-frame codon alignment and a phylogenetic tree"\n+  },\n+ "fits":{\n+   "Nucleotide GTR":{\n+     "Log Likelihood":-3531.963798530155,\n+     "estimated parameters":24,\n+     "AIC-c":7112.142458295762,\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.5474490057204714,\n+       "Substitution rate from nucleotide A to nucleotide G":1,\n+       "Substitution rate from nucleotide A to nucleotide T":0.2645352969683238,\n+       "Substitution rate from nucleotide C to nucleotide G":0.4863078374555331,\n+       "Substitution rate from nucleotide C to nucleotide T":1.018028772244997,\n+       "Substitution rate from nucleotide G to nucleotide T":0.3025951149895378\n+      },\n+     "display order":0\n+    },\n+   "Global MG94xREV":{\n+     "Log Likelihood":-3466.724829119623,\n+     "estimated parameters":31,\n+     "AIC-c":6996.52909240682,\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.009176034326710849],\n+      [0.007500393094996483],\n+      [0.00928511773266342],\n+      [0.007803986567571961],\n+      [0.00784869593340758],\n+      [0.009716299514778986],\n+      [0.008166387662818644],\n+      [0.01412467213650941],\n+      [0.01154535713247913],\n+      [0.01429258425298098],\n+      [0.01201267864744234]\n+      ],\n+     "Rate Distributions":{\n+       "non-synonymous/synonymous rate ratio for *test*":[\n+        [0.9952474740528205, 1]\n+        ]\n+      }'..b' 0.7667128671748024, 0.890841230650352, 0.8320854747642759, 1.723419162497329],\n+      [1, 2, 5, 0.4749999999999517, 0.3333333333333333, 5, 0.2374999999999758, -2.183160128350873, 1, 0.03782959914646881, 1.723419162497329],\n+      [0.843656832841698, 2.408185306598483, 2.938888888888878, 9.886111111111106, 0.2843369743316476, 4.574922684961112, 4.238621782785534, 1.594080406346652, 0.7883087325663475, 0.9345721380406598, 1.723419162497329],\n+      [0.4015666212427145, 2.598433378757286, 0, 0.4749999999999517, 0.1338555404142381, 0, 0.1828024546956531, 0.1060696426461699, 1, 1, 1.723419162497329],\n+      [0.7631315455164901, 2.303416321948652, 4, 8.579166666666659, 0.2598642419466547, 6.13519119941088, 3.924250265172389, 0.9761043336904643, 0.9485561128462242, 0.8823115672560321, 1.723419162497329],\n+      [1, 2, 0, 2, 0.3333333333333333, 0, 1, 0.5802418945783016, 0.6666666666666667, 1, 1.723419162497329],\n+      [0.5108071114874615, 2.57138242847146, 2, 3, 0.1702690371624872, 4.689333452586883, 1.205209935254436, -0.4366182159717286, 0.989584442823033, 0.5260318186931501, 1.723419162497329],\n+      [0.7355430390802056, 2.24582979842974, 0.5, 7.5, 0.2547488097891927, 0.6797698753634438, 3.49464769706217, 1.865065863585222, 0.2612708950448336, 1, 1.723419162497329],\n+      [0.6267060118898431, 2.238010426610814, 2, 2, 0.2199736580517843, 3.214404615308581, 0.9115992408219742, -0.4173100575643724, 0.9651119805840197, 0.5225975649035184, 1.723419162497329],\n+      [0.9101251033652521, 2.317095536064913, 2, 7.158333333333317, 0.303375034455084, 2.290533001213371, 3.425698572354657, 1.350172793073417, 0.6586555929582461, 0.9471075623091124, 1.723419162497329],\n+      [0.673672140559856, 2.489920391149622, 2.158333333333317, 8.13194444444443, 0.226629447539539, 4.126852101032075, 3.54552687644596, 1.976804163754458, 0.836071480785966, 1, 1.723419162497329],\n+      [0.6897615550532064, 2.790263254042777, 2.333333333333333, 8.526388888888887, 0.2304358158933025, 6.094648833588598, 3.276393298181066, 0.3613328345356598, 0.9231255898428308, 0.6686732177677085, 1.723419162497329],\n+      [0.7946586568361008, 2.167975169364766, 1, 6, 0.2715103527844899, 1.405104306225133, 2.818037808360176, 0.8363424597513123, 0.7430921944460164, 0.8718081545299928, 1.723419162497329],\n+      [0.925309922046851, 2.236871623721474, 2.579166666666659, 8.5, 0.3084366406822837, 2.925882077362623, 4.049552410687498, 1.364532301558911, 0.6461765519656628, 0.9254887173196068, 1.723419162497329],\n+      [0.9581686586422306, 2.13880638531327, 2, 5, 0.3193895528807435, 2.322358138625455, 2.415212293435113, 0.7773494920126088, 0.7795378572552829, 0.8920156958059355, 1.723419162497329],\n+      [0.7593283298052359, 2.460727196465021, 3, 8.526388888888887, 0.253391086431764, 4.622736289498208, 3.556429743974461, 1.477112310794914, 0.8989574146760382, 0.8927015041979159, 1.723419162497329],\n+      [0.5112602866741613, 2.217104081344285, 0, 0, 0.1873871000028779, 0, 0, 0, 1, 1, 1.723419162497329],\n+      [1, 1.952467466533022, 2, 4, 0.342663635137335, 2, 2.086372572382543, 0.63035887961715, 0.7821097289668139, 0.8770423554138478, 1.723419162497329],\n+      [0.75154665371034, 2.194207467544889, 0.7374999999999758, 2.895833333333293, 0.2591620486295864, 1.086891717767276, 1.342183608392251, 0.6579931372011264, 0.7050462382636092, 1, 1.723419162497329],\n+      [0.6018431830315369, 2.241218884393843, 1, 2, 0.2148519149742012, 1.661562393982619, 0.9093567672257744, -0.4364612179818503, 0.8845364432183682, 0.5159895622684771, 1.723419162497329],\n+      [1, 2, 0, 0, 0.3333333333333333, 0, 0, 0, 1, 1, 1.723419162497329],\n+      [1.401566621242714, 1.598433378757286, 0, 0, 0.4671888737475713, 0, 0, 0, 1, 1, 1.723419162497329],\n+      [0.5861816684921827, 2.463353001049777, 3, 4.158333333333317, 0.1963715666467496, 5.590266983451943, 1.70370382635879, -1.259842549492376, 0.9887093275905696, 0.2624813117321075, 1.723419162497329]\n+      ]\n+    }\n+  }\n+}\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r 7b3f9c78cf6d 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:26:38 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 000000000000 -r 7b3f9c78cf6d 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:26:38 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 000000000000 -r 7b3f9c78cf6d 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:26:38 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 000000000000 -r 7b3f9c78cf6d 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:26:38 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'