Repository 'dante'
hg clone https://toolshed.g2.bx.psu.edu/repos/petr-novak/dante

Changeset 10:d0431a839606 (2019-08-14)
Previous changeset 9:ed4d9ede9cb4 (2019-07-03) Next changeset 11:1d5883a9ec3a (2019-08-14)
Commit message:
Uploaded
modified:
configuration.py
dante.py
dante.xml
dante_gff_output_filtering.xml
dante_gff_to_dna.py
added:
dante_pyan_scheme.png
dante_pyan_scheme.svg
fasta2database.R
fasta2database.py
summarize_gff.R
summarize_gff.xml
test-data/GEPY_test_long_1.fa
test-data/GEPY_test_long_1.fa.fai
tool-data/BL62.txt.sample
tool-data/BL80.txt.sample
tool-data/MIQS.txt.sample
tool-data/miqs.txt
removed:
test-data/GEPY_cluster_annotation
test-data/GEPY_test_long_1
test-data/classification.csv
test-data/hitsort_PID90_LCOV55.cls
test-data/proteins_all
test-data/reads_all
tool-data/blosum80.txt.sample
b
diff -r ed4d9ede9cb4 -r d0431a839606 configuration.py
--- a/configuration.py Wed Jul 03 09:21:52 2019 -0400
+++ b/configuration.py Wed Aug 14 11:24:15 2019 -0400
b
@@ -5,7 +5,7 @@
 MAIN_GIT_DIR = os.path.dirname(os.path.realpath(__file__))
 TOOL_DATA = os.path.join(MAIN_GIT_DIR, "tool-data")
 TMP = "tmp"
-SC_MATRIX = os.path.join(TOOL_DATA, "blosum80.txt.sample")
+SC_MATRIX_SKELETON = os.path.join(TOOL_DATA, "{}.txt.sample")
 AMBIGUOUS_TAG = "Ambiguous_domain"
 ## IO
 CLASS_FILE = "ALL.classification-new"
b
diff -r ed4d9ede9cb4 -r d0431a839606 dante.py
--- a/dante.py Wed Jul 03 09:21:52 2019 -0400
+++ b/dante.py Wed Aug 14 11:24:15 2019 -0400
[
b'@@ -8,6 +8,7 @@\n from collections import Counter\n from itertools import groupby\n import os\n+import re\n import configuration\n from tempfile import NamedTemporaryFile\n import sys\n@@ -17,7 +18,6 @@\n \n np.set_printoptions(threshold=sys.maxsize)\n \n-\n def alignment_scoring():\n     \'\'\' Create hash table for alignment similarity counting: for every \n \tcombination of aminoacids in alignment assign score from protein \n@@ -234,9 +234,9 @@\n def score_table(mins, maxs, data, annotations, scores, CLASSIFICATION):\n     \'\'\' Score table is created based on the annotations occurance in the cluster.\n \tMatrix axis y corresponds to individual annotations (indexed according to classes_dict),\n-\taxis x represents positions of analyzed seq in a given cluster.\n-\tFor every hit within cluster, array of scores on the corresponding position \n-\tis recorded to the table in case if the score on certain position is so far the highest \n+    axis x represents positions of analyzed seq in a given cluster.\n+    For every hit within cluster, array of scores on the corresponding position\n+    is recorded to the table in case if the score on certain position is so far the highest\n \tfor the certain position and certain annotation \'\'\'\n     classes_dict = annotations_dict(annotations)\n     score_matrix = np.zeros((len(classes_dict), maxs - mins + 1), dtype=int)\n@@ -300,7 +300,7 @@\n def create_gff3(domain_type, ann_substring, unique_annotations, ann_pos_counts,\n                 dom_start, dom_end, step, best_idx, annotation_best,\n                 db_name_best, db_starts_best, db_ends_best, strand, score,\n-                seq_id, db_seq, query_seq, domain_size, positions, gff):\n+                seq_id, db_seq, query_seq, domain_size, positions, gff, consensus):\n     \'\'\' Record obtained information about domain corresponding to individual cluster to common gff file \'\'\'\n     best_start = positions[best_idx][0]\n     best_end = positions[best_idx][1]\n@@ -341,12 +341,12 @@\n                 unique_annotations))\n     else:\n         gff.write(\n-            "{}\\t{}\\t{}\\t{}\\t{}\\t{}\\t{}\\t{}\\tName={};Final_Classification={};Region_Hits_Classifications={};Best_Hit={}:{}-{}[{}percent];Best_Hit_DB_Pos={}:{}of{};DB_Seq={};Query_Seq={};Identity={};Similarity={};Relat_Length={};Relat_Interruptions={};Hit_to_DB_Length={}\\n".format(\n+            "{}\\t{}\\t{}\\t{}\\t{}\\t{}\\t{}\\t{}\\tName={};Final_Classification={};Region_Hits_Classifications={};Best_Hit={}:{}-{}[{}percent];Best_Hit_DB_Pos={}:{}of{};DB_Seq={};Region_Seq={};Query_Seq={};Identity={};Similarity={};Relat_Length={};Relat_Interruptions={};Hit_to_DB_Length={}\\n".format(\n                 seq_id, SOURCE, configuration.DOMAINS_FEATURE, dom_start,\n                 dom_end, best_score, strand, configuration.PHASE, domain_type,\n                 ann_substring, unique_annotations, annotation_best, best_start,\n                 best_end, length_proportion, db_starts_best, db_ends_best,\n-                domain_size_best, db_seq_best, query_seq_best, percent_ident,\n+                domain_size_best, db_seq_best, consensus, query_seq_best, percent_ident,\n                 align_similarity, relat_align_len, relat_interrupt,\n                 db_len_proportion))\n \n@@ -451,10 +451,10 @@\n \n \n def domain_search(QUERY, LAST_DB, CLASSIFICATION, OUTPUT_DOMAIN,\n-                  THRESHOLD_SCORE, WIN_DOM, OVERLAP_DOM):\n+                  THRESHOLD_SCORE, WIN_DOM, OVERLAP_DOM, SCORING_MATRIX):\n     \'\'\' Search for protein domains using our protein database and external tool LAST,\n \tstdout is parsed in real time and hits for a single sequence undergo further processing\n-\t- tabular format(TAB) to get info about position, score, orientation \n+\t- tabular format(TAB) to get info about position, score, orientation\n \t- MAF format to gain alignment and original sequence\n \t\'\'\'\n \n@@ -465,15 +465,28 @@\n                              below_win, lens_above_win, seq_starts, seq_ends)\n \n     ## TAB output contains all the alignment scores, positions, strands...\n+    lastal_colu'..b' []\n+    length = []\n+    L = 0\n+    for n in s:\n+        if n == prev and count < (3 - L):\n+            count += 1\n+        else:\n+            char.append(prev)\n+            length.append(count)\n+            L = 1 if prev == "/" else 0\n+            prev = n\n+            count = 1\n+    char.append(prev)\n+    length.append(count)\n+    sequence = char[1:]\n+    return sequence, length[1:]\n+\n+def get_full_translation(translations):\n+    \'\'\'get one full length translation  from multiple partial\n+    aligned translation \'\'\'\n+    # find minimal set of alignements\n+    minimal_set = []\n+    not_filled_prev = len(translations[0])\n+    for s in translations:\n+        minimal_set.append(s)\n+        # check defined position - is there only \'-\' character?\n+        not_filled = sum([set(i) == {"-"} for i in  zip(*minimal_set)])\n+        if not_filled == 0:\n+            break\n+        if not_filled == not_filled_prev:\n+            # last added sequence did not improve coverage - remove it.\n+            minimal_set.pop()\n+        not_filled_prev = not_filled\n+    # merge translations\n+    final_translation = minimal_set[0]\n+    # record positions of joins to correct frameshifts reportings\n+    position_of_joins = set()\n+    position_of_joins_rle = set()\n+    if len(minimal_set) > 1:  # translation must be merged\n+        for s in minimal_set[1:]:\n+            s1 = re.search(r"-\\w", final_translation)\n+            s2 = re.search(r"\\w-", final_translation)\n+            if s1:\n+                position_of_joins.add(s1.start())\n+            if s2:\n+                position_of_joins.add((s2.end() - 1))\n+            final_translation = "".join(\n+                [b if a == "-" else a for a, b in zip(final_translation, s)])\n+    translation_rle = rle(final_translation)\n+    cumsumed_positions = np.cumsum(translation_rle[1])\n+    for p in position_of_joins:\n+        position_of_joins_rle.add(sum(cumsumed_positions <= p))\n+    # insert /\\ when necessary\n+    for p in position_of_joins_rle:\n+        if translation_rle[0][p] not in [\'/\',"//","\\\\", "\\\\\\\\"]:\n+            if translation_rle[1][p] == 2:\n+                translation_rle[0][p] = translation_rle[0][p] + "/"\n+            if translation_rle[1][p] == 1:\n+                translation_rle[0][p] = "\\\\"\n+    consensus = "".join(translation_rle[0])\n+    return consensus\n+\n+\n+# helper function for debugging\n+def translation_alignments(query_seq, start_hit, end_hit):\n+    pstart = min(start_hit)\n+    pend = max(end_hit)\n+    nnn = list()\n+    for s, start, end in zip(query_seq, start_hit, end_hit):\n+        nnn.append("-" * (start - pstart) + a2nnn(s) + "-" * (pend - end))\n+    return (nnn)\n+\n+\n \n def adjust_gff(OUTPUT_DOMAIN, gff, WIN_DOM, OVERLAP_DOM, step):\n     \'\'\' Original gff file is adjusted in case of containing cut parts \n@@ -679,6 +804,8 @@\n     THRESHOLD_SCORE = args.threshold_score\n     WIN_DOM = args.win_dom\n     OVERLAP_DOM = args.overlap_dom\n+    SCORING_MATRIX = args.scoring_matrix\n+    configuration.SC_MATRIX = configuration.SC_MATRIX_SKELETON.format(SCORING_MATRIX)\n \n     if OUTPUT_DOMAIN is None:\n         OUTPUT_DOMAIN = configuration.DOMAINS_GFF\n@@ -702,7 +829,7 @@\n         OUTPUT_DOMAIN = os.path.join(OUTPUT_DIR,\n                                      os.path.basename(OUTPUT_DOMAIN))\n     domain_search(QUERY, LAST_DB, CLASSIFICATION, OUTPUT_DOMAIN,\n-                  THRESHOLD_SCORE, WIN_DOM, OVERLAP_DOM)\n+                  THRESHOLD_SCORE, WIN_DOM, OVERLAP_DOM, SCORING_MATRIX)\n \n     print("ELAPSED_TIME_DOMAINS = {} s".format(time.time() - t))\n \n@@ -772,6 +899,13 @@\n         type=str,\n         help="specify if you want to change the output directory")\n     parser.add_argument(\n+        "-M",\n+        "--scoring_matrix",\n+        type=str,\n+        default="BL80",\n+        choices=[\'BL80\', \'BL62\', \'MIQS\'],\n+        help="specify scoring matrix to use for similarity search (BL80, BL62, MIQS)")\n+    parser.add_argument(\n         "-thsc",\n         "--threshold_score",\n         type=int,\n'
b
diff -r ed4d9ede9cb4 -r d0431a839606 dante.xml
--- a/dante.xml Wed Jul 03 09:21:52 2019 -0400
+++ b/dante.xml Wed Aug 14 11:24:15 2019 -0400
b
@@ -4,6 +4,7 @@
     <requirement type="package">last</requirement>
     <requirement type="package">numpy</requirement>
     <requirement type="package" version="1.0">rexdb</requirement>
+    <requirement type="set_environment">REXDB</requirement>
   </requirements>
 <stdio>
   <regex match="Traceback" source="stderr" level="fatal" description="Unknown error" />
@@ -13,9 +14,31 @@
 python3 ${__tool_directory__}/dante.py --query ${input} --domain_gff ${DomGff}
  --protein_database \${REXDB}/${db_type}_pdb
  --classification \${REXDB}/${db_type}_class
+  --scoring_matrix ${scoring_matrix}
+  &amp;&amp;
+
+python3 ${__tool_directory__}/dante_gff_output_filtering.py --dom_gff ${DomGff}
+--domains_prot_seq domains_filtered.fasta --domains_filtered domains_filtered.gff
+--output_dir .
+--selected_dom All --th_identity 0.35
+--th_similarity 0.45 --th_length 0.9
+--interruptions 1 --max_len_proportion 1.1
+--element_type ''  &amp;&amp;
+
+python3 ${__tool_directory__}/fasta2database.py domains_filtered.fasta domains_filtered.db
+domains_filtered.class  &amp;&amp;
+
+lastdb -p domains_filtered.db domains_filtered.db  &amp;&amp;
+
+python3 ${__tool_directory__}/dante.py --query ${input} --domain_gff ${DomGff2}
+ --protein_database domains_filtered.db
+ --classification domains_filtered.class
+  --scoring_matrix BL80
+
 </command>
 <inputs>
- <param format="fasta" type="data" name="input" label="Choose your input sequence" help="Input DNA must be in proper fasta format, multi-fasta containing more sequences is allowed" />
+  <param format="fasta" type="data" name="input"
+  label="Choose your input sequence" help="Input DNA must be in proper fasta format, multi-fasta containing more sequences is allowed" />
 
  <param name="db_type" type="select" label="Select taxon and protein domain database version (REXdb)" help="">
    <options from_file="rexdb_versions.loc">
@@ -23,10 +46,17 @@
      <column name="value" index="1"/>
    </options>
  </param>
+
+ <param name="scoring_matrix" type="select" label="Select scoring matrix">
+    <option value="BL80" selected="true" >BLOSUM80</option>
+    <option value="BL62">BLOSUM62</option>
+    <option value="MIQS">MIQS</option>
+</param>
 </inputs>
 
 <outputs>
- <data format="gff3" name="DomGff" label="Unfiltered GFF3 file of ALL protein domains from dataset ${input.hid}" />
+ <data format="gff3" name="DomGff" label="protein domains detected in ${input.hid} - 1st pass (unfiltered)" />
+ <data format="gff3" name="DomGff2" label="protein domains detected in ${input.hid} - 2nd pass (unfiltered)" />
 </outputs>
 <help>
 
b
diff -r ed4d9ede9cb4 -r d0431a839606 dante_gff_output_filtering.xml
--- a/dante_gff_output_filtering.xml Wed Jul 03 09:21:52 2019 -0400
+++ b/dante_gff_output_filtering.xml Wed Aug 14 11:24:15 2019 -0400
b
@@ -21,9 +21,9 @@
      <column name="value" index="0"/>
  </options>
    </param>
-   <param name="element_type" type="text" value="Ty1/copia" label="Filter based on classification" help="You can use preset options or enter an  arbitrary string to filter a certain repetitive element type of any level. It must be a continuous substring in a proper format of Final_Classification attribute of GFF3 file. Classification levels are separated by | character. Filtering is case sensitive">
+   <param name="element_type" type="text" value="" label="Filter based on classification" help="You can use preset options or enter an  arbitrary string to filter a certain repetitive element type of any level. It must be a continuous substring in a proper format of Final_Classification attribute of GFF3 file. Classification levels are separated by | character. Filtering is case sensitive">
      <option value="Ty1/copia">Ty1/copia</option>
-     <option value="Ty3/copia">Ty3/gypsy</option>
+     <option value="Ty3/gypsy">Ty3/gypsy</option>
      <option value="Class_I|">Class_I|</option>
      <option value="Class_II|">Class_II|</option>
     <sanitizer>
b
diff -r ed4d9ede9cb4 -r d0431a839606 dante_gff_to_dna.py
--- a/dante_gff_to_dna.py Wed Jul 03 09:21:52 2019 -0400
+++ b/dante_gff_to_dna.py Wed Aug 14 11:24:15 2019 -0400
b
@@ -1,12 +1,12 @@
 #!/usr/bin/env python3
 
 import argparse
-import configuration
 import time
 import os
+import textwrap
 from collections import defaultdict
 from Bio import SeqIO
-import textwrap
+import configuration
 
 t_nt_seqs_extraction = time.time()
 
b
diff -r ed4d9ede9cb4 -r d0431a839606 dante_pyan_scheme.png
b
Binary file dante_pyan_scheme.png has changed
b
diff -r ed4d9ede9cb4 -r d0431a839606 dante_pyan_scheme.svg
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/dante_pyan_scheme.svg Wed Aug 14 11:24:15 2019 -0400
b
b'@@ -0,0 +1,326 @@\n+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\n+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"\n+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n+<!-- Generated by graphviz version 2.36.0 (20140111.2315)\n+ -->\n+<!-- Title: G Pages: 1 -->\n+<svg width="2270pt" height="436pt"\n+ viewBox="0.00 0.00 2270.00 436.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 432)">\n+<title>G</title>\n+<polygon fill="white" stroke="none" points="-4,4 -4,-432 2266,-432 2266,4 -4,4"/>\n+<g id="clust1" class="cluster"><title>cluster_G</title>\n+<path fill="#808080" fill-opacity="0.094118" stroke="black" d="M20,-8C20,-8 2242,-8 2242,-8 2248,-8 2254,-14 2254,-20 2254,-20 2254,-408 2254,-408 2254,-414 2248,-420 2242,-420 2242,-420 20,-420 20,-420 14,-420 8,-414 8,-408 8,-408 8,-20 8,-20 8,-14 14,-8 20,-8"/>\n+</g>\n+<!-- dante -->\n+<g id="node1" class="node"><title>dante</title>\n+<ellipse fill="#ffffff" fill-opacity="0.698039" stroke="black" cx="1004" cy="-394" rx="29.3479" ry="18"/>\n+<text text-anchor="middle" x="1004" y="-390.3" font-family="Times,serif" font-size="14.00" fill="#000000">dante</text>\n+</g>\n+<!-- dante__CustomFormatter -->\n+<g id="node2" class="node"><title>dante__CustomFormatter</title>\n+<ellipse fill="#fecccc" fill-opacity="0.698039" stroke="black" cx="89" cy="-322" rx="73.1654" ry="18"/>\n+<text text-anchor="middle" x="89" y="-318.3" font-family="Times,serif" font-size="14.00" fill="#000000">CustomFormatter</text>\n+</g>\n+<!-- dante&#45;&gt;dante__CustomFormatter -->\n+<g id="edge4" class="edge"><title>dante&#45;&gt;dante__CustomFormatter</title>\n+<path fill="none" stroke="#838b8b" stroke-dasharray="5,2" d="M974.471,-392.552C866.016,-390.536 480.929,-380.546 167,-340 160.79,-339.198 154.356,-338.221 147.963,-337.146"/>\n+<polygon fill="#838b8b" stroke="#838b8b" points="148.443,-333.677 137.987,-335.386 147.227,-340.57 148.443,-333.677"/>\n+</g>\n+<!-- dante&#45;&gt;dante__CustomFormatter -->\n+<g id="edge21" class="edge"><title>dante&#45;&gt;dante__CustomFormatter</title>\n+<path fill="none" stroke="#000000" d="M974.392,-392.41C867.401,-390.09 492.144,-379.67 185,-340 175.598,-338.786 165.683,-337.171 155.921,-335.42"/>\n+<polygon fill="#000000" stroke="#000000" points="156.301,-331.931 145.832,-333.556 155.029,-338.814 156.301,-331.931"/>\n+</g>\n+<!-- dante__adjust_gff -->\n+<g id="node3" class="node"><title>dante__adjust_gff</title>\n+<ellipse fill="#fecccc" fill-opacity="0.698039" stroke="black" cx="505" cy="-178" rx="46.2191" ry="18"/>\n+<text text-anchor="middle" x="505" y="-174.3" font-family="Times,serif" font-size="14.00" fill="#000000">adjust_gff</text>\n+</g>\n+<!-- dante&#45;&gt;dante__adjust_gff -->\n+<g id="edge7" class="edge"><title>dante&#45;&gt;dante__adjust_gff</title>\n+<path fill="none" stroke="#838b8b" stroke-dasharray="5,2" d="M977.391,-385.915C943.907,-376.703 884.868,-359.47 836,-340 821.049,-334.043 624.595,-237.732 541.603,-196.983"/>\n+<polygon fill="#838b8b" stroke="#838b8b" points="543.049,-193.794 532.53,-192.528 539.964,-200.077 543.049,-193.794"/>\n+</g>\n+<!-- dante__alignment_scoring -->\n+<g id="node4" class="node"><title>dante__alignment_scoring</title>\n+<ellipse fill="#fecccc" fill-opacity="0.698039" stroke="black" cx="219" cy="-34" rx="76.5394" ry="18"/>\n+<text text-anchor="middle" x="219" y="-30.3" font-family="Times,serif" font-size="14.00" fill="#000000">alignment_scoring</text>\n+</g>\n+<!-- dante&#45;&gt;dante__alignment_scoring -->\n+<g id="edge20" class="edge"><title>dante&#45;&gt;dante__alignment_scoring</title>\n+<path fill="none" stroke="#838b8b" stroke-dasharray="5,2" d="M974.566,-392.156C863.693,-388.738 471.497,-374.426 352,-340 269.671,-316.281 181,-336.678 181,-251 181,-251 181,-251 181,-177 181,-137.196 179.276,-126.039 191,-88 193.85,-78.7512 198.325,-69.2277 202.868,-60.8496"/>\n+<polygon fill="#838b8b" stroke="#838b8b" points="206.028,-62.3733 207.942,-51.9529 199.948,-58.9'..b'193.856 1469.26,-192.655"/>\n+<polygon fill="#000000" stroke="#000000" points="1470.08,-196.057 1479.07,-190.439 1468.54,-189.229 1470.08,-196.057"/>\n+</g>\n+<!-- dante__domain_search&#45;&gt;dante__overlapping_regions -->\n+<g id="edge35" class="edge"><title>dante__domain_search&#45;&gt;dante__overlapping_regions</title>\n+<path fill="none" stroke="#000000" d="M1138.58,-244.552C1238.31,-236.976 1441.24,-220.024 1612,-196 1619.66,-194.923 1627.64,-193.666 1635.58,-192.333"/>\n+<polygon fill="#000000" stroke="#000000" points="1636.32,-195.757 1645.58,-190.611 1635.13,-188.859 1636.32,-195.757"/>\n+</g>\n+<!-- dante__domain_search&#45;&gt;dante__score_matrix_evaluation -->\n+<g id="edge27" class="edge"><title>dante__domain_search&#45;&gt;dante__score_matrix_evaluation</title>\n+<path fill="none" stroke="#000000" d="M1139.77,-246.158C1265.04,-240.095 1554.84,-224.099 1797,-196 1806.06,-194.949 1815.52,-193.687 1824.91,-192.331"/>\n+<polygon fill="#000000" stroke="#000000" points="1825.67,-195.757 1835.05,-190.828 1824.64,-188.832 1825.67,-195.757"/>\n+</g>\n+<!-- dante__domain_search&#45;&gt;dante__score_table -->\n+<g id="edge39" class="edge"><title>dante__domain_search&#45;&gt;dante__score_table</title>\n+<path fill="none" stroke="#000000" d="M1013.28,-247.64C899.371,-244.318 653.662,-233.105 450,-196 445.566,-195.192 440.988,-194.198 436.43,-193.099"/>\n+<polygon fill="#000000" stroke="#000000" points="437.103,-189.658 426.546,-190.557 435.359,-196.437 437.103,-189.658"/>\n+</g>\n+<!-- dante__domain_search&#45;&gt;dante__split_fasta -->\n+<g id="edge32" class="edge"><title>dante__domain_search&#45;&gt;dante__split_fasta</title>\n+<path fill="none" stroke="#000000" d="M1140.69,-247.36C1322.78,-242.358 1843.19,-225.792 2011,-196 2015.16,-195.261 2019.45,-194.312 2023.72,-193.243"/>\n+<polygon fill="#000000" stroke="#000000" points="2024.83,-196.569 2033.56,-190.567 2022.99,-189.814 2024.83,-196.569"/>\n+</g>\n+<!-- dante__domain_search&#45;&gt;dante__write_info -->\n+<g id="edge37" class="edge"><title>dante__domain_search&#45;&gt;dante__write_info</title>\n+<path fill="none" stroke="#000000" d="M1140.79,-247.762C1337.32,-243.633 1931.78,-228.703 2122,-196 2126.24,-195.272 2130.6,-194.331 2134.94,-193.266"/>\n+<polygon fill="#000000" stroke="#000000" points="2136.19,-196.555 2144.95,-190.597 2134.39,-189.791 2136.19,-196.555"/>\n+</g>\n+<!-- dante__filter_params&#45;&gt;dante__alignment_scoring -->\n+<g id="edge25" class="edge"><title>dante__filter_params&#45;&gt;dante__alignment_scoring</title>\n+<path fill="none" stroke="#000000" d="M248.559,-88.055C244.075,-80.0067 238.614,-70.2046 233.612,-61.2259"/>\n+<polygon fill="#000000" stroke="#000000" points="236.549,-59.3075 228.625,-52.2753 230.434,-62.7145 236.549,-59.3075"/>\n+</g>\n+<!-- dante__line_generator&#45;&gt;dante__line_generator -->\n+<g id="edge26" class="edge"><title>dante__line_generator&#45;&gt;dante__line_generator</title>\n+<path fill="none" stroke="#000000" d="M1565.86,-191.203C1585.63,-192.737 1603,-188.336 1603,-178 1603,-169.521 1591.31,-165.036 1576.2,-164.545"/>\n+<polygon fill="#000000" stroke="#000000" points="1575.77,-161.055 1565.86,-164.797 1575.94,-168.053 1575.77,-161.055"/>\n+</g>\n+<!-- dante__main&#45;&gt;dante__domain_search -->\n+<g id="edge41" class="edge"><title>dante__main&#45;&gt;dante__domain_search</title>\n+<path fill="none" stroke="#000000" d="M1065.63,-304.055C1067.3,-296.261 1069.32,-286.822 1071.2,-278.079"/>\n+<polygon fill="#000000" stroke="#000000" points="1074.63,-278.787 1073.3,-268.275 1067.78,-277.32 1074.63,-278.787"/>\n+</g>\n+<!-- dante__score_table&#45;&gt;dante__annotations_dict -->\n+<g id="edge23" class="edge"><title>dante__score_table&#45;&gt;dante__annotations_dict</title>\n+<path fill="none" stroke="#000000" d="M426.204,-165.403C433.984,-163.289 442.21,-161.334 450,-160 727.01,-112.576 1061.92,-106.495 1211.37,-106.404"/>\n+<polygon fill="#000000" stroke="#000000" points="1211.38,-109.904 1221.38,-106.407 1211.38,-102.904 1211.38,-109.904"/>\n+</g>\n+</g>\n+</svg>\n'
b
diff -r ed4d9ede9cb4 -r d0431a839606 fasta2database.R
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fasta2database.R Wed Aug 14 11:24:15 2019 -0400
[
@@ -0,0 +1,14 @@
+library(Biostrings)
+input_fasta = commandArgs(T)[1]
+## for testing input_fasta="/mnt/raid/454_data/RE2_benchmark/REPET_annotation/Prunus_persica/DANTE_proteins_filtered.fasta"
+s = readAAStringSet(input_fasta)
+names_table = do.call("rbind", strsplit(names(s)," "))
+head(names_table)
+classification_table = paste(names_table[,1], gsub("|","\t",names_table[,3], fixed = TRUE), sep="\t")
+cat(unique(classification_table), sep="\n", file = paste(input_fasta, ".classification", sep = ""))
+
+new_fasta_names = paste("NA-", names_table[,2], "__", names_table[,1], sep="")
+
+names(s) = new_fasta_names
+
+writeXStringSet(s, filepath = paste(input_fasta, ".db",sep=''))
b
diff -r ed4d9ede9cb4 -r d0431a839606 fasta2database.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fasta2database.py Wed Aug 14 11:24:15 2019 -0400
[
@@ -0,0 +1,25 @@
+#!/usr/bin/env python3
+'''
+Helper script to create DANTE databese which can be used in second iteration
+'''
+import sys
+
+fasta_input = sys.argv[1]
+db_fasta_output_file = sys.argv[2]
+db_classification_file = sys.argv[3]
+classification_table = set()
+# fasta header will be reformatted to correct REXdb classification
+with open(fasta_input, 'r') as f, open(db_fasta_output_file, 'w') as out:
+    for line in f:
+        if line[0] == ">":
+            ## modify header
+            name, domain, classification = line.split(" ")
+            name_clean=name[1:].replace("-","_")
+            new_header = ">NA-{}__{}\n".format(domain, name_clean)
+            classification_string = "\t".join(classification.split("|"))
+            classification_table.add("{}\t{}".format(name_clean, classification_string))
+            out.write(new_header)
+        else:
+            out.write(line)
+with open(db_classification_file, 'w') as f:
+    f.writelines(classification_table)
b
diff -r ed4d9ede9cb4 -r d0431a839606 summarize_gff.R
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/summarize_gff.R Wed Aug 14 11:24:15 2019 -0400
[
@@ -0,0 +1,37 @@
+## summarize hits
+output = commandArgs(T)[2] ## output table
+filepath = commandArgs(T)[1]  ## input dante gff3
+summarized_by = commandArgs(T)[-(1:2)]
+
+readGFF3fromDante = function(filepath){
+  dfraw=read.table(filepath, as.is = TRUE)
+  gff_df = dfraw[,1:8]
+  colnames(gff_df) = c("seqid", "source", "type", "start", "end", "score",
+                    "strand", "phase")
+  ## assume same order, same attributes names
+  gffattr = do.call(rbind,
+                    lapply(
+                      strsplit(dfraw[,9],split=c("=|;")),
+                      function(x)x[c(FALSE,TRUE)]
+                    )
+                    )
+  gff_df$Name = gffattr[,1]
+  gff_df$Final_Classification = gffattr[,2]
+  gff_df$Region_Hits_Classifications = gffattr[,3]
+  gff_df$Best_Hit = gffattr[,4]
+  gff_df$Best_Hit_DB_Pos = gffattr[,5]
+  gff_df$DB_Seq = gffattr[,6]
+  gff_df$Query_Seq = gffattr[,7]
+  gff_df$Identity = as.numeric(gffattr[,8])
+  gff_df$Similarity = as.numeric(gffattr[,9])
+  gff_df$Relat_Length = as.numeric(gffattr[,10])
+  gff_df$Relat_Interruptions = as.numeric(gffattr[,11])
+  gff_df$Hit_to_DB_Length = as.numeric(gffattr[,12])
+  return(gff_df)
+}
+
+gff = readGFF3fromDante(filepath)
+# summarize_by = c("Final_Classification", "Name", "seqid")
+
+tbl = data.frame(table(gff[,summarize_by]))
+write.table(tbl, file = filepath, row.names =FALSE, quote = FALSE)
b
diff -r ed4d9ede9cb4 -r d0431a839606 summarize_gff.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/summarize_gff.xml Wed Aug 14 11:24:15 2019 -0400
[
@@ -0,0 +1,22 @@
+<tool id="gff_summary" name="Summarize gff3 output from DANTE" version="0.1.0" python_template_version="3.5">
+    <requirements>
+        <requirement type="package">R</requirement>
+    </requirements>
+    <command detect_errors="exit_code"><![CDATA[
+        summarize_gff.R '$inputgff' '$output'
+    ]]></command>
+    <inputs>
+      <param type="data" name="inputgff" format="gff3" />
+      <param name="group" type="select" label="select categories to summarize" multiple="true">
+            <option value="Name">Numerical sort</option>
+            <option value="Final_Classification">General numeric sort</option>
+            <option value="seqid">Alphabetical sort</option>
+      </param>
+    </inputs>
+    <outputs>
+        <data name="output" format="csv" />
+    </outputs>
+    <help><![CDATA[
+        TODO: Fill in help.
+    ]]></help>
+</tool>
b
diff -r ed4d9ede9cb4 -r d0431a839606 test-data/GEPY_cluster_annotation
--- a/test-data/GEPY_cluster_annotation Wed Jul 03 09:21:52 2019 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,57 +0,0 @@
-11 LTR/copia/Angela
-15 LTR/copia/Angela
-32 LTR/copia/Angela
-70 LTR/copia/Angela
-71 LTR/copia/Angela
-78 LTR/copia/Angela
-108 LTR/copia/Angela
-2 LTR/copia/Bianca
-31 LTR/copia/Bianca
-50 LTR/copia/Ivana
-66 LTR/copia/Ivana
-68 LTR/copia/Ivana
-106 LTR/copia/Ivana
-75 LTR/copia/Tork
-83 LTR/copia/Tork
-6 LTR/gypsy/Athila
-17 LTR/gypsy/Athila
-22 LTR/gypsy/Athila
-26 LTR/gypsy/Athila
-37 LTR/gypsy/Athila
-42 LTR/gypsy/Athila
-48 LTR/gypsy/Athila
-55 LTR/gypsy/Athila
-60 LTR/gypsy/Athila
-65 LTR/gypsy/Athila
-74 LTR/gypsy/Athila
-85 LTR/gypsy/Athila
-86 LTR/gypsy/Athila
-89 LTR/gypsy/Athila
-102 LTR/gypsy/Athila
-123 LTR/gypsy/Athila
-127 LTR/gypsy/Athila
-145 LTR/gypsy/Athila
-63 LTR/gypsy/chromo
-73 LTR/gypsy/chromo
-3 LTR/gypsy/Tat
-51 LTR/gypsy/Tat
-56 LTR/gypsy/Tat
-58 LTR/gypsy/Tat
-92 LTR/gypsy/Tat
-96 LTR/gypsy/Tat
-101 LTR/gypsy/Tat
-121 LTR/gypsy/Tat
-18 LTR
-20 LTR
-35 LTR
-8 MITE
-16 MITE
-24 MITE
-4 MITE
-40 MITE
-47 MITE
-111 rDNA
-1 Tandem
-44 Tandem
-109 Tandem
-124 Tandem
b
diff -r ed4d9ede9cb4 -r d0431a839606 test-data/GEPY_test_long_1
--- a/test-data/GEPY_test_long_1 Wed Jul 03 09:21:52 2019 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,527 +0,0 @@\n->scaffold146.1|size86774\n-CTAGAACACCAACACTAACAGGTACTACAGTCTGGAATCGGATATCTCGCATGTTAAAAT\n-ATTCGGATGTGCTGTTTATATTCTCATTCCCCTGTCTCAAAGAACAAAAGTGGGACCCCA\n-ACGTCGATTGAAAATTTATATTGGATTTGAATCTCCTACGATTATACGATACCTTGAGCC\n-NNNNNNNTTAACATGAGATGTGTTTACTGCTAGATTTGCAGATTGTTATTTTGATCAAAC\n-CCATTTTCATAAGTCATTGAAATAAAATGAGAAATATAAAAAATTAAGTTGGCATAAGTC\n-ATCATTGACACATTACGATCCTCGTACTAAGGAATGTGAACTGGGAGTTTAGAAAATTCT\n-TCATGTGCCGGAATAGACAATTCAATTGTCGAATGTGTTTAACGATGCGAATGGGGTTTT\n-ACAATCGCATATACTTGCAGCAAACACACCGATTAAGGTTGATGTTCCTGAAGAACGCAC\n-GAAAATTGCGAACGAATCAAAAATGCGTTTGGAACGAGGTAGATCTATTGGTTCTAAGGA\n-TAAGAATCCTAGAACGAACACCGAATGTTCAAATTGAGAATGTGTCGAATCCTCTGAGCA\n-CACATATGGTGGTTAGATCTTTGGATGTGAAAATGGATCCATTCAGACCGCATGAGAACG\n-ATGAAGAAATATTAGGNNNNNGAAGTACCTTATCTTAGTGCAATCGGGGCATTGATGTAT\n-CTTGCGAATAATACGAGGCCTAATATAGCATTTGCTGTTAATCTGTTGACAAGATGTAGT\n-TCGTCGCCTACGAAAAGATATTGGAAATGCGTGAAACATGTTCTTCGATANNNNNNNNNN\n-NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\n-NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\n-NNNNNNNNNNNNNNTATTTCTTGGCGATCTACGAAACAAACTATCGTAGCTATCTCGTCA\n-AATCACGTAGAATTATTAGCGATACATGACACAAGTCGTGAATGCGTCTGGTTGAGATTT\n-ATGATTGAAAGCATTTATAATGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\n-NNNNNNNNNNNNNNTACAGTTGAAAGAATGATATATTAAATGTGACCGAACGAAACATAT\n-TTCGCCAAAATTCTTTCTTTACACAAGATCTTCAAAAGAACGGAGATGTGATTATCCAGC\n-AGATACGATCAAACGATAATGTAGTAGATTTATTCACAAAACTGCTTCATACGGCAGGTT\n-TTGAAAAGTTGATCTACAACAATGGCATTCGAAGATTGAAAGGTTTGGAGTGATGCAACC\n-ATCAGGGGTAGATGTTTTTGCTTGAAGACGGAGGGATGTAAAAAGATTATAGAAATGTAC\n-TCTTTTTCATTCACTAAGGTTTTTATCCTTTTTCCTTAGTAAAGTTTTAACGAGTCATAT\n-CCTATAATGATAGACATCCAGGGTGGAGTATTACAAAACTATACTCGAAAATTAGATTGT\n-GGATGTCTAGTTTACCAAGTTTCAAATAAAGACGGAAATAAATAGTACTATACACAAAAT\n-AATGCTATTCATGTGGGGCTCACGTCATTAATTTGTTTGAATTATAAAACGGTTCAGAAC\n-CATCGCTCACCTATATAAATAGAGGTTATGTATGCTGAAATTATACAGATGAAATAATAC\n-AGATTTTATACTTTCATTTTCTTTATTCTTCTTCCGTTTCTACTATATCGAAGTAATTCA\n-TAGAGAAGTTGACGTAGAACGTCCGATTGAAGATTCAAGTAAATATTTTTCATTTATTGG\n-TATTATTACTTTCCTAACAATTATTTGATTAAGCGCTATTGTTATTTGAGTCTCCTTCAT\n-TCACACAAATTGCATTCGAGAAAAAGACATTTTTTGTCCCCTCAAATTTTTCAACTTTCA\n-ATTTTTTGTCCCTCGACTTTCAAAGAAGACACATTTGGTTTCTTAAATTTGATTTAAGGT\n-CAATTTTGATTCATATTACAAAATTTTAATCATAAATTGACTATTTTACCTGTAAATAAA\n-TATTTTTAAAAGTTGAATTTCATTTTCTTAGACTATTTAAATGTAATTTGACTTGATTGT\n-GAGACTTATGAAGTGATTGTGAATCTTGTTTAAGACTTAAATATTCAATGTATGATAGAA\n-AATTTATGTTGCAATCATATTATTGTGGAAATCTTATATAACATTGACGTGGAAATTTTT\n-GTGTCGTGCCAAAAATAATAACCTCACAACAACAATAATGGAAAATTTTCTGTGCTCATT\n-TTTTGTCGTCTTCCTCCTCCTCTCTGCCGCTGCAAATGGCGACGACGTGTACACATCCTT\n-CGTTAACTTCCTCGCAAAGAACGGCATTTCCAGCGCCGAAATCTCTTCCACCGTCTACTC\n-TCCACAAAACACTAGCTTCCAGAACGTTCTACTCTCCGCCGTGAGGAACCGCCGGTTCAA\n-CCGATCCACCACCAGAAACCCAGCACGATTTTCGCGCCCACGGCGGAATCCCACGTCAGC\n-GCCGCCGTCATTTGCTCCAAGGAACTCGGGATTCAGCTCAAGATCCGCAGCGGCGGCCAC\n-GACTTCGAGGGCATCTCCTACGTTTCTGCGGACGGCGGCGCGTTCGTCTTACTGGATGTG\n-TCCAATTTCCGGTCGATTTCCGTCGATATTCCCGGCGAGACGGCGTGGGTCGGCCCCGGG\n-GCTTATCTCGGAGAGCTGTACTACAGGATCTGGGAGAAGAGTAGCGTCCACGGTTTCCCC\n-GCCGGGGTCCCGCCCTCCGTTCGATTTTCCAGAAAATGCTTCAAATCGGCGAAGTGGGGC\n-TGACGTTTAACTCCTACGGCGGAGTAATGGACCGGATCCCGGAATCGGAAGCTCCCTTCC\n-\n-TCCTAAAGAACTTAAAACGGCTTATATCTCGCTATATAACGATATTTAAGGATTCGAAAC\n-CACTTATAATCTCTTTTCATGCCTTAAATGAGGTTATTTAAGGATCCAATTGCATTTAAA\n-ATGCCTTATTATGCATCAAATAGCTTCAAATAGCCTTAACTATGCTAAAGAACTTATAAC\n-GGCTTATATCTCGCTATATAACGATATTTAACCATCCGAAACCACTTATAATCTCTTTTC\n-AAGCCTTAAATGAGGTTATTTAAGGATCCAATTGCATTTAAAATGTCTTATTATGCATCA\n-AATAGCTTCAAATAGCCTAAACTATGCTAAAGAACTTATAACGGCTTATATCTCGCTATA\n-TAACGATATTAAAGCATCCGAAACCACTTATAATCTCTTTTCAAGCCTTAAATGAGGTTA\n-TTAAAGGATCCAATTGCATTTAGAATGCCTTATTATGCATCAAATAGCTTCAAATAGCCT\n-AAACTATGCTAAAGAACTTATAACGGCTTATATCTCGCTATATAACGATATTAAAGCATC\n-TCCTAAAGAACTTAAAACGGCTTATATCTCGCTATATAACGATATTTAAGGATTCGAAAC\n-CACTTATAATCTCTTTTCATGCCTTAAATGAGGTTATTTAAGGATCCAATTGCATTTAAA\n-ATGCCTTATTATGCATCAAATAGCTTCAAATAGCCTTAACTATGCTAAAGAACTTATAAC\n-GGCTTATATCTCGCTATATAACGATATTTAACCATCCGAAACCACTTATAATCTCTTTTC\n-AAGCCTTAAATGAGGTTATTTAAGGATCCAATTGCATTTAAAATGTCTTATTATGCATCA\n-AATAGCTTCAAATAGCCTAAACTATGCTAAAGAACTTATAACGGCT'..b'ATATATCTTTCCATGTTATGAATGATCCTGAAGATCC\n-TGAACCTAGAACAATGACTGAATGTCAGAAACGAGATGATTGGCCAAAATGGAAAGATGC\n-TATAGAAAGTGAGCTGAAATCTCTGAATAAGAGAGATGTTTTCGGACCTGTAGTTCGAAC\n-ACCTGAAGGTGTACAACCGGTTGGTTATAAGTGGGTTTTTGTGAGAAAACGAAATGATAA\n-AGGAGAAATATCTCGGTATAAGGCGAGATTAGTAGCTCAAGGGTTTTCTCAAAGGCCAGG\n-AATTGATTATGATGAAACCTATTCACCGGTTATGGATGCCACAACTTTCAGGTTTTTGAT\n-AAGTCTGGCGATTGAATATGGGCTTGATTTACAACTGATGGATGTTGTAACAGCATACTT\n-ATATGGGTCACTGGATTGTGAAATATATATGAAAATCCCTGAAGGGTTTCATATGCCTGA\n-ACGATATAGTTCTGAACCCCGTACCGATTATGCGATTAAATTGAATAAATCCCTGTATGG\n-ATTAAAGCAGTCAGGACGAATGTGGTATAACCGTCTAAGTGAATACTTGATTAAAGAGGG\n-TTATAAGAACAATTTGGTTTGTCCCTGTGTTTTTATGAAGAAATTCGAAAATGAGTTCGT\n-GATCATCGCTGTGTATGTCGATGACATTAATATTGTGGGAACTCAGAAGGCATTATTGGA\n-TGCCGTGAACTGCTTGAAAAGGGAATTTGAAATGAAGGATTTGGGAAGAACGAAATATTG\n-CCTTGGTTTGCAAATTGAATATTTGAAAAATGGGATTTTTCG\n-TACCGATTATGCTATTAAATTGAATAAATCCCTGTATGGATTAAAGCAGTCAGGACGAAT\n-GTGGTATAACCGTCTGAGTGAGTATCTGATCAAAGAAGGTTATAAAAACAATTTGGTTTG\n-TCCTTGTGTTTTTATGAAGAATTTTGAAAATGAGTTCGTGATCATCGCTGTGTATGTCGA\n-TGACATTAATATTGTGGGAACTCAGAAGGCATTATTAGATGCTGTGAACTGCTTGAAAAG\n-GGAATTTGAAATGAAGGATTTGGGAAGAACGAAATATTGCCTTGGTTTGCAAATTGAATA\n-TTTGAAAAATGGGATTTTTCTTCATCAGAATACGTATACCAAGAAGGTATTGAAACGTTT\n-TTATATGGATTATTCACATCCTCTGAGCACACCTATGGTGGTTAGATCTTTAGATGTGAA\n-AACGGATCCATTCAGGCCACAGGAGAACGATGAAGAAATATTAGGTCCTGAAGTACCTTA\n-TCTTAGTGCAATCGGGGCATTAATGTATCTTGCGAATAATACGAGGCCTGACATTGCATT\n-TGCTGTTAATCTGTTGGCAAGATATAGTTCATCGCCTACGAAAAGACATTGGAAAGGCGT\n-GAAACATGTTCTTCGATATCTTCAAGGTACTACTGATAAGGGGTTGTATTATCAGAAAGA\n-TATGAAGTCAGAACTTATCGGGTATGCTGATGCTGGATATAGATCAGATCCACATAATGG\n-GAGATCTCAGACAGGATATGTTTTCCTGAATAAAGGAGCTGCTATTTCTTGGCGATCTAC\n-GAAACAGACTATCGCAGCTACCTCGTCAAACCACGCAGAATTACTAGCGATACACGAAAC\n-AAGTCGTGAATGCGTTTGGTTGAGATCTATGATTGAAAGCATTTATAATGCTTGTGGATT\n-GTTTACAGATAAGATGCCTCCGACTGTATTATATGAAGATAATAGTGCATGTATTATACA\n-GTTGAAAGAAGGATATATTAAGGGTGACAGAACGAAACATATTTCACCAAAATTCTTCTT\n-TACACATGATCTTCAAAAGAACGGAGAGGTAATTATCCAGCAGATACGATCAAGCGATAA\n-TGTGGCAGATTTATTCACGAAACCACTCCCTACATCAACTTTTGAAAAGTTGATTTACAA\n-TATTGGAATCCGAAGGTTGAAGGATTTGGAGTGATGCAGTCATCAGGGGGAGATGTTTTT\n-GACTGAGGACAAAGGGATGCAAGAAAATTATAGGAATGTACTCTTTTTCCTTCACTAAGG\n-TTTTTATCCCATTGGGTTTTTCCTTAGTAAGGTTTTAACGAGGCATATCCTATAATGATA\n-GACATCCAAGGGGGAGTGTTGTAAAACTATACACGAAAATCGGATTGTGGATGTCTATTA\n-TACCATATTTCAAATAAAGACGGAAATGCACAGTACTTACTATTCATGTGGGTCCCGCAG\n-CATTAAATTTATCAAATTATTGATTGTAAACGAACGGATGTAATCGATGATTGATGCCTA\n-TAAATATAGGCATGGTGCAGAATGAATTTAAGCAGAACAAAATTTGAGCATAAATTTTTC\n-TCTTCTTCTTCTCATTTCTTTTCTTGATTCAATAATACGCTGAAGGAATTTCTACAGAAG\n-TTGACGTAGAACGTCCGATTGAAGATTCAAGTAAGTTTATGAATTATTCATCTTTTATTT\n-CTTATTTTTCTAACACGTTATCAGCACGAAGTCTAACCAACTGAGTGCTTATATAATCTT\n-GAAGATTATATATTATATGATATGATCCCGCAGATCGTATGGTTGATTCGATGATCCAGA\n-AGATTATTTGATTTAAC\n-TTCTTTACCATTTTCGTCTGAAGTCTCAATATGATATCCATTTCGGCGAATATCTCTAAA\n-ACTCAATAAATTCCTTCGAGACTTATTCGCATATAATGCATCATCAATTCTGATATGCGT\n-TCCCGATGGTAATACTATCACAGCTCTGCCGGAGCCTTCAACAATATTCGCTTCACATAC\n-AATTGTGGCAATATTTACATCCCGTTTTTCAAAACTAGTAAAATATCTCATGTTTTTCAA\n-GATCGTATGCGTCGTTGCACTATCCACCAGACATTCATCACCCTCAGCCATGCTGGAAAT\n-AAACAATATATTTCATTATCAGTTCATGATACAATTTACAATTCGGCATACATAATACCA\n-ACAATAATGCCCAGAAATGTTAACAGCGTGGAAACAAAGACTGAAGCGTCTATGTTCTGG\n-ATCATCCAAATATACCCAAAAATAAAAGTTACCATAAAAACTATAAAAACAAGATACTGA\n-ACAGAGGTGTTCATCTGGCTCAGAGATTTTGTAAAGAGATTTAGAAAAGAGAAGTTTTTA\n-AGTGAAAAACCTTCTTGATAAAATCGTTATTTATACTGAGCCAAGTTACCGACAATATCT\n-GCGAAATCCAAGATTTTCGTTGAAAAAACATAACACCTTATTAAAATATTCAAAACACGC\n-CGAATATTTTACAAAACACGCTGATAACATGCCGAATACAACATATTTATTTCAACCAGC\n-ATTATTAAATAGATAACTAAATCCTTCGTCTGGATCA\n-CGTGGACGTGGTCGTGGCCGAGGTCGTTACTATGATTATGGTCGTGAAAAGAACAAGTAT\n-ATCTGGAAGAAACCTGCCGTTGTCAAAGAGGTAAATGTGAAAAATGATCAGGGTGACCAG\n-AATACTTGTTACAGATGTGGAAAGGAAGGACACTGGTCACGGACGTGTCGAACGCCTAAA\n-TCACTTGTCGACCTTTATCAGCGAGCGAAGAAAATTGAGGAAAAGGGGAAGAAAAAGGAG\n-ACGAATAACGCTGAAGCTGAGACGTATAACGGAGAAGTCAATATGACTAAGCTGGATGTC\n-GCAGATTTCCTGGCTGATCCAGACGAAGGATTTAGTTATCTATTTAATAATGCTGGTTGA\n-AAGAAATTGTTGTATTCGGCATGTTATCAGCGTGTTTTGTAAAATATTCGGCGTGTTTTG\n-AATATTTTAATAAAATGTTATGTTTTTCAACGAAAATATTGGATTTCGCAGATATTGTCG\n-GTAACTT\n-\n-\n-\n'
b
diff -r ed4d9ede9cb4 -r d0431a839606 test-data/GEPY_test_long_1.fa
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/GEPY_test_long_1.fa Wed Aug 14 11:24:15 2019 -0400
b
b'@@ -0,0 +1,378 @@\n+>scaffold146.1|size86774\n+CTAGAACACCAACACTAACAGGTACTACAGTCTGGAATCGGATATCTCGCATGTTAAAATATTCGGATGTGCTGTTTATA\n+TTCTCATTCCCCTGTCTCAAAGAACAAAAGTGGGACCCCAACGTCGATTGAAAATTTATATTGGATTTGAATCTCCTACG\n+ATTATACGATACCTTGAGCCNNNNNNNTTAACATGAGATGTGTTTACTGCTAGATTTGCAGATTGTTATTTTGATCAAAC\n+CCATTTTCATAAGTCATTGAAATAAAATGAGAAATATAAAAAATTAAGTTGGCATAAGTCATCATTGACACATTACGATC\n+CTCGTACTAAGGAATGTGAACTGGGAGTTTAGAAAATTCTTCATGTGCCGGAATAGACAATTCAATTGTCGAATGTGTTT\n+AACGATGCGAATGGGGTTTTACAATCGCATATACTTGCAGCAAACACACCGATTAAGGTTGATGTTCCTGAAGAACGCAC\n+GAAAATTGCGAACGAATCAAAAATGCGTTTGGAACGAGGTAGATCTATTGGTTCTAAGGATAAGAATCCTAGAACGAACA\n+CCGAATGTTCAAATTGAGAATGTGTCGAATCCTCTGAGCACACATATGGTGGTTAGATCTTTGGATGTGAAAATGGATCC\n+ATTCAGACCGCATGAGAACGATGAAGAAATATTAGGNNNNNGAAGTACCTTATCTTAGTGCAATCGGGGCATTGATGTAT\n+CTTGCGAATAATACGAGGCCTAATATAGCATTTGCTGTTAATCTGTTGACAAGATGTAGTTCGTCGCCTACGAAAAGATA\n+TTGGAAATGCGTGAAACATGTTCTTCGATANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\n+NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\n+NNNNNNNNNNNNNNTATTTCTTGGCGATCTACGAAACAAACTATCGTAGCTATCTCGTCAAATCACGTAGAATTATTAGC\n+GATACATGACACAAGTCGTGAATGCGTCTGGTTGAGATTTATGATTGAAAGCATTTATAATGNNNNNNNNNNNNNNNNNN\n+NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNTACAGTTGAAAGAATGATATATTAAATGTGACCGAACGAAACATAT\n+TTCGCCAAAATTCTTTCTTTACACAAGATCTTCAAAAGAACGGAGATGTGATTATCCAGCAGATACGATCAAACGATAAT\n+GTAGTAGATTTATTCACAAAACTGCTTCATACGGCAGGTTTTGAAAAGTTGATCTACAACAATGGCATTCGAAGATTGAA\n+AGGTTTGGAGTGATGCAACCATCAGGGGTAGATGTTTTTGCTTGAAGACGGAGGGATGTAAAAAGATTATAGAAATGTAC\n+TCTTTTTCATTCACTAAGGTTTTTATCCTTTTTCCTTAGTAAAGTTTTAACGAGTCATATCCTATAATGATAGACATCCA\n+GGGTGGAGTATTACAAAACTATACTCGAAAATTAGATTGTGGATGTCTAGTTTACCAAGTTTCAAATAAAGACGGAAATA\n+AATAGTACTATACACAAAATAATGCTATTCATGTGGGGCTCACGTCATTAATTTGTTTGAATTATAAAACGGTTCAGAAC\n+CATCGCTCACCTATATAAATAGAGGTTATGTATGCTGAAATTATACAGATGAAATAATACAGATTTTATACTTTCATTTT\n+CTTTATTCTTCTTCCGTTTCTACTATATCGAAGTAATTCATAGAGAAGTTGACGTAGAACGTCCGATTGAAGATTCAAGT\n+AAATATTTTTCATTTATTGGTATTATTACTTTCCTAACAATTATTTGATTAAGCGCTATTGTTATTTGAGTCTCCTTCAT\n+TCACACAAATTGCATTCGAGAAAAAGACATTTTTTGTCCCCTCAAATTTTTCAACTTTCAATTTTTTGTCCCTCGACTTT\n+CAAAGAAGACACATTTGGTTTCTTAAATTTGATTTAAGGTCAATTTTGATTCATATTACAAAATTTTAATCATAAATTGA\n+CTATTTTACCTGTAAATAAATATTTTTAAAAGTTGAATTTCATTTTCTTAGACTATTTAAATGTAATTTGACTTGATTGT\n+GAGACTTATGAAGTGATTGTGAATCTTGTTTAAGACTTAAATATTCAATGTATGATAGAAAATTTATGTTGCAATCATAT\n+TATTGTGGAAATCTTATATAACATTGACGTGGAAATTTTTGTGTCGTGCCAAAAATAATAACCTCACAACAACAATAATG\n+GAAAATTTTCTGTGCTCATTTTTTGTCGTCTTCCTCCTCCTCTCTGCCGCTGCAAATGGCGACGACGTGTACACATCCTT\n+CGTTAACTTCCTCGCAAAGAACGGCATTTCCAGCGCCGAAATCTCTTCCACCGTCTACTCTCCACAAAACACTAGCTTCC\n+AGAACGTTCTACTCTCCGCCGTGAGGAACCGCCGGTTCAACCGATCCACCACCAGAAACCCAGCACGATTTTCGCGCCCA\n+CGGCGGAATCCCACGTCAGCGCCGCCGTCATTTGCTCCAAGGAACTCGGGATTCAGCTCAAGATCCGCAGCGGCGGCCAC\n+GACTTCGAGGGCATCTCCTACGTTTCTGCGGACGGCGGCGCGTTCGTCTTACTGGATGTGTCCAATTTCCGGTCGATTTC\n+CGTCGATATTCCCGGCGAGACGGCGTGGGTCGGCCCCGGGGCTTATCTCGGAGAGCTGTACTACAGGATCTGGGAGAAGA\n+GTAGCGTCCACGGTTTCCCCGCCGGGGTCCCGCCCTCCGTTCGATTTTCCAGAAAATGCTTCAAATCGGCGAAGTGGGGC\n+TGACGTTTAACTCCTACGGCGGAGTAATGGACCGGATCCCGGAATCGGAAGCTCCCTTCCTCCTAAAGAACTTAAAACGG\n+CTTATATCTCGCTATATAACGATATTTAAGGATTCGAAACCACTTATAATCTCTTTTCATGCCTTAAATGAGGTTATTTA\n+AGGATCCAATTGCATTTAAAATGCCTTATTATGCATCAAATAGCTTCAAATAGCCTTAACTATGCTAAAGAACTTATAAC\n+GGCTTATATCTCGCTATATAACGATATTTAACCATCCGAAACCACTTATAATCTCTTTTCAAGCCTTAAATGAGGTTATT\n+TAAGGATCCAATTGCATTTAAAATGTCTTATTATGCATCAAATAGCTTCAAATAGCCTAAACTATGCTAAAGAACTTATA\n+ACGGCTTATATCTCGCTATATAACGATATTAAAGCATCCGAAACCACTTATAATCTCTTTTCAAGCCTTAAATGAGGTTA\n+TTAAAGGATCCAATTGCATTTAGAATGCCTTATTATGCATCAAATAGCTTCAAATAGCCTAAACTATGCTAAAGAACTTA\n+TAACGGCTTATATCTCGCTATATAACGATATTAAAGCATCTCCTAAAGAACTTAAAACGGCTTATATCTCGCTATATAAC\n+GATATTTAAGGATTCGAAACCACTTATAATCTCTTTTCATGCCTTAAATGAGGTTATTTAAGGATCCAATTGCATTTAAA\n+ATGCCTTATTATGCATCAAATAGCTTCAAATAGCCTTAACTATGCTAAAGAACTTATAACGGCTTATATCTCGCTATATA\n+ACGATATTTAACCATCCGAAACCACTTATAATCTCTTTTCAAGCCTTAAATGAGGTTATTTAAGGATCCAATTGCATTTA\n+AAATGTCTTATTATGCATCAAATAGCTTCAAATAGCCTAAACTATGCTAAAGAACTTATAACGGCTTATATCTCGCTATA\n+TAACGATATTAAAGCATC'..b'GATAGAAGCAAAGTTGAGGTTGATGAAAACTTTGCAGAATATATA\n+TCTTTCCATGTTATGAATGATCCTGAAGATCCTGAACCTAGAACAATGACTGAATGTCAGAAACGAGATGATTGGCCAAA\n+ATGGAAAGATGCTATAGAAAGTGAGCTGAAATCTCTGAATAAGAGAGATGTTTTCGGACCTGTAGTTCGAACACCTGAAG\n+GTGTACAACCGGTTGGTTATAAGTGGGTTTTTGTGAGAAAACGAAATGATAAAGGAGAAATATCTCGGTATAAGGCGAGA\n+TTAGTAGCTCAAGGGTTTTCTCAAAGGCCAGGAATTGATTATGATGAAACCTATTCACCGGTTATGGATGCCACAACTTT\n+CAGGTTTTTGATAAGTCTGGCGATTGAATATGGGCTTGATTTACAACTGATGGATGTTGTAACAGCATACTTATATGGGT\n+CACTGGATTGTGAAATATATATGAAAATCCCTGAAGGGTTTCATATGCCTGAACGATATAGTTCTGAACCCCGTACCGAT\n+TATGCGATTAAATTGAATAAATCCCTGTATGGATTAAAGCAGTCAGGACGAATGTGGTATAACCGTCTAAGTGAATACTT\n+GATTAAAGAGGGTTATAAGAACAATTTGGTTTGTCCCTGTGTTTTTATGAAGAAATTCGAAAATGAGTTCGTGATCATCG\n+CTGTGTATGTCGATGACATTAATATTGTGGGAACTCAGAAGGCATTATTGGATGCCGTGAACTGCTTGAAAAGGGAATTT\n+GAAATGAAGGATTTGGGAAGAACGAAATATTGCCTTGGTTTGCAAATTGAATATTTGAAAAATGGGATTTTTCGTACCGA\n+TTATGCTATTAAATTGAATAAATCCCTGTATGGATTAAAGCAGTCAGGACGAATGTGGTATAACCGTCTGAGTGAGTATC\n+TGATCAAAGAAGGTTATAAAAACAATTTGGTTTGTCCTTGTGTTTTTATGAAGAATTTTGAAAATGAGTTCGTGATCATC\n+GCTGTGTATGTCGATGACATTAATATTGTGGGAACTCAGAAGGCATTATTAGATGCTGTGAACTGCTTGAAAAGGGAATT\n+TGAAATGAAGGATTTGGGAAGAACGAAATATTGCCTTGGTTTGCAAATTGAATATTTGAAAAATGGGATTTTTCTTCATC\n+AGAATACGTATACCAAGAAGGTATTGAAACGTTTTTATATGGATTATTCACATCCTCTGAGCACACCTATGGTGGTTAGA\n+TCTTTAGATGTGAAAACGGATCCATTCAGGCCACAGGAGAACGATGAAGAAATATTAGGTCCTGAAGTACCTTATCTTAG\n+TGCAATCGGGGCATTAATGTATCTTGCGAATAATACGAGGCCTGACATTGCATTTGCTGTTAATCTGTTGGCAAGATATA\n+GTTCATCGCCTACGAAAAGACATTGGAAAGGCGTGAAACATGTTCTTCGATATCTTCAAGGTACTACTGATAAGGGGTTG\n+TATTATCAGAAAGATATGAAGTCAGAACTTATCGGGTATGCTGATGCTGGATATAGATCAGATCCACATAATGGGAGATC\n+TCAGACAGGATATGTTTTCCTGAATAAAGGAGCTGCTATTTCTTGGCGATCTACGAAACAGACTATCGCAGCTACCTCGT\n+CAAACCACGCAGAATTACTAGCGATACACGAAACAAGTCGTGAATGCGTTTGGTTGAGATCTATGATTGAAAGCATTTAT\n+AATGCTTGTGGATTGTTTACAGATAAGATGCCTCCGACTGTATTATATGAAGATAATAGTGCATGTATTATACAGTTGAA\n+AGAAGGATATATTAAGGGTGACAGAACGAAACATATTTCACCAAAATTCTTCTTTACACATGATCTTCAAAAGAACGGAG\n+AGGTAATTATCCAGCAGATACGATCAAGCGATAATGTGGCAGATTTATTCACGAAACCACTCCCTACATCAACTTTTGAA\n+AAGTTGATTTACAATATTGGAATCCGAAGGTTGAAGGATTTGGAGTGATGCAGTCATCAGGGGGAGATGTTTTTGACTGA\n+GGACAAAGGGATGCAAGAAAATTATAGGAATGTACTCTTTTTCCTTCACTAAGGTTTTTATCCCATTGGGTTTTTCCTTA\n+GTAAGGTTTTAACGAGGCATATCCTATAATGATAGACATCCAAGGGGGAGTGTTGTAAAACTATACACGAAAATCGGATT\n+GTGGATGTCTATTATACCATATTTCAAATAAAGACGGAAATGCACAGTACTTACTATTCATGTGGGTCCCGCAGCATTAA\n+ATTTATCAAATTATTGATTGTAAACGAACGGATGTAATCGATGATTGATGCCTATAAATATAGGCATGGTGCAGAATGAA\n+TTTAAGCAGAACAAAATTTGAGCATAAATTTTTCTCTTCTTCTTCTCATTTCTTTTCTTGATTCAATAATACGCTGAAGG\n+AATTTCTACAGAAGTTGACGTAGAACGTCCGATTGAAGATTCAAGTAAGTTTATGAATTATTCATCTTTTATTTCTTATT\n+TTTCTAACACGTTATCAGCACGAAGTCTAACCAACTGAGTGCTTATATAATCTTGAAGATTATATATTATATGATATGAT\n+CCCGCAGATCGTATGGTTGATTCGATGATCCAGAAGATTATTTGATTTAACTTCTTTACCATTTTCGTCTGAAGTCTCAA\n+TATGATATCCATTTCGGCGAATATCTCTAAAACTCAATAAATTCCTTCGAGACTTATTCGCATATAATGCATCATCAATT\n+CTGATATGCGTTCCCGATGGTAATACTATCACAGCTCTGCCGGAGCCTTCAACAATATTCGCTTCACATACAATTGTGGC\n+AATATTTACATCCCGTTTTTCAAAACTAGTAAAATATCTCATGTTTTTCAAGATCGTATGCGTCGTTGCACTATCCACCA\n+GACATTCATCACCCTCAGCCATGCTGGAAATAAACAATATATTTCATTATCAGTTCATGATACAATTTACAATTCGGCAT\n+ACATAATACCAACAATAATGCCCAGAAATGTTAACAGCGTGGAAACAAAGACTGAAGCGTCTATGTTCTGGATCATCCAA\n+ATATACCCAAAAATAAAAGTTACCATAAAAACTATAAAAACAAGATACTGAACAGAGGTGTTCATCTGGCTCAGAGATTT\n+TGTAAAGAGATTTAGAAAAGAGAAGTTTTTAAGTGAAAAACCTTCTTGATAAAATCGTTATTTATACTGAGCCAAGTTAC\n+CGACAATATCTGCGAAATCCAAGATTTTCGTTGAAAAAACATAACACCTTATTAAAATATTCAAAACACGCCGAATATTT\n+TACAAAACACGCTGATAACATGCCGAATACAACATATTTATTTCAACCAGCATTATTAAATAGATAACTAAATCCTTCGT\n+CTGGATCACGTGGACGTGGTCGTGGCCGAGGTCGTTACTATGATTATGGTCGTGAAAAGAACAAGTATATCTGGAAGAAA\n+CCTGCCGTTGTCAAAGAGGTAAATGTGAAAAATGATCAGGGTGACCAGAATACTTGTTACAGATGTGGAAAGGAAGGACA\n+CTGGTCACGGACGTGTCGAACGCCTAAATCACTTGTCGACCTTTATCAGCGAGCGAAGAAAATTGAGGAAAAGGGGAAGA\n+AAAAGGAGACGAATAACGCTGAAGCTGAGACGTATAACGGAGAAGTCAATATGACTAAGCTGGATGTCGCAGATTTCCTG\n+GCTGATCCAGACGAAGGATTTAGTTATCTATTTAATAATGCTGGTTGAAAGAAATTGTTGTATTCGGCATGTTATCAGCG\n+TGTTTTGTAAAATATTCGGCGTGTTTTGAATATTTTAATAAAATGTTATGTTTTTCAACGAAAATATTGGATTTCGCAGA\n+TATTGTCGGTAACTT\n'
b
diff -r ed4d9ede9cb4 -r d0431a839606 test-data/GEPY_test_long_1.fa.fai
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/GEPY_test_long_1.fa.fai Wed Aug 14 11:24:15 2019 -0400
b
@@ -0,0 +1,1 @@
+scaffold146.1|size86774 30095 25 80 81
b
diff -r ed4d9ede9cb4 -r d0431a839606 test-data/classification.csv
--- a/test-data/classification.csv Wed Jul 03 09:21:52 2019 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,401 +0,0 @@\n-ATCOPI1_I\tTy1/copia\tAleI/Retrofit\n-ATCOPIA21I\tTy1/copia\tAleI/Retrofit\n-ATCOPIA3I\tTy1/copia\tAleI/Retrofit\n-ATCOPIA47_I\tTy1/copia\tAleI/Retrofit\n-ATCOPIA4I\tTy1/copia\tAleI/Retrofit\n-ATCOPIA51_I\tTy1/copia\tAleI/Retrofit\n-ATCOPIA52_I\tTy1/copia\tAleI/Retrofit\n-ATCOPIA6I\tTy1/copia\tAleI/Retrofit\n-ATCOPIA7I\tTy1/copia\tAleI/Retrofit\n-ATRE1_I\tTy1/copia\tAleI/Retrofit\n-CASTOR_I\tTy1/copia\tAleI/Retrofit\n-COP_I_MT\tTy1/copia\tAleI/Retrofit\n-Copia-17_SB-I\tTy1/copia\tAleI/Retrofit\n-Copia-26_SB-I\tTy1/copia\tAleI/Retrofit\n-Copia-44_SB-I\tTy1/copia\tAleI/Retrofit\n-Copia-46_ZM-I\tTy1/copia\tAleI/Retrofit\n-Copia-47_ZM-I\tTy1/copia\tAleI/Retrofit\n-Copia-48_ZM-I\tTy1/copia\tAleI/Retrofit\n-Copia-50_ZM-I\tTy1/copia\tAleI/Retrofit\n-Copia-52_ZM-I\tTy1/copia\tAleI/Retrofit\n-Copia-54_SB-I\tTy1/copia\tAleI/Retrofit\n-Copia-60_SB-I\tTy1/copia\tAleI/Retrofit\n-Copia-61_SB-I\tTy1/copia\tAleI/Retrofit\n-COPIA1_ZM_I\tTy1/copia\tAleI/Retrofit\n-Copia16-ZM_I\tTy1/copia\tAleI/Retrofit\n-Copia20-VV_I\tTy1/copia\tAleI/Retrofit\n-Copia21-PTR_I\tTy1/copia\tAleI/Retrofit\n-Copia26-ZM_I\tTy1/copia\tAleI/Retrofit\n-Copia27-ZM_I\tTy1/copia\tAleI/Retrofit\n-Copia3-ZM_I\tTy1/copia\tAleI/Retrofit\n-Copia30-PTR_I\tTy1/copia\tAleI/Retrofit\n-Copia31-ZM_I\tTy1/copia\tAleI/Retrofit\n-Copia32-ZM_I\tTy1/copia\tAleI/Retrofit\n-Copia51-PTR_I\tTy1/copia\tAleI/Retrofit\n-Copia8-ZM_I\tTy1/copia\tAleI/Retrofit\n-Hopscotch_I\tTy1/copia\tAleI/Retrofit\n-HOPSCOTCH_ZM-I\tTy1/copia\tAleI/Retrofit\n-Llorens_Koala_DQ365823.1\tTy1/copia\tAleI/Retrofit\n-OSCOPIA2_I\tTy1/copia\tAleI/Retrofit\n-RETROFIT_I\tTy1/copia\tAleI/Retrofit\n-RETROFIT2_I\tTy1/copia\tAleI/Retrofit\n-RETROFIT3_I\tTy1/copia\tAleI/Retrofit\n-RETROFIT4_I\tTy1/copia\tAleI/Retrofit\n-SBCOPIA1_I\tTy1/copia\tAleI/Retrofit\n-SHACOP20_I_MT\tTy1/copia\tAleI/Retrofit\n-SHACOP3_I_MT\tTy1/copia\tAleI/Retrofit\n-Wicker_Ale_A_109N23-1\tTy1/copia\tAleI/Retrofit\n-Wicker_Ale_B_AF459088-1\tTy1/copia\tAleI/Retrofit\n-Wicker_Atara_At-1\tTy1/copia\tAleI/Retrofit\n-Wicker_ATCopia4_At-1\tTy1/copia\tAleI/Retrofit\n-Wicker_Hopscotch_Os-108\tTy1/copia\tAleI/Retrofit\n-Wicker_Hopscotch_Os-110\tTy1/copia\tAleI/Retrofit\n-Wicker_Iana_Os-106\tTy1/copia\tAleI/Retrofit\n-Wicker_Inav_AY013246-1\tTy1/copia\tAleI/Retrofit\n-Wicker_Lilly_Os-110\tTy1/copia\tAleI/Retrofit\n-Wicker_Oref_1020F19-1\tTy1/copia\tAleI/Retrofit\n-Wicker_Osr12_Os_cons\tTy1/copia\tAleI/Retrofit\n-Wicker_Retrofit4_Os-101\tTy1/copia\tAleI/Retrofit\n-Wicker_rn_126-72_Os\tTy1/copia\tAleI/Retrofit\n-Wicker_rn_179-105_Os-102\tTy1/copia\tAleI/Retrofit\n-Wicker_rn_179-105_Os-104\tTy1/copia\tAleI/Retrofit\n-Wicker_rn_25-15_Os-111\tTy1/copia\tAleI/Retrofit\n-Wicker_rn_252-146_Os\tTy1/copia\tAleI/Retrofit\n-Wicker_rn_306-181_Os_cons\tTy1/copia\tAleI/Retrofit\n-Wicker_rn_414-223_Os-107\tTy1/copia\tAleI/Retrofit\n-Wicker_rn_416-225_Os-6\tTy1/copia\tAleI/Retrofit\n-Wicker_rn_72-48_Os-1\tTy1/copia\tAleI/Retrofit\n-Wicker_rn_74-211_Os-7\tTy1/copia\tAleI/Retrofit\n-Wicker_rn_74-211_Os-8\tTy1/copia\tAleI/Retrofit\n-Wicker_rn_77-52_Os-9\tTy1/copia\tAleI/Retrofit\n-Wicker_Athea_At-101\tTy1/copia\tAleI/Retrofit\n-Wicker_Ale_C_AY951944-1\tTy1/copia\tAleI/Retrofit\n-Wicker_Athea_At-102\tTy1/copia\tAleI/Retrofit\n-Wicker_Lila_Os-109\tTy1/copia\tAleI/Retrofit\n-Wicker_Oref_AY368673-1\tTy1/copia\tAleI/Retrofit\n-Wicker_rn_14-5_Os-5\tTy1/copia\tAleI/Retrofit\n-ATCOPIA11I\tTy1/copia\tAleII\n-ATCOPIA13I\tTy1/copia\tAleII\n-ATCOPIA1I\tTy1/copia\tAleII\n-ATCOPIA22I\tTy1/copia\tAleII\n-ATCOPIA26I\tTy1/copia\tAleII\n-ATCOPIA38B_I\tTy1/copia\tAleII\n-ATCOPIA62_I\tTy1/copia\tAleII\n-ATCOPIA72_I\tTy1/copia\tAleII\n-ATCOPIA75_I\tTy1/copia\tAleII\n-COP10_I_MT\tTy1/copia\tAleII\n-COP21_I_MT\tTy1/copia\tAleII\n-Copia-8_SB-I\tTy1/copia\tAleII\n-Copia15-PTR_I\tTy1/copia\tAleII\n-Copia23-PTR_I\tTy1/copia\tAleII\n-Copia3-VV_I\tTy1/copia\tAleII\n-Copia38-PTR_I\tTy1/copia\tAleII\n-Copia44-PTR_I\tTy1/copia\tAleII\n-Copia52-PTR_I\tTy1/copia\tAleII\n-Llorens_Melmoth_AC007134.10\tTy1/copia\tAleII\n-MTCOPIA2_I\tTy1/copia\tAleII\n-SHACOP11_I_MT\tTy1/copia\tAleII\n-SHACOP12_I_MT\tTy1/copia\tAleII\n-SHACOP23_I_MT\tTy1/copia\tAleII\n-SHACOP6_I_MT\tTy1/copia\tAleII\n-SHACOP7_I_MT\tTy1/copia\tAleII\n-Tvv1_I\tTy1/copia\tAleII\n-Wicker_Alina_At-1\tTy1/copia\tAleII\n-Wicker_Ally_Os_cons\tTy1/co'..b'3/gypsy\tchromovirus\n-CRW_ID59\tTy3/gypsy\tchromovirus\n-Galadriel_LycE_ID42\tTy3/gypsy\tchromovirus\n-Gimli_AraT_ID40\tTy3/gypsy\tchromovirus\n-Gloin_AraT_ID210\tTy3/gypsy\tchromovirus\n-GlyM_ID222\tTy3/gypsy\tchromovirus\n-GlyM_ID228\tTy3/gypsy\tchromovirus\n-GlyM_ID230\tTy3/gypsy\tchromovirus\n-GlyM1_ID85\tTy3/gypsy\tchromovirus\n-GlyT_ID221\tTy3/gypsy\tchromovirus\n-GlyT1_ID82\tTy3/gypsy\tchromovirus\n-IpoB1_ID87\tTy3/gypsy\tchromovirus\n-Legolas_AraT_ID39\tTy3/gypsy\tchromovirus\n-LORE1a_LotJ_ID256\tTy3/gypsy\tchromovirus\n-LORE2A_LotJ_ID51\tTy3/gypsy\tchromovirus\n-LORE2B_LotJ_ID52\tTy3/gypsy\tchromovirus\n-LotJ_ID226\tTy3/gypsy\tchromovirus\n-LotJ_ID234\tTy3/gypsy\tchromovirus\n-LotJ1_ID63\tTy3/gypsy\tchromovirus\t#domains of this elements are no longer present in the TE_domains_newest.fasta\n-LotJ2_ID65\tTy3/gypsy\tchromovirus\n-LotJ3_ID88\tTy3/gypsy\tchromovirus\n-MedT_ID218\tTy3/gypsy\tchromovirus\n-MedT_ID232\tTy3/gypsy\tchromovirus\n-MedT1_ID93\tTy3/gypsy\tchromovirus\n-MedT2_ID89\tTy3/gypsy\tchromovirus\n-MedT3_ID96\tTy3/gypsy\tchromovirus\n-MedT4_ID97\tTy3/gypsy\tchromovirus\t#domains of this elements are no longer present in the TE_domains_newest.fasta\n-MusA_ID235\tTy3/gypsy\tchromovirus\n-MusA_ID43\tTy3/gypsy\tchromovirus\n-MusA1_ID67\tTy3/gypsy\tchromovirus\n-MusB1_ID98\tTy3/gypsy\tchromovirus\n-OryGl1_ID240\tTy3/gypsy\tchromovirus\n-OryGr1_ID100\tTy3/gypsy\tchromovirus\t#domains of this elements are no longer present in the TE_domains_newest.fasta\n-OryM1_ID101\tTy3/gypsy\tchromovirus\n-OryM2_ID102\tTy3/gypsy\tchromovirus\n-OryM3_ID103\tTy3/gypsy\tchromovirus\n-OryP1_ID105\tTy3/gypsy\tchromovirus\n-OryP2_ID106\tTy3/gypsy\tchromovirus\n-OryS_ID254\tTy3/gypsy\tchromovirus\n-Peabody_PiSat_ID47\tTy3/gypsy\tchromovirus\n-PetI1_ID72\tTy3/gypsy\tchromovirus\n-PetI2_ID76\tTy3/gypsy\tchromovirus\n-PhyP_ID251\tTy3/gypsy\tchromovirus\n-PiSat1_ID200\tTy3/gypsy\tchromovirus\n-PopT_ID202\tTy3/gypsy\tchromovirus\n-PopT_ID203\tTy3/gypsy\tchromovirus\n-PopT1_ID21\tTy3/gypsy\tchromovirus\n-PopT10_ID168\tTy3/gypsy\tchromovirus\n-PopT11_ID172\tTy3/gypsy\tchromovirus\n-PopT2_ID20\tTy3/gypsy\tchromovirus\n-PopT3_ID196\tTy3/gypsy\tchromovirus\n-PopT4_ID191\tTy3/gypsy\tchromovirus\n-PopT5_ID192\tTy3/gypsy\tchromovirus\n-PopT6_ID188\tTy3/gypsy\tchromovirus\n-PopT7_ID193\tTy3/gypsy\tchromovirus\n-PopT8_ID197\tTy3/gypsy\tchromovirus\n-PopT9_ID194\tTy3/gypsy\tchromovirus\n-Reina_ZeaM_ID49\tTy3/gypsy\tchromovirus\n-Retrosor2_SorB_ID48\tTy3/gypsy\tchromovirus\n-SelM_ID252\tTy3/gypsy\tchromovirus\n-SetI1_ID107\tTy3/gypsy\tchromovirus\n-SilL1_ID241\tTy3/gypsy\tchromovirus\n-SilL2_ID242\tTy3/gypsy\tchromovirus\n-SorB1_ID109\tTy3/gypsy\tchromovirus\n-Tekay_ZeaM_ID50\tTy3/gypsy\tchromovirus\n-ThelH1_ID77\tTy3/gypsy\tchromovirus\n-TriA1_ID110\tTy3/gypsy\tchromovirus\n-VitV_ID211\tTy3/gypsy\tchromovirus\n-VitV_ID214\tTy3/gypsy\tchromovirus\n-VitV_ID215\tTy3/gypsy\tchromovirus\n-VitV1_ID22\tTy3/gypsy\tchromovirus\n-VitV2_ID128\tTy3/gypsy\tchromovirus\n-VitV3_ID124\tTy3/gypsy\tchromovirus\n-VitV4_ID142\tTy3/gypsy\tchromovirus\n-VitV5_ID143\tTy3/gypsy\tchromovirus\n-VitV6_ID131\tTy3/gypsy\tchromovirus\n-LjRE2_ID63\tTy3/gypsy\tchromovirus\n-MedT4_ID246\tTy3/gypsy\tchromovirus\n-OryGr1_ID245\tTy3/gypsy\tchromovirus\n-ATLANTYS_LC_I\tTy3/gypsy\tOgre/Tat\n-ATLANTYS-I_OS\tTy3/gypsy\tOgre/Tat\n-ATLANTYS2_I\tTy3/gypsy\tOgre/Tat\n-CALYPSHAN2_I_MT\tTy3/gypsy\tOgre/Tat\n-Grande1-4\tTy3/gypsy\tOgre/Tat\n-Gret1_I\tTy3/gypsy\tOgre/Tat\n-Gypsy-18_SB-I\tTy3/gypsy\tOgre/Tat\n-Gypsy-22_SB-I\tTy3/gypsy\tOgre/Tat\n-Gypsy-30_SB-I\tTy3/gypsy\tOgre/Tat\n-Gypsy-71-I_ZM\tTy3/gypsy\tOgre/Tat\n-Gypsy11-ZM_I\tTy3/gypsy\tOgre/Tat\n-Gypsy12-ZM_I\tTy3/gypsy\tOgre/Tat\n-Gypsy29-ZM_I\tTy3/gypsy\tOgre/Tat\n-HUCK1-I_ZM\tTy3/gypsy\tOgre/Tat\n-Ogre-LE1\tTy3/gypsy\tOgre/Tat\n-Ogre-MT1A\tTy3/gypsy\tOgre/Tat\n-Ogre-MT1B\tTy3/gypsy\tOgre/Tat\n-Ogre-MT1C\tTy3/gypsy\tOgre/Tat\n-Ogre-MT1D\tTy3/gypsy\tOgre/Tat\n-Ogre-MT2\tTy3/gypsy\tOgre/Tat\n-Ogre-MT3\tTy3/gypsy\tOgre/Tat\n-Ogre-MT4\tTy3/gypsy\tOgre/Tat\n-Ogre-PS1\tTy3/gypsy\tOgre/Tat\n-Ogre-PT1\tTy3/gypsy\tOgre/Tat\n-Ogre-PT2\tTy3/gypsy\tOgre/Tat\n-Ogre-PT3\tTy3/gypsy\tOgre/Tat\n-Ogre-SD1\tTy3/gypsy\tOgre/Tat\n-Ogre-VP1\tTy3/gypsy\tOgre/Tat\n-Retand\tTy3/gypsy\tOgre/Tat\n-RETROSOR1_I\tTy3/gypsy\tOgre/Tat\n-RIRE2_I\tTy3/gypsy\tOgre/Tat\n-Tat4-1\tTy3/gypsy\tOgre/Tat\n'
b
diff -r ed4d9ede9cb4 -r d0431a839606 test-data/hitsort_PID90_LCOV55.cls
--- a/test-data/hitsort_PID90_LCOV55.cls Wed Jul 03 09:21:52 2019 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,257660 +0,0 @@\n->CL1 19412 \n-187743f 94702f 426720f 312327f 164509r 16474f 110280f 34469r 29039r 20658f 169726r 108111f 331950r 159500f 175238r 265269r 291041f 230360r 314128f 242067r 166026r 125166f 233607r 288604r 178942r 308255r 74998f 189328f 170850r 416179r 300989r 27921f 263291f 22372f 192087r 429650f 41343f 344660r 237518f 219821r 219566f 24223f 369411r 257833f 63844r 377424f 38926r 219527f 313122r 93067r 96180r 386250r 140811f 193254f 4398r 388576f 209481f 82727f 178211r 272164f 283145r 292220f 222767f 165091f 244819r 147291f 295718f 272546f 380683r 192810r 274806r 394855f 9934f 35688f 136261f 274741r 121484f 416965r 272703f 116035r 47566f 3066f 22378f 390349f 43178r 352180r 53065f 339984r 336935f 100697f 200896r 429293f 14677f 99032f 311646r 408618r 53967r 41082r 346359f 308577r 346841f 237857f 78006r 268605r 423708r 32174r 206820r 84098r 156218f 327732f 27423f 186185f 192638f 64750f 253484f 393343r 75957r 389195r 386635f 265512f 373482r 72315f 20224r 147174f 421014r 378253r 187649r 109182r 299367f 145598r 306208f 190077f 328477r 392332r 227073f 151660f 70726f 371650f 257638r 257763r 290141r 7813r 194489r 70312f 355689r 174509f 158691f 119104f 146365r 161386f 283255r 131124f 187267r 12027f 180199f 142514f 163015f 127376f 65271r 341261f 367022f 42257f 244269r 23815f 179460r 152952r 216772r 269281r 26632r 334536f 215041r 65625r 305044f 223671f 281556f 337581r 257638f 95453f 359694f 367670f 187743r 377784f 194673f 385114r 308189f 219821f 294389f 316646r 234717f 172776f 189663f 179983f 161771r 429782f 171328f 109671r 344930r 273802f 415984r 189561r 379330r 101749r 35011f 370631f 27758r 170737r 312566f 144835f 132419f 24491f 183796f 85636f 364384f 186921f 41676f 360927r 181979f 2482f 109290r 379330f 298320r 88743r 410194f 143843r 326333f 134379f 152370r 307574r 6687r 310742r 91648f 120797f 173514r 236436f 91498f 139147f 96710f 335329r 216717r 42292r 351423f 388960r 228114f 265683r 267735r 247674f 61195r 404021f 368839f 300269f 93471f 294097r 281128f 325500f 8036f 388874f 350483f 27423r 384493f 373059f 369186r 301366f 285498r 154484r 382948r 418797f 88704r 268863r 315602r 132585r 412576r 322913r 200527f 356374r 249849f 211521f 10820r 353969r 332848r 370101f 380968r 215709f 180827f 178597r 271246f 229356f 92378f 399307f 215258r 323696r 87178r 244847f 313212f 78322r 258479r 11286f 227831f 416291r 6759f 295659r 228143f 58865r 300419f 185663f 114224f 211899r 277530f 59052r 176662f 303371f 350587f 270206r 258719f 420509r 183294r 229760f 20014r 107684f 264698r 111920f 278153f 11784r 241541r 273414r 114026r 410997r 110280r 24814f 200127r 281270f 248723r 211383r 267260r 103017r 421342f 207523f 225059f 191871f 409361r 296895f 413267r 270079r 280082f 71870f 251979r 235516r 254854r 230215r 359389f 44420f 144257f 344589r 234642f 395133f 26343f 332970f 274806f 93097f 120717r 204385r 363115f 387821f 87899f 267940f 243217r 303330r 328709r 402587r 382944r 323462f 66945r 333521f 260537r 377424r 333237f 284140f 46081r 56322f 226829r 224513f 106545f 5291r 283803r 357098f 118869f 296707r 118628f 425112r 173286f 215694r 135961f 45703f 497f 240122r 154183r 49621r 385084r 412488r 310741r 65910f 418800r 256343r 198901f 333867r 402132r 104398r 388941f 85636r 337580f 88708r 385899r 199134f 239332r 277480f 393095r 380561r 97706r 241518f 255081f 343528r 65495r 130470f 88953f 322579r 49955f 81319f 135388r 339984f 119499r 231165f 394273f 46720r 3249r 58809f 16348r 111055r 301671f 356088f 10461r 367533f 113231f 171835f 177964r 407199f 63441f 55271r 32533r 311983r 409090r 59825f 20244r 270922f 311411r 115450f 116651f 350824r 55135r 255124f 89838r 184459f 122101f 61870r 113705r 207031f 47677f 147773f 51187f 100014f 334376f 61527r 113114r 237857r 134634f 248346r 104658r 51576r 346072r 340759f 226142r 5801f 279705f 61375f 219809f 277229r 227624f 256343f 98037f 135382r 178526f 423823f 25552r 140978r 55221r 98282f 125118r 4896r 68816r 77699r 202357r 401516f 418668f 187649f 423136r 193382r 307482r 120970r 357461f 259270r 422244r 38728r 198311f 141348f 37'..b'5568f\n->CL128700 2 \n-379147r 139015f\n->CL128701 2 \n-63641f 413867f\n->CL128702 2 \n-296101r 230098r\n->CL128703 2 \n-370080f 347311f\n->CL128704 2 \n-60031r 180954f\n->CL128705 2 \n-137135r 136070r\n->CL128706 2 \n-416053r 120346f\n->CL128707 2 \n-405121f 365242r\n->CL128708 2 \n-369410r 335358r\n->CL128709 2 \n-92243f 424658f\n->CL128710 2 \n-408193r 257222r\n->CL128711 2 \n-420667f 133654r\n->CL128712 2 \n-202736r 115556r\n->CL128713 2 \n-254036f 20624f\n->CL128714 2 \n-67755f 285689f\n->CL128715 2 \n-223603r 205562r\n->CL128716 2 \n-403551r 163868r\n->CL128717 2 \n-75738f 156242r\n->CL128718 2 \n-272327r 125264f\n->CL128719 2 \n-230325f 112423r\n->CL128720 2 \n-184412f 168431f\n->CL128721 2 \n-271673r 255154r\n->CL128722 2 \n-84962f 374079f\n->CL128723 2 \n-367223r 225523r\n->CL128724 2 \n-55846f 238056f\n->CL128725 2 \n-286691f 136487r\n->CL128726 2 \n-378177f 216377r\n->CL128727 2 \n-7395r 423976r\n->CL128728 2 \n-393041f 182802f\n->CL128729 2 \n-323470f 268113f\n->CL128730 2 \n-269218f 103168r\n->CL128731 2 \n-268744f 261690r\n->CL128732 2 \n-60837r 218922f\n->CL128733 2 \n-363169r 11279r\n->CL128734 2 \n-8410r 109459f\n->CL128735 2 \n-421089f 364773f\n->CL128736 2 \n-93942f 257386f\n->CL128737 2 \n-61960f 423443f\n->CL128738 2 \n-82176f 332058f\n->CL128739 2 \n-314310f 254406r\n->CL128740 2 \n-293778f 293453r\n->CL128741 2 \n-328284r 12742f\n->CL128742 2 \n-160028r 109130f\n->CL128743 2 \n-329208f 146868r\n->CL128744 2 \n-26007r 150346f\n->CL128745 2 \n-298995f 158672f\n->CL128746 2 \n-4194r 407111f\n->CL128747 2 \n-414252r 373041r\n->CL128748 2 \n-422346f 210899r\n->CL128749 2 \n-373659r 319640r\n->CL128750 2 \n-44638f 164146r\n->CL128751 2 \n-361070r 104260r\n->CL128752 2 \n-179612f 11151r\n->CL128753 2 \n-426384r 4180r\n->CL128754 2 \n-40388r 137313f\n->CL128755 2 \n-93282r 429752f\n->CL128756 2 \n-396451f 267972f\n->CL128757 2 \n-188931f 122485f\n->CL128758 2 \n-381074f 213596f\n->CL128759 2 \n-66331r 221429f\n->CL128760 2 \n-267721f 225267f\n->CL128761 2 \n-226933r 198566r\n->CL128762 2 \n-339168f 101731r\n->CL128763 2 \n-65991r 171143r\n->CL128764 2 \n-61589f 171603r\n->CL128765 2 \n-129659r 104191r\n->CL128766 2 \n-207682r 153361f\n->CL128767 2 \n-390980r 353577r\n->CL128768 2 \n-310313f 265568r\n->CL128769 2 \n-85647f 39994r\n->CL128770 2 \n-172071f 139339r\n->CL128771 2 \n-158475r 150927f\n->CL128772 2 \n-53327r 281674f\n->CL128773 2 \n-410328f 15083r\n->CL128774 2 \n-296174f 237420f\n->CL128775 2 \n-240501r 223951f\n->CL128776 2 \n-210655f 115356f\n->CL128777 2 \n-318044r 165443f\n->CL128778 2 \n-425617f 379834f\n->CL128779 2 \n-73371r 193513r\n->CL128780 2 \n-56496f 177653f\n->CL128781 2 \n-281692r 179707f\n->CL128782 2 \n-238384f 163821f\n->CL128783 2 \n-366769r 106243f\n->CL128784 2 \n-84041r 12969f\n->CL128785 2 \n-63370f 363111r\n->CL128786 2 \n-406816f 144481r\n->CL128787 2 \n-41611r 403166r\n->CL128788 2 \n-158298r 122270r\n->CL128789 2 \n-320185f 10283f\n->CL128790 2 \n-35930f 196576f\n->CL128791 2 \n-378926f 110787r\n->CL128792 2 \n-277169f 170334r\n->CL128793 2 \n-36211f 101759f\n->CL128794 2 \n-394325r 214103f\n->CL128795 2 \n-320611r 234615r\n->CL128796 2 \n-81838r 68805f\n->CL128797 2 \n-31236f 15622r\n->CL128798 2 \n-41944f 372929f\n->CL128799 2 \n-368453f 365094f\n->CL128800 2 \n-320206f 258778r\n->CL128801 2 \n-372700f 158080r\n->CL128802 2 \n-99370f 379470r\n->CL128803 2 \n-87885f 167642f\n->CL128804 2 \n-77188f 58025r\n->CL128805 2 \n-336465r 154603r\n->CL128806 2 \n-317481r 271141r\n->CL128807 2 \n-381543r 232442f\n->CL128808 2 \n-89800r 345842f\n->CL128809 2 \n-364272f 348933r\n->CL128810 2 \n-61063f 282347r\n->CL128811 2 \n-33441r 25048f\n->CL128812 2 \n-387977r 208365f\n->CL128813 2 \n-379247f 238387r\n->CL128814 2 \n-43027r 340787r\n->CL128815 2 \n-327628r 124662r\n->CL128816 2 \n-209396r 176451r\n->CL128817 2 \n-50359f 201427f\n->CL128818 2 \n-85346f 203226f\n->CL128819 2 \n-208063f 20328f\n->CL128820 2 \n-429218r 354169f\n->CL128821 2 \n-255078f 16158f\n->CL128822 2 \n-196912r 167817r\n->CL128823 2 \n-47372f 149683f\n->CL128824 2 \n-192851f 182419f\n->CL128825 2 \n-67496f 279178f\n->CL128826 2 \n-376566r 24119r\n->CL128827 2 \n-337902f 143649f\n->CL128828 2 \n-7781r 320366f\n->CL128829 2 \n-396404f 328610r\n->CL128830 2 \n-78891r 25505f\n'
b
diff -r ed4d9ede9cb4 -r d0431a839606 test-data/proteins_all
--- a/test-data/proteins_all Wed Jul 03 09:21:52 2019 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,13196 +0,0 @@\n->Ty3-CHDCR__PetI2_ID76\n-DAARTRADQVFNPPRPMTRSQAKLLHDVHIHLAWSKESNYSEAKWPSSRTEGYIFKFEP\n-\n->Ty3-CHDCR__PetI1_ID72\n-DKTQTPTRPFTRSQAKLIQDTHLHLTWKGMEEGPKSDLKSMLWCAMDGGPSRTL\n-\n->Ty3-CHDCR__GlyT1_ID82\n-DGGPTQVKGLEGELEALPLVSFKGPMTRARTQALQDHIQMSLGKYEKAHQAKDDKSWILM\n-SQI\n-\n->Ty3-CHDCR__PopT2_ID20\n-DVHHGNYNPSCKAKTNVQEDSDGPMTRARAKQLQRALTSQIGMIEAASELKISNQFEIGS\n-RMFICL\n-\n->Ty3-CHDCR__CRA3a_ID1\n-NDSMDYSTQHEDELLGATKKEAMHVLNGPMTRSKTRLLNQDITTLLQHIEGSLKQDACQT\n-TLVVIQA\n-\n->Ty3-CHDCR__CarP1_ID79\n-DANKAKNTQDTQRPSESDLEQISNDVNTNTVLNLESFSGPVTRSKAKKLKELLQVFTQKH\n-VDDGLANCGKFKYELFE\n-\n->Ty3-CHDCR__ThelH1_ID77\n-DTSMDEVRTEGQAEGLVQDGNQDQMAELSEMEVQEGKLAEVNDPSSDLTELTGSITRSRA\n-KKLTLAISRLYTNLMTKFTEATPSDRAVTLLAYSDD\n-\n->Ty3-CHDCR__IpoB1_ID87\n-DETGMQQINDPLKVSSGPVTRSKSRKIQEAFNTFVQTDWSPTSFCEEEDQSGKIILFNCL\n-\n->Ty3-CHDCR__BraR5_ID117\n-DMIMDQLVDKDEEGETEDTLAEEEAVLAIPTGPITRAMTRRLKEAIGNILKISKKQEDCL\n-GRSLSYQDTLITIHVI\n-\n->Ty3-CHDCR__CRM5_ID112\n-DTTTPLSNTLQPLRHTTSTQVQPTSSPTQVFDGPITRSRAKKLQQEVHALLYEFQLNTND\n-NFMLPKSCMLILFRFI\n-\n->Ty3-CHDCR__GlyM1_ID85\n-DAILPRKGPVTRAMSKRLQEDWARAAEEGPKVLMNLKVDF\n-\n->Ty3-CHDCR__CRR3_ID17\n-DEDIPTVHATSSTKQPSSNTKDTIQGPLTRSRAKKLQVQVNSFLTDFNFSTSENVILPKC\n-STLVVLRNI\n-\n->Ty3-CHDCR__CRM2_ID24\n-DEDIHTTDASIPIQVPISGPITRARARQLNHQVITLLSSCPSYLEPWRPVHSCFA\n-\n->Ty3-CHDCR__CRM3_ID37\n-DEDITIIDTTIPVTTSPFVANQGPMTRARARKLNYQVNSFFAIEANSSLNEVLKPCDDFI\n-MLRCL\n-\n->Ty3-CHDCR__CRR1_ID14\n-DEDIPSNDTTTPIAQQGPMTRARARELNYQVKSFLANHTSSSQNWVLLNGCCDLLVVRNM\n-\n->Ty3-CHDCR__SetI1_ID107\n-DEDIPSNDTTTPTMQQGPMTRARARELNYQVNSFLTVHKPSSQNWMLLSHCDDFIIIRND\n-\n->Ty3-CHDCR__OryGr1_ID245\n-DEDITSLDTHLQPPHVEQDVPQIQGPITRVRARQLDRXVNAFLSLHGNISTNGMLFNSCN\n-DFIVIRNL\n-\n->Ty3-CHDCR__Cereba1_ID8\n-DEDINTIATPTAPAAIHTGPVTRARARQLNYQVLSFIGNTSNVHEHMMLPKLDTFVVLMN\n-E\n-\n->Ty3-CHDCR__CRW_ID59\n-DEDINTIVTPTAPTVTYTGPITRARARQLNYQVLSFLGNDSNVHEIMMLPKLDTIVLLTN\n-E\n-\n->Ty3-CHDCR__OryM1_ID101\n-DEDTTSTSTPAAPQAPPVTPPPQAPTVDHPVGPITRARARELNFIMLLRNE\n-\n->Ty3-CHDCR__OryM3_ID103\n-DEDTTSTSTPAAPQAPPVTPPPQAPTVDHPVGPITRARARELNFIMLLRNE\n-\n->Ty3-CHDCR__OryP1_ID105\n-DEDTNYNTSTPTPVDAPPPQAPPSGPITRSRARKLNFVMLLKNE\n-\n->Ty3-CHDCR__CRM1a_ID25\n-DADINTNTSTSTPAAPSPAQAPPLPPGPVTRARARELNYIMLLKNE\n-\n->Ty3-CHDCR__OryM2_ID102\n-DADIIPSDIHNNPRLIIQGPITRARAQXLNLEVSSFLSSSLYDFENRLLPNDYIMIRNN\n-\n->Ty3-CHDCR__CRR4_ID19\n-DADITNSDTHNNPPTVIQGPITRARARQLNLEVSSFLCSSLYEFENRLLPNDYIVIRNN\n-\n->Ty3-CHDCR__CRM4_ID30\n-DEDITPRDTNNTPHVDSPITRARARQLNLQVISFLSNYSCAFESSMLPNDLIVLRNE\n-\n->Ty3-CHDCR__SorB1_ID109\n-DEDINTSDTYPTSTSDTYPTSTSDTYPTSSPTQPIAGPLTRARARQLNLQVSSALNSCQS\n-YLDNGDTCTLVLLRNN\n-\n->Ty3-CHDCR__OryP2_ID106\n-DEDINTIDTSTSPQVQLHGPITRARARQLNYLVSSFLSSYSSSLYPGDVCTLVLLRND\n-\n->Ty3-CHDCR__OryGl1_ID240\n-DEDINTVDTSTSPHVQHDGPITRARARQLNYQVSSFLSSYSSSLYPGDACTRVLLRND\n-\n->Ty3-CHDCR__CRR2_ID16\n-DEDINTIDTSTSPHIQHDGPITRARARQLNYQVSSFLSSYSSSLYLGDACTRVLLRND\n-\n->Ty3-CHDCR__TriA1_ID110\n-HPTIIPMDVPTSPTTPLGPMTKAPAKAIKDKVNSILFELPFSTHETWILPQEETLCVIRY\n-L\n-\n->Ty3-CHDCR__Bilby_ID66\n-DTVYPRAIPMDPPSPPQVPQGPITRAHTRAFETEVTSLLALLPYESCETWLLPQASVLCV\n-LRCE\n-\n->Ty3-CHDCR__CRA1_ID6\n-DMIMDSINDMEHEPELERELVAEEGAKLVAEDELVAEEKLVVEDVLVTPAVPMTRSRAKL\n-FDQAIAGMLNHIRDRPNDLSQVTTSLVLFQAQ\n-\n->Ty3-CHDCR__CRA2a_ID5\n-DENMTYATKPLEPQEDKEQLEAEEQLVPEEALIVPAGPLTRSKSKKFNQAINGLLKELKK\n-NQEDVAQSSFIVITAQ\n-\n->Ty3-CHDCR__CRA4_ID2\n-DINLTSQTAELQAVPHLLLQPVPEVPDGIMTSSKAKQLKKRFNLVVQDILSYQEL\n-\n->Ty3-CHDCR__LotJ3_ID88\n-DEDRSSPDKDPLQEIGGPMTRSKTKRMKQALQGLILELKGKEDQNKLEATPKWVNFLEH\n-\n->Ty3-CHDCR__PopT1_ID21\n-DVDQPRNTSKDPLHVPNGPMTQSKTKTLKEALNALVLNVSTRSELKGPLEYQEETLVHLI\n-\n->Ty3-CHDCR__PopT10_ID168\n-DTNKPNTKRNHANDPLEVPIGPITRARANKLKEALNELVQNIWSKMDLERLGTFKEHKGQ\n-PLIHLV\n-\n->Ty3-CHDCR__VitV2_ID128\n-DENQQAFKDPLHVPVGLITKARSKKIKEALNGLIQDI\n-\n->Ty3-CHDCR__MusB1_ID98\n-NEQVDHNSAKDPLIFRGGPMTRAKAKMMKEALTCLLEGIWKEXAGQNLVKVLWIQEEPKI\n-VNMI\n-\n->Ty3-CHDCR__MedT1_ID93\n-DEDIVQDISDAIQSLGGPMTRARARRVNDALVHFIIKSIEGSAQVEEGVAQVEEKEPKFI\n-III\n-\n->Ty3-CHDCR__PiSat1_ID200\n-DEDIIQDINDTMQGLGGPMTRARARRVNDALVHFMIKSIECMGQIEEKEPKFILIIQA\n-\n->Ty3-CHDCR__MedT2_ID89\n-DEGMVVHDTSASIQGLGGPMTRSRTKKAKEALTQLVAKVLESKPTLESMEDKMVMCI\n-\n->Ty3-CHDCR__LjRE2_ID63\n-DEDKDKDKGHGALKGLGGPMTRARAKRAKEALQQMIALALEEG'..b'\n-AKPMKTP\n-\n->Ty1-RT__Wicker_WIS_B_cons\n-WLEAMKSEIGSMYENEVWTLTDLPVDRRAIENKWIFKKKTDADGNVTIYK\n-ARLVAKGYRQVQGVDYDETFSPVAKLKSVRIMLAIAAFYDYEIWQMDVKT\n-AFLNGFLKEELYMMQPEGFVDPKNADKVCKLQRSIYGLVQASRSWNIRFD\n-EMIKAFGFTQTYGEACVYKKVSGSSVAFLILYVDDILLMGNDIELLDSIK\n-AYLNKCFSMKDLGEAAYILGIKIYRDRSRRLIGLSQSTYLDKILKKFNMD\n-QSKKGFLP\n-\n->Ty1-RT__Llorens_Araco_AC079131.4\n-WRNAMDEEIKSIQKNDTWELTSLPNGHKAIGVKWVYKAKKNSKGEVERYK\n-ARLVAKGYSQRAGIDYDEVFAPVARLETVRLIISLAAQNKWKIHQMDVKS\n-AFLNGDLEEEVYIEQPQGYIVKGEEDKVLRLKKALYGLKQAPRAWNTRID\n-KYFKEKDFIKCPYEHALYIKIQKEDILIACLYVDDLIFTGNNPSMFEEFK\n-KEMTKEFEMTDIGLMSYYLGIEVKQEDNGIFITQEGYAKEVLKKFKMDDS\n-NPVCTP\n-\n->Ty1-RT__Llorens_Fourf_AF391808.3\n-WKEAVRSEMESIMSNGTWEVVDRPYGCQPIGCKWIFKKKLRPDGTIERYK\n-ARLVAKGYTQKEGEDFFDTYSPVARLTTIRTLIAVAASYGLIIHQMDVKT\n-AFLNGELDEEIYMDQPEGFIADGQENKVCRLIKSLYGLKQAPKQWHEKFD\n-NTLTAAGFVVNESDTCVYYRYGGGESVMLCLYVDDILIFGSNLNVIEEVK\n-NLLSSNFEMKDLGEADVILNIKLVRKADGGVTLLQSHYVEKVLSRFGFSD\n-CDPAPTP\n-\n->Ty1-RT__Llorens_Koala_DQ365823.1\n-WKQAMDEEYQALVTNKTWHLVPPNXKNIIDCKWVYKVKRKQDGTLDRYKA\n-RLVAKGFRQRYGIDYEDTFSPVIKMTTIRIILAIAVSKGWFLRQLDVKNA\n-FLHGILEEEVYMYQPPGYEDKQHPNYVCKLDKALYGLKQAPRAWFARLSH\n-KLNQLGFQESKADTSLFFYNREGLTVFLLIYVDDIIVVSSKSEAIPILLQ\n-NLQQDFALKDLGNLHYFLGIEVNQSPNGIVLTQAKYANDLLRRSGMMNCK\n-PVTTP\n-\n->Ty1-RT__Llorens_Melmoth_AC007134.10\n-WCEAVDAEIGAMEKTNTWEITTLPKGKKAVGCKWVFTLKFLADGNLERYK\n-ARLVAKGYTQKEGLDYTDTFSPVAKMTTIKLLLKVSASKKWFLKQLDVSN\n-AFLNGELEEEIFMKIPEGYAERKGIVLPSNVVLRLKRSIYGLKQASRQWF\n-KKFSSSLLSLGFKKTHGDHTLFLKMYDGEFVIVLVYVDDIVIASTSEAAA\n-AQLTEELDQRFKLRDLGDLKYFLGLEVARTTAGISICQRKYALELLQSTG\n-MLACKPVSVP\n-\n->Ty1-RT__Llorens_Oryco1-1_AL928755.5\n-WIKAMEDEIHMIEKNNTWELVDRPRDREVIGVKWVYKTKLNLDGSVQKYK\n-ARLVAKGFKQKPGIDYYETYAPVARLETIRTIIALAAQKRWKIYQLDVKS\n-AFLNGYLDEEIYVEQPEGFSVQGGENKVFRLKKALYGLKQAPRVWYSQID\n-KYFIQKGFAKSISEPTLYVNKTGTDILIVSLYVDDLIYTGNSEKMMQDFK\n-KDMMHTYEMSDLGLLYYFLGMEVHQSDEGIFISQRKYAENILKKFKMDNC\n-KSVTTP\n-\n->Ty1-RT__Llorens_Oryco1-2_AL606630.3\n-WRGAMQDELDAIVDNDTWSLTDLPHGHRAIGLKWVYKLKRDEQGAIVRYK\n-ARLAAKGYVQRQGVDFDEVFTPVARLESVCLLLAVAAHQDWQVHHMDVKS\n-AFLNGKLLEEVYVSQPPGFVDDNHKNKVYRLHKALYGLRQAPRAWNAKLD\n-SSLLSFGFHRSSSEHGVYTRTRGGRRLTVGVYVNDLIITGDHDDEIRSFK\n-GEMMKLFKMSDLGALRYYLGIKVTLDSDGITLGQAAYAGKILERAGLKDY\n-NPCQTP\n-\n->Ty1-RT__Llorens_Poco_AC210386.1\n-WIDAMNEELRMIEKNQTWKLVDMSEHKKPIGVKWVYRTKLNADGTINKHK\n-ARLVVKGYAQIFGVDFSETFAPVARLDTIRMLLAVAAQKGWKIFQLDVKS\n-AFLNGYLQEGIFVEQPKGFVVRGEEEKVYLLKKALYGLKQAPRAWXSRID\n-EHLLKLDFKKSLSESTLYIRNSNSDYIVVSLYVDDLFVTGNNQSMIDNFK\n-AEMMKVFEMTDLGEMAYFLGMEVQQNQHGIFICQQKYAKEILKKFKMEEC\n-KSMPTP\n-\n->Ty1-RT__Llorens_RTvr2_AY900122.1\n-WLDAMQDKMKSLYDNHTCDFVNLPKGKRALENRWIFRVKQESNSTSTRYK\n-ARLVVKGFRQRKGVDFNEIFSSVVRMTSIXTVLSLAATLDLEVKQMDVKT\n-TFLHGDLEEEIYMKQPDDFLIEGKEDYVCRLRKSLYGLKQAPRQWYKKFE\n-SVMCEQGYKKTTFDHCVFVRKFSENDFIILLLYVDDMLIVGKDVSKIDRL\n-KKQLGESFAMKDMGAAKKILGISITRDRKEKKLWLSQKHYIQKVLQRFQM\n-ENAKVVSTP\n-\n->Ty1-RT__Llorens_Tork4_EU105455.1\n-WFAAMGDEMESLHKNQTWDLVIQPSGRKIITCKWVFKKKEGISPAEGVKY\n-KARVVARGFNQREGVDYNEIFSPVVRHTSIRVLLAIVAHQNLELEQLDVK\n-TAFLHGELEEEIYMTQPDGFQVPGKENHVCKLKKSLYGLKQSPRQWYKRF\n-DSYMVKLGYTRSSYDCCVYYNRLNDDSFIYLVLYVDDMLIAAKKKYDIQK\n-LKGLLSAEFEMKDLGAARKILGMEIIRDRERRKLFLSQRSYIQKVLARFG\n-MSSSKPIDTP\n-\n->Ty1-RT__Llorens_V12_EU009618.1\n-WLRAMHEDMKSLHKNNTYELMELPKGKRALKNKWVLKRKPEPNRSQPRYK\n-ARLVVKGFSQKKGIDFEEIFSPVVKMSSIRVVLGLAASMNLEIEQLDVKT\n-AFLHGDLEEEIYMEQLEGFTIKGKEHLVCRLKKSLYGLKQAPRQWYKKFD\n-SFMVEHGYDRTASDHCVFVKKFSDGEFIILLLYVDDMLIVGRDTGKIDKL\n-KKELSKSFEMKDLGSTSQILGIKISRDRTNGKLWLSQESYIEKVLDKFNM\n-GKAKPVSSP\n-\n->Ty1-RT__Llorens_Vitico1-1_AM465428.1\n-WCNAMKEEIAAIEKNETWELVELLEDKNVIGVKWVFRTKYLADGSIQKHK\n-AQLVAKGYAQQHGVDYDDTFSPIALFETVRTLLALAAHMHWCVYQFDVKS\n-AFLNGELVEEVYVSQPEGFIVPGKEEHVYRLKKTLFGLKQAPRAWYSKID\n-SYFVENGFERSKSDPNLYLKRQGKNDLLIICLYVDDMIYMGSSSFLINEF\n-KACMKKKFEMSDLGLLHFFLGLEVKQVEDGVFVSXRKYAIDLLKKFNMLN\n-CKVVATP\n-\n->Ty1-RT__Llorens_Vitico1-2_AM462010.2\n-WSKAMKEEIAALKRNSTWELVPKPRDVEPISYKWVYKIKRRTDGSIERHK\n-AHLVARGFSQQYGLDYDETFSPVAKLTIVRVLLALAANKDWDLWXMDVKN\n-AFLHKELDREIYMNQLMGFQSQGHPEYVCKLRKALYGLKQAPRAWYGKIA\n-EFLTQSGYSVTHADSSLFVKANGGKLAIVLVYVDDLIITGDDVEEICXTK\n-ENLSVRFEMKELGQLKHFLGLEVDCTHEGIFLCQQKCAKDLLKKFGMLEC\n-KPISTP\n'
b
diff -r ed4d9ede9cb4 -r d0431a839606 test-data/reads_all
--- a/test-data/reads_all Wed Jul 03 09:21:52 2019 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,1720000 +0,0 @@\n->1f\n-ATGGTTGACTTTTCACTGCCCCCATTCGACGACATAGTAAGTAATATATTCTGATTCGAATCGAAGGGTATGGTTTTTATTTGAGAGCAATGTGTTTGAT\n->1r\n-AAAATCTTTTTTTTAATCATATTTTGCAACATAGTTAAATACAGCATTAAGCTAAATTATTTAACTTCAAGCAATGTATTTAACTATGAACAACATTTAA\n->2f\n-TGAATAAAAAAATCATTATTTTTTGAGTGATTTCTCTCCTCCTATTTGGAAAATAGTTGTACTGAATGATACTAAAAAAATTAAATTAACATTTTATAAA\n->2r\n-ATCATTCTCCTTTTTCGTTTTATCTTTGGTTAGATTCGTCCTTCAACGACAATCTATTTTACTCGCTTTATTAAGATTAGAAGCAACTATTTTATCCTGC\n->3f\n-AGACAGAAAACAGGTTCATTGGCTTTCTGATCATCAATGGACAGAGCTGCAGAAAATATTTTCTTCCAAAAGCAGCACTGATAAATTATCGGGTACGCTA\n->3r\n-ATCCAAAGTCAACGTTTAACCAATTTTCACTGTCCCAATTTTTCTTCCTCCTTCTTGTGTCCCGTTAGGCATCGTAATGAAACATGAATCAGTATTGCAT\n->4f\n-TTTCGACAACGACGACACTTTCTCTCGTTCTTCATCGAGATCTTTCTGAACACTTACGATAGCTGCTTTCTTACTCTCAATCTGTTCTACTAGTTCAAGA\n->4r\n-CGGAGCTGAAAAACAGAGATGCCACTTTAGGGGAGCTTAAGAAAGAGCTTCAATCTTGTGATTCTTTGATGCTGAAATTGGAAGTGATAAATCAAGAGTA\n->5f\n-GATGGTCCTGTACCTGCTACAATGCGGATCATCAAACTTTTATTCGAGGATATTTGTTATTATCCTCGAAAAGTGAAAAGTTTAATGGAACATTATGCCA\n->5r\n-CGGGATATGATTAGCAAGTTAAATAGGTTTCTCAATCCGTTGGAAAAAAGTTAATCATTCCAACCTTAAAATATTTCATACCAAACACATTAATCTCAAA\n->6f\n-CACGAAAAAGATCTCTTAACAGACAGAACAAGTGTTGGATCATCAGCTTCAAATTCAAGTAATCTTGGGAAATTAGTTCAGCTGGAGGGCGGCAACAGTG\n->6r\n-TTTTCGAAGGGATAACTCCAGAGCAGCAGCCTGCCGCTCAAGCTCTTTTCCCCTTTTGTAAGCTCTCAAGGCCTCTTCAGATTTCCCTTCATCTTTTAGC\n->7f\n-TCTAGTTCAGTTGCCTCTCAAGGTATTATAACATCCAAGAGATCTGTAAATTCATATGTACATTAGTAATACCTGCAATACTTTTTCCAGGAGACACTTG\n->7r\n-ATTTTTGAAGATGGTAGTTGTGTTCCATTAGAAGTATCTAAGAAGACAGAGCAAATGGTTGATGTTCTTAGAAGCATGTCCAGTCACCAATCTCTTACTA\n->8f\n-TGCTGTTGCTGTGTTCATAATTACTTGTTATAGAACCTAACTAACAATGGCGTATTTATGGTTGCAGAATTTCAACACAGAGCTAGTCGTCGACATGGTT\n->8r\n-GCATATGATTGATCAATCCCCTCGCAGCACTGTGTCATGAAATGCATACCGTAAGCTCATGTTGAAACAACAATTTCTTCGAAAATGAAGGCAATTCTTG\n->9f\n-ATGCGAGATATAAGCCGTCATAAGTTCTTTGGCATAGTTAAGGCTATTTGAAGCTATTTGATGCATAATAAGGCATTTTAAATGCAATTGGATCCTTAAA\n->9r\n-TAACAATCCAAAACCACTTGTAATCTCTTTTACAGCCTTAAATGAGCTTATTTAATGATCCAATTGCATTTAAAATGCCTTATTATGCATCAAATAGCTT\n->10f\n-AATGAGGAGCCTTTGAGATCGAATCGTCTATGGATTCTCAACTCTGTGCAGAACATGTTTCCCATGACGACGAAGCGAAACTGTAAAAGCCGGATTTGAG\n->10r\n-TTACCTTTCATCCAATTAGCTCTCACTTGCAGGTTCTAAAAAGGATGCTCCCAAGGTATCATCGCCACGTTCGAAGATATGAAAACACTCTCATAACCAA\n->11f\n-GAAGATTTGTTCCTTGTTAGGGTTCATACCGGCATCATGATGTGGATTTCAGTGTATGCGTTTGATGAATTCCACTAGTAATTGTGTGTCTCTGGCCCGG\n->11r\n-CAACGCCCCTCTAACCTGGAACAGGAAAACTTTTGAATTATAAGAAATTTCTCCAATAATTAAAATCAAGAAACTAATACAAAATTACCAGGTCGAGTTC\n->12f\n-TCCTCGAATAAAATATCAAGACGTGATGGAAGTGCTTAGCCTGCAACCTATTACTTCTACTGCAGCTGCTCACATGAGGTGTGCTTCTGCTTCATTTTAT\n->12r\n-TCAATGGCTTTTTTTAAAACCTTGCGAGAAGTGTTGTTGATTGCATCTAAATGACTCTTCATTTCCTTTAAATAGCTCAAACTTCTTTGCTGGATTTCTG\n->13f\n-CCAAGTTGAAGCTGATTCATGATGACGGGCATAAGAAACCGTGGAGTCGAGTTCCGAATTCAACGTTTTTCCCGCCAAATCTGAAGAGCCTGACTCTGGC\n->13r\n-TGCATAAATGAATTGTCCGAAACCGTCCACAGTCTGAGATCCGACCACTCAATGTGCAGATATTCGAGAGAACAAAATCCATTGCCACCGAAGTTCCACA\n->14f\n-GGAAACAACGAAAAAGGACAACTCGGACTTGGAAAAGAAGTTCAACAGAAAAATTCTTTCACTCTTCTGATGAAAGACGAACAAATCATTGACATCTTCT\n->14r\n-CCAAGTCCGAGTTGTCCATTTGAATTCCATCCACAAACCAAAATTTCTCCGTTTCTCTTCAAAATCATCATGTGATTTCCTCCACATGAGATTTGTTTGA\n->15f\n-TATATCAACTTATATCTCGCTATATGACGGTAATTACAATCCGAAACTACTTATAATCTCTTTTCAAGCCTTAAATGAGGTTATTTAAGGATCCAATTGC\n->15r\n-CATAAATAAAGTTATTTAAGGTCTAAAAAGAGATTATAAGTGCTTTTGCATGGTTAAATATAGTTATATAGCATGTTATAGGTCATTACACATCATTTCA\n->16f\n-GTTTTGCTTGTTGAGAAATGGAGGGACCAAAATATGACCTTATAATGGCATTTCATCTCACGATTGCGACGATTTATTTATTTTTTTTTAAATCTAATCC\n->16r\n-GCTATATCATTAGACCTTATATTAAGGGTTTAGAGTTTAATATTTATATGTCTTTCGACTATACCCTAACCCCCAAGACTCTACACCACTGTTTGTAAAT\n->17f\n-CAAATTAAGCAAAAAAAGAACCACCGGCAAATAAATGACTCAGCTATCCAAACATTCGAAAATTATACGAGAATAGTAAATAACATTGCGCCACGACCAT\n->17r\n-CTTGCTAAACCCAGGCAGCTACACAACTCACAGTGGGGAATGATGTGAAACTCCCGAGGGACAAGTCAGTGCACATTTTACGTCTTAATTCTCCCTGTTA\n->18f\n-AACGAGATTTAGGGCGGAGCCCAGGGTAAAAACTCGATCAGAATCGACCGAGAAAAACCCGAGAGAAATGACGTCCACTATCTGAGAAAATGCAGTGAGT\n->18r\n-TATACTTTCCTGGGGAAGGGGAAAGGCCGCGGAGGCGTTTTGGGCATTAAGCGCAACCGCCGGCGAATCGCTATAAAAGGAAGTTTTGAGGAAGAAAAAA\n->19f\n-CAGAGCAGAACAGTAAAATTCGCATACCAAATTGAACAATATTTAAAAGTATTACACAAAACTTCGCGAAAAAAAAAACAGGAAAAAAACCTATCAATGC'..b'TTAGACGCTCAAGGCAATGTGGAAAAACAAAACTAATCATGTCCAGATGCTGAAAATAATCATGGAGCAGGAATTTCT\n->429983r\n-GTTCTTGAGTGAAGGTAAGTCTTTCATTCTTAGGCCTAACGACATAACGTCATCATCATCATTATTATTCTTTTTGTCTTCATTTTATTGCATGTACTTA\n->429984f\n-GCAATGGCTTTGAGGAAGTCTTGTCGCGGTACAGAGAACTTGTTCCCAATCTGAAACTAGCAGGTTGACTATTTCTTGCATAGTGGCTCATCTTACAGCT\n->429984r\n-TGGTGACCTGACAGGATTAACAACACAGCTGAAGTGAGTAGAATAGACCACCGAAAGTAAGCAGGTCGCAATATATTCAAGAACCTGGCCATCCGCAATA\n->429985f\n-GAAAATTGGATTCCATCACCATGAGCCCTCGAATTATGCAACTCCATCGAATATAAATCGTAGTTCTTTTCAGTCCAATTATTTTCATTTTTTAATTATT\n->429985r\n-CACCACCATTTAGGCCCTTCTATTTTTAGTAACCATCCGTACACTGTTCGCTACCTAATTTTCATTTATTTACAAAATCATATCCTTGCTCCATTTAATA\n->429986f\n-AATTAATTTCATCTTTGGTCTGAGACACGGCAAGTTCGTCGTCAAAGCATTAATGCCAAAGTAAACACAACAGTGGGCCACTAATCAATGCCTGACACGA\n->429986r\n-TAAGAGCTGCTGTCCGTGTTGTTCGCATTTTCTCACTTCGAATCATCTCTATCCGAATTTTCTTCTCAATAAGGTTAGTTTCTATTTATTTATTTTATTT\n->429987f\n-GCTCCTGTGATCTGTGAGTCTCCGGTCAATTTCTACTACGGCCTTCTGTACTTGTAATTTACTCGAATCAGGTTGCGAAACTCAAATTTGCTCACTCGCG\n->429987r\n-AGCATCAACTCGCTGAACATTGCTCTCCTCGACCAAGATTTCGATGGCCTTCAGACACAGAGCCTTAACTTCCGATTCCTTAAGCGGTTCGCATCTCTTG\n->429988f\n-CATATTATTTTTGGTTCATAAGTTTGCTTGATTTCATGTAGTAGCATCTCCTTAGGTATTTGTTTAGAGTTTTTTCTATTGCAGTAAGATGCATTTTTCG\n->429988r\n-ACTTCCATTTGAGTTCATGCCAGCAGAAGACAAGCAAACAAATAGCATAAGATTTCAGCTTTGTGGACCAAAAATCTGGCCGTAGAAGAAAATAGTCATC\n->429989f\n-AAAACCACTTATAATATCATTTTAGGCCTCAAATAAGATTAATTGAGGATTCAATTTCATTTAAAATGGCTTATTATACATTAAATATATTGAAATAGTC\n->429989r\n-TCAGTTATTACATTTGTGTATGATATAAAACCTTATAATTTATTTTGAAATATAATTAACACTATTTCAAGCCATTTAATATATAATTAGCCTTTTAAAA\n->429990f\n-TAAACTTGCTCTTGGCCAGGTTAATACTGCAAGGAATCTGATTGGCAAGATTGCCAAGGATTATGTCAAGTTATTGAAATACGGAGACTCTCTCTATCGA\n->429990r\n-TCGTGAAGGCGTAGGGCTGTACGTCGACATCAGCCCTCGTGATTTTGTTGATAAAAGAACTCTTTCCGACATTTGGGTATCCACAGATTAAGATAGTTCG\n->429991f\n-GTCAGGTGGCTGGCAAGGCAATACATAAACAAGTTCAGAGAGGAAGTTTAGACGTGTATCGTTTCATCATCTCCAAGCATTCTCTAGGCCTGTACTCCGG\n->429991r\n-GGCAACACTGGAAACGGTGAGAGAGTTAAACTTGACGCTACACGAAGCATGGAGGCCGTGGAAAGTGAATAAGCAAATTGCGGGCTACACTCAGAGCTAC\n->429992f\n-AAAAAAAAATACGATACGATACAAAAATGGATGTATTAGAGATAATGCTCCATATCTAGTCTGCAGATTGGCAAAAAACCTACGAGGAGAATGAAAAAAA\n->429992r\n-GTTTTTTTACTCGTTCGCTTATAGCTCCGATGTTCTTGCTGAGGTCGTTGTCGTACTTCTGTTTATCAGATGGCACGATGCGGGGACTTATGATGCCAGA\n->429993f\n-ATGTCATTTCAAAGCATAAGTAAGGCTATTTCGAGCAATTTGAGGCCTAATAAGCCATTTTAATTCCATTTGAATGCCTAATTTACCTTATTTGAGGCCT\n->429993r\n-ACCATCCAAAACCACTTATAACCTCTTTTTATGCATTAAATGAGGTTAATACAACATCCAATTGCGTTTTAAATGAATTATTAGGTCGTACATATAGTAA\n->429994f\n-CTTGATGTGGGTAAAGGTGAGTGGGCAGGAGAAATCATCAGATCTTGTGATGAATGGAGTTGCAGAACGAATAGTAGGCAAAGCCGCCATGGTTTTTTTT\n->429994r\n-CAGAATCCAGATTTTGAAATTCTGTACATTCAGATTTATATATACATACATACATACATGTATGTACCGACAAGTGTATTTATAATATACACCACACATG\n->429995f\n-GAAAATCTTCTGAAAAGCCGAATTCGTCTGAGGAGATCGCAGTTTTATCTAGAAAACAGAAAAATCGAATACGTTTTATCTCGTTAACGAAAACTGGAAA\n->429995r\n-ACTTCGCTTGGATCTGCTGAGATCAACTTTCTGCGATCCAACATCTCGGATTTATCCGATATCTGGATTCCCCTGAAAGGAAAACTGGCTCATGCCTGCG\n->429996f\n-GGTGAGTTGATCCAATAAAGACTCATGCGATGAAAATAAGCCGATAACGCCTCCGGATCCAATGGGTCTTTGGAGAAACTCCCAATGTGTTTTCATCACG\n->429996r\n-GTTTTGCGTTACACTTAATCATAGTTTACTGATTGCAGAATGCAGAGAGAAACTCTGTGCCTCTGGTGTTGGTTTGCCCTTCTCATTTAATCAGTTCCAT\n->429997f\n-TTCTTGACGAAAATGGTTAATAACACTTACAGGAGATTTCTGATAAACTTACAGGTTCTTAAAGATGGGAGCTTCCACATGGCTCAGCTCAAGGCATAAA\n->429997r\n-TGGTTACACCATTGCATTCGGGATCAGGAATGTGACTCATATAGAAAAAGTTCTTTCTGAAGCTTACAGGTGAGTTCAGTCCTCTGCATACATATATTTC\n->429998f\n-AGGCTACCTTCATGGACGAGGCGGTACACTATTACAGAAACACCATTCATGAGCTTCCTTCTCTTGTTTTTCTATGGAGTTGCTTGTTTTTACAAAAATC\n->429998r\n-GAGTTTATGGCTAAGGAAAAAGAAAAAAGATATGCAGCAGCATTGTTTGAGAATAGAGAAGAAAAAAGGATATTTTAAATGCTGCAAATGCGCGTTTCTC\n->429999f\n-ACATTATCGCTTGATCGTATCTGCTGGATAATTACCACTCCATTCTTTTGAAGATCATGTGTAAACAATCCACAAATATTATAAATGCTTTCAATCATTG\n->429999r\n-GGGTATGCTGATGCTGGATATAGATCTGATCCACATAATGGAAGATCTCAGACCGGATATGTTTTCCTGAATAAAGGAGCTGCTATTTCTTAGCGATTTA\n->430000f\n-TTTTCGTTTGTTTTATTAGGGCAGAGAAAAAAAATTCTCTTCTCTGCCTTTCCTTGCCTCCATTGAAGAAGATGAAGAAGAAGAAGAATTTGATGAATCT\n->430000r\n-AAGGGGGTTGAATTTTGGGTGTTTTCTGGAAGCCAACTGGGGAAGGACAACACCAAAAACCTTCCGGAGTGACTGCCATCGGAACTGTTTTTATCTTCGT\n'
b
diff -r ed4d9ede9cb4 -r d0431a839606 tool-data/BL62.txt.sample
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tool-data/BL62.txt.sample Wed Aug 14 11:24:15 2019 -0400
b
@@ -0,0 +1,27 @@
+# Entries for the BLOSUM62 matrix at a scale of ln(2)/2.0.
+   A  R  N  D  C  Q  E  G  H  I  L  K  M  F  P  S  T  W  Y  V  B  J  Z  X  *
+A  5 -2 -2 -2 -1 -1 -1  0 -2 -2 -2 -1 -1 -3 -1  1  0 -3 -2  0 -2 -2 -1 -1 -6
+R -2  6 -1 -2 -4  1 -1 -3  0 -3 -3  2 -2 -4 -2 -1 -1 -4 -3 -3 -1 -3  0 -1 -6
+N -2 -1  6  1 -3  0 -1 -1  0 -4 -4  0 -3 -4 -3  0  0 -4 -3 -4  5 -4  0 -1 -6
+D -2 -2  1  6 -4 -1  1 -2 -2 -4 -5 -1 -4 -4 -2 -1 -1 -6 -4 -4  5 -5  1 -1 -6
+C -1 -4 -3 -4  9 -4 -5 -4 -4 -2 -2 -4 -2 -3 -4 -2 -1 -3 -3 -1 -4 -2 -4 -1 -6
+Q -1  1  0 -1 -4  6  2 -2  1 -3 -3  1  0 -4 -2  0 -1 -3 -2 -3  0 -3  4 -1 -6
+E -1 -1 -1  1 -5  2  6 -3  0 -4 -4  1 -2 -4 -2  0 -1 -4 -3 -3  1 -4  5 -1 -6
+G  0 -3 -1 -2 -4 -2 -3  6 -3 -5 -4 -2 -4 -4 -3 -1 -2 -4 -4 -4 -1 -5 -3 -1 -6
+H -2  0  0 -2 -4  1  0 -3  8 -4 -3 -1 -2 -2 -3 -1 -2 -3  2 -4 -1 -4  0 -1 -6
+I -2 -3 -4 -4 -2 -3 -4 -5 -4  5  1 -3  1 -1 -4 -3 -1 -3 -2  3 -4  3 -4 -1 -6
+L -2 -3 -4 -5 -2 -3 -4 -4 -3  1  4 -3  2  0 -3 -3 -2 -2 -2  1 -4  3 -3 -1 -6
+K -1  2  0 -1 -4  1  1 -2 -1 -3 -3  5 -2 -4 -1 -1 -1 -4 -3 -3 -1 -3  1 -1 -6
+M -1 -2 -3 -4 -2  0 -2 -4 -2  1  2 -2  6  0 -3 -2 -1 -2 -2  1 -3  2 -1 -1 -6
+F -3 -4 -4 -4 -3 -4 -4 -4 -2 -1  0 -4  0  6 -4 -3 -2  0  3 -1 -4  0 -4 -1 -6
+P -1 -2 -3 -2 -4 -2 -2 -3 -3 -4 -3 -1 -3 -4  8 -1 -2 -5 -4 -3 -2 -4 -2 -1 -6
+S  1 -1  0 -1 -2  0  0 -1 -1 -3 -3 -1 -2 -3 -1  5  1 -4 -2 -2  0 -3  0 -1 -6
+T  0 -1  0 -1 -1 -1 -1 -2 -2 -1 -2 -1 -1 -2 -2  1  5 -4 -2  0 -1 -1 -1 -1 -6
+W -3 -4 -4 -6 -3 -3 -4 -4 -3 -3 -2 -4 -2  0 -5 -4 -4 11  2 -3 -5 -3 -3 -1 -6
+Y -2 -3 -3 -4 -3 -2 -3 -4  2 -2 -2 -3 -2  3 -4 -2 -2  2  7 -2 -3 -2 -3 -1 -6
+V  0 -3 -4 -4 -1 -3 -3 -4 -4  3  1 -3  1 -1 -3 -2  0 -3 -2  4 -4  2 -3 -1 -6
+B -2 -1  5  5 -4  0  1 -1 -1 -4 -4 -1 -3 -4 -2  0 -1 -5 -3 -4  5 -4  0 -1 -6
+J -2 -3 -4 -5 -2 -3 -4 -5 -4  3  3 -3  2  0 -4 -3 -1 -3 -2  2 -4  3 -3 -1 -6
+Z -1  0  0  1 -4  4  5 -3  0 -4 -3  1 -1 -4 -2  0 -1 -3 -3 -3  0 -3  5 -1 -6
+X -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -6
+* -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6  1
b
diff -r ed4d9ede9cb4 -r d0431a839606 tool-data/BL80.txt.sample
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tool-data/BL80.txt.sample Wed Aug 14 11:24:15 2019 -0400
b
@@ -0,0 +1,27 @@
+# Entries for the BLOSUM80 matrix at a scale of ln(2)/2.0.
+   A  R  N  D  C  Q  E  G  H  I  L  K  M  F  P  S  T  W  Y  V  B  J  Z  X  *
+A  5 -2 -2 -2 -1 -1 -1  0 -2 -2 -2 -1 -1 -3 -1  1  0 -3 -2  0 -2 -2 -1 -1 -6
+R -2  6 -1 -2 -4  1 -1 -3  0 -3 -3  2 -2 -4 -2 -1 -1 -4 -3 -3 -1 -3  0 -1 -6
+N -2 -1  6  1 -3  0 -1 -1  0 -4 -4  0 -3 -4 -3  0  0 -4 -3 -4  5 -4  0 -1 -6
+D -2 -2  1  6 -4 -1  1 -2 -2 -4 -5 -1 -4 -4 -2 -1 -1 -6 -4 -4  5 -5  1 -1 -6
+C -1 -4 -3 -4  9 -4 -5 -4 -4 -2 -2 -4 -2 -3 -4 -2 -1 -3 -3 -1 -4 -2 -4 -1 -6
+Q -1  1  0 -1 -4  6  2 -2  1 -3 -3  1  0 -4 -2  0 -1 -3 -2 -3  0 -3  4 -1 -6
+E -1 -1 -1  1 -5  2  6 -3  0 -4 -4  1 -2 -4 -2  0 -1 -4 -3 -3  1 -4  5 -1 -6
+G  0 -3 -1 -2 -4 -2 -3  6 -3 -5 -4 -2 -4 -4 -3 -1 -2 -4 -4 -4 -1 -5 -3 -1 -6
+H -2  0  0 -2 -4  1  0 -3  8 -4 -3 -1 -2 -2 -3 -1 -2 -3  2 -4 -1 -4  0 -1 -6
+I -2 -3 -4 -4 -2 -3 -4 -5 -4  5  1 -3  1 -1 -4 -3 -1 -3 -2  3 -4  3 -4 -1 -6
+L -2 -3 -4 -5 -2 -3 -4 -4 -3  1  4 -3  2  0 -3 -3 -2 -2 -2  1 -4  3 -3 -1 -6
+K -1  2  0 -1 -4  1  1 -2 -1 -3 -3  5 -2 -4 -1 -1 -1 -4 -3 -3 -1 -3  1 -1 -6
+M -1 -2 -3 -4 -2  0 -2 -4 -2  1  2 -2  6  0 -3 -2 -1 -2 -2  1 -3  2 -1 -1 -6
+F -3 -4 -4 -4 -3 -4 -4 -4 -2 -1  0 -4  0  6 -4 -3 -2  0  3 -1 -4  0 -4 -1 -6
+P -1 -2 -3 -2 -4 -2 -2 -3 -3 -4 -3 -1 -3 -4  8 -1 -2 -5 -4 -3 -2 -4 -2 -1 -6
+S  1 -1  0 -1 -2  0  0 -1 -1 -3 -3 -1 -2 -3 -1  5  1 -4 -2 -2  0 -3  0 -1 -6
+T  0 -1  0 -1 -1 -1 -1 -2 -2 -1 -2 -1 -1 -2 -2  1  5 -4 -2  0 -1 -1 -1 -1 -6
+W -3 -4 -4 -6 -3 -3 -4 -4 -3 -3 -2 -4 -2  0 -5 -4 -4 11  2 -3 -5 -3 -3 -1 -6
+Y -2 -3 -3 -4 -3 -2 -3 -4  2 -2 -2 -3 -2  3 -4 -2 -2  2  7 -2 -3 -2 -3 -1 -6
+V  0 -3 -4 -4 -1 -3 -3 -4 -4  3  1 -3  1 -1 -3 -2  0 -3 -2  4 -4  2 -3 -1 -6
+B -2 -1  5  5 -4  0  1 -1 -1 -4 -4 -1 -3 -4 -2  0 -1 -5 -3 -4  5 -4  0 -1 -6
+J -2 -3 -4 -5 -2 -3 -4 -5 -4  3  3 -3  2  0 -4 -3 -1 -3 -2  2 -4  3 -3 -1 -6
+Z -1  0  0  1 -4  4  5 -3  0 -4 -3  1 -1 -4 -2  0 -1 -3 -3 -3  0 -3  5 -1 -6
+X -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -6
+* -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6  1
b
diff -r ed4d9ede9cb4 -r d0431a839606 tool-data/MIQS.txt.sample
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tool-data/MIQS.txt.sample Wed Aug 14 11:24:15 2019 -0400
b
@@ -0,0 +1,27 @@
+# MIQS scoring matrix
+A  R  N  D  C  Q  E  G  H  I  L  K  M  F  P  S  T  W  Y  V  B  J  Z  X  *
+A  3 -1  0  0  2  0  0  0 -1 -1 -1 -1 -1 -2  0  1  1 -4 -2  0  0 -1  0 -1 -6
+R -1  6  0 -1 -3  2 -1 -2  1 -2 -3  3 -1 -3 -1  0 -1 -4 -2 -2 -1 -2 -1 -1 -6
+N  0  0  5  3 -2  1  1  0  1 -4 -4  1 -2 -3 -1  1  0 -5 -1 -3  4 -4  1 -1 -6
+D  0 -1  3  6 -4  1  3 -1  0 -5 -5  0 -3 -6  0  0  0 -5 -4 -3  5 -5  3 -1 -6
+C  2 -3 -2 -4 12 -3 -3 -2 -1  0 -2 -3  0 -3 -3  1  0 -6 -1  2 -3 -1 -3 -1 -6
+Q  0  2  1  1 -3  4  2 -2  1 -2 -2  2  0 -2  0  0  0 -5 -3 -2  1 -2  2 -1 -6
+E  0 -1  1  3 -3  2  4 -1  0 -3 -3  1 -2 -4  0  0  0 -6 -2 -2  2 -3  4 -1 -6
+G  0 -2  0 -1 -2 -2 -1  8 -2 -5 -5 -2 -4 -5 -2  0 -2 -5 -4 -4 -1 -5 -1 -1 -6
+H -1  1  1  0 -1  1  0 -2  7 -2 -2  0 -2  0 -2  0  0  0  2 -2  0 -2  0 -1 -6
+I -1 -2 -4 -5  0 -2 -3 -5 -2  5  3 -2  2  1 -4 -3 -1 -1 -1  3 -5  4 -3 -1 -6
+L -1 -3 -4 -5 -2 -2 -3 -5 -2  3  5 -2  3  2 -3 -3 -2  0  0  2 -5  4 -3 -1 -6
+K -1  3  1  0 -3  2  1 -2  0 -2 -2  4 -1 -4  0  0  0 -4 -2 -2  0 -2  1 -1 -6
+M -1 -1 -2 -3  0  0 -2 -4 -2  2  3 -1  5  1 -3 -2 -1 -2 -1  1 -3  3 -2 -1 -6
+F -2 -3 -3 -6 -3 -2 -4 -5  0  1  2 -4  1  7 -4 -3 -2  4  5  0 -5  2 -4 -1 -6
+P  0 -1 -1  0 -3  0  0 -2 -2 -4 -3  0 -3 -4  8  0  0 -4 -5 -3  0 -3  0 -1 -6
+S  1  0  1  0  1  0  0  0  0 -3 -3  0 -2 -3  0  3  2 -4 -2 -1  0 -3  0 -1 -6
+T  1 -1  0  0  0  0  0 -2  0 -1 -2  0 -1 -2  0  2  4 -5 -2  0  0 -1  0 -1 -6
+W -4 -4 -5 -5 -6 -5 -6 -5  0 -1  0 -4 -2  4 -4 -4 -5 15  5 -3 -5  0 -6 -1 -6
+Y -2 -2 -1 -4 -1 -3 -2 -4  2 -1  0 -2 -1  5 -5 -2 -2  5  8 -1 -3  0 -2 -1 -6
+V  0 -2 -3 -3  2 -2 -2 -4 -2  3  2 -2  1  0 -3 -1  0 -3 -1  4 -3  3 -2 -1 -6
+B  0 -1  4  5 -3  1  2 -1  0 -5 -5  0 -3 -5  0  0  0 -5 -3 -3  5 -5  2 -1 -6
+J -1 -2 -4 -5 -1 -2 -3 -5 -2  4  4 -2  3  2 -3 -3 -1  0  0  3 -5  4 -1 -1 -6
+Z  0 -1  1  3 -3  2  4 -1  0 -3 -3  1 -2 -4  0  0  0 -6 -2 -2  2 -1  4 -1 -6
+X -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -6 -6
+* -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6  1
\ No newline at end of file
b
diff -r ed4d9ede9cb4 -r d0431a839606 tool-data/blosum80.txt.sample
--- a/tool-data/blosum80.txt.sample Wed Jul 03 09:21:52 2019 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,27 +0,0 @@
-# Entries for the BLOSUM80 matrix at a scale of ln(2)/2.0.
-   A  R  N  D  C  Q  E  G  H  I  L  K  M  F  P  S  T  W  Y  V  B  J  Z  X  *
-A  5 -2 -2 -2 -1 -1 -1  0 -2 -2 -2 -1 -1 -3 -1  1  0 -3 -2  0 -2 -2 -1 -1 -6
-R -2  6 -1 -2 -4  1 -1 -3  0 -3 -3  2 -2 -4 -2 -1 -1 -4 -3 -3 -1 -3  0 -1 -6
-N -2 -1  6  1 -3  0 -1 -1  0 -4 -4  0 -3 -4 -3  0  0 -4 -3 -4  5 -4  0 -1 -6
-D -2 -2  1  6 -4 -1  1 -2 -2 -4 -5 -1 -4 -4 -2 -1 -1 -6 -4 -4  5 -5  1 -1 -6
-C -1 -4 -3 -4  9 -4 -5 -4 -4 -2 -2 -4 -2 -3 -4 -2 -1 -3 -3 -1 -4 -2 -4 -1 -6
-Q -1  1  0 -1 -4  6  2 -2  1 -3 -3  1  0 -4 -2  0 -1 -3 -2 -3  0 -3  4 -1 -6
-E -1 -1 -1  1 -5  2  6 -3  0 -4 -4  1 -2 -4 -2  0 -1 -4 -3 -3  1 -4  5 -1 -6
-G  0 -3 -1 -2 -4 -2 -3  6 -3 -5 -4 -2 -4 -4 -3 -1 -2 -4 -4 -4 -1 -5 -3 -1 -6
-H -2  0  0 -2 -4  1  0 -3  8 -4 -3 -1 -2 -2 -3 -1 -2 -3  2 -4 -1 -4  0 -1 -6
-I -2 -3 -4 -4 -2 -3 -4 -5 -4  5  1 -3  1 -1 -4 -3 -1 -3 -2  3 -4  3 -4 -1 -6
-L -2 -3 -4 -5 -2 -3 -4 -4 -3  1  4 -3  2  0 -3 -3 -2 -2 -2  1 -4  3 -3 -1 -6
-K -1  2  0 -1 -4  1  1 -2 -1 -3 -3  5 -2 -4 -1 -1 -1 -4 -3 -3 -1 -3  1 -1 -6
-M -1 -2 -3 -4 -2  0 -2 -4 -2  1  2 -2  6  0 -3 -2 -1 -2 -2  1 -3  2 -1 -1 -6
-F -3 -4 -4 -4 -3 -4 -4 -4 -2 -1  0 -4  0  6 -4 -3 -2  0  3 -1 -4  0 -4 -1 -6
-P -1 -2 -3 -2 -4 -2 -2 -3 -3 -4 -3 -1 -3 -4  8 -1 -2 -5 -4 -3 -2 -4 -2 -1 -6
-S  1 -1  0 -1 -2  0  0 -1 -1 -3 -3 -1 -2 -3 -1  5  1 -4 -2 -2  0 -3  0 -1 -6
-T  0 -1  0 -1 -1 -1 -1 -2 -2 -1 -2 -1 -1 -2 -2  1  5 -4 -2  0 -1 -1 -1 -1 -6
-W -3 -4 -4 -6 -3 -3 -4 -4 -3 -3 -2 -4 -2  0 -5 -4 -4 11  2 -3 -5 -3 -3 -1 -6
-Y -2 -3 -3 -4 -3 -2 -3 -4  2 -2 -2 -3 -2  3 -4 -2 -2  2  7 -2 -3 -2 -3 -1 -6
-V  0 -3 -4 -4 -1 -3 -3 -4 -4  3  1 -3  1 -1 -3 -2  0 -3 -2  4 -4  2 -3 -1 -6
-B -2 -1  5  5 -4  0  1 -1 -1 -4 -4 -1 -3 -4 -2  0 -1 -5 -3 -4  5 -4  0 -1 -6
-J -2 -3 -4 -5 -2 -3 -4 -5 -4  3  3 -3  2  0 -4 -3 -1 -3 -2  2 -4  3 -3 -1 -6
-Z -1  0  0  1 -4  4  5 -3  0 -4 -3  1 -1 -4 -2  0 -1 -3 -3 -3  0 -3  5 -1 -6
-X -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -6
-* -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6  1
b
diff -r ed4d9ede9cb4 -r d0431a839606 tool-data/miqs.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tool-data/miqs.txt Wed Aug 14 11:24:15 2019 -0400
b
@@ -0,0 +1,26 @@
+   A  R  N  D  C  Q  E  G  H  I  L  K  M  F  P  S  T  W  Y  V  B  J  Z  X  *
+A  3 -1  0  0  2  0  0  0 -1 -1 -1 -1 -1 -2  0  1  1 -4 -2  0  0 -1  0 -1 -6
+R -1  6  0 -1 -3  2 -1 -2  1 -2 -3  3 -1 -3 -1  0 -1 -4 -2 -2 -1 -2 -1 -1 -6
+N  0  0  5  3 -2  1  1  0  1 -4 -4  1 -2 -3 -1  1  0 -5 -1 -3  4 -4  1 -1 -6
+D  0 -1  3  6 -4  1  3 -1  0 -5 -5  0 -3 -6  0  0  0 -5 -4 -3  5 -5  3 -1 -6
+C  2 -3 -2 -4 12 -3 -3 -2 -1  0 -2 -3  0 -3 -3  1  0 -6 -1  2 -3 -1 -3 -1 -6
+Q  0  2  1  1 -3  4  2 -2  1 -2 -2  2  0 -2  0  0  0 -5 -3 -2  1 -2  2 -1 -6
+E  0 -1  1  3 -3  2  4 -1  0 -3 -3  1 -2 -4  0  0  0 -6 -2 -2  2 -3  4 -1 -6
+G  0 -2  0 -1 -2 -2 -1  8 -2 -5 -5 -2 -4 -5 -2  0 -2 -5 -4 -4 -1 -5 -1 -1 -6
+H -1  1  1  0 -1  1  0 -2  7 -2 -2  0 -2  0 -2  0  0  0  2 -2  0 -2  0 -1 -6
+I -1 -2 -4 -5  0 -2 -3 -5 -2  5  3 -2  2  1 -4 -3 -1 -1 -1  3 -5  4 -3 -1 -6
+L -1 -3 -4 -5 -2 -2 -3 -5 -2  3  5 -2  3  2 -3 -3 -2  0  0  2 -5  4 -3 -1 -6
+K -1  3  1  0 -3  2  1 -2  0 -2 -2  4 -1 -4  0  0  0 -4 -2 -2  0 -2  1 -1 -6
+M -1 -1 -2 -3  0  0 -2 -4 -2  2  3 -1  5  1 -3 -2 -1 -2 -1  1 -3  3 -2 -1 -6
+F -2 -3 -3 -6 -3 -2 -4 -5  0  1  2 -4  1  7 -4 -3 -2  4  5  0 -5  2 -4 -1 -6
+P  0 -1 -1  0 -3  0  0 -2 -2 -4 -3  0 -3 -4  8  0  0 -4 -5 -3  0 -3  0 -1 -6
+S  1  0  1  0  1  0  0  0  0 -3 -3  0 -2 -3  0  3  2 -4 -2 -1  0 -3  0 -1 -6
+T  1 -1  0  0  0  0  0 -2  0 -1 -2  0 -1 -2  0  2  4 -5 -2  0  0 -1  0 -1 -6
+W -4 -4 -5 -5 -6 -5 -6 -5  0 -1  0 -4 -2  4 -4 -4 -5 15  5 -3 -5  0 -6 -1 -6
+Y -2 -2 -1 -4 -1 -3 -2 -4  2 -1  0 -2 -1  5 -5 -2 -2  5  8 -1 -3  0 -2 -1 -6
+V  0 -2 -3 -3  2 -2 -2 -4 -2  3  2 -2  1  0 -3 -1  0 -3 -1  4 -3  3 -2 -1 -6
+B  0 -1  4  5 -3  1  2 -1  0 -5 -5  0 -3 -5  0  0  0 -5 -3 -3  5 -5  2 -1 -6
+J -1 -2 -4 -5 -1 -2 -3 -5 -2  4  4 -2  3  2 -3 -3 -1  0  0  3 -5  4 -1 -1 -6
+Z  0 -1  1  3 -3  2  4 -1  0 -3 -3  1 -2 -4  0  0  0 -6 -2 -2  2 -1  4 -1 -6
+X -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -6 -6
+* -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6  1