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

Changeset 1:9f1660129403 (2023-07-31)
Previous changeset 0:373c1735d31f (2022-08-11) Next changeset 2:d58a57db7a96 (2023-08-25)
Commit message:
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/cojac commit 5b54fc7af13196445abda407054e01dd3e5603c6
modified:
cooc_mutbamscan.xml
macros.xml
added:
test-data/ampl_info.tsv
test-data/bed_cojac.bed
test-data/primers.bed
b
diff -r 373c1735d31f -r 9f1660129403 cooc_mutbamscan.xml
--- a/cooc_mutbamscan.xml Thu Aug 11 13:50:37 2022 +0000
+++ b/cooc_mutbamscan.xml Mon Jul 31 15:23:23 2023 +0000
[
b'@@ -1,96 +1,150 @@\n <tool id="cooc_mutbamscan" name="Cojac: mutbamscan" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@"\n       profile="@PROFILE@">\n     <description>\n-        scan an alignment file for mutation co-occurrences\n+        scans an alignment file for mutation co-occurrences\n     </description>\n     <macros>\n         <import>macros.xml</import>\n     </macros>\n     <expand macro="biotools"/>\n-    <expand macro="requirements"/>\n+    <expand macro="requirements">\n+        <requirement type="package" version="0.1.0">viramp-hub</requirement>\n+    </expand>\n     <expand macro="version"/>\n     <command detect_errors="exit_code"><![CDATA[\n-ln -s \'$bed_file\' \'bed_file\' &&\n-@VOCDIR_COMMAND@\n-#import re\n-#set identifier = re.sub(\'[^\\s\\w\\-\\\\.]\', \'_\', str($bam_file.element_identifier))\n-ln -s \'$bam_file\' ${identifier}.bam &&\n-ln -s \'${bam_file.metadata.bam_index}\' ${identifier}.bai &&\n-cooc-mutbamscan\n-    -a \'${identifier}.bam\'\n-    -b \'bed_file\'\n-    -m \'$vocdir\'\n-    -y cooc.yaml\n-    -j cooc.json\n-    #if $amplicons_file.choice == \'build\'\n-        -A amplicons.yaml\n+## arrange BAM inputs and index files into a V-pipe-style folder structure\n+## that cojac understands\n+sh arrange_samples.sh &&\n+\n+#if $spec_layout.mode == \'separate\':\n+  #set $voc_config = $spec_layout.voc_source\n+  @VOCDIR_COMMAND@\n+  ## prepare amplicon information\n+  #if $spec_layout.amplicon_definitions.choice == \'insert_scheme\':\n+    ln -s \'$spec_layout.amplicon_definitions.insert_bed\' bed_cojac.bed &&\n+  #else if $spec_layout.amplicon_definitions.choice == \'primer_scheme\':\n+    scheme-convert \'$spec_layout.amplicon_definitions.primer_bed\' -t bed -b cojac -o bed_cojac.bed &&\n+  #else:\n+    scheme-convert \'$spec_layout.amplicon_definitions.primer_bed\' -t bed -b cojac -a \'$spec_layout.amplicon_definitions.amplicon_info\' -o bed_cojac.bed &&\n+  #end if\n+#end if\n+\n+## run cojac\n+cojac cooc-mutbamscan\n+    ## use a sample list file to tell cojac to look for the inputs in the\n+    ## V-pipe-style folder stucture we\'ve created earlier.\n+    -s samples_list.tsv\n+    -p inputs\n+    -b bed_cojac.bed\n+    #if $spec_layout.mode == \'separate\':\n+      -m voc/\n+      -A amplicons.yaml\n+      --cooc $spec_layout.cooc\n     #else\n-        -Q \'$amplicons_file.in_amp\'\n+      -Q \'$spec_layout.in_amp\'\n+    #end if\n+    #if \'yaml\' in $out_opts.output_formats:\n+      -y cooc.yaml\n+    #end if\n+    #if \'json\' in $out_opts.output_formats:\n+      -j cooc.json\n+    #end if\n+    #if \'tabular\' in $out_opts.output_formats:\n+      -t cooc.tsv\n     #end if\n-    -t cooc.tsv\n-    --cooc $cooc\n     ]]></command>\n+    <configfiles>\n+        <configfile filename="arrange_samples.sh"><![CDATA[#for $dataset in $mapped_input:\n+  #set $sample_id = $dataset.element_identifier.replace("\'", \'_\').replace(\'/\', \'_\')\n+mkdir -p \'inputs/$sample_id/1/alignments/\' &&\n+ln -s \'$dataset\' \'inputs/$sample_id/1/alignments/REF_aln.bam\' &&\n+ln -s \'$dataset.metadata.bam_index\' \'inputs/$sample_id/1/alignments/REF_aln.bam.bai\' &&\n+#end for\n+#set $num_samples = len($mapped_input)\n+echo "Gathered $num_samples sample and index files for cojac to discover from a samples list."\n+        ]]></configfile>\n+        <configfile filename="samples_list.tsv"><![CDATA[#for $dataset in $mapped_input:\n+  #set $line = \'\\t\'.join([$dataset.element_identifier.replace("\'", \'_\').replace(\'/\', \'_\'), \'1\', str($dataset)])\n+$line\n+#end for]]></configfile>\n+    </configfiles>\n     <inputs>\n-        <expand macro="vocdir_input"/>\n-        <param name="bed_file" type="data" format="bed"\n-               label="BED file defining the amplicons"/>\n-        <param name="bam_file" type="data" format="bam,cram,sam"\n-               label="Alignment BAM/CRAM/SAM file"/>\n-        <param argument="--cooc" type="integer" min="1" value="2"\n-               label="Minimum number of cooccurence mutations on the same amplicon"/>\n-        <conditional name="amplicons_file">\n-            <param name="choice" type="select" label="Source of amplicons YAML file">\n-    '..b'd_file" value="nCoV-2019.insert.V3.bed"/>\n-            <conditional name="amplicons_file">\n-                <param name="choice" value="custom"/>\n+            <param name="mapped_input" value="tbam11.bam"/>\n+            <conditional name="spec_layout">\n+                <param name="mode" value="combined"/>\n                 <param name="in_amp" value="amplicons111.yaml"/>\n             </conditional>\n-            <param name="output_files" value="yaml,tabular"/>\n+            <section name="out_opts">\n+                <param name="output_formats" value="yaml,tabular"/>\n+            </section>\n+            <output name="cooc_yaml" ftype="yaml">\n+                <assert_contents>\n+                    <has_text text="76_om1"/>\n+                    <has_text text="81_om1"/>\n+                </assert_contents>\n+            </output>\n+            <output name="cooc_tsv" ftype="tabular">\n+                <assert_contents>\n+                    <has_text text="76_om1"/>\n+                    <has_text text="81_om1"/>\n+                </assert_contents>\n+            </output>\n+        </test>\n+        <!-- Test 3: use computed cojac format amplicon definitions from 2 files -->\n+        <test expect_num_outputs="2">\n+            <param name="mapped_input" value="tbam11.bam"/>\n+            <conditional name="spec_layout">\n+                <conditional name="voc_source">\n+                    <param name="choice" value="builtin"/>\n+                </conditional>\n+                <conditional name="amplicon_definitions">\n+                    <param name="choice" value="primer_scheme_plus"/>\n+                    <param name="primer_bed" value="primers.bed" ftype="bed"/>\n+                    <param name="amplicon_info" value="ampl_info.tsv"/>\n+                </conditional>\n+                <param name="output_cojac_ampl" value="false"/>\n+            </conditional>\n+            <section name="out_opts">\n+                <param name="output_formats" value="yaml,tabular"/>\n+            </section>\n+            <output name="cooc_yaml" ftype="yaml">\n+                <assert_contents>\n+                    <has_text text="76_om1"/>\n+                    <has_text text="81_om1"/>\n+                </assert_contents>\n+            </output>\n+            <output name="cooc_tsv" ftype="tabular">\n+                <assert_contents>\n+                    <has_text text="76_om1"/>\n+                    <has_text text="81_om1"/>\n+                </assert_contents>\n+            </output>\n+        </test>\n+        <!-- Test 4: test primer scheme as input -->\n+        <test expect_num_outputs="2">\n+            <param name="mapped_input" value="tbam11.bam"/>\n+            <conditional name="spec_layout">\n+                <conditional name="voc_source">\n+                    <param name="choice" value="builtin"/>\n+                </conditional>\n+                <conditional name="amplicon_definitions">\n+                    <param name="choice" value="primer_scheme"/>\n+                    <param name="primer_bed" value="primers.bed" ftype="bed"/>\n+                </conditional>\n+                <param name="output_cojac_ampl" value="false"/>\n+            </conditional>\n+            <section name="out_opts">\n+                <param name="output_formats" value="yaml,tabular"/>\n+            </section>\n             <output name="cooc_yaml" ftype="yaml">\n                 <assert_contents>\n                     <has_text text="76_om1"/>\n@@ -145,11 +256,11 @@\n     <help><![CDATA[\n @HELP_HEADER@\n \n-Information about **cooc-mutbamscan** method\n-============================================\n+Information about **cojac cooc-mutbamscan**\n+===========================================\n \n-The method scans an alignment BAM/CRAM/SAM file for mutation co-occurrences and output a JSON or YAML file.\n-\n+The tool scans an alignment BAM/CRAM/SAM file for mutation co-occurrences.\n+It can report its findings in json, yaml and/or tabular format.\n     ]]></help>\n     <expand macro="citations"/>\n </tool>\n'
b
diff -r 373c1735d31f -r 9f1660129403 macros.xml
--- a/macros.xml Thu Aug 11 13:50:37 2022 +0000
+++ b/macros.xml Mon Jul 31 15:23:23 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 373c1735d31f -r 9f1660129403 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:23 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 373c1735d31f -r 9f1660129403 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:23 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 373c1735d31f -r 9f1660129403 test-data/primers.bed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/primers.bed Mon Jul 31 15:23:23 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'