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

Changeset 30:cfbb255acb43 (2021-07-03)
Previous changeset 29:72b10710c4b7 (2021-06-18) Next changeset 31:d723b65a4291 (2021-10-05)
Commit message:
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit ec5db8349483b2cd46f9da23abe6cefcf65bc714"
modified:
scripts/hyphy_summary.py
test-data/summary/ORF6-segment.json
test-data/summary/merged-segment.json
test-data/summary/merged-site.json
test-data/summary/nsp7-segment.json
test-data/summary/nsp8-segment.json
test-data/summary/nsp8-site.json
b
diff -r 72b10710c4b7 -r cfbb255acb43 scripts/hyphy_summary.py
--- a/scripts/hyphy_summary.py Fri Jun 18 15:34:45 2021 +0000
+++ b/scripts/hyphy_summary.py Sat Jul 03 08:58:15 2021 +0000
[
b'@@ -107,7 +107,7 @@\n         if self.cfel is None:\n             return\n         node_tags = {}\n-        _ = self._newick_parser(self.cfel[\'input\'][\'trees\'][\'0\'], False, node_tags, self.cfel)[\'json\']\n+        _ = newick_parser(self.cfel[\'input\'][\'trees\'][\'0\'], False, node_tags, self.cfel, self.arguments, self.labels)[\'json\']\n         if self.summary_json is not None:\n             omegas = {}\n             T = {}\n@@ -191,7 +191,7 @@\n             return defaultdict(int)\n         compressed_subs = {}\n         node_tags = {}\n-        the_tree = self._newick_parser(self.slac[\'input\'][\'trees\'][\'0\'], False, node_tags, self.slac)[\'json\']\n+        the_tree = newick_parser(self.slac[\'input\'][\'trees\'][\'0\'], False, node_tags, self.slac, self.arguments, self.labels)\n         root_node = None\n         if self.summary_json is not None:\n             for branch, info in self.slac[\'branch attributes\'][\'0\'].items():\n@@ -210,9 +210,9 @@\n                 if gs[0] >= 0:\n                     self.labels[root_node] = self.slac[\'branch attributes\'][\'0\'][root_node][\'codon\'][0][i]\n                     try:\n-                        self._traverse_tree_in_order(the_tree, self.slac[\'branch attributes\'][\'0\'], i, None, root_node)\n+                        traverse_tree_in_order(the_tree, self.labels, self.slac[\'branch attributes\'][\'0\'], i, None, root_node)\n                     except Exception:\n-                        raise\n+                        pass\n                     compressed_subs[gs[0]] = self.labels\n                 for k in set([k[0] for k in node_tags.values()]):\n                     if len(k):\n@@ -433,195 +433,201 @@\n             gene_name = \'N/A\'\n         return (genomic_site_coord, gene_name, gene_site)\n \n-    def _traverse_tree_in_order(self, node, slac_data, i, parent_tag, root):\n-        node_tag = None\n-        if node is None:\n-            return\n-        try:\n-            nn = root if node[\'name\'] == \'root\' else node[\'name\']\n-        except Exception:\n-            raise\n-        if nn in slac_data:\n-            node_tag = slac_data[nn][\'codon\'][0][i]\n-            if (parent_tag != node_tag):\n-                self.labels[nn] = node_tag\n-                self.labels[node[\'name\']] = node_tag\n-        if \'children\' in node:\n-            for c in node[\'children\']:\n-                if c is not None:\n-                    if \'name\' in c:\n-                        self._traverse_tree_in_order(c, slac_data, i, node_tag, root)\n-\n-    def _match_node_names(self, qry_node, ref_node, mapping):\n-        if \'children\' in qry_node and \'children\' in ref_node:\n-            mapping[ref_node[\'name\']] = qry_node[\'name\']\n-            if len(qry_node[\'children\']) != len(ref_node[\'children\']):\n-                raise Exception(\'Internal topology mismatch\')\n-            for i, n in enumerate(ref_node[\'children\']):\n-                self._match_node_names(qry_node[\'children\'][i], n, mapping)\n-        elif \'children\' in qry_node:\n-            raise Exception(\'Topology mismatch\')\n-        elif \'children\' in ref_node:\n-            raise Exception(\'Topology mismatch\')\n-        else:\n-            if qry_node[\'name\'] != ref_node[\'name\']:\n-                raise Exception(\'Leaf name mismatch\')\n-\n     def _get_incoming_labels(self):\n         json_data = self._load_json(self.arguments.labels)\n         self.incoming_labels = json_data\n \n-    def _newick_parser(self, nwk_str, bootstrap_values, track_tags, json_map):\n-        clade_stack = []\n-        automaton_state = 0\n-        current_node_name = \'\'\n-        current_node_attribute = \'\'\n-        current_node_annotation = \'\'\n-        quote_delimiter = None\n-        name_quotes = {"\'": 1, \'"\': 1}\n \n-        def add_new_tree_level():\n-            new_level = {\'name\': None}\n-            the_parent = clade_stack[len(clade_stack) - 1]\n-            if (\'children\' not in the_parent):\n-                the_parent[\'children\'] = []\n-            clade_stack.append(new_level)\n-            the_parent[\'children\'].append(clade_stack[len(clade_st'..b'                    automaton_state = 4\n                     else:\n-                        if (current_char == \'[\'):\n-                            if len(current_node_annotation):\n-                                return generate_error(char_index)\n-                            else:\n-                                automaton_state = 4\n+                        if (automaton_state == 3):\n+                            current_node_attribute += current_char\n                         else:\n-                            if (automaton_state == 3):\n-                                current_node_attribute += current_char\n-                            else:\n-                                if (space.search(current_char)):\n-                                    continue\n-                                if (current_char == \';\'):\n-                                    char_index = len(nwk_str)\n-                                    break\n-                                current_node_name += current_char\n-                elif automaton_state == 2:\n-                    # inside a quoted expression\n-                    if (current_char == quote_delimiter):\n-                        if (char_index < len(nwk_str - 1)):\n-                            if (nwk_str[char_index + 1] == quote_delimiter):\n-                                char_index += 1\n-                                current_node_name += quote_delimiter\n+                            if (space.search(current_char)):\n                                 continue\n-                            quote_delimiter = 0\n-                            automaton_state = 1\n+                            if (current_char == ""):\n+                                char_index = len(nwk_str)\n+                                break\n+                            current_node_name += current_char\n+            elif automaton_state == 2:\n+                # inside a quoted expression\n+                if (current_char == quote_delimiter):\n+                    if (char_index < len(nwk_str - 1)):\n+                        if (nwk_str[char_index + 1] == quote_delimiter):\n+                            char_index += 1\n+                            current_node_name += quote_delimiter\n                             continue\n-                    else:\n-                        current_node_name += current_char\n-                elif automaton_state == 4:\n-                    # inside a comment / attribute\n-                    if (current_char == \']\'):\n-                        automaton_state = 3\n-                    else:\n-                        if (current_char == \'[\'):\n-                            return generate_error(char_index)\n-                        current_node_annotation += current_char\n-            except Exception:\n-                return generate_error(char_index)\n \n-        if (len(clade_stack) != 1):\n-            return generate_error(len(nwk_str) - 1)\n+                    quote_delimiter = 0\n+                    automaton_state = 1\n+                    continue\n+                else:\n+                    current_node_name += current_char\n+            elif automaton_state == 4:\n+                # inside a comment / attribute\n+                if (current_char == "]"):\n+                    automaton_state = 3\n+                else:\n+                    if (current_char == "["):\n+                        return generate_error(char_index)\n+                    current_node_annotation += current_char\n+        except Exception as e:\n+            return generate_error(char_index)\n+            print(e)\n \n-        if (len(current_node_name)):\n-            tree_json[\'name\'] = current_node_name\n+    if (len(clade_stack) != 1):\n+        return generate_error(len(nwk_str) - 1)\n \n-        return {\n-            \'json\': tree_json,\n-            \'error\': None\n-        }\n+    if (len(current_node_name)):\n+        tree_json[\'name\'] = current_node_name\n+\n+    return {\n+        \'json\': tree_json,\n+        \'error\': None\n+    }\n \n \n if __name__ == \'__main__\':\n'
b
diff -r 72b10710c4b7 -r cfbb255acb43 test-data/summary/ORF6-segment.json
--- a/test-data/summary/ORF6-segment.json Fri Jun 18 15:34:45 2021 +0000
+++ b/test-data/summary/ORF6-segment.json Sat Jul 03 08:58:15 2021 +0000
[
b'@@ -1,7 +1,1135 @@\n {\n  "ORF6": {\n-  "map": [],\n+  "map": [\n+   27201,\n+   27204,\n+   27207,\n+   27210,\n+   27213,\n+   27216,\n+   27219,\n+   27222,\n+   27225,\n+   27228,\n+   27231,\n+   27234,\n+   27237,\n+   27240,\n+   27243,\n+   27246,\n+   27249,\n+   27252,\n+   27255,\n+   27258,\n+   27261,\n+   27264,\n+   27267,\n+   27270,\n+   27273,\n+   27276,\n+   27279,\n+   27282,\n+   27285,\n+   27288,\n+   27291,\n+   27294,\n+   27297,\n+   27300,\n+   27303,\n+   27306,\n+   27309,\n+   27312,\n+   27315,\n+   27318,\n+   27321,\n+   27324,\n+   27327,\n+   27330,\n+   27333,\n+   27336,\n+   27339,\n+   27342,\n+   27345,\n+   27348,\n+   27351,\n+   27354,\n+   27357,\n+   27360,\n+   27363,\n+   27366,\n+   27369,\n+   27372,\n+   27375,\n+   27378,\n+   27381\n+  ],\n   "tree": "(REFERENCE,(gb_MW505295_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_TX_QDX_3142_2021_Segment_null_Host_Human,gb_MW586274_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_TX_CDC_STM_000005611_2021_Segment_null_Host_Human)Node184,epi_isl_1533799_hCoV_19_India_MH_NCCS_9947_2021,gb_MW155738_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_AUS_VIC11358_2020_Segment_null_Host_Human,gb_MW064840_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_MI_QDX_825_2020_Segment_null_Host_Human,(gb_MW545306_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_CA_QDX_3723_2021_Segment_null_Host_Human,gb_MW547503_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_EGY_CUNCI_HGC09I039_2020_Segment_null_Host_Human)Node194,(epi_isl_1543980_hCoV_19_Singapore_490_2021,gb_MW565832_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_MD_MDH_0724_2021_Segment_null_Host_Human)Node198,(gb_MW093451_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_TX_DSHS_0533_2020_Segment_null_Host_Human,gb_MT449654_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_CA_CZB_1063_2020_Segment_null_Host_Human)Node201,(gb_MW586846_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_NY_QDX_4256_2021_Segment_null_Host_Human,gb_MW156732_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_AUS_VIC10631_2020_Segment_null_Host_Human)Node206,epi_isl_1631286_hCoV_19_England_CAMC_14E7527_2021,gb_MW486406_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_WI_UW_2638_2020_Segment_null_Host_Human,gb_MW035934_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_CA_CZB_2214_2020_Segment_null_Host_Human,gb_MW586670_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_FL_CDC_STM_000003618_2021_Segment_null_Host_Human,gb_MW154411_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_AUS_VIC6964_2020_Segment_null_Host_Human,gb_LC571023_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_DP0724_Segment_null_Host_Human,gb_MW134116_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_CA_CZB_3258_2020_Segment_null_Host_Human,(gb_MW549937_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_CA_QDX_3900_2021_Segment_null_Host_Human,gb_MW549223_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_WA_S3727_2020_Segment_null_Host_Human)Node226,((gb_MW545248_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_CA_QDX_3654_2021_Segment_null_Host_Human,gb_MW578246_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_MD_MDH_0808_2021_Segment_null_Host_Human)Node231,gb_MW549830_Organism_Severe_acute_respiratory_syndrome_'..b' "gb_MW064863_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_WI_QDX_779_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.005652737786801275\n+   ],\n+   "gb_MW155278_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_AUS_VIC12385_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.00557872293700733\n+   ],\n+   "epi_isl_1442952_hCoV_19_Singapore_321_2021": [\n+    "Reference",\n+    false,\n+    0.00557872293700733\n+   ],\n+   "gb_MW193966_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_IND_nimh_12171_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.005612858460151898\n+   ],\n+   "gb_MW462661_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_MN_MDH_2263_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.005587511279835753\n+   ],\n+   "epi_isl_1516887_hCoV_19_Australia_QLD1826_2021": [\n+    "Reference",\n+    false,\n+    0.005608121500950802\n+   ],\n+   "gb_MW521810_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_TX_QDX_3530_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.005660233852045118\n+   ],\n+   "gb_MW490888_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_FL_BPHL_2295_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.005585751083177282\n+   ],\n+   "gb_MW155642_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_AUS_VIC13394_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.00559169913114487\n+   ],\n+   "gb_MT847221_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_BGD_BCSIR_NILMRC_283_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.005610880832638092\n+   ],\n+   "gb_MW592637_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_MA_MASPHL_01774_2021_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.005650956888864765\n+   ],\n+   "gb_MW578233_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_MD_MDH_0795_2021_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.005579409632217661\n+   ],\n+   "gb_MT447156_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_THA_SI200383_NT_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.005586721466300974\n+   ],\n+   "gb_MW543030_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_AZ_CDC_IR9A_6594_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.005610810413765556\n+   ],\n+   "gb_MW545207_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_CA_QDX_3609_2021_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.005615097964869044\n+   ],\n+   "gb_MT873189_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_MA_DPH_00301_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.005615096261285128\n+   ],\n+   "gb_MW564882_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_CA_CZB_14886_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0\n+   ],\n+   "gb_MT811295_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_SEARCH_0657_IPL_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.005592899537321293\n+   ],\n+   "Node100": [\n+    "Reference",\n+    true,\n+    0.005590443923023665\n+   ],\n+   "gb_MT811511_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_SEARCH_1079_SAN_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.005587435112002911\n+   ]\n+  }\n  }\n }\n\\ No newline at end of file\n'
b
diff -r 72b10710c4b7 -r cfbb255acb43 test-data/summary/merged-segment.json
--- a/test-data/summary/merged-segment.json Fri Jun 18 15:34:45 2021 +0000
+++ b/test-data/summary/merged-segment.json Sat Jul 03 08:58:15 2021 +0000
[
b'@@ -1,11 +1,1460 @@\n {\n  "nsp7": {\n-  "map": [],\n+  "map": [\n+   11842,\n+   11845,\n+   11848,\n+   11851,\n+   11854,\n+   11857,\n+   11860,\n+   11863,\n+   11866,\n+   11869,\n+   11872,\n+   11875,\n+   11878,\n+   11881,\n+   11884,\n+   11887,\n+   11890,\n+   11893,\n+   11896,\n+   11899,\n+   11902,\n+   11905,\n+   11908,\n+   11911,\n+   11914,\n+   11917,\n+   11920,\n+   11923,\n+   11926,\n+   11929,\n+   11932,\n+   11935,\n+   11938,\n+   11941,\n+   11944,\n+   11947,\n+   11950,\n+   11953,\n+   11956,\n+   11959,\n+   11962,\n+   11965,\n+   11968,\n+   11971,\n+   11974,\n+   11977,\n+   11980,\n+   11983,\n+   11986,\n+   11989,\n+   11992,\n+   11995,\n+   11998,\n+   12001,\n+   12004,\n+   12007,\n+   12010,\n+   12013,\n+   12016,\n+   12019,\n+   12022,\n+   12025,\n+   12028,\n+   12031,\n+   12034,\n+   12037,\n+   12040,\n+   12043,\n+   12046,\n+   12049,\n+   12052,\n+   12055,\n+   12058,\n+   12061,\n+   12064,\n+   12067,\n+   12070,\n+   12073,\n+   12076,\n+   12079,\n+   12082,\n+   12085,\n+   12088\n+  ],\n   "tree": "((gb_MT470179_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_France_40002VJ_2020_Segment_null_Host_Human,gb_MW460617_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_CA_QDX_2810_2020_Segment_null_Host_Human)Node387,REFERENCE,gb_MW556183_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_IL_CDC_9MR4_8909_2021_Segment_null_Host_Human,gb_MT834677_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_FL_BPHL_0519_2020_Segment_null_Host_Human,gb_MW406516_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_AR_CDC_2_3693765_2020_Segment_null_Host_Human,gb_MW586766_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_CA_QDX_4270_2021_Segment_null_Host_Human,gb_MW276413_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_CA_CZB_10909_2020_Segment_null_Host_Human,(gb_MT973055_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_AUS_VIC6608_2020_Segment_null_Host_Human,gb_MW517337_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_SC_COVID21_0048_2021_Segment_null_Host_Human)Node365,(gb_MW562693_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_UT_UPHL_2102046035_2020_Segment_null_Host_Human,((gb_MT628199_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_CA_CZB_1525_2020_Segment_null_Host_Human,gb_MW276545_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_CA_CZB_11572_2020_Segment_null_Host_Human)Node373,gb_MW276613_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_CA_CZB_11950_2020_Segment_null_Host_Human)Node372)Node370,gb_MW585982_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_MO_CDC_STM_000003668_2021_Segment_null_Host_Human,gb_MW486275_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_WI_UW_2499_2020_Segment_null_Host_Human,gb_MW586167_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_NC_CDC_STM_000005966_2021_Segment_null_Host_Human,gb_MW571123_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_GHA_WACCBIP_nCoV_GS68_2021_Segment_null_Host_Human,gb_MW525001_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_MI_CDC_STM_0000014_B04_2021_Segment_null_Host_Human,gb_MT810681_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_SEARCH_1240_SAN_2020_Segment_null_Host_Human,gb_MW566853_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_FL_BPHL_2890_2020_Segment_null_Host_Human,gb_MW579014_Organism_Severe_acute'..b' "gb_MW064863_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_WI_QDX_779_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.005652737786801275\n+   ],\n+   "gb_MW155278_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_AUS_VIC12385_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.00557872293700733\n+   ],\n+   "epi_isl_1442952_hCoV_19_Singapore_321_2021": [\n+    "Reference",\n+    false,\n+    0.00557872293700733\n+   ],\n+   "gb_MW193966_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_IND_nimh_12171_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.005612858460151898\n+   ],\n+   "gb_MW462661_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_MN_MDH_2263_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.005587511279835753\n+   ],\n+   "epi_isl_1516887_hCoV_19_Australia_QLD1826_2021": [\n+    "Reference",\n+    false,\n+    0.005608121500950802\n+   ],\n+   "gb_MW521810_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_TX_QDX_3530_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.005660233852045118\n+   ],\n+   "gb_MW490888_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_FL_BPHL_2295_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.005585751083177282\n+   ],\n+   "gb_MW155642_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_AUS_VIC13394_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.00559169913114487\n+   ],\n+   "gb_MT847221_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_BGD_BCSIR_NILMRC_283_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.005610880832638092\n+   ],\n+   "gb_MW592637_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_MA_MASPHL_01774_2021_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.005650956888864765\n+   ],\n+   "gb_MW578233_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_MD_MDH_0795_2021_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.005579409632217661\n+   ],\n+   "gb_MT447156_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_THA_SI200383_NT_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.005586721466300974\n+   ],\n+   "gb_MW543030_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_AZ_CDC_IR9A_6594_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.005610810413765556\n+   ],\n+   "gb_MW545207_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_CA_QDX_3609_2021_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.005615097964869044\n+   ],\n+   "gb_MT873189_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_MA_DPH_00301_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.005615096261285128\n+   ],\n+   "gb_MW564882_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_CA_CZB_14886_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0\n+   ],\n+   "gb_MT811295_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_SEARCH_0657_IPL_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.005592899537321293\n+   ],\n+   "Node100": [\n+    "Reference",\n+    true,\n+    0.005590443923023665\n+   ],\n+   "gb_MT811511_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_SEARCH_1079_SAN_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.005587435112002911\n+   ]\n+  }\n  }\n }\n\\ No newline at end of file\n'
b
diff -r 72b10710c4b7 -r cfbb255acb43 test-data/summary/merged-site.json
--- a/test-data/summary/merged-site.json Fri Jun 18 15:34:45 2021 +0000
+++ b/test-data/summary/merged-site.json Sat Jul 03 08:58:15 2021 +0000
[
b'@@ -1,1 +1,30794 @@\n-{}\n\\ No newline at end of file\n+{\n+ "12091": {\n+  "G": "ORF1a",\n+  "S": 3943,\n+  "index": 0,\n+  "bCFEL": {\n+   "p": 1,\n+   "a": 0,\n+   "b": {\n+    "background": 0,\n+    "B-1-617": 0,\n+    "Reference": 0\n+   },\n+   "pi": {\n+    "overall": 1\n+   },\n+   "pp": 1,\n+   "s": {\n+    "B-1-617": 1,\n+    "Reference": 1\n+   },\n+   "q": 1\n+  },\n+  "cdn": {\n+   "Reference": {\n+    "GCT": 32\n+   }\n+  },\n+  "aa": {\n+   "Reference": {\n+    "A": 32\n+   }\n+  },\n+  "bFEL": {\n+   "a": 0,\n+   "b": 0,\n+   "p": 1\n+  },\n+  "bMEME": {\n+   "p": 1,\n+   "a": 0,\n+   "b+": 0,\n+   "w+": 0,\n+   "b-": 0,\n+   "w-": 1,\n+   "br": 0\n+  },\n+  "lMEME": {\n+   "p": 1,\n+   "a": 0,\n+   "b+": 0,\n+   "w+": 0,\n+   "b-": 0,\n+   "w-": 1,\n+   "br": 0\n+  },\n+  "prime": {\n+   "p": [\n+    1,\n+    1,\n+    1,\n+    1,\n+    1,\n+    1\n+   ],\n+   "lambda": [\n+    0,\n+    0,\n+    0,\n+    0,\n+    0\n+   ]\n+  },\n+  "fade": {\n+   "A": {\n+    "rate": 5.6103649987489,\n+    "BF": 1.034072300241131\n+   },\n+   "C": {\n+    "rate": 5.497357704096383,\n+    "BF": 0.9944460808029579\n+   },\n+   "D": {\n+    "rate": 5.450914315769896,\n+    "BF": 0.9944662371898904\n+   },\n+   "E": {\n+    "rate": 5.510132708435626,\n+    "BF": 0.9945028091670608\n+   },\n+   "F": {\n+    "rate": 5.55986779127037,\n+    "BF": 0.994625787014365\n+   },\n+   "G": {\n+    "rate": 5.630374286370275,\n+    "BF": 0.9944235151533182\n+   },\n+   "H": {\n+    "rate": 5.650323733595499,\n+    "BF": 0.9947910585723322\n+   },\n+   "I": {\n+    "rate": 5.445463813320678,\n+    "BF": 0.9950166923528548\n+   },\n+   "K": {\n+    "rate": 5.465835253887162,\n+    "BF": 0.9945229936243131\n+   },\n+   "L": {\n+    "rate": 5.420863800335724,\n+    "BF": 0.994387024139403\n+   },\n+   "M": {\n+    "rate": 5.439729962976315,\n+    "BF": 0.9946198915399808\n+   },\n+   "N": {\n+    "rate": 5.491264217985885,\n+    "BF": 0.9943106117372973\n+   },\n+   "P": {\n+    "rate": 5.552560174723753,\n+    "BF": 0.9947444439488056\n+   },\n+   "Q": {\n+    "rate": 5.614250453936481,\n+    "BF": 0.9953233423767859\n+   },\n+   "R": {\n+    "rate": 5.410833627700861,\n+    "BF": 0.9957577535176042\n+   },\n+   "S": {\n+    "rate": 3.779539763899132,\n+    "BF": 0.9283086123730149\n+   },\n+   "T": {\n+    "rate": 4.263831753219312,\n+    "BF": 0.9491321274661958\n+   },\n+   "V": {\n+    "rate": 4.880777045571673,\n+    "BF": 0.9674772186797872\n+   },\n+   "W": {\n+    "rate": 5.630374286370275,\n+    "BF": 0.9944235151533182\n+   },\n+   "Y": {\n+    "rate": 5.506209829712969,\n+    "BF": 0.9942539853605677\n+   }\n+  }\n+ },\n+ "12094": {\n+  "G": "ORF1a",\n+  "S": 3944,\n+  "index": 1,\n+  "bCFEL": {\n+   "p": 1,\n+   "a": 0,\n+   "b": {\n+    "background": 0,\n+    "B-1-617": 0,\n+    "Reference": 0\n+   },\n+   "pi": {\n+    "overall": 1\n+   },\n+   "pp": 1,\n+   "s": {\n+    "B-1-617": 1,\n+    "Reference": 1\n+   },\n+   "q": 1\n+  },\n+  "cdn": {\n+   "Reference": {\n+    "ATA": 32\n+   }\n+  },\n+  "aa": {\n+   "Reference": {\n+    "I": 32\n+   }\n+  },\n+  "bFEL": {\n+   "a": 0,\n+   "b": 0,\n+   "p": 1\n+  },\n+  "bMEME": {\n+   "p": 1,\n+   "a": 0,\n+   "b+": 0,\n+   "w+": 0,\n+   "b-": 0,\n+   "w-": 1,\n+   "br": 0\n+  },\n+  "lMEME": {\n+   "p": 1,\n+   "a": 0,\n+   "b+": 0,\n+   "w+": 0,\n+   "b-": 0,\n+   "w-": 1,\n+   "br": 0\n+  },\n+  "prime": {\n+   "p": [\n+    1,\n+    1,\n+    1,\n+    1,\n+    1,\n+    1\n+   ],\n+   "lambda": [\n+    0,\n+    0,\n+    0,\n+    0,\n+    0\n+   ]\n+  },\n+  "fade": {\n+   "A": {\n+    "rate": 5.297486980684134,\n+    "BF": 0.9890764026148687\n+   },\n+   "C": {\n+    "rate": 5.501609972003477,\n+    "BF": 0.9894768749672077\n+   },\n+   "D": {\n+    "rate": 5.454093763983005,\n+    "BF": 0.9894695978239394\n+   },\n+   "E": {\n+    "rate": 5.512253310706406,\n+    "BF": 0.989550121179582\n+   },\n+   "F": {\n+    "rate": 5.564552413751974,\n+    "BF": 0.9895975721729365\n+   },\n+   "G": {\n+    "rate": 5.630277468662431,\n+    "BF": 0.9891876932499593\n+   },\n+   "H": {\n+    "rate": 5.657157503697782,\n+    "BF": 0.9897400635306876\n+   },\n+   "I": {\n+    "rate": 6.055311384056781,\n+    "BF": 1.060103451940054\n+   },\n+   "K": {\n+    "ra'..b'4161915809505,\n+    "BF": 0.9334103241281623\n+   },\n+   "G": {\n+    "rate": 5.630380562456343,\n+    "BF": 0.9948921255698339\n+   },\n+   "H": {\n+    "rate": 5.649477517125627,\n+    "BF": 0.995233898461\n+   },\n+   "I": {\n+    "rate": 5.121060912835349,\n+    "BF": 0.9821687591223197\n+   },\n+   "K": {\n+    "rate": 5.465063676975451,\n+    "BF": 0.9949383593306517\n+   },\n+   "L": {\n+    "rate": 5.70639772473297,\n+    "BF": 1.032029571938244\n+   },\n+   "M": {\n+    "rate": 5.440582445749659,\n+    "BF": 0.9951137744927994\n+   },\n+   "N": {\n+    "rate": 5.493332696547962,\n+    "BF": 0.9948714030837429\n+   },\n+   "P": {\n+    "rate": 5.553804681025784,\n+    "BF": 0.9952424643895733\n+   },\n+   "Q": {\n+    "rate": 5.613917267847408,\n+    "BF": 0.9957244182579306\n+   },\n+   "R": {\n+    "rate": 4.526604364385194,\n+    "BF": 0.956533649742422\n+   },\n+   "S": {\n+    "rate": 5.221929308334516,\n+    "BF": 0.9961105377447148\n+   },\n+   "T": {\n+    "rate": 5.268266367710666,\n+    "BF": 0.9947340427534851\n+   },\n+   "V": {\n+    "rate": 4.699162390157347,\n+    "BF": 0.9591325383635538\n+   },\n+   "W": {\n+    "rate": 5.630380562456343,\n+    "BF": 0.9948921255698339\n+   },\n+   "Y": {\n+    "rate": 5.506489188463021,\n+    "BF": 0.9947301182755116\n+   }\n+  }\n+ },\n+ "12682": {\n+  "G": "ORF1a",\n+  "S": 4140,\n+  "index": 197,\n+  "bCFEL": {\n+   "p": 0,\n+   "a": 0,\n+   "b": {\n+    "background": 5.651971820557556,\n+    "B-1-617": 0,\n+    "Reference": 0\n+   },\n+   "pi": {\n+    "overall": 0.9946823441693979\n+   },\n+   "pp": -1,\n+   "s": {\n+    "B-1-617": 0,\n+    "Reference": 0\n+   },\n+   "q": 1\n+  },\n+  "cdn": {\n+   "Reference": {\n+    "CAG": 30,\n+    "CAC": 1,\n+    "CAT": 1\n+   }\n+  },\n+  "aa": {\n+   "Reference": {\n+    "Q": 30,\n+    "H": 2\n+   }\n+  },\n+  "bFEL": {\n+   "a": 0,\n+   "b": 0,\n+   "p": 1\n+  },\n+  "bMEME": {\n+   "p": 0.6666666666666666,\n+   "a": 0.0001047939488656373,\n+   "b+": 1.231388513343972,\n+   "w+": 0,\n+   "b-": 2.619848721640933e-05,\n+   "w-": 1,\n+   "br": 0\n+  },\n+  "lMEME": {\n+   "p": 0.3226010900378987,\n+   "a": 0,\n+   "b+": 12.0318826699798,\n+   "w+": 0.99999999,\n+   "b-": 0,\n+   "w-": 1e-08,\n+   "br": 1\n+  },\n+  "prime": {\n+   "p": [\n+    1,\n+    1,\n+    1,\n+    1,\n+    1,\n+    1\n+   ],\n+   "lambda": [\n+    0.03644798756061563,\n+    -0.3104805457700024,\n+    0.2357212180710769,\n+    -0.03138277695602196,\n+    -0.005528760550374304\n+   ]\n+  },\n+  "fade": {\n+   "A": {\n+    "rate": 5.308678043450536,\n+    "BF": 1.055716315319722\n+   },\n+   "C": {\n+    "rate": 5.485855194240376,\n+    "BF": 1.055201214399417\n+   },\n+   "D": {\n+    "rate": 5.446266138134284,\n+    "BF": 1.055385899378762\n+   },\n+   "E": {\n+    "rate": 5.500499331126934,\n+    "BF": 1.054475503345003\n+   },\n+   "F": {\n+    "rate": 5.518132842032017,\n+    "BF": 1.055000371827809\n+   },\n+   "G": {\n+    "rate": 5.631290855192524,\n+    "BF": 1.056763207313764\n+   },\n+   "H": {\n+    "rate": 17.73708239321951,\n+    "BF": 3.307358513643126\n+   },\n+   "I": {\n+    "rate": 5.343982030446722,\n+    "BF": 1.049931891253796\n+   },\n+   "K": {\n+    "rate": 5.45735425836756,\n+    "BF": 1.053932665571368\n+   },\n+   "L": {\n+    "rate": 5.39639482035181,\n+    "BF": 1.0545826854226\n+   },\n+   "M": {\n+    "rate": 5.362035570007507,\n+    "BF": 1.052316695364487\n+   },\n+   "N": {\n+    "rate": 5.458974630132252,\n+    "BF": 1.056085864838289\n+   },\n+   "P": {\n+    "rate": 5.511453174502486,\n+    "BF": 1.052535778634476\n+   },\n+   "Q": {\n+    "rate": 0.4589403382528013,\n+    "BF": 0.5346342422907141\n+   },\n+   "R": {\n+    "rate": 5.244347172461493,\n+    "BF": 1.044187416807419\n+   },\n+   "S": {\n+    "rate": 5.129448615617326,\n+    "BF": 1.044038260812914\n+   },\n+   "T": {\n+    "rate": 5.25116626823532,\n+    "BF": 1.05380623570147\n+   },\n+   "V": {\n+    "rate": 5.32619888389831,\n+    "BF": 1.050191753850974\n+   },\n+   "W": {\n+    "rate": 5.631290855192524,\n+    "BF": 1.056763207313764\n+   },\n+   "Y": {\n+    "rate": 5.533472866110234,\n+    "BF": 1.057326684928253\n+   }\n+  }\n+ }\n+}\n\\ No newline at end of file\n'
b
diff -r 72b10710c4b7 -r cfbb255acb43 test-data/summary/nsp7-segment.json
--- a/test-data/summary/nsp7-segment.json Fri Jun 18 15:34:45 2021 +0000
+++ b/test-data/summary/nsp7-segment.json Sat Jul 03 08:58:15 2021 +0000
[
b'@@ -1,7 +1,1257 @@\n {\n  "nsp7": {\n-  "map": [],\n+  "map": [\n+   11842,\n+   11845,\n+   11848,\n+   11851,\n+   11854,\n+   11857,\n+   11860,\n+   11863,\n+   11866,\n+   11869,\n+   11872,\n+   11875,\n+   11878,\n+   11881,\n+   11884,\n+   11887,\n+   11890,\n+   11893,\n+   11896,\n+   11899,\n+   11902,\n+   11905,\n+   11908,\n+   11911,\n+   11914,\n+   11917,\n+   11920,\n+   11923,\n+   11926,\n+   11929,\n+   11932,\n+   11935,\n+   11938,\n+   11941,\n+   11944,\n+   11947,\n+   11950,\n+   11953,\n+   11956,\n+   11959,\n+   11962,\n+   11965,\n+   11968,\n+   11971,\n+   11974,\n+   11977,\n+   11980,\n+   11983,\n+   11986,\n+   11989,\n+   11992,\n+   11995,\n+   11998,\n+   12001,\n+   12004,\n+   12007,\n+   12010,\n+   12013,\n+   12016,\n+   12019,\n+   12022,\n+   12025,\n+   12028,\n+   12031,\n+   12034,\n+   12037,\n+   12040,\n+   12043,\n+   12046,\n+   12049,\n+   12052,\n+   12055,\n+   12058,\n+   12061,\n+   12064,\n+   12067,\n+   12070,\n+   12073,\n+   12076,\n+   12079,\n+   12082,\n+   12085,\n+   12088\n+  ],\n   "tree": "((gb_MT470179_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_France_40002VJ_2020_Segment_null_Host_Human,gb_MW460617_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_CA_QDX_2810_2020_Segment_null_Host_Human)Node387,REFERENCE,gb_MW556183_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_IL_CDC_9MR4_8909_2021_Segment_null_Host_Human,gb_MT834677_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_FL_BPHL_0519_2020_Segment_null_Host_Human,gb_MW406516_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_AR_CDC_2_3693765_2020_Segment_null_Host_Human,gb_MW586766_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_CA_QDX_4270_2021_Segment_null_Host_Human,gb_MW276413_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_CA_CZB_10909_2020_Segment_null_Host_Human,(gb_MT973055_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_AUS_VIC6608_2020_Segment_null_Host_Human,gb_MW517337_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_SC_COVID21_0048_2021_Segment_null_Host_Human)Node365,(gb_MW562693_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_UT_UPHL_2102046035_2020_Segment_null_Host_Human,((gb_MT628199_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_CA_CZB_1525_2020_Segment_null_Host_Human,gb_MW276545_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_CA_CZB_11572_2020_Segment_null_Host_Human)Node373,gb_MW276613_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_CA_CZB_11950_2020_Segment_null_Host_Human)Node372)Node370,gb_MW585982_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_MO_CDC_STM_000003668_2021_Segment_null_Host_Human,gb_MW486275_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_WI_UW_2499_2020_Segment_null_Host_Human,gb_MW586167_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_NC_CDC_STM_000005966_2021_Segment_null_Host_Human,gb_MW571123_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_GHA_WACCBIP_nCoV_GS68_2021_Segment_null_Host_Human,gb_MW525001_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_MI_CDC_STM_0000014_B04_2021_Segment_null_Host_Human,gb_MT810681_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_SEARCH_1240_SAN_2020_Segment_null_Host_Human,gb_MW566853_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_FL_BPHL_2890_2020_Segment_null_Host_Human,gb_MW579014_Organism_Severe_acute_'..b'"Reference",\n+    false,\n+    0.004144591479117398\n+   ],\n+   "epi_isl_1415264_hCoV_19_India_MH_NCCS_128864_2021": [\n+    "Reference",\n+    false,\n+    0\n+   ],\n+   "gb_MW599561_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_MA_Broad_CRSP_00424_2021_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.004147452160602058\n+   ],\n+   "gb_MW517346_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_SC_COVID21_0036_2021_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.004147452160602058\n+   ],\n+   "Node17": [\n+    "Reference",\n+    true,\n+    0.00414052925285685\n+   ],\n+   "gb_MW523879_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_IL_CDC_STM_A100264_2021_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0\n+   ],\n+   "gb_MW240753_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_MD_MDH_0289_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.004146116592753212\n+   ],\n+   "Node13": [\n+    "Reference",\n+    true,\n+    0.004138233218455412\n+   ],\n+   "gb_MW156992_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_AUS_VIC10174_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.004142305041482513\n+   ],\n+   "gb_MW562737_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_UT_UPHL_2102453487_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.004139302948412638\n+   ],\n+   "gb_MT451046_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_AUS_VIC142_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0\n+   ],\n+   "gb_MW596147_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_NC_CDC_STM_000008176_2021_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.004133399695948489\n+   ],\n+   "Node26": [\n+    "Reference",\n+    true,\n+    0.004135904198024737\n+   ],\n+   "epi_isl_1641831_hCoV_19_Germany_BY_RKI_I_076082_2021": [\n+    "Reference",\n+    false,\n+    0.004129734870461834\n+   ],\n+   "gb_MT291831_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_CHN_Beijing_IME_BJ01_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.004140526003645435\n+   ],\n+   "gb_MW596107_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_CA_CDC_STM_000008078_2021_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.004128855062608943\n+   ],\n+   "gb_MW590718_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_IND_GBRC434_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.004142305048367469\n+   ],\n+   "gb_MW521457_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_1516xF10_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.00413823323276687\n+   ],\n+   "gb_MT731735_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_BGD_BCSIR_NILMRC_137_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.004129995051828744\n+   ],\n+   "gb_MW521689_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_FL_QDX_3455_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.004127946251471983\n+   ],\n+   "gb_MT825091_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_IRN_COVID19_IRVSH1_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.004132671721210818\n+   ],\n+   "gb_MW030253_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_PER_covper022_2020_Segment_null_Host_Human": [\n+    "Reference",\n+    false,\n+    0.004140565527281421\n+   ]\n+  }\n  }\n }\n\\ No newline at end of file\n'
b
diff -r 72b10710c4b7 -r cfbb255acb43 test-data/summary/nsp8-segment.json
--- a/test-data/summary/nsp8-segment.json Fri Jun 18 15:34:45 2021 +0000
+++ b/test-data/summary/nsp8-segment.json Sat Jul 03 08:58:15 2021 +0000
[
b'@@ -1,6 +1,205 @@\n {\n  "nsp8": {\n-  "map": [],\n+  "map": [\n+   12091,\n+   12094,\n+   12097,\n+   12100,\n+   12103,\n+   12106,\n+   12109,\n+   12112,\n+   12115,\n+   12118,\n+   12121,\n+   12124,\n+   12127,\n+   12130,\n+   12133,\n+   12136,\n+   12139,\n+   12142,\n+   12145,\n+   12148,\n+   12151,\n+   12154,\n+   12157,\n+   12160,\n+   12163,\n+   12166,\n+   12169,\n+   12172,\n+   12175,\n+   12178,\n+   12181,\n+   12184,\n+   12187,\n+   12190,\n+   12193,\n+   12196,\n+   12199,\n+   12202,\n+   12205,\n+   12208,\n+   12211,\n+   12214,\n+   12217,\n+   12220,\n+   12223,\n+   12226,\n+   12229,\n+   12232,\n+   12235,\n+   12238,\n+   12241,\n+   12244,\n+   12247,\n+   12250,\n+   12253,\n+   12256,\n+   12259,\n+   12262,\n+   12265,\n+   12268,\n+   12271,\n+   12274,\n+   12277,\n+   12280,\n+   12283,\n+   12286,\n+   12289,\n+   12292,\n+   12295,\n+   12298,\n+   12301,\n+   12304,\n+   12307,\n+   12310,\n+   12313,\n+   12316,\n+   12319,\n+   12322,\n+   12325,\n+   12328,\n+   12331,\n+   12334,\n+   12337,\n+   12340,\n+   12343,\n+   12346,\n+   12349,\n+   12352,\n+   12355,\n+   12358,\n+   12361,\n+   12364,\n+   12367,\n+   12370,\n+   12373,\n+   12376,\n+   12379,\n+   12382,\n+   12385,\n+   12388,\n+   12391,\n+   12394,\n+   12397,\n+   12400,\n+   12403,\n+   12406,\n+   12409,\n+   12412,\n+   12415,\n+   12418,\n+   12421,\n+   12424,\n+   12427,\n+   12430,\n+   12433,\n+   12436,\n+   12439,\n+   12442,\n+   12445,\n+   12448,\n+   12451,\n+   12454,\n+   12457,\n+   12460,\n+   12463,\n+   12466,\n+   12469,\n+   12472,\n+   12475,\n+   12478,\n+   12481,\n+   12484,\n+   12487,\n+   12490,\n+   12493,\n+   12496,\n+   12499,\n+   12502,\n+   12505,\n+   12508,\n+   12511,\n+   12514,\n+   12517,\n+   12520,\n+   12523,\n+   12526,\n+   12529,\n+   12532,\n+   12535,\n+   12538,\n+   12541,\n+   12544,\n+   12547,\n+   12550,\n+   12553,\n+   12556,\n+   12559,\n+   12562,\n+   12565,\n+   12568,\n+   12571,\n+   12574,\n+   12577,\n+   12580,\n+   12583,\n+   12586,\n+   12589,\n+   12592,\n+   12595,\n+   12598,\n+   12601,\n+   12604,\n+   12607,\n+   12610,\n+   12613,\n+   12616,\n+   12619,\n+   12622,\n+   12625,\n+   12628,\n+   12631,\n+   12634,\n+   12637,\n+   12640,\n+   12643,\n+   12646,\n+   12649,\n+   12652,\n+   12655,\n+   12658,\n+   12661,\n+   12664,\n+   12667,\n+   12670,\n+   12673,\n+   12676,\n+   12679,\n+   12682\n+  ],\n   "rates": {\n    "mean-omega": {\n     "B-1-617": 21.18256593595067,\n@@ -109,7 +308,869 @@\n    "p": 0.3056667368082906\n   },\n   "tree": "(REFERENCE,(gb_MT226610_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_CHN_KMS1_2020_Segment_null_Host_Human,epi_isl_1589870_hCoV_19_India_WB_1931501009078_2021)Node20,gb_MT326179_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_WA_UW_1572_2020_Segment_null_Host_Human,epi_isl_1589885_hCoV_19_India_WB_1931300250528_2021,(epi_isl_1615709_hCoV_19_England_CAMC_14E792B_2021,gb_MW523870_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_LA_CDC_STM_A100279_2021_Segment_null_Host_Human)Node4,epi_isl_1592421_hCoV_19_USA_MA_CDC_STM_000044850_2021,gb_MW345265_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_MD_MDH_0448_2020_Segment_null_Host_Human,gb_MW525063_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_MI_CDC_STM_0000013_D10_2021_Segment_null_Host_Human,epi_isl_1181694_hCoV_19_USA_DE_DHSS_B1064373_2021,gb_MW585851_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_GA_CDC_STM_000004152_2021_Segment_null_Host_Human,(gb_MW583322_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_AL_CDC_STM_000001665_2021_Segment_null_Host_Human,gb_MW562702_Organism_Severe_acute_respiratory_syndrome_coronavirus_2_Strain_Name_SARS_CoV_2_human_USA_UT_UPHL_2102128070_2020_Segment_null_Host_Human,epi_isl_1384851_hCoV_19_India_MH_NCCS_ND13683_2021)Node38,epi_isl_1357692_hCoV_19_India_WB_1931500870015_2021,gb_MW486334_Organism_Severe_acute_respiratory_'..b'12412": {\n+    "Node35": "CAG"\n+   },\n+   "12415": {\n+    "Node35": "CAG"\n+   },\n+   "12418": {\n+    "Node35": "CAG"\n+   },\n+   "12421": {\n+    "Node35": "CAG"\n+   },\n+   "12424": {\n+    "Node35": "CAG"\n+   },\n+   "12427": {\n+    "Node35": "CAG"\n+   },\n+   "12430": {\n+    "Node35": "CAG"\n+   },\n+   "12433": {\n+    "Node35": "CAG"\n+   },\n+   "12436": {\n+    "Node35": "CAG"\n+   },\n+   "12439": {\n+    "Node35": "CAG"\n+   },\n+   "12442": {\n+    "Node35": "CAG"\n+   },\n+   "12445": {\n+    "Node35": "CAG"\n+   },\n+   "12448": {\n+    "Node35": "CAG"\n+   },\n+   "12451": {\n+    "Node35": "CAG"\n+   },\n+   "12454": {\n+    "Node35": "CAG"\n+   },\n+   "12457": {\n+    "Node35": "CAG"\n+   },\n+   "12460": {\n+    "Node35": "CAG"\n+   },\n+   "12463": {\n+    "Node35": "CAG"\n+   },\n+   "12466": {\n+    "Node35": "CAG"\n+   },\n+   "12469": {\n+    "Node35": "CAG"\n+   },\n+   "12472": {\n+    "Node35": "CAG"\n+   },\n+   "12475": {\n+    "Node35": "CAG"\n+   },\n+   "12478": {\n+    "Node35": "CAG"\n+   },\n+   "12481": {\n+    "Node35": "CAG"\n+   },\n+   "12484": {\n+    "Node35": "CAG"\n+   },\n+   "12487": {\n+    "Node35": "CAG"\n+   },\n+   "12490": {\n+    "Node35": "CAG"\n+   },\n+   "12493": {\n+    "Node35": "CAG"\n+   },\n+   "12496": {\n+    "Node35": "CAG"\n+   },\n+   "12499": {\n+    "Node35": "CAG"\n+   },\n+   "12502": {\n+    "Node35": "CAG"\n+   },\n+   "12505": {\n+    "Node35": "CAG"\n+   },\n+   "12508": {\n+    "Node35": "CAG"\n+   },\n+   "12511": {\n+    "Node35": "CAG"\n+   },\n+   "12514": {\n+    "Node35": "CAG"\n+   },\n+   "12517": {\n+    "Node35": "CAG"\n+   },\n+   "12520": {\n+    "Node35": "CAG"\n+   },\n+   "12523": {\n+    "Node35": "CAG"\n+   },\n+   "12526": {\n+    "Node35": "CAG"\n+   },\n+   "12529": {\n+    "Node35": "CAG"\n+   },\n+   "12532": {\n+    "Node35": "CAG"\n+   },\n+   "12535": {\n+    "Node35": "CAG"\n+   },\n+   "12538": {\n+    "Node35": "CAG"\n+   },\n+   "12541": {\n+    "Node35": "CAG"\n+   },\n+   "12544": {\n+    "Node35": "CAG"\n+   },\n+   "12547": {\n+    "Node35": "CAG"\n+   },\n+   "12550": {\n+    "Node35": "CAG"\n+   },\n+   "12553": {\n+    "Node35": "CAG"\n+   },\n+   "12556": {\n+    "Node35": "CAG"\n+   },\n+   "12559": {\n+    "Node35": "CAG"\n+   },\n+   "12562": {\n+    "Node35": "CAG"\n+   },\n+   "12565": {\n+    "Node35": "CAG"\n+   },\n+   "12568": {\n+    "Node35": "CAG"\n+   },\n+   "12571": {\n+    "Node35": "CAG"\n+   },\n+   "12574": {\n+    "Node35": "CAG"\n+   },\n+   "12577": {\n+    "Node35": "CAG"\n+   },\n+   "12580": {\n+    "Node35": "CAG"\n+   },\n+   "12583": {\n+    "Node35": "CAG"\n+   },\n+   "12586": {\n+    "Node35": "CAG"\n+   },\n+   "12589": {\n+    "Node35": "CAG"\n+   },\n+   "12592": {\n+    "Node35": "CAG"\n+   },\n+   "12595": {\n+    "Node35": "CAG"\n+   },\n+   "12598": {\n+    "Node35": "CAG"\n+   },\n+   "12601": {\n+    "Node35": "CAG"\n+   },\n+   "12604": {\n+    "Node35": "CAG"\n+   },\n+   "12607": {\n+    "Node35": "CAG"\n+   },\n+   "12610": {\n+    "Node35": "CAG"\n+   },\n+   "12613": {\n+    "Node35": "CAG"\n+   },\n+   "12616": {\n+    "Node35": "CAG"\n+   },\n+   "12619": {\n+    "Node35": "CAG"\n+   },\n+   "12622": {\n+    "Node35": "CAG"\n+   },\n+   "12625": {\n+    "Node35": "CAG"\n+   },\n+   "12628": {\n+    "Node35": "CAG"\n+   },\n+   "12631": {\n+    "Node35": "CAG"\n+   },\n+   "12634": {\n+    "Node35": "CAG"\n+   },\n+   "12637": {\n+    "Node35": "CAG"\n+   },\n+   "12640": {\n+    "Node35": "CAG"\n+   },\n+   "12643": {\n+    "Node35": "CAG"\n+   },\n+   "12646": {\n+    "Node35": "CAG"\n+   },\n+   "12649": {\n+    "Node35": "CAG"\n+   },\n+   "12652": {\n+    "Node35": "CAG"\n+   },\n+   "12655": {\n+    "Node35": "CAG"\n+   },\n+   "12658": {\n+    "Node35": "CAG"\n+   },\n+   "12661": {\n+    "Node35": "CAG"\n+   },\n+   "12664": {\n+    "Node35": "CAG"\n+   },\n+   "12667": {\n+    "Node35": "CAG"\n+   },\n+   "12670": {\n+    "Node35": "CAG"\n+   },\n+   "12673": {\n+    "Node35": "CAG"\n+   },\n+   "12676": {\n+    "Node35": "CAG"\n+   },\n+   "12679": {\n+    "Node35": "CAG"\n+   },\n+   "12682": {\n+    "Node35": "CAG"\n+   }\n+  },\n   "prime-properties": [\n    "Factor I bipolar",\n    "Factor II secondary structure",\n'
b
diff -r 72b10710c4b7 -r cfbb255acb43 test-data/summary/nsp8-site.json
--- a/test-data/summary/nsp8-site.json Fri Jun 18 15:34:45 2021 +0000
+++ b/test-data/summary/nsp8-site.json Sat Jul 03 08:58:15 2021 +0000
[
b'@@ -1,1 +1,30794 @@\n-{}\n\\ No newline at end of file\n+{\n+ "12091": {\n+  "G": "ORF1a",\n+  "S": 3943,\n+  "index": 0,\n+  "bCFEL": {\n+   "p": 1,\n+   "a": 0,\n+   "b": {\n+    "background": 0,\n+    "B-1-617": 0,\n+    "Reference": 0\n+   },\n+   "pi": {\n+    "overall": 1\n+   },\n+   "pp": 1,\n+   "s": {\n+    "B-1-617": 1,\n+    "Reference": 1\n+   },\n+   "q": 1\n+  },\n+  "cdn": {\n+   "Reference": {\n+    "GCT": 32\n+   }\n+  },\n+  "aa": {\n+   "Reference": {\n+    "A": 32\n+   }\n+  },\n+  "bFEL": {\n+   "a": 0,\n+   "b": 0,\n+   "p": 1\n+  },\n+  "bMEME": {\n+   "p": 1,\n+   "a": 0,\n+   "b+": 0,\n+   "w+": 0,\n+   "b-": 0,\n+   "w-": 1,\n+   "br": 0\n+  },\n+  "lMEME": {\n+   "p": 1,\n+   "a": 0,\n+   "b+": 0,\n+   "w+": 0,\n+   "b-": 0,\n+   "w-": 1,\n+   "br": 0\n+  },\n+  "prime": {\n+   "p": [\n+    1,\n+    1,\n+    1,\n+    1,\n+    1,\n+    1\n+   ],\n+   "lambda": [\n+    0,\n+    0,\n+    0,\n+    0,\n+    0\n+   ]\n+  },\n+  "fade": {\n+   "A": {\n+    "rate": 5.6103649987489,\n+    "BF": 1.034072300241131\n+   },\n+   "C": {\n+    "rate": 5.497357704096383,\n+    "BF": 0.9944460808029579\n+   },\n+   "D": {\n+    "rate": 5.450914315769896,\n+    "BF": 0.9944662371898904\n+   },\n+   "E": {\n+    "rate": 5.510132708435626,\n+    "BF": 0.9945028091670608\n+   },\n+   "F": {\n+    "rate": 5.55986779127037,\n+    "BF": 0.994625787014365\n+   },\n+   "G": {\n+    "rate": 5.630374286370275,\n+    "BF": 0.9944235151533182\n+   },\n+   "H": {\n+    "rate": 5.650323733595499,\n+    "BF": 0.9947910585723322\n+   },\n+   "I": {\n+    "rate": 5.445463813320678,\n+    "BF": 0.9950166923528548\n+   },\n+   "K": {\n+    "rate": 5.465835253887162,\n+    "BF": 0.9945229936243131\n+   },\n+   "L": {\n+    "rate": 5.420863800335724,\n+    "BF": 0.994387024139403\n+   },\n+   "M": {\n+    "rate": 5.439729962976315,\n+    "BF": 0.9946198915399808\n+   },\n+   "N": {\n+    "rate": 5.491264217985885,\n+    "BF": 0.9943106117372973\n+   },\n+   "P": {\n+    "rate": 5.552560174723753,\n+    "BF": 0.9947444439488056\n+   },\n+   "Q": {\n+    "rate": 5.614250453936481,\n+    "BF": 0.9953233423767859\n+   },\n+   "R": {\n+    "rate": 5.410833627700861,\n+    "BF": 0.9957577535176042\n+   },\n+   "S": {\n+    "rate": 3.779539763899132,\n+    "BF": 0.9283086123730149\n+   },\n+   "T": {\n+    "rate": 4.263831753219312,\n+    "BF": 0.9491321274661958\n+   },\n+   "V": {\n+    "rate": 4.880777045571673,\n+    "BF": 0.9674772186797872\n+   },\n+   "W": {\n+    "rate": 5.630374286370275,\n+    "BF": 0.9944235151533182\n+   },\n+   "Y": {\n+    "rate": 5.506209829712969,\n+    "BF": 0.9942539853605677\n+   }\n+  }\n+ },\n+ "12094": {\n+  "G": "ORF1a",\n+  "S": 3944,\n+  "index": 1,\n+  "bCFEL": {\n+   "p": 1,\n+   "a": 0,\n+   "b": {\n+    "background": 0,\n+    "B-1-617": 0,\n+    "Reference": 0\n+   },\n+   "pi": {\n+    "overall": 1\n+   },\n+   "pp": 1,\n+   "s": {\n+    "B-1-617": 1,\n+    "Reference": 1\n+   },\n+   "q": 1\n+  },\n+  "cdn": {\n+   "Reference": {\n+    "ATA": 32\n+   }\n+  },\n+  "aa": {\n+   "Reference": {\n+    "I": 32\n+   }\n+  },\n+  "bFEL": {\n+   "a": 0,\n+   "b": 0,\n+   "p": 1\n+  },\n+  "bMEME": {\n+   "p": 1,\n+   "a": 0,\n+   "b+": 0,\n+   "w+": 0,\n+   "b-": 0,\n+   "w-": 1,\n+   "br": 0\n+  },\n+  "lMEME": {\n+   "p": 1,\n+   "a": 0,\n+   "b+": 0,\n+   "w+": 0,\n+   "b-": 0,\n+   "w-": 1,\n+   "br": 0\n+  },\n+  "prime": {\n+   "p": [\n+    1,\n+    1,\n+    1,\n+    1,\n+    1,\n+    1\n+   ],\n+   "lambda": [\n+    0,\n+    0,\n+    0,\n+    0,\n+    0\n+   ]\n+  },\n+  "fade": {\n+   "A": {\n+    "rate": 5.297486980684134,\n+    "BF": 0.9890764026148687\n+   },\n+   "C": {\n+    "rate": 5.501609972003477,\n+    "BF": 0.9894768749672077\n+   },\n+   "D": {\n+    "rate": 5.454093763983005,\n+    "BF": 0.9894695978239394\n+   },\n+   "E": {\n+    "rate": 5.512253310706406,\n+    "BF": 0.989550121179582\n+   },\n+   "F": {\n+    "rate": 5.564552413751974,\n+    "BF": 0.9895975721729365\n+   },\n+   "G": {\n+    "rate": 5.630277468662431,\n+    "BF": 0.9891876932499593\n+   },\n+   "H": {\n+    "rate": 5.657157503697782,\n+    "BF": 0.9897400635306876\n+   },\n+   "I": {\n+    "rate": 6.055311384056781,\n+    "BF": 1.060103451940054\n+   },\n+   "K": {\n+    "ra'..b'4161915809505,\n+    "BF": 0.9334103241281623\n+   },\n+   "G": {\n+    "rate": 5.630380562456343,\n+    "BF": 0.9948921255698339\n+   },\n+   "H": {\n+    "rate": 5.649477517125627,\n+    "BF": 0.995233898461\n+   },\n+   "I": {\n+    "rate": 5.121060912835349,\n+    "BF": 0.9821687591223197\n+   },\n+   "K": {\n+    "rate": 5.465063676975451,\n+    "BF": 0.9949383593306517\n+   },\n+   "L": {\n+    "rate": 5.70639772473297,\n+    "BF": 1.032029571938244\n+   },\n+   "M": {\n+    "rate": 5.440582445749659,\n+    "BF": 0.9951137744927994\n+   },\n+   "N": {\n+    "rate": 5.493332696547962,\n+    "BF": 0.9948714030837429\n+   },\n+   "P": {\n+    "rate": 5.553804681025784,\n+    "BF": 0.9952424643895733\n+   },\n+   "Q": {\n+    "rate": 5.613917267847408,\n+    "BF": 0.9957244182579306\n+   },\n+   "R": {\n+    "rate": 4.526604364385194,\n+    "BF": 0.956533649742422\n+   },\n+   "S": {\n+    "rate": 5.221929308334516,\n+    "BF": 0.9961105377447148\n+   },\n+   "T": {\n+    "rate": 5.268266367710666,\n+    "BF": 0.9947340427534851\n+   },\n+   "V": {\n+    "rate": 4.699162390157347,\n+    "BF": 0.9591325383635538\n+   },\n+   "W": {\n+    "rate": 5.630380562456343,\n+    "BF": 0.9948921255698339\n+   },\n+   "Y": {\n+    "rate": 5.506489188463021,\n+    "BF": 0.9947301182755116\n+   }\n+  }\n+ },\n+ "12682": {\n+  "G": "ORF1a",\n+  "S": 4140,\n+  "index": 197,\n+  "bCFEL": {\n+   "p": 0,\n+   "a": 0,\n+   "b": {\n+    "background": 5.651971820557556,\n+    "B-1-617": 0,\n+    "Reference": 0\n+   },\n+   "pi": {\n+    "overall": 0.9946823441693979\n+   },\n+   "pp": -1,\n+   "s": {\n+    "B-1-617": 0,\n+    "Reference": 0\n+   },\n+   "q": 1\n+  },\n+  "cdn": {\n+   "Reference": {\n+    "CAG": 30,\n+    "CAC": 1,\n+    "CAT": 1\n+   }\n+  },\n+  "aa": {\n+   "Reference": {\n+    "Q": 30,\n+    "H": 2\n+   }\n+  },\n+  "bFEL": {\n+   "a": 0,\n+   "b": 0,\n+   "p": 1\n+  },\n+  "bMEME": {\n+   "p": 0.6666666666666666,\n+   "a": 0.0001047939488656373,\n+   "b+": 1.231388513343972,\n+   "w+": 0,\n+   "b-": 2.619848721640933e-05,\n+   "w-": 1,\n+   "br": 0\n+  },\n+  "lMEME": {\n+   "p": 0.3226010900378987,\n+   "a": 0,\n+   "b+": 12.0318826699798,\n+   "w+": 0.99999999,\n+   "b-": 0,\n+   "w-": 1e-08,\n+   "br": 1\n+  },\n+  "prime": {\n+   "p": [\n+    1,\n+    1,\n+    1,\n+    1,\n+    1,\n+    1\n+   ],\n+   "lambda": [\n+    0.03644798756061563,\n+    -0.3104805457700024,\n+    0.2357212180710769,\n+    -0.03138277695602196,\n+    -0.005528760550374304\n+   ]\n+  },\n+  "fade": {\n+   "A": {\n+    "rate": 5.308678043450536,\n+    "BF": 1.055716315319722\n+   },\n+   "C": {\n+    "rate": 5.485855194240376,\n+    "BF": 1.055201214399417\n+   },\n+   "D": {\n+    "rate": 5.446266138134284,\n+    "BF": 1.055385899378762\n+   },\n+   "E": {\n+    "rate": 5.500499331126934,\n+    "BF": 1.054475503345003\n+   },\n+   "F": {\n+    "rate": 5.518132842032017,\n+    "BF": 1.055000371827809\n+   },\n+   "G": {\n+    "rate": 5.631290855192524,\n+    "BF": 1.056763207313764\n+   },\n+   "H": {\n+    "rate": 17.73708239321951,\n+    "BF": 3.307358513643126\n+   },\n+   "I": {\n+    "rate": 5.343982030446722,\n+    "BF": 1.049931891253796\n+   },\n+   "K": {\n+    "rate": 5.45735425836756,\n+    "BF": 1.053932665571368\n+   },\n+   "L": {\n+    "rate": 5.39639482035181,\n+    "BF": 1.0545826854226\n+   },\n+   "M": {\n+    "rate": 5.362035570007507,\n+    "BF": 1.052316695364487\n+   },\n+   "N": {\n+    "rate": 5.458974630132252,\n+    "BF": 1.056085864838289\n+   },\n+   "P": {\n+    "rate": 5.511453174502486,\n+    "BF": 1.052535778634476\n+   },\n+   "Q": {\n+    "rate": 0.4589403382528013,\n+    "BF": 0.5346342422907141\n+   },\n+   "R": {\n+    "rate": 5.244347172461493,\n+    "BF": 1.044187416807419\n+   },\n+   "S": {\n+    "rate": 5.129448615617326,\n+    "BF": 1.044038260812914\n+   },\n+   "T": {\n+    "rate": 5.25116626823532,\n+    "BF": 1.05380623570147\n+   },\n+   "V": {\n+    "rate": 5.32619888389831,\n+    "BF": 1.050191753850974\n+   },\n+   "W": {\n+    "rate": 5.631290855192524,\n+    "BF": 1.056763207313764\n+   },\n+   "Y": {\n+    "rate": 5.533472866110234,\n+    "BF": 1.057326684928253\n+   }\n+  }\n+ }\n+}\n\\ No newline at end of file\n'