Repository 'samtools_stats'
hg clone https://toolshed.g2.bx.psu.edu/repos/devteam/samtools_stats

Changeset 8:e28839a4b932 (2021-09-28)
Previous changeset 7:145f6d74ff5e (2019-10-17) Next changeset 9:1cc79f49b8d5 (2021-11-27)
Commit message:
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tool_collections/samtools/samtools_stats commit 0f75269223c0821c6c82acf98fde947d0f816f2b"
modified:
macros.xml
samtools_stats.xml
test-data/1.stats.expected
test-data/11.stats.expected
test-data/11.stats.g4.expected
test-data/12.2reads.nooverlap.expected
test-data/12.2reads.overlap.expected
test-data/12.3reads.nooverlap.expected
test-data/12.3reads.overlap.expected
test-data/2.stats.expected
test-data/6.stats.expected
test-data/samtools_stats_out1.tab
test-data/samtools_stats_out1__sn.tab
b
diff -r 145f6d74ff5e -r e28839a4b932 macros.xml
--- a/macros.xml Thu Oct 17 02:21:23 2019 -0400
+++ b/macros.xml Tue Sep 28 16:17:39 2021 +0000
[
@@ -5,10 +5,16 @@
             <yield/>
         </requirements>
     </xml>
-    <token name="@TOOL_VERSION@">1.9</token>
-    <token name="@FLAGS@">#set $flags = sum(map(int, str($filter).split(',')))</token>
+    <token name="@TOOL_VERSION@">1.13</token>
+    <token name="@PROFILE@">20.05</token>
+    <token name="@FLAGS@"><![CDATA[
+        #set $flags = 0
+        #if $filter
+            #set $flags = sum(map(int, str($filter).split(',')))
+        #end if
+    ]]></token>
     <token name="@PREPARE_IDX@"><![CDATA[
-        ##prepare input and indices 
+        ##prepare input and indices
         ln -s '$input' infile &&
         #if $input.is_of_type('bam'):
             #if str( $input.metadata.bam_index ) != "None":
@@ -25,7 +31,7 @@
         #end if
     ]]></token>
     <token name="@PREPARE_IDX_MULTIPLE@"><![CDATA[
-        ##prepare input and indices 
+        ##prepare input and indices
         #for $i, $bam in enumerate( $input_bams ):
             ln -s '$bam' '${i}' &&
             #if $bam.is_of_type('bam'):
@@ -63,6 +69,51 @@
             #set reffai=None
         #end if
     ]]></token>
+
+    <xml name="optional_reference">
+        <conditional name="addref_cond">
+            <param name="addref_select" type="select" label="Use a reference sequence">
+                <help>@HELP@</help>
+                <option value="no">No</option>
+                <option value="history">Use a genome/index from the history</option>
+                <option value="cached">Use a built-in genome</option>
+            </param>
+            <when value="no"/>
+            <when value="history">
+                <param name="ref" argument="@ARGUMENT@" type="data" format="fasta,fasta.gz" label="Reference"/>
+            </when>
+            <when value="cached">
+                <param name="ref" argument="@ARGUMENT@" type="select" label="Reference">
+                    <options from_data_table="fasta_indexes">
+                        <filter type="data_meta" ref="input" key="dbkey" column="dbkey"/>
+                    </options>
+                    <validator  type="no_options" message="No reference genome is available for the build associated with the selected input dataset"/>
+                </param>
+            </when>
+        </conditional>
+    </xml>
+    <xml name="mandatory_reference" token_help="" token_argument="">
+        <conditional name="addref_cond">
+            <param name="addref_select" type="select" label="Use a reference sequence">
+                <help>@HELP@</help>
+                <option value="history">Use a genome/index from the history</option>
+                <option value="cached">Use a built-in genome</option>
+            </param>
+            <when value="history">
+                <param name="ref" argument="@ARGUMENT@" type="data" format="fasta,fasta.gz" label="Reference"/>
+            </when>
+            <when value="cached">
+                <param name="ref" argument="@ARGUMENT@" type="select" label="Reference">
+                    <options from_data_table="fasta_indexes">
+                        <filter type="data_meta" ref="input" key="dbkey" column="dbkey"/>
+                        <validator message="No reference genome is available for the build associated with the selected input dataset" type="no_options" />
+                    </options>
+                </param>
+            </when>
+        </conditional>
+    </xml>
+
+
     <token name="@ADDTHREADS@"><![CDATA[
         ##compute the number of ADDITIONAL threads to be used by samtools (-@)
         addthreads=\${GALAXY_SLOTS:-1} && (( addthreads-- )) &&
@@ -70,28 +121,28 @@
     <token name="@ADDMEMORY@"><![CDATA[
         ##compute the number of memory available to samtools sort (-m)
         ##use only 75% of available: https://github.com/samtools/samtools/issues/831
-        addmemory=\${GALAXY_MEMORY_MB_PER_SLOT:-768} && 
+        addmemory=\${GALAXY_MEMORY_MB_PER_SLOT:-768} &&
         ((addmemory=addmemory*75/100)) &&
     ]]></token>
     <xml name="seed_input">
-       <param name="seed" type="integer" optional="True" label="Seed for random number generator" help="If empty a random seed is used." /> 
+       <param name="seed" type="integer" optional="True" label="Seed for random number generator" help="If empty a random seed is used." />
     </xml>
-    <xml name="flag_options">
-        <option value="1">read is paired</option>
-        <option value="2">read is mapped in a proper pair</option>
-        <option value="4">read is unmapped</option>
-        <option value="8">mate is unmapped</option>
-        <option value="16">read reverse strand</option>
-        <option value="32">mate reverse strand</option>
-        <option value="64">read is the first in a pair</option>
-        <option value="128">read is the second in a pair</option>
-        <option value="256">alignment or read is not primary</option>
-        <option value="512">read fails platform/vendor quality checks</option>
-        <option value="1024">read is a PCR or optical duplicate</option>
-        <option value="2048">supplementary alignment</option>
+    <xml name="flag_options" token_s1="false" token_s2="false" token_s4="false" token_s8="false" token_s16="false" token_s32="false" token_s64="false" token_s128="false" token_s256="false" token_s512="false" token_s1024="false" token_s2048="false">
+        <option value="1" selected="@S1@">Read is paired</option>
+        <option value="2" selected="@S2@">Read is mapped in a proper pair</option>
+        <option value="4" selected="@S4@">Read is unmapped</option>
+        <option value="8" selected="@S8@">Mate is unmapped</option>
+        <option value="16" selected="@S16@">Read is mapped to the reverse strand of the reference</option>
+        <option value="32" selected="@S32@">Mate is mapped to the reverse strand of the reference</option>
+        <option value="64" selected="@S64@">Read is the first in a pair</option>
+        <option value="128" selected="@S128@">Read is the second in a pair</option>
+        <option value="256" selected="@S256@">Alignment of the read is not primary</option>
+        <option value="512" selected="@S512@">Read fails platform/vendor quality checks</option>
+        <option value="1024" selected="@S1024@">Read is a PCR or optical duplicate</option>
+        <option value="2048" selected="@S2048@">Alignment is supplementary</option>
     </xml>
 
-    <!-- region specification macros and tokens for tools that allow the specification 
+    <!-- region specification macros and tokens for tools that allow the specification
          of region by bed file / space separated list of regions -->
     <token name="@REGIONS_FILE@"><![CDATA[
         #if $cond_region.select_region == 'tab':
b
diff -r 145f6d74ff5e -r e28839a4b932 samtools_stats.xml
--- a/samtools_stats.xml Thu Oct 17 02:21:23 2019 -0400
+++ b/samtools_stats.xml Tue Sep 28 16:17:39 2021 +0000
[
b'@@ -1,4 +1,4 @@\n-<tool id="samtools_stats" name="Samtools stats" version="2.0.2+galaxy2">\n+<tool id="samtools_stats" name="Samtools stats" version="2.0.3" profile="@PROFILE@">\n     <description>generate statistics for BAM dataset</description>\n     <macros>\n         <import>macros.xml</import>\n@@ -16,16 +16,12 @@\n             #end if\n             ${remove_dups}\n             #if str( $filter_by_flags.filter_flags ) == "filter":\n-                #if $filter_by_flags.require_flags:\n-                    #set $filter = $filter_by_flags.require_flags\n-                    @FLAGS@\n-                    --required-flag $flags\n-                #end if\n-                #if $filter_by_flags.exclude_flags:\n-                    #set $filter = $filter_by_flags.exclude_flags\n-                    @FLAGS@\n-                    --filtering-flag $flags\n-                #end if\n+                #set $filter = $filter_by_flags.require_flags\n+                @FLAGS@\n+                --required-flag $flags\n+                #set $filter = $filter_by_flags.exclude_flags\n+                @FLAGS@\n+                --filtering-flag $flags\n             #end if\n             #if str($gc_depth):\n                 --GC-depth ${gc_depth}\n@@ -33,12 +29,9 @@\n             #if str($insert_size):\n                 --insert-size ${insert_size}\n             #end if\n-            ## The code below is commented out because using -I/--id options causes \n-            ## in samtools up to 1.9 the following exception\n-            ## Samtools-htslib: init_group_id() header parsing not yet implemented\n-            ##if str($read_group) != "":\n-            ##    -I "${read_group}"\n-            ##end if\n+            ## #if $read_group\n+            ##    -I \'$read_group\'\n+            ## #end if\n             #if str($read_length):\n                 --read-length ${read_length}\n             #end if\n@@ -63,7 +56,7 @@\n             #if str($cov_threshold):\n                 -g $cov_threshold\n             #end if\n-            -@ \\$addthreads \n+            -@ \\$addthreads\n             infile\n             @REGIONS_MANUAL@\n             > \'$output\'\n@@ -139,40 +132,19 @@\n         <!-- TODO I would like to set the default values of float and int parameters as on the samtools stats help page, but then the tests don\'t work. Hence I leave the optional and give the defaults in the help -->\n         <param name="gc_depth" argument="--GC-depth" type="float" optional="True" label="Size of GC-depth bins" help="Decreasing bin size increases memory requirement. default=2e4" />\n         <param name="insert_size" argument="--insert-size" type="integer" optional="True" label="Maximum insert size" help="default=8000" />\n-        <!--\n-            The -I option of samtools stats returns the following message up to version 1.9:\n-            Samtools-htslib: init_group_id() header parsing not yet implemented\n-            Because of this the section below is commented out until this stats bug is fixed\n-            <param name="read_group" type="select" optional="true" label="Limit to a specific read group name" >\n-                <options>\n-                    <filter type="data_meta" ref="input" key="read_groups" />\n-                </options>\n-            </param>\n-        -->\n+        <!-- TOOD https://github.com/samtools/samtools/issues/1489 -->    \n+        <param name="read_group" argument="--id" type="select" optional="true" label="Limit to a specific read group name" >\n+            <options>\n+                <filter type="data_meta" ref="input" key="read_groups" />\n+            </options>\n+        </param>\n         <param name="read_length" argument="--read-length" type="integer" optional="true" label="Minimum read length to generate statistics for" help="No cutoff if left empty" />\n         <param name="most_inserts" argument="--most-inserts" type="float" optional="true" label="Report only the main part of inserts" help="default=0.99" />\n         <param name="trim_quality" argument="--trim-quality" type="i'..b'        <param name="regions_repeat_2|region" value="ref1:39-56"/>\n             </conditional>\n             <param name="cov_threshold" value="4" />\n-            <output name="output" file="11.stats.g4.expected" ftype="tabular" lines_diff="3" />\n+            <output name="output" file="11.stats.g4.expected" ftype="tabular" lines_diff="2" />\n         </test>\n         <!-- test_cmd($opts,out=>\'stat/11.stats.g4.expected\',cmd=>"$$opts{bin}/samtools stats -g 4 $$opts{path}/stat/11_target.bam ref1:10-24 ref1:30-46 ref1:39-56 | tail -n+4", exp_fix=>$efix); -->\n         <test>\n@@ -292,7 +264,7 @@\n                 <param name="select_region" value="tab"/>\n                 <param name="targetregions" value="12_3reads.bed" ftype="tabular" />\n             </conditional>\n-            <output name="output" file="12.3reads.overlap.expected" ftype="tabular" lines_diff="3" />\n+            <output name="output" file="12.3reads.overlap.expected" ftype="tabular" lines_diff="4" />\n         </test>\n         <!-- test_cmd($opts,out=>\'stat/12.3reads.overlap.expected\',cmd=>"$$opts{bin}/samtools stats $$opts{path}/stat/12_overlaps.bam -t $$opts{path}/stat/12_3reads.bed | tail -n+4", exp_fix=>$efix);-->\n         <test>\n@@ -305,7 +277,7 @@\n                 <param name="targetregions" value="12_3reads.bed" ftype="tabular" />\n             </conditional>\n             <param name="remove_overlaps" value="-p"/>\n-            <output name="output" file="12.3reads.nooverlap.expected" ftype="tabular" lines_diff="3" />\n+            <output name="output" file="12.3reads.nooverlap.expected" ftype="tabular" lines_diff="4" />\n         </test>\n         <!-- test_cmd($opts,out=>\'stat/12.3reads.nooverlap.expected\',cmd=>"$$opts{bin}/samtools stats $$opts{path}/stat/12_overlaps.bam -p -t $$opts{path}/stat/12_3reads.bed | tail -n+4", exp_fix=>$efix);-->\n         <test>\n@@ -317,7 +289,7 @@\n                 <param name="select_region" value="tab"/>\n                 <param name="targetregions" value="12_2reads.bed" ftype="tabular" />\n             </conditional>\n-            <output name="output" file="12.2reads.overlap.expected" ftype="tabular" lines_diff="3" />\n+            <output name="output" file="12.2reads.overlap.expected" ftype="tabular" lines_diff="4" />\n         </test>\n         <!-- test_cmd($opts,out=>\'stat/12.2reads.overlap.expected\',cmd=>"$$opts{bin}/samtools stats $$opts{path}/stat/12_overlaps.bam -t $$opts{path}/stat/12_2reads.bed | tail -n+4", exp_fix=>$efix);-->\n         <test>\n@@ -330,7 +302,7 @@\n                 <param name="targetregions" value="12_2reads.bed" ftype="tabular" />\n             </conditional>\n             <param name="remove_overlaps" value="-p"/>\n-            <output name="output" file="12.2reads.nooverlap.expected" ftype="tabular" lines_diff="3" />\n+            <output name="output" file="12.2reads.nooverlap.expected" ftype="tabular" lines_diff="4" />\n         </test>\n         <!-- test_cmd($opts,out=>\'stat/12.2reads.nooverlap.expected\',cmd=>"$$opts{bin}/samtools stats $$opts{path}/stat/12_overlaps.bam -p -t $$opts{path}/stat/12_2reads.bed | tail -n+4", exp_fix=>$efix);-->\n         <test>\n@@ -357,6 +329,18 @@\n                 <element name="Summary Numbers" ftype="tabular" file="samtools_stats_out1__sn.tab" />\n             </output_collection>\n         </test>\n+        <!-- test filtering by read group -->\n+        <!-- <test>\n+            <param name="input" value="11_target.sam" ftype="sam" />\n+            <conditional name="addref_cond">\n+                <param name="addref_select" value="no" />\n+            </conditional>\n+            <param name="read_group" value="grp1" />\n+            <output name="output" file="11.stats.read_groups.expected" ftype="tabular" lines_diff="2" />\n+            <assert_command>\n+                <has_text text="-I \'grp1\'"/>\n+            </assert_command>\n+        </test> -->\n     </tests>\n     <help><![CDATA[\n **What it does**\n@@ -367,4 +351,3 @@\n     ]]></help>\n     <expand macro="citations"/>\n </tool>\n-\n'
b
diff -r 145f6d74ff5e -r e28839a4b932 test-data/1.stats.expected
--- a/test-data/1.stats.expected Thu Oct 17 02:21:23 2019 -0400
+++ b/test-data/1.stats.expected Tue Sep 28 16:17:39 2021 +0000
[
@@ -1,8 +1,11 @@
+# This file was produced by samtools stats (1.12+htslib-1.12) and can be plotted using plot-bamstats
+# This file contains statistics for all reads.
+# The command line was:  stats --ref-seq reference.fa -@ 0 infile
 # CHK, Checksum [2]Read Names [3]Sequences [4]Qualities
 # CHK, CRC32 of reads which passed filtering followed by addition (32bit overflow)
 CHK 1a1c1362 29c426ae 7bab45da
 # Summary Numbers. Use `grep ^SN | cut -f 2-` to extract this part.
-SN raw total sequences: 2
+SN raw total sequences: 2 # excluding supplementary and secondary reads
 SN filtered sequences: 0
 SN sequences: 2
 SN is sorted: 1
@@ -17,6 +20,7 @@
 SN reads MQ0: 0 # mapped and MQ=0
 SN reads QC failed: 0
 SN non-primary alignments: 0
+SN supplementary alignments: 0
 SN total length: 70 # ignores clipping
 SN total first fragment length: 35 # ignores clipping
 SN total last fragment length: 35 # ignores clipping
@@ -195,6 +199,42 @@
 GCC 33 50.00 0.00 0.00 50.00 0.00 0.00
 GCC 34 50.00 0.00 50.00 0.00 0.00 0.00
 GCC 35 0.00 0.00 50.00 50.00 0.00 0.00
+# ACGT content per cycle, read oriented. Use `grep ^GCT | cut -f 2-` to extract this part. The columns are: cycle; A,C,G,T base counts as a percentage of all A/C/G/T bases [%]
+GCT 1 0.00 50.00 0.00 50.00
+GCT 2 50.00 0.00 50.00 0.00
+GCT 3 0.00 0.00 50.00 50.00
+GCT 4 0.00 0.00 100.00 0.00
+GCT 5 0.00 0.00 50.00 50.00
+GCT 6 0.00 50.00 0.00 50.00
+GCT 7 0.00 0.00 50.00 50.00
+GCT 8 0.00 0.00 0.00 100.00
+GCT 9 0.00 50.00 50.00 0.00
+GCT 10 50.00 0.00 50.00 0.00
+GCT 11 50.00 0.00 0.00 50.00
+GCT 12 50.00 0.00 50.00 0.00
+GCT 13 50.00 0.00 50.00 0.00
+GCT 14 0.00 0.00 0.00 100.00
+GCT 15 100.00 0.00 0.00 0.00
+GCT 16 50.00 0.00 0.00 50.00
+GCT 17 0.00 0.00 50.00 50.00
+GCT 18 0.00 50.00 50.00 0.00
+GCT 19 0.00 100.00 0.00 0.00
+GCT 20 0.00 0.00 50.00 50.00
+GCT 21 0.00 0.00 100.00 0.00
+GCT 22 0.00 50.00 0.00 50.00
+GCT 23 50.00 0.00 0.00 50.00
+GCT 24 50.00 0.00 50.00 0.00
+GCT 25 50.00 0.00 50.00 0.00
+GCT 26 0.00 0.00 100.00 0.00
+GCT 27 50.00 0.00 0.00 50.00
+GCT 28 0.00 0.00 50.00 50.00
+GCT 29 0.00 50.00 0.00 50.00
+GCT 30 0.00 50.00 0.00 50.00
+GCT 31 0.00 50.00 50.00 0.00
+GCT 32 0.00 0.00 100.00 0.00
+GCT 33 100.00 0.00 0.00 0.00
+GCT 34 0.00 0.00 50.00 50.00
+GCT 35 50.00 0.00 50.00 0.00
 # ACGT content per cycle for first fragments. Use `grep ^FBC | cut -f 2-` to extract this part. The columns are: cycle; A,C,G,T base counts as a percentage of all A/C/G/T bases [%]; and N and O counts as a percentage of all A/C/G/T bases [%]
 FBC 1 0.00 0.00 0.00 100.00 0.00 0.00
 FBC 2 0.00 0.00 100.00 0.00 0.00 0.00
@@ -231,6 +271,8 @@
 FBC 33 100.00 0.00 0.00 0.00 0.00 0.00
 FBC 34 0.00 0.00 100.00 0.00 0.00 0.00
 FBC 35 0.00 0.00 100.00 0.00 0.00 0.00
+# ACGT raw counters for first fragments. Use `grep ^FTC | cut -f 2-` to extract this part. The columns are: A,C,G,T,N base counters
+FTC 6 5 15 9 0
 # ACGT content per cycle for last fragments. Use `grep ^LBC | cut -f 2-` to extract this part. The columns are: cycle; A,C,G,T base counts as a percentage of all A/C/G/T bases [%]; and N and O counts as a percentage of all A/C/G/T bases [%]
 LBC 1 0.00 0.00 100.00 0.00 0.00 0.00
 LBC 2 0.00 0.00 0.00 100.00 0.00 0.00
@@ -267,6 +309,8 @@
 LBC 33 0.00 0.00 0.00 100.00 0.00 0.00
 LBC 34 100.00 0.00 0.00 0.00 0.00 0.00
 LBC 35 0.00 0.00 0.00 100.00 0.00 0.00
+# ACGT raw counters for last fragments. Use `grep ^LTC | cut -f 2-` to extract this part. The columns are: A,C,G,T,N base counters
+LTC 11 10 5 9 0
 # Insert sizes. Use `grep ^IS | cut -f 2-` to extract this part. The columns are: insert size, pairs total, inward oriented pairs, outward oriented pairs, other pairs
 IS 0 0 0 0 0
 IS 1 0 0 0 0
b
diff -r 145f6d74ff5e -r e28839a4b932 test-data/11.stats.expected
--- a/test-data/11.stats.expected Thu Oct 17 02:21:23 2019 -0400
+++ b/test-data/11.stats.expected Tue Sep 28 16:17:39 2021 +0000
[
@@ -1,8 +1,11 @@
+# This file was produced by samtools stats (1.12+htslib-1.12) and can be plotted using plot-bamstats
+# This file contains statistics for all reads.
+# The command line was:  stats -@ 0 infile ref1:10-24 ref1:30-46 ref1:39-56
 # CHK, Checksum [2]Read Names [3]Sequences [4]Qualities
 # CHK, CRC32 of reads which passed filtering followed by addition (32bit overflow)
 CHK cb2d2d82 bcd83869 62ec814e
 # Summary Numbers. Use `grep ^SN | cut -f 2-` to extract this part.
-SN raw total sequences: 26
+SN raw total sequences: 26 # excluding supplementary and secondary reads
 SN filtered sequences: 0
 SN sequences: 26
 SN is sorted: 1
@@ -17,6 +20,7 @@
 SN reads MQ0: 1 # mapped and MQ=0
 SN reads QC failed: 0
 SN non-primary alignments: 0
+SN supplementary alignments: 0
 SN total length: 260 # ignores clipping
 SN total first fragment length: 140 # ignores clipping
 SN total last fragment length: 120 # ignores clipping
@@ -89,6 +93,17 @@
 GCC 8 26.92 23.08 38.46 11.54 0.00 0.00
 GCC 9 23.08 26.92 26.92 23.08 0.00 0.00
 GCC 10 23.08 23.08 38.46 15.38 0.00 0.00
+# ACGT content per cycle, read oriented. Use `grep ^GCT | cut -f 2-` to extract this part. The columns are: cycle; A,C,G,T base counts as a percentage of all A/C/G/T bases [%]
+GCT 1 26.92 26.92 30.77 15.38
+GCT 2 7.69 38.46 26.92 26.92
+GCT 3 26.92 26.92 30.77 15.38
+GCT 4 11.54 34.62 26.92 26.92
+GCT 5 23.08 26.92 38.46 11.54
+GCT 6 11.54 34.62 23.08 30.77
+GCT 7 19.23 23.08 38.46 19.23
+GCT 8 11.54 38.46 23.08 26.92
+GCT 9 23.08 19.23 34.62 23.08
+GCT 10 11.54 34.62 26.92 26.92
 # ACGT content per cycle for first fragments. Use `grep ^FBC | cut -f 2-` to extract this part. The columns are: cycle; A,C,G,T base counts as a percentage of all A/C/G/T bases [%]; and N and O counts as a percentage of all A/C/G/T bases [%]
 FBC 1 21.43 42.86 21.43 14.29 0.00 0.00
 FBC 2 7.14 28.57 42.86 21.43 0.00 0.00
@@ -100,6 +115,8 @@
 FBC 8 21.43 28.57 28.57 21.43 0.00 0.00
 FBC 9 21.43 21.43 35.71 21.43 0.00 0.00
 FBC 10 14.29 28.57 35.71 21.43 0.00 0.00
+# ACGT raw counters for first fragments. Use `grep ^FTC | cut -f 2-` to extract this part. The columns are: A,C,G,T,N base counters
+FTC 24 43 45 28 0
 # ACGT content per cycle for last fragments. Use `grep ^LBC | cut -f 2-` to extract this part. The columns are: cycle; A,C,G,T base counts as a percentage of all A/C/G/T bases [%]; and N and O counts as a percentage of all A/C/G/T bases [%]
 LBC 1 16.67 41.67 8.33 33.33 0.00 0.00
 LBC 2 33.33 8.33 50.00 8.33 0.00 0.00
@@ -111,6 +128,19 @@
 LBC 8 33.33 16.67 50.00 0.00 0.00 0.00
 LBC 9 25.00 33.33 16.67 25.00 0.00 0.00
 LBC 10 33.33 16.67 41.67 8.33 0.00 0.00
+# ACGT raw counters for last fragments. Use `grep ^LTC | cut -f 2-` to extract this part. The columns are: A,C,G,T,N base counters
+LTC 30 33 36 21 0
+# ACGT content per cycle for barcodes. Use `grep ^BCC | cut -f 2-` to extract this part. The columns are: cycle; A,C,G,T base counts as a percentage of all A/C/G/T bases [%]; and N counts as a percentage of all A/C/G/T bases [%]
+BCC1 1 50.00 0.00 0.00 50.00 0.00
+BCC1 2 0.00 50.00 50.00 0.00 0.00
+BCC1 3 0.00 50.00 50.00 0.00 0.00
+BCC1 4 50.00 0.00 0.00 50.00 0.00
+# Barcode Qualities. Use `grep ^QTQ | cut -f 2-` to extract this part.
+# Columns correspond to qualities and rows to barcode cycles. First column is the cycle number.
+QTQ1 1
+QTQ1 2
+QTQ1 3
+QTQ1 4
 # Insert sizes. Use `grep ^IS | cut -f 2-` to extract this part. The columns are: insert size, pairs total, inward oriented pairs, outward oriented pairs, other pairs
 IS 0 0 0 0 0
 IS 1 0 0 0 0
b
diff -r 145f6d74ff5e -r e28839a4b932 test-data/11.stats.g4.expected
--- a/test-data/11.stats.g4.expected Thu Oct 17 02:21:23 2019 -0400
+++ b/test-data/11.stats.g4.expected Tue Sep 28 16:17:39 2021 +0000
[
@@ -1,8 +1,11 @@
+# This file was produced by samtools stats (1.12+htslib-1.12) and can be plotted using plot-bamstats
+# This file contains statistics for all reads.
+# The command line was:  stats -g 4 -@ 0 infile ref1:10-24 ref1:30-46 ref1:39-56
 # CHK, Checksum [2]Read Names [3]Sequences [4]Qualities
 # CHK, CRC32 of reads which passed filtering followed by addition (32bit overflow)
 CHK cb2d2d82 bcd83869 62ec814e
 # Summary Numbers. Use `grep ^SN | cut -f 2-` to extract this part.
-SN raw total sequences: 26
+SN raw total sequences: 26 # excluding supplementary and secondary reads
 SN filtered sequences: 0
 SN sequences: 26
 SN is sorted: 1
@@ -17,6 +20,7 @@
 SN reads MQ0: 1 # mapped and MQ=0
 SN reads QC failed: 0
 SN non-primary alignments: 0
+SN supplementary alignments: 0
 SN total length: 260 # ignores clipping
 SN total first fragment length: 140 # ignores clipping
 SN total last fragment length: 120 # ignores clipping
@@ -89,6 +93,17 @@
 GCC 8 26.92 23.08 38.46 11.54 0.00 0.00
 GCC 9 23.08 26.92 26.92 23.08 0.00 0.00
 GCC 10 23.08 23.08 38.46 15.38 0.00 0.00
+# ACGT content per cycle, read oriented. Use `grep ^GCT | cut -f 2-` to extract this part. The columns are: cycle; A,C,G,T base counts as a percentage of all A/C/G/T bases [%]
+GCT 1 26.92 26.92 30.77 15.38
+GCT 2 7.69 38.46 26.92 26.92
+GCT 3 26.92 26.92 30.77 15.38
+GCT 4 11.54 34.62 26.92 26.92
+GCT 5 23.08 26.92 38.46 11.54
+GCT 6 11.54 34.62 23.08 30.77
+GCT 7 19.23 23.08 38.46 19.23
+GCT 8 11.54 38.46 23.08 26.92
+GCT 9 23.08 19.23 34.62 23.08
+GCT 10 11.54 34.62 26.92 26.92
 # ACGT content per cycle for first fragments. Use `grep ^FBC | cut -f 2-` to extract this part. The columns are: cycle; A,C,G,T base counts as a percentage of all A/C/G/T bases [%]; and N and O counts as a percentage of all A/C/G/T bases [%]
 FBC 1 21.43 42.86 21.43 14.29 0.00 0.00
 FBC 2 7.14 28.57 42.86 21.43 0.00 0.00
@@ -100,6 +115,8 @@
 FBC 8 21.43 28.57 28.57 21.43 0.00 0.00
 FBC 9 21.43 21.43 35.71 21.43 0.00 0.00
 FBC 10 14.29 28.57 35.71 21.43 0.00 0.00
+# ACGT raw counters for first fragments. Use `grep ^FTC | cut -f 2-` to extract this part. The columns are: A,C,G,T,N base counters
+FTC 24 43 45 28 0
 # ACGT content per cycle for last fragments. Use `grep ^LBC | cut -f 2-` to extract this part. The columns are: cycle; A,C,G,T base counts as a percentage of all A/C/G/T bases [%]; and N and O counts as a percentage of all A/C/G/T bases [%]
 LBC 1 16.67 41.67 8.33 33.33 0.00 0.00
 LBC 2 33.33 8.33 50.00 8.33 0.00 0.00
@@ -111,6 +128,19 @@
 LBC 8 33.33 16.67 50.00 0.00 0.00 0.00
 LBC 9 25.00 33.33 16.67 25.00 0.00 0.00
 LBC 10 33.33 16.67 41.67 8.33 0.00 0.00
+# ACGT raw counters for last fragments. Use `grep ^LTC | cut -f 2-` to extract this part. The columns are: A,C,G,T,N base counters
+LTC 30 33 36 21 0
+# ACGT content per cycle for barcodes. Use `grep ^BCC | cut -f 2-` to extract this part. The columns are: cycle; A,C,G,T base counts as a percentage of all A/C/G/T bases [%]; and N counts as a percentage of all A/C/G/T bases [%]
+BCC1 1 50.00 0.00 0.00 50.00 0.00
+BCC1 2 0.00 50.00 50.00 0.00 0.00
+BCC1 3 0.00 50.00 50.00 0.00 0.00
+BCC1 4 50.00 0.00 0.00 50.00 0.00
+# Barcode Qualities. Use `grep ^QTQ | cut -f 2-` to extract this part.
+# Columns correspond to qualities and rows to barcode cycles. First column is the cycle number.
+QTQ1 1
+QTQ1 2
+QTQ1 3
+QTQ1 4
 # Insert sizes. Use `grep ^IS | cut -f 2-` to extract this part. The columns are: insert size, pairs total, inward oriented pairs, outward oriented pairs, other pairs
 IS 0 0 0 0 0
 IS 1 0 0 0 0
b
diff -r 145f6d74ff5e -r e28839a4b932 test-data/12.2reads.nooverlap.expected
--- a/test-data/12.2reads.nooverlap.expected Thu Oct 17 02:21:23 2019 -0400
+++ b/test-data/12.2reads.nooverlap.expected Tue Sep 28 16:17:39 2021 +0000
[
@@ -1,8 +1,11 @@
+# This file was produced by samtools stats (1.12+htslib-1.12) and can be plotted using plot-bamstats
+# This file contains statistics for all reads.
+# The command line was:  stats -t /tmp/tmp0r5zs075/files/b/2/1/dataset_b2175431-044e-449d-8f60-1bfd33679b61.dat -p -@ 0 infile
 # CHK, Checksum [2]Read Names [3]Sequences [4]Qualities
 # CHK, CRC32 of reads which passed filtering followed by addition (32bit overflow)
 CHK 5b31676a b0edee94 471895da
 # Summary Numbers. Use `grep ^SN | cut -f 2-` to extract this part.
-SN raw total sequences: 2
+SN raw total sequences: 2 # excluding supplementary and secondary reads
 SN filtered sequences: 0
 SN sequences: 2
 SN is sorted: 1
@@ -17,6 +20,7 @@
 SN reads MQ0: 0 # mapped and MQ=0
 SN reads QC failed: 0
 SN non-primary alignments: 0
+SN supplementary alignments: 0
 SN total length: 200 # ignores clipping
 SN total first fragment length: 100 # ignores clipping
 SN total last fragment length: 100 # ignores clipping
@@ -353,6 +357,107 @@
 GCC 98 50.00 50.00 0.00 0.00 0.00 0.00
 GCC 99 50.00 50.00 0.00 0.00 0.00 0.00
 GCC 100 100.00 0.00 0.00 0.00 0.00 0.00
+# ACGT content per cycle, read oriented. Use `grep ^GCT | cut -f 2-` to extract this part. The columns are: cycle; A,C,G,T base counts as a percentage of all A/C/G/T bases [%]
+GCT 1 50.00 0.00 50.00 0.00
+GCT 2 0.00 50.00 50.00 0.00
+GCT 3 0.00 50.00 0.00 50.00
+GCT 4 0.00 50.00 50.00 0.00
+GCT 5 0.00 0.00 50.00 50.00
+GCT 6 0.00 0.00 50.00 50.00
+GCT 7 0.00 50.00 0.00 50.00
+GCT 8 0.00 0.00 50.00 50.00
+GCT 9 0.00 50.00 0.00 50.00
+GCT 10 50.00 0.00 50.00 0.00
+GCT 11 0.00 0.00 100.00 0.00
+GCT 12 50.00 0.00 0.00 50.00
+GCT 13 0.00 50.00 50.00 0.00
+GCT 14 50.00 0.00 0.00 50.00
+GCT 15 0.00 0.00 50.00 50.00
+GCT 16 0.00 50.00 50.00 0.00
+GCT 17 0.00 50.00 0.00 50.00
+GCT 18 100.00 0.00 0.00 0.00
+GCT 19 50.00 0.00 0.00 50.00
+GCT 20 0.00 50.00 50.00 0.00
+GCT 21 50.00 0.00 0.00 50.00
+GCT 22 0.00 50.00 0.00 50.00
+GCT 23 0.00 0.00 0.00 100.00
+GCT 24 0.00 50.00 50.00 0.00
+GCT 25 0.00 0.00 0.00 100.00
+GCT 26 0.00 0.00 50.00 50.00
+GCT 27 0.00 100.00 0.00 0.00
+GCT 28 0.00 0.00 0.00 100.00
+GCT 29 50.00 0.00 50.00 0.00
+GCT 30 0.00 50.00 0.00 50.00
+GCT 31 0.00 50.00 0.00 50.00
+GCT 32 0.00 0.00 50.00 50.00
+GCT 33 0.00 50.00 0.00 50.00
+GCT 34 50.00 0.00 0.00 50.00
+GCT 35 0.00 50.00 0.00 50.00
+GCT 36 0.00 100.00 0.00 0.00
+GCT 37 0.00 50.00 0.00 50.00
+GCT 38 50.00 50.00 0.00 0.00
+GCT 39 100.00 0.00 0.00 0.00
+GCT 40 0.00 0.00 100.00 0.00
+GCT 41 0.00 50.00 0.00 50.00
+GCT 42 50.00 50.00 0.00 0.00
+GCT 43 0.00 0.00 50.00 50.00
+GCT 44 50.00 0.00 50.00 0.00
+GCT 45 50.00 0.00 50.00 0.00
+GCT 46 50.00 0.00 50.00 0.00
+GCT 47 50.00 0.00 50.00 0.00
+GCT 48 0.00 50.00 50.00 0.00
+GCT 49 50.00 0.00 0.00 50.00
+GCT 50 0.00 0.00 50.00 50.00
+GCT 51 0.00 0.00 100.00 0.00
+GCT 52 50.00 0.00 50.00 0.00
+GCT 53 0.00 50.00 0.00 50.00
+GCT 54 50.00 0.00 50.00 0.00
+GCT 55 50.00 0.00 0.00 50.00
+GCT 56 0.00 50.00 50.00 0.00
+GCT 57 100.00 0.00 0.00 0.00
+GCT 58 50.00 0.00 50.00 0.00
+GCT 59 100.00 0.00 0.00 0.00
+GCT 60 50.00 0.00 50.00 0.00
+GCT 61 0.00 0.00 0.00 100.00
+GCT 62 0.00 50.00 50.00 0.00
+GCT 63 50.00 0.00 0.00 50.00
+GCT 64 0.00 0.00 100.00 0.00
+GCT 65 50.00 50.00 0.00 0.00
+GCT 66 0.00 50.00 0.00 50.00
+GCT 67 0.00 0.00 0.00 100.00
+GCT 68 0.00 50.00 0.00 50.00
+GCT 69 0.00 50.00 0.00 50.00
+GCT 70 50.00 0.00 0.00 50.00
+GCT 71 0.00 0.00 0.00 100.00
+GCT 72 0.00 50.00 0.00 50.00
+GCT 73 0.00 0.00 0.00 100.00
+GCT 74 0.00 50.00 0.00 50.00
+GCT 75 50.00 0.00 0.00 50.00
+GCT 76 0.00 50.00 0.00 50.00
+GCT 77 50.00 0.00 0.00 50.00
+GCT 78 50.00 0.00 0.00 50.00
+GCT 79 50.00 0.00 0.00 50.00
+GCT 80 50.00 0.00 0.00 50.00
+GCT 81 50.00 0.00 0.00 50.00
+GCT 82 50.00 0.00 0.00 50.00
+GCT 83 50.00 0.00 0.00 50.00
+GCT 84 50.00 0.00 0.00 50.00
+GCT 85 50.00 0.00 0.00 50.00
+GCT 86 50.00 0.00 0.00 50.00
+GCT 87 50.00 0.00 0.00 50.00
+GCT 88 50.00 0.00 0.00 50.00
+GCT 89 50.00 0.00 0.00 50.00
+GCT 90 50.00 0.00 0.00 50.00
+GCT 91 50.00 0.00 50.00 0.00
+GCT 92 50.00 0.00 50.00 0.00
+GCT 93 50.00 0.00 50.00 0.00
+GCT 94 50.00 0.00 0.00 50.00
+GCT 95 50.00 0.00 50.00 0.00
+GCT 96 50.00 0.00 50.00 0.00
+GCT 97 50.00 0.00 50.00 0.00
+GCT 98 50.00 0.00 50.00 0.00
+GCT 99 50.00 0.00 50.00 0.00
+GCT 100 50.00 0.00 0.00 50.00
 # ACGT content per cycle for first fragments. Use `grep ^FBC | cut -f 2-` to extract this part. The columns are: cycle; A,C,G,T base counts as a percentage of all A/C/G/T bases [%]; and N and O counts as a percentage of all A/C/G/T bases [%]
 FBC 1 0.00 0.00 0.00 100.00 0.00 0.00
 FBC 2 0.00 0.00 100.00 0.00 0.00 0.00
@@ -454,6 +559,8 @@
 FBC 98 0.00 100.00 0.00 0.00 0.00 0.00
 FBC 99 0.00 100.00 0.00 0.00 0.00 0.00
 FBC 100 100.00 0.00 0.00 0.00 0.00 0.00
+# ACGT raw counters for first fragments. Use `grep ^FTC | cut -f 2-` to extract this part. The columns are: A,C,G,T,N base counters
+FTC 50 21 14 15 0
 # ACGT content per cycle for last fragments. Use `grep ^LBC | cut -f 2-` to extract this part. The columns are: cycle; A,C,G,T base counts as a percentage of all A/C/G/T bases [%]; and N and O counts as a percentage of all A/C/G/T bases [%]
 LBC 1 0.00 0.00 100.00 0.00 0.00 0.00
 LBC 2 0.00 0.00 100.00 0.00 0.00 0.00
@@ -555,6 +662,26 @@
 LBC 98 100.00 0.00 0.00 0.00 0.00 0.00
 LBC 99 100.00 0.00 0.00 0.00 0.00 0.00
 LBC 100 100.00 0.00 0.00 0.00 0.00 0.00
+# ACGT raw counters for last fragments. Use `grep ^LTC | cut -f 2-` to extract this part. The columns are: A,C,G,T,N base counters
+LTC 41 20 23 16 0
+# ACGT content per cycle for barcodes. Use `grep ^BCC | cut -f 2-` to extract this part. The columns are: cycle; A,C,G,T base counts as a percentage of all A/C/G/T bases [%]; and N counts as a percentage of all A/C/G/T bases [%]
+BCC1 2 0.00 0.00 100.00 0.00 0.00
+BCC1 3 0.00 0.00 0.00 100.00 0.00
+BCC1 4 0.00 100.00 0.00 0.00 0.00
+BCC1 5 0.00 0.00 0.00 100.00 0.00
+BCC1 6 100.00 0.00 0.00 0.00 0.00
+BCC1 7 0.00 0.00 0.00 100.00 0.00
+BCC1 8 0.00 100.00 0.00 0.00 0.00
+# Barcode Qualities. Use `grep ^QTQ | cut -f 2-` to extract this part.
+# Columns correspond to qualities and rows to barcode cycles. First column is the cycle number.
+QTQ1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+QTQ1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+QTQ1 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
+QTQ1 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+QTQ1 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+QTQ1 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+QTQ1 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+QTQ1 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
 # Insert sizes. Use `grep ^IS | cut -f 2-` to extract this part. The columns are: insert size, pairs total, inward oriented pairs, outward oriented pairs, other pairs
 IS 0 0 0 0 0
 IS 1 0 0 0 0
b
diff -r 145f6d74ff5e -r e28839a4b932 test-data/12.2reads.overlap.expected
--- a/test-data/12.2reads.overlap.expected Thu Oct 17 02:21:23 2019 -0400
+++ b/test-data/12.2reads.overlap.expected Tue Sep 28 16:17:39 2021 +0000
[
@@ -1,8 +1,11 @@
+# This file was produced by samtools stats (1.12+htslib-1.12) and can be plotted using plot-bamstats
+# This file contains statistics for all reads.
+# The command line was:  stats -t /tmp/tmp0r5zs075/files/2/a/2/dataset_2a2a3ee9-3133-4880-a37c-50b6354c9000.dat -@ 0 infile
 # CHK, Checksum [2]Read Names [3]Sequences [4]Qualities
 # CHK, CRC32 of reads which passed filtering followed by addition (32bit overflow)
 CHK 5b31676a b0edee94 471895da
 # Summary Numbers. Use `grep ^SN | cut -f 2-` to extract this part.
-SN raw total sequences: 2
+SN raw total sequences: 2 # excluding supplementary and secondary reads
 SN filtered sequences: 0
 SN sequences: 2
 SN is sorted: 1
@@ -17,6 +20,7 @@
 SN reads MQ0: 0 # mapped and MQ=0
 SN reads QC failed: 0
 SN non-primary alignments: 0
+SN supplementary alignments: 0
 SN total length: 200 # ignores clipping
 SN total first fragment length: 100 # ignores clipping
 SN total last fragment length: 100 # ignores clipping
@@ -353,6 +357,107 @@
 GCC 98 50.00 50.00 0.00 0.00 0.00 0.00
 GCC 99 50.00 50.00 0.00 0.00 0.00 0.00
 GCC 100 100.00 0.00 0.00 0.00 0.00 0.00
+# ACGT content per cycle, read oriented. Use `grep ^GCT | cut -f 2-` to extract this part. The columns are: cycle; A,C,G,T base counts as a percentage of all A/C/G/T bases [%]
+GCT 1 50.00 0.00 50.00 0.00
+GCT 2 0.00 50.00 50.00 0.00
+GCT 3 0.00 50.00 0.00 50.00
+GCT 4 0.00 50.00 50.00 0.00
+GCT 5 0.00 0.00 50.00 50.00
+GCT 6 0.00 0.00 50.00 50.00
+GCT 7 0.00 50.00 0.00 50.00
+GCT 8 0.00 0.00 50.00 50.00
+GCT 9 0.00 50.00 0.00 50.00
+GCT 10 50.00 0.00 50.00 0.00
+GCT 11 0.00 0.00 100.00 0.00
+GCT 12 50.00 0.00 0.00 50.00
+GCT 13 0.00 50.00 50.00 0.00
+GCT 14 50.00 0.00 0.00 50.00
+GCT 15 0.00 0.00 50.00 50.00
+GCT 16 0.00 50.00 50.00 0.00
+GCT 17 0.00 50.00 0.00 50.00
+GCT 18 100.00 0.00 0.00 0.00
+GCT 19 50.00 0.00 0.00 50.00
+GCT 20 0.00 50.00 50.00 0.00
+GCT 21 50.00 0.00 0.00 50.00
+GCT 22 0.00 50.00 0.00 50.00
+GCT 23 0.00 0.00 0.00 100.00
+GCT 24 0.00 50.00 50.00 0.00
+GCT 25 0.00 0.00 0.00 100.00
+GCT 26 0.00 0.00 50.00 50.00
+GCT 27 0.00 100.00 0.00 0.00
+GCT 28 0.00 0.00 0.00 100.00
+GCT 29 50.00 0.00 50.00 0.00
+GCT 30 0.00 50.00 0.00 50.00
+GCT 31 0.00 50.00 0.00 50.00
+GCT 32 0.00 0.00 50.00 50.00
+GCT 33 0.00 50.00 0.00 50.00
+GCT 34 50.00 0.00 0.00 50.00
+GCT 35 0.00 50.00 0.00 50.00
+GCT 36 0.00 100.00 0.00 0.00
+GCT 37 0.00 50.00 0.00 50.00
+GCT 38 50.00 50.00 0.00 0.00
+GCT 39 100.00 0.00 0.00 0.00
+GCT 40 0.00 0.00 100.00 0.00
+GCT 41 0.00 50.00 0.00 50.00
+GCT 42 50.00 50.00 0.00 0.00
+GCT 43 0.00 0.00 50.00 50.00
+GCT 44 50.00 0.00 50.00 0.00
+GCT 45 50.00 0.00 50.00 0.00
+GCT 46 50.00 0.00 50.00 0.00
+GCT 47 50.00 0.00 50.00 0.00
+GCT 48 0.00 50.00 50.00 0.00
+GCT 49 50.00 0.00 0.00 50.00
+GCT 50 0.00 0.00 50.00 50.00
+GCT 51 0.00 0.00 100.00 0.00
+GCT 52 50.00 0.00 50.00 0.00
+GCT 53 0.00 50.00 0.00 50.00
+GCT 54 50.00 0.00 50.00 0.00
+GCT 55 50.00 0.00 0.00 50.00
+GCT 56 0.00 50.00 50.00 0.00
+GCT 57 100.00 0.00 0.00 0.00
+GCT 58 50.00 0.00 50.00 0.00
+GCT 59 100.00 0.00 0.00 0.00
+GCT 60 50.00 0.00 50.00 0.00
+GCT 61 0.00 0.00 0.00 100.00
+GCT 62 0.00 50.00 50.00 0.00
+GCT 63 50.00 0.00 0.00 50.00
+GCT 64 0.00 0.00 100.00 0.00
+GCT 65 50.00 50.00 0.00 0.00
+GCT 66 0.00 50.00 0.00 50.00
+GCT 67 0.00 0.00 0.00 100.00
+GCT 68 0.00 50.00 0.00 50.00
+GCT 69 0.00 50.00 0.00 50.00
+GCT 70 50.00 0.00 0.00 50.00
+GCT 71 0.00 0.00 0.00 100.00
+GCT 72 0.00 50.00 0.00 50.00
+GCT 73 0.00 0.00 0.00 100.00
+GCT 74 0.00 50.00 0.00 50.00
+GCT 75 50.00 0.00 0.00 50.00
+GCT 76 0.00 50.00 0.00 50.00
+GCT 77 50.00 0.00 0.00 50.00
+GCT 78 50.00 0.00 0.00 50.00
+GCT 79 50.00 0.00 0.00 50.00
+GCT 80 50.00 0.00 0.00 50.00
+GCT 81 50.00 0.00 0.00 50.00
+GCT 82 50.00 0.00 0.00 50.00
+GCT 83 50.00 0.00 0.00 50.00
+GCT 84 50.00 0.00 0.00 50.00
+GCT 85 50.00 0.00 0.00 50.00
+GCT 86 50.00 0.00 0.00 50.00
+GCT 87 50.00 0.00 0.00 50.00
+GCT 88 50.00 0.00 0.00 50.00
+GCT 89 50.00 0.00 0.00 50.00
+GCT 90 50.00 0.00 0.00 50.00
+GCT 91 50.00 0.00 50.00 0.00
+GCT 92 50.00 0.00 50.00 0.00
+GCT 93 50.00 0.00 50.00 0.00
+GCT 94 50.00 0.00 0.00 50.00
+GCT 95 50.00 0.00 50.00 0.00
+GCT 96 50.00 0.00 50.00 0.00
+GCT 97 50.00 0.00 50.00 0.00
+GCT 98 50.00 0.00 50.00 0.00
+GCT 99 50.00 0.00 50.00 0.00
+GCT 100 50.00 0.00 0.00 50.00
 # ACGT content per cycle for first fragments. Use `grep ^FBC | cut -f 2-` to extract this part. The columns are: cycle; A,C,G,T base counts as a percentage of all A/C/G/T bases [%]; and N and O counts as a percentage of all A/C/G/T bases [%]
 FBC 1 0.00 0.00 0.00 100.00 0.00 0.00
 FBC 2 0.00 0.00 100.00 0.00 0.00 0.00
@@ -454,6 +559,8 @@
 FBC 98 0.00 100.00 0.00 0.00 0.00 0.00
 FBC 99 0.00 100.00 0.00 0.00 0.00 0.00
 FBC 100 100.00 0.00 0.00 0.00 0.00 0.00
+# ACGT raw counters for first fragments. Use `grep ^FTC | cut -f 2-` to extract this part. The columns are: A,C,G,T,N base counters
+FTC 50 21 14 15 0
 # ACGT content per cycle for last fragments. Use `grep ^LBC | cut -f 2-` to extract this part. The columns are: cycle; A,C,G,T base counts as a percentage of all A/C/G/T bases [%]; and N and O counts as a percentage of all A/C/G/T bases [%]
 LBC 1 0.00 0.00 100.00 0.00 0.00 0.00
 LBC 2 0.00 0.00 100.00 0.00 0.00 0.00
@@ -555,6 +662,26 @@
 LBC 98 100.00 0.00 0.00 0.00 0.00 0.00
 LBC 99 100.00 0.00 0.00 0.00 0.00 0.00
 LBC 100 100.00 0.00 0.00 0.00 0.00 0.00
+# ACGT raw counters for last fragments. Use `grep ^LTC | cut -f 2-` to extract this part. The columns are: A,C,G,T,N base counters
+LTC 41 20 23 16 0
+# ACGT content per cycle for barcodes. Use `grep ^BCC | cut -f 2-` to extract this part. The columns are: cycle; A,C,G,T base counts as a percentage of all A/C/G/T bases [%]; and N counts as a percentage of all A/C/G/T bases [%]
+BCC1 2 0.00 0.00 100.00 0.00 0.00
+BCC1 3 0.00 0.00 0.00 100.00 0.00
+BCC1 4 0.00 100.00 0.00 0.00 0.00
+BCC1 5 0.00 0.00 0.00 100.00 0.00
+BCC1 6 100.00 0.00 0.00 0.00 0.00
+BCC1 7 0.00 0.00 0.00 100.00 0.00
+BCC1 8 0.00 100.00 0.00 0.00 0.00
+# Barcode Qualities. Use `grep ^QTQ | cut -f 2-` to extract this part.
+# Columns correspond to qualities and rows to barcode cycles. First column is the cycle number.
+QTQ1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+QTQ1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+QTQ1 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
+QTQ1 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+QTQ1 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+QTQ1 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+QTQ1 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+QTQ1 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
 # Insert sizes. Use `grep ^IS | cut -f 2-` to extract this part. The columns are: insert size, pairs total, inward oriented pairs, outward oriented pairs, other pairs
 IS 0 0 0 0 0
 IS 1 0 0 0 0
b
diff -r 145f6d74ff5e -r e28839a4b932 test-data/12.3reads.nooverlap.expected
--- a/test-data/12.3reads.nooverlap.expected Thu Oct 17 02:21:23 2019 -0400
+++ b/test-data/12.3reads.nooverlap.expected Tue Sep 28 16:17:39 2021 +0000
[
@@ -1,8 +1,11 @@
+# This file was produced by samtools stats (1.12+htslib-1.12) and can be plotted using plot-bamstats
+# This file contains statistics for all reads.
+# The command line was:  stats -t /tmp/tmp0r5zs075/files/1/3/0/dataset_13082855-efe1-437e-8a91-ff7d013770db.dat -p -@ 0 infile
 # CHK, Checksum [2]Read Names [3]Sequences [4]Qualities
 # CHK, CRC32 of reads which passed filtering followed by addition (32bit overflow)
 CHK 09f8b87f 140798ec 2b989f07
 # Summary Numbers. Use `grep ^SN | cut -f 2-` to extract this part.
-SN raw total sequences: 3
+SN raw total sequences: 3 # excluding supplementary and secondary reads
 SN filtered sequences: 0
 SN sequences: 3
 SN is sorted: 1
@@ -17,6 +20,7 @@
 SN reads MQ0: 0 # mapped and MQ=0
 SN reads QC failed: 0
 SN non-primary alignments: 0
+SN supplementary alignments: 0
 SN total length: 300 # ignores clipping
 SN total first fragment length: 100 # ignores clipping
 SN total last fragment length: 200 # ignores clipping
@@ -355,6 +359,107 @@
 GCC 98 0.00 66.67 0.00 33.33 0.00 0.00
 GCC 99 0.00 100.00 0.00 0.00 0.00 0.00
 GCC 100 0.00 0.00 0.00 100.00 0.00 0.00
+# ACGT content per cycle, read oriented. Use `grep ^GCT | cut -f 2-` to extract this part. The columns are: cycle; A,C,G,T base counts as a percentage of all A/C/G/T bases [%]
+GCT 1 33.33 0.00 0.00 66.67
+GCT 2 0.00 33.33 33.33 33.33
+GCT 3 0.00 33.33 33.33 33.33
+GCT 4 33.33 66.67 0.00 0.00
+GCT 5 0.00 66.67 33.33 0.00
+GCT 6 33.33 0.00 0.00 66.67
+GCT 7 33.33 0.00 0.00 66.67
+GCT 8 0.00 33.33 33.33 33.33
+GCT 9 0.00 66.67 33.33 0.00
+GCT 10 33.33 33.33 0.00 33.33
+GCT 11 33.33 33.33 0.00 33.33
+GCT 12 0.00 33.33 33.33 33.33
+GCT 13 0.00 0.00 33.33 66.67
+GCT 14 0.00 66.67 33.33 0.00
+GCT 15 33.33 66.67 0.00 0.00
+GCT 16 33.33 0.00 0.00 66.67
+GCT 17 33.33 0.00 0.00 66.67
+GCT 18 0.00 33.33 33.33 33.33
+GCT 19 0.00 33.33 33.33 33.33
+GCT 20 0.00 66.67 33.33 0.00
+GCT 21 33.33 66.67 0.00 0.00
+GCT 22 33.33 0.00 0.00 66.67
+GCT 23 0.00 0.00 33.33 66.67
+GCT 24 0.00 33.33 33.33 33.33
+GCT 25 33.33 66.67 0.00 0.00
+GCT 26 33.33 33.33 0.00 33.33
+GCT 27 0.00 33.33 33.33 33.33
+GCT 28 0.00 33.33 33.33 33.33
+GCT 29 0.00 0.00 33.33 66.67
+GCT 30 33.33 66.67 0.00 0.00
+GCT 31 33.33 66.67 0.00 0.00
+GCT 32 33.33 0.00 0.00 66.67
+GCT 33 0.00 0.00 33.33 66.67
+GCT 34 0.00 33.33 33.33 33.33
+GCT 35 33.33 33.33 0.00 33.33
+GCT 36 0.00 66.67 33.33 0.00
+GCT 37 33.33 66.67 0.00 0.00
+GCT 38 33.33 0.00 0.00 66.67
+GCT 39 0.00 0.00 33.33 66.67
+GCT 40 0.00 33.33 33.33 33.33
+GCT 41 33.33 66.67 0.00 0.00
+GCT 42 33.33 33.33 0.00 33.33
+GCT 43 0.00 33.33 33.33 33.33
+GCT 44 0.00 33.33 33.33 33.33
+GCT 45 0.00 33.33 33.33 33.33
+GCT 46 33.33 66.67 0.00 0.00
+GCT 47 33.33 33.33 0.00 33.33
+GCT 48 33.33 0.00 0.00 66.67
+GCT 49 0.00 0.00 33.33 66.67
+GCT 50 0.00 66.67 33.33 0.00
+GCT 51 33.33 66.67 0.00 0.00
+GCT 52 0.00 66.67 33.33 0.00
+GCT 53 33.33 0.00 0.00 66.67
+GCT 54 33.33 0.00 0.00 66.67
+GCT 55 0.00 33.33 33.33 33.33
+GCT 56 0.00 66.67 33.33 0.00
+GCT 57 33.33 33.33 0.00 33.33
+GCT 58 33.33 33.33 0.00 33.33
+GCT 59 0.00 33.33 33.33 33.33
+GCT 60 0.00 0.00 33.33 66.67
+GCT 61 0.00 66.67 33.33 0.00
+GCT 62 33.33 66.67 0.00 0.00
+GCT 63 33.33 0.00 0.00 66.67
+GCT 64 33.33 0.00 0.00 66.67
+GCT 65 0.00 33.33 33.33 33.33
+GCT 66 0.00 33.33 33.33 33.33
+GCT 67 33.33 66.67 0.00 0.00
+GCT 68 0.00 66.67 33.33 0.00
+GCT 69 33.33 0.00 0.00 66.67
+GCT 70 33.33 0.00 0.00 66.67
+GCT 71 0.00 33.33 33.33 33.33
+GCT 72 0.00 66.67 33.33 0.00
+GCT 73 33.33 33.33 0.00 33.33
+GCT 74 33.33 33.33 0.00 33.33
+GCT 75 0.00 33.33 33.33 33.33
+GCT 76 0.00 0.00 33.33 66.67
+GCT 77 0.00 66.67 33.33 0.00
+GCT 78 33.33 66.67 0.00 0.00
+GCT 79 33.33 0.00 0.00 66.67
+GCT 80 33.33 0.00 0.00 66.67
+GCT 81 0.00 33.33 33.33 33.33
+GCT 82 0.00 66.67 33.33 0.00
+GCT 83 0.00 66.67 33.33 0.00
+GCT 84 33.33 33.33 0.00 33.33
+GCT 85 33.33 0.00 0.00 66.67
+GCT 86 0.00 0.00 33.33 66.67
+GCT 87 0.00 66.67 33.33 0.00
+GCT 88 33.33 66.67 0.00 0.00
+GCT 89 33.33 33.33 0.00 33.33
+GCT 90 0.00 0.00 33.33 66.67
+GCT 91 0.00 33.33 33.33 33.33
+GCT 92 0.00 66.67 33.33 0.00
+GCT 93 33.33 66.67 0.00 0.00
+GCT 94 33.33 33.33 0.00 33.33
+GCT 95 33.33 0.00 0.00 66.67
+GCT 96 0.00 33.33 33.33 33.33
+GCT 97 33.33 0.00 33.33 33.33
+GCT 98 33.33 66.67 0.00 0.00
+GCT 99 0.00 66.67 33.33 0.00
+GCT 100 33.33 0.00 0.00 66.67
 # ACGT content per cycle for first fragments. Use `grep ^FBC | cut -f 2-` to extract this part. The columns are: cycle; A,C,G,T base counts as a percentage of all A/C/G/T bases [%]; and N and O counts as a percentage of all A/C/G/T bases [%]
 FBC 1 0.00 0.00 0.00 100.00 0.00 0.00
 FBC 2 0.00 100.00 0.00 0.00 0.00 0.00
@@ -456,6 +561,8 @@
 FBC 98 0.00 0.00 0.00 100.00 0.00 0.00
 FBC 99 0.00 100.00 0.00 0.00 0.00 0.00
 FBC 100 0.00 0.00 0.00 100.00 0.00 0.00
+# ACGT raw counters for first fragments. Use `grep ^FTC | cut -f 2-` to extract this part. The columns are: A,C,G,T,N base counters
+FTC 0 51 0 49 0
 # ACGT content per cycle for last fragments. Use `grep ^LBC | cut -f 2-` to extract this part. The columns are: cycle; A,C,G,T base counts as a percentage of all A/C/G/T bases [%]; and N and O counts as a percentage of all A/C/G/T bases [%]
 LBC 1 0.00 0.00 0.00 100.00 0.00 0.00
 LBC 2 0.00 50.00 0.00 50.00 0.00 0.00
@@ -557,6 +664,26 @@
 LBC 98 0.00 100.00 0.00 0.00 0.00 0.00
 LBC 99 0.00 100.00 0.00 0.00 0.00 0.00
 LBC 100 0.00 0.00 0.00 100.00 0.00 0.00
+# ACGT raw counters for last fragments. Use `grep ^LTC | cut -f 2-` to extract this part. The columns are: A,C,G,T,N base counters
+LTC 1 102 0 97 0
+# ACGT content per cycle for barcodes. Use `grep ^BCC | cut -f 2-` to extract this part. The columns are: cycle; A,C,G,T base counts as a percentage of all A/C/G/T bases [%]; and N counts as a percentage of all A/C/G/T bases [%]
+BCC1 2 0.00 0.00 100.00 0.00 0.00
+BCC1 3 0.00 0.00 0.00 100.00 0.00
+BCC1 4 0.00 100.00 0.00 0.00 0.00
+BCC1 5 0.00 0.00 0.00 100.00 0.00
+BCC1 6 100.00 0.00 0.00 0.00 0.00
+BCC1 7 0.00 0.00 0.00 100.00 0.00
+BCC1 8 0.00 100.00 0.00 0.00 0.00
+# Barcode Qualities. Use `grep ^QTQ | cut -f 2-` to extract this part.
+# Columns correspond to qualities and rows to barcode cycles. First column is the cycle number.
+QTQ1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+QTQ1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+QTQ1 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
+QTQ1 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+QTQ1 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+QTQ1 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+QTQ1 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+QTQ1 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
 # Insert sizes. Use `grep ^IS | cut -f 2-` to extract this part. The columns are: insert size, pairs total, inward oriented pairs, outward oriented pairs, other pairs
 IS 0 0 0 0 0
 IS 1 0 0 0 0
b
diff -r 145f6d74ff5e -r e28839a4b932 test-data/12.3reads.overlap.expected
--- a/test-data/12.3reads.overlap.expected Thu Oct 17 02:21:23 2019 -0400
+++ b/test-data/12.3reads.overlap.expected Tue Sep 28 16:17:39 2021 +0000
[
@@ -1,8 +1,11 @@
+# This file was produced by samtools stats (1.12+htslib-1.12) and can be plotted using plot-bamstats
+# This file contains statistics for all reads.
+# The command line was:  stats -t /tmp/tmp0r5zs075/files/6/5/e/dataset_65ea4e4d-a70d-4001-911d-9d81ff2829a6.dat -@ 0 infile
 # CHK, Checksum [2]Read Names [3]Sequences [4]Qualities
 # CHK, CRC32 of reads which passed filtering followed by addition (32bit overflow)
 CHK 09f8b87f 140798ec 2b989f07
 # Summary Numbers. Use `grep ^SN | cut -f 2-` to extract this part.
-SN raw total sequences: 3
+SN raw total sequences: 3 # excluding supplementary and secondary reads
 SN filtered sequences: 0
 SN sequences: 3
 SN is sorted: 1
@@ -17,6 +20,7 @@
 SN reads MQ0: 0 # mapped and MQ=0
 SN reads QC failed: 0
 SN non-primary alignments: 0
+SN supplementary alignments: 0
 SN total length: 300 # ignores clipping
 SN total first fragment length: 100 # ignores clipping
 SN total last fragment length: 200 # ignores clipping
@@ -355,6 +359,107 @@
 GCC 98 0.00 66.67 0.00 33.33 0.00 0.00
 GCC 99 0.00 100.00 0.00 0.00 0.00 0.00
 GCC 100 0.00 0.00 0.00 100.00 0.00 0.00
+# ACGT content per cycle, read oriented. Use `grep ^GCT | cut -f 2-` to extract this part. The columns are: cycle; A,C,G,T base counts as a percentage of all A/C/G/T bases [%]
+GCT 1 33.33 0.00 0.00 66.67
+GCT 2 0.00 33.33 33.33 33.33
+GCT 3 0.00 33.33 33.33 33.33
+GCT 4 33.33 66.67 0.00 0.00
+GCT 5 0.00 66.67 33.33 0.00
+GCT 6 33.33 0.00 0.00 66.67
+GCT 7 33.33 0.00 0.00 66.67
+GCT 8 0.00 33.33 33.33 33.33
+GCT 9 0.00 66.67 33.33 0.00
+GCT 10 33.33 33.33 0.00 33.33
+GCT 11 33.33 33.33 0.00 33.33
+GCT 12 0.00 33.33 33.33 33.33
+GCT 13 0.00 0.00 33.33 66.67
+GCT 14 0.00 66.67 33.33 0.00
+GCT 15 33.33 66.67 0.00 0.00
+GCT 16 33.33 0.00 0.00 66.67
+GCT 17 33.33 0.00 0.00 66.67
+GCT 18 0.00 33.33 33.33 33.33
+GCT 19 0.00 33.33 33.33 33.33
+GCT 20 0.00 66.67 33.33 0.00
+GCT 21 33.33 66.67 0.00 0.00
+GCT 22 33.33 0.00 0.00 66.67
+GCT 23 0.00 0.00 33.33 66.67
+GCT 24 0.00 33.33 33.33 33.33
+GCT 25 33.33 66.67 0.00 0.00
+GCT 26 33.33 33.33 0.00 33.33
+GCT 27 0.00 33.33 33.33 33.33
+GCT 28 0.00 33.33 33.33 33.33
+GCT 29 0.00 0.00 33.33 66.67
+GCT 30 33.33 66.67 0.00 0.00
+GCT 31 33.33 66.67 0.00 0.00
+GCT 32 33.33 0.00 0.00 66.67
+GCT 33 0.00 0.00 33.33 66.67
+GCT 34 0.00 33.33 33.33 33.33
+GCT 35 33.33 33.33 0.00 33.33
+GCT 36 0.00 66.67 33.33 0.00
+GCT 37 33.33 66.67 0.00 0.00
+GCT 38 33.33 0.00 0.00 66.67
+GCT 39 0.00 0.00 33.33 66.67
+GCT 40 0.00 33.33 33.33 33.33
+GCT 41 33.33 66.67 0.00 0.00
+GCT 42 33.33 33.33 0.00 33.33
+GCT 43 0.00 33.33 33.33 33.33
+GCT 44 0.00 33.33 33.33 33.33
+GCT 45 0.00 33.33 33.33 33.33
+GCT 46 33.33 66.67 0.00 0.00
+GCT 47 33.33 33.33 0.00 33.33
+GCT 48 33.33 0.00 0.00 66.67
+GCT 49 0.00 0.00 33.33 66.67
+GCT 50 0.00 66.67 33.33 0.00
+GCT 51 33.33 66.67 0.00 0.00
+GCT 52 0.00 66.67 33.33 0.00
+GCT 53 33.33 0.00 0.00 66.67
+GCT 54 33.33 0.00 0.00 66.67
+GCT 55 0.00 33.33 33.33 33.33
+GCT 56 0.00 66.67 33.33 0.00
+GCT 57 33.33 33.33 0.00 33.33
+GCT 58 33.33 33.33 0.00 33.33
+GCT 59 0.00 33.33 33.33 33.33
+GCT 60 0.00 0.00 33.33 66.67
+GCT 61 0.00 66.67 33.33 0.00
+GCT 62 33.33 66.67 0.00 0.00
+GCT 63 33.33 0.00 0.00 66.67
+GCT 64 33.33 0.00 0.00 66.67
+GCT 65 0.00 33.33 33.33 33.33
+GCT 66 0.00 33.33 33.33 33.33
+GCT 67 33.33 66.67 0.00 0.00
+GCT 68 0.00 66.67 33.33 0.00
+GCT 69 33.33 0.00 0.00 66.67
+GCT 70 33.33 0.00 0.00 66.67
+GCT 71 0.00 33.33 33.33 33.33
+GCT 72 0.00 66.67 33.33 0.00
+GCT 73 33.33 33.33 0.00 33.33
+GCT 74 33.33 33.33 0.00 33.33
+GCT 75 0.00 33.33 33.33 33.33
+GCT 76 0.00 0.00 33.33 66.67
+GCT 77 0.00 66.67 33.33 0.00
+GCT 78 33.33 66.67 0.00 0.00
+GCT 79 33.33 0.00 0.00 66.67
+GCT 80 33.33 0.00 0.00 66.67
+GCT 81 0.00 33.33 33.33 33.33
+GCT 82 0.00 66.67 33.33 0.00
+GCT 83 0.00 66.67 33.33 0.00
+GCT 84 33.33 33.33 0.00 33.33
+GCT 85 33.33 0.00 0.00 66.67
+GCT 86 0.00 0.00 33.33 66.67
+GCT 87 0.00 66.67 33.33 0.00
+GCT 88 33.33 66.67 0.00 0.00
+GCT 89 33.33 33.33 0.00 33.33
+GCT 90 0.00 0.00 33.33 66.67
+GCT 91 0.00 33.33 33.33 33.33
+GCT 92 0.00 66.67 33.33 0.00
+GCT 93 33.33 66.67 0.00 0.00
+GCT 94 33.33 33.33 0.00 33.33
+GCT 95 33.33 0.00 0.00 66.67
+GCT 96 0.00 33.33 33.33 33.33
+GCT 97 33.33 0.00 33.33 33.33
+GCT 98 33.33 66.67 0.00 0.00
+GCT 99 0.00 66.67 33.33 0.00
+GCT 100 33.33 0.00 0.00 66.67
 # ACGT content per cycle for first fragments. Use `grep ^FBC | cut -f 2-` to extract this part. The columns are: cycle; A,C,G,T base counts as a percentage of all A/C/G/T bases [%]; and N and O counts as a percentage of all A/C/G/T bases [%]
 FBC 1 0.00 0.00 0.00 100.00 0.00 0.00
 FBC 2 0.00 100.00 0.00 0.00 0.00 0.00
@@ -456,6 +561,8 @@
 FBC 98 0.00 0.00 0.00 100.00 0.00 0.00
 FBC 99 0.00 100.00 0.00 0.00 0.00 0.00
 FBC 100 0.00 0.00 0.00 100.00 0.00 0.00
+# ACGT raw counters for first fragments. Use `grep ^FTC | cut -f 2-` to extract this part. The columns are: A,C,G,T,N base counters
+FTC 0 51 0 49 0
 # ACGT content per cycle for last fragments. Use `grep ^LBC | cut -f 2-` to extract this part. The columns are: cycle; A,C,G,T base counts as a percentage of all A/C/G/T bases [%]; and N and O counts as a percentage of all A/C/G/T bases [%]
 LBC 1 0.00 0.00 0.00 100.00 0.00 0.00
 LBC 2 0.00 50.00 0.00 50.00 0.00 0.00
@@ -557,6 +664,26 @@
 LBC 98 0.00 100.00 0.00 0.00 0.00 0.00
 LBC 99 0.00 100.00 0.00 0.00 0.00 0.00
 LBC 100 0.00 0.00 0.00 100.00 0.00 0.00
+# ACGT raw counters for last fragments. Use `grep ^LTC | cut -f 2-` to extract this part. The columns are: A,C,G,T,N base counters
+LTC 1 102 0 97 0
+# ACGT content per cycle for barcodes. Use `grep ^BCC | cut -f 2-` to extract this part. The columns are: cycle; A,C,G,T base counts as a percentage of all A/C/G/T bases [%]; and N counts as a percentage of all A/C/G/T bases [%]
+BCC1 2 0.00 0.00 100.00 0.00 0.00
+BCC1 3 0.00 0.00 0.00 100.00 0.00
+BCC1 4 0.00 100.00 0.00 0.00 0.00
+BCC1 5 0.00 0.00 0.00 100.00 0.00
+BCC1 6 100.00 0.00 0.00 0.00 0.00
+BCC1 7 0.00 0.00 0.00 100.00 0.00
+BCC1 8 0.00 100.00 0.00 0.00 0.00
+# Barcode Qualities. Use `grep ^QTQ | cut -f 2-` to extract this part.
+# Columns correspond to qualities and rows to barcode cycles. First column is the cycle number.
+QTQ1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+QTQ1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+QTQ1 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
+QTQ1 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+QTQ1 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+QTQ1 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+QTQ1 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+QTQ1 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
 # Insert sizes. Use `grep ^IS | cut -f 2-` to extract this part. The columns are: insert size, pairs total, inward oriented pairs, outward oriented pairs, other pairs
 IS 0 0 0 0 0
 IS 1 0 0 0 0
b
diff -r 145f6d74ff5e -r e28839a4b932 test-data/2.stats.expected
--- a/test-data/2.stats.expected Thu Oct 17 02:21:23 2019 -0400
+++ b/test-data/2.stats.expected Tue Sep 28 16:17:39 2021 +0000
[
@@ -1,8 +1,11 @@
+# This file was produced by samtools stats (1.12+htslib-1.12) and can be plotted using plot-bamstats
+# This file contains statistics for all reads.
+# The command line was:  stats --ref-seq reference.fa -@ 0 infile
 # CHK, Checksum [2]Read Names [3]Sequences [4]Qualities
 # CHK, CRC32 of reads which passed filtering followed by addition (32bit overflow)
 CHK 1a1c1362 29c426ae 7bab45da
 # Summary Numbers. Use `grep ^SN | cut -f 2-` to extract this part.
-SN raw total sequences: 2
+SN raw total sequences: 2 # excluding supplementary and secondary reads
 SN filtered sequences: 0
 SN sequences: 2
 SN is sorted: 1
@@ -17,6 +20,7 @@
 SN reads MQ0: 0 # mapped and MQ=0
 SN reads QC failed: 0
 SN non-primary alignments: 0
+SN supplementary alignments: 0
 SN total length: 70 # ignores clipping
 SN total first fragment length: 35 # ignores clipping
 SN total last fragment length: 35 # ignores clipping
@@ -195,6 +199,42 @@
 GCC 33 50.00 0.00 0.00 50.00 0.00 0.00
 GCC 34 50.00 0.00 50.00 0.00 0.00 0.00
 GCC 35 0.00 0.00 50.00 50.00 0.00 0.00
+# ACGT content per cycle, read oriented. Use `grep ^GCT | cut -f 2-` to extract this part. The columns are: cycle; A,C,G,T base counts as a percentage of all A/C/G/T bases [%]
+GCT 1 0.00 50.00 0.00 50.00
+GCT 2 50.00 0.00 50.00 0.00
+GCT 3 0.00 0.00 50.00 50.00
+GCT 4 0.00 0.00 100.00 0.00
+GCT 5 0.00 0.00 50.00 50.00
+GCT 6 0.00 50.00 0.00 50.00
+GCT 7 0.00 0.00 50.00 50.00
+GCT 8 0.00 0.00 0.00 100.00
+GCT 9 0.00 50.00 50.00 0.00
+GCT 10 50.00 0.00 50.00 0.00
+GCT 11 50.00 0.00 0.00 50.00
+GCT 12 50.00 0.00 50.00 0.00
+GCT 13 50.00 0.00 50.00 0.00
+GCT 14 0.00 0.00 0.00 100.00
+GCT 15 100.00 0.00 0.00 0.00
+GCT 16 50.00 0.00 0.00 50.00
+GCT 17 0.00 0.00 50.00 50.00
+GCT 18 0.00 50.00 50.00 0.00
+GCT 19 0.00 100.00 0.00 0.00
+GCT 20 0.00 0.00 50.00 50.00
+GCT 21 0.00 0.00 100.00 0.00
+GCT 22 0.00 50.00 0.00 50.00
+GCT 23 50.00 0.00 0.00 50.00
+GCT 24 50.00 0.00 50.00 0.00
+GCT 25 50.00 0.00 50.00 0.00
+GCT 26 0.00 0.00 100.00 0.00
+GCT 27 50.00 0.00 0.00 50.00
+GCT 28 0.00 0.00 50.00 50.00
+GCT 29 0.00 50.00 0.00 50.00
+GCT 30 0.00 50.00 0.00 50.00
+GCT 31 0.00 50.00 50.00 0.00
+GCT 32 0.00 0.00 100.00 0.00
+GCT 33 100.00 0.00 0.00 0.00
+GCT 34 0.00 0.00 50.00 50.00
+GCT 35 50.00 0.00 50.00 0.00
 # ACGT content per cycle for first fragments. Use `grep ^FBC | cut -f 2-` to extract this part. The columns are: cycle; A,C,G,T base counts as a percentage of all A/C/G/T bases [%]; and N and O counts as a percentage of all A/C/G/T bases [%]
 FBC 1 0.00 0.00 0.00 100.00 0.00 0.00
 FBC 2 0.00 0.00 100.00 0.00 0.00 0.00
@@ -231,6 +271,8 @@
 FBC 33 100.00 0.00 0.00 0.00 0.00 0.00
 FBC 34 0.00 0.00 100.00 0.00 0.00 0.00
 FBC 35 0.00 0.00 100.00 0.00 0.00 0.00
+# ACGT raw counters for first fragments. Use `grep ^FTC | cut -f 2-` to extract this part. The columns are: A,C,G,T,N base counters
+FTC 6 5 15 9 0
 # ACGT content per cycle for last fragments. Use `grep ^LBC | cut -f 2-` to extract this part. The columns are: cycle; A,C,G,T base counts as a percentage of all A/C/G/T bases [%]; and N and O counts as a percentage of all A/C/G/T bases [%]
 LBC 1 0.00 0.00 100.00 0.00 0.00 0.00
 LBC 2 0.00 0.00 0.00 100.00 0.00 0.00
@@ -267,6 +309,8 @@
 LBC 33 0.00 0.00 0.00 100.00 0.00 0.00
 LBC 34 100.00 0.00 0.00 0.00 0.00 0.00
 LBC 35 0.00 0.00 0.00 100.00 0.00 0.00
+# ACGT raw counters for last fragments. Use `grep ^LTC | cut -f 2-` to extract this part. The columns are: A,C,G,T,N base counters
+LTC 11 10 5 9 0
 # Insert sizes. Use `grep ^IS | cut -f 2-` to extract this part. The columns are: insert size, pairs total, inward oriented pairs, outward oriented pairs, other pairs
 IS 0 0 0 0 0
 IS 1 0 0 0 0
b
diff -r 145f6d74ff5e -r e28839a4b932 test-data/6.stats.expected
--- a/test-data/6.stats.expected Thu Oct 17 02:21:23 2019 -0400
+++ b/test-data/6.stats.expected Tue Sep 28 16:17:39 2021 +0000
[
@@ -1,8 +1,11 @@
+# This file was produced by samtools stats (1.12+htslib-1.12) and can be plotted using plot-bamstats
+# This file contains statistics for all reads.
+# The command line was:  stats --insert-size 0 --ref-seq reference.fa -@ 0 infile
 # CHK, Checksum [2]Read Names [3]Sequences [4]Qualities
 # CHK, CRC32 of reads which passed filtering followed by addition (32bit overflow)
 CHK 1a1c1362 32507d92 7bab45da
 # Summary Numbers. Use `grep ^SN | cut -f 2-` to extract this part.
-SN raw total sequences: 2
+SN raw total sequences: 2 # excluding supplementary and secondary reads
 SN filtered sequences: 0
 SN sequences: 2
 SN is sorted: 1
@@ -17,6 +20,7 @@
 SN reads MQ0: 0 # mapped and MQ=0
 SN reads QC failed: 0
 SN non-primary alignments: 0
+SN supplementary alignments: 0
 SN total length: 70 # ignores clipping
 SN total first fragment length: 35 # ignores clipping
 SN total last fragment length: 35 # ignores clipping
@@ -195,6 +199,42 @@
 GCC 33 0.00 0.00 50.00 50.00 0.00 0.00
 GCC 34 100.00 0.00 0.00 0.00 0.00 0.00
 GCC 35 0.00 0.00 50.00 50.00 0.00 0.00
+# ACGT content per cycle, read oriented. Use `grep ^GCT | cut -f 2-` to extract this part. The columns are: cycle; A,C,G,T base counts as a percentage of all A/C/G/T bases [%]
+GCT 1 0.00 50.00 0.00 50.00
+GCT 2 50.00 0.00 50.00 0.00
+GCT 3 0.00 0.00 50.00 50.00
+GCT 4 0.00 0.00 100.00 0.00
+GCT 5 0.00 0.00 50.00 50.00
+GCT 6 0.00 50.00 50.00 0.00
+GCT 7 0.00 0.00 0.00 100.00
+GCT 8 0.00 0.00 50.00 50.00
+GCT 9 0.00 0.00 50.00 50.00
+GCT 10 0.00 50.00 50.00 0.00
+GCT 11 100.00 0.00 0.00 0.00
+GCT 12 0.00 0.00 50.00 50.00
+GCT 13 100.00 0.00 0.00 0.00
+GCT 14 0.00 0.00 50.00 50.00
+GCT 15 50.00 0.00 0.00 50.00
+GCT 16 50.00 0.00 0.00 50.00
+GCT 17 50.00 0.00 50.00 0.00
+GCT 18 0.00 0.00 50.00 50.00
+GCT 19 0.00 100.00 0.00 0.00
+GCT 20 0.00 50.00 0.00 50.00
+GCT 21 0.00 0.00 100.00 0.00
+GCT 22 0.00 50.00 50.00 0.00
+GCT 23 50.00 0.00 0.00 50.00
+GCT 24 50.00 0.00 0.00 50.00
+GCT 25 50.00 0.00 50.00 0.00
+GCT 26 0.00 0.00 100.00 0.00
+GCT 27 0.00 0.00 50.00 50.00
+GCT 28 50.00 0.00 0.00 50.00
+GCT 29 0.00 50.00 50.00 0.00
+GCT 30 0.00 0.00 0.00 100.00
+GCT 31 0.00 50.00 50.00 0.00
+GCT 32 0.00 50.00 50.00 0.00
+GCT 33 50.00 0.00 50.00 0.00
+GCT 34 50.00 0.00 0.00 50.00
+GCT 35 50.00 0.00 50.00 0.00
 # ACGT content per cycle for first fragments. Use `grep ^FBC | cut -f 2-` to extract this part. The columns are: cycle; A,C,G,T base counts as a percentage of all A/C/G/T bases [%]; and N and O counts as a percentage of all A/C/G/T bases [%]
 FBC 1 0.00 0.00 0.00 100.00 0.00 0.00
 FBC 2 0.00 0.00 100.00 0.00 0.00 0.00
@@ -231,6 +271,8 @@
 FBC 33 0.00 0.00 100.00 0.00 0.00 0.00
 FBC 34 100.00 0.00 0.00 0.00 0.00 0.00
 FBC 35 0.00 0.00 100.00 0.00 0.00 0.00
+# ACGT raw counters for first fragments. Use `grep ^FTC | cut -f 2-` to extract this part. The columns are: A,C,G,T,N base counters
+FTC 6 5 15 9 0
 # ACGT content per cycle for last fragments. Use `grep ^LBC | cut -f 2-` to extract this part. The columns are: cycle; A,C,G,T base counts as a percentage of all A/C/G/T bases [%]; and N and O counts as a percentage of all A/C/G/T bases [%]
 LBC 1 0.00 0.00 100.00 0.00 0.00 0.00
 LBC 2 0.00 0.00 0.00 100.00 0.00 0.00
@@ -267,6 +309,8 @@
 LBC 33 0.00 0.00 0.00 100.00 0.00 0.00
 LBC 34 100.00 0.00 0.00 0.00 0.00 0.00
 LBC 35 0.00 0.00 0.00 100.00 0.00 0.00
+# ACGT raw counters for last fragments. Use `grep ^LTC | cut -f 2-` to extract this part. The columns are: A,C,G,T,N base counters
+LTC 11 10 5 9 0
 # Insert sizes. Use `grep ^IS | cut -f 2-` to extract this part. The columns are: insert size, pairs total, inward oriented pairs, outward oriented pairs, other pairs
 IS 0 0 0 0 0
 IS 1 0 0 0 0
b
diff -r 145f6d74ff5e -r e28839a4b932 test-data/samtools_stats_out1.tab
--- a/test-data/samtools_stats_out1.tab Thu Oct 17 02:21:23 2019 -0400
+++ b/test-data/samtools_stats_out1.tab Tue Sep 28 16:17:39 2021 +0000
[
b'@@ -1,11 +1,11 @@\n-# This file was produced by samtools stats (1.9+htslib-1.9) and can be plotted using plot-bamstats\n+# This file was produced by samtools stats (1.12+htslib-1.12) and can be plotted using plot-bamstats\n # This file contains statistics for all reads.\n-# The command line was:  stats --ref-seq reference.fa infile\n+# The command line was:  stats --ref-seq reference.fa -@ 0 infile\n # CHK, Checksum\t[2]Read Names\t[3]Sequences\t[4]Qualities\n # CHK, CRC32 of reads which passed filtering followed by addition (32bit overflow)\n CHK\t1bd20fd8\t58ad2167\t29883386\n # Summary Numbers. Use `grep ^SN | cut -f 2-` to extract this part.\n-SN\traw total sequences:\t200\n+SN\traw total sequences:\t200\t# excluding supplementary and secondary reads\n SN\tfiltered sequences:\t0\n SN\tsequences:\t200\n SN\tis sorted:\t1\n@@ -20,6 +20,7 @@\n SN\treads MQ0:\t6\t# mapped and MQ=0\n SN\treads QC failed:\t0\n SN\tnon-primary alignments:\t0\n+SN\tsupplementary alignments:\t0\n SN\ttotal length:\t50200\t# ignores clipping\n SN\ttotal first fragment length:\t25100\t# ignores clipping\n SN\ttotal last fragment length:\t25100\t# ignores clipping\n@@ -1094,6 +1095,258 @@\n GCC\t249\t25.00\t23.00\t21.00\t31.00\t0.00\t0.00\n GCC\t250\t27.50\t22.50\t17.50\t32.50\t0.00\t0.00\n GCC\t251\t13.50\t20.50\t36.50\t29.50\t0.00\t0.00\n+# ACGT content per cycle, read oriented. Use `grep ^GCT | cut -f 2-` to extract this part. The columns are: cycle; A,C,G,T base counts as a percentage of all A/C/G/T bases [%]\n+GCT\t1\t22.45\t32.65\t31.63\t13.27\n+GCT\t2\t26.00\t17.00\t10.00\t47.00\n+GCT\t3\t34.00\t25.00\t9.00\t32.00\n+GCT\t4\t13.00\t32.00\t10.00\t45.00\n+GCT\t5\t37.00\t24.00\t10.00\t29.00\n+GCT\t6\t44.00\t26.00\t17.00\t13.00\n+GCT\t7\t28.00\t13.00\t32.00\t27.00\n+GCT\t8\t49.00\t16.00\t18.00\t17.00\n+GCT\t9\t19.00\t35.00\t16.00\t30.00\n+GCT\t10\t35.00\t13.00\t22.00\t30.00\n+GCT\t11\t18.00\t15.00\t29.00\t38.00\n+GCT\t12\t28.00\t24.00\t22.00\t26.00\n+GCT\t13\t29.00\t17.00\t19.00\t35.00\n+GCT\t14\t21.21\t24.24\t24.24\t30.30\n+GCT\t15\t23.00\t20.00\t25.00\t32.00\n+GCT\t16\t35.00\t15.00\t20.00\t30.00\n+GCT\t17\t29.00\t26.00\t13.00\t32.00\n+GCT\t18\t31.00\t30.00\t18.00\t21.00\n+GCT\t19\t30.00\t26.00\t21.00\t23.00\n+GCT\t20\t23.00\t21.00\t20.00\t36.00\n+GCT\t21\t36.00\t18.00\t19.00\t27.00\n+GCT\t22\t39.00\t31.00\t13.00\t17.00\n+GCT\t23\t30.30\t21.21\t11.11\t37.37\n+GCT\t24\t36.00\t14.00\t20.00\t30.00\n+GCT\t25\t38.00\t23.00\t17.00\t22.00\n+GCT\t26\t36.00\t21.00\t13.00\t30.00\n+GCT\t27\t32.00\t18.00\t22.00\t28.00\n+GCT\t28\t30.00\t13.00\t25.00\t32.00\n+GCT\t29\t30.00\t28.00\t23.00\t19.00\n+GCT\t30\t34.00\t21.00\t13.00\t32.00\n+GCT\t31\t33.00\t29.00\t14.00\t24.00\n+GCT\t32\t38.00\t20.00\t20.00\t22.00\n+GCT\t33\t27.00\t23.00\t15.00\t35.00\n+GCT\t34\t43.00\t17.00\t20.00\t20.00\n+GCT\t35\t35.00\t23.00\t22.00\t20.00\n+GCT\t36\t41.00\t25.00\t16.00\t18.00\n+GCT\t37\t38.00\t18.00\t18.00\t26.00\n+GCT\t38\t23.00\t26.00\t25.00\t26.00\n+GCT\t39\t22.00\t41.00\t19.00\t18.00\n+GCT\t40\t29.00\t14.00\t23.00\t34.00\n+GCT\t41\t29.00\t27.00\t20.00\t24.00\n+GCT\t42\t29.00\t27.00\t18.00\t26.00\n+GCT\t43\t38.00\t28.00\t16.00\t18.00\n+GCT\t44\t21.00\t26.00\t23.00\t30.00\n+GCT\t45\t38.00\t25.00\t18.00\t19.00\n+GCT\t46\t27.00\t21.00\t22.00\t30.00\n+GCT\t47\t40.00\t28.00\t18.00\t14.00\n+GCT\t48\t25.00\t22.00\t20.00\t33.00\n+GCT\t49\t26.00\t33.00\t10.00\t31.00\n+GCT\t50\t49.00\t20.00\t10.00\t21.00\n+GCT\t51\t29.00\t29.00\t13.00\t29.00\n+GCT\t52\t43.00\t22.00\t22.00\t13.00\n+GCT\t53\t19.00\t27.00\t27.00\t27.00\n+GCT\t54\t25.00\t18.00\t25.00\t32.00\n+GCT\t55\t32.00\t22.00\t17.00\t29.00\n+GCT\t56\t36.00\t20.00\t16.00\t28.00\n+GCT\t57\t28.00\t24.00\t23.00\t25.00\n+GCT\t58\t23.00\t39.00\t17.00\t21.00\n+GCT\t59\t33.00\t21.00\t26.00\t20.00\n+GCT\t60\t30.00\t26.00\t19.00\t25.00\n+GCT\t61\t23.00\t23.00\t25.00\t29.00\n+GCT\t62\t35.00\t19.00\t20.00\t26.00\n+GCT\t63\t26.00\t25.00\t29.00\t20.00\n+GCT\t64\t30.00\t20.00\t27.00\t23.00\n+GCT\t65\t38.00\t17.00\t21.00\t24.00\n+GCT\t66\t33.00\t26.00\t14.00\t27.00\n+GCT\t67\t35.00\t21.00\t21.00\t23.00\n+GCT\t68\t39.00\t28.00\t15.00\t18.00\n+GCT\t69\t38.00\t18.00\t22.00\t22.00\n+GCT\t70\t40.00\t13.00\t22.00\t25.00\n+GCT\t71\t29.00\t41.00\t19.00\t11.00\n+GCT\t72\t33.00\t26.00\t28.00\t13.00\n+GCT\t73\t31.00\t18.00\t24.00\t27.00\n+GCT\t74\t31.00\t32.00\t13.00\t24.00\n+GCT\t75\t46.00\t10.00\t21.00\t23.00\n+GCT\t76\t23.00\t28.00\t25.00\t24.00\n+GCT\t77\t35.00\t20.00\t19.00\t26.00\n+GCT\t78\t29.00\t30.00\t26.00\t15.00\n+GCT\t79\t24.00\t25.00\t27.00\t24.00\n+GCT\t80\t40.00\t18.00\t29.00\t13.00\n+GCT\t81\t18.00\t26.0'..b'.00\n+GCT\t178\t19.00\t26.00\t30.00\t25.00\n+GCT\t179\t24.00\t20.00\t20.00\t36.00\n+GCT\t180\t22.00\t25.00\t31.00\t22.00\n+GCT\t181\t21.00\t17.00\t38.00\t24.00\n+GCT\t182\t35.00\t21.00\t20.00\t24.00\n+GCT\t183\t28.00\t15.00\t27.00\t30.00\n+GCT\t184\t17.00\t30.00\t29.00\t24.00\n+GCT\t185\t16.00\t32.00\t33.00\t19.00\n+GCT\t186\t21.00\t22.00\t36.00\t21.00\n+GCT\t187\t24.00\t13.00\t41.00\t22.00\n+GCT\t188\t29.00\t19.00\t30.00\t22.00\n+GCT\t189\t19.00\t23.00\t33.00\t25.00\n+GCT\t190\t24.00\t28.00\t25.00\t23.00\n+GCT\t191\t28.00\t21.00\t29.00\t22.00\n+GCT\t192\t37.00\t25.00\t13.00\t25.00\n+GCT\t193\t18.00\t26.00\t25.00\t31.00\n+GCT\t194\t21.00\t34.00\t24.00\t21.00\n+GCT\t195\t16.00\t28.00\t21.00\t35.00\n+GCT\t196\t23.00\t23.00\t27.00\t27.00\n+GCT\t197\t18.00\t20.00\t24.00\t38.00\n+GCT\t198\t15.00\t19.00\t39.00\t27.00\n+GCT\t199\t23.00\t17.00\t27.00\t33.00\n+GCT\t200\t25.00\t27.00\t23.00\t25.00\n+GCT\t201\t26.00\t19.00\t25.00\t30.00\n+GCT\t202\t23.00\t23.00\t21.00\t33.00\n+GCT\t203\t21.00\t19.00\t32.00\t28.00\n+GCT\t204\t26.00\t29.00\t24.00\t21.00\n+GCT\t205\t16.00\t23.00\t21.00\t40.00\n+GCT\t206\t28.00\t25.00\t21.00\t26.00\n+GCT\t207\t22.00\t22.00\t19.00\t37.00\n+GCT\t208\t12.00\t32.00\t32.00\t24.00\n+GCT\t209\t18.00\t20.00\t15.00\t47.00\n+GCT\t210\t18.00\t15.00\t45.00\t22.00\n+GCT\t211\t28.00\t14.00\t28.00\t30.00\n+GCT\t212\t23.00\t27.00\t22.00\t28.00\n+GCT\t213\t22.00\t12.00\t34.00\t32.00\n+GCT\t214\t16.00\t24.00\t26.00\t34.00\n+GCT\t215\t28.00\t22.00\t25.00\t25.00\n+GCT\t216\t18.00\t17.00\t26.00\t39.00\n+GCT\t217\t27.00\t30.00\t16.00\t27.00\n+GCT\t218\t18.00\t24.00\t24.00\t34.00\n+GCT\t219\t19.00\t18.00\t24.00\t39.00\n+GCT\t220\t28.00\t23.00\t24.00\t25.00\n+GCT\t221\t20.00\t24.00\t20.00\t36.00\n+GCT\t222\t22.00\t21.00\t19.00\t38.00\n+GCT\t223\t19.00\t22.00\t33.00\t26.00\n+GCT\t224\t19.00\t20.00\t27.00\t34.00\n+GCT\t225\t14.00\t32.00\t34.00\t20.00\n+GCT\t226\t20.00\t20.00\t29.00\t31.00\n+GCT\t227\t17.00\t22.00\t26.00\t35.00\n+GCT\t228\t34.00\t20.00\t25.00\t21.00\n+GCT\t229\t22.00\t27.00\t16.00\t35.00\n+GCT\t230\t23.00\t33.00\t15.00\t29.00\n+GCT\t231\t20.00\t27.00\t31.00\t22.00\n+GCT\t232\t25.00\t23.00\t11.00\t41.00\n+GCT\t233\t22.00\t25.00\t27.00\t26.00\n+GCT\t234\t14.00\t27.00\t23.00\t36.00\n+GCT\t235\t17.00\t11.00\t32.00\t40.00\n+GCT\t236\t29.00\t20.00\t24.00\t27.00\n+GCT\t237\t16.00\t19.00\t23.00\t42.00\n+GCT\t238\t22.00\t25.00\t29.00\t24.00\n+GCT\t239\t18.00\t8.00\t17.00\t57.00\n+GCT\t240\t27.00\t26.00\t14.00\t33.00\n+GCT\t241\t21.00\t22.00\t17.00\t40.00\n+GCT\t242\t26.00\t28.00\t10.00\t36.00\n+GCT\t243\t25.00\t15.00\t24.00\t36.00\n+GCT\t244\t15.00\t24.00\t16.00\t45.00\n+GCT\t245\t24.00\t23.00\t19.00\t34.00\n+GCT\t246\t18.00\t25.00\t29.00\t28.00\n+GCT\t247\t30.00\t13.00\t14.00\t43.00\n+GCT\t248\t22.00\t17.00\t26.00\t35.00\n+GCT\t249\t25.00\t22.00\t22.00\t31.00\n+GCT\t250\t25.00\t20.00\t20.00\t35.00\n+GCT\t251\t13.00\t17.00\t40.00\t30.00\n # ACGT content per cycle for first fragments. Use `grep ^FBC | cut -f 2-` to extract this part. The columns are: cycle; A,C,G,T base counts as a percentage of all A/C/G/T bases [%]; and N and O counts as a percentage of all A/C/G/T bases [%]\n FBC\t1\t21.43\t27.55\t36.73\t14.29\t2.04\t0.00\n FBC\t2\t34.00\t15.00\t12.00\t39.00\t0.00\t0.00\n@@ -1346,6 +1599,8 @@\n FBC\t249\t25.00\t24.00\t20.00\t31.00\t0.00\t0.00\n FBC\t250\t30.00\t25.00\t15.00\t30.00\t0.00\t0.00\n FBC\t251\t14.00\t24.00\t33.00\t29.00\t0.00\t0.00\n+# ACGT raw counters for first fragments. Use `grep ^FTC | cut -f 2-` to extract this part. The columns are: A,C,G,T,N base counters\n+FTC\t6178\t6247\t5821\t6841\t13\n # ACGT content per cycle for last fragments. Use `grep ^LBC | cut -f 2-` to extract this part. The columns are: cycle; A,C,G,T base counts as a percentage of all A/C/G/T bases [%]; and N and O counts as a percentage of all A/C/G/T bases [%]\n LBC\t1\t22.45\t32.65\t31.63\t13.27\t2.04\t0.00\n LBC\t2\t26.00\t17.00\t10.00\t47.00\t0.00\t0.00\n@@ -1598,6 +1853,8 @@\n LBC\t249\t25.00\t22.00\t22.00\t31.00\t0.00\t0.00\n LBC\t250\t25.00\t20.00\t20.00\t35.00\t0.00\t0.00\n LBC\t251\t13.00\t17.00\t40.00\t30.00\t0.00\t0.00\n+# ACGT raw counters for last fragments. Use `grep ^LTC | cut -f 2-` to extract this part. The columns are: A,C,G,T,N base counters\n+LTC\t6413\t6102\t5966\t6606\t13\n # Insert sizes. Use `grep ^IS | cut -f 2-` to extract this part. The columns are: insert size, pairs total, inward oriented pairs, outward oriented pairs, other pairs\n # Read lengths. Use `grep ^RL | cut -f 2-` to extract this part. The columns are: read length, count\n RL\t251\t200\n'
b
diff -r 145f6d74ff5e -r e28839a4b932 test-data/samtools_stats_out1__sn.tab
--- a/test-data/samtools_stats_out1__sn.tab Thu Oct 17 02:21:23 2019 -0400
+++ b/test-data/samtools_stats_out1__sn.tab Tue Sep 28 16:17:39 2021 +0000
b
@@ -1,5 +1,5 @@
 # Summary Numbers. 
-raw total sequences: 200
+raw total sequences: 200 # excluding supplementary and secondary reads
 filtered sequences: 0
 sequences: 200
 is sorted: 1
@@ -14,6 +14,7 @@
 reads MQ0: 6 # mapped and MQ=0
 reads QC failed: 0
 non-primary alignments: 0
+supplementary alignments: 0
 total length: 50200 # ignores clipping
 total first fragment length: 25100 # ignores clipping
 total last fragment length: 25100 # ignores clipping