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

Changeset 0:9ce3d6d4bd0e (2021-04-20)
Next changeset 1:c1d24ff838c8 (2021-04-20)
Commit message:
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit 2742ee3b4e90f65352845265d2f85c4263e0eabb"
added:
hyphy_conv.xml
macros.xml
scripts/annotator.bf
scripts/strike-ambigs.bf
test-data/absrel-in1.fa
test-data/absrel-in1.nhx
test-data/absrel-out1.json
test-data/annotate-in1.fa.gz
test-data/annotate-in1.nhx
test-data/annotate-out1-clade.nhx
test-data/annotate-out1-full.nhx
test-data/annotate-out1-int.nhx
test-data/bgm-in1.fa
test-data/bgm-in1.nhx
test-data/bgm-out1.json
test-data/busted-out1.json
test-data/cfel-out1.json
test-data/conv-in1.fa
test-data/conv-out1.nhx
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.gz
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/prime-in1.fa
test-data/prime-in1.nhx
test-data/prime-out1.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
test-data/strike-ambigs-in1.fa
test-data/strike-ambigs-in2.fa
test-data/strike-ambigs-out1.fa
test-data/strike-ambigs-out2.fa
b
diff -r 000000000000 -r 9ce3d6d4bd0e hyphy_conv.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/hyphy_conv.xml Tue Apr 20 10:31:50 2021 +0000
[
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<tool id="hyphy_conv" name="HyPhy-Conv" version="@VERSION@+galaxy0" profile="19.09">
+    <description>translate an in-frame codon alignment to proteins</description>
+    <macros>
+        <import>macros.xml</import>
+    </macros>
+    <expand macro="requirements"/>
+    <command detect_errors="exit_code"><![CDATA[
+        cp '$input_file' conv_input.fa &&
+        hyphy conv
+            '$gencodeid'
+            '$deletions'
+            conv_input.fa
+            aa.nhx
+            > ./conv.log
+        @ERRORS@
+    ]]></command>
+    <inputs>
+        <param name="input_file" type="data" format="fasta" label="Input codon alignment"/>
+        <param name="save_log" type="boolean" truevalue="Yes" falsevalue="No" checked="false" label="Save the conversion log to your history" />
+        <expand macro="gencode"/>
+        <param name="deletions" type="boolean" truevalue="Keep Deletions" falsevalue="Skip Deletions" label="Keep deletions" help="If this is checked, deletions will be left in the output file"/>
+    </inputs>
+    <outputs>
+        <data name="conv_log" format="txt" from_work_dir="conv.log">
+            <filter>save_log</filter>
+        </data>
+        <data name="proteins" format="nhx" from_work_dir="aa.nhx" />
+    </outputs>
+    <tests>
+        <test>
+            <param name="input_file" ftype="fasta" value="conv-in1.fa"/>
+            <param name="deletions" value="Keep Deletions" />
+            <output name="proteins" file="conv-out1.nhx" />
+        </test>
+    </tests>
+    <help><![CDATA[
+HyPhy-CONV: Translate an in-frame codon alignment to proteins
+=============================================================
+
+This tool takes a codon-aligned fasta file and outputs the amino acid sequence
+it represents, with the option to keep or skip deletions in the input file.
+]]>
+    </help>
+    <expand macro="citations" />
+</tool>
+
b
diff -r 000000000000 -r 9ce3d6d4bd0e macros.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/macros.xml Tue Apr 20 10:31:50 2021 +0000
[
@@ -0,0 +1,144 @@
+<?xml version="1.0"?>
+<macros>
+    <xml name="inputs">
+     <param name="input_file" type="data" format="fasta,fasta.gz,nex" label="Input FASTA or NEXUS file" help="If the input file type is NEXUS and it includes a valid newick tree, that tree will override an uploaded newick tree" />
+        <param name="input_nhx" type="data" format="nhx,newick" optional="true" label="Input newick file"/>
+    </xml>
+    <xml name="substitution">
+        <param name="model" type="select" label="Substitution model">
+            <option value="GTR">GTR - General time reversible
+            model</option>
+            <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>
+        </param>
+    </xml>
+
+    <xml name="conditional_posteriorEstimationMethod">
+        <conditional name="posteriorEstimationMethod">
+            <param argument="--method" type="select" label="Posterior estimation method">
+                <option value="Variational-Bayes">0-th order Variational Bayes approximation</option>
+                <option value="Metropolis-Hastings">Full Metropolis-Hastings MCMC algorithm</option>
+                <option value="Collapsed-Gibbs">Collapsed Gibbs sampler</option>
+            </param>
+            <when value="Variational-Bayes">
+            </when>
+            <when value="Metropolis-Hastings">
+                <expand macro="mcmc_options" />
+            </when>
+            <when value="Collapsed-Gibbs">
+                <expand macro="mcmc_options" />
+            </when>
+        </conditional>
+    </xml>
+
+    <token name="@posteriorEstimationMethod_cmd@">
+            #if $posteriorEstimationMethod.method != "Variational-Bayes"
+                --chains '$posteriorEstimationMethod.chains'
+                --chain-length '$posteriorEstimationMethod.chain_length'
+                --burn-in '$posteriorEstimationMethod.samples'
+                --samples '$posteriorEstimationMethod.samples_per_chain'
+            #end if
+    </token>
+
+    <xml name="mcmc_options">
+        <param argument="--chains" type="integer" value="5" min="2" max="20" label="Number of MCMC chains" />
+        <param argument="--chain-length" name="chain_length" type="integer" value="2000000" min="500000" max="50000000" label="Length of each chain" />
+        <param argument="--burn-in" name="samples" type="integer" value="1000000" min="100000" max="1900000" label="Samples to use for burn-in" />
+        <param argument="--samples" name="samples_per_chain" type="integer" value="100" min="50" max="1000000" label="Samples to draw from each chain" />
+    </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/molbev/msz197</citation>
+            <yield/>
+        </citations>
+    </xml>
+    <token name="@VERSION@">2.5.31</token>
+    <xml name="requirements">
+        <requirements>
+            <requirement type="package" version="@VERSION@">hyphy</requirement>
+            <yield/>
+        </requirements>
+    </xml>
+    <token name="@HYPHYMPI@">\${GALAXY_MPIRUN:-mpirun -mca orte_tmpdir_base "\${TMPDIR:-.}" -np \${GALAXY_SLOTS:-1}} HYPHYMPI</token>
+    <token name="@CATCH_ERROR@"><![CDATA[
+        EC=\$? ;
+        if [ \$EC -ne 0 ] ; then
+            if [ -f errors.log.mpinode0 ] ; then
+                cat errors.log.mpinode0 >&2 ;
+            else 
+                cat errors.log >&2 ;
+            fi ;
+        fi ;
+        exit \$EC
+    ]]></token>
+    <token name="@HYPHY_ENVIRONMENT@"><![CDATA[
+        export HYPHY=`which hyphy` &&
+        export HYPHY_PATH=`dirname \$HYPHY` &&
+        export HYPHY_LIB=`readlink -f \$HYPHY_PATH/../share/hyphy` &&]]></token>
+    <token name="@HYPHY_INVOCATION@"><![CDATA[
+        @HYPHY_ENVIRONMENT@ hyphy LIBPATH=\$HYPHY_LIB
+    ]]></token>
+    <token name="@SYMLINK_FILES@"><![CDATA[
+        ln -s '$input_file' input.$input_file.extension &&
+        ln -s '$@operation@_output' input.${input_file.extension}.@OPERATION@.json &&
+        #set $input_file = 'input.%s' % $input_file.extension
+        #if $input_nhx:
+            ln -s '$input_nhx' input.nhx &&
+        #end if
+    ]]></token>
+</macros>
b
diff -r 000000000000 -r 9ce3d6d4bd0e scripts/annotator.bf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/annotator.bf Tue Apr 20 10:31:50 2021 +0000
[
@@ -0,0 +1,102 @@
+LoadFunctionLibrary ("libv3/tasks/trees.bf");
+LoadFunctionLibrary ("libv3/tasks/alignments.bf");
+LoadFunctionLibrary ("libv3/convenience/regexp.bf");
+LoadFunctionLibrary ("libv3/IOFunctions.bf");
+
+tags = {
+    "^Node" : "Internal"
+};
+
+
+
+
+tree = trees.LoadAnnotatedTopology (TRUE);
+ts = tree[^"terms.trees.newick_with_lengths"];
+root_node = io.PromptUserForString ("Root on this node");
+
+
+
+Topology T = ts;
+ts = RerootTree (T, root_node);
+ACCEPT_ROOTED_TREES = FALSE;
+Topology T = ts;
+ACCEPT_ROOTED_TREES = TRUE;
+Topology TR = ts;
+
+
+NORMALIZE_SEQUENCE_NAMES = FALSE;
+SetDialogPrompt ("File with the sequences to label as the in-clade");
+DataSet query = ReadDataFile (PROMPT_FOR_FILE);
+GetString (seqNames,query,-1);
+
+label = io.PromptUserForString ("Use this label");
+
+
+for (s;in;seqNames) {
+    tags [s && 6] = label;
+}
+
+reg_exp = Rows (tags);
+
+
+node_labels = {};
+for (_regexp_, _leaves_; in; regexp.PartitionByRegularExpressions (BranchName (T,-1), reg_exp)) {
+    tag = tags[_regexp_];
+    
+    if (tag != "Internal") {    
+    
+        if (Abs (tag) == 0) {
+            tag = "Reference";
+        }
+    
+        for (l; in; _leaves_) {
+            node_labels[l] = tag;
+        }
+    }
+}
+
+node_labelsR = {};
+for (_regexp_, _leaves_; in; regexp.PartitionByRegularExpressions (BranchName (TR,-1), reg_exp)) {
+    tag = tags[_regexp_];
+    
+    if (tag != "Internal") {    
+    
+        if (Abs (tag) == 0) {
+            tag = "Reference";
+        }
+    
+        for (l; in; _leaves_) {
+            node_labelsR[l] = tag;
+        }
+    }
+}
+
+
+leaf_labels = node_labels;
+node_labelsF = node_labels;
+node_labels * ((trees.ParsimonyLabel ("T", node_labels))["labels"]);
+node_labelsR * ((trees.ParsimonyLabel ("T", node_labelsR))["labels"]);
+node_labelsF * ((trees.ParsimonyLabel ("T", node_labelsF))["labels"]);
+
+output_to = io.PromptUserForString ("Write output to this prefix");
+
+fprintf (output_to + "labels.json", CLEAR_FILE, leaf_labels);
+fprintf (output_to + "int.nwk", CLEAR_FILE, tree.Annotate ("T", "relabel_and_annotate", "{}", FALSE));
+fprintf (output_to + "clade.nwk", CLEAR_FILE, tree.Annotate ("TR", "relabel_and_annotate_full", "{}", FALSE));
+fprintf (output_to + "full.nwk", CLEAR_FILE, tree.Annotate ("T", "relabel_and_annotate_full", "{}", FALSE));
+
+function relabel_and_annotate (node_name) {
+    _label = "";
+    if (node_labels / node_name && leaf_labels / node_name == FALSE) {
+        _label = "{" + node_labels[node_name] + "}";
+    }
+    return node_name + _label;
+}
+
+function relabel_and_annotate_full (node_name) {
+    _label = "";
+    if (node_labelsR / node_name) {
+        _label = "{" + node_labelsR[node_name] + "}";
+    }
+    return node_name + _label;
+}
b
diff -r 000000000000 -r 9ce3d6d4bd0e scripts/strike-ambigs.bf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/strike-ambigs.bf Tue Apr 20 10:31:50 2021 +0000
[
@@ -0,0 +1,83 @@
+RequireVersion ("2.5.20");
+
+LoadFunctionLibrary     ("libv3/tasks/alignments.bf");
+LoadFunctionLibrary     ("libv3/tasks/trees.bf");
+LoadFunctionLibrary     ("libv3/UtilityFunctions.bf");
+LoadFunctionLibrary     ("libv3/IOFunctions.bf");
+LoadFunctionLibrary     ("libv3/convenience/math.bf");
+
+
+
+filter.analysis_description = {terms.io.info :
+                            "
+                            Read an alignment of coding sequences and replace any ambiguous codons with ---. Write results to a new file in FASTA format, and report changed sequences to stdout
+                            ",
+                            terms.io.version :          "0.1",
+                            terms.io.reference :        "TBD",
+                            terms.io.authors :          "Sergei L Kosakovsky Pond",
+                            terms.io.contact :          "spond@temple.edu",
+                            terms.io.requirements :     "An MSA"
+                          };
+
+
+io.DisplayAnalysisBanner (filter.analysis_description);
+
+utility.SetEnvVariable ("NORMALIZE_SEQUENCE_NAMES", FALSE);
+
+KeywordArgument ("code",      "Which genetic code should be used", "Universal");
+KeywordArgument ("alignment", "An in-frame codon alignment in one of the formats supported by HyPhy");
+
+filter.in =  alignments.PromptForGeneticCodeAndAlignment ("filter.dataset", "filter.input");
+
+KeywordArgument     ("output", ".fasta for compressed data", None);
+filter.out = io.PromptUserForFilePath(".fasta for filtered data");
+fprintf (filter.out, CLEAR_FILE, KEEP_OPEN);
+
+GetDataInfo (filter.site_patterns, filter.input);
+
+filter.patter2site = {};
+
+
+for (i,j,v; in; filter.site_patterns) {
+    index = i+j;
+    if (filter.patter2site / v == FALSE ) {
+        filter.patter2site [v] = {};
+    }  
+    filter.patter2site [v] + index;
+}
+
+GET_DATA_INFO_RETURNS_ONLY_THE_INDEX = TRUE;
+COUNT_GAPS_IN_FREQUENCIES = FALSE;
+filter.unique_patterns = utility.Array1D (filter.input.site_freqs);
+
+for (seq = 0; seq < filter.input.species; seq += 1) {
+     io.ReportProgressBar ("filter","Processing sequence " + (1+seq));
+     codons = {1, filter.input.sites};
+     codons [0] = "";
+     GetString (seq_name, filter.input, seq);
+     GetDataInfo (seq_chars, filter.input, seq);
+
+     filter.ambigs = 0;
+
+     for (pattern = 0; pattern < filter.unique_patterns; pattern += 1) {
+        GetDataInfo (pattern_info, filter.input, seq, pattern); 
+        if (pattern_info >= 0) {
+            codon_start = (filter.patter2site[pattern])[0] * 3;
+            codon = seq_chars [codon_start][codon_start+2];
+        } else {
+            codon = "---";
+            filter.ambigs += Abs (filter.patter2site [pattern])
+        }
+        for (c; in; filter.patter2site [pattern] ) {
+            codons[c] = codon;
+        }
+     }
+     if (filter.ambigs > 0) {
+        fprintf (stdout, "\nStriking ", filter.ambigs, " codons that are incompletely resolved from " + seq_name + "\n");
+     }
+     fprintf (filter.out,">",seq_name,"\n",Join ("", codons), "\n");
+}
+
+fprintf (filter.out,CLOSE_FILE);
+
+
b
diff -r 000000000000 -r 9ce3d6d4bd0e test-data/absrel-in1.fa
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/absrel-in1.fa Tue Apr 20 10:31:50 2021 +0000
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 9ce3d6d4bd0e test-data/absrel-in1.nhx
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/absrel-in1.nhx Tue Apr 20 10:31:50 2021 +0000
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 9ce3d6d4bd0e test-data/absrel-out1.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/absrel-out1.json Tue Apr 20 10:31:50 2021 +0000
[
b'@@ -0,0 +1,478 @@\n+{\n+ "analysis":{\n+   "authors":"Sergei L Kosakovsky Pond, Ben Murrell, Steven Weaver and Temple iGEM / UCSD viral evolution group",\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. v2.2 adds support for multiple-hit models",\n+   "contact":"spond@temple.edu",\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+   "requirements":"in-frame codon alignment and a phylogenetic tree",\n+   "version":"2.2"\n+  },\n+ "branch attributes":{\n+   "0":{\n+     "Baboon":{\n+       "Baseline MG94xREV":0.001816807585564731,\n+       "Baseline MG94xREV omega ratio":0,\n+       "Corrected P-value":1,\n+       "Full adaptive model":0.001810407118394509,\n+       "LRT":0,\n+       "Nucleotide GTR":0.001678881906620672,\n+       "Rate Distributions":        [\n+[0, 1] \n+        ],\n+       "Rate classes":1,\n+       "Uncorrected P-value":1,\n+       "original name":"Baboon",\n+       "rate at which 2 nucleotides are changed instantly within a single codon":0\n+      },\n+     "Cat":{\n+       "Baseline MG94xREV":0.2286001363527903,\n+       "Baseline MG94xREV omega ratio":1.403298474422089,\n+       "Corrected P-value":1,\n+       "Full adaptive model":0.1219386838393392,\n+       "LRT":1.644967676056694,\n+       "Nucleotide GTR":0.265904547400163,\n+       "Rate Distributions":        [\n+[0.2130519766306851, 0.6352283641519592],\n+        [2.628217450705319, 0.3647716358480408] \n+        ],\n+       "Rate classes":2,\n+       "Uncorrected P-value":0.171730764045231,\n+       "original name":"Cat",\n+       "rate at which 2 nucleotides are changed instantly within a single codon":0\n+      },\n+     "Chimp":{\n+       "Baseline MG94xREV":0.001840311209746262,\n+       "Baseline MG94xREV omega ratio":10000000000,\n+       "Corrected P-value":1,\n+       "Full adaptive model":0.001841979303044237,\n+       "LRT":0.6159123786974305,\n+       "Nucleotide GTR":0.001816713800925801,\n+       "Rate Distributions":        [\n+[10000000000, 1] \n+        ],\n+       "Rate classes":1,\n+       "Uncorrected P-value":0.3069983227523322,\n+       "original name":"Chimp",\n+       "rate at which 2 nucleotides are changed instantly within a single codon":0\n+      },\n+     "Cow":{\n+       "Baseline MG94xREV":0.2070244948790512,\n+       "Baseline MG94xREV omega ratio":2.153434974462683,\n+       "Corrected P-value":0.5006146299996015,\n+       "Full adaptive model":0.1241125417707662,\n+       "LRT":4.898194538953248,\n+       "Nucleotide GTR":0.2481512612523618,\n+       "Rate Distributions":        [\n+[0, 0.52318726440949],\n+        [2.444056517734385, 0.47681273559051] \n+        ],\n+       "Rate classes":2,\n+       "Uncorrected P-value":0.03128841437497509,\n+       "original name":"Cow",\n+       "rate at which 2 nucleotides are changed instantly within a single codon":0\n+      },\n+     "Horse":{\n+       "Baseline MG94xREV":0.190365915457708,\n+       "Baseline MG94xREV omega ratio":1.182933895494305,\n+       "Corrected P-value":1,\n+       "Full adaptive model":0.0869489794025302,\n+       "LRT":2.047309801283518,\n+       "Nucleotide GTR":0.2090927256979082,\n+       "Rate Distributions":        [\n+[0, 0.5397658078247131],\n+        [1.633257246666139, 0.4602341921752869] \n+        ],\n+       "Rate classes":2,\n+       "Uncorrected P-value":0.1382789032066179,\n+       "original name":"Horse",\n+       "rate at which 2 nucleotides are changed instantly within a single codon":0\n+      },\n+     "Human":{\n+       "Baseline MG94xREV":0,\n+       "Baseline MG94xREV omega ratio":1,\n+       "Corrected P-value":1,\n+       "Full adaptive model":0,\n+       "LRT":0,\n+       "Nucle'..b'\n+      [0.005501589790395056],\n+      [0.009655668202293983],\n+      [0.007888099278638223],\n+      [0.009797203904398108],\n+      [0.008223514024394991],\n+      [0.03326722643528176],\n+      [0.02717732003095303],\n+      [0.03375486749252685],\n+      [0.02833294365668738],\n+      [0.01236215156074466],\n+      [0.01009913314808799],\n+      [0.01254335971371867],\n+      [0.01052856463184265],\n+      [0.01292858539344675],\n+      [0.0105618754683007],\n+      [0.0131180965046964],\n+      [0.01101098350431497],\n+      [0.0193250328267319],\n+      [0.01578738770911659],\n+      [0.0196083049972345],\n+      [0.01645869298147252],\n+      [0.01962343746171723],\n+      [0.02045785777700414],\n+      [0.008926115885166477],\n+      [0.007292098982657142],\n+      [0.009056957588961733],\n+      [0.007602170831388156],\n+      [0.007626222986467745],\n+      [0.009471947420992787],\n+      [0.007950502328516303],\n+      [0.01395367801862353],\n+      [0.01139931439306339],\n+      [0.01415821524731906],\n+      [0.01188403168729233] \n+      ],\n+     "Log Likelihood":-3427.720059001285,\n+     "Rate Distributions":{\n+       "Per-branch delta":{\n+         "2.5%":0,\n+         "97.5%":12.07373117808175,\n+         "Mean":1.277646334033236,\n+         "Median":0.4551223038316586\n+        },\n+       "Per-branch omega":{\n+         "2.5%":0,\n+         "97.5%":2.153434974462683,\n+         "Mean":666666667.5119981,\n+         "Median":1\n+        }\n+      },\n+     "display order":1,\n+     "estimated parameters":62\n+    },\n+   "Full adaptive model":{\n+     "AIC-c":6972.859938351839,\n+     "Log Likelihood":-3415.824749853321,\n+     "Rate Distributions":{\n+      },\n+     "display order":2,\n+     "estimated parameters":68\n+    },\n+   "Nucleotide GTR":{\n+     "AIC-c":7112.857317645923,\n+     "Equilibrium frequencies":      [\n+[0.3592490842490842],\n+      [0.181959706959707],\n+      [0.240018315018315],\n+      [0.2187728937728937] \n+      ],\n+     "Log Likelihood":-3532.321228205235,\n+     "Rate Distributions":{\n+       "Substitution rate from nucleotide A to nucleotide C":0.5498703043473002,\n+       "Substitution rate from nucleotide A to nucleotide G":1,\n+       "Substitution rate from nucleotide A to nucleotide T":0.2646979624678532,\n+       "Substitution rate from nucleotide C to nucleotide G":0.4921328068285813,\n+       "Substitution rate from nucleotide C to nucleotide T":1.028960084526602,\n+       "Substitution rate from nucleotide G to nucleotide T":0.3044365000595399\n+      },\n+     "display order":0,\n+     "estimated parameters":24\n+    }\n+  },\n+ "input":{\n+   "file name":"/tmp/tmpx_42i6f0/job_working_directory/000/6/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.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+ "test results":{\n+   "P-value threshold":0.05,\n+   "positive test results":0,\n+   "tested":16\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+     "Node12":"test",\n+     "Node2":"test",\n+     "Node3":"test",\n+     "Node8":"test",\n+     "Node9":"test",\n+     "Pig":"test",\n+     "Rat":"test",\n+     "RhMonkey":"test"\n+    }\n+  },\n+ "timers":{\n+   "Baseline model fitting":{\n+     "order":2,\n+     "timer":17\n+    },\n+   "Complexity analysis":{\n+     "order":3,\n+     "timer":110\n+    },\n+   "Full adaptive model fitting":{\n+     "order":4,\n+     "timer":20\n+    },\n+   "Overall":{\n+     "order":0,\n+     "timer":259\n+    },\n+   "Preliminary model fitting":{\n+     "order":1,\n+     "timer":0\n+    },\n+   "Testing for selection":{\n+     "order":5,\n+     "timer":112\n+    }\n+  }\n+}\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r 9ce3d6d4bd0e test-data/annotate-in1.fa.gz
b
Binary file test-data/annotate-in1.fa.gz has changed
b
diff -r 000000000000 -r 9ce3d6d4bd0e test-data/annotate-in1.nhx
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/annotate-in1.nhx Tue Apr 20 10:31:50 2021 +0000
b
@@ -0,0 +1,1 @@
+((gb_MW467454_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_EGY_EGY_CCHE57357_A_46_2020_Segment_null_1:0.000523,epi_isl_1041403/hCoV-19/USA/NY-PRL-2021_02_08_05H08/2021:0.000001):0.000001,REFERENCE:0.000262,(gb_MW540268_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_MA_MASPHL_01380_2020_Segment_null_4:0.001835,(gb_MT496989_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_IND_GBRC63_2020_Segment_null_3:0.000001,(gb_MW518841_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_CA_CDC_STM_220_2020_Segment_null_1:0.000786,(gb_MW525081_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_MO_CDC_STM_0000025_G03_2021_Segment_null_1:0.000785,epi_isl_1041406/hCoV-19/USA/NY-PRL-2021_02_08_05H12/2021:0.823959):0.000001):0.000001):0.000262):0.000001);
b
diff -r 000000000000 -r 9ce3d6d4bd0e test-data/annotate-out1-clade.nhx
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/annotate-out1-clade.nhx Tue Apr 20 10:31:50 2021 +0000
b
@@ -0,0 +1,1 @@
+(((gb_MW467454_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_EGY_EGY_CCHE57357_A_46_2020_Segment_null_1{Annotated},epi_isl_1041403/hCoV-19/USA/NY-PRL-2021_02_08_05H08/2021{Annotated})Node2{Annotated},(gb_MW540268_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_MA_MASPHL_01380_2020_Segment_null_4{Annotated},(gb_MT496989_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_IND_GBRC63_2020_Segment_null_3{Annotated},(gb_MW518841_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_CA_CDC_STM_220_2020_Segment_null_1{Annotated},(gb_MW525081_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_MO_CDC_STM_0000025_G03_2021_Segment_null_1{Annotated},epi_isl_1041406/hCoV-19/USA/NY-PRL-2021_02_08_05H12/2021{Annotated})Node11{Annotated})Node9{Annotated})Node7{Annotated})Node5{Annotated})Node1{Annotated},REFERENCE{Annotated})Node14
\ No newline at end of file
b
diff -r 000000000000 -r 9ce3d6d4bd0e test-data/annotate-out1-full.nhx
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/annotate-out1-full.nhx Tue Apr 20 10:31:50 2021 +0000
b
@@ -0,0 +1,1 @@
+((gb_MW467454_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_EGY_EGY_CCHE57357_A_46_2020_Segment_null_1{Annotated},epi_isl_1041403/hCoV-19/USA/NY-PRL-2021_02_08_05H08/2021{Annotated})Node2{Annotated},(gb_MW540268_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_MA_MASPHL_01380_2020_Segment_null_4{Annotated},(gb_MT496989_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_IND_GBRC63_2020_Segment_null_3{Annotated},(gb_MW518841_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_CA_CDC_STM_220_2020_Segment_null_1{Annotated},(gb_MW525081_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_MO_CDC_STM_0000025_G03_2021_Segment_null_1{Annotated},epi_isl_1041406/hCoV-19/USA/NY-PRL-2021_02_08_05H12/2021{Annotated})Node11{Annotated})Node9{Annotated})Node7{Annotated})Node5{Annotated},REFERENCE{Annotated})Node1{Annotated}
\ No newline at end of file
b
diff -r 000000000000 -r 9ce3d6d4bd0e test-data/annotate-out1-int.nhx
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/annotate-out1-int.nhx Tue Apr 20 10:31:50 2021 +0000
b
@@ -0,0 +1,1 @@
+((gb_MW467454_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_EGY_EGY_CCHE57357_A_46_2020_Segment_null_1,epi_isl_1041403/hCoV-19/USA/NY-PRL-2021_02_08_05H08/2021)Node2{Annotated},(gb_MW540268_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_MA_MASPHL_01380_2020_Segment_null_4,(gb_MT496989_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_IND_GBRC63_2020_Segment_null_3,(gb_MW518841_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_CA_CDC_STM_220_2020_Segment_null_1,(gb_MW525081_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_MO_CDC_STM_0000025_G03_2021_Segment_null_1,epi_isl_1041406/hCoV-19/USA/NY-PRL-2021_02_08_05H12/2021)Node11{Annotated})Node9{Annotated})Node7{Annotated})Node5{Annotated},REFERENCE)Node1{Annotated}
\ No newline at end of file
b
diff -r 000000000000 -r 9ce3d6d4bd0e test-data/bgm-in1.fa
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/bgm-in1.fa Tue Apr 20 10:31:50 2021 +0000
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 9ce3d6d4bd0e test-data/bgm-in1.nhx
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/bgm-in1.nhx Tue Apr 20 10:31:50 2021 +0000
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 9ce3d6d4bd0e test-data/bgm-out1.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/bgm-out1.json Tue Apr 20 10:31:50 2021 +0000
[
@@ -0,0 +1,168 @@
+{
+ "MLE":{
+   "content":    [
+[2, 3, 0.02851572177464722, 0.01992394838090668, 0.04843967015555389, 4, 3, 1],
+    [2, 4, 0.2913031811286725, 0.1581095173619919, 0.4494126984906644, 4, 2, 2],
+    [2, 5, 0.04313828130286183, 0.09337388689236253, 0.1365121681952244, 4, 3, 2],
+    [2, 6, 0.05037434713194238, 0.07113225549859428, 0.1215066026305367, 4, 6, 3],
+    [2, 7, 0.2804886800096655, 0.2001828066808252, 0.4806714866904907, 4, 4, 3],
+    [2, 8, 0.07183821900324161, 0.1469389589305462, 0.2187771779337878, 4, 5, 3],
+    [2, 9, 0.03082407077478325, 0.09900473652454521, 0.1298288072993285, 4, 3, 2],
+    [2, 10, 0.02245776059232202, 0.02955557233236829, 0.05201333292469031, 4, 3, 1],
+    [3, 4, 0.03717045364745913, 0.02520976460488304, 0.06238021825234218, 3, 2, 0],
+    [3, 5, 0.02873335174526813, 0.03479214292405394, 0.06352549466932207, 3, 3, 1],
+    [3, 6, 0.1236923855363388, 0.2512471049857198, 0.3749394905220587, 3, 6, 3],
+    [3, 7, 0.01909635400892135, 0.02551889926711521, 0.04461525327603656, 3, 4, 1],
+    [3, 8, 0.02488014112561441, 0.05406148356625361, 0.07894162469186802, 3, 5, 2],
+    [3, 9, 0.08440837590482446, 0.2181470609147132, 0.3025554368195377, 3, 3, 2],
+    [3, 10, 0.1267967238159999, 0.1611592144212058, 0.2879559382372058, 3, 3, 2],
+    [4, 5, 0.03705892982325252, 0.07620033982326219, 0.1132592696465147, 2, 3, 1],
+    [4, 6, 0.01210885428759886, 0.04049276326654051, 0.05260161755413936, 2, 6, 1],
+    [4, 7, 0.03773982374178716, 0.04469577929352821, 0.08243560303531537, 2, 4, 1],
+    [4, 8, 0.02406357502679824, 0.04542327412998536, 0.06948684915678359, 2, 5, 1],
+    [4, 9, 0.04518375503528457, 0.08175199548949739, 0.126935750524782, 2, 3, 1],
+    [4, 10, 0.05271458150974553, 0.07030981080391227, 0.1230243923136578, 2, 3, 1],
+    [5, 6, 0.1359282078272841, 0.1540926795656895, 0.2900208873929736, 3, 6, 3],
+    [5, 7, 0.09099743539437326, 0.04199316180345154, 0.1329905971978248, 3, 4, 2],
+    [5, 8, 0.1895195673806065, 0.2930011407919719, 0.4825207081725784, 3, 5, 3],
+    [5, 9, 0.1148199627842869, 0.1105571269028783, 0.2253770896871652, 3, 3, 2],
+    [5, 10, 0.1270434887308012, 0.1100230063742557, 0.2370664951050569, 3, 3, 2],
+    [6, 7, 0.09069770755435493, 0.0484084497358865, 0.1391061572902414, 6, 4, 3],
+    [6, 8, 0.1325890592140632, 0.1385237411340729, 0.2711128003481361, 6, 5, 4],
+    [6, 9, 0.1237432424538594, 0.1610336810828299, 0.2847769235366894, 6, 3, 3],
+    [6, 10, 0.2074649804257667, 0.132053108013182, 0.3395180884389487, 6, 3, 3],
+    [7, 8, 0.0894441901425615, 0.1431622704391284, 0.2326064605816899, 4, 5, 3],
+    [7, 9, 0.06037024754303832, 0.114173814968622, 0.1745440625116604, 4, 3, 2],
+    [7, 10, 0.02455907863678367, 0.02700169365828593, 0.0515607722950696, 4, 3, 1],
+    [8, 9, 0.2356164682007381, 0.275411073609017, 0.5110275418097552, 5, 3, 3],
+    [8, 10, 0.05927356969559661, 0.02598780235339034, 0.08526137204898694, 5, 3, 2],
+    [9, 10, 0.1776480482199785, 0.09671451255218226, 0.2743625607721607, 3, 3, 2] 
+    ],
+   "headers":    [
+["Site 1", "Index of site 1"],
+    ["Site 2", "Index of site 2"],
+    ["P [Site 1 â€“> Site 2]", "Probability that site 2 is conditionally dependent on site 1"],
+    ["P [Site 2 â€“> Site 1]", "Probability that site 1 is conditionally dependent on site 2"],
+    ["P [Site 1 <–> Site 2]", "Probability that sites 1 and 2 are not conditionally independent"],
+    ["Site 1 subs", "Substitution counts inferred for Site 1"],
+    ["Site 2 subs", "Substitution counts inferred for Site 2"],
+    ["Shared subs", "Substitutions shared by both sites"] 
+    ]
+  },
+ "analysis":{
+   "authors":"Art FY Poon, Fraser I Lewis, Simon DW Frost and Sergei L Kosakovsky Pond",
+   "citation":"Spidermonkey: rapid detection of co-evolving sites using Bayesian graphical models (2008). _Bioinformatics_ 24(17): 1949-1950",
+   "contact":"apoon42@uwo.ca",
+   "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.",
+   "requirements":"in-frame codon alignment and a phylogenetic tree",
+   "version":"1.1"
+  },
+ "branch attributes":{
+   "0":{
+     "Baboon":{
+       "models.codon.MG_REV.ModelDescription":0
+      },
+     "Cat":{
+       "models.codon.MG_REV.ModelDescription":0.8288168941011919
+      },
+     "Chimp":{
+       "models.codon.MG_REV.ModelDescription":0
+      },
+     "Cow":{
+       "models.codon.MG_REV.ModelDescription":0.8164924147537205
+      },
+     "Horse":{
+       "models.codon.MG_REV.ModelDescription":0.2841592907567805
+      },
+     "Human":{
+       "models.codon.MG_REV.ModelDescription":0
+      },
+     "Mouse":{
+       "models.codon.MG_REV.ModelDescription":0.1035113121392619
+      },
+     "Node1":{
+       "models.codon.MG_REV.ModelDescription":0.5236339695213962
+      },
+     "Node12":{
+       "models.codon.MG_REV.ModelDescription":0
+      },
+     "Node2":{
+       "models.codon.MG_REV.ModelDescription":0.08766202644314423
+      },
+     "Node3":{
+       "models.codon.MG_REV.ModelDescription":0.2629569437833751
+      },
+     "Node8":{
+       "models.codon.MG_REV.ModelDescription":0.07018254851044582
+      },
+     "Node9":{
+       "models.codon.MG_REV.ModelDescription":0.03334231749233734
+      },
+     "Pig":{
+       "models.codon.MG_REV.ModelDescription":0
+      },
+     "Rat":{
+       "models.codon.MG_REV.ModelDescription":0.1018034850081214
+      },
+     "RhMonkey":{
+       "models.codon.MG_REV.ModelDescription":0
+      }
+    },
+   "attributes":{
+     "models.codon.MG_REV.ModelDescription":{
+       "attribute type":"branch length",
+       "display order":0
+      }
+    }
+  },
+ "data partitions":{
+   "0":{
+     "coverage":      [
+[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 
+      ],
+     "name":"bgm.filter.default"
+    }
+  },
+ "fits":{
+   "models.codon.MG_REV.ModelDescription":{
+     "AIC-c":508.3788244913426,
+     "Log Likelihood":-208.6011769515537,
+     "Rate Distributions":null,
+     "display order":0,
+     "estimated parameters":31
+    }
+  },
+ "input":{
+   "datatype":"codon",
+   "file name":"/tmp/tmp_Fhyr9/job_working_directory/000/3/working/./bgm_input.fa",
+   "number of sequences":10,
+   "number of sites":10,
+   "trees":{
+     "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)"
+    }
+  },
+ "settings":{
+   "burn-in":10000,
+   "data-type":"codon",
+   "max-parents":1,
+   "min-subs":1,
+   "samples":100,
+   "steps":100000,
+   "threshold":0.5
+  },
+ "tested":0,
+ "timers":{
+   "Baseline fit":{
+     "order":1,
+     "timer":3
+    },
+   "Network inference":{
+     "order":2,
+     "timer":0
+    },
+   "Overall":{
+     "order":0,
+     "timer":3
+    }
+  }
+}
\ No newline at end of file
b
diff -r 000000000000 -r 9ce3d6d4bd0e test-data/busted-out1.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/busted-out1.json Tue Apr 20 10:31:50 2021 +0000
[
b'@@ -0,0 +1,394 @@\n+{\n+ "Evidence Ratios":{\n+   "constrained":    [\n+[1.766356514902524, 0.9484374805763239, 0.9571091930814299, 1.845676838710576, 1.513819401189324, 2.11256226458989, 7.366103227625151, 3.937756516229049, 2.586067836907899, 0.722379841928909, 0.3151239046214458, 1.502917468627881, 0.6499879033472316, 1.047489715978757, 1.060206108705189, 0.5038296392390414, 0.8532658611088545, 1.114374823999701, 0.5611409841208096, 0.6702870396165613, 0.4604115167079821, 0.3988433224622866, 2.47019807349414, 0.9858342091732886, 1.106653406611749, 1.067348070135177, 1.77412165088655, 1.321424873505688, 1.90457149631063, 0.7888758683589224, 0.7229203540914775, 0.8813401886687667, 0.6954297746421804, 4.613654710605887, 0.4975309466317643, 1.84565076502724, 0.6214894235132998, 0.9480915704528677, 0.9669462933548731, 1.488081789562878, 1.368539685217942, 1.726522735566884, 1.222915324989829, 0.7085094082639855, 0.3168181005885327, 2.290014391709923, 0.6343005734674315, 0.8841633809961478, 1.508078414734822, 2.666352901083321, 1.732923983135172, 3.102011384229053, 1.585109653073893, 3.345181824497555, 7.193115253213268, 3.850321954428519, 3.233128500312913, 1.977820966308441, 2.047653340750355, 0.6643430465826362, 3.624272911205855, 1.67814994913239, 1.752817561416471, 3.277248182160172, 0.3406457937754578, 0.4841828665456315, 1.399775481724447, 0.5510187898414104, 0.6276769404480749, 0.4535822272441153, 0.4226923979745105, 2.950051361271033, 0.9999999999999982, 1.027733519332009, 2.963278030618241, 2.8935730521221, 1.881916301985038, 0.4490192221083247, 3.102588216900087, 0.7028469232610687, 2.792137897266834, 0.3889955246330017, 0.9360790804326219, 0.4572233386404743, 2.908919410553763, 0.8995968442944373, 0.3261344314757346, 1.080257865601265, 1.399763176607792, 1.534646955858424, 0.4277164444783946, 2.361993404905034, 2.175584822495568, 3.122529901767528, 0.4453847841440882, 1.711825080925545, 0.8458710509917922, 2.741896592382772, 0.576439632416141, 1.142294357680513, 0.8086330800808955, 2.943414796294152, 0.833291758377592, 1.615921141634484, 0.7252129604805458, 2.833655116179036, 0.9138779988368123, 0.6174720822006171, 1.834532902825704, 0.2316812685220093, 2.479235579982967, 0.4643862206171616, 6.530720225707355, 0.4975309466317643, 1.158125132567293, 0.2987944638927862, 3.78696693228073, 0.7343025200073082, 1.93339742618843, 0.3642707474760721, 1.028034824972818, 1.511057897004292, 0.2969890376651506, 0.987605711796378, 0.3709886418939366, 4.185741574214752, 3.002372601666337, 0.424383367760914, 0.4658081554322532, 0.4024556436060775, 2.540164510486854, 0.5199349857684811, 0.4626485320487528, 0.9349816613814522, 0.5525607476128181, 0.5855612460554309, 1.85872747574379, 1.064964125964651, 3.177687923317396, 2.593304657270028, 5.234187858164534, 2.966427299030309, 1.920561682721974, 2.245869881969924, 3.811870935099101, 2.099654636695842, 3.369504334172069, 0.6379165155453101, 3.119867019567397, 0.9211859677702382, 2.195241379859611, 1.767535349740496, 1.225677095999665, 1.347676192394215, 1.671173168407676, 1.179430472478473, 1.873629958128968, 1.972321068578892, 1.863249013159319, 1.501711930393218, 2.85458165498371, 0.5332817404709185, 0.7514817421990073, 0.2887801591578705, 1.93925520496415, 0.2163710715496819, 2.457406602553581, 0.4895227461773333, 2.731573653164397, 0.8923840424261161, 0.6288736610053396, 3.562511382204229, 0.8043427141817341, 2.97831687935463, 3.021636055180988, 1.919432168129229, 1.231674183402057, 3.382911261347008, 1.455440822286478, 1.714894279904311, 0.4763853457361669, 0.907985271671091, 0.9191891327337078, 0.8704988461364657, 0.4660185191281315, 0.6176233729242167, 0.9987767701341157] \n+    ],\n+   "optimized null":    [\n+[1.118923161648219, 0.9980202548897937, 0.9997654691276022, 1.028326548692021, 0.7919741374095479, 0.6742163346738066, 0.9701775068012184, 1.781350909123149, 2.014615609490285, 0.9375026657270238, 0.6503469909372603, 1.467509823797021, 1.009616470968526, 1.168421464905222, 0.59'..b'371867],\n+      [0.01052856463184265],\n+      [0.01292858539344675],\n+      [0.0105618754683007],\n+      [0.0131180965046964],\n+      [0.01101098350431497],\n+      [0.0193250328267319],\n+      [0.01578738770911659],\n+      [0.0196083049972345],\n+      [0.01645869298147252],\n+      [0.01962343746171723],\n+      [0.02045785777700414],\n+      [0.008926115885166477],\n+      [0.007292098982657142],\n+      [0.009056957588961733],\n+      [0.007602170831388156],\n+      [0.007626222986467745],\n+      [0.009471947420992787],\n+      [0.007950502328516303],\n+      [0.01395367801862353],\n+      [0.01139931439306339],\n+      [0.01415821524731906],\n+      [0.01188403168729233] \n+      ],\n+     "Log Likelihood":-3467.004808147542,\n+     "Rate Distributions":{\n+       "non-synonymous/synonymous rate ratio for *test*":        [\n+[0.9950576192409499, 1] \n+        ]\n+      },\n+     "display order":1,\n+     "estimated parameters":31\n+    },\n+   "Nucleotide GTR":{\n+     "AIC-c":7112.85745601076,\n+     "Equilibrium frequencies":      [\n+[0.3592490842490842],\n+      [0.181959706959707],\n+      [0.240018315018315],\n+      [0.2187728937728937] \n+      ],\n+     "Log Likelihood":-3532.321297387654,\n+     "Rate Distributions":{\n+       "Substitution rate from nucleotide A to nucleotide C":0.5497129763145497,\n+       "Substitution rate from nucleotide A to nucleotide G":1,\n+       "Substitution rate from nucleotide A to nucleotide T":0.264666902964203,\n+       "Substitution rate from nucleotide C to nucleotide G":0.4916303643305098,\n+       "Substitution rate from nucleotide C to nucleotide T":1.027924764411573,\n+       "Substitution rate from nucleotide G to nucleotide T":0.304615404570875\n+      },\n+     "display order":0,\n+     "estimated parameters":24\n+    },\n+   "Unconstrained model":{\n+     "AIC-c":6910.766610587704,\n+     "Log Likelihood":-3414.486640449675,\n+     "Rate Distributions":{\n+       "Synonymous site-to-site rates":{\n+         "0":{\n+           "proportion":0.2645541257391169,\n+           "rate":0.2747941124675511\n+          },\n+         "1":{\n+           "proportion":0.6325830460054784,\n+           "rate":0.9734675888351726\n+          },\n+         "2":{\n+           "proportion":0.1028628282554047,\n+           "rate":3.028333913894314\n+          }\n+        },\n+       "Test":{\n+         "0":{\n+           "omega":0,\n+           "proportion":0.04809457608200497\n+          },\n+         "1":{\n+           "omega":0,\n+           "proportion":0.3410012743721951\n+          },\n+         "2":{\n+           "omega":1.89363684081788,\n+           "proportion":0.6109041495458\n+          }\n+        }\n+      },\n+     "display order":2,\n+     "estimated parameters":40\n+    }\n+  },\n+ "input":{\n+   "file name":"/tmp/tmp7qHfo2/job_working_directory/000/3/working/./busted_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.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+ "test results":{\n+   "LRT":10.17362366082671,\n+   "p-value":0.003088842014430382\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+     "Node12":"test",\n+     "Node2":"test",\n+     "Node3":"test",\n+     "Node8":"test",\n+     "Node9":"test",\n+     "Pig":"test",\n+     "Rat":"test",\n+     "RhMonkey":"test"\n+    }\n+  },\n+ "timers":{\n+   "Constrained BUSTED model fitting":{\n+     "order":3,\n+     "timer":62\n+    },\n+   "Overall":{\n+     "order":0,\n+     "timer":228\n+    },\n+   "Preliminary model fitting":{\n+     "order":1,\n+     "timer":3\n+    },\n+   "Unconstrained BUSTED model fitting":{\n+     "order":2,\n+     "timer":161\n+    }\n+  }\n+}\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r 9ce3d6d4bd0e test-data/cfel-out1.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cfel-out1.json Tue Apr 20 10:31:50 2021 +0000
[
b'@@ -0,0 +1,457 @@\n+{\n+ "MLE":{\n+   "content":{\n+     "0":      [\n+[0.06119510183854701, 89.89195279268617, 0.0004623763636215286, 1, 0, 0.02604337408104318, 0.811685158859179, -1, 63.5934805540066],\n+      [0, 0, 0, 1, 1, 1, 1, 1, 0],\n+      [0, 0, 0, 1, 1, 1, 1, 1, 0],\n+      [0, 0, 30.68649872459121, 0, 4, 0.09420783493835005, 0.60747810805074, -1, 17.97424403638481],\n+      [4.002735462744614, 1.681163962819147, 1.228805177498639, 2, 1, 0.8623362362181146, 1, -1, 3.706931649150397],\n+      [3.050065014123722, 3.059937797506153, 2.418613924712312, 4, 3, 0.8197206876541498, 1, -1, 4.950806946880908],\n+      [0, 24.69410076903886, 2.602816011187676, 6, 0, 0.2048204536099466, 0.7226683929256608, -1, 18.98662250194162],\n+      [0.7973929595981712, 0.56976393636776, 6.448137478127731, 2, 3, 0.06745323839043926, 0.5733525263187338, -1, 4.538073888148586],\n+      [0, 1.220294976236213, 1.931034796125328, 2, 1, 0.6817876981968, 1, -1, 1.993993062285827],\n+      [0, 0.7273121045548806, 0, 1, 0, 0.261419115100697, 0.7638339769348492, -1, 0.5143075999810249],\n+      [1.621724997367116, 0, 0, 1, 1, 0.9121485865111767, 1, -1, 0.7286149415473206],\n+      [0.5060806624687831, 1.999902075014571, 0, 3, 1, 0.0321757051476228, 0.752107107825683, -1, 1.641573976803133],\n+      [0.9420105153372681, 0.7146285434777966, 0, 2, 1, 0.2644815118797826, 0.7381797421122291, -1, 0.9285687782746239],\n+      [0, 1.987391099359683, 0, 3, 0, 0.3529798862703204, 0.7253542717862628, -1, 1.405353135379039],\n+      [8.244286695269041, 1.185994719868233, 0.6569566762624601, 3, 1, 0.6286360235526834, 1, -1, 4.927487703059774],\n+      [0.9500757632276707, 0, 0.5124208919340753, 1, 1, 0.2013061949629433, 0.7239280472705847, -1, 0.726998065759856],\n+      [0, 0.5627658928917045, 0, 1, 0, 0.268228707078901, 0.7376289444669777, -1, 0.3979512700416927],\n+      [0, 0.4711115774899237, 0.6829037036151366, 1, 1, 0.7990116922248531, 1, -1, 0.7331418792667797],\n+      [0.4167417817571659, 0, 0, 0, 1, 0.9206940254260957, 1, -1, 0.1872353755712544],\n+      [0, 0, 0.5212303676872864, 0, 1, 0.1996277088955986, 0.731968265950528, -1, 0.3053043591603385],\n+      [0.8675634762363731, 0, 0, 0, 1, 0.9661066726954236, 1, -1, 0.3897823074521307],\n+      [0.7210654427571777, 0, 0, 1, 0, 0.9836163243596738, 1, -1, 0.3239630987246734],\n+      [1.427522329748797, 1.811321397351979, 2.047657099183609, 3, 2, 0.9153591138659802, 1, -1, 3.121601237885459],\n+      [0, 1.169550303774839, 0, 2, 0, 0.1240860099621399, 0.6106337858663201, -1, 0.8270295599708779],\n+      [0, 0.5199246087354797, 0.6609898247714937, 1, 1, 0.8711034612935368, 1, -1, 0.7548234772115322],\n+      [15.62849382074995, 0.8354792436567606, 0.3568193143210429, 2, 1, 0.692201812400887, 1, -1, 7.821429665659478],\n+      [0, 2.048844622077364, 0.7034505168953565, 2, 1, 0.3378069542919415, 0.7097741623886861, -1, 1.86084665052398],\n+      [0, 1.700054129075257, 0, 2, 0, 0.04433653641539281, 0.5922094506913184, -1, 1.202167203717357],\n+      [1.996997597242381, 4.191343395708055, 0, 4, 1, 0.1469200405479562, 0.6541439900587571, -1, 3.861063080915803],\n+      [2.905972734304771, 0.5690151548622607, 0.8753525229497926, 2, 2, 0.7870098322033844, 1, -1, 2.22070423298495],\n+      [59.02352946734126, 0.9878963984643503, 0, 2, 2, 0.106227812438751, 0.6207687789389512, -1, 27.21689766175553],\n+      [0, 0.493823010263051, 0.5992185198004483, 1, 1, 0.8822938448128469, 1, -1, 0.700184340303363],\n+      [0.151693667651528, 0, 1.145340845562134, 0, 1, 0.1082039933982597, 0.6131559625901383, -1, 0.7390230172493181],\n+      [0, 2.787986645749746, 1.784950467476681, 4, 2, 0.6411055012556299, 1, -1, 3.01699506099285],\n+      [0, 0, 0, 1, 1, 1, 1, 1, 0],\n+      [385.3762662337238, 5.564044480778701, 0, 6, 1, 0.02371410328251622, 0.8869074627661065, -1, 177.0778829569787],\n+      [2.573452429663424, 0.5220696742903632, 0.713573878301312, 2, 1, 0.8351273640659775, 1, -1, 1.943351558242732],\n+      [0, 0, 0, 1, 1, 1, 1, 1, 0],\n+      [0, 0, 0, 1, 1, '..b'5003],\n+      [0.01837636270304883],\n+      [0.01541821854326533],\n+      [0.01892910005547028],\n+      [0.01545910240515689],\n+      [0.01921445878706794],\n+      [0.01612140169177368],\n+      [0.02829747763884322],\n+      [0.02311011106415996],\n+      [0.02872406592369408],\n+      [0.02410019507229243],\n+      [0.01663805943190806],\n+      [0.01358804506433061],\n+      [0.01688888041768248],\n+      [0.01417018446135155],\n+      [0.006177213955434187],\n+      [0.005044834822351987],\n+      [0.006270336287397383],\n+      [0.00526096577332031],\n+      [0.006458939937330408],\n+      [0.005274916061901906],\n+      [0.006556309326397028],\n+      [0.005500904159606446],\n+      [0.009655594186286731],\n+      [0.007885574003572761],\n+      [0.009801153568494354],\n+      [0.008223407979974132],\n+      [0.03327785448210915],\n+      [0.02717750758119989],\n+      [0.03377952261833742],\n+      [0.02834184710178207],\n+      [0.01235507229404208],\n+      [0.01009019590244688],\n+      [0.01254132667213156],\n+      [0.01052248035033209],\n+      [0.01291855364640413],\n+      [0.01055038238273567],\n+      [0.01311330258173711],\n+      [0.01100238215235291],\n+      [0.01931219560697892],\n+      [0.0157719705998612],\n+      [0.01960332955558842],\n+      [0.01644767379420349],\n+      [0.01965132601881859],\n+      [0.02049322866376102],\n+      [0.008933621043463411],\n+      [0.007295949736387736],\n+      [0.009068296583349953],\n+      [0.007608523013862737],\n+      [0.007628698224327205],\n+      [0.009481877006094248],\n+      [0.00795552712159237],\n+      [0.01396413011303752],\n+      [0.01140428846505027],\n+      [0.01417464125436193],\n+      [0.01189287130232129] \n+      ],\n+     "Log Likelihood":-3463.018342931476,\n+     "Rate Distributions":{\n+       "non-synonymous/synonymous rate ratio for *internal*":        [\n+[0.6757243377045866, 1] \n+        ],\n+       "non-synonymous/synonymous rate ratio for *leaf*":        [\n+[1.251739840537981, 1] \n+        ]\n+      },\n+     "display order":1,\n+     "estimated parameters":32\n+    },\n+   "Nucleotide GTR":{\n+     "AIC-c":7112.857310169033,\n+     "Equilibrium frequencies":      [\n+[0.3592490842490842],\n+      [0.181959706959707],\n+      [0.240018315018315],\n+      [0.2187728937728937] \n+      ],\n+     "Log Likelihood":-3532.32122446679,\n+     "Rate Distributions":{\n+       "Substitution rate from nucleotide A to nucleotide C":0.5501644800943087,\n+       "Substitution rate from nucleotide A to nucleotide G":1,\n+       "Substitution rate from nucleotide A to nucleotide T":0.2647746107611847,\n+       "Substitution rate from nucleotide C to nucleotide G":0.4917423221832032,\n+       "Substitution rate from nucleotide C to nucleotide T":1.02837595903795,\n+       "Substitution rate from nucleotide G to nucleotide T":0.304509117524575\n+      },\n+     "display order":0,\n+     "estimated parameters":24\n+    }\n+  },\n+ "input":{\n+   "file name":"/tmp/tmp29yw9zzo/job_working_directory/000/3/working/cfel_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.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+ "tested":{\n+   "0":{\n+     "Baboon":"leaf",\n+     "Cat":"leaf",\n+     "Chimp":"leaf",\n+     "Cow":"leaf",\n+     "Horse":"leaf",\n+     "Human":"leaf",\n+     "Mouse":"leaf",\n+     "Node1":"internal",\n+     "Node12":"internal",\n+     "Node2":"internal",\n+     "Node3":"internal",\n+     "Node8":"internal",\n+     "Node9":"internal",\n+     "Pig":"leaf",\n+     "Rat":"leaf",\n+     "RhMonkey":"leaf"\n+    }\n+  },\n+ "timers":{\n+   "FEL analysis":{\n+     "order":2,\n+     "timer":180\n+    },\n+   "Model fitting":{\n+     "order":1,\n+     "timer":13\n+    },\n+   "Total time":{\n+     "order":0,\n+     "timer":193\n+    }\n+  }\n+}\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r 9ce3d6d4bd0e test-data/conv-in1.fa
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/conv-in1.fa Tue Apr 20 10:31:50 2021 +0000
b
b'@@ -0,0 +1,22 @@\n+>epi_isl_1041406/hCoV-19/USA/NY-PRL-2021_02_08_05H12/2021\n+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------GAGACG\n+>epi_isl_1041403/hCoV-19/USA/NY-PRL-2021_02_08_05H08/2021\n+------------------------------------------'..b'ATGGTGACAATTATGCTTTGCTGTATGACCAGTTGCTGTAGTTGTCTCAAGGGCTGTTGTTCTTGTGGATCCTGCTGCAAATTTGATGAAGACGACTCTGAGCCAGTGCTCAAAGGAGTCAAATTACATTACACA\n+\n+>REFERENCE\n+ATGTTTGTTTTTCTTGTTTTATTGCCACTAGTCTCTAGTCAGTGTGTTAATCTTACAACCAGAACTCAATTACCCCCTGCATACACTAATTCTTTCACACGTGGTGTTTATTACCCTGACAAAGTTTTCAGATCCTCAGTTTTACATTCAACTCAGGACTTGTTCTTACCTTTCTTTTCCAATGTTACTTGGTTCCATGCTATACATGTCTCTGGGACCAATGGTACTAAGAGGTTTGATAACCCTGTCCTACCATTTAATGATGGTGTTTATTTTGCTTCCACTGAGAAGTCTAACATAATAAGAGGCTGGATTTTTGGTACTACTTTAGATTCGAAGACCCAGTCCCTACTTATTGTTAATAACGCTACTAATGTTGTTATTAAAGTCTGTGAATTTCAATTTTGTAATGATCCATTTTTGGGTGTTTATTACCACAAAAACAACAAAAGTTGGATGGAAAGTGAGTTCAGAGTTTATTCTAGTGCGAATAATTGCACTTTTGAATATGTCTCTCAGCCTTTTCTTATGGACCTTGAAGGAAAACAGGGTAATTTCAAAAATCTTAGGGAATTTGTGTTTAAGAATATTGATGGTTATTTTAAAATATATTCTAAGCACACGCCTATTAATTTAGTGCGTGATCTCCCTCAGGGTTTTTCGGCTTTAGAACCATTGGTAGATTTGCCAATAGGTATTAACATCACTAGGTTTCAAACTTTACTTGCTTTACATAGAAGTTATTTGACTCCTGGTGATTCTTCTTCAGGTTGGACAGCTGGTGCTGCAGCTTATTATGTGGGTTATCTTCAACCTAGGACTTTTCTATTAAAATATAATGAAAATGGAACCATTACAGATGCTGTAGACTGTGCACTTGACCCTCTCTCAGAAACAAAGTGTACGTTGAAATCCTTCACTGTAGAAAAAGGAATCTATCAAACTTCTAACTTTAGAGTCCAACCAACAGAATCTATTGTTAGATTTCCTAATATTACAAACTTGTGCCCTTTTGGTGAAGTTTTTAACGCCACCAGATTTGCATCTGTTTATGCTTGGAACAGGAAGAGAATCAGCAACTGTGTTGCTGATTATTCTGTCCTATATAATTCCGCATCATTTTCCACTTTTAAGTGTTATGGAGTGTCTCCTACTAAATTAAATGATCTCTGCTTTACTAATGTCTATGCAGATTCATTTGTAATTAGAGGTGATGAAGTCAGACAAATCGCTCCAGGGCAAACTGGAAAGATTGCTGATTATAATTATAAATTACCAGATGATTTTACAGGCTGCGTTATAGCTTGGAATTCTAACAATCTTGATTCTAAGGTTGGTGGTAATTATAATTACCTGTATAGATTGTTTAGGAAGTCTAATCTCAAACCTTTTGAGAGAGATATTTCAACTGAAATCTATCAGGCCGGTAGCACACCTTGTAATGGTGTTGAAGGTTTTAATTGTTACTTTCCTTTACAATCATATGGTTTCCAACCCACTAATGGTGTTGGTTACCAACCATACAGAGTAGTAGTACTTTCTTTTGAACTTCTACATGCACCAGCAACTGTTTGTGGACCTAAAAAGTCTACTAATTTGGTTAAAAACAAATGTGTCAATTTCAACTTCAATGGTTTAACAGGCACAGGTGTTCTTACTGAGTCTAACAAAAAGTTTCTGCCTTTCCAACAATTTGGCAGAGACATTGCTGACACTACTGATGCTGTCCGTGATCCACAGACACTTGAGATTCTTGACATTACACCATGTTCTTTTGGTGGTGTCAGTGTTATAACACCAGGAACAAATACTTCTAACCAGGTTGCTGTTCTTTATCAGGATGTTAACTGCACAGAAGTCCCTGTTGCTATTCATGCAGATCAACTTACTCCTACTTGGCGTGTTTATTCTACAGGTTCTAATGTTTTTCAAACACGTGCAGGCTGTTTAATAGGGGCTGAACATGTCAACAACTCATATGAGTGTGACATACCCATTGGTGCAGGTATATGCGCTAGTTATCAGACTCAGACTAATTCTCCTCGGCGGGCACGTAGTGTAGCTAGTCAATCCATCATTGCCTACACTATGTCACTTGGTGCAGAAAATTCAGTTGCTTACTCTAATAACTCTATTGCCATACCCACAAATTTTACTATTAGTGTTACCACAGAAATTCTACCAGTGTCTATGACCAAGACATCAGTAGATTGTACAATGTACATTTGTGGTGATTCAACTGAATGCAGCAATCTTTTGTTGCAATATGGCAGTTTTTGTACACAATTAAACCGTGCTTTAACTGGAATAGCTGTTGAACAAGACAAAAACACCCAAGAAGTTTTTGCACAAGTCAAACAAATTTACAAAACACCACCAATTAAAGATTTTGGTGGTTTTAATTTTTCACAAATATTACCAGATCCATCAAAACCAAGCAAGAGGTCATTTATTGAAGATCTACTTTTCAACAAAGTGACACTTGCAGATGCTGGCTTCATCAAACAATATGGTGATTGCCTTGGTGATATTGCTGCTAGAGACCTCATTTGTGCACAAAAGTTTAACGGCCTTACTGTTTTGCCACCTTTGCTCACAGATGAAATGATTGCTCAATACACTTCTGCACTGTTAGCGGGTACAATCACTTCTGGTTGGACCTTTGGTGCAGGTGCTGCATTACAAATACCATTTGCTATGCAAATGGCTTATAGGTTTAATGGTATTGGAGTTACACAGAATGTTCTCTATGAGAACCAAAAATTGATTGCCAACCAATTTAATAGTGCTATTGGCAAAATTCAAGACTCACTTTCTTCCACAGCAAGTGCACTTGGAAAACTTCAAGATGTGGTCAACCAAAATGCACAAGCTTTAAACACGCTTGTTAAACAACTTAGCTCCAATTTTGGTGCAATTTCAAGTGTTTTAAATGATATCCTTTCACGTCTTGACAAAGTTGAGGCTGAAGTGCAAATTGATAGGTTGATCACAGGCAGACTTCAAAGTTTGCAGACATATGTGACTCAACAATTAATTAGAGCTGCAGAAATCAGAGCTTCTGCTAATCTTGCTGCTACTAAAATGTCAGAGTGTGTACTTGGACAATCAAAAAGAGTTGATTTTTGTGGAAAGGGCTATCATCTTATGTCCTTCCCTCAGTCAGCACCTCATGGTGTAGTCTTCTTGCATGTGACTTATGTCCCTGCACAAGAAAAGAACTTCACAACTGCTCCTGCCATTTGTCATGATGGAAAAGCACACTTTCCTCGTGAAGGTGTCTTTGTTTCAAATGGCACACACTGGTTTGTAACACAAAGGAATTTTTATGAACCACAAATCATTACTACAGACAACACATTTGTGTCTGGTAACTGTGATGTTGTAATAGGAATTGTCAACAACACAGTTTATGATCCTTTGCAACCTGAATTAGACTCATTCAAGGAGGAGTTAGATAAATATTTTAAGAATCATACATCACCAGATGTTGATTTAGGTGACATCTCTGGCATTAATGCTTCAGTTGTAAACATTCAAAAAGAAATTGACCGCCTCAATGAGGTTGCCAAGAATTTAAATGAATCTCTCATCGATCTCCAAGAACTTGGAAAGTATGAGCAGTATATAAAATGGCCATGGTACATTTGGCTAGGTTTTATAGCTGGCTTGATTGCCATAGTAATGGTGACAATTATGCTTTGCTGTATGACCAGTTGCTGTAGTTGTCTCAAGGGCTGTTGTTCTTGTGGATCCTGCTGCAAATTTGATGAAGACGACTCTGAGCCAGTGCTCAAAGGAGTCAAATTACATTACACA\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r 9ce3d6d4bd0e test-data/conv-out1.nhx
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/conv-out1.nhx Tue Apr 20 10:31:50 2021 +0000
b
b"@@ -0,0 +1,27 @@\n+#NEXUS\n+\n+BEGIN TAXA;\n+\tDIMENSIONS NTAX = 8;\n+\tTAXLABELS\n+\t\t'epi_isl_1041406_hCoV_19_USA_NY_PRL_2021_02_08_05H12_2021' 'epi_isl_1041403_hCoV_19_USA_NY_PRL_2021_02_08_05H08_2021' 'gb_MW540268_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_MA_MASPHL_01380_2020_Segment_null_4' 'gb_MW467454_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_EGY_EGY_CCHE57357_A_46_2020_Segment_null_1' 'gb_MT496989_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_IND_GBRC63_2020_Segment_null_3' 'gb_MW525081_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_MO_CDC_STM_0000025_G03_2021_Segment_null_1' 'gb_MW518841_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_CA_CDC_STM_220_2020_Segment_null_1' 'REFERENCE' ;\n+END;\n+\n+BEGIN CHARACTERS;\n+\tDIMENSIONS NCHAR = 1273;\n+\tFORMAT\n+\t\tDATATYPE = PROTEIN\n+\t\tGAP=-\n+\t\tMISSING=?\n+\t\tNOLABELS\n+\t;\n+\n+MATRIX\n+ ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????ET\n+ ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????\n+ LVFFFVLLPLVSSQCVNLTTRTQLPPAYTNSFTRGVYYPDKVFRSSVLHSTQDLFLPFFSNVTWFHAIHVSGTNGTKRFDNPVLPFNDGVYFASTEKSNIIRGWIFGTTLDSKTQSLLIVNNATNVVIKVCEFQFCNDPFLGVYYHKNNKSWMESEFRVYSSANNCTFEYVSQPFLMDLEGKQGNFKNLREFVFKNIDGYFKIYSKHTPINLVRDLPQGFSALEPLVDLPIGINITRFQTLLALHRSYLTPGDSSSGWTAGAAAYYVGYLQPRTFLLKYNENGTITDAVDCALDPLSETKCTLKSFTVEKGIYQTSNFRVQPTESIVRFPNITNLCPFGEVFNATRFASVYAWNRKRISNCVADYSVLYNSASFSTFKCYGLSPTKLNDLCFTNVYADSFVI"..b'DPLQPELDSFKEELDKYFKNHTSPDVDLGDISGINASVVNIQKEIDRLNEVAKNLNESLIDLQELGKYEQYIKWPWYIWLGFIAGLIAIVMVTIMLCCMTSCCSCLKGCCSCGSCCKFDEDDSEPVLKGVKLHYT\n+ MLVFLVLLPLVSSQCVNLTTRTQLPPAYTNSFTRGVYYPDKVFRSSVLHSTQDLFLPFFSNVTWFHAIHVSGTNGTKRFYNPVLPFNDGVYFASTEKSNIIRGWIFGTTLDSKTQSLLIVNNATNVVIKVCEFQFCNDPFLGVYYHKNNKSWMESEFRVYSSANNCTFEYVSQPFLMDLEGKQGNFKNLREFVFKNIDGYFKIYSKHTPINLVRDLPQGFSALEPLVDLPIGINITRFQTLLALHRSYLTPGDSSSGWTAGAAAYYVGYLQPRTFLLKYNENGTITDAVDCALDPLSETKCTLKSFTVEKGIYQTSNFRVQPTESIVRFPNITNLCPFGEVFNATRFASVYAWNRKRISNCVADYSVLYNSASFSTFKCYGVSPTKLNDLCFTNVYADSFVIRGDEVRQIAPGQTGKIADYNYKLPDDFTGCVIAWNSNNLDSKVGGNYNYLYRLFRKSNLKPFERDISTEIYQAGSTPCNGVEGFNCYFPLQSYGFQPTNGVGYQPYRVVVLSFELLHAPATVCGPKKSTNLVKNKCVNFNFNGLTGTGVLTESNKKFLPFQQFGRDIADTTDAVRDPQTLEILDITPCSFGGVSVITPGTNTSNQVAVLYQGVNCTEVPVAIHADQLTPTWRVYSTGSNVFQTRAGCLIGAEHVNNSYECDIPIGAGICASYQTQTNSPRRARSVASQSIIAYTMSLGAENSVAYSNNSIAIPTNFTISVTTEILPVSMTKTSVDCTMYICGDSTECSNLLLQYGSFCTQLNRALTGIAVEQDKNTQEVFAQVKQIYKTPPIKDFGGFNFSQILPDPSKPSKRSFIEDLLFNKVTLADAGFIKQYGDCLGDIAARDLICAQKFNGLTVLPPLLTDEMIAQYTSALLAGTITSGWTFGAGAALQIPFAMQMAYRFNGIGVTQNVLYENQKLIANQFNSAIGKIQDSLSSTASALGKLQDVVNQNAQALNTLVKQLSSNFGAISSVLNDILSRLDKVEAEVQIDRLITGRLQSLQTYVTQQLIRAAEIRASANLAATKMSECVLGQSKRVDFCGKGYHLMSFPQSAPHGVVFLHVTYVPAQEKNFTTAPAICHDGKAHFPREGVFVSNGTHWFVTQRNFYEPQIITTDNTFVSGNCDVVIGIVNNTVYDPLQPELDSFKEELDKYFKNHTSPDVDLGDISGINASVVNIQKEIDRLNEVAKNLNESLIDLQELGKYEQYIKWPWYIWLGFIAGLIAIVMVTIMLCCMTSCCSCLKGCCSCGSCCKFDEDDSEPVLKGVKLHYT\n+ MLVFLVLLPLVSSQCVNLTTRTQLPPAYTNSFTRGVYYPDKVFRSSVLHSTQDLFLPFFSNVTLFHAIHVSGTNGTKRFDNPVLPFNDGVYFASTEKSNIIRGWIFGTTLDSKTQSLLIVNNATNVVIKVCEFQFCNHPFLGVYYHKNNKSWMESEFRVYSSANNCTFEYVSQPFLMDLEGKQGNFKNLREFVFKNIDGYFKIYSKHTPINLVRDLPQGFSALEPLVDLPIGINITRFQTLLALHRSYLTPGDSSSGWTAGAAAYYVGYLQPRTFLLKYNENGTITDAVDCALDPLSETKCTLKSFTVEKGIYQTSNFRVQPTESIVRFPNITNLCPFGEVFNATRFASVYAWNRKRISNCVADYSVLYNSASFSTFKCYGVSPTKLNDLCFTNVYADSFVIRGDEVRQIAPGQTGKIADYNYKLPDDFTGCVIAWNSNNLDSKVGGNYNYLYRLFRKSNLKPFERDISTEIYQAGSTPCNGVEGFNCYFPLQSYGFQPTNGVGYQPYRVVVLSFELLHAPATVCGPKKSTNLVKNKCVNFNFNGLTGTGVLTESNKKFLPFQQFGRDIADTTDAVRDPQTLEILDITPCSFGGVSVITPGTNTSNQVAVLYQGVNCTEVPVAIHADQLTPTWRVYSTGSNVFQTRAGCLIGAEHVNNSYECDIPIGAGICASYQTQTNSPRRARSVASQSIIAYTMSLGAENSVAYSNNSIAIPTNFTISVTTEILPVSMTKTSVDCTMYICGDSTECSNLLLQYGSFCTQLNRALTGIAVEQDKNTQEVFAQVKQIYKTPPIKDFGGFNFSQILPDPSKPSKRSFIEDLLFNKVTLADAGFIKQYGDCLGDIAARDLICAQKFNGLTVLPPLLTDEMIAQYTSALLAGTITSGWTFGAGAALQIPFAMQMAYRFNGIGVTQNVLYENQKLIANQFNSAIGKIQDSLSSTASALGKLQDVVNQNAQALNTLVKQLSSNFGAISSVLNDILSRLDKVEAEVQIDRLITGRLQSLQTYVTQQLIRAAEIRASANLAATKMSECVLGQSKRVDFCGKGYHLMSFPQSAPHGVVFLHVTYVPAQEKNFTTAPAICHDGKAHFPREGVFVSNGTHWFVTQRNFYEPQIITTDNTFVSGNCDVVIGIVNNTVYDPLQPELDSFKEELDKYFKNHTSPDVDLGDISGINASVVNIQKEIDRLNEVAKNLNESLIDLQELGKYEQYIKWPWYIWLGFIAGLIAIVMVTIMLCCMTSCCSCLKGCCSCGSCCKFDEDDSEPVLKGVKLHYT\n+ MFVFLVLLPLVSSQCVNLTTRTQLPPAYTNSFTRGVYYPDKVFRSSVLHSTQDLFLPFFSNVTWFHAIHVSGTNGTKRFDNPVLPFNDGVYFASTEKSNIIRGWIFGTTLDSKTQSLLIVNNATNVVIKVCEFQFCNDPFLGVYYHKNNKSWMESEFRVYSSANNCTFEYVSQPFLMDLEGKQGNFKNLREFVFKNIDGYFKIYSKHTPINLVRDLPQGFSALEPLVDLPIGINITRFQTLLALHRSYLTPGDSSSGWTAGAAAYYVGYLQPRTFLLKYNENGTITDAVDCALDPLSETKCTLKSFTVEKGIYQTSNFRVQPTESIVRFPNITNLCPFGEVFNATRFASVYAWNRKRISNCVADYSVLYNSASFSTFKCYGVSPTKLNDLCFTNVYADSFVIRGDEVRQIAPGQTGKIADYNYKLPDDFTGCVIAWNSNNLDSKVGGNYNYLYRLFRKSNLKPFERDISTEIYQAGSTPCNGVEGFNCYFPLQSYGFQPTNGVGYQPYRVVVLSFELLHAPATVCGPKKSTNLVKNKCVNFNFNGLTGTGVLTESNKKFLPFQQFGRDIADTTDAVRDPQTLEILDITPCSFGGVSVITPGTNTSNQVAVLYQDVNCTEVPVAIHADQLTPTWRVYSTGSNVFQTRAGCLIGAEHVNNSYECDIPIGAGICASYQTQTNSPRRARSVASQSIIAYTMSLGAENSVAYSNNSIAIPTNFTISVTTEILPVSMTKTSVDCTMYICGDSTECSNLLLQYGSFCTQLNRALTGIAVEQDKNTQEVFAQVKQIYKTPPIKDFGGFNFSQILPDPSKPSKRSFIEDLLFNKVTLADAGFIKQYGDCLGDIAARDLICAQKFNGLTVLPPLLTDEMIAQYTSALLAGTITSGWTFGAGAALQIPFAMQMAYRFNGIGVTQNVLYENQKLIANQFNSAIGKIQDSLSSTASALGKLQDVVNQNAQALNTLVKQLSSNFGAISSVLNDILSRLDKVEAEVQIDRLITGRLQSLQTYVTQQLIRAAEIRASANLAATKMSECVLGQSKRVDFCGKGYHLMSFPQSAPHGVVFLHVTYVPAQEKNFTTAPAICHDGKAHFPREGVFVSNGTHWFVTQRNFYEPQIITTDNTFVSGNCDVVIGIVNNTVYDPLQPELDSFKEELDKYFKNHTSPDVDLGDISGINASVVNIQKEIDRLNEVAKNLNESLIDLQELGKYEQYIKWPWYIWLGFIAGLIAIVMVTIMLCCMTSCCSCLKGCCSCGSCCKFDEDDSEPVLKGVKLHYT;\n+END;\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r 9ce3d6d4bd0e test-data/fade-in1.fa
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fade-in1.fa Tue Apr 20 10:31:50 2021 +0000
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 9ce3d6d4bd0e test-data/fade-in1.nhx
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fade-in1.nhx Tue Apr 20 10:31:50 2021 +0000
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 9ce3d6d4bd0e test-data/fade-out1.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fade-out1.json Tue Apr 20 10:31:50 2021 +0000
[
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 9ce3d6d4bd0e test-data/fel-out1.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fel-out1.json Tue Apr 20 10:31:50 2021 +0000
[
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 9ce3d6d4bd0e test-data/fubar-in1.fa.gz
b
Binary file test-data/fubar-in1.fa.gz has changed
b
diff -r 000000000000 -r 9ce3d6d4bd0e test-data/fubar-in1.nhx
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fubar-in1.nhx Tue Apr 20 10:31:50 2021 +0000
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 9ce3d6d4bd0e test-data/fubar-out1.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fubar-out1.json Tue Apr 20 10:31:50 2021 +0000
[
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 9ce3d6d4bd0e test-data/gard-in1.fa
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/gard-in1.fa Tue Apr 20 10:31:50 2021 +0000
b
@@ -0,0 +1,120 @@
+>BRO1_1
+ATTCTAATTTAAACTATTCT-CTGTTCTTTCATGGGGAAGCAGATTTGGG
+TACCACCCAAGTATTGACTCACCCATCAACAACCGCTATGTATTTCGTAC
+ATTAC-TGCCAGCCACCATGAATATTGTACGGTACCATAAA-TACTTGAC
+CACCTGTAGTACATAAAAACCC-AATCC--ACATCAAAA----CCCCCCC
+CC-CATGCTTACAAGCAAGTACAGCAACCAACCCTCAA-CTATCACACAT
+CAACTGCAACTCCAAAGCCAC-CCCTCACCCAC-TAGGATACCAACAAAC
+CTACCCACCC-TTAACAGTACATAGTACATAAAGCCATTTACCGTACATA
+GCACATTACA-GTCAAATCCCTTCTCGTCCCC-ATGG-ATGACCCCCC-T
+CAGAT-AGGGGTCCCTTGACCACCATCC
+>BRO2
+ATTCTAATTTAAACTATTCT-CTGTTCTTTCATGGGGAAGCAGATTTGGG
+TACCACCCAAGTATTGACTCACCCATCAACAACCGCTATGTATTTCGTAC
+ATTAC-TGCCAGCCACCATGAATATTGTACGGTACCATAAA-TACTTGAC
+CACCTGTAGTACATAAAAACCC-AATCC--ACATCAAAA----CCCCCCC
+CC-CATGCTTACAAGCAAGTACAGCAACCAACCCTCAA-CTATCACACAT
+CAACTGCAACCCCAAAGCCAC-CCCTCACCCAC-TAGGATACCAACAAAC
+CTACCCACCC-TTAACAGTACATAGTGCATAAAGCCATTTACCGTACATA
+GCACATTATA-GTCAAATCCCTTCTCGTCCCC-ATGG-ATGACCCCCC-T
+CAGAT-AGGGGTCCCTTGACCACCATCC
+>BRO3_1
+ATTCTAATTTAAACTATTCT-CTGTTCTTTCATGGGGAAGCAGATTTGGG
+TACCACCCAAGTATTGACTCACCCATCAACAACCGCTATGTATTTCGTAC
+ATTAC-TGCCAGCCACCATGAATATTGTACGGTACCATAAA-TACTTGAC
+CACCTGTAGTACATAAAAACCC-AATCC--ACATCAAAA----CCCCCCC
+CC-CATGCTTACAAGCAAGTACAGCAACCAACCCTCAA-CTATCACACAT
+CAGCTGCAACTCCAAAGCCAC-CCCTCACCCAC-TAGGATACCAACAAAC
+CTACCCACCC-TTAACAGTACATAGTACATAAAGCCATTTACCGTACATA
+GCACATTACA-GTCAAATCCCTTCTCGTCCCC-ATGG-ATGACCCCCC-T
+CAGAT-AGGGGTCCCTTGACCACCATCC
+>BRO4
+ATTCTAATTTAAACTATTCT-CTGTTCTTTCATGGGGAAGCAGATTTGGG
+TACCACCCAAGTATTGACTCACCCATCAACAACCGCTATGTATTTCGTAC
+ATTAC-TGCCAGCCACCATGAATATTGTACGGTACCATAAA-TACTTGAC
+CACCTGTAGTACATAAAAACCC-AATCC--ACATCAAAA----CCCCCCC
+CC-CATGCTTACAAGCAAGTACAGCAACCAACCCTCAA-CTATCATACAT
+CAACTGCAACTCCAAAGCCAC-CCCTCACCCAC-TAGGATACCAACAAAC
+CTACCCACCC-TTAACAGTACATAGTACATAAAGCCATTTACCGTACATA
+GCACATTACA-GTCAAATCCCTTCTCGTCCCC-ATGG-ATGACCCCCC-T
+CAGAT-AGGGGTCCCTTGACCACCATCC
+>BRO5
+ATTCTAATTTAAACTATTCT-CTGTTCTTTCATGGGGAAGCAGATTTGGG
+TACCACCCAAGTATTGACTCACCCATCAACAACCGCTATGTATTTCGTAC
+ATTAC-TGCCAGCCACCATGAATATTGTACAGTACCATAAA-TACTTGAC
+CACCTGTAGTACATAAAAACCC-AATCC--ACACCAAAA----CCCCCCC
+CC-CATGCTTACAAGCAAGTACAGCAACCAACCCTCAA-CTATCACACAT
+CAACTGCAACTCCAAAGCCAC-CCCTCACCCAC-TAGGATACCAACAAAC
+CTACCCACCC-TTAACAGTACATAGTACATAAAGCCATTTACCGTACATA
+GCACATTACA-GTCAAATCCCTTCTCGTCCCC-ATGG-ATGACCCCCC-T
+CAGAT-AGGGGTCCCTTGACCACCATCC
+>BRO6
+ATTCTAATTTAAACTATTCT-CTGTTCTTTCATGGGGAAGCAGATTTGGG
+TACCACCCAAGTATTGACTCACCCATCAACAACCGCTATGTATTTCGTAC
+ATTAC-TGCCAGCCACCATGAATATTGTACGGTACCATAAA-TACTTGAC
+CACCTGTAATACATAAAAACCC-AATTC--ACACCAAAA----CCCCCCC
+CC-CATGCTTACAAGCAAGTACAGCAACCAACCCTCAA-CTATCACACAT
+CAACTGCAACTCCAAAGCCAC-CCCTCACCCAC-TAGGATACCAACAAAC
+CTACCCACCC-TTAACAGTACATAGTACATAAAGCCATTTACCGTACATA
+GCACATTACA-GTCAAATCCCTTCTCGTCCCC-ATGG-ATGACCCCCC-T
+CAGAT-AGGGGTCCCTTGACCACCATCC
+>BRO7_1
+ATTCTAATTTAAACTATTCT-CTGTTCTTTCATGGGGAAGCAGATTTGGG
+TACCACCCAAGTATTGACTCACCCATCAACAACCGCTATGTATTTCGTAC
+ATTAC-TGCCAGCCACCATGAATATTGTACGGTACCATAAA-TACTTGAC
+CACCTGTAGTACATAAAAACCC-AATCC--ACACCAAAA----CCCCCCC
+CC-CATGCTTACAAGCAAGTACAGCAACCAACCCTCAA-CTATCACACAT
+CAACTGCAACTCCAAAGCCAC-CCCTCACCCAC-TAGGATACCAACAAAC
+CTACCCACCC-TTAACAGTACATAGTACATAAAGCCATTTACCGTACATA
+GCACATTACA-GTCAAATCCCTTCTCGTCCCC-ATGG-ATGACCCCCC-T
+CAGAT-AGGGGTCCCTTGACCACCATCC
+>BRO8
+ATTCTAATTTAAACTATTCT-CTGTTCTTTCATGGGGAAGCAGATTTGGG
+TACCACCCAAGTATTGACTCACCCATCAACAACCGCTATGTATTTCGTAC
+ATTAC-TGCCAGCCACCATGAATATTGTACGGTACCATAAA-TACTTGAC
+CACCTGTAGTACATAAAAACCC-AATCC--ACATCAAAA----CCCCCCC
+CC-CATGCTTACAAGCAAGTACAGCAACCAACCCTCAA-CTATCACACAT
+CAACTGCAACTCCAAAGCCAC-CCCTCACCCAC-TAGAATACCAACAAAC
+CTACCCACCC-TTAACAGTACATAGTACATAAAGCCATTTACCGTACATA
+GCACATTACA-GTCAAATCCCTTCTCGTCCCC-ATGG-ATGACCCCCC-T
+CAGAT-AGGGGTCCCTTGACCACCATCC
+>BRO9
+ATTCTAATTTAAACTATTCT-CTGTTCTTTCATGGGGAAGCAGATTTGGG
+TACCACCCAAGTATTGACTCACCCATCAACAACCGCTATGTATTTCGTAC
+ATTAC-TGCCAGCCACCATGAATATTGTACGGTACCATAAA-TACTTGAC
+CACCTGTAGTACATAAAAACCC-AACCC--ACATCAAAA----CCCCCCC
+CC-CATGCTTACAAGCAAGTACAGCAACCAACCCTCAA-CTATCACACAT
+CAATTGCAACTCCAAAGCCAC-CCCTCACCCAC-TAGGATACCAACAAAC
+CTACCCACCC-TTAACAGTACATAGTACATAAAGCCATTTACCGTACATA
+GCACATTACA-GTCAAATCCCTTCTCGTCCCC-ATGG-ATGACCCCCC-T
+CAGAT-AGGGGTCCCTTGACCACCATCC
+>BRO10
+ATTCTAATTTAAACTATTCT-CTGTTCTTTCATGGGGAAGCAGATTTGGG
+TACCACCCAAGTATTGACTCACCCATCAACAACCGCTATGTATTTCGTAC
+ATTAC-TGCCAGCCACCATGAATATTGTACGGTACCATAAA-TACTTGAC
+CACCTGTAGTACATAAAAACCC-AATCC--ACATCAAAA----CCCCCCC
+CC-CATGCTTACAAGCAAGTACAGCAATCAACCTTCAA-CTATCACACAT
+CAACTGCAACTCCAAAGCCAC-CCCTCACCCAC-TAGGATACCAACAAAC
+CTACCCACCC-TTAACAGTACATAGCACATAAAGCCATTTATCGTACATA
+GCACATTACA-GTCAAATCCCTTCTCGTCCCC-ATGG-ATGACCCCCC-T
+CAGAT-AGGGGTCCCTTGACCACCATCC
+>BRO11_1
+ATTCTAATTTAAACTATTCT-CTGTTCTTTCATGGGGAAGCAGATTTGGG
+TACCACCCAAGTATTGACTCACCCATCAACAACCGCTATGTATTTCGTAC
+ATTAC-TGCCAGCCACCATGAATATTGTACGGTACCATAAA-TACTTGAC
+TACCTGTAGTACATAAAAACCC-AACCC--ACATCAAAA----CCCTGCC
+CC-CATGCTTACAAGCAAGTACAGCAATCAACCTTCAA-CTGTCACACAT
+CAACTGCAACTCCAAAGCCAC-CCCTCACCCAC-TAGGATACCAACAAAC
+CTACCCACCC-TTAACAGTACATAGCACATAAAGTCATTTACCGTACATA
+GCACATTACA-GTCAAATCCCTTCTCGTCCCC-ATGG-ATGACCCCCC-T
+CAGAT-AGGGGTCCCTTGACCACCATCC
+>BRO12
+ATTCTAATTTAAACTATTCT-CTGTTCTTTCATGGGGAAGCAGATTTGGG
+TACCACCCAAGTATTGACTCACCCATCAACAACCGCTATGTATTTCGTAC
+ATTAC-TGCCAGCCACCATGAATATTGTACAGTACCATAAA-TACTTGAC
+TACCTGTAGTACATAAAAACCC-AATCC--ACATCAAAA----CCCCCTC
+CC-CATGCTTACAAGCAAGTACAGCAATCAACCTTCAA-CTATCACACAT
+CAACTGCAACTCCAAAGCCAC-CCCTCACCCAC-TAGGATACCAACAAAC
+CTACCCACCC-TTAACAGTACATAGTACATAAAGCCATTTACCGTACATA
+GCACATTACA-GTCAAATCCCTTCTCGTCCCC-ATGG-ATGACCCCCC-T
+CAGAT-AGGGGTCCCTTGACCACCATCC
\ No newline at end of file
b
diff -r 000000000000 -r 9ce3d6d4bd0e test-data/gard-out1.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/gard-out1.json Tue Apr 20 10:31:50 2021 +0000
[
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 9ce3d6d4bd0e test-data/meme-in1.fa
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/meme-in1.fa Tue Apr 20 10:31:50 2021 +0000
b
b'@@ -0,0 +1,1 @@\n+>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>MALLARD_VIETNAM_16_2003\rATGGAGAAAATAGTGCTTCTTTTTGCAATAGTCAGTCTTGTTAAAAGTGA\rTCAGATTTGCATTGGTTACCATGCAAACAACTCGACAGAGCAGGTTGACA\rCAATAATGGAAAAGAACGTTACTGTTACACATGCCCAAGACATACTGGAA\rAAGACACACAACGGGAAGCTCTGCGATCTAGATGGAGTGAAGCCTCTAAT\rTTTGAGAGATTGTAGTGTAGCTGGATGGCTCCTCGGAAACCCAATGTGTG\rACGAATTCATCAATGTGCCGGAATGGTCTTACATAGTGGAGAAGGCCAAT\rCCAGTCAATGACCTCTGTTACCCAGGGGATTTCAATGAATATGAAGAATT\rGAAACACCTATTGAGCAGAATAAACCATTTTGAGAAAATTCAGATCATCC\rCCAAAAGTTCTTGGTCCAGTCATGAAGCCTCATTAGGGGTGAGCTCAGCA\rTGTCCATACCAGGGAAAGTCCTCCTTTTTCAGAAATGTGGTATGGCTTGT\rCAAAAAGAACAGTACATACCCAACAATAAAGAGGAGCTACAATAATACCA\rACCAAGAAGATCTTTTGGTACTGTGGGGGATTCACCATCCTAATGATGCG\rGCAGAGCAGACAAAGCTCTATCAAAATCCAACCACCTACATTTCCGTTGG\rGACATCAACACTAAACCAGAGATTGGTACCAAGAATAGCTACTAGATCCA\rAAGTAAACGGGCAAAGTGGAAGGATGGAGTTCTTCTGGACAATTTTAAAA\rCCGAATGATGCAATCAACTTCGAGAGTAATGGAAATTTCATTGCTCCAGA\rATATGCATACAAAATTGTCAAGAAAGGGGACTCAACAATTATGAAAAGTG\rAATTGGAATATGGTAACTGCAACACCAAGTGTCAAACTCCAATGGGGGCG\rATAAACTCTAGTATGCCATTCCACAATATACACCCCCTCACCATCGGGGA\rATGCCCCAAATATGTGAAATCAAACAGATTAGTCCTTGCGACTGGGCTCA\rGAAATAGCCCTCAAAGAGAGAGAAGAAGAAAAAAGAGAGGATTATTTGGA\rGCTATAGCAGGTTTTATAGAGGGAGGATGGCAAGGAATGGTAGATGGTTG\rGTATGGGTACCACCATAGCAATGAGCAGGGGAGTGGGTACGCTGCAGACA\rAAGAATCCACTCAAAAGGCAATAGATGGAGTCACCAATAAGGTCAACTCG\rATCATTGACAAAATGAACACTCAGTTTGAGGCCGTTGGAAGGGAATTTAA\rCAACTTAGAAAGGAGAATAGAGAATTTAAACAAGAAGATGGAAGACGGGT\rTCCTAGATGTCTGGACTTATAATGCTGAACTTCTGGTTCTCATGGAAAAT\rGAGAGAACTCTAGACTTTCATGACTCAAATGTCAAGAACCTTTACGACAA\rGGTCCGACTACAGCTTAGGGATAATGCAAAGGAGCTGGGTAACGGTTGTT\rTCGAGTTCTATCATAAATGTGATAATGAATGTATGGAAAGTGTAAGAAAC\rGGAACGTATGACTACCCGCAGTATTCAGAAGAAGCAAGACTAAAAAGAGA\rGGAAATAAGTGGAGTAAAATTGGAATCAATAGGAATTTACCAAATACTGT\rCAATTTATTCTACAGTGGCGAGTTCCCTAGCACTGGCAATCATGGTAGCT\rGGTCTATCCTTATGGATGTGCTCCAATGGGTCGTTACAATGCAGA---\r>CHICKEN_CK_160_2005\rATGGAGAAAATAGTGCTTCTTTTTGCAATAGTCAGTCTTGTTAAAAGTGA\rTCAGATTTGCATTGGTTACCATGCAAACAACTCAACAGAGCAGGTTGACA\rCAATAATGGAAAAGAACGTTACTGTTACACATGCCCAAGACATACTGGAA\rAAGACACACAACGGGAAGCTCTGTGATCTAGATGGAGTGAAGCCTCTAAT\rTTTGAGAGATTGTAGTGTAGCTGGATGGCTCCTTGGAAACCCAATGTGTG\rATGAATTCATCAATGTGCCGGAATGGTCTTACATAGTGGAGAAGGCCAAT\rCCAGCCAATGACCTCTGTTACCCAGGGGATTTCAATGACTATGAAGAATT\rGAAACACCTATTGAGCAGAATAAACCATTTTGAGAAAATTCAGATCATCC\rCCAAAAGTTCTTGGTCCAGTCATGAAGCCTCATTAGGAGT'..b'GGGAATTTAA\rCAACTTAGAAAGGAGAATAGAGAATTTAAACAAGAAGATGGAAGACGGGT\rTCCTAGATGTCTGGACTTATAATGCTGAACTTCTGGTTCTCATGGAAAAT\rGAGAGAACTCTAGACTTTCATGACTCAAATGTCAAGAACCTTTACGACAA\rGGTCCGACTACAGCTTAGGGATAATGCAAAGGAGCTGGGTAACGGTTGTT\rTCGAGTTCTATCATAAATGTGATAATGAATGTATGGAAAGTGTAAGGAAC\rGGAACGTATGACTACCCGCAGTATTCAGAAGAAGCAAGACTAAAAAGAGA\rGGAAATAAGTGGAGTAAAATTGGAATCAATAGGAATTTACCAAATACTGT\rCAATTTATTCTACAGTAGCGAGTTCCCTAGCACTGGCAATCATGGTAGCT\rGGTCTATCCTTATGGATGTGCTTCAATGGGTCGTTACAATGCAGAATT\r>CK_HK_WF157_2003\rATGGAGAAAATAGTGCTTCTTCTTGCAATAGTCAGTCTTGTTAAAAGTGA\rTCAGATTTGCATTGGTTACCATGCAAACAACTCGACAGAGCAGGTTGACA\rCAATAATGGAAAAGAACGTTACTGTTACACATGCCCAAGACATACTGGAA\rAAGACCCACAACGGGAAGCTCTGCGACCTAGATGGAGTGAAGCCTCTAAT\rTTTGAGAGATTGTAGTGTAGCTGGATGGCTCCTCGGGAACCCAATGTGTG\rACGAATTCATCAATGTACCGGAATGGTCTTACATAGTGGAGAAGGCCAGT\rCCATCCAATGACCTCTGTTACCCAGGGGATTTCAACAATTATGAAGAACT\rGAAACACCTATTGAGCAGAATAAACCATTTTGAGAAAATTCAGATCATCC\rCCAAAAGCTCTTGGTCCAATCATGAAGCCTCATCAGGGGTGAGCTCAGCA\rTGTCCATACCTGGGAAAGCCCTCCTTTTTCAGAAATGTGGTATGGCTTAT\rCAAAAAGAACAGTACATACCCAACAATAAAGAGGAGCTACAATAATACCA\rACCAAGAAGATCTTTTGGTACTGTGGGGGATTCACCATCCTAATGATGCG\rGCAGAGCAGATAAAGCTCTATCAAAACCCAACCACCTATATTTCCGTTGG\rAACATCAACACTAAACCAGAGATTGGTACCAAAAATAGCTACTAGATCCA\rAAGTAAACGGGCAAAGTGGAAGGATGGAGTTCTTCTGGACAATTTTAAAA\rCCGAATGATGCAATCAACTTCGAGAGTAATGGAAATTTCATTGCTCCAGA\rATATGCATACAAAATTGTCAAGAAAGGGGACTCAGCAATTATGAAAAGTG\rAATTGGAATATGGTAACTGCAACACCAAGTGTCAAACTCCAATGGGGGCG\rATAAACTCTAGTATGCCCTTCCACAACATACACCCTCTCACCATCGGGGA\rATGCCCCAAATATGTGAAATCAAACAGACTAGTCCTTGCGACTGGGCTCA\rGAAATAGCCCTCAAAGAGAGAGAAGAAGAAAAAAGAGAGGACTATTTGGA\rGCTATAGCGGGTTTTATAGAGGGAGGATGGCAGGGAATGGTAGATGGTTG\rGTATGGATACCACCATAGCAATGAGCAGGGGAGTGGATACGCTGCAGACA\rAAGAATCCACTCAAAAGGCAATAGATGGAGTCACCAATAAGGTCAACTCG\rATCATTGACAAAATGAACACTCAGTTTGAGGCCGTTGGAAGGGAATTTAA\rTAACTTAGAAAGGAGAATAGAGAATTTAAACAAGAAGATGGAAGACGGAT\rTCCTAGATGTCTGGACTTATAATGCTGAACTTCTAGTTCTCATGGAAAAT\rGAGAGAACTCTAGACTTTCATGACTCAAATGTCAAGAACCTTTACGACAA\rGGTCCGACTACAGCTTAGGGATAATGCAAAAGAGCTGGGTAACGGTTGTT\rTCGAGTTCTATCACAAATGTGATAATGAATGTATGGAAAGTGTAAGAAAC\rGGAACGTATGACTACTCGCAGTATTCAGAAGAAGCAAGACTAAAAAGAGA\rGGAAATAAGTGGAGTAAAATTGGAATCAATAGGAACTTACCAAATACTGT\rCAATTTATTCAACAGTGGCGAGTTCCCTAGCACTGGCAATCATGGTAGCT\rGGTCTATCTTTATGGATGTGCTCCAATGGTTCGTTACAATGT------\r>SWINE_ANHUI_1_2004\rATGGAGAAAATAGTGCTTCTTCTTGCAATAGTCAGTCTTGTTAAAGGTGA\rTCAGATTTGCACTGGTTACCATGCAAACAACTCGACAGAGCAGGTTGACA\rCAATAATGGAAAAGAACGTTACTGTTACACATGCTCAAGACATACTGGAA\rAAGACACACAACGGGAAGCTCTGCGACCTAGATGGAGTGAAGCCTCTAAT\rTTTAAGAGATTGTAGTGTAGCTGGATGGCTCCTCGGGAACCCAATGTGTG\rACGAATTCATCAATGTGCCGGAATGGTCTTACATAGTGGAGAAGGCCAAT\rCCAGCCAATGACCTCTGTTACCCAGGGGATTTCAACGACTATGAAGAACT\rGAAACACCTATTGAGCAGAATAAACCATTTTGAGAAAATTCAGATCATCC\rCCAAAAGTTCTTGGTCCGATCATGAAGCCTCATCAGGGGTGAGCTCAGCA\rTGTCCATACCAGGGAAGGTCCTCCTTTTTCAGAAATGTGGTATGGCTTAT\rCAAAAAGAACAGTGCATACCCAACAATAAAGAGGAGCTACAATAATACCA\rACCAAGAAGATCTTTTGGTACTGTGGGGGATTCACCACCCTAATGATGCG\rGCAGAGCAGATAAAGCTCTATCAAAACCCAACCACCTATATTTCCGTTGG\rGACATCAACACTAAACCAGAGATTGGTACCAAAAATAGCTACTAGATCCA\rAAGTAAACGGACAAAGTGGAAGAATGGAGTTCTTCTGGACAATTTTAAAA\rCCGAATGATGCTATCAATTTCGAGAGTAATGGAAATTTCATTGCTCCAGA\rATATGCATACAAAATTGTCAAGAAAGGGGACTCTGCAATTATGAAAAGTG\rAATTGGAATATGGCAACTGCAACACCAAGTGTCAAACTCCAGTGGGGGCG\rATAAATTCTAGCATGCCATTCCACAACATACACCCTCTCACCATCGGGGA\rATGCCCCAAATATGTGAAATCAAACAGATTAGTCCTTGCGACTGGACTCA\rGAAATGCCCCTCAAAGAGAGGGAAGAAGAAAAAAGAGAGGACTATTTGGA\rGCTATAGCAGGGTTTATAGAGGGAGGATGGCAGGGGATGGTAGATGGTTG\rGTATGGGTACCACCATAGCAATGAGCAGGGGAGTGGATACGCTGCAGACA\rAAGAATCCACTCAAAAAGCAATAGATGGAGTCACCAATAAGGTCAACTCG\rATCATTGACAAAATGAACACTCAGTTTGAGGCCGTTGGAAGGGAATTTAA\rTAACTTAGAAAGGAGAATAGAAAATTTAAACAAGAAGATGGAGGACGGAT\rTCCTAGATGTCTGGACTTATAATGCTGAACTTCTGGTTCTCATGGAAAAT\rGAGAGAACTCTAGACTTTCATGACTCAAATGTCAAGAACCTTTACGACAA\rGGTCCGACTACAGCTTAGGGATAATGCAAAGGAGCTGGGTAACGGTTGTT\rTCGAGTTCTATCACAGATGTGATAATGAATGTATGGAAAGTGTAAGAAAC\rGGAACGTATGACTACCCGCAGTATTCGGAAGAAGCAAGACTAAACAGAGA\rGGAAATAAGTGGAGTAAAATTGGAATCAATAGGAACTTACCAAATACTGT\rCAATTTATTCAACAGTGGCGAGTTCCCTAGCACTGGCAATCATGGTGGCT\rGGTCTATCTTTATGGATGTGCTCCAATGGATCGTTACAATGCAGAATT\r\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r 9ce3d6d4bd0e test-data/meme-in1.nhx
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/meme-in1.nhx Tue Apr 20 10:31:50 2021 +0000
b
@@ -0,0 +1,1 @@
+((((((CHICKEN_HEBEI_326_2005:0.02100885319673648,(SWINE_ANHUI_1_2004:0.007702393698306516):0.002095219592954275):0.003887237703073042)):0.003130608143291779,(CK_HK_WF157_2003:0.00663129750258774):0.004655295319725731):0.0116808817874948,(MALLARD_VIETNAM_16_2003:0.003244216605281072):0.0004125980823087554):0.0003400912533471183,CHICKEN_CK_160_2005:0.006168335080088849)
b
diff -r 000000000000 -r 9ce3d6d4bd0e test-data/meme-out1.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/meme-out1.json Tue Apr 20 10:31:50 2021 +0000
[
b'@@ -0,0 +1,2535 @@\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, 3.477431520841965, 1, 0, 0.6666666666666666, 0, 0.1244820193331403],\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, 3.741010141509965, 1, 0, 0.6666666666666666, 0, 0.1339173737771157],\n+      [0, 0, 1, 0, 0, 0, 1, 0, 0],\n+      [0, 0, 1, 0, 0, 0, 1, 0, 0],\n+      [0, 0, 0, 3.515256679835982, 1, 0, 0.6666666666666666, 0, 0.1258360509351867],\n+      [0, 0, 0, 2.551430028273134, 1, 0, 0.6666666666666666, 0, 0.09133383654087057],\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.09433309141367374, 3.23711069521408, 0.9056669085863263, 0.5595133528189606, 0.4135250593893275, 0, 0.1049479822225346],\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, 4.065768798286446, 1, 0, 0.6666666666666666, 0, 0.1455427970670232],\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+      [6.565759874687353, 0, 0.10495989356895, 0, 0.89504010643105, 0, 0.6666666666666666, 0, 0.1032447536564542],\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+      [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+      [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+      [10.49514785248221, 0, 1.14531252379555e-10, 0, 0.9999999998854687, 0, 0.6666666666666666, 0, 0.1650332901748387],\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+      [13.09135310777685, 0, 5.726562618977749e-11, 0, 0.9999999999427344, 0, 0.6666666666666666, 0, 0.2058578980100819],\n+      [0, 0, 1, 0, 0, 0, 1, 0, 0],\n+      [12.37490343362032, 0, 0.05858880329925001, 0, 0.94141119670075, 0, 0.6666666666666666, 0, 0.1945919255213972],\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+      [987.5019115722299, 0, 0.0004, 0, 0.9996, 0, 0.6666666666666666, 0, 15.52819377215],\n+      [14.55761344047962, 3.151090015539141, 0, 3.15098583171967, 1, 0, 0.6666666666666666, 0, 0.3417106414963155],\n+      [0, 0, 0, 5.632316287317649, 1, 0, 0.6666666666666666, 0, 0.2016206791610606],\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+      [0, 0, 1, 0, 0, 0, 1, 0, 0],\n+      [5.480073695171225, 0, 5.529684747073369e-10, 0, 0.9999999994470316, 0, 0.6666666666666666, 0, 0.08617263949271516],\n+      [0, 0, 0, 2.821925207775446, 1, 0, 0.6666666666666666, 0, 0.1010167838433599],\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+      [0, 0, 1, 0, 0, 0, 1, 0, 0],\n+      [0, 0, 1, 0, 0, 0, 1, 0, 0],\n+      [7.490255319000378, 0, 2.281746655933769e-10, 0, 0.9999999997718253, 0, 0.6666666666666666, 0, 0.1177821881996506],\n+      [17.81018664392365, 0, 0'..b'.01220539771302355],\n+      [0.01297489997065711],\n+      [0.01419701929364967],\n+      [0.02306796533539959],\n+      [0.0138011088931582],\n+      [0.01467121445635504],\n+      [0.01605311140503505],\n+      [0.03067687144383888],\n+      [0.01835336741416609],\n+      [0.01951047494908151],\n+      [0.02134818687672324],\n+      [0.02126077850204813],\n+      [0.01271990463804815],\n+      [0.01352184453103644],\n+      [0.01479548113102975],\n+      [0.008898103672735205],\n+      [0.005323560008197935],\n+      [0.005659189501089015],\n+      [0.006192234446128948],\n+      [0.010061425331433],\n+      [0.006019552422614294],\n+      [0.006399061496227086],\n+      [0.007001795754005012],\n+      [0.01338015932252603],\n+      [0.008005085543223482],\n+      [0.008509774660521757],\n+      [0.009311319186526256],\n+      [0.04013232935583105],\n+      [0.02401038147590574],\n+      [0.02552414146855538],\n+      [0.02792828690027832],\n+      [0.01679626299677307],\n+      [0.01004887302569606],\n+      [0.0106824148947738],\n+      [0.01168860266413242],\n+      [0.01899217543474583],\n+      [0.01136264414662781],\n+      [0.01207901411089265],\n+      [0.0132167490129733],\n+      [0.02525669324448205],\n+      [0.01511058165209229],\n+      [0.0160632443156804],\n+      [0.01757625800461362],\n+      [0.02112670632168297],\n+      [0.02457406668036405],\n+      [0.01477901198657192],\n+      [0.008841991514828857],\n+      [0.009399444257673735],\n+      [0.01028478768834936],\n+      [0.009997977173519282],\n+      [0.01062831025955897],\n+      [0.01162940185705429],\n+      [0.02222333457585675],\n+      [0.01329578296096281],\n+      [0.01413402971424556],\n+      [0.01546532867335853] \n+      ],\n+     "Log Likelihood":-2978.298667783946,\n+     "Rate Distributions":{\n+       "non-synonymous/synonymous rate ratio for *test*":        [\n+[0.2932353608697501, 1] \n+        ]\n+      },\n+     "display order":1,\n+     "estimated parameters":27\n+    },\n+   "Nucleotide GTR":{\n+     "AIC-c":6152.529196194525,\n+     "Equilibrium frequencies":      [\n+[0.3478363400542389],\n+      [0.184883858035609],\n+      [0.2307510906732697],\n+      [0.2365287112368824] \n+      ],\n+     "Log Likelihood":-3056.215005465311,\n+     "Rate Distributions":{\n+       "Substitution rate from nucleotide A to nucleotide C":0.1810796022573985,\n+       "Substitution rate from nucleotide A to nucleotide G":1,\n+       "Substitution rate from nucleotide A to nucleotide T":0.08708610799393901,\n+       "Substitution rate from nucleotide C to nucleotide G":0.02931879134098465,\n+       "Substitution rate from nucleotide C to nucleotide T":1.419136867291551,\n+       "Substitution rate from nucleotide G to nucleotide T":0.1065442350926398\n+      },\n+     "display order":0,\n+     "estimated parameters":20\n+    }\n+  },\n+ "input":{\n+   "file name":"/tmp/tmpdqyv1aux/job_working_directory/000/3/working/./meme_input.fa",\n+   "number of sequences":5,\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:-1)Node3:0.003130608143291779,(CK_HK_WF157_2003:0.00663129750258774)Node9:0.004655295319725731)Node2:0.0116808817874948,(MALLARD_VIETNAM_16_2003:0.003244216605281072)Node11: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+     "CK_HK_WF157_2003":"test",\n+     "MALLARD_VIETNAM_16_2003":"test",\n+     "Node11":"test",\n+     "Node2":"test",\n+     "Node3":"test",\n+     "Node4":"test",\n+     "Node5":"test",\n+     "Node7":"test",\n+     "Node9":"test",\n+     "SWINE_ANHUI_1_2004":"test"\n+    }\n+  },\n+ "timers":{\n+   "MEME analysis":{\n+     "order":2,\n+     "timer":437\n+    },\n+   "Model fitting":{\n+     "order":1,\n+     "timer":4\n+    },\n+   "Total time":{\n+     "order":0,\n+     "timer":442\n+    }\n+  }\n+}\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r 9ce3d6d4bd0e test-data/params.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/params.json Tue Apr 20 10:31:50 2021 +0000
[
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 9ce3d6d4bd0e test-data/prime-in1.fa
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/prime-in1.fa Tue Apr 20 10:31:50 2021 +0000
b
@@ -0,0 +1,1 @@
+>HUMAN_VIETNAM_CL105_2005 ATGGAGAAAATAGTGCTTCTTTTTGCGATAGTCAGTCTTGTTAAAAGTGA TCAGATTTGCATTGGTTACCATGCAAACAACTCGACAGAGCAGGTTGACA CAATAATGGAAAAGAACGTTACTGTTACACATGCCCAAGACATACTGGAA >CHICKEN_HEBEI_326_2005 ATGGAGAGAATAGTGCTTCTTCTTGCAATAATCGGTCTTGTTAAAAGTGA TCAGATTTGCATTGGTTACCATGCAAACAACTCGACAGAGCAGGTTGACA CAATAATGGAAAAGAACGTTACTGTTACACATGCTCAAGACATACTGGAG >CHICKEN_HONGKONG_915_97 ATGGAGAAAATAGTGCTTCTTCTTGCAACAGTCAGTCTTGTTAAAAGTGA TCAGATTTGCATTGGTTACCATGCAAACAACTCGACAGAGCAGGTTGACA CAATAATGGAAAAGAATGTTACTGTTACACATGCCCAAGACATACTGGAA >HUMAN_VIETNAM_3062_2004 ATGGAGAAAATAGTGCTTCTTTTTGCAATAGTCAGTCTTGTTAAAAGTGA TCAGATTTGCATTGGTTACCATGCAAACAACTCGACAGAGCAGGTTGACA CAATAATGGAAAAGAACGTTACTGTTACACATGCCCAAGACATACTGGAA >GOOSE_HONGKONG_W355_97 ATGGAGAAAATAGTGCTTCTTCTTGCAACAGTCAGTCTTGTTAAAAGTGA TCAGATTTGCATTGGTTACCATGCAAACAACTCGACAGAGCAGGTTGACA CAATAATGGAAAAGAATGTTACTGTTACACATGCCCAAGACATACTGGAA >MALLARD_VIETNAM_16_2003 ATGGAGAAAATAGTGCTTCTTTTTGCAATAGTCAGTCTTGTTAAAAGTGA TCAGATTTGCATTGGTTACCATGCAAACAACTCGACAGAGCAGGTTGACA CAATAATGGAAAAGAACGTTACTGTTACACATGCCCAAGACATACTGGAA >CHICKEN_CK_160_2005 ATGGAGAAAATAGTGCTTCTTTTTGCAATAGTCAGTCTTGTTAAAAGTGA TCAGATTTGCATTGGTTACCATGCAAACAACTCAACAGAGCAGGTTGACA CAATAATGGAAAAGAACGTTACTGTTACACATGCCCAAGACATACTGGAA >CK_HK_WF157_2003 ATGGAGAAAATAGTGCTTCTTCTTGCAATAGTCAGTCTTGTTAAAAGTGA TCAGATTTGCATTGGTTACCATGCAAACAACTCGACAGAGCAGGTTGACA CAATAATGGAAAAGAACGTTACTGTTACACATGCCCAAGACATACTGGAA >SWINE_ANHUI_1_2004 ATGGAGAAAATAGTGCTTCTTCTTGCAATAGTCAGTCTTGTTAAAGGTGA TCAGATTTGCACTGGTTACCATGCAAACAACTCGACAGAGCAGGTTGACA CAATAATGGAAAAGAACGTTACTGTTACACATGCTCAAGACATACTGGAA >HONGKONG_1_97_98 ------------------------------------------------GA CCAGATTTGCATTGGTTACCATGCAAACAACTCGACAGAGCAGGTTGATA CAATAATGGAAAAGAATGTTACTGTTACACATGCCCAAGACATACTGGAA >GOOSE_SHANTOU_2216_2005 ATGGAGAAAATAGTGCTTCTTCTTGCAATAATCAGCCTTGTTAAAAGTGA TCAGATTTGCATTGGTTACCATGCAAACAACTCGACAGAGCAGGTTGACA CAATAATGGAAAAGAACGTTACTGTTACACATGCCCAAGACATACTGGAA >PEREGRINEFALCON_HK_D0028_2004 ATGGAGAAAATAGTGCTTCTTCTTGCAATAGTCAGTCTTGTTAAAAGTGA TCAGATTTGCATTGGTTACCATGCAAACAACTCGACAGAGCAGGTTGACA CAATAATGGAAAAGAATGTTACTGTTACACATGCCCAAGACATACTGGAA >HONGKONG_1_538_97 ------------------------------------------------GA TCAGATTTGCATTGGTTACCATGCAAACAACTCGACAGAGCAGGTTGACA CAATAATGGAAAAGAATGTTACTGTTACACATGCCCAAGACATACTGGAA
\ No newline at end of file
b
diff -r 000000000000 -r 9ce3d6d4bd0e test-data/prime-in1.nhx
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/prime-in1.nhx Tue Apr 20 10:31:50 2021 +0000
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 9ce3d6d4bd0e test-data/prime-out1.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/prime-out1.json Tue Apr 20 10:31:50 2021 +0000
[
b'@@ -0,0 +1,391 @@\n+{\n+ "MLE":{\n+   "content":{\n+     "0":      [\n+[0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0],\n+      [0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0],\n+      [0, 4.123712641737602, 511.6499971244988, -5.608842688620929, -7.031699805798055, 1, 3.180962375542725, 1, -5.599238755695894, 0.7828049218517579, 1, -5.608352884924835, -2.115291881920681, 1, -5.604784076919627, -5.404956845857691, 1, -5.615111503355894, 2.462902938936584, 1, -5.607953657572869],\n+      [0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0],\n+      [0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0],\n+      [0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0],\n+      [0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0],\n+      [0, 4.849174446703908, 0.2440623951294166, -7.530855366772653, -8.547881040478554, 1, 8.833984038052169, 1, -7.53445935473729, 1.725573110573239, 1, -7.53079217870133, -0.2671292981572289, 1, -7.530980113687253, -0.4804669617756561, 1, -7.530833122267245, -0.1532486612226931, 1, -7.530868793694735],\n+      [10.63135649145974, 0, 0.7502380884715356, -7.750335490678291, -7.750335610925491, 1, -0.06122935182163709, 1, -7.750335490675839, -0.06122935182163709, 1, -7.750335490675839, -0.06122935182163709, 1, -7.750335490675839, -0.06122935182163709, 1, -7.750335490675839, -0.06122935182163709, 1, -7.750335490675839],\n+      [0, 2.202981274414969, 0.397462976308795, -6.144243972107117, -7.361850215781605, 1, -2.763157788623757, 1, -6.146863972828472, -0.02286865932396898, 1, -6.141696705195292, 2.56489740323532, 1, -6.144140070703968, 3.673465169891661, 1, -6.162164086824393, -0.3782299185469108, 1, -6.140399389962398],\n+      [0, 6.509531966707992, 0.7279903564537584, -7.452295439546786, -8.507460649598423, 1, 6.763405786911178, 1, -7.454926555248795, 0.6678772051425989, 1, -7.451746683657063, -0.5798067642619018, 1, -7.452771449125621, -0.2211171350169704, 1, -7.452165845137638, 0.1663073214171773, 1, -7.450195387750036],\n+      [8.776439958358919, 2.284512411822656, 1.336576511778388, -9.655786100846457, -10.49206003395885, 1, 5.383393783342485, 1, -9.664210115841298, -3.158949692311737, 1, -9.655544560079083, -0.3018714845472609, 1, -9.655318226877892, 3.597509240461804, 1, -9.653746338822806, -0.0948988112495659, 1, -9.655669896512631],\n+      [0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0],\n+      [0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0],\n+      [0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0],\n+      [0, 2.425089497235808, 0.5977083182449383, -7.256204136892792, -8.1869045859499, 1, 5.146566146987978, 1, -7.264970053927162, -2.513623140671756, 1, -7.255847818578761, -0.3554384584781068, 1, -7.256424962957591, 4.119925682148564, 1, -7.254165622670933, -0.1223190226259517, 1, -7.255886801654065],\n+      [6.419869332267623, 0, 0.4530400706576413, -5.863592599386944, -5.863592751403759, 1, -0.06122935182163709, 1, -5.863592599386021, -0.06122935182163709, 1, -5.863592599386021, -0.06122935182163709, 1, -5.863592599386021, -0.06122935182163709, 1, -5.863592599386021, -0.06122935182163709, 1, -5.863592599386021],\n+      [0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0],\n+      [0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0],\n+      [0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0],\n+      [0, 2.699658477079707, 0.4801615193392039, -5.903524182207455, -6.898872136243598, 1, -0.8716130556024849, 1, -5.903538930457988, -0.4627800379305517, 1, -5.903694932983693, 3.044105631862708, 1, -5.908943461477226, -0.07628230444039112, 1, -5.903502621374115, 0.3057953308962, 1, -5.903488680659473],\n+      [0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0],\n+      [0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0],\n+      [0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0],\n+      [0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, '..b'      [0.0116874925496928],\n+      [0.01921743321791434],\n+      [0.00769695150511784],\n+      [0.004704463089092132],\n+      [0.005592004637968804],\n+      [0.00919478452948895],\n+      [0.03431876246786721],\n+      [0.02097601254029597],\n+      [0.02493333610872543],\n+      [0.04099722156245031],\n+      [0.006131000492593795],\n+      [0.01198292502502543],\n+      [0.004198752217504174],\n+      [0.002566324448628536],\n+      [0.003050485878513492],\n+      [0.005015832814718212],\n+      [0.001227885122343091],\n+      [0.001459537288103269],\n+      [0.002399878352343215],\n+      [0.008957344771016727],\n+      [0.00547482958980595],\n+      [0.006507708080284218],\n+      [0.01070045135026252] \n+      ],\n+     "Log Likelihood":-277.7176481414617,\n+     "Rate Distributions":{\n+       "non-synonymous/synonymous rate ratio for *test*":        [\n+[0.4074296362572946, 1] \n+        ]\n+      },\n+     "display order":1,\n+     "estimated parameters":43\n+    },\n+   "Nucleotide GTR":{\n+     "AIC-c":658.4548031196325,\n+     "Equilibrium frequencies":      [\n+[0.3543689320388349],\n+      [0.1790722761596548],\n+      [0.2076591154261057],\n+      [0.2588996763754045] \n+      ],\n+     "Log Likelihood":-292.5311130078037,\n+     "Rate Distributions":{\n+       "Substitution rate from nucleotide A to nucleotide C":0,\n+       "Substitution rate from nucleotide A to nucleotide G":1,\n+       "Substitution rate from nucleotide A to nucleotide T":0,\n+       "Substitution rate from nucleotide C to nucleotide G":0,\n+       "Substitution rate from nucleotide C to nucleotide T":1.816257034982832,\n+       "Substitution rate from nucleotide G to nucleotide T":0\n+      },\n+     "display order":0,\n+     "estimated parameters":36\n+    }\n+  },\n+ "input":{\n+   "file name":"/Users/sergei/Development/tools-iuc/tools/hyphy/test-data/prime-in1.fa",\n+   "number of sequences":13,\n+   "number of sites":50,\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+   "Model fitting":{\n+     "order":1,\n+     "timer":3\n+    },\n+   "PRIME analysis":{\n+     "order":2,\n+     "timer":86\n+    },\n+   "Total time":{\n+     "order":0,\n+     "timer":89\n+    }\n+  }\n+}\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r 9ce3d6d4bd0e test-data/relax-in1.fa
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/relax-in1.fa Tue Apr 20 10:31:50 2021 +0000
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 9ce3d6d4bd0e test-data/relax-in1.nhx
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/relax-in1.nhx Tue Apr 20 10:31:50 2021 +0000
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 9ce3d6d4bd0e test-data/relax-in2.nhx
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/relax-in2.nhx Tue Apr 20 10:31:50 2021 +0000
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 9ce3d6d4bd0e test-data/relax-out1.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/relax-out1.json Tue Apr 20 10:31:50 2021 +0000
[
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 9ce3d6d4bd0e test-data/slac-out1.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/slac-out1.json Tue Apr 20 10:31:50 2021 +0000
[
b'@@ -0,0 +1,2076 @@\n+{\n+ "MLE":{\n+   "content":{\n+     "0":{\n+       "by-branch":{\n+         "AVERAGED":          [\n+[131.3409038539508, 387.3032052553191, 18.83333333333334, 62.16666666666666, 0.2532389774551154, 0.1433927495601502, 0.1605116245440958, 0.009922319377965909, 0.3896479078188506, 0.7050801922163503, 0.190671339253091],\n+          [129.582341679606, 390.2657462377136, 20.16666666666666, 84.83333333333334, 0.2492696322088151, 0.1556282006118473, 0.2173732492568301, 0.03578822166983051, 0.1057124571474986, 0.9315947329811959, 0.2526189686412594],\n+          [133.5634277511288, 389.0892183853288, 9, 31, 0.255549127586847, 0.06738371537431539, 0.07967324339812369, 0.007123167975176309, 0.4078805639677862, 0.7273413969784412, 0.100661445687484],\n+          [136.3001744404261, 388.2752414674823, 20.66666666666666, 73.33333333333334, 0.2598295122247097, 0.1516261204471138, 0.1888694552250377, 0.02158671423873519, 0.2256328450945964, 0.8402434326037131, 0.2128981270938909],\n+          [133.8191805302023, 389.2442828476442, 23, 92, 0.2558373694580443, 0.1718737172718601, 0.2363554303917937, 0.03737442747928117, 0.1006659765808149, 0.9336498751512877, 0.270986057489719],\n+          [140.2315863698817, 396.7622548627548, 7.5, 18.5, 0.2611418895382275, 0.05348295768556476, 0.0466274192498462, -0.003973557954650256, 0.7090493474259939, 0.4503697460596697, 0.0674227399326417],\n+          [134.7817325168444, 392.4918226549124, 0, 3, 0.2556201258243265, 0, 0.007643471345994557, 0.004430253969516925, 0.4124619282373314, 1, 0.003845100000905624],\n+          [136.1184811420076, 397.1417020142569, 1, 0, 0.255257162341183, 0.007346540981137861, 0, -0.004258149323861931, 1, 0.255257162341183, 0.001710698008755675],\n+          [136.5467837843545, 396.817130340981, 6, 8, 0.2560105402111387, 0.04394098369593, 0.02016041997260975, -0.01378351956376455, 0.9568131059753749, 0.1225532921657104, 0.0261290773391622],\n+          [0, 0, 0, 0, null, null, null, null, 1, 1, 0],\n+          [136.6003799486803, 396.6078513587676, 0, 1, 0.2561858049597822, 0, 0.002521382258505542, 0.001461425477216891, 0.7438141950402177, 1, 0.001852173963769908],\n+          [136.9415154360939, 396.3923665097976, 4.5, 4.5, 0.2567650773216525, 0.03286074340326692, 0.01135238813911109, -0.01246651841466516, 0.9670681040365207, 0.116490042971819, 0.01816964082591924],\n+          [138.8593313638795, 397.772580198107, 9, 39, 0.2587608533374368, 0.06481379329427697, 0.09804597385917452, 0.01926179784012569, 0.1682548120106906, 0.905709700565171, 0.1081901197733327],\n+          [143.8068579584112, 396.4414008640307, 42.50000000000001, 70.5, 0.2661866199659049, 0.295535279772895, 0.1778320827399651, -0.06822228177164953, 0.9959804586708396, 0.007098480560500553, 0.28199060274564],\n+          [145.8733144714348, 394.7876057082412, 10, 23, 0.2698055454478885, 0.06855263442963876, 0.05825917447113987, -0.005966221338044341, 0.7401529271181795, 0.3966272436071658, 0.06785010407729926],\n+          [145.261732918168, 395.7720178098857, 21, 35, 0.2684892258989267, 0.1445666355352526, 0.08843475138460322, -0.03253475957690278, 0.9711633315400029, 0.05307382915791914, 0.1202934609265267] \n+          ],\n+         "NAMES":          [\n+["Pig"],\n+          ["Cow"],\n+          ["Node3"],\n+          ["Horse"],\n+          ["Cat"],\n+          ["Node2"],\n+          ["RhMonkey"],\n+          ["Baboon"],\n+          ["Node9"],\n+          ["Human"],\n+          ["Chimp"],\n+          ["Node12"],\n+          ["Node8"],\n+          ["Node1"],\n+          ["Rat"],\n+          ["Mouse"] \n+          ],\n+         "RESOLVED":          [\n+[131.3409038539508, 387.3032052553191, 18.83333333333334, 62.16666666666666, 0.2532389774551154, 0.1433927495601502, 0.1605116245440958, 0.009922319377965909, 0.3896479078188506, 0.7050801922163503, 0.190671339253091],\n+          [129.582341679606, 390.2657462377136, 20.16666666666666, 84.83333333333334, 0.2492696322088151, 0.1556282006118473, 0.2173732492568301, 0.035788221669'..b'0, 0, 0.1387249812240129, 0, 0, 0, 1, 1, 1.725289655759397],\n+      [0.6659596192381536, 2.256767693355746, 2.5, 6, 0.2284450217013008, 3.443359136114996, 2.639155331188279, -0.367350344747201, 0.7673619164483392, 0.5300792745888832, 1.725289655759397],\n+      [1, 2, 0, 1, 0.3333333333333333, 0, 0.4999999999999999, 0.2898064092199763, 0.6666666666666667, 1, 1.725289655759397],\n+      [0.459387925258634, 2.540612074741366, 1, 2, 0.1531293084195447, 2.176809500243183, 0.7872118769661439, -0.8054285949250646, 0.9368355759475115, 0.3926328355868177, 1.725289655759397],\n+      [0.68260572574677, 2.182710391950513, 0, 5.416666666666666, 0.238230511995077, 0, 2.477393204043783, 1.327736424808056, 0.2565180128752361, 1, 1.725289655759397],\n+      [0.6209312921230391, 2.230235398735714, 1, 2, 0.2177814766543932, 1.610484143230854, 0.8967663239197839, -0.4136799968217064, 0.8783719010971742, 0.5213872231511146, 1.725289655759397],\n+      [0.7803173801516352, 2.212772241130693, 1, 5, 0.2603123363353145, 1.31349237295003, 2.302026965721967, 0.5631982273065281, 0.5099524183271413, 0.8358889331635316, 1.725289655759397],\n+      [0.5250516553536253, 2.45302813924145, 1, 6, 0.1763054355717879, 1.930849168777699, 2.513667229467984, 0.5454049260406475, 0.5662130073449929, 0.777561508830334, 1.725289655759397],\n+      [0.203181127576837, 2.790309709539656, 1, 6, 0.06787431084056803, 4.92171695238688, 2.150298936167153, -1.606349407456378, 0.9230321845151072, 0.3886057635842186, 1.725289655759397],\n+      [0.7145233834068655, 2.170085079520931, 1, 3, 0.2477020339466259, 1.399534323470248, 1.382434277951112, -0.00991140557879785, 0.7421530662286839, 0.6796980736658556, 1.725289655759397],\n+      [0.8025307113169092, 2.197469288683092, 1, 6, 0.2675102371056363, 1.246058232910557, 2.730413585709635, 0.860351389602304, 0.4023716041625731, 0.8868613698058293, 1.725289655759397],\n+      [0.886960160336796, 2.113039839663204, 1, 4, 0.295653386778932, 1.127446355223306, 1.867415205641442, 0.4068397961730323, 0.5572071130808076, 0.8144379212000086, 1.725289655759397],\n+      [0.5840734718676881, 2.415926528132312, 2.5, 5.5, 0.1946911572892293, 4.175355120340121, 2.27655929762562, -0.9098022780654729, 0.8340495404636969, 0.3957525961476541, 1.725289655759397],\n+      [0.5268550139960962, 2.205618688973626, 0, 0, 0.1928124737023075, 0, 0, 0, 1, 1, 1.725289655759397],\n+      [1, 1.954150177116668, 1, 3, 0.3385068260057204, 0.9999999999999998, 1.535194190871489, 0.3102054133837139, 0.5833958240116991, 0.8085296778030449, 1.725289655759397],\n+      [0.7013114701420603, 2.186058834646364, 0, 2, 0.2428893408576666, 0, 0.9148884596802435, 0.530281078673453, 0.5732165501869386, 1, 1.725289655759397],\n+      [0.6103766338418385, 2.230395005807139, 1, 2, 0.2148629707938298, 1.638332702393587, 0.8967021513197104, -0.4298585739491048, 0.8813404805118064, 0.5160100083098675, 1.725289655759397],\n+      [1, 2, 0, 0, 0.3333333333333333, 0, 0, 0, 1, 1, 1.725289655759397],\n+      [1.416174943672039, 1.583825056327961, 0, 0, 0.4720583145573463, 0, 0, 0, 1, 1, 1.725289655759397],\n+      [0.566048512190645, 2.41804757094315, 2, 3, 0.1896884337572, 3.533266066295039, 1.240670380537576, -1.333516642795554, 0.9504034442939914, 0.2397204872545077, 1.725289655759397] \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+     "Node12":"test",\n+     "Node2":"test",\n+     "Node3":"test",\n+     "Node8":"test",\n+     "Node9":"test",\n+     "Pig":"test",\n+     "Rat":"test",\n+     "RhMonkey":"test"\n+    }\n+  },\n+ "timers":{\n+   "Ancestor sampling analysis":{\n+     "order":3,\n+     "timer":12\n+    },\n+   "Model fitting":{\n+     "order":1,\n+     "timer":1\n+    },\n+   "Primary SLAC analysis":{\n+     "order":2,\n+     "timer":1\n+    },\n+   "Total time":{\n+     "order":0,\n+     "timer":14\n+    }\n+  }\n+}\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r 9ce3d6d4bd0e test-data/sm19-in1.nhx
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/sm19-in1.nhx Tue Apr 20 10:31:50 2021 +0000
[
@@ -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 9ce3d6d4bd0e test-data/sm19-in2.nhx
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/sm19-in2.nhx Tue Apr 20 10:31:50 2021 +0000
[
@@ -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 9ce3d6d4bd0e test-data/sm19-out1.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/sm19-out1.json Tue Apr 20 10:31:50 2021 +0000
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 9ce3d6d4bd0e test-data/sm19-out2.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/sm19-out2.json Tue Apr 20 10:31:50 2021 +0000
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'
b
diff -r 000000000000 -r 9ce3d6d4bd0e test-data/strike-ambigs-in1.fa
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/strike-ambigs-in1.fa Tue Apr 20 10:31:50 2021 +0000
b
b'@@ -0,0 +1,260 @@\n+>NC_045512.2:21563-25384\n+ATGTTTGTTTTTCTTGTTTTATTGCCACTAGTCTCTAGTCAGTGTGTTAATCTTACAACC\n+AGAACTCAATTACCCCCTGCATACACTAATTCTTTCACACGTGGTGTTTATTACCCTGAC\n+AAAGTTTTCAGATCCTCAGTTTTACATTCAACTCAGGACTTGTTCTTACCTTTCTTTTCC\n+AATGTTACTTGGTTCCATGCTATACATGTCTCTGGGACCAATGGTACTAAGAGGTTTGAT\n+AACCCTGTCCTACCATTTAATGATGGTGTTTATTTTGCTTCCACTGAGAAGTCTAACATA\n+ATAAGAGGCTGGATTTTTGGTACTACTTTAGATTCGAAGACCCAGTCCCTACTTATTGTT\n+AATAACGCTACTAATGTTGTTATTAAAGTCTGTGAATTTCAATTTTGTAATGATCCATTT\n+TTGGGTGTTTATTACCACAAAAACAACAAAAGTTGGATGGAAAGTGAGTTCAGAGTTTAT\n+TCTAGTGCGAATAATTGCACTTTTGAATATGTCTCTCAGCCTTTTCTTATGGACCTTGAA\n+GGAAAACAGGGTAATTTCAAAAATCTTAGGGAATTTGTGTTTAAGAATATTGATGGTTAT\n+TTTAAAATATATTCTAAGCACACGCCTATTAATTTAGTGCGTGATCTCCCTCAGGGTTTT\n+TCGGCTTTAGAACCATTGGTAGATTTGCCAATAGGTATTAACATCACTAGGTTTCAAACT\n+TTACTTGCTTTACATAGAAGTTATTTGACTCCTGGTGATTCTTCTTCAGGTTGGACAGCT\n+GGTGCTGCAGCTTATTATGTGGGTTATCTTCAACCTAGGACTTTTCTATTAAAATATAAT\n+GAAAATGGAACCATTACAGATGCTGTAGACTGTGCACTTGACCCTCTCTCAGAAACAAAG\n+TGTACGTTGAAATCCTTCACTGTAGAAAAAGGAATCTATCAAACTTCTAACTTTAGAGTC\n+CAACCAACAGAATCTATTGTTAGATTTCCTAATATTACAAACTTGTGCCCTTTTGGTGAA\n+GTTTTTAACGCCACCAGATTTGCATCTGTTTATGCTTGGAACAGGAAGAGAATCAGCAAC\n+TGTGTTGCTGATTATTCTGTCCTATATAATTCCGCATCATTTTCCACTTTTAAGTGTTAT\n+GGAGTGTCTCCTACTAAATTAAATGATCTCTGCTTTACTAATGTCTATGCAGATTCATTT\n+GTAATTAGAGGTGATGAAGTCAGACAAATCGCTCCAGGGCAAACTGGAAAGATTGCTGAT\n+TATAATTATAAATTACCAGATGATTTTACAGGCTGCGTTATAGCTTGGAATTCTAACAAT\n+CTTGATTCTAAGGTTGGTGGTAATTATAATTACCTGTATAGATTGTTTAGGAAGTCTAAT\n+CTCAAACCTTTTGAGAGAGATATTTCAACTGAAATCTATCAGGCCGGTAGCACACCTTGT\n+AATGGTGTTGAAGGTTTTAATTGTTACTTTCCTTTACAATCATATGGTTTCCAACCCACT\n+AATGGTGTTGGTTACCAACCATACAGAGTAGTAGTACTTTCTTTTGAACTTCTACATGCA\n+CCAGCAACTGTTTGTGGACCTAAAAAGTCTACTAATTTGGTTAAAAACAAATGTGTCAAT\n+TTCAACTTCAATGGTTTAACAGGCACAGGTGTTCTTACTGAGTCTAACAAAAAGTTTCTG\n+CCTTTCCAACAATTTGGCAGAGACATTGCTGACACTACTGATGCTGTCCGTGATCCACAG\n+ACACTTGAGATTCTTGACATTACACCATGTTCTTTTGGTGGTGTCAGTGTTATAACACCA\n+GGAACAAATACTTCTAACCAGGTTGCTGTTCTTTATCAGGATGTTAACTGCACAGAAGTC\n+CCTGTTGCTATTCATGCAGATCAACTTACTCCTACTTGGCGTGTTTATTCTACAGGTTCT\n+AATGTTTTTCAAACACGTGCAGGCTGTTTAATAGGGGCTGAACATGTCAACAACTCATAT\n+GAGTGTGACATACCCATTGGTGCAGGTATATGCGCTAGTTATCAGACTCAGACTAATTCT\n+CCTCGGCGGGCACGTAGTGTAGCTAGTCAATCCATCATTGCCTACACTATGTCACTTGGT\n+GCAGAAAATTCAGTTGCTTACTCTAATAACTCTATTGCCATACCCACAAATTTTACTATT\n+AGTGTTACCACAGAAATTCTACCAGTGTCTATGACCAAGACATCAGTAGATTGTACAATG\n+TACATTTGTGGTGATTCAACTGAATGCAGCAATCTTTTGTTGCAATATGGCAGTTTTTGT\n+ACACAATTAAACCGTGCTTTAACTGGAATAGCTGTTGAACAAGACAAAAACACCCAAGAA\n+GTTTTTGCACAAGTCAAACAAATTTACAAAACACCACCAATTAAAGATTTTGGTGGTTTT\n+AATTTTTCACAAATATTACCAGATCCATCAAAACCAAGCAAGAGGTCATTTATTGAAGAT\n+CTACTTTTCAACAAAGTGACACTTGCAGATGCTGGCTTCATCAAACAATATGGTGATTGC\n+CTTGGTGATATTGCTGCTAGAGACCTCATTTGTGCACAAAAGTTTAACGGCCTTACTGTT\n+TTGCCACCTTTGCTCACAGATGAAATGATTGCTCAATACACTTCTGCACTGTTAGCGGGT\n+ACAATCACTTCTGGTTGGACCTTTGGTGCAGGTGCTGCATTACAAATACCATTTGCTATG\n+CAAATGGCTTATAGGTTTAATGGTATTGGAGTTACACAGAATGTTCTCTATGAGAACCAA\n+AAATTGATTGCCAACCAATTTAATAGTGCTATTGGCAAAATTCAAGACTCACTTTCTTCC\n+ACAGCAAGTGCACTTGGAAAACTTCAAGATGTGGTCAACCAAAATGCACAAGCTTTAAAC\n+ACGCTTGTTAAACAACTTAGCTCCAATTTTGGTGCAATTTCAAGTGTTTTAAATGATATC\n+CTTTCACGTCTTGACAAAGTTGAGGCTGAAGTGCAAATTGATAGGTTGATCACAGGCAGA\n+CTTCAAAGTTTGCAGACATATGTGACTCAACAATTAATTAGAGCTGCAGAAATCAGAGCT\n+TCTGCTAATCTTGCTGCTACTAAAATGTCAGAGTGTGTACTTGGACAATCAAAAAGAGTT\n+GATTTTTGTGGAAAGGGCTATCATCTTATGTCCTTCCCTCAGTCAGCACCTCATGGTGTA\n+GTCTTCTTGCATGTGACTTATGTCCCTGCACAAGAAAAGAACTTCACAACTGCTCCTGCC\n+ATTTGTCATGATGGAAAAGCACACTTTCCTCGTGAAGGTGTCTTTGTTTCAAATGGCACA\n+CACTGGTTTGTAACACAAAGGAATTTTTATGAACCACAAATCATTACTACAGACAACACA\n+TTTGTGTCTGGTAACTGTGATGTTGTAATAGGAATTGTCAACAACACAGTTTATGATCCT\n+TTGCAACCTGAATTAGACTCATTCAAGGAGGAGTTAGATAAATATTTTAAGAATCATACA\n+TCACCAGATGTTGATTTAGGTGACATCTCTGGCATTAATGCTTCAGTTGTAAACATTCAA\n+AAAGAAATTGACCGCCTCAATGAGGTTGCCAAGAATTTAAATGAATCTCTCATCGATCTC\n+CAAGAACTTGGAAAGTATGAGCAGTATATAAAATGGCCATGGTACATTTGGCTAGGTTTT\n+ATAGCTGGCTTGATTGCCATAGTAATGGTGACAATTATGCTTTGCTGTATGACCAGTTGC\n+TGTAGTTGTCTCAAGGGCTGTTGTTCTTGTGGATCCTGCTGCAAATTTGATGAAGACGAC\n+TCTGAGCCAGTGCTCAAAGGAGTCAAATTACATTACACA\n+>epi_is'..b'sl_1041403/hCoV-19/USA/NY-PRL-2021_02_08_05H08/2021\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+------------------------------------------------------------\n+--------------------------------------A\n'
b
diff -r 000000000000 -r 9ce3d6d4bd0e test-data/strike-ambigs-in2.fa
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/strike-ambigs-in2.fa Tue Apr 20 10:31:50 2021 +0000
b
b'@@ -0,0 +1,455 @@\n+>NC_045512.2:21563-25384\n+ATGTTTGTTTTTCTTGTTTTATTGCCACTAGTCTCTAGTCAGTGTGTTAATCTTACAACC\n+AGAACTCAATTACCCCCTGCATACACTAATTCTTTCACACGTGGTGTTTATTACCCTGAC\n+AAAGTTTTCAGATCCTCAGTTTTACATTCAACTCAGGACTTGTTCTTACCTTTCTTTTCC\n+AATGTTACTTGGTTCCATGCTATACATGTCTCTGGGACCAATGGTACTAAGAGGTTTGAT\n+AACCCTGTCCTACCATTTAATGATGGTGTTTATTTTGCTTCCACTGAGAAGTCTAACATA\n+ATAAGAGGCTGGATTTTTGGTACTACTTTAGATTCGAAGACCCAGTCCCTACTTATTGTT\n+AATAACGCTACTAATGTTGTTATTAAAGTCTGTGAATTTCAATTTTGTAATGATCCATTT\n+TTGGGTGTTTATTACCACAAAAACAACAAAAGTTGGATGGAAAGTGAGTTCAGAGTTTAT\n+TCTAGTGCGAATAATTGCACTTTTGAATATGTCTCTCAGCCTTTTCTTATGGACCTTGAA\n+GGAAAACAGGGTAATTTCAAAAATCTTAGGGAATTTGTGTTTAAGAATATTGATGGTTAT\n+TTTAAAATATATTCTAAGCACACGCCTATTAATTTAGTGCGTGATCTCCCTCAGGGTTTT\n+TCGGCTTTAGAACCATTGGTAGATTTGCCAATAGGTATTAACATCACTAGGTTTCAAACT\n+TTACTTGCTTTACATAGAAGTTATTTGACTCCTGGTGATTCTTCTTCAGGTTGGACAGCT\n+GGTGCTGCAGCTTATTATGTGGGTTATCTTCAACCTAGGACTTTTCTATTAAAATATAAT\n+GAAAATGGAACCATTACAGATGCTGTAGACTGTGCACTTGACCCTCTCTCAGAAACAAAG\n+TGTACGTTGAAATCCTTCACTGTAGAAAAAGGAATCTATCAAACTTCTAACTTTAGAGTC\n+CAACCAACAGAATCTATTGTTAGATTTCCTAATATTACAAACTTGTGCCCTTTTGGTGAA\n+GTTTTTAACGCCACCAGATTTGCATCTGTTTATGCTTGGAACAGGAAGAGAATCAGCAAC\n+TGTGTTGCTGATTATTCTGTCCTATATAATTCCGCATCATTTTCCACTTTTAAGTGTTAT\n+GGAGTGTCTCCTACTAAATTAAATGATCTCTGCTTTACTAATGTCTATGCAGATTCATTT\n+GTAATTAGAGGTGATGAAGTCAGACAAATCGCTCCAGGGCAAACTGGAAAGATTGCTGAT\n+TATAATTATAAATTACCAGATGATTTTACAGGCTGCGTTATAGCTTGGAATTCTAACAAT\n+CTTGATTCTAAGGTTGGTGGTAATTATAATTACCTGTATAGATTGTTTAGGAAGTCTAAT\n+CTCAAACCTTTTGAGAGAGATATTTCAACTGAAATCTATCAGGCCGGTAGCACACCTTGT\n+AATGGTGTTGAAGGTTTTAATTGTTACTTTCCTTTACAATCATATGGTTTCCAACCCACT\n+AATGGTGTTGGTTACCAACCATACAGAGTAGTAGTACTTTCTTTTGAACTTCTACATGCA\n+CCAGCAACTGTTTGTGGACCTAAAAAGTCTACTAATTTGGTTAAAAACAAATGTGTCAAT\n+TTCAACTTCAATGGTTTAACAGGCACAGGTGTTCTTACTGAGTCTAACAAAAAGTTTCTG\n+CCTTTCCAACAATTTGGCAGAGACATTGCTGACACTACTGATGCTGTCCGTGATCCACAG\n+ACACTTGAGATTCTTGACATTACACCATGTTCTTTTGGTGGTGTCAGTGTTATAACACCA\n+GGAACAAATACTTCTAACCAGGTTGCTGTTCTTTATCAGGATGTTAACTGCACAGAAGTC\n+CCTGTTGCTATTCATGCAGATCAACTTACTCCTACTTGGCGTGTTTATTCTACAGGTTCT\n+AATGTTTTTCAAACACGTGCAGGCTGTTTAATAGGGGCTGAACATGTCAACAACTCATAT\n+GAGTGTGACATACCCATTGGTGCAGGTATATGCGCTAGTTATCAGACTCAGACTAATTCT\n+CCTCGGCGGGCACGTAGTGTAGCTAGTCAATCCATCATTGCCTACACTATGTCACTTGGT\n+GCAGAAAATTCAGTTGCTTACTCTAATAACTCTATTGCCATACCCACAAATTTTACTATT\n+AGTGTTACCACAGAAATTCTACCAGTGTCTATGACCAAGACATCAGTAGATTGTACAATG\n+TACATTTGTGGTGATTCAACTGAATGCAGCAATCTTTTGTTGCAATATGGCAGTTTTTGT\n+ACACAATTAAACCGTGCTTTAACTGGAATAGCTGTTGAACAAGACAAAAACACCCAAGAA\n+GTTTTTGCACAAGTCAAACAAATTTACAAAACACCACCAATTAAAGATTTTGGTGGTTTT\n+AATTTTTCACAAATATTACCAGATCCATCAAAACCAAGCAAGAGGTCATTTATTGAAGAT\n+CTACTTTTCAACAAAGTGACACTTGCAGATGCTGGCTTCATCAAACAATATGGTGATTGC\n+CTTGGTGATATTGCTGCTAGAGACCTCATTTGTGCACAAAAGTTTAACGGCCTTACTGTT\n+TTGCCACCTTTGCTCACAGATGAAATGATTGCTCAATACACTTCTGCACTGTTAGCGGGT\n+ACAATCACTTCTGGTTGGACCTTTGGTGCAGGTGCTGCATTACAAATACCATTTGCTATG\n+CAAATGGCTTATAGGTTTAATGGTATTGGAGTTACACAGAATGTTCTCTATGAGAACCAA\n+AAATTGATTGCCAACCAATTTAATAGTGCTATTGGCAAAATTCAAGACTCACTTTCTTCC\n+ACAGCAAGTGCACTTGGAAAACTTCAAGATGTGGTCAACCAAAATGCACAAGCTTTAAAC\n+ACGCTTGTTAAACAACTTAGCTCCAATTTTGGTGCAATTTCAAGTGTTTTAAATGATATC\n+CTTTCACGTCTTGACAAAGTTGAGGCTGAAGTGCAAATTGATAGGTTGATCACAGGCAGA\n+CTTCAAAGTTTGCAGACATATGTGACTCAACAATTAATTAGAGCTGCAGAAATCAGAGCT\n+TCTGCTAATCTTGCTGCTACTAAAATGTCAGAGTGTGTACTTGGACAATCAAAAAGAGTT\n+GATTTTTGTGGAAAGGGCTATCATCTTATGTCCTTCCCTCAGTCAGCACCTCATGGTGTA\n+GTCTTCTTGCATGTGACTTATGTCCCTGCACAAGAAAAGAACTTCACAACTGCTCCTGCC\n+ATTTGTCATGATGGAAAAGCACACTTTCCTCGTGAAGGTGTCTTTGTTTCAAATGGCACA\n+CACTGGTTTGTAACACAAAGGAATTTTTATGAACCACAAATCATTACTACAGACAACACA\n+TTTGTGTCTGGTAACTGTGATGTTGTAATAGGAATTGTCAACAACACAGTTTATGATCCT\n+TTGCAACCTGAATTAGACTCATTCAAGGAGGAGTTAGATAAATATTTTAAGAATCATACA\n+TCACCAGATGTTGATTTAGGTGACATCTCTGGCATTAATGCTTCAGTTGTAAACATTCAA\n+AAAGAAATTGACCGCCTCAATGAGGTTGCCAAGAATTTAAATGAATCTCTCATCGATCTC\n+CAAGAACTTGGAAAGTATGAGCAGTATATAAAATGGCCATGGTACATTTGGCTAGGTTTT\n+ATAGCTGGCTTGATTGCCATAGTAATGGTGACAATTATGCTTTGCTGTATGACCAGTTGC\n+TGTAGTTGTCTCAAGGGCTGTTGTTCTTGTGGATCCTGCTGCAAATTTGATGAAGACGAC\n+TCTGAGCCAGTGCTCAAAGGAGTCAAATTACATTACACA\n+>gb_MW5'..b'_CoV_2_human_USA_CA_CDC_STM_220_2020_Segment_null_1\n+ATGTTAGTTTTTCTTGTTTTATTGCCACTAGTCTCTAGTCAGTGTGTTAATCTTACAACC\n+AGAACTCAATTACCCCCTGCATACACTAATTCTTTCACACGTGGTGTTTATTACCCTGAC\n+AAAGTTTTCAGATCCTCAGTTTTACATTCAACTCAGGACTTGTTCTTACCTTTCTTTTCC\n+AATGTTACTTTGTTCCATGCTATACATGTCTCTGGGACCAATGGTACTAAGAGGTTTGAT\n+AACCCTGTCCTACCATTTAATGATGGTGTTTATTTTGCTTCCACTGAGAAGTCTAACATA\n+ATAAGAGGCTGGATTTTTGGTACTACTTTAGATTCGAAGACCCAGTCCCTACTTATTGTT\n+AATAACGCTACTAATGTTGTTATTAAAGTCTGTGAATTTCAATTTTGTAATCATCCATTT\n+TTGGGTGTTTATTACCACAAAAACAACAAAAGTTGGATGGAAAGTGAGTTCAGAGTTTAT\n+TCTAGTGCGAATAATTGCACTTTTGAATATGTCTCTCAGCCTTTTCTTATGGACCTTGAA\n+GGAAAACAGGGTAATTTCAAAAATCTTAGGGAATTTGTGTTTAAGAATATTGATGGTTAT\n+TTTAAAATATATTCTAAGCACACGCCTATTAATTTAGTGCGTGATCTCCCTCAGGGTTTT\n+TCGGCTTTAGAACCATTGGTAGATTTGCCAATAGGTATTAACATCACTAGGTTTCAAACT\n+TTACTTGCTTTACATAGAAGTTATTTGACTCCTGGTGATTCTTCTTCAGGTTGGACAGCT\n+GGTGCTGCAGCTTATTATGTGGGTTATCTTCAACCTAGGACTTTTCTATTAAAATATAAT\n+GAAAATGGAACCATTACAGATGCTGTAGACTGTGCACTTGACCCTCTCTCAGAAACAAAG\n+TGTACGTTGAAATCCTTCACTGTAGAAAAAGGAATCTATCAAACTTCTAACTTTAGAGTC\n+CAACCAACAGAATCTATTGTTAGATTTCCTAATATTACAAACTTGTGCCCTTTTGGTGAA\n+GTTTTTAACGCCACCAGATTTGCATCTGTTTATGCTTGGAACAGGAAGAGAATCAGCAAC\n+TGTGTTGCTGATTATTCTGTCCTATATAATTCCGCATCATTTTCCACTTTTAAGTGTTAT\n+GGAGTGTCTCCTACTAAATTAAATGATCTCTGCTTTACTAATGTCTATGCAGATTCATTT\n+GTAATTAGAGGTGATGAAGTCAGACAAATCGCTCCAGGGCAAACTGGAAAGATTGCTGAT\n+TATAATTATAAATTACCAGATGATTTTACAGGCTGCGTTATAGCTTGGAATTCTAACAAT\n+CTTGATTCTAAGGTTGGTGGTAATTATAATTACCTGTATAGATTGTTTAGGAAGTCTAAT\n+CTCAAACCTTTTGAGAGAGATATTTCAACTGAAATCTATCAGGCCGGTAGCACACCTTGT\n+AATGGTGTTGAAGGTTTTAATTGTTACTTTCCTTTACAATCATATGGTTTCCAACCCACT\n+AATGGTGTTGGTTACCAACCATACAGAGTAGTAGTACTTTCTTTTGAACTTCTACATGCA\n+CCAGCAACTGTTTGTGGACCTAAAAAGTCTACTAATTTGGTTAAAAACAAATGTGTCAAT\n+TTCAACTTTAATGGTTTAACAGGCACAGGTGTTCTTACTGAGTCTAACAAAAAGTTTCTG\n+CCTTTCCAACAATTTGGCAGAGACATTGCTGACACTACTGATGCTGTCCGTGATCCACAG\n+ACACTTGAGATTCTTGACATTACACCATGTTCTTTTGGTGGTGTCAGTGTTATAACACCA\n+GGAACAAATACTTCTAACCAGGTTGCTGTTCTTTATCAGGGTGTTAACTGCACAGAAGTC\n+CCTGTTGCTATTCATGCAGATCAACTTACTCCTACTTGGCGTGTTTATTCTACAGGTTCT\n+AATGTTTTTCAAACACGTGCAGGCTGTTTAATAGGGGCTGAACATGTCAACAACTCATAT\n+GAGTGTGACATACCCATTGGTGCAGGTATATGCGCTAGTTATCAGACTCAGACTAATTCT\n+CCTCGGCGGGCACGTAGTGTAGCTAGTCAATCCATCATTGCCTACACTATGTCACTTGGT\n+GCAGAAAATTCAGTTGCTTACTCTAATAACTCTATTGCCATACCCACAAATTTTACTATT\n+AGTGTTACCACAGAAATTCTACCAGTGTCTATGACCAAGACATCAGTAGATTGTACAATG\n+TACATTTGTGGTGATTCAACTGAATGCAGCAATCTTTTGTTGCAATATGGCAGTTTTTGT\n+ACACAATTAAACCGTGCTTTAACTGGAATAGCTGTTGAACAAGACAAAAACACCCAAGAA\n+GTTTTTGCACAAGTCAAACAAATTTACAAAACACCACCAATTAAAGATTTTGGTGGTTTT\n+AATTTTTCACAAATATTACCAGATCCATCAAAACCAAGCAAGAGGTCATTTATTGAAGAT\n+CTACTTTTCAACAAAGTGACACTTGCAGATGCTGGCTTCATCAAACAATATGGTGATTGC\n+CTTGGTGATATTGCTGCTAGAGACCTCATTTGTGCACAAAAGTTTAACGGCCTTACTGTT\n+TTGCCACCTTTGCTCACAGATGAAATGATTGCTCAATACACTTCTGCACTGTTAGCGGGT\n+ACAATCACTTCTGGTTGGACCTTTGGTGCAGGTGCTGCATTACAAATACCATTTGCTATG\n+CAAATGGCTTATAGGTTTAATGGTATTGGAGTTACACAGAATGTTCTCTATGAGAACCAA\n+AAATTGATTGCCAACCAATTTAATAGTGCTATTGGCAAAATTCAAGACTCACTTTCTTCC\n+ACAGCAAGTGCACTTGGAAAACTTCAAGATGTGGTCAACCAAAATGCACAAGCTTTAAAC\n+ACGCTTGTTAAACAACTTAGCTCCAATTTTGGTGCAATTTCAAGTGTTTTAAATGATATC\n+CTTTCACGTCTTGACAAAGTTGAGGCTGAAGTGCAAATTGATAGGTTGATCACAGGCAGA\n+CTTCAAAGTTTGCAGACATATGTGACTCAACAATTAATTAGAGCTGCAGAAATCAGAGCT\n+TCTGCTAATCTTGCTGCTACTAAAATGTCAGAGTGTGTACTTGGACAATCAAAAAGAGTT\n+GATTTTTGTGGAAAGGGCTATCATCTTATGTCCTTCCCTCAGTCAGCACCTCATGGTGTA\n+GTCTTCTTGCATGTGACTTATGTCCCTGCACAAGAAAAGAACTTCACAACTGCTCCTGCC\n+ATTTGTCATGATGGAAAAGCACACTTTCCTCGTGAAGGTGTCTTTGTTTCAAATGGCACA\n+CACTGGTTTGTAACACAAAGGAATTTTTATGAACCACAAATCATTACTACAGACAACACA\n+TTTGTGTCTGGTAACTGTGATGTTGTAATAGGAATTGTCAACAACACAGTTTATGATCCT\n+TTGCAACCTGAATTAGACTCATTCAAGGAGGAGTTAGATAAATATTTTAAGAATCATACA\n+TCACCAGATGTTGATTTAGGTGACATCTCTGGCATTAATGCTTCAGTTGTAAACATTCAA\n+AAAGAAATTGACCGCCTCAATGAGGTTGCCAAGAATTTAAATGAATCTCTCATCGATCTC\n+CAAGAACTTGGAAAGTATGAGCAGTATATAAAATGGCCATGGTACATTTGGCTAGGTTTT\n+ATAGCTGGCTTGATTGCCATAGTAATGGTGACAATTATGCTTTGCTGTATGACCAGTTGC\n+TGTAGTTGTCTCAAGGGCTGTTGTTCTTGTGGATCCTGCTGCAAATTTGATGAAGACGAC\n+TCTGAGCCAGTGCTCAAAGGAGTCAAATTACATTACACA\n'
b
diff -r 000000000000 -r 9ce3d6d4bd0e test-data/strike-ambigs-out1.fa
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/strike-ambigs-out1.fa Tue Apr 20 10:31:50 2021 +0000
b
b'@@ -0,0 +1,8 @@\n+>NC_045512.2:21563-25384\n+ATGTTTGTTTTTCTTGTTTTATTGCCACTAGTCTCTAGTCAGTGTGTTAATCTTACAACCAGAACTCAATTACCCCCTGCATACACTAATTCTTTCACACGTGGTGTTTATTACCCTGACAAAGTTTTCAGATCCTCAGTTTTACATTCAACTCAGGACTTGTTCTTACCTTTCTTTTCCAATGTTACTTGGTTCCATGCTATACATGTCTCTGGGACCAATGGTACTAAGAGGTTTGATAACCCTGTCCTACCATTTAATGATGGTGTTTATTTTGCTTCCACTGAGAAGTCTAACATAATAAGAGGCTGGATTTTTGGTACTACTTTAGATTCGAAGACCCAGTCCCTACTTATTGTTAATAACGCTACTAATGTTGTTATTAAAGTCTGTGAATTTCAATTTTGTAATGATCCATTTTTGGGTGTTTATTACCACAAAAACAACAAAAGTTGGATGGAAAGTGAGTTCAGAGTTTATTCTAGTGCGAATAATTGCACTTTTGAATATGTCTCTCAGCCTTTTCTTATGGACCTTGAAGGAAAACAGGGTAATTTCAAAAATCTTAGGGAATTTGTGTTTAAGAATATTGATGGTTATTTTAAAATATATTCTAAGCACACGCCTATTAATTTAGTGCGTGATCTCCCTCAGGGTTTTTCGGCTTTAGAACCATTGGTAGATTTGCCAATAGGTATTAACATCACTAGGTTTCAAACTTTACTTGCTTTACATAGAAGTTATTTGACTCCTGGTGATTCTTCTTCAGGTTGGACAGCTGGTGCTGCAGCTTATTATGTGGGTTATCTTCAACCTAGGACTTTTCTATTAAAATATAATGAAAATGGAACCATTACAGATGCTGTAGACTGTGCACTTGACCCTCTCTCAGAAACAAAGTGTACGTTGAAATCCTTCACTGTAGAAAAAGGAATCTATCAAACTTCTAACTTTAGAGTCCAACCAACAGAATCTATTGTTAGATTTCCTAATATTACAAACTTGTGCCCTTTTGGTGAAGTTTTTAACGCCACCAGATTTGCATCTGTTTATGCTTGGAACAGGAAGAGAATCAGCAACTGTGTTGCTGATTATTCTGTCCTATATAATTCCGCATCATTTTCCACTTTTAAGTGTTATGGAGTGTCTCCTACTAAATTAAATGATCTCTGCTTTACTAATGTCTATGCAGATTCATTTGTAATTAGAGGTGATGAAGTCAGACAAATCGCTCCAGGGCAAACTGGAAAGATTGCTGATTATAATTATAAATTACCAGATGATTTTACAGGCTGCGTTATAGCTTGGAATTCTAACAATCTTGATTCTAAGGTTGGTGGTAATTATAATTACCTGTATAGATTGTTTAGGAAGTCTAATCTCAAACCTTTTGAGAGAGATATTTCAACTGAAATCTATCAGGCCGGTAGCACACCTTGTAATGGTGTTGAAGGTTTTAATTGTTACTTTCCTTTACAATCATATGGTTTCCAACCCACTAATGGTGTTGGTTACCAACCATACAGAGTAGTAGTACTTTCTTTTGAACTTCTACATGCACCAGCAACTGTTTGTGGACCTAAAAAGTCTACTAATTTGGTTAAAAACAAATGTGTCAATTTCAACTTCAATGGTTTAACAGGCACAGGTGTTCTTACTGAGTCTAACAAAAAGTTTCTGCCTTTCCAACAATTTGGCAGAGACATTGCTGACACTACTGATGCTGTCCGTGATCCACAGACACTTGAGATTCTTGACATTACACCATGTTCTTTTGGTGGTGTCAGTGTTATAACACCAGGAACAAATACTTCTAACCAGGTTGCTGTTCTTTATCAGGATGTTAACTGCACAGAAGTCCCTGTTGCTATTCATGCAGATCAACTTACTCCTACTTGGCGTGTTTATTCTACAGGTTCTAATGTTTTTCAAACACGTGCAGGCTGTTTAATAGGGGCTGAACATGTCAACAACTCATATGAGTGTGACATACCCATTGGTGCAGGTATATGCGCTAGTTATCAGACTCAGACTAATTCTCCTCGGCGGGCACGTAGTGTAGCTAGTCAATCCATCATTGCCTACACTATGTCACTTGGTGCAGAAAATTCAGTTGCTTACTCTAATAACTCTATTGCCATACCCACAAATTTTACTATTAGTGTTACCACAGAAATTCTACCAGTGTCTATGACCAAGACATCAGTAGATTGTACAATGTACATTTGTGGTGATTCAACTGAATGCAGCAATCTTTTGTTGCAATATGGCAGTTTTTGTACACAATTAAACCGTGCTTTAACTGGAATAGCTGTTGAACAAGACAAAAACACCCAAGAAGTTTTTGCACAAGTCAAACAAATTTACAAAACACCACCAATTAAAGATTTTGGTGGTTTTAATTTTTCACAAATATTACCAGATCCATCAAAACCAAGCAAGAGGTCATTTATTGAAGATCTACTTTTCAACAAAGTGACACTTGCAGATGCTGGCTTCATCAAACAATATGGTGATTGCCTTGGTGATATTGCTGCTAGAGACCTCATTTGTGCACAAAAGTTTAACGGCCTTACTGTTTTGCCACCTTTGCTCACAGATGAAATGATTGCTCAATACACTTCTGCACTGTTAGCGGGTACAATCACTTCTGGTTGGACCTTTGGTGCAGGTGCTGCATTACAAATACCATTTGCTATGCAAATGGCTTATAGGTTTAATGGTATTGGAGTTACACAGAATGTTCTCTATGAGAACCAAAAATTGATTGCCAACCAATTTAATAGTGCTATTGGCAAAATTCAAGACTCACTTTCTTCCACAGCAAGTGCACTTGGAAAACTTCAAGATGTGGTCAACCAAAATGCACAAGCTTTAAACACGCTTGTTAAACAACTTAGCTCCAATTTTGGTGCAATTTCAAGTGTTTTAAATGATATCCTTTCACGTCTTGACAAAGTTGAGGCTGAAGTGCAAATTGATAGGTTGATCACAGGCAGACTTCAAAGTTTGCAGACATATGTGACTCAACAATTAATTAGAGCTGCAGAAATCAGAGCTTCTGCTAATCTTGCTGCTACTAAAATGTCAGAGTGTGTACTTGGACAATCAAAAAGAGTTGATTTTTGTGGAAAGGGCTATCATCTTATGTCCTTCCCTCAGTCAGCACCTCATGGTGTAGTCTTCTTGCATGTGACTTATGTCCCTGCACAAGAAAAGAACTTCACAACTGCTCCTGCCATTTGTCATGATGGAAAAGCACACTTTCCTCGTGAAGGTGTCTTTGTTTCAAATGGCACACACTGGTTTGTAACACAAAGGAATTTTTATGAACCACAAATCATTACTACAGACAACACATTTGTGTCTGGTAACTGTGATGTTGTAATAGGAATTGTCAACAACACAGTTTATGATCCTTTGCAACCTGAATTAGACTCATTCAAGGAGGAGTTAGATAAATATTTTAAGAATCATACATCACCAGATGTTGATTTAGGTGACATCTCTGGCATTAATGCTTCAGTTGTAAACATTCAAAAAGAAATTGACCGCCTCAATGAGGTTGCCAAGAATTTAAATGAATCTCTCATCGATCTCCAAGAACTTGGAAAGTATGAGCAGTATATAAAATGGCCATGGTACATTTGGCTAGGTTTTATAGCTGGCTTGATTGCCATAGTAATGGTGACAATTATGCTTTGCTGTATGACCAGTTGCTGTAGTTGTCTCAAGGGCTGTTGTTCTTGTGGATCCTGCTGCAAATTTGATGAAGACGACTCTGAGCCAGTGCTCAAAGGAGTCAAATTACATTACACA\n+>epi_isl_1041406/hCoV-19/USA/NY-PRL-2021_02_08_05H12/2021\n+----------------------------------------------------------------------------'..b'----------------------------------------------------------------------------------------------------------------------\n+>epi_isl_1041403/hCoV-19/USA/NY-PRL-2021_02_08_05H08/2021\n+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n'
b
diff -r 000000000000 -r 9ce3d6d4bd0e test-data/strike-ambigs-out2.fa
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/strike-ambigs-out2.fa Tue Apr 20 10:31:50 2021 +0000
b
b'@@ -0,0 +1,14 @@\n+>NC_045512.2:21563-25384\n+ATGTTTGTTTTTCTTGTTTTATTGCCACTAGTCTCTAGTCAGTGTGTTAATCTTACAACCAGAACTCAATTACCCCCTGCATACACTAATTCTTTCACACGTGGTGTTTATTACCCTGACAAAGTTTTCAGATCCTCAGTTTTACATTCAACTCAGGACTTGTTCTTACCTTTCTTTTCCAATGTTACTTGGTTCCATGCTATACATGTCTCTGGGACCAATGGTACTAAGAGGTTTGATAACCCTGTCCTACCATTTAATGATGGTGTTTATTTTGCTTCCACTGAGAAGTCTAACATAATAAGAGGCTGGATTTTTGGTACTACTTTAGATTCGAAGACCCAGTCCCTACTTATTGTTAATAACGCTACTAATGTTGTTATTAAAGTCTGTGAATTTCAATTTTGTAATGATCCATTTTTGGGTGTTTATTACCACAAAAACAACAAAAGTTGGATGGAAAGTGAGTTCAGAGTTTATTCTAGTGCGAATAATTGCACTTTTGAATATGTCTCTCAGCCTTTTCTTATGGACCTTGAAGGAAAACAGGGTAATTTCAAAAATCTTAGGGAATTTGTGTTTAAGAATATTGATGGTTATTTTAAAATATATTCTAAGCACACGCCTATTAATTTAGTGCGTGATCTCCCTCAGGGTTTTTCGGCTTTAGAACCATTGGTAGATTTGCCAATAGGTATTAACATCACTAGGTTTCAAACTTTACTTGCTTTACATAGAAGTTATTTGACTCCTGGTGATTCTTCTTCAGGTTGGACAGCTGGTGCTGCAGCTTATTATGTGGGTTATCTTCAACCTAGGACTTTTCTATTAAAATATAATGAAAATGGAACCATTACAGATGCTGTAGACTGTGCACTTGACCCTCTCTCAGAAACAAAGTGTACGTTGAAATCCTTCACTGTAGAAAAAGGAATCTATCAAACTTCTAACTTTAGAGTCCAACCAACAGAATCTATTGTTAGATTTCCTAATATTACAAACTTGTGCCCTTTTGGTGAAGTTTTTAACGCCACCAGATTTGCATCTGTTTATGCTTGGAACAGGAAGAGAATCAGCAACTGTGTTGCTGATTATTCTGTCCTATATAATTCCGCATCATTTTCCACTTTTAAGTGTTATGGAGTGTCTCCTACTAAATTAAATGATCTCTGCTTTACTAATGTCTATGCAGATTCATTTGTAATTAGAGGTGATGAAGTCAGACAAATCGCTCCAGGGCAAACTGGAAAGATTGCTGATTATAATTATAAATTACCAGATGATTTTACAGGCTGCGTTATAGCTTGGAATTCTAACAATCTTGATTCTAAGGTTGGTGGTAATTATAATTACCTGTATAGATTGTTTAGGAAGTCTAATCTCAAACCTTTTGAGAGAGATATTTCAACTGAAATCTATCAGGCCGGTAGCACACCTTGTAATGGTGTTGAAGGTTTTAATTGTTACTTTCCTTTACAATCATATGGTTTCCAACCCACTAATGGTGTTGGTTACCAACCATACAGAGTAGTAGTACTTTCTTTTGAACTTCTACATGCACCAGCAACTGTTTGTGGACCTAAAAAGTCTACTAATTTGGTTAAAAACAAATGTGTCAATTTCAACTTCAATGGTTTAACAGGCACAGGTGTTCTTACTGAGTCTAACAAAAAGTTTCTGCCTTTCCAACAATTTGGCAGAGACATTGCTGACACTACTGATGCTGTCCGTGATCCACAGACACTTGAGATTCTTGACATTACACCATGTTCTTTTGGTGGTGTCAGTGTTATAACACCAGGAACAAATACTTCTAACCAGGTTGCTGTTCTTTATCAGGATGTTAACTGCACAGAAGTCCCTGTTGCTATTCATGCAGATCAACTTACTCCTACTTGGCGTGTTTATTCTACAGGTTCTAATGTTTTTCAAACACGTGCAGGCTGTTTAATAGGGGCTGAACATGTCAACAACTCATATGAGTGTGACATACCCATTGGTGCAGGTATATGCGCTAGTTATCAGACTCAGACTAATTCTCCTCGGCGGGCACGTAGTGTAGCTAGTCAATCCATCATTGCCTACACTATGTCACTTGGTGCAGAAAATTCAGTTGCTTACTCTAATAACTCTATTGCCATACCCACAAATTTTACTATTAGTGTTACCACAGAAATTCTACCAGTGTCTATGACCAAGACATCAGTAGATTGTACAATGTACATTTGTGGTGATTCAACTGAATGCAGCAATCTTTTGTTGCAATATGGCAGTTTTTGTACACAATTAAACCGTGCTTTAACTGGAATAGCTGTTGAACAAGACAAAAACACCCAAGAAGTTTTTGCACAAGTCAAACAAATTTACAAAACACCACCAATTAAAGATTTTGGTGGTTTTAATTTTTCACAAATATTACCAGATCCATCAAAACCAAGCAAGAGGTCATTTATTGAAGATCTACTTTTCAACAAAGTGACACTTGCAGATGCTGGCTTCATCAAACAATATGGTGATTGCCTTGGTGATATTGCTGCTAGAGACCTCATTTGTGCACAAAAGTTTAACGGCCTTACTGTTTTGCCACCTTTGCTCACAGATGAAATGATTGCTCAATACACTTCTGCACTGTTAGCGGGTACAATCACTTCTGGTTGGACCTTTGGTGCAGGTGCTGCATTACAAATACCATTTGCTATGCAAATGGCTTATAGGTTTAATGGTATTGGAGTTACACAGAATGTTCTCTATGAGAACCAAAAATTGATTGCCAACCAATTTAATAGTGCTATTGGCAAAATTCAAGACTCACTTTCTTCCACAGCAAGTGCACTTGGAAAACTTCAAGATGTGGTCAACCAAAATGCACAAGCTTTAAACACGCTTGTTAAACAACTTAGCTCCAATTTTGGTGCAATTTCAAGTGTTTTAAATGATATCCTTTCACGTCTTGACAAAGTTGAGGCTGAAGTGCAAATTGATAGGTTGATCACAGGCAGACTTCAAAGTTTGCAGACATATGTGACTCAACAATTAATTAGAGCTGCAGAAATCAGAGCTTCTGCTAATCTTGCTGCTACTAAAATGTCAGAGTGTGTACTTGGACAATCAAAAAGAGTTGATTTTTGTGGAAAGGGCTATCATCTTATGTCCTTCCCTCAGTCAGCACCTCATGGTGTAGTCTTCTTGCATGTGACTTATGTCCCTGCACAAGAAAAGAACTTCACAACTGCTCCTGCCATTTGTCATGATGGAAAAGCACACTTTCCTCGTGAAGGTGTCTTTGTTTCAAATGGCACACACTGGTTTGTAACACAAAGGAATTTTTATGAACCACAAATCATTACTACAGACAACACATTTGTGTCTGGTAACTGTGATGTTGTAATAGGAATTGTCAACAACACAGTTTATGATCCTTTGCAACCTGAATTAGACTCATTCAAGGAGGAGTTAGATAAATATTTTAAGAATCATACATCACCAGATGTTGATTTAGGTGACATCTCTGGCATTAATGCTTCAGTTGTAAACATTCAAAAAGAAATTGACCGCCTCAATGAGGTTGCCAAGAATTTAAATGAATCTCTCATCGATCTCCAAGAACTTGGAAAGTATGAGCAGTATATAAAATGGCCATGGTACATTTGGCTAGGTTTTATAGCTGGCTTGATTGCCATAGTAATGGTGACAATTATGCTTTGCTGTATGACCAGTTGCTGTAGTTGTCTCAAGGGCTGTTGTTCTTGTGGATCCTGCTGCAAATTTGATGAAGACGACTCTGAGCCAGTGCTCAAAGGAGTCAAATTACATTACACA\n+>gb_MW540268_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_MA_MASPHL_01380_2020_Segment_nu'..b'CTGAGCCAGTGCTCAAAGGAGTCAAATTACATTACACA\n+>gb_MW518841_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_CA_CDC_STM_220_2020_Segment_null_1\n+ATGTTAGTTTTTCTTGTTTTATTGCCACTAGTCTCTAGTCAGTGTGTTAATCTTACAACCAGAACTCAATTACCCCCTGCATACACTAATTCTTTCACACGTGGTGTTTATTACCCTGACAAAGTTTTCAGATCCTCAGTTTTACATTCAACTCAGGACTTGTTCTTACCTTTCTTTTCCAATGTTACTTTGTTCCATGCTATACATGTCTCTGGGACCAATGGTACTAAGAGGTTTGATAACCCTGTCCTACCATTTAATGATGGTGTTTATTTTGCTTCCACTGAGAAGTCTAACATAATAAGAGGCTGGATTTTTGGTACTACTTTAGATTCGAAGACCCAGTCCCTACTTATTGTTAATAACGCTACTAATGTTGTTATTAAAGTCTGTGAATTTCAATTTTGTAATCATCCATTTTTGGGTGTTTATTACCACAAAAACAACAAAAGTTGGATGGAAAGTGAGTTCAGAGTTTATTCTAGTGCGAATAATTGCACTTTTGAATATGTCTCTCAGCCTTTTCTTATGGACCTTGAAGGAAAACAGGGTAATTTCAAAAATCTTAGGGAATTTGTGTTTAAGAATATTGATGGTTATTTTAAAATATATTCTAAGCACACGCCTATTAATTTAGTGCGTGATCTCCCTCAGGGTTTTTCGGCTTTAGAACCATTGGTAGATTTGCCAATAGGTATTAACATCACTAGGTTTCAAACTTTACTTGCTTTACATAGAAGTTATTTGACTCCTGGTGATTCTTCTTCAGGTTGGACAGCTGGTGCTGCAGCTTATTATGTGGGTTATCTTCAACCTAGGACTTTTCTATTAAAATATAATGAAAATGGAACCATTACAGATGCTGTAGACTGTGCACTTGACCCTCTCTCAGAAACAAAGTGTACGTTGAAATCCTTCACTGTAGAAAAAGGAATCTATCAAACTTCTAACTTTAGAGTCCAACCAACAGAATCTATTGTTAGATTTCCTAATATTACAAACTTGTGCCCTTTTGGTGAAGTTTTTAACGCCACCAGATTTGCATCTGTTTATGCTTGGAACAGGAAGAGAATCAGCAACTGTGTTGCTGATTATTCTGTCCTATATAATTCCGCATCATTTTCCACTTTTAAGTGTTATGGAGTGTCTCCTACTAAATTAAATGATCTCTGCTTTACTAATGTCTATGCAGATTCATTTGTAATTAGAGGTGATGAAGTCAGACAAATCGCTCCAGGGCAAACTGGAAAGATTGCTGATTATAATTATAAATTACCAGATGATTTTACAGGCTGCGTTATAGCTTGGAATTCTAACAATCTTGATTCTAAGGTTGGTGGTAATTATAATTACCTGTATAGATTGTTTAGGAAGTCTAATCTCAAACCTTTTGAGAGAGATATTTCAACTGAAATCTATCAGGCCGGTAGCACACCTTGTAATGGTGTTGAAGGTTTTAATTGTTACTTTCCTTTACAATCATATGGTTTCCAACCCACTAATGGTGTTGGTTACCAACCATACAGAGTAGTAGTACTTTCTTTTGAACTTCTACATGCACCAGCAACTGTTTGTGGACCTAAAAAGTCTACTAATTTGGTTAAAAACAAATGTGTCAATTTCAACTTTAATGGTTTAACAGGCACAGGTGTTCTTACTGAGTCTAACAAAAAGTTTCTGCCTTTCCAACAATTTGGCAGAGACATTGCTGACACTACTGATGCTGTCCGTGATCCACAGACACTTGAGATTCTTGACATTACACCATGTTCTTTTGGTGGTGTCAGTGTTATAACACCAGGAACAAATACTTCTAACCAGGTTGCTGTTCTTTATCAGGGTGTTAACTGCACAGAAGTCCCTGTTGCTATTCATGCAGATCAACTTACTCCTACTTGGCGTGTTTATTCTACAGGTTCTAATGTTTTTCAAACACGTGCAGGCTGTTTAATAGGGGCTGAACATGTCAACAACTCATATGAGTGTGACATACCCATTGGTGCAGGTATATGCGCTAGTTATCAGACTCAGACTAATTCTCCTCGGCGGGCACGTAGTGTAGCTAGTCAATCCATCATTGCCTACACTATGTCACTTGGTGCAGAAAATTCAGTTGCTTACTCTAATAACTCTATTGCCATACCCACAAATTTTACTATTAGTGTTACCACAGAAATTCTACCAGTGTCTATGACCAAGACATCAGTAGATTGTACAATGTACATTTGTGGTGATTCAACTGAATGCAGCAATCTTTTGTTGCAATATGGCAGTTTTTGTACACAATTAAACCGTGCTTTAACTGGAATAGCTGTTGAACAAGACAAAAACACCCAAGAAGTTTTTGCACAAGTCAAACAAATTTACAAAACACCACCAATTAAAGATTTTGGTGGTTTTAATTTTTCACAAATATTACCAGATCCATCAAAACCAAGCAAGAGGTCATTTATTGAAGATCTACTTTTCAACAAAGTGACACTTGCAGATGCTGGCTTCATCAAACAATATGGTGATTGCCTTGGTGATATTGCTGCTAGAGACCTCATTTGTGCACAAAAGTTTAACGGCCTTACTGTTTTGCCACCTTTGCTCACAGATGAAATGATTGCTCAATACACTTCTGCACTGTTAGCGGGTACAATCACTTCTGGTTGGACCTTTGGTGCAGGTGCTGCATTACAAATACCATTTGCTATGCAAATGGCTTATAGGTTTAATGGTATTGGAGTTACACAGAATGTTCTCTATGAGAACCAAAAATTGATTGCCAACCAATTTAATAGTGCTATTGGCAAAATTCAAGACTCACTTTCTTCCACAGCAAGTGCACTTGGAAAACTTCAAGATGTGGTCAACCAAAATGCACAAGCTTTAAACACGCTTGTTAAACAACTTAGCTCCAATTTTGGTGCAATTTCAAGTGTTTTAAATGATATCCTTTCACGTCTTGACAAAGTTGAGGCTGAAGTGCAAATTGATAGGTTGATCACAGGCAGACTTCAAAGTTTGCAGACATATGTGACTCAACAATTAATTAGAGCTGCAGAAATCAGAGCTTCTGCTAATCTTGCTGCTACTAAAATGTCAGAGTGTGTACTTGGACAATCAAAAAGAGTTGATTTTTGTGGAAAGGGCTATCATCTTATGTCCTTCCCTCAGTCAGCACCTCATGGTGTAGTCTTCTTGCATGTGACTTATGTCCCTGCACAAGAAAAGAACTTCACAACTGCTCCTGCCATTTGTCATGATGGAAAAGCACACTTTCCTCGTGAAGGTGTCTTTGTTTCAAATGGCACACACTGGTTTGTAACACAAAGGAATTTTTATGAACCACAAATCATTACTACAGACAACACATTTGTGTCTGGTAACTGTGATGTTGTAATAGGAATTGTCAACAACACAGTTTATGATCCTTTGCAACCTGAATTAGACTCATTCAAGGAGGAGTTAGATAAATATTTTAAGAATCATACATCACCAGATGTTGATTTAGGTGACATCTCTGGCATTAATGCTTCAGTTGTAAACATTCAAAAAGAAATTGACCGCCTCAATGAGGTTGCCAAGAATTTAAATGAATCTCTCATCGATCTCCAAGAACTTGGAAAGTATGAGCAGTATATAAAATGGCCATGGTACATTTGGCTAGGTTTTATAGCTGGCTTGATTGCCATAGTAATGGTGACAATTATGCTTTGCTGTATGACCAGTTGCTGTAGTTGTCTCAAGGGCTGTTGTTCTTGTGGATCCTGCTGCAAATTTGATGAAGACGACTCTGAGCCAGTGCTCAAAGGAGTCAAATTACATTACACA\n'