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

Changeset 1:f193fef5b19d (2023-07-31)
Previous changeset 0:d04ea6b052c5 (2022-08-11) Next changeset 2:0349d8981030 (2023-10-02)
Commit message:
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/cojac commit 5b54fc7af13196445abda407054e01dd3e5603c6
modified:
cooc_pubmut.xml
macros.xml
added:
test-data/ampl_info.tsv
test-data/bed_cojac.bed
test-data/primers.bed
b
diff -r d04ea6b052c5 -r f193fef5b19d cooc_pubmut.xml
--- a/cooc_pubmut.xml Thu Aug 11 13:49:40 2022 +0000
+++ b/cooc_pubmut.xml Mon Jul 31 15:23:17 2023 +0000
[
b'@@ -1,69 +1,131 @@\n <tool id="cooc_pubmut" name="Cojac: pubmut" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@"\n       profile="@PROFILE@">\n     <description>\n-        render a JSON or YAML file to a pretty table\n+        pretty-prints cojac mutbamscan co-occurrence results\n     </description>\n     <macros>\n         <import>macros.xml</import>\n     </macros>\n     <expand macro="biotools"/>\n     <expand macro="requirements">\n-        <requirement type="package" version="2.12">pandoc</requirement>\n+        <requirement type="package" version="3.1.3">pandoc</requirement>\n+        <requirement type="package" version="6.2.1">gmp</requirement>\n     </expand>\n     <expand macro="version"/>\n     <command detect_errors="exit_code"><![CDATA[\n-@VOCDIR_COMMAND@\n-#for $input_file in $cooc_file\n-    #set $cooc_ext = $input_file.ext\n-#end for\n-cooc-pubmut\n-    -m \'$vocdir\'\n-    -a \'$amplicons\'\n-    #if $cooc_ext == \'json\'\n-        -j \'$cooc_file\'\n-    #else if $cooc_ext == \'yaml\'\n-        -y \'$cooc_file\'\n+#if $annotations.availability == \'full\':\n+  #set $voc_config = $annotations.voc_source\n+  @VOCDIR_COMMAND@\n+#end if\n+cojac cooc-pubmut\n+    #if $annotations.availability == \'full\':\n+      -m voc/\n+    #end if\n+    #if $annotations.availability != \'none\':\n+      -a \'$annotations.in_amp\'\n     #end if\n-    -o cooc-table.csv\n+    #if $cooc_data.ext == \'json\':\n+      -j \'$cooc_data\'\n+    #else\n+      -y \'$cooc_data\'\n+    #end if\n     -q\n-    $escape\n-    #if $add_html\n+    #if $out_opts.format == \'tsv\':\n+      -o cooc-table.tsv\n+    #else:\n+      -o cooc-table.csv\n+      #if $out_opts.format == \'html\':\n         && pandoc cooc-table.csv -o cooc-table.html\n-        && mkdir -p \'$html.files_path\'\n-        && cp cooc-table.html \'$html.files_path\'\n+      #end if\n     #end if\n     ]]></command>\n     <inputs>\n-        <expand macro="vocdir_input"/>\n-        <param name="amplicons" type="data" format="yaml" label="List of query amplicons"\n-               help="File generated by the Cojac mutbamscan tool"/>\n-        <param name="cooc_file" type="data" format="json,yaml" multiple="true"\n-               label="Results generated by mutbamscan"/>\n-        <param argument="--escape" type="boolean" truevalue="--escape" falsevalue=""\n-               checked="false" label="Use escape characters for newlines"/>\n-        <param name="add_html" type="boolean" checked="false"\n-               label="Convert CSV output table to HTML format"/>\n+        <param name="cooc_data" type="data" format="json,yaml" label="Co-occurrence results generated by mutbamscan"\n+        help="The tool can work with json- or yaml-formatted output of cojac mutbamscan."/>\n+        <conditional name="annotations">\n+            <param name="availability" type="select" label="Available amplicon and lineage annotations"\n+            help="For best readability of its report the tool requires a per-lineage amplicon info dataset (in yaml format) produced by the mutbamscan tool and the original lineage definitions. If all you have is the per-lineage amplicon info, you can use it to obtain a nearly identical report, but cojac-internal lineage identifiers won\'t be translated into standard lineage names. With no available annotations a limited report can still be generated, but this is not recommended.">\n+                <option value="full">per-lineage amplicon info and original lineage definitions</option>\n+                <option value="amplicon">per-lineage amplicon info only</option>\n+                <option value="none">no annotations</option>\n+            </param>\n+            <when value="full">\n+                <param name="in_amp" type="data" format="yaml" label="Combined cojac per-amplicon lineage definitions"/>\n+                <expand macro="vocdir_input"/>\n+            </when>\n+            <when value="amplicon">\n+                <param name="in_amp" type="data" format="yaml" label="Combined per-amplicon lineage definitions"/>\n+            </when>\n+            <when value="none" />\n+   '..b'="html"\n-              label="${tool.name} on ${on_string}: Mutation cooccurrence (HTML)"\n-              from_work_dir="cooc-table.html">\n-            <filter>add_html</filter>\n+        <data name="table_csv" format="csv" label="${tool.name} on ${on_string}: Mutation co-occurrence (CSV table)" from_work_dir="cooc-table.csv">\n+            <filter>out_opts[\'format\'] == \'csv\'</filter>\n+        </data>\n+        <data name="table_html" format="html" label="${tool.name} on ${on_string}: Mutation co-occurrence (HTML)" from_work_dir="cooc-table.html">\n+            <filter>out_opts[\'format\'] == \'html\'</filter>\n         </data>\n     </outputs>\n     <tests>\n         <test expect_num_outputs="1">\n-            <conditional name="vocdir_option">\n-                <param name="choice" value="custom"/>\n-                <param name="voc_file" value="omicron_ba1_mutations.yaml"/>\n+            <param name="cooc_data" value="cooc-test111.json"/>\n+            <conditional name="annotations">\n+                <conditional name="vocdir_option">\n+                    <param name="choice" value="custom"/>\n+                    <param name="voc_file" value="omicron_ba1_mutations.yaml"/>\n+                </conditional>\n+                <param name="in_amp" value="amplicons111.yaml"/>\n+            </conditional>\n+            <output name="table_tsv" ftype="tsv">\n+                <assert_contents>\n+                    <has_text text="Amplicon 76"/>\n+                    <has_text text="Amplicon 81"/>\n+                </assert_contents>\n+            </output>\n+        </test>\n+        <test expect_num_outputs="1">\n+            <param name="cooc_data" value="cooc-test111.json"/>\n+            <conditional name="annotations">\n+                <conditional name="vocdir_option">\n+                    <param name="choice" value="custom"/>\n+                    <param name="voc_file" value="omicron_ba1_mutations.yaml"/>\n+                </conditional>\n+                <param name="in_amp" value="amplicons111.yaml"/>\n             </conditional>\n-            <param name="amplicons" value="amplicons111.yaml"/>\n-            <param name="cooc_file" value="cooc-test111.json"/>\n-            <output name="table" ftype="csv">\n+            <section name="out_opts">\n+                <param name="format" value="csv"/>\n+            </section>\n+            <output name="table_csv" ftype="csv">\n+                <assert_contents>\n+                    <has_text text="Amplicon 76"/>\n+                    <has_text text="Amplicon 81"/>\n+                </assert_contents>\n+            </output>\n+        </test>\n+        <test expect_num_outputs="1">\n+            <param name="cooc_data" value="cooc-test111.json"/>\n+            <conditional name="annotations">\n+                <conditional name="vocdir_option">\n+                    <param name="choice" value="custom"/>\n+                    <param name="voc_file" value="omicron_ba1_mutations.yaml"/>\n+                </conditional>\n+                <param name="in_amp" value="amplicons111.yaml"/>\n+            </conditional>\n+            <section name="out_opts">\n+                <param name="format" value="html"/>\n+            </section>\n+            <output name="table_html" ftype="html">\n                 <assert_contents>\n                     <has_text text="Amplicon 76"/>\n                     <has_text text="Amplicon 81"/>\n@@ -74,12 +136,12 @@\n     <help><![CDATA[\n @HELP_HEADER@\n \n-Information about **cooc-pubmut** method\n-========================================\n+Information about **cojac cooc-pubmut**\n+=======================================\n \n-The method renders a JSON or YAML file to a table as in the publication.\n-You need to open the output CSV in a spreadsheet that understands linebreaks.\n+The tool pretty-prints json or yaml output of cojac cooc-mutbamscan.\n \n+Hint: The output (unless you select html format) is best viewed in spreadsheet software that understands linebreaks.\n     ]]></help>\n     <expand macro="citations"/>\n </tool>\n'
b
diff -r d04ea6b052c5 -r f193fef5b19d macros.xml
--- a/macros.xml Thu Aug 11 13:49:40 2022 +0000
+++ b/macros.xml Mon Jul 31 15:23:17 2023 +0000
[
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 <macros>
-    <token name="@TOOL_VERSION@">0.2</token>
+    <token name="@TOOL_VERSION@">0.9</token>
     <token name="@VERSION_SUFFIX@">0</token>
     <token name="@PROFILE@">21.01</token>
     <xml name="biotools">
@@ -18,34 +18,28 @@
         <version_command>echo @TOOL_VERSION@</version_command>
     </xml>
     <xml name="vocdir_input">
-        <conditional name="vocdir_option">
+        <conditional name="voc_source">
             <param name="choice" type="select"
-                   label="Source of YAML files with definition of the variant of concerns"
-                   help="Cojac ships with a directory with variant definitions yaml files (https://github.com/cbg-ethz/cojac/tree/master/voc), which the tool can access internally. You can also download the latest version of the yaml files from https://github.com/phe-genomics/variant_definitions and use it as a custom yamls defining the variant of concerns.">
-                <option value="cache">Definitions shipped with the tool (can be outdated)</option>
-                <option value="custom">From history</option>
+                   label="Source of lineage definitions"
+                   help="Cojac detects lineage evidence based on lineage mutation patterns deined in tool-specific yaml format. You can choose between the (possibly outdated) definitions shipped with the tool or definitions provided as a collection of yaml datasets in your history. See the tool help below for more details.">
+                <option value="builtin">Lineage definitions shipped with the tool</option>
+                <option value="custom">YAML dataset collection in history</option>
             </param>
-            <when value="cache"/>
+            <when value="builtin"/>
             <when value="custom">
-                <param name="voc_file" type="data" format="yaml" multiple="true"
-                       label="YAML defining the variant of concern"/>
+                <param name="collection" type="data_collection" collection_type="list" format="yaml" label="Collection of lineage definitions" />
             </when>
         </conditional>
     </xml>
     <token name="@VOCDIR_COMMAND@"><![CDATA[
-#if $vocdir_option.choice == 'custom'
-    #set vocdir = 'voc/'
-    #set file_paths1 = []
+#if $voc_config.choice == 'custom'
     mkdir -p voc &&
-    #for $input_file in $voc_file
-        #set $file_path = $vocdir + $input_file.element_identifier
-        ln -s '$input_file' '$file_path' &&
-        $file_paths1.append($file_path)
+    #for $input_file in $voc_config.collection
+        ln -s '$input_file' 'voc/$input_file.element_identifier' &&
     #end for
 #else
-    DB_PATH="\$(dirname "\$(dirname "\$(which cooc-mutbamscan)")")/share/cojac" &&
-    ln -s "\$DB_PATH" db &&
-    #set $vocdir = 'db/voc'
+    DB_PATH="\$(dirname "\$(dirname "\$(which cojac)")")/share/cojac/voc" &&
+    ln -s "\$DB_PATH" voc &&
 #end if
 ]]></token>
     <token name="@HELP_HEADER@"><![CDATA[
@@ -59,4 +53,4 @@
             <citation type="doi">10.1101/2021.01.08.21249379</citation>
         </citations>
     </xml>
-</macros>
\ No newline at end of file
+</macros>
b
diff -r d04ea6b052c5 -r f193fef5b19d test-data/ampl_info.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/ampl_info.tsv Mon Jul 31 15:23:17 2023 +0000
b
@@ -0,0 +1,99 @@
+SARS-CoV-2_1_LEFT SARS-CoV-2_1_RIGHT
+SARS-CoV-2_2_LEFT SARS-CoV-2_2_RIGHT
+SARS-CoV-2_3_LEFT SARS-CoV-2_3_RIGHT
+SARS-CoV-2_4_LEFT SARS-CoV-2_4_RIGHT
+SARS-CoV-2_5_LEFT SARS-CoV-2_5_RIGHT
+SARS-CoV-2_6_LEFT SARS-CoV-2_6_RIGHT
+SARS-CoV-2_7_LEFT SARS-CoV-2_7_RIGHT
+SARS-CoV-2_8_LEFT SARS-CoV-2_8_RIGHT
+SARS-CoV-2_9_LEFT SARS-CoV-2_9_RIGHT
+SARS-CoV-2_10_LEFT SARS-CoV-2_10_RIGHT
+SARS-CoV-2_11_LEFT SARS-CoV-2_11_RIGHT
+SARS-CoV-2_12_LEFT SARS-CoV-2_12_RIGHT
+SARS-CoV-2_13_LEFT SARS-CoV-2_13_RIGHT
+SARS-CoV-2_14_LEFT SARS-CoV-2_14_RIGHT
+SARS-CoV-2_15_LEFT SARS-CoV-2_15_RIGHT
+SARS-CoV-2_16_LEFT SARS-CoV-2_16_RIGHT
+SARS-CoV-2_17_LEFT SARS-CoV-2_17_RIGHT
+SARS-CoV-2_18_LEFT SARS-CoV-2_18_RIGHT
+SARS-CoV-2_19_LEFT SARS-CoV-2_19_RIGHT
+SARS-CoV-2_20_LEFT SARS-CoV-2_20_RIGHT
+SARS-CoV-2_21_LEFT SARS-CoV-2_21_RIGHT
+SARS-CoV-2_22_LEFT SARS-CoV-2_22_RIGHT
+SARS-CoV-2_23_LEFT SARS-CoV-2_23_RIGHT
+SARS-CoV-2_24_LEFT SARS-CoV-2_24_RIGHT
+SARS-CoV-2_25_LEFT SARS-CoV-2_25_RIGHT
+SARS-CoV-2_26_LEFT SARS-CoV-2_26_RIGHT
+SARS-CoV-2_27_LEFT SARS-CoV-2_27_RIGHT
+SARS-CoV-2_28_LEFT SARS-CoV-2_28_RIGHT
+SARS-CoV-2_29_LEFT SARS-CoV-2_29_RIGHT
+SARS-CoV-2_30_LEFT SARS-CoV-2_30_RIGHT
+SARS-CoV-2_31_LEFT SARS-CoV-2_31_RIGHT
+SARS-CoV-2_32_LEFT SARS-CoV-2_32_RIGHT
+SARS-CoV-2_33_LEFT SARS-CoV-2_33_RIGHT
+SARS-CoV-2_34_LEFT SARS-CoV-2_34_RIGHT
+SARS-CoV-2_35_LEFT SARS-CoV-2_35_RIGHT
+SARS-CoV-2_36_LEFT SARS-CoV-2_36_RIGHT
+SARS-CoV-2_37_LEFT SARS-CoV-2_37_RIGHT
+SARS-CoV-2_38_LEFT SARS-CoV-2_38_RIGHT
+SARS-CoV-2_39_LEFT SARS-CoV-2_39_RIGHT
+SARS-CoV-2_40_LEFT SARS-CoV-2_40_RIGHT
+SARS-CoV-2_41_LEFT SARS-CoV-2_41_RIGHT
+SARS-CoV-2_42_LEFT SARS-CoV-2_42_RIGHT
+SARS-CoV-2_43_LEFT SARS-CoV-2_43_RIGHT
+SARS-CoV-2_44_LEFT SARS-CoV-2_44_RIGHT
+SARS-CoV-2_45_LEFT SARS-CoV-2_45_RIGHT
+SARS-CoV-2_46_LEFT SARS-CoV-2_46_RIGHT
+SARS-CoV-2_47_LEFT SARS-CoV-2_47_RIGHT
+SARS-CoV-2_48_LEFT SARS-CoV-2_48_RIGHT
+SARS-CoV-2_49_LEFT SARS-CoV-2_49_RIGHT
+SARS-CoV-2_50_LEFT SARS-CoV-2_50_RIGHT
+SARS-CoV-2_51_LEFT SARS-CoV-2_51_RIGHT
+SARS-CoV-2_52_LEFT SARS-CoV-2_52_RIGHT
+SARS-CoV-2_53_LEFT SARS-CoV-2_53_RIGHT
+SARS-CoV-2_54_LEFT SARS-CoV-2_54_RIGHT
+SARS-CoV-2_55_LEFT SARS-CoV-2_55_RIGHT
+SARS-CoV-2_56_LEFT SARS-CoV-2_56_RIGHT
+SARS-CoV-2_57_LEFT SARS-CoV-2_57_RIGHT
+SARS-CoV-2_58_LEFT SARS-CoV-2_58_RIGHT
+SARS-CoV-2_59_LEFT SARS-CoV-2_59_RIGHT
+SARS-CoV-2_60_LEFT SARS-CoV-2_60_RIGHT
+SARS-CoV-2_61_LEFT SARS-CoV-2_61_RIGHT
+SARS-CoV-2_62_LEFT SARS-CoV-2_62_RIGHT
+SARS-CoV-2_63_LEFT SARS-CoV-2_63_RIGHT
+SARS-CoV-2_64_LEFT SARS-CoV-2_64_RIGHT
+SARS-CoV-2_65_LEFT SARS-CoV-2_65_RIGHT
+SARS-CoV-2_66_LEFT SARS-CoV-2_66_RIGHT
+SARS-CoV-2_67_LEFT SARS-CoV-2_67_RIGHT
+SARS-CoV-2_68_LEFT SARS-CoV-2_68_RIGHT
+SARS-CoV-2_69_LEFT SARS-CoV-2_69_RIGHT
+SARS-CoV-2_70_LEFT SARS-CoV-2_70_RIGHT
+SARS-CoV-2_71_LEFT SARS-CoV-2_71_RIGHT
+SARS-CoV-2_72_LEFT SARS-CoV-2_72_RIGHT
+SARS-CoV-2_73_LEFT SARS-CoV-2_73_RIGHT
+SARS-CoV-2_74_LEFT SARS-CoV-2_74_RIGHT
+SARS-CoV-2_75_LEFT SARS-CoV-2_75_RIGHT
+SARS-CoV-2_76_LEFT SARS-CoV-2_76_RIGHT
+SARS-CoV-2_77_LEFT SARS-CoV-2_77_RIGHT
+SARS-CoV-2_78_LEFT SARS-CoV-2_78_RIGHT
+SARS-CoV-2_79_LEFT SARS-CoV-2_79_RIGHT
+SARS-CoV-2_80_LEFT SARS-CoV-2_80_RIGHT
+SARS-CoV-2_81_LEFT SARS-CoV-2_81_RIGHT
+SARS-CoV-2_82_LEFT SARS-CoV-2_82_RIGHT
+SARS-CoV-2_83_LEFT SARS-CoV-2_83_RIGHT
+SARS-CoV-2_84_LEFT SARS-CoV-2_84_RIGHT
+SARS-CoV-2_85_LEFT SARS-CoV-2_85_RIGHT
+SARS-CoV-2_86_LEFT SARS-CoV-2_86_RIGHT
+SARS-CoV-2_87_LEFT SARS-CoV-2_87_RIGHT
+SARS-CoV-2_88_LEFT SARS-CoV-2_88_RIGHT
+SARS-CoV-2_89_LEFT SARS-CoV-2_89_RIGHT
+SARS-CoV-2_90_LEFT SARS-CoV-2_90_RIGHT
+SARS-CoV-2_91_LEFT SARS-CoV-2_91_RIGHT
+SARS-CoV-2_92_LEFT SARS-CoV-2_92_RIGHT
+SARS-CoV-2_93_LEFT SARS-CoV-2_93_RIGHT
+SARS-CoV-2_94_LEFT SARS-CoV-2_94_RIGHT
+SARS-CoV-2_95_LEFT SARS-CoV-2_95_RIGHT
+SARS-CoV-2_96_LEFT SARS-CoV-2_96_RIGHT
+SARS-CoV-2_97_LEFT SARS-CoV-2_97_RIGHT
+SARS-CoV-2_98_LEFT SARS-CoV-2_98_RIGHT
+SARS-CoV-2_99_LEFT SARS-CoV-2_99_RIGHT
b
diff -r d04ea6b052c5 -r f193fef5b19d test-data/bed_cojac.bed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/bed_cojac.bed Mon Jul 31 15:23:17 2023 +0000
b
@@ -0,0 +1,99 @@
+MN908947.3 50 408 SARS-CoV-2_INSERT_1 1 +
+MN908947.3 344 705 SARS-CoV-2_INSERT_2 2 +
+MN908947.3 666 1017 SARS-CoV-2_INSERT_3 1 +
+MN908947.3 966 1337 SARS-CoV-2_INSERT_4 2 +
+MN908947.3 1266 1623 SARS-CoV-2_INSERT_5 1 +
+MN908947.3 1562 1925 SARS-CoV-2_INSERT_6 2 +
+MN908947.3 1875 2228 SARS-CoV-2_INSERT_7 1 +
+MN908947.3 2180 2544 SARS-CoV-2_INSERT_8 2 +
+MN908947.3 2508 2861 SARS-CoV-2_INSERT_9 1 +
+MN908947.3 2850 3183 SARS-CoV-2_INSERT_10 2 +
+MN908947.3 3102 3470 SARS-CoV-2_INSERT_11 1 +
+MN908947.3 3412 3769 SARS-CoV-2_INSERT_12 2 +
+MN908947.3 3705 4067 SARS-CoV-2_INSERT_13 1 +
+MN908947.3 4018 4387 SARS-CoV-2_INSERT_14 2 +
+MN908947.3 4339 4685 SARS-CoV-2_INSERT_15 1 +
+MN908947.3 4648 4995 SARS-CoV-2_INSERT_16 2 +
+MN908947.3 4953 5302 SARS-CoV-2_INSERT_17 1 +
+MN908947.3 5259 5620 SARS-CoV-2_INSERT_18 2 +
+MN908947.3 5584 5932 SARS-CoV-2_INSERT_19 1 +
+MN908947.3 5894 6247 SARS-CoV-2_INSERT_20 2 +
+MN908947.3 6210 6553 SARS-CoV-2_INSERT_21 1 +
+MN908947.3 6507 6859 SARS-CoV-2_INSERT_22 2 +
+MN908947.3 6776 7122 SARS-CoV-2_INSERT_23 1 +
+MN908947.3 7084 7440 SARS-CoV-2_INSERT_24 2 +
+MN908947.3 7403 7747 SARS-CoV-2_INSERT_25 1 +
+MN908947.3 7695 8063 SARS-CoV-2_INSERT_26 2 +
+MN908947.3 8019 8370 SARS-CoV-2_INSERT_27 1 +
+MN908947.3 8326 8691 SARS-CoV-2_INSERT_28 2 +
+MN908947.3 8619 8990 SARS-CoV-2_INSERT_29 1 +
+MN908947.3 8944 9306 SARS-CoV-2_INSERT_30 2 +
+MN908947.3 9192 9535 SARS-CoV-2_INSERT_31 1 +
+MN908947.3 9497 9842 SARS-CoV-2_INSERT_32 2 +
+MN908947.3 9805 10150 SARS-CoV-2_INSERT_33 1 +
+MN908947.3 10099 10465 SARS-CoV-2_INSERT_34 2 +
+MN908947.3 10419 10785 SARS-CoV-2_INSERT_35 1 +
+MN908947.3 10742 11092 SARS-CoV-2_INSERT_36 2 +
+MN908947.3 11023 11388 SARS-CoV-2_INSERT_37 1 +
+MN908947.3 11330 11689 SARS-CoV-2_INSERT_38 2 +
+MN908947.3 11651 12011 SARS-CoV-2_INSERT_39 1 +
+MN908947.3 11963 12317 SARS-CoV-2_INSERT_40 2 +
+MN908947.3 12255 12618 SARS-CoV-2_INSERT_41 1 +
+MN908947.3 12546 12895 SARS-CoV-2_INSERT_42 2 +
+MN908947.3 12856 13218 SARS-CoV-2_INSERT_43 1 +
+MN908947.3 13148 13506 SARS-CoV-2_INSERT_44 2 +
+MN908947.3 13485 13833 SARS-CoV-2_INSERT_45 1 +
+MN908947.3 13775 14120 SARS-CoV-2_INSERT_46 2 +
+MN908947.3 14075 14428 SARS-CoV-2_INSERT_47 1 +
+MN908947.3 14362 14717 SARS-CoV-2_INSERT_48 2 +
+MN908947.3 14674 15023 SARS-CoV-2_INSERT_49 1 +
+MN908947.3 14983 15336 SARS-CoV-2_INSERT_50 2 +
+MN908947.3 15237 15596 SARS-CoV-2_INSERT_51 1 +
+MN908947.3 15557 15917 SARS-CoV-2_INSERT_52 2 +
+MN908947.3 15881 16239 SARS-CoV-2_INSERT_53 1 +
+MN908947.3 16137 16483 SARS-CoV-2_INSERT_54 2 +
+MN908947.3 16408 16767 SARS-CoV-2_INSERT_55 1 +
+MN908947.3 16714 17082 SARS-CoV-2_INSERT_56 2 +
+MN908947.3 17013 17381 SARS-CoV-2_INSERT_57 1 +
+MN908947.3 17345 17688 SARS-CoV-2_INSERT_58 2 +
+MN908947.3 17642 17997 SARS-CoV-2_INSERT_59 1 +
+MN908947.3 17939 18307 SARS-CoV-2_INSERT_60 2 +
+MN908947.3 18267 18624 SARS-CoV-2_INSERT_61 1 +
+MN908947.3 18578 18936 SARS-CoV-2_INSERT_62 2 +
+MN908947.3 18891 19252 SARS-CoV-2_INSERT_63 1 +
+MN908947.3 19208 19558 SARS-CoV-2_INSERT_64 2 +
+MN908947.3 19513 19877 SARS-CoV-2_INSERT_65 1 +
+MN908947.3 19836 20186 SARS-CoV-2_INSERT_66 2 +
+MN908947.3 20117 20472 SARS-CoV-2_INSERT_67 1 +
+MN908947.3 20405 20766 SARS-CoV-2_INSERT_68 2 +
+MN908947.3 20699 21050 SARS-CoV-2_INSERT_69 1 +
+MN908947.3 21013 21358 SARS-CoV-2_INSERT_70 2 +
+MN908947.3 21316 21675 SARS-CoV-2_INSERT_71 1 +
+MN908947.3 21561 21904 SARS-CoV-2_INSERT_72 2 +
+MN908947.3 21889 22247 SARS-CoV-2_INSERT_73 1 +
+MN908947.3 22113 22474 SARS-CoV-2_INSERT_74 2 +
+MN908947.3 22428 22785 SARS-CoV-2_INSERT_75 1 +
+MN908947.3 22677 23028 SARS-CoV-2_INSERT_76 2 +
+MN908947.3 22974 23327 SARS-CoV-2_INSERT_77 1 +
+MN908947.3 23246 23611 SARS-CoV-2_INSERT_78 2 +
+MN908947.3 23575 23927 SARS-CoV-2_INSERT_79 1 +
+MN908947.3 23876 24233 SARS-CoV-2_INSERT_80 2 +
+MN908947.3 24194 24545 SARS-CoV-2_INSERT_81 1 +
+MN908947.3 24448 24814 SARS-CoV-2_INSERT_82 2 +
+MN908947.3 24772 25122 SARS-CoV-2_INSERT_83 1 +
+MN908947.3 25076 25438 SARS-CoV-2_INSERT_84 2 +
+MN908947.3 25353 25711 SARS-CoV-2_INSERT_85 1 +
+MN908947.3 25672 26026 SARS-CoV-2_INSERT_86 2 +
+MN908947.3 25979 26338 SARS-CoV-2_INSERT_87 1 +
+MN908947.3 26277 26635 SARS-CoV-2_INSERT_88 2 +
+MN908947.3 26587 26956 SARS-CoV-2_INSERT_89 1 +
+MN908947.3 26895 27256 SARS-CoV-2_INSERT_90 2 +
+MN908947.3 27177 27534 SARS-CoV-2_INSERT_91 1 +
+MN908947.3 27473 27826 SARS-CoV-2_INSERT_92 2 +
+MN908947.3 27726 28082 SARS-CoV-2_INSERT_93 1 +
+MN908947.3 28021 28394 SARS-CoV-2_INSERT_94 2 +
+MN908947.3 28214 28572 SARS-CoV-2_INSERT_95 1 +
+MN908947.3 28536 28893 SARS-CoV-2_INSERT_96 2 +
+MN908947.3 28849 29206 SARS-CoV-2_INSERT_97 1 +
+MN908947.3 29161 29512 SARS-CoV-2_INSERT_98 2 +
+MN908947.3 29475 29827 SARS-CoV-2_INSERT_99 1 +
b
diff -r d04ea6b052c5 -r f193fef5b19d test-data/primers.bed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/primers.bed Mon Jul 31 15:23:17 2023 +0000
b
b'@@ -0,0 +1,198 @@\n+MN908947.3\t25\t50\tSARS-CoV-2_1_LEFT\tpool_1\t+\n+MN908947.3\t408\t431\tSARS-CoV-2_1_RIGHT\tpool_1\t-\n+MN908947.3\t324\t344\tSARS-CoV-2_2_LEFT\tpool_2\t+\n+MN908947.3\t705\t727\tSARS-CoV-2_2_RIGHT\tpool_2\t-\n+MN908947.3\t644\t666\tSARS-CoV-2_3_LEFT\tpool_1\t+\n+MN908947.3\t1017\t1044\tSARS-CoV-2_3_RIGHT\tpool_1\t-\n+MN908947.3\t944\t966\tSARS-CoV-2_4_LEFT\tpool_2\t+\n+MN908947.3\t1337\t1362\tSARS-CoV-2_4_RIGHT\tpool_2\t-\n+MN908947.3\t1245\t1266\tSARS-CoV-2_5_LEFT\tpool_1\t+\n+MN908947.3\t1623\t1650\tSARS-CoV-2_5_RIGHT\tpool_1\t-\n+MN908947.3\t1540\t1562\tSARS-CoV-2_6_LEFT\tpool_2\t+\n+MN908947.3\t1925\t1948\tSARS-CoV-2_6_RIGHT\tpool_2\t-\n+MN908947.3\t1851\t1875\tSARS-CoV-2_7_LEFT\tpool_1\t+\n+MN908947.3\t2228\t2250\tSARS-CoV-2_7_RIGHT\tpool_1\t-\n+MN908947.3\t2154\t2180\tSARS-CoV-2_8_LEFT\tpool_2\t+\n+MN908947.3\t2544\t2571\tSARS-CoV-2_8_RIGHT\tpool_2\t-\n+MN908947.3\t2483\t2508\tSARS-CoV-2_9_LEFT\tpool_1\t+\n+MN908947.3\t2861\t2885\tSARS-CoV-2_9_RIGHT\tpool_1\t-\n+MN908947.3\t2826\t2850\tSARS-CoV-2_10_LEFT\tpool_2\t+\n+MN908947.3\t3183\t3210\tSARS-CoV-2_10_RIGHT\tpool_2\t-\n+MN908947.3\t3078\t3102\tSARS-CoV-2_11_LEFT\tpool_1\t+\n+MN908947.3\t3470\t3492\tSARS-CoV-2_11_RIGHT\tpool_1\t-\n+MN908947.3\t3390\t3412\tSARS-CoV-2_12_LEFT\tpool_2\t+\n+MN908947.3\t3769\t3794\tSARS-CoV-2_12_RIGHT\tpool_2\t-\n+MN908947.3\t3683\t3705\tSARS-CoV-2_13_LEFT\tpool_1\t+\n+MN908947.3\t4067\t4093\tSARS-CoV-2_13_RIGHT\tpool_1\t-\n+MN908947.3\t3992\t4018\tSARS-CoV-2_14_LEFT\tpool_2\t+\n+MN908947.3\t4387\t4409\tSARS-CoV-2_14_RIGHT\tpool_2\t-\n+MN908947.3\t4312\t4339\tSARS-CoV-2_15_LEFT\tpool_1\t+\n+MN908947.3\t4685\t4710\tSARS-CoV-2_15_RIGHT\tpool_1\t-\n+MN908947.3\t4620\t4648\tSARS-CoV-2_16_LEFT\tpool_2\t+\n+MN908947.3\t4995\t5017\tSARS-CoV-2_16_RIGHT\tpool_2\t-\n+MN908947.3\t4923\t4953\tSARS-CoV-2_17_LEFT\tpool_1\t+\n+MN908947.3\t5302\t5331\tSARS-CoV-2_17_RIGHT\tpool_1\t-\n+MN908947.3\t5230\t5259\tSARS-CoV-2_18_LEFT\tpool_2\t+\n+MN908947.3\t5620\t5643\tSARS-CoV-2_18_RIGHT\tpool_2\t-\n+MN908947.3\t5561\t5584\tSARS-CoV-2_19_LEFT\tpool_1\t+\n+MN908947.3\t5932\t5957\tSARS-CoV-2_19_RIGHT\tpool_1\t-\n+MN908947.3\t5867\t5894\tSARS-CoV-2_20_LEFT\tpool_2\t+\n+MN908947.3\t6247\t6272\tSARS-CoV-2_20_RIGHT\tpool_2\t-\n+MN908947.3\t6184\t6210\tSARS-CoV-2_21_LEFT\tpool_1\t+\n+MN908947.3\t6553\t6582\tSARS-CoV-2_21_RIGHT\tpool_1\t-\n+MN908947.3\t6478\t6507\tSARS-CoV-2_22_LEFT\tpool_2\t+\n+MN908947.3\t6859\t6885\tSARS-CoV-2_22_RIGHT\tpool_2\t-\n+MN908947.3\t6747\t6776\tSARS-CoV-2_23_LEFT\tpool_1\t+\n+MN908947.3\t7122\t7148\tSARS-CoV-2_23_RIGHT\tpool_1\t-\n+MN908947.3\t7057\t7084\tSARS-CoV-2_24_LEFT\tpool_2\t+\n+MN908947.3\t7440\t7467\tSARS-CoV-2_24_RIGHT\tpool_2\t-\n+MN908947.3\t7381\t7403\tSARS-CoV-2_25_LEFT\tpool_1\t+\n+MN908947.3\t7747\t7770\tSARS-CoV-2_25_RIGHT\tpool_1\t-\n+MN908947.3\t7672\t7695\tSARS-CoV-2_26_LEFT\tpool_2\t+\n+MN908947.3\t8063\t8092\tSARS-CoV-2_26_RIGHT\tpool_2\t-\n+MN908947.3\t7997\t8019\tSARS-CoV-2_27_LEFT\tpool_1\t+\n+MN908947.3\t8370\t8395\tSARS-CoV-2_27_RIGHT\tpool_1\t-\n+MN908947.3\t8304\t8326\tSARS-CoV-2_28_LEFT\tpool_2\t+\n+MN908947.3\t8691\t8714\tSARS-CoV-2_28_RIGHT\tpool_2\t-\n+MN908947.3\t8596\t8619\tSARS-CoV-2_29_LEFT\tpool_1\t+\n+MN908947.3\t8990\t9013\tSARS-CoV-2_29_RIGHT\tpool_1\t-\n+MN908947.3\t8919\t8944\tSARS-CoV-2_30_LEFT\tpool_2\t+\n+MN908947.3\t9306\t9329\tSARS-CoV-2_30_RIGHT\tpool_2\t-\n+MN908947.3\t9168\t9192\tSARS-CoV-2_31_LEFT\tpool_1\t+\n+MN908947.3\t9535\t9564\tSARS-CoV-2_31_RIGHT\tpool_1\t-\n+MN908947.3\t9470\t9497\tSARS-CoV-2_32_LEFT\tpool_2\t+\n+MN908947.3\t9842\t9866\tSARS-CoV-2_32_RIGHT\tpool_2\t-\n+MN908947.3\t9782\t9805\tSARS-CoV-2_33_LEFT\tpool_1\t+\n+MN908947.3\t10150\t10176\tSARS-CoV-2_33_RIGHT\tpool_1\t-\n+MN908947.3\t10076\t10099\tSARS-CoV-2_34_LEFT\tpool_2\t+\n+MN908947.3\t10465\t10491\tSARS-CoV-2_34_RIGHT\tpool_2\t-\n+MN908947.3\t10393\t10419\tSARS-CoV-2_35_LEFT\tpool_1\t+\n+MN908947.3\t10785\t10810\tSARS-CoV-2_35_RIGHT\tpool_1\t-\n+MN908947.3\t10713\t10742\tSARS-CoV-2_36_LEFT\tpool_2\t+\n+MN908947.3\t11092\t11116\tSARS-CoV-2_36_RIGHT\tpool_2\t-\n+MN908947.3\t11000\t11023\tSARS-CoV-2_37_LEFT\tpool_1\t+\n+MN908947.3\t11388\t11414\tSARS-CoV-2_37_RIGHT\tpool_1\t-\n+MN908947.3\t11305\t11330\tSARS-CoV-2_38_LEFT\tpool_2\t+\n+MN908947.3\t11689\t11720\tSARS-CoV-2_38_RIGHT\tpool_2\t-\n+MN908947.3\t11624\t11651\tSARS-CoV-2_39_LEFT\tpool_1\t+\n+MN908947.3\t12011\t12033\tSARS-CoV-2_39_RIGHT\tpool_1\t-\n+MN908947.3\t11937\t11963\tSARS-CoV-2_40_LEFT\tpool_'..b'pool_1\t-\n+MN908947.3\t18550\t18578\tSARS-CoV-2_62_LEFT\tpool_2\t+\n+MN908947.3\t18936\t18961\tSARS-CoV-2_62_RIGHT\tpool_2\t-\n+MN908947.3\t18869\t18891\tSARS-CoV-2_63_LEFT\tpool_1\t+\n+MN908947.3\t19252\t19277\tSARS-CoV-2_63_RIGHT\tpool_1\t-\n+MN908947.3\t19183\t19208\tSARS-CoV-2_64_LEFT\tpool_2\t+\n+MN908947.3\t19558\t19586\tSARS-CoV-2_64_RIGHT\tpool_2\t-\n+MN908947.3\t19485\t19513\tSARS-CoV-2_65_LEFT\tpool_1\t+\n+MN908947.3\t19877\t19901\tSARS-CoV-2_65_RIGHT\tpool_1\t-\n+MN908947.3\t19810\t19836\tSARS-CoV-2_66_LEFT\tpool_2\t+\n+MN908947.3\t20186\t20216\tSARS-CoV-2_66_RIGHT\tpool_2\t-\n+MN908947.3\t20090\t20117\tSARS-CoV-2_67_LEFT\tpool_1\t+\n+MN908947.3\t20472\t20497\tSARS-CoV-2_67_RIGHT\tpool_1\t-\n+MN908947.3\t20377\t20405\tSARS-CoV-2_68_LEFT\tpool_2\t+\n+MN908947.3\t20766\t20792\tSARS-CoV-2_68_RIGHT\tpool_2\t-\n+MN908947.3\t20677\t20699\tSARS-CoV-2_69_LEFT\tpool_1\t+\n+MN908947.3\t21050\t21080\tSARS-CoV-2_69_RIGHT\tpool_1\t-\n+MN908947.3\t20988\t21013\tSARS-CoV-2_70_LEFT\tpool_2\t+\n+MN908947.3\t21358\t21387\tSARS-CoV-2_70_RIGHT\tpool_2\t-\n+MN908947.3\t21294\t21316\tSARS-CoV-2_71_LEFT\tpool_1\t+\n+MN908947.3\t21675\t21700\tSARS-CoV-2_71_RIGHT\tpool_1\t-\n+MN908947.3\t21532\t21561\tSARS-CoV-2_72_LEFT\tpool_2\t+\n+MN908947.3\t21904\t21933\tSARS-CoV-2_72_RIGHT\tpool_2\t-\n+MN908947.3\t21865\t21889\tSARS-CoV-2_73_LEFT\tpool_1\t+\n+MN908947.3\t22247\t22274\tSARS-CoV-2_73_RIGHT\tpool_1\t-\n+MN908947.3\t22091\t22113\tSARS-CoV-2_74_LEFT\tpool_2\t+\n+MN908947.3\t22474\t22503\tSARS-CoV-2_74_RIGHT\tpool_2\t-\n+MN908947.3\t22402\t22428\tSARS-CoV-2_75_LEFT\tpool_1\t+\n+MN908947.3\t22785\t22805\tSARS-CoV-2_75_RIGHT\tpool_1\t-\n+MN908947.3\t22648\t22677\tSARS-CoV-2_76_LEFT\tpool_2\t+\n+MN908947.3\t23028\t23057\tSARS-CoV-2_76_RIGHT\tpool_2\t-\n+MN908947.3\t22944\t22974\tSARS-CoV-2_77_LEFT\tpool_1\t+\n+MN908947.3\t23327\t23351\tSARS-CoV-2_77_RIGHT\tpool_1\t-\n+MN908947.3\t23219\t23246\tSARS-CoV-2_78_LEFT\tpool_2\t+\n+MN908947.3\t23611\t23635\tSARS-CoV-2_78_RIGHT\tpool_2\t-\n+MN908947.3\t23553\t23575\tSARS-CoV-2_79_LEFT\tpool_1\t+\n+MN908947.3\t23927\t23955\tSARS-CoV-2_79_RIGHT\tpool_1\t-\n+MN908947.3\t23853\t23876\tSARS-CoV-2_80_LEFT\tpool_2\t+\n+MN908947.3\t24233\t24258\tSARS-CoV-2_80_RIGHT\tpool_2\t-\n+MN908947.3\t24171\t24194\tSARS-CoV-2_81_LEFT\tpool_1\t+\n+MN908947.3\t24545\t24567\tSARS-CoV-2_81_RIGHT\tpool_1\t-\n+MN908947.3\t24426\t24448\tSARS-CoV-2_82_LEFT\tpool_2\t+\n+MN908947.3\t24814\t24836\tSARS-CoV-2_82_RIGHT\tpool_2\t-\n+MN908947.3\t24750\t24772\tSARS-CoV-2_83_LEFT\tpool_1\t+\n+MN908947.3\t25122\t25150\tSARS-CoV-2_83_RIGHT\tpool_1\t-\n+MN908947.3\t25051\t25076\tSARS-CoV-2_84_LEFT\tpool_2\t+\n+MN908947.3\t25438\t25461\tSARS-CoV-2_84_RIGHT\tpool_2\t-\n+MN908947.3\t25331\t25353\tSARS-CoV-2_85_LEFT\tpool_1\t+\n+MN908947.3\t25711\t25740\tSARS-CoV-2_85_RIGHT\tpool_1\t-\n+MN908947.3\t25645\t25672\tSARS-CoV-2_86_LEFT\tpool_2\t+\n+MN908947.3\t26026\t26050\tSARS-CoV-2_86_RIGHT\tpool_2\t-\n+MN908947.3\t25951\t25979\tSARS-CoV-2_87_LEFT\tpool_1\t+\n+MN908947.3\t26338\t26360\tSARS-CoV-2_87_RIGHT\tpool_1\t-\n+MN908947.3\t26255\t26277\tSARS-CoV-2_88_LEFT\tpool_2\t+\n+MN908947.3\t26635\t26661\tSARS-CoV-2_88_RIGHT\tpool_2\t-\n+MN908947.3\t26564\t26587\tSARS-CoV-2_89_LEFT\tpool_1\t+\n+MN908947.3\t26956\t26979\tSARS-CoV-2_89_RIGHT\tpool_1\t-\n+MN908947.3\t26873\t26895\tSARS-CoV-2_90_LEFT\tpool_2\t+\n+MN908947.3\t27256\t27283\tSARS-CoV-2_90_RIGHT\tpool_2\t-\n+MN908947.3\t27152\t27177\tSARS-CoV-2_91_LEFT\tpool_1\t+\n+MN908947.3\t27534\t27560\tSARS-CoV-2_91_RIGHT\tpool_1\t-\n+MN908947.3\t27447\t27473\tSARS-CoV-2_92_LEFT\tpool_2\t+\n+MN908947.3\t27826\t27855\tSARS-CoV-2_92_RIGHT\tpool_2\t-\n+MN908947.3\t27700\t27726\tSARS-CoV-2_93_LEFT\tpool_1\t+\n+MN908947.3\t28082\t28104\tSARS-CoV-2_93_RIGHT\tpool_1\t-\n+MN908947.3\t27996\t28021\tSARS-CoV-2_94_LEFT\tpool_2\t+\n+MN908947.3\t28394\t28416\tSARS-CoV-2_94_RIGHT\tpool_2\t-\n+MN908947.3\t28190\t28214\tSARS-CoV-2_95_LEFT\tpool_1\t+\n+MN908947.3\t28572\t28598\tSARS-CoV-2_95_RIGHT\tpool_1\t-\n+MN908947.3\t28512\t28536\tSARS-CoV-2_96_LEFT\tpool_2\t+\n+MN908947.3\t28893\t28914\tSARS-CoV-2_96_RIGHT\tpool_2\t-\n+MN908947.3\t28827\t28849\tSARS-CoV-2_97_LEFT\tpool_1\t+\n+MN908947.3\t29206\t29227\tSARS-CoV-2_97_RIGHT\tpool_1\t-\n+MN908947.3\t29136\t29161\tSARS-CoV-2_98_LEFT\tpool_2\t+\n+MN908947.3\t29512\t29534\tSARS-CoV-2_98_RIGHT\tpool_2\t-\n+MN908947.3\t29452\t29475\tSARS-CoV-2_99_LEFT\tpool_1\t+\n+MN908947.3\t29827\t29854\tSARS-CoV-2_99_RIGHT\tpool_1\t-\n'