Repository 'snp_pipeline'
hg clone https://toolrepo.galaxytrakr.org/repos/jpayne/snp_pipeline

Changeset 0:eefdd97a6749 (2018-01-24)
Next changeset 1:8d165c49673a (2018-01-24)
Commit message:
planemo upload commit b'7f6183b769772449fbcee903686b8d5ec5b7439f\n'-dirty
added:
0_index_ref.xml.old
1_map_reads.xml
2_call_sites.xml
3_filter_regions.xml
4_merge_sites.xml
5_call_consensus.xml
6_merge_vcfs.xml
7_smp_matrix.xml
CFSAN_SNP_Pipeline.ga
snp-cache.py
snp-filter.py
snp-fuse.py
snp-pipeline.xml.old
snp-wind.py
test-data/metrics.tsv
test-data/reference/lambda_virus.fasta
test-data/reference/lambda_virus.fasta.fai
test-data/reference/reference.1.bt2
test-data/reference/reference.2.bt2
test-data/reference/reference.3.bt2
test-data/reference/reference.4.bt2
test-data/reference/reference.rev.1.bt2
test-data/reference/reference.rev.2.bt2
test-data/reference/reference.tar.gz
test-data/referenceSNP.fasta
test-data/samples/sample1/consensus.fasta
test-data/samples/sample1/consensus.vcf
test-data/samples/sample1/consensus_preserved.fasta
test-data/samples/sample1/consensus_preserved.vcf
test-data/samples/sample1/duplicate_reads_metrics.txt
test-data/samples/sample1/metrics
test-data/samples/sample1/reads.all.pileup
test-data/samples/sample1/reads.sam
test-data/samples/sample1/reads.sorted.bam
test-data/samples/sample1/reads.sorted.deduped.bam
test-data/samples/sample1/reads.unsorted.bam
test-data/samples/sample1/sample1_1.fastq
test-data/samples/sample1/sample1_2.fastq
test-data/samples/sample1/var.flt.vcf
test-data/samples/sample1/var.flt_preserved.vcf
test-data/samples/sample1/var.flt_removed.vcf
test-data/samples/sample2/consensus.fasta
test-data/samples/sample2/consensus.vcf
test-data/samples/sample2/consensus_preserved.fasta
test-data/samples/sample2/consensus_preserved.vcf
test-data/samples/sample2/duplicate_reads_metrics.txt
test-data/samples/sample2/metrics
test-data/samples/sample2/reads.all.pileup
test-data/samples/sample2/reads.sam
test-data/samples/sample2/reads.sorted.bam
test-data/samples/sample2/reads.sorted.deduped.bam
test-data/samples/sample2/reads.unsorted.bam
test-data/samples/sample2/sample2_1.fastq
test-data/samples/sample2/sample2_2.fastq
test-data/samples/sample2/var.flt.vcf
test-data/samples/sample2/var.flt_preserved.vcf
test-data/samples/sample2/var.flt_removed.vcf
test-data/samples/sample3/consensus.fasta
test-data/samples/sample3/consensus.vcf
test-data/samples/sample3/consensus_preserved.fasta
test-data/samples/sample3/consensus_preserved.vcf
test-data/samples/sample3/duplicate_reads_metrics.txt
test-data/samples/sample3/metrics
test-data/samples/sample3/reads.all.pileup
test-data/samples/sample3/reads.sam
test-data/samples/sample3/reads.sorted.bam
test-data/samples/sample3/reads.sorted.deduped.bam
test-data/samples/sample3/reads.unsorted.bam
test-data/samples/sample3/sample3_1.fastq
test-data/samples/sample3/sample3_2.fastq
test-data/samples/sample3/var.flt.vcf
test-data/samples/sample3/var.flt_preserved.vcf
test-data/samples/sample3/var.flt_removed.vcf
test-data/samples/sample4/consensus.fasta
test-data/samples/sample4/consensus.vcf
test-data/samples/sample4/consensus_preserved.fasta
test-data/samples/sample4/consensus_preserved.vcf
test-data/samples/sample4/duplicate_reads_metrics.txt
test-data/samples/sample4/metrics
test-data/samples/sample4/reads.all.pileup
test-data/samples/sample4/reads.sam
test-data/samples/sample4/reads.sorted.bam
test-data/samples/sample4/reads.sorted.deduped.bam
test-data/samples/sample4/reads.unsorted.bam
test-data/samples/sample4/sample4_1.fastq
test-data/samples/sample4/sample4_2.fastq
test-data/samples/sample4/var.flt.vcf
test-data/samples/sample4/var.flt_preserved.vcf
test-data/samples/sample4/var.flt_removed.vcf
test-data/snp_distance_matrix.tsv
test-data/snp_distance_pairwise.tsv
test-data/snplist.txt
test-data/snpma.fasta
test-data/snpma.vcf
0_index_ref.xml.old
diff -r 000000000000 -r eefdd97a6749 0_index_ref.xml.old
0_index_ref.xml.old
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/0_index_ref.xml.old Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,82 @@
+<tool id="index_ref" name="0. Get or Build Index" version="1.0.1" profile="16.10">
+    <description>by lookup from BioProject or from an assembly</description>
+    <requirements>
+        <requirement type="package" version="2.3.4">bowtie2</requirement>
+        <requirement type="package" version="1.6">samtools</requirement>
+        <requirement type="package" version="1.5.11">boto3</requirement>
+    </requirements>
+    <command detect_errors="exit_code"><![CDATA[
+        #if $source.source_select == 'bioproject'
+            ${__tool_directory__}/snp-cache.py snp_bioproject_references "${bioproject}" -o ${output}   &&
+            ${__tool_directory__}/snp-cache.py snp_bioproject_indexes "${bioproject}" -o ${faidx}
+        #else
+        mkdir ./reference                                       &&
+        cp ${input} ./reference/reference.fasta                 &&
+        export ID=\$(md5sum $input | cut -c -32)                &&
+        ${__tool_directory__}/snp-cache.py snp_local_references \$ID
+                -c "
+                    bowtie2-build ./reference/reference.fasta --quiet --threads \${GALAXY_SLOTS:-4} ./reference/reference &&
+                    tar -zcf /dev/stdout ./reference/ref*bt2
+                    "
+                -o ${output}
+                -l $cache_log
+        
+        ##&& ${__tool_directory__}/snp-cache.py snp_local_indexes \$ID
+        ##        -c "
+        ##            samtools faidx ./reference/reference.fasta && cat ./reference/reference.fasta.fai
+        ##        "
+        ##        -o ${faidx}
+        #end if
+        && cat $cache_log
+    ]]></command>
+    <inputs>
+     <conditional name="source">
+            <param name="source_select" type="select" label="Use the reference associated with a provided BioProject, a curated GalaxyTrakr reference, or a reference from your history">
+                <option value="bioproject">Provide a BioProject</option>
+                <option value="curated">Use a GalaxyTrakr reference</option>
+                <option value="history">Use a reference from your history</option>
+            </param>
+            <when value="bioproject">
+                <param type="data" name="bioproject" format="text"/>
+            </when>
+            <when value="curated">
+     <param name="input" type="select" label="Select reference fasta">
+     <options from_data_table="all_fasta">
+         <filter type="sort_by" column="2"/>
+         <validator type="no_options" message="No assemblies are available for the selected input dataset"/>
+     </options>
+     </param>
+     </when>
+            <when value="history">
+                <param type="data" name="input" format="fasta" label="Select reference FASTA"/>
+            </when>
+        </conditional>
+    </inputs>
+    <outputs>
+        <data label="Indexed reference (bt2)" name="output" format="tar" />
+        <!-- <data label="Indexed reference (faidx)" name="faidx" format="fai" /> -->
+        <data label="S3 Cache log" name="cache_log" format="txt" hidden="true" />
+    </outputs>
+    <tests>
+        <test>
+            <param name="source_select" value="history" />
+            <param name="input" value="reference/lambda_virus.fasta" />
+            <output name="output" value="reference/reference.tar.gz" decompress="true" lines_diff="10" />
+            <!-- <output name="faidx" value="reference/reference.fasta.fai" /> -->
+        </test>
+    </tests>
+    <help><![CDATA[
+        <a href="http://snp-pipeline.readthedocs.io/en/latest/index.html">http://snp-pipeline.readthedocs.io/en/latest/index.html</a>
+    ]]></help>
+    <citations>
+        <citation type="doi">10.7717/peerj-cs.20</citation>
+<!--        <citation type="bibtex">
+@misc{cfsan-snp-pipeline,
+  author = {Steve Davis and James Pettengill and Yan Luo and Justin Payne and Albert Shpuntoff and Rugh Rand and Errol Strain},
+  year = {2015},
+  title = {CFSAN SNP Pipeline: an automated method for constructing SNP matrices from next-generation sequence data},
+  url = {https://doi.org/10.7717/peerj-cs.20},
+  journal = {PeerJ Computer Science},
+}</citation> -->
+    </citations>
+</tool>
\ No newline at end of file
1_map_reads.xml
diff -r 000000000000 -r eefdd97a6749 1_map_reads.xml
1_map_reads.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/1_map_reads.xml Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,136 @@
+<tool id="map_reads" name="1. Map Reads" version="1.0.1" profile="16.10">
+    <description>to index, or lookup cached alignment</description>
+    <requirements>
+        <requirement type="package" version="2.3.4">bowtie2</requirement>
+        <requirement type="package" version="1.5.11">boto3</requirement>
+    </requirements>
+    <command detect_errors="exit_code"><![CDATA[
+        #if $reads.reads_select == 'collection'
+            export files="$reads.coll.forward $reads.coll.reverse"          &&
+            export params="-1 $reads.coll.forward -2 $reads.coll.reverse"   &&
+        #else
+            export files="$forward $reverse"                    &&
+            export params="-1 $forward -2 $reverse"             &&
+        #end if
+        ${__tool_directory__}/snp-cache.py snp_mapped_reads 
+            "\$(md5sum  $reference
+                        \$files 
+                        | cut -c -32 | md5sum | cut -c -32)"
+            -c "
+                cp $reference ./reference.fasta
+                && bowtie2-build ./reference.fasta --quiet --threads \${GALAXY_SLOTS:-4} ./reference
+                && bowtie2 -q -x ./reference \$params  -p \${GALAXY_SLOTS:-4} --reorder -X 1000
+                "
+        #if $reads.reads_select == 'collection'
+            -o ${align_from_collection}
+        #else
+            -o ${align_from_history}
+        #end if
+            -l $cache_log
+        && cat $cache_log
+        #if $source.source_select == 'curated'
+        && cp $reference $ref_out
+        #end if
+    ]]></command>
+    <inputs>
+        <!-- <conditional name="source">
+            <param name="source_select" type="select" label="Use the reference associated with a provided BioProject, a curated GalaxyTrakr reference, or a reference from your history">
+                <option value="bioproject">Provide a BioProject</option>
+                <option value="curated">Use a GalaxyTrakr reference</option>
+                <option value="history">Use a reference from your history</option>
+            </param>
+            <when value="bioproject">
+                <param type="data" name="bioproject" format="text" />
+            </when>
+            <when value="curated">
+     <param name="input" type="select" label="Select reference fasta">
+     <options from_data_table="all_fasta">
+         <filter type="sort_by" column="2"/>
+         <validator type="no_options" message="No assemblies are available for the selected input dataset"/>
+     </options>
+     </param>
+     </when>
+            <when value="history">
+                <param type="data" name="input" format="fasta" label="Select reference FASTA"/>
+            </when>
+        </conditional> -->
+        <conditional name="source">
+            <param name="source_select" type="select" label="Use a curated GalaxyTrakr reference or a reference from your history">
+                <option value="curated">Use a GalaxyTrakr reference</option>
+                <option value="history">Use a reference from your history</option>
+            </param>
+            <when value="curated">
+     <param name="reference" type="select" label="Select reference fasta">
+     <options from_data_table="all_fasta">
+         <filter type="sort_by" column="2"/>
+         <validator type="no_options" message="No assemblies are available for the selected input dataset"/>
+     </options>
+     </param>
+     </when>
+            <when value="history">
+                <param type="data" name="reference" format="fasta" label="Select reference FASTA"/>
+            </when>
+        </conditional>
+        <conditional name="reads">
+            <param name="reads_select" type="select" label="Paired-end collection, or two datasets from your history">
+                <option value="collection">Paired collection from your history</option>
+                <option value="history">Two FASTQ datasets from your history</option>
+            </param>
+            <when value="collection">
+                <param label="Paired reads" name="coll" type="data_collection" format="fastq,fastqsanger" collection_type="paired" />
+            </when>
+            <when value="history">
+                <param label="Forward reads" type="data" name="forward" format="fastq,fastqsanger" />
+                <param label="Reverse reads" type="data" name="reverse" format="fastq,fastqsanger" />
+            </when>
+        </conditional>
+    </inputs>
+    <outputs>
+        <data label="${reads.coll.name} alignment" name="align_from_collection" format="sam">
+            <filter>reads['reads_select'] == 'collection'</filter>
+        </data>
+        <data label="${reads.forward.name.split('_')[0]} alignment" name="align_from_history" format="sam">
+            <filter>reads['reads_select'] == 'history'</filter>
+        </data>
+        <data label="S3 Cache log" name="cache_log" format="txt" hidden="true" />
+        <data label="Reference" name="ref_out" format="fasta" hidden="true">
+            <filter>source['source_select'] == curated</filter>
+        </data>
+    </outputs>
+    <tests>
+        <test>
+            <param name="source_select" value="history" />
+            <param name="reference" value="reference/lambda_virus.fasta" ftype="fasta" />
+            <param name="reads_select" value="history" />
+            <param name="forward" value="samples/sample1/sample1_1.fastq" ftype="fastqsanger" />
+            <param name="reverse" value="samples/sample1/sample1_2.fastq" ftype="fastqsanger" />
+            <output name="align_from_history" value="samples/sample1/reads.sam" lines_diff="3" />
+        </test>
+        <test>
+            <param name="source_select" value="history" />
+            <param name="reference" value="reference/lambda_virus.fasta" ftype="fasta" />
+            <param name="reads_select" value="collection" />
+            <param name="coll">
+                <collection type="paired">
+                    <element name="forward" value="samples/sample1/sample1_1.fastq" ftype="fastqsanger" />
+                    <element name="reverse" value="samples/sample1/sample1_2.fastq" ftype="fastqsanger" />
+                </collection>
+            </param>
+            <output name="align_from_collection" value="samples/sample1/reads.sam" lines_diff="3" />
+        </test>
+    </tests>
+    <help><![CDATA[
+       <a href="http://snp-pipeline.readthedocs.io/en/latest/index.html">http://snp-pipeline.readthedocs.io/en/latest/index.html</a>
+    ]]></help>
+    <citations>
+        <citation type="doi">10.7717/peerj-cs.20</citation>
+        <!-- <citation type="bibtex">
+@misc{cfsan-snp-pipeline,
+  author = {Steve Davis and James Pettengill and Yan Luo and Justin Payne and Albert Shpuntoff and Rugh Rand and Errol Strain},
+  year = {2015},
+  title = {CFSAN SNP Pipeline: an automated method for constructing SNP matrices from next-generation sequence data},
+  url = {https://doi.org/10.7717/peerj-cs.20},
+  journal = {PeerJ Computer Science},
+}</citation> -->
+    </citations>
+</tool>
\ No newline at end of file
2_call_sites.xml
diff -r 000000000000 -r eefdd97a6749 2_call_sites.xml
2_call_sites.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/2_call_sites.xml Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,74 @@
+<tool id="call_sites" name="2. Call Sites" version="1.0.1" profile="16.10">
+    <description>of high-confidence SNPs, or lookup cached sitecall</description>
+    <requirements>
+        <requirement type="package" version="2.3.4">bowtie2</requirement>
+        <requirement type="package" version="1.6">samtools</requirement>
+        <requirement type="package">picard</requirement>
+        <requirement type="package">varscan</requirement>
+        <requirement type="package" version="1.5.11">boto3</requirement>
+    </requirements>
+    <command detect_errors="exit_code"><![CDATA[
+    $__tool_directory__/snp-cache.py snp_sitecalls 
+        "\$(md5sum $input $sample | cut -c -32 | md5sum | cut -c -32)"
+        -c "
+            cp $input ./reference.fasta                    &&
+            samtools faidx ./reference.fasta               &&  
+            samtools view -bS -F 4 $sample |
+            samtools sort -o ./sorted.bam -                &&
+            picard MarkDuplicates INPUT=./sorted.bam
+                                  OUTPUT=/dev/stdout 
+                                  METRICS_FILE=./metrics |
+            samtools mpileup -f ./reference.fasta - -o ./pileup
+            &&
+            varscan mpileup2snp ./pileup
+                                --min_var-freq 0.90 
+                                --output-vcf 1
+            > ./calls
+            && tar -zcf /dev/stdout ./metrics ./pileup ./calls
+        "
+        -o ./archive.tar.gz
+        -l $cache_log
+        && cat $cache_log
+        && tar -zxvf ./archive.tar.gz
+        && cp ./metrics $metrics
+        && cp ./pileup $pileup
+        && cp ./calls $calls
+    ]]></command>
+    <inputs>
+        <param name="input" label="FASTA Reference from your history" type="data" format="fasta" />
+        <!-- <conditional name="reads">
+            <param name="reads_select" type="select" label="Paired-end collection, or two datasets from your history">
+                <option value="collection">Paired collection from your history</option>
+                <option value="history">Two FASTQ datasets from your history</option>
+            </param>
+            <when value="collection">
+                <param name="coll" type="data_collection" format="fastq,fastqsanger" collection_type="paired">
+            </when>
+            <when value="history">
+                <param type="data" name="forward" format="fastq,fastqsanger" />
+                <param type="data" name="reverse" format="fastq,fastqsanger" />
+            </when>
+        </conditional> -->
+        <param name="sample" label="Read alignment to reference" type="data" format="sam" />
+    </inputs>
+    <outputs>
+        <data name="calls" label="${sample.name.split(' ')[0]} unfiltered SNPs" format="vcf" />
+        <data name="pileup" label="${sample.name.split(' ')[0]} pileup" format="pileup" hidden="true" />
+        <data name="metrics" label="Metrics from Picard" format="txt" hidden="true" />
+        <data label="S3 Cache log" name="cache_log" format="txt" hidden="true" />
+    </outputs>
+    <tests>
+        <test>
+            <param name="input" value="reference/lambda_virus.fasta" />
+            <param name="sample" value="samples/sample2/reads.sam" />
+            <output name="calls" value="samples/sample2/var.flt.vcf" />
+            <output name="pileup" value="samples/sample2/reads.all.pileup" />
+        </test>
+    </tests>
+    <help><![CDATA[
+        <a href="http://snp-pipeline.readthedocs.io/en/latest/index.html">http://snp-pipeline.readthedocs.io/en/latest/index.html</a>
+    ]]></help>
+    <citations>
+        <citation type="doi">10.7717/peerj-cs.20</citation>
+    </citations>
+</tool>
\ No newline at end of file
3_filter_regions.xml
diff -r 000000000000 -r eefdd97a6749 3_filter_regions.xml
3_filter_regions.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/3_filter_regions.xml Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,37 @@
+<tool id="filter_regions" name="3. Filter SNP Regions" version="1.0.1" profile="16.10">
+    <description>based on SNP location, or lookup cached filtered sitecall</description>
+    <requirements>
+        <requirement type="package" version="1.6">samtools</requirement>
+        <requirement type="package" version="1.0.1">snp-pipeline</requirement>
+        <requirement type="package" version="1.5.11">boto3</requirement>
+    </requirements>
+    <command detect_errors="exit_code"><![CDATA[
+        mkdir -p ./samples/sample/                      &&
+        cp $calls ./samples/sample/var.flt.vcf      &&
+        echo "\$PWD/samples/sample" > ./alignment.txt   &&
+        cfsan_snp_pipeline filter_regions ./alignment.txt $reference
+        && cp ./samples/sample/var.flt_preserved.vcf $filcalls
+        && cp ./samples/sample/var.flt_removed.vcf $excludes
+    ]]></command>
+    <inputs>
+        <param type="data" label="FASTA Reference from your history" name="reference" format="fasta" />
+        <param type="data" label="Unfiltered SNP calls from your history" name="calls" format="vcf" />
+    </inputs>
+    <outputs>
+        <data name="filcalls" label="${calls.name.split(' ')[0]} filtered SNPs" format="vcf" />
+        <data name="excludes" label="${calls.name.split(' ')[0]} SNPs excluded by filtering" format="vcf" hidden="true" />
+    </outputs>
+    <tests>
+        <test>
+            <param name="calls" value="samples/sample1/var.flt.vcf" />
+            <param name="reference" value="reference/lambda_virus.fasta" />
+            <output name="filcalls" value="samples/sample1/var.flt_preserved.vcf" lines_diff="6"/>
+        </test>
+    </tests>
+    <help><![CDATA[
+        <a href="http://snp-pipeline.readthedocs.io/en/latest/index.html">http://snp-pipeline.readthedocs.io/en/latest/index.html</a>
+    ]]></help>
+    <citations>
+        <citation type="doi">10.7717/peerj-cs.20</citation>
+    </citations>
+</tool>
\ No newline at end of file
4_merge_sites.xml
diff -r 000000000000 -r eefdd97a6749 4_merge_sites.xml
4_merge_sites.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/4_merge_sites.xml Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,41 @@
+<tool id="merge_sites" name="4. Merge Sites" version="1.0.1" profile="16.10">
+    <description>from multiple samples</description>
+    <requirements>
+        <requirement type="package" version="2.2.6">bowtie2</requirement>
+        <requirement type="package" version="1.2">samtools</requirement>
+        <requirement type="package">snp-pipeline</requirement>
+    </requirements>
+    <command detect_errors="exit_code"><![CDATA[
+        $__tool_directory__/snp-wind.py ./
+                #for $call in $calls
+                    -n $call.element_identifier -f $call
+                #end for
+        -p "var.fit.vcf" > ./file
+        && cfsan_snp_pipeline merge_sites -v 4 -n "var.fit.vcf" ./file ./filtered_snps -o $snplist
+    ]]></command>
+    <inputs>
+        <param type="data_collection" name="calls" format="vcf" collection_type="list" />
+    </inputs>
+    <outputs>
+        <data name="snplist" format="txt" />
+    </outputs>
+    <tests>
+        <test>
+            <param name="calls">
+                <collection type="list">
+                    <element name="sample1" value="samples/sample1/var.flt_preserved.vcf" />
+                    <element name="sample2" value="samples/sample2/var.flt_preserved.vcf" />
+                    <element name="sample3" value="samples/sample3/var.flt_preserved.vcf" />
+                    <element name="sample4" value="samples/sample4/var.flt_preserved.vcf" />
+                </collection>
+            </param>
+            <!-- <output name="snplist" value="snplist.txt" /> -->
+        </test>
+    </tests>
+    <help><![CDATA[
+        <a href="http://snp-pipeline.readthedocs.io/en/latest/index.html">http://snp-pipeline.readthedocs.io/en/latest/index.html</a>
+    ]]></help>
+    <citations>
+        <citation type="doi">10.7717/peerj-cs.20</citation>
+    </citations>
+</tool>
\ No newline at end of file
5_call_consensus.xml
diff -r 000000000000 -r eefdd97a6749 5_call_consensus.xml
5_call_consensus.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/5_call_consensus.xml Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,47 @@
+<tool id="call_consensus" name="5. Call consensus SNPs" version="1.0.1" profile="16.10">
+    <description>for a sample, or lookup cached consensus SNP calls</description>
+    <requirements>
+        <requirement type="package" version="1.0.1">snp-pipeline</requirement>
+        <requirement type="package" version="1.5.11">boto3</requirement>
+    </requirements>
+    <command detect_errors="exit_code"><![CDATA[
+        #set $identifier = $call_pileup.name.split(' ')[0]
+        $__tool_directory__/snp-cache.py snp_consenus_calls
+            "\$(md5sum $snps $calls $call_pileup | cut -c -32 | md5sum | cut -c -32)"
+            -c "
+                mkdir ./$identifier/
+                && cp $call_pileup ./$identifier/reads.all.pileup
+                && cfsan_snp_pipeline call_consensus -v 4 -l $snps --vcfFileName "consensus.vcf" ./$identifier/reads.all.pileup 1>&2 && tar zcv ./consensus.vcf ./consensus.fasta
+            "
+            -l $cache_log
+            | tar zvx ./
+            && cp ./consensus.fasta $calls_consensus_fa
+            && cp ./consensus.vcf $calls_consensus_vcf
+            && cat $cache_log
+    ]]></command>
+    <inputs>
+        <param type="data" name="snps" format="txt" />
+        <param type="data" name="calls" format="vcf" />
+        <param type="data" name="call_pileup" format="pileup" />
+    </inputs>
+    <outputs>
+        <data label="${calls.name.split(' ')[0]} consensus SNPs (VCF)" name="calls_consensus_vcf" format="vcf" />
+        <data label="${calls.name.split(' ')[0]} consensus SNPs (FASTA)" name="calls_consensus_fa" format="fasta" hidden="true"/>
+        <data label="S3 Cache log" name="cache_log" format="txt" hidden="true" />
+    </outputs>
+    <tests>
+        <test>
+            <param name="snps" value="snplist.txt" />
+            <param name="calls" value="samples/sample1/var.flt.vcf" />
+            <param name="call_pileup" value="samples/sample1/reads.all.pileup" />
+            <output name="calls_consensus_vcf" value="samples/sample1/consensus.vcf" lines_diff="6" />
+            <output name="calls_consensus_fa" value="samples/sample1/consensus.fasta" lines_diff="2" />
+        </test>
+    </tests>
+    <help><![CDATA[
+        <a href="http://snp-pipeline.readthedocs.io/en/latest/index.html">http://snp-pipeline.readthedocs.io/en/latest/index.html</a>
+    ]]></help>
+    <citations>
+        <citation type="doi">10.7717/peerj-cs.20</citation>
+    </citations>
+</tool>
\ No newline at end of file
6_merge_vcfs.xml
diff -r 000000000000 -r eefdd97a6749 6_merge_vcfs.xml
6_merge_vcfs.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/6_merge_vcfs.xml Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,42 @@
+<tool id="merge_vcfs" name="6. Merge VCFs" version="1.0.1" profile="16.10">
+    <description>into a multi-sample VCF with consensus SNPs</description>
+    <requirements>
+        <requirement type="package" version="1.3.1">bcftools</requirement>
+        <requirement type="package" version="1.0.1">snp-pipeline</requirement>
+        <requirement type="package">tabix</requirement>
+    </requirements>
+    <command detect_errors="exit_code"><![CDATA[
+        $__tool_directory__/snp-wind.py ./ -p "consensus.vcf"
+            #for $vcf in $vcfs
+                -n $vcf.element_identifier -f $vcf
+            #end for
+        > ./file
+        && cat ./file
+        && cfsan_snp_pipeline merge_vcfs ./file
+    ]]></command>
+    <inputs>
+        <param type="data_collection" format="vcf" collection_type="list" name="vcfs" label="List of VCFs" />
+    </inputs>
+    <outputs>
+        <data format="vcf" label="SNP matrix" name="snpmav" from_work_dir="snpma.vcf"/>
+    </outputs>
+    <tests>
+        <test>
+            <param name="vcfs">
+                <collection type="list">
+                    <element name="sample1" value="samples/sample1/consensus.vcf" />
+                    <element name="sample2" value="samples/sample2/consensus.vcf" />
+                    <element name="sample3" value="samples/sample3/consensus.vcf" />
+                    <element name="sample4" value="samples/sample4/consensus.vcf" />
+                </collection>
+            </param>
+            <output name="snpmav" value="snpma.vcf" lines_diff="2" />
+        </test>
+    </tests>
+    <help><![CDATA[
+        <a href="http://snp-pipeline.readthedocs.io/en/latest/index.html">http://snp-pipeline.readthedocs.io/en/latest/index.html</a>
+    ]]></help>
+    <citations>
+        <citation type="doi">10.7717/peerj-cs.20</citation>
+    </citations>
+</tool>
\ No newline at end of file
7_smp_matrix.xml
diff -r 000000000000 -r eefdd97a6749 7_smp_matrix.xml
7_smp_matrix.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/7_smp_matrix.xml Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,71 @@
+<tool id="snp_matrix" name="7. Create a SNP matrix" version="1.0.1" profile="16.10">
+    <description>and associated distance metrics</description>
+    <requirements>
+        <requirement type="package" version="1.0.1">snp-pipeline</requirement>
+        <requirement type="package">tabix</requirement>
+    </requirements>
+    <command detect_errors="exit_code"><![CDATA[
+        $__tool_directory__/snp-wind.py ./ -p "consensus.fasta"
+            #for $fa in sorted($cons, key=lambda f: f.element_identifier)
+                -n $fa.element_identifier -f $fa
+            #end for
+        > ./file                                                            &&
+        cat ./file                                                          &&
+        cfsan_snp_pipeline snp_matrix -o $snpma ./file                      &&
+        cfsan_snp_pipeline distance -p $pairws -m $distma $snpma            &&
+        cfsan_snp_pipeline snp_reference -l $snplist -o $referenceSNP $reference 
+    ]]></command>
+    <inputs>
+       <param type="data_collection" label="List of FASTA's" name="cons" format="fasta" collection_type="list" />
+       <conditional name="reference">
+     <param name="ref" type="select" label="Use a curated GalaxyTrakr reference, or a reference from your history" help="Choose whether to use one of our references or your own from your history">
+     <option value="curated">Use a GalaxyTrakr reference</option>
+     <option value="history">Use a reference from your history</option>
+     </param>
+     <when value="curated">
+     <param name="reference" type="select" label="Select reference fasta">
+     <options from_data_table="all_fasta">
+         <filter type="sort_by" column="2"/>
+         <validator type="no_options" message="No assemblies are available for the selected input dataset"/>
+     </options>
+     </param>
+     </when>
+     <when value="history">
+     <param name="reference" type="data" format="fasta" label="Select reference fasta" />
+     </when>
+     </conditional>
+        <param type="data" format="txt" name="snplist" label="SNP list from your history" />
+    </inputs>
+    <outputs>
+        <data name="snpma" label="SNP matrix, fasta" format="fasta" />
+        <data name="pairws" label="SNP pairwise matrix" format="tsv" />
+        <data name="distma" label="SNP distance matrix" format="tsv" />
+        <data name="referenceSNP" format="fasta" />
+        <data name="metrics" format="tsv" />
+    </outputs>
+    <tests>
+        <test>
+            <param name="cons">
+                <collection type="list">
+                    <element name="sample1" value="samples/sample1/consensus.fasta" />
+                    <element name="sample2" value="samples/sample2/consensus.fasta" />
+                    <element name="sample3" value="samples/sample3/consensus.fasta" />
+                    <element name="sample4" value="samples/sample4/consensus.fasta" />
+                </collection>
+            </param>
+            <param name="ref" value="history" />
+            <param name="reference" value="reference/lambda_virus.fasta" />
+            <param name="snplist" value="snplist.txt" />
+            <output name="snpma" value="snpma.fasta" />
+            <output name="pairws" value="snp_distance_pairwise.tsv" />
+            <output name="distma" value="snp_distance_matrix.tsv" />
+            <output name="referenceSNP" value="referenceSNP.fasta" />
+        </test>
+    </tests>
+    <help><![CDATA[
+        <a href="http://snp-pipeline.readthedocs.io/en/latest/index.html">http://snp-pipeline.readthedocs.io/en/latest/index.html</a>
+    ]]></help>
+    <citations>
+        <citation type="doi">10.7717/peerj-cs.20</citation>
+    </citations>
+</tool>
\ No newline at end of file
CFSAN_SNP_Pipeline.ga
diff -r 000000000000 -r eefdd97a6749 CFSAN_SNP_Pipeline.ga
CFSAN_SNP_Pipeline.ga
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/CFSAN_SNP_Pipeline.ga Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,750 @@
+{
+    "a_galaxy_workflow": "true", 
+    "annotation": "", 
+    "format-version": "0.1", 
+    "name": "CFSAN SNP Pipeline", 
+    "steps": {
+        "0": {
+            "annotation": "", 
+            "content_id": null, 
+            "errors": null, 
+            "id": 0, 
+            "input_connections": {}, 
+            "inputs": [], 
+            "label": "Reference FASTA", 
+            "name": "Input dataset", 
+            "outputs": [], 
+            "position": {
+                "left": 241.5, 
+                "top": 381
+            }, 
+            "tool_id": null, 
+            "tool_state": "{}", 
+            "tool_version": null, 
+            "type": "data_input", 
+            "uuid": "024fcab7-2daf-4b89-9730-614ee2737db8", 
+            "workflow_outputs": [
+                {
+                    "label": null, 
+                    "output_name": "output", 
+                    "uuid": "87db8281-092f-4f81-be41-152af355ebd6"
+                }
+            ]
+        }, 
+        "1": {
+            "annotation": "", 
+            "content_id": null, 
+            "errors": null, 
+            "id": 1, 
+            "input_connections": {}, 
+            "inputs": [], 
+            "label": "Collection of Paired-End Reads", 
+            "name": "Input dataset collection", 
+            "outputs": [], 
+            "position": {
+                "left": 222, 
+                "top": 746
+            }, 
+            "tool_id": null, 
+            "tool_state": "{\"collection_type\": \"list:paired\"}", 
+            "tool_version": null, 
+            "type": "data_collection_input", 
+            "uuid": "66a18e16-33f7-4488-ac17-508725a58279", 
+            "workflow_outputs": [
+                {
+                    "label": null, 
+                    "output_name": "output", 
+                    "uuid": "1a3c2f8a-e443-44cc-8490-35ebb5a9ebc4"
+                }
+            ]
+        }, 
+        "2": {
+            "annotation": "", 
+            "content_id": "map_reads", 
+            "errors": null, 
+            "id": 2, 
+            "input_connections": {
+                "reads|coll": {
+                    "id": 1, 
+                    "output_name": "output"
+                }, 
+                "source|reference": {
+                    "id": 0, 
+                    "output_name": "output"
+                }
+            }, 
+            "inputs": [
+                {
+                    "description": "runtime parameter for tool 1. Map Reads", 
+                    "name": "source"
+                }, 
+                {
+                    "description": "runtime parameter for tool 1. Map Reads", 
+                    "name": "reads"
+                }
+            ], 
+            "label": null, 
+            "name": "1. Map Reads", 
+            "outputs": [
+                {
+                    "name": "align_from_collection", 
+                    "type": "sam"
+                }, 
+                {
+                    "name": "align_from_history", 
+                    "type": "sam"
+                }, 
+                {
+                    "name": "cache_log", 
+                    "type": "txt"
+                }, 
+                {
+                    "name": "ref_out", 
+                    "type": "fasta"
+                }
+            ], 
+            "position": {
+                "left": 505.5, 
+                "top": 536.5
+            }, 
+            "post_job_actions": {}, 
+            "tool_id": "map_reads", 
+            "tool_state": "{\"source\": \"{\\\"reference\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"__current_case__\\\": 1, \\\"source_select\\\": \\\"history\\\"}\", \"reads\": \"{\\\"coll\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"__current_case__\\\": 0, \\\"reads_select\\\": \\\"collection\\\"}\", \"..  "name": "cons"
+                }, 
+                {
+                    "description": "runtime parameter for tool 7. Create a SNP matrix", 
+                    "name": "reference"
+                }
+            ], 
+            "label": null, 
+            "name": "7. Create a SNP matrix", 
+            "outputs": [
+                {
+                    "name": "snpma", 
+                    "type": "fasta"
+                }, 
+                {
+                    "name": "pairws", 
+                    "type": "tsv"
+                }, 
+                {
+                    "name": "distma", 
+                    "type": "tsv"
+                }, 
+                {
+                    "name": "referenceSNP", 
+                    "type": "fasta"
+                }, 
+                {
+                    "name": "metrics", 
+                    "type": "tsv"
+                }
+            ], 
+            "position": {
+                "left": 2050, 
+                "top": 349
+            }, 
+            "post_job_actions": {
+                "HideDatasetActionmetrics": {
+                    "action_arguments": {}, 
+                    "action_type": "HideDatasetAction", 
+                    "output_name": "metrics"
+                }, 
+                "TagDatasetActiondistma": {
+                    "action_arguments": {
+                        "tags": "filtered"
+                    }, 
+                    "action_type": "TagDatasetAction", 
+                    "output_name": "distma"
+                }, 
+                "TagDatasetActionpairws": {
+                    "action_arguments": {
+                        "tags": "filtered"
+                    }, 
+                    "action_type": "TagDatasetAction", 
+                    "output_name": "pairws"
+                }, 
+                "TagDatasetActionreferenceSNP": {
+                    "action_arguments": {
+                        "tags": "filtered"
+                    }, 
+                    "action_type": "TagDatasetAction", 
+                    "output_name": "referenceSNP"
+                }, 
+                "TagDatasetActionsnpma": {
+                    "action_arguments": {
+                        "tags": "filtered"
+                    }, 
+                    "action_type": "TagDatasetAction", 
+                    "output_name": "snpma"
+                }
+            }, 
+            "tool_id": "snp_matrix", 
+            "tool_state": "{\"__page__\": null, \"snplist\": \"{\\\"__class__\\\": \\\"RuntimeValue\\\"}\", \"cons\": \"{\\\"__class__\\\": \\\"RuntimeValue\\\"}\", \"__rerun_remap_job_id__\": null, \"reference\": \"{\\\"ref\\\": \\\"history\\\", \\\"reference\\\": {\\\"__class__\\\": \\\"RuntimeValue\\\"}, \\\"__current_case__\\\": 1}\"}", 
+            "tool_version": "1.0.1", 
+            "type": "tool", 
+            "uuid": "6d0adb1c-637a-436a-aa32-64cb54b414f6", 
+            "workflow_outputs": [
+                {
+                    "label": "Filtered SNP distance matrix", 
+                    "output_name": "distma", 
+                    "uuid": "0b3437f6-5370-415c-bd02-f85fd4527783"
+                }, 
+                {
+                    "label": "Filtered SNP reference (FASTA)", 
+                    "output_name": "referenceSNP", 
+                    "uuid": "bca4048e-2af1-4764-a1de-cf987914fc2a"
+                }, 
+                {
+                    "label": "Filtered SNP matrix (FASTA)", 
+                    "output_name": "snpma", 
+                    "uuid": "2ca775f1-917f-4824-b11a-1506c2e75bc6"
+                }, 
+                {
+                    "label": "Filtered pairwise SNP distance table", 
+                    "output_name": "pairws", 
+                    "uuid": "6d385865-e585-4bc1-956f-95110edf6095"
+                }
+            ]
+        }
+    }, 
+    "tags": [], 
+    "uuid": "304cdcb3-78a5-43bf-be17-c0824e30e02c"
+}
\ No newline at end of file
snp-cache.py
diff -r 000000000000 -r eefdd97a6749 snp-cache.py
snp-cache.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/snp-cache.py Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,147 @@
+#! /usr/bin/env python3.6
+
+import boto3
+from botocore.exceptions import ClientError, DataNotFoundError, NoCredentialsError, BotoCoreError
+
+import argparse
+import subprocess
+import contextlib
+import logging
+import io
+import shutil
+import os, sys
+from builtins import open as _open
+from copy import copy
+from functools import partial
+from itertools import tee
+from io import BytesIO
+from threading import Thread
+
+CACHE_NAMESPACE = 'cfsan-galaxytrakr-cache'
+
+class NoCacheNoCommandException(Exception):
+ pass
+
+@contextlib.contextmanager
+def open(filename=None, mode='r'):
+ "basically a wrapper to make sys.stdout usable where there's a contextmanager"
+ writer = sys.stdout.buffer
+ try:
+ if filename:
+ writer = io.FileIO(filename, mode)
+ if 'r' in mode:
+ writer = io.BufferedReader(writer)
+ elif 'w' in mode:
+ writer = io.BufferedWriter(writer)
+ yield writer
+ writer.flush()
+ finally:
+ if filename:
+ writer.close()
+
+# class stream_over(io.IOBase):
+#  "a file-like object that works as a tee, for API's that accept a file-like"
+#  def __init__(self, output_streams, input_stream=None):
+#  self.streams = output_streams
+#  self.input = input_stream
+
+#  def writable(self, *a, **k):
+#  return all([s.writeable(*a, **k) for s in self.streams])
+
+#  def write(self, *a, **k):
+#  [s.write(*a, **k) for s in self.streams]
+
+#  def writelines(self, *a, **k):
+#  [s.writelines(*a, **k) for s in self.streams]
+
+#  def flush(self, *a, **k):
+#  [s.flush(*a, **k) for s in self.streams]
+
+#  def close(self, *a, **k):
+#  if self.input:
+#  self.input.close()
+#  [s.close(*a, **k) for s in self.streams]
+
+#  def read(self, *a, **k):
+#  if self.input:
+#  bts = self.input.read(*a, **k)
+#  self.write(bts)
+#  return bts
+#  raise ValueError("Not created with a readable stream; read ops not supported.")
+
+#  def readlines(self, *a, **k):
+#  if self.input:
+#  return self.input.readlines(*a, **k)
+#  raise ValueError("Not created with a readable stream; read ops not supported.")
+
+#  def seekable(self):
+#  return False
+
+# @contextlib.contextmanager
+# def multiwrite(*streams):
+#  multistream = stream_over(streams)
+#  yield multistream
+#  multistream.flush()
+#  multistream.close()
+
+def stream_to(input_stream, output_stream):
+ for i, line in enumerate(input_stream.readlines()):
+ if i < 8:
+ logging.getLogger('strm').info(str(line[:70]))
+ output_stream.write(line)
+
+
+
+def main(table, id, command=None, output=None, *a, **k):
+ id = id.strip()
+ table = table.strip()
+ name = f"{table}/{id}"
+ with open(output, 'wb') as output_f:
+ #lookup ID in table and get a FH to the resource
+ try:
+ api_key = os.environ.get('AWS_API_KEY', '')
+ s3 = boto3.resource('s3').Bucket(CACHE_NAMESPACE)
+ s3.download_fileobj(name, output_f)
+ logging.getLogger('snp-cache.cache').info(f"cache hit on {name}, retrieved.")
+ except (DataNotFoundError, NoCredentialsError, BotoCoreError) as e:
+ if type(e) is DataNotFoundError:
+ logging.getLogger('snp-cache.cache').info(f"cache miss on {name}")
+ else:
+ logging.getLogger('snp-cache.cache').error(e)
+ #if we couldn't find the data, we need to run the command to generate it
+ if not command:
+ raise NoCacheNoCommandException("No cached result for this id, and no command given to generate.")
+ logging.getLogger('snp-cache.cmd').info(command)
+ # sub = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+ # cached, err = sub.communicate()
+ # cached, err = io.BytesIO(cached), io.BytesIO(err)
+ try:
+ cached = subprocess.check_output(command, shell=True)
+ try:
+ s3.upload_fileobj(BytesIO(cached), name)
+ except (ClientError, BotoCoreError) as e:
+ logging.getLogger('snp-cache.cache').error('Error writing to cache:')
+ logging.getLogger('snp-cache.cache').error(e)
+ finally:
+ #stream_to(cached, output_f) #stream FROM cached TO output_f
+ output_f.write(cached)
+ except subprocess.CalledProcessError as e:
+ print(e.output, file=sys.stderr)
+ return e.returncode
+ return 0
+
+
+
+
+if __name__ == '__main__':
+ parser = argparse.ArgumentParser(description="lookup result for file in data table, or compute and install")
+ parser.add_argument('table', type=str)
+ parser.add_argument('id', type=str)
+ parser.add_argument('-c', dest='command')
+ parser.add_argument('-o', dest='output')
+ parser.add_argument('-l', dest='logging', default='/dev/null')
+ params = parser.parse_args()
+
+ logging.basicConfig(filename=params.logging,level=logging.INFO)
+
+ quit(main(**vars(params)))
\ No newline at end of file
snp-filter.py
diff -r 000000000000 -r eefdd97a6749 snp-filter.py
snp-filter.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/snp-filter.py Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,27 @@
+from Bio import SeqIO
+import vcf
+
+
+import argparse
+import os
+import sys
+
+def passes(vcf_feature, contigs, edge_length=500, window_size=1000, max_snps=3):
+ return True
+
+def main(input_vcf, input_reference, output_included, output_excluded=os.devnull, *args, **kwargs)
+ contigs = list(SeqIO.parse(input_reference, 'fasta'))
+ included = vcf.Writer(output_included)
+ excluded = vcf.Writer(output_excluded)
+ for feature in vcf.Reader(input_vcf):
+ if passes(feature, contigs, *args, **kwargs):
+ included.write(feature)
+ else:
+ excluded.write(feature)
+
+if __name__ == '__main__':
+ parser = argparse.ArgumentParser()
+ parser.add_argument('input_vcf', type=argparse.FileType())
+ parser.add_argument('input_reference', type=argparse.FileType())
+ parser.add_argument('output_included', type=argparse.FileType('w'))
+ parser.add_argument('--excluded', '-x', dest='output_excluded', type=argparse.FileType('w'), default=os.devnull)
\ No newline at end of file
snp-fuse.py
diff -r 000000000000 -r eefdd97a6749 snp-fuse.py
snp-fuse.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/snp-fuse.py Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,97 @@
+#! /usr/bin/env python3
+
+from fuse import FUSE, FuseOSError, Operations, LoggingMixIn
+from multiprocessing import Process
+
+import argparse
+import logging
+import os, os.path, sys
+import subprocess
+import tarfile
+
+
+class ArchiveDir(LoggingMixIn, Operations):
+ "FUSE object to open a tar.bz file and expose it as a read-only directory"
+ def __init__(self, archive):
+ self.archive = archive
+ self.openfiles = {}
+
+ def readdir(self, path, fh):
+ for symbol in ['.','..']:
+ yield symbol
+ for name in self.archive.getnames():
+ yield name
+
+ # def statfs(self, fh):
+ #  return dict(f_bavail=0,
+ #  f_bfree=0,
+ #  f_blocks=0,
+ #  f_bsize=0,
+ #  f_favail=0,
+ #  f_ffree=0,
+ #  f_files=0,
+ #  f_flag=0,
+ #  f_frsize=0,
+ #  f_namemax=0)
+
+ def getattr(self, path, fh=None):
+ name = os.path.basename(path)
+ info = self.archive.getmember(name)
+ return dict(st_atime=info.mtime,
+ st_ctime=info.mtime,
+ st_gid=info.gid,
+ st_mode=info.mode,
+ st_nlink=2,
+ st_size=info.size,
+ st_mtime=info.mtime)
+
+ def open(self, path, flags):
+ name = os.path.basename(path)
+ self.openfiles[name] = self.archive.extractfile(name)
+
+ def release(self, path, fh):
+ name = os.path.basename(path)
+ self.openfiles[name].close()
+ del self.openfiles[name]
+
+ def read(self, path, length, offset, fh):
+ name = os.path.basename(path)
+ fh = self.openfiles[name]
+ fh.seek(offset)
+ return fh.read(length=length)
+
+
+def start_fs(arch, mount_point):
+ FUSE(ArchiveDir(arch), 
+  mount_point, 
+  nothreads=True, 
+  foreground=False, 
+  rdonly=True, 
+  volname="snp-fuse") #does this block?
+
+
+def main(archive, mount_point, command):
+ with tarfile.open(archive, 'r:bz2') as arch:
+ #t = Process(target=start_fs, args=(arch, mount_point), daemon=True)
+ #t.start()
+ start_fs(arch, mount_point)
+ subprocess.check_call(command, shell=True, stdout=sys.stdout, stderr=sys.stderr)
+ #t.terminate()
+ #t.join()
+
+
+if __name__ == '__main__':
+  # create the default logger used by the logging mixin
+ logger = logging.getLogger('fuse.log-mixin')
+ logger.setLevel(logging.DEBUG)
+ # create console handler with a higher log level
+ ch = logging.StreamHandler()
+ ch.setLevel(logging.DEBUG)
+ # add the handlers to the logger
+ logger.addHandler(ch)
+ parser = argparse.ArgumentParser(description="mount a bzip2 archive for reading")
+ parser.add_argument('archive')
+ parser.add_argument('mount_point')
+ parser.add_argument('command')
+ args = parser.parse_args()
+ main(**vars(args))
snp-pipeline.xml.old
diff -r 000000000000 -r eefdd97a6749 snp-pipeline.xml.old
snp-pipeline.xml.old
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/snp-pipeline.xml.old Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,113 @@
+<tool id="snp-pipeline" name="CFSAN SNP Pipeline" version="1.0.1">
+ <description>Build SNP table in VCF format from fastq collections</description>
+    <requirements>
+        <requirement type="package">bowtie2</requirement>
+        <requirement type="package">smalt</requirement>
+        <requirement type="package">samtools</requirement>
+        <requirement type="package">picard</requirement>
+        <requirement type="package">varscan</requirement>
+        <requirement type="package">tabix</requirement>
+        <requirement type="package">bgzip</requirement>
+        <requirement type="package">fastq-dump</requirement>
+        <requirement type="package">biopython</requirement>
+        <requirement type="python-module">snp-pipeline</requirement>
+    </requirements>
+    <command detect_errors="exit_code"><![CDATA[
+        cfsan_snp_pipeline $command -i <(
+         $__tool_directory__/snp-wind.py 
+         #for $e in $fastqs
+         -n $e.forward.display_name -f $e.forward.fastq -r $e.reverse.fastq 
+         #end for
+         .
+        )
+        && cat ./error.log 1>&2
+        && source ./snp-unwind.sh
+    ]]></command>
+    <configfiles>
+     <configfile name="config_file">
+    
+     </configfile>
+    </configfiles>
+    <inputs>
+     <conditional name="reference">
+     <param name="ref" type="select" label="Use a curated GalaxyTrakr reference, or a reference from your history" help="Choose whether to use one of our references or your own from your history">
+     <option value="curated">Use a GalaxyTraker reference</option>
+     <option value="history">Use a reference from your history</option>
+     </param>
+     <when value="curated">
+     <param name="reference_fasta" type="select" label="Select reference fasta">
+     <options from_data_table="all_fasta">
+         <filter type="sort_by" column="2"/>
+         <validator type="no_options" message="No assemblies are available for the selected input dataset"/>
+     </options>
+     </param>
+     </when>
+     <when value="history">
+     <param name="reference_fasta" type="data" format="fasta" label="Select reference fasta" />
+     </when>
+     </conditional>
+<!-- 
+     <param name="fa_vcf" type="select" label="Select FASTA or VCF output for consensus results">
+     <option value="fa">Consensus results in FASTA format</option>
+     <option value="vc">Consensus results in VCF format<option>
+     </param>
+ -->
+  <conditional name="input_arrangement">
+  <param name="inp" type="select" label="Input data layout">
+  <option value="manual">Define paired collections of files from your history</option>
+  <option value="collection">Use a paired-end dataset collection</option>
+  </param>
+  </conditional>
+     <repeat name="fastqs" title="FASTQ collections">
+     <param name="forward" type="data" format="fastq,fastqsanger" label="Forward reads" />
+     <param name="reverse" type="data" format="fastq,fastqsanger" label="Reverse reads" />
+     </repeat>
+    </inputs>
+
+    <outputs>
+     <data format="txt" label="SNP List" name="snplist" from_work_dir="snplist.txt"/>
+<!--      <conditional name="fasta_vcf"> -->
+    
+     <data format="fasta" label="Consensus base calls" name="confasta" from_work_dir="consensus.fasta"/>
+     <data format="fasta" label="Filtered consensus base calls" name="confastafil" from_work_dir="consensus.fasta"/>
+     <data format="vcf" label="Consensus base calls" name="convcf" from_work_dir="consensus.vcf"/>
+     <data format="vcf" label="Filtered consensus base calls" name="convcffil" from_work_dir="consensus_preserved.vcf"/>
+<!--      </conditional> -->
+ <data format="fasta" label="SNP matrix" name="snpma" from_work_dir="snpma.fasta"/>
+ <data format="fasta" label="Filtered SNP matrix" name="snpmalfil" from_work_dir="snpma_preserved.fasta"/>
+ <data format="vcf" label="SNP matrix" name="snpmav" from_work_dir="snpma.vcf"/>
+ <data format="vcf" label="Filtered SNP matrix" name="snpmavfil" from_work_dir="snpma_preserved.vcf"/>
+
+ <data format="tsv" label="SNP distance, pairwise" name="snpdi" from_work_dir="snp_distance_pairwise.tsv"/>
+ <data format="tsv" label="Filtered SNP distance, pairwise" name="snpdifil" from_work_dir="snp_distance_pairwise_preserved.tsv"/>
+ <data format="tsv" label="SNP distance matrix" name="snpdima" from_work_dir="snp_distance_matrix.tsv"/>
+ <data format="tsv" label="Filtered SNP distance matrix" name="snpdimafil" from_work_dir="snp_distance_matrix_preserved.tsv"/>
+ <data format="fasta" label="Reference SNPs" name="refsnp" from_work_dir="referenceSNP.fasta"/>
+ <data format="fasta" label="Filtered reference SNPs" name="refsnpfil" from_work_dir="referenceSNP_preserved.fasta"/>
+ <data format="tsv" label="Metrics" name="metrics" from_work_dir="metrics.tsv"/>
+
+
+    </outputs>
+    <help><![CDATA[
+<p>
+The <b>CFSAN SNP Pipeline</b> is a Python-based system for the production of SNP matrices from sequence data used in the phylogenetic analysis of pathogenic organisms sequenced from samples of interest to food safety.
+<p>
+The SNP Pipeline was developed by the <b>United States Food and Drug Administration, Center for Food Safety and Applied Nutrition</b>.
+<p>
+Free software.
+Documentation: <a target="_blank" href="http://snp-pipeline.readthedocs.io/en/latest/readme.html">http://snp-pipeline.readthedocs.io/en/latest/readme.html</a>
+Source Code: <a target="_blank" href="https://github.com/CFSAN-Biostatistics/snp-pipeline">https://github.com/CFSAN-Biostatistics/snp-pipeline</a>
+PyPI Distribution: <a target="_blank" href="https://pypi.python.org/pypi/snp-pipeline">https://pypi.python.org/pypi/snp-pipeline</a>
+    ]]></help>
+    <citations>
+        <citation type="doi">10.7717/peerj-cs.20</citation>
+        <citation type="bibtex">
+@misc{cfsan-snp-pipeline,
+  author = {Steve Davis and James Pettengill and Yan Luo and Justin Payne and Albert Shpuntoff and Rugh Rand and Errol Strain},
+  year = {2015},
+  title = {CFSAN SNP Pipeline: an automated method for constructing SNP matrices from next-generation sequence data},
+  url = {https://doi.org/10.7717/peerj-cs.20},
+  journal = {PeerJ Computer Science},
+}</citation>
+    </citations>
+</tool>
\ No newline at end of file
snp-wind.py
diff -r 000000000000 -r eefdd97a6749 snp-wind.py
snp-wind.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/snp-wind.py Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,45 @@
+#! /usr/bin/env python3.6
+
+import argparse
+import uuid
+import os, sys
+from os.path import join as j
+from itertools import zip_longest
+
+def setup(base_dir, names=[], fwds=[], revs=[], extension='fastq', pattern="{name}.{orient}.{ext}"):
+ if fwds and revs and names and len(fwds) != len(revs) != len(names):
+ raise ValueError('number of forward reads must equal number of reverse reads and names')
+ elif len(fwds) != len(names) or not fwds or not names:
+ raise ValueError('number of forward reads must equal number of names')
+ with open(j(base_dir, 'snp-unwind.sh'), 'w') as unwind:
+ #dir = j(base_dir, str(uuid.uuid4()))
+ for i, (name, fwd, rev) in enumerate(zip_longest(names, fwds, revs)):
+ dir = j(base_dir, str(i))
+ sample_dir = j(dir, name)
+ os.makedirs(sample_dir)
+ target_f = j(sample_dir, pattern.format(name=name, orient=1, ext=extension))
+ if rev:
+ target_r = j(sample_dir, pattern.format(name=name, orient=2, ext=extension))
+ os.symlink(fwd, target_f)
+ if rev:
+ os.symlink(rev, target_r)
+ print(sample_dir)
+ if rev:
+ unwind.write('unlink {}\n'.format(target_r))
+ unwind.write('unlink {}\n'.format(target_f))
+ unwind.write('rmdir {}\n'.format(sample_dir))
+ unwind.write('rmdir {}\n'.format(dir))
+
+
+
+
+if __name__ == '__main__':
+ parser = argparse.ArgumentParser(description="set up fastq symlink directories for snp-pipeline")
+ parser.add_argument('base_dir')
+ parser.add_argument('-n', dest='names', type=str, action='append', default=[])
+ parser.add_argument('-f', dest='fwds', type=str, action='append', default=[])
+ parser.add_argument('-r', dest='revs', type=str, action='append', default=[])
+ parser.add_argument('-e', dest='extension', default='fastq')
+ parser.add_argument('-p', dest='pattern', default='{name}.{orient}.{ext}')
+ params = parser.parse_args()
+ setup(**vars(params))
\ No newline at end of file
test-data/metrics.tsv
diff -r 000000000000 -r eefdd97a6749 test-data/metrics.tsv
test-data/metrics.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/metrics.tsv Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,5 @@
+Sample Fastq_Files Fastq_File_Size Machine Flowcell Number_of_Reads Duplicate_Reads Percent_of_Reads_Mapped Average_Insert_Size Average_Pileup_Depth Phase1_SNPs Phase1_Preserved_SNPs Phase2_SNPs Phase2_Preserved_SNPs Missing_SNP_Matrix_Positions Missing_Preserved_SNP_Matrix_Positions Excluded_Sample Excluded_Preserved_Sample Warnings_and_Errors
+"sample1" "sample1_1.fastq, sample1_2.fastq" 4818902 20000 110 94.55 286.84 23.22 46 32 46 32 0 0
+"sample2" "sample2_1.fastq, sample2_2.fastq" 4813480 20000 98 94.78 285.90 23.22 44 41 44 41 0 0
+"sample4" "sample4_1.fastq, sample4_2.fastq" 4783620 20000 109 94.44 285.44 22.60 37 28 37 28 0 0
+"sample3" "sample3_1.fastq, sample3_2.fastq" 4774974 20000 118 94.43 284.48 22.55 38 35 38 35 0 0
test-data/reference/lambda_virus.fasta
diff -r 000000000000 -r eefdd97a6749 test-data/reference/lambda_virus.fasta
test-data/reference/lambda_virus.fasta
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/reference/lambda_virus.fasta Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,695 @@
+>gi|9626243|ref|NC_001416.1| Enterobacteria phage lambda, complete genome
+GGGCGGCGACCTCGCGGGTTTTCGCTATTTATGAAAATTTTCCGGTTTAAGGCGTTTCCGTTCTTCTTCG
+TCATAACTTAATGTTTTTATTTAAAATACCCTCTGAAAAGAAAGGAAACGACAGGTGCTGAAAGCGAGGC
+TTTTTGGCCTCTGTCGTTTCCTTTCTCTGTTTTTGTCCGTGGAATGAACAATGGAAGTCAACAAAAAGCA
+GCTGGCTGACATTTTCGGTGCGAGTATCCGTACCATTCAGAACTGGCAGGAACAGGGAATGCCCGTTCTG
+CGAGGCGGTGGCAAGGGTAATGAGGTGCTTTATGACTCTGCCGCCGTCATAAAATGGTATGCCGAAAGGG
+ATGCTGAAATTGAGAACGAAAAGCTGCGCCGGGAGGTTGAAGAACTGCGGCAGGCCAGCGAGGCAGATCT
+CCAGCCAGGAACTATTGAGTACGAACGCCATCGACTTACGCGTGCGCAGGCCGACGCACAGGAACTGAAG
+AATGCCAGAGACTCCGCTGAAGTGGTGGAAACCGCATTCTGTACTTTCGTGCTGTCGCGGATCGCAGGTG
+AAATTGCCAGTATTCTCGACGGGCTCCCCCTGTCGGTGCAGCGGCGTTTTCCGGAACTGGAAAACCGACA
+TGTTGATTTCCTGAAACGGGATATCATCAAAGCCATGAACAAAGCAGCCGCGCTGGATGAACTGATACCG
+GGGTTGCTGAGTGAATATATCGAACAGTCAGGTTAACAGGCTGCGGCATTTTGTCCGCGCCGGGCTTCGC
+TCACTGTTCAGGCCGGAGCCACAGACCGCCGTTGAATGGGCGGATGCTAATTACTATCTCCCGAAAGAAT
+CCGCATACCAGGAAGGGCGCTGGGAAACACTGCCCTTTCAGCGGGCCATCATGAATGCGATGGGCAGCGA
+CTACATCCGTGAGGTGAATGTGGTGAAGTCTGCCCGTGTCGGTTATTCCAAAATGCTGCTGGGTGTTTAT
+GCCTACTTTATAGAGCATAAGCAGCGCAACACCCTTATCTGGTTGCCGACGGATGGTGATGCCGAGAACT
+TTATGAAAACCCACGTTGAGCCGACTATTCGTGATATTCCGTCGCTGCTGGCGCTGGCCCCGTGGTATGG
+CAAAAAGCACCGGGATAACACGCTCACCATGAAGCGTTTCACTAATGGGCGTGGCTTCTGGTGCCTGGGC
+GGTAAAGCGGCAAAAAACTACCGTGAAAAGTCGGTGGATGTGGCGGGTTATGATGAACTTGCTGCTTTTG
+ATGATGATATTGAACAGGAAGGCTCTCCGACGTTCCTGGGTGACAAGCGTATTGAAGGCTCGGTCTGGCC
+AAAGTCCATCCGTGGCTCCACGCCAAAAGTGAGAGGCACCTGTCAGATTGAGCGTGCAGCCAGTGAATCC
+CCGCATTTTATGCGTTTTCATGTTGCCTGCCCGCATTGCGGGGAGGAGCAGTATCTTAAATTTGGCGACA
+AAGAGACGCCGTTTGGCCTCAAATGGACGCCGGATGACCCCTCCAGCGTGTTTTATCTCTGCGAGCATAA
+TGCCTGCGTCATCCGCCAGCAGGAGCTGGACTTTACTGATGCCCGTTATATCTGCGAAAAGACCGGGATC
+TGGACCCGTGATGGCATTCTCTGGTTTTCGTCATCCGGTGAAGAGATTGAGCCACCTGACAGTGTGACCT
+TTCACATCTGGACAGCGTACAGCCCGTTCACCACCTGGGTGCAGATTGTCAAAGACTGGATGAAAACGAA
+AGGGGATACGGGAAAACGTAAAACCTTCGTAAACACCACGCTCGGTGAGACGTGGGAGGCGAAAATTGGC
+GAACGTCCGGATGCTGAAGTGATGGCAGAGCGGAAAGAGCATTATTCAGCGCCCGTTCCTGACCGTGTGG
+CTTACCTGACCGCCGGTATCGACTCCCAGCTGGACCGCTACGAAATGCGCGTATGGGGATGGGGGCCGGG
+TGAGGAAAGCTGGCTGATTGACCGGCAGATTATTATGGGCCGCCACGACGATGAACAGACGCTGCTGCGT
+GTGGATGAGGCCATCAATAAAACCTATACCCGCCGGAATGGTGCAGAAATGTCGATATCCCGTATCTGCT
+GGGATACTGGCGGGATTGACCCGACCATTGTGTATGAACGCTCGAAAAAACATGGGCTGTTCCGGGTGAT
+CCCCATTAAAGGGGCATCCGTCTACGGAAAGCCGGTGGCCAGCATGCCACGTAAGCGAAACAAAAACGGG
+GTTTACCTTACCGAAATCGGTACGGATACCGCGAAAGAGCAGATTTATAACCGCTTCACACTGACGCCGG
+AAGGGGATGAACCGCTTCCCGGTGCCGTTCACTTCCCGAATAACCCGGATATTTTTGATCTGACCGAAGC
+GCAGCAGCTGACTGCTGAAGAGCAGGTCGAAAAATGGGTGGATGGCAGGAAAAAAATACTGTGGGACAGC
+AAAAAGCGACGCAATGAGGCACTCGACTGCTTCGTTTATGCGCTGGCGGCGCTGCGCATCAGTATTTCCC
+GCTGGCAGCTGGATCTCAGTGCGCTGCTGGCGAGCCTGCAGGAAGAGGATGGTGCAGCAACCAACAAGAA
+AACACTGGCAGATTACGCCCGTGCCTTATCCGGAGAGGATGAATGACGCGACAGGAAGAACTTGCCGCTG
+CCCGTGCGGCACTGCATGACCTGATGACAGGTAAACGGGTGGCAACAGTACAGAAAGACGGACGAAGGGT
+GGAGTTTACGGCCACTTCCGTGTCTGACCTGAAAAAATATATTGCAGAGCTGGAAGTGCAGACCGGCATG
+ACACAGCGACGCAGGGGACCTGCAGGATTTTATGTATGAAAACGCCCACCATTCCCACCCTTCTGGGGCC
+GGACGGCATGACATCGCTGCGCGAATATGCCGGTTATCACGGCGGTGGCAGCGGATTTGGAGGGCAGTTG
+CGGTCGTGGAACCCACCGAGTGAAAGTGTGGATGCAGCCCTGTTGCCCAACTTTACCCGTGGCAATGCCC
+GCGCAGACGATCTGGTACGCAATAACGGCTATGCCGCCAACGCCATCCAGCTGCATCAGGATCATATCGT
+CGGGTCTTTTTTCCGGCTCAGTCATCGCCCAAGCTGGCGCTATCTGGGCATCGGGGAGGAAGAAGCCCGT
+GCCTTTTCCCGCGAGGTTGAAGCGGCATGGAAAGAGTTTGCCGAGGATGACTGCTGCTGCATTGACGTTG
+AGCGAAAACGCACGTTTACCATGATGATTCGGGAAGGTGTGGCCATGCACGCCTTTAACGGTGAACTGTT
+CGTTCAGGCCACCTGGGATACCAGTTCGTCGCGGCTTTTCCGGACACAGTTCCGGATGGTCAGCCCGAAG
+CGCATCAGCAACCCGAACAATACCGGCGACAGCCGGAACTGCCGTGCCGGTGTGCAGATTAATGACAGCG
+GTGCGGCGCTGGGATATTACGTCAGCGAGGACGGGTATCCTGGCTGGATGCCGCAGAAATGGACATGGAT
+ACCCCGTGAGTTACCCGGCGGGCGCGCCTCGTTCATTCACGTTTTTGAACCCGTGGAGGACGGGCAGACT
+CGCGGTGCAAATGTGTTTTACAGCGTGATGGAGCAGATGAAGATGCTCGACACGCTGCAGAACACGCAGC
+TGCAGAGCGCCATTGTGAAGGCGATGTATGCCGCCACCAT..TGAGATGAAAAGAGGCGGCGCTTACTACCGATTCCGCCTAGTTG
+GTCACTTCGACGTATCGTCTGGAACTCCAACCATCGCAGGCAGAGAGGTCTGCAAAATGCAATCCCGAAA
+CAGTTCGCAGGTAATAGTTAGAGCCTGCATAACGGTTTCGGGATTTTTTATATCTGCACAACAGGTAAGA
+GCATTGAGTCGATAATCGTGAAGAGTCGGCGAGCCTGGTTAGCCAGTGCTCTTTCCGTTGTGCTGAATTA
+AGCGAATACCGGAAGCAGAACCGGATCACCAAATGCGTACAGGCGTCATCGCCGCCCAGCAACAGCACAA
+CCCAAACTGAGCCGTAGCCACTGTCTGTCCTGAATTCATTAGTAATAGTTACGCTGCGGCCTTTTACACA
+TGACCTTCGTGAAAGCGGGTGGCAGGAGGTCGCGCTAACAACCTCCTGCCGTTTTGCCCGTGCATATCGG
+TCACGAACAAATCTGATTACTAAACACAGTAGCCTGGATTTGTTCTATCAGTAATCGACCTTATTCCTAA
+TTAAATAGAGCAAATCCCCTTATTGGGGGTAAGACATGAAGATGCCAGAAAAACATGACCTGTTGGCCGC
+CATTCTCGCGGCAAAGGAACAAGGCATCGGGGCAATCCTTGCGTTTGCAATGGCGTACCTTCGCGGCAGA
+TATAATGGCGGTGCGTTTACAAAAACAGTAATCGACGCAACGATGTGCGCCATTATCGCCTGGTTCATTC
+GTGACCTTCTCGACTTCGCCGGACTAAGTAGCAATCTCGCTTATATAACGAGCGTGTTTATCGGCTACAT
+CGGTACTGACTCGATTGGTTCGCTTATCAAACGCTTCGCTGCTAAAAAAGCCGGAGTAGAAGATGGTAGA
+AATCAATAATCAACGTAAGGCGTTCCTCGATATGCTGGCGTGGTCGGAGGGAACTGATAACGGACGTCAG
+AAAACCAGAAATCATGGTTATGACGTCATTGTAGGCGGAGAGCTATTTACTGATTACTCCGATCACCCTC
+GCAAACTTGTCACGCTAAACCCAAAACTCAAATCAACAGGCGCCGGACGCTACCAGCTTCTTTCCCGTTG
+GTGGGATGCCTACCGCAAGCAGCTTGGCCTGAAAGACTTCTCTCCGAAAAGTCAGGACGCTGTGGCATTG
+CAGCAGATTAAGGAGCGTGGCGCTTTACCTATGATTGATCGTGGTGATATCCGTCAGGCAATCGACCGTT
+GCAGCAATATCTGGGCTTCACTGCCGGGCGCTGGTTATGGTCAGTTCGAGCATAAGGCTGACAGCCTGAT
+TGCAAAATTCAAAGAAGCGGGCGGAACGGTCAGAGAGATTGATGTATGAGCAGAGTCACCGCGATTATCT
+CCGCTCTGGTTATCTGCATCATCGTCTGCCTGTCATGGGCTGTTAATCATTACCGTGATAACGCCATTAC
+CTACAAAGCCCAGCGCGACAAAAATGCCAGAGAACTGAAGCTGGCGAACGCGGCAATTACTGACATGCAG
+ATGCGTCAGCGTGATGTTGCTGCGCTCGATGCAAAATACACGAAGGAGTTAGCTGATGCTAAAGCTGAAA
+ATGATGCTCTGCGTGATGATGTTGCCGCTGGTCGTCGTCGGTTGCACATCAAAGCAGTCTGTCAGTCAGT
+GCGTGAAGCCACCACCGCCTCCGGCGTGGATAATGCAGCCTCCCCCCGACTGGCAGACACCGCTGAACGG
+GATTATTTCACCCTCAGAGAGAGGCTGATCACTATGCAAAAACAACTGGAAGGAACCCAGAAGTATATTA
+ATGAGCAGTGCAGATAGAGTTGCCCATATCGATGGGCAACTCATGCAATTATTGTGAGCAATACACACGC
+GCTTCCAGCGGAGTATAAATGCCTAAAGTAATAAAACCGAGCAATCCATTTACGAATGTTTGCTGGGTTT
+CTGTTTTAACAACATTTTCTGCGCCGCCACAAATTTTGGCTGCATCGACAGTTTTCTTCTGCCCAATTCC
+AGAAACGAAGAAATGATGGGTGATGGTTTCCTTTGGTGCTACTGCTGCCGGTTTGTTTTGAACAGTAAAC
+GTCTGTTGAGCACATCCTGTAATAAGCAGGGCCAGCGCAGTAGCGAGTAGCATTTTTTTCATGGTGTTAT
+TCCCGATGCTTTTTGAAGTTCGCAGAATCGTATGTGTAGAAAATTAAACAAACCCTAAACAATGAGTTGA
+AATTTCATATTGTTAATATTTATTAATGTATGTCAGGTGCGATGAATCGTCATTGTATTCCCGGATTAAC
+TATGTCCACAGCCCTGACGGGGAACTTCTCTGCGGGAGTGTCCGGGAATAATTAAAACGATGCACACAGG
+GTTTAGCGCGTACACGTATTGCATTATGCCAACGCCCCGGTGCTGACACGGAAGAAACCGGACGTTATGA
+TTTAGCGTGGAAAGATTTGTGTAGTGTTCTGAATGCTCTCAGTAAATAGTAATGAATTATCAAAGGTATA
+GTAATATCTTTTATGTTCATGGATATTTGTAACCCATCGGAAAACTCCTGCTTTAGCAAGATTTTCCCTG
+TATTGCTGAAATGTGATTTCTCTTGATTTCAACCTATCATAGGACGTTTCTATAAGATGCGTGTTTCTTG
+AGAATTTAACATTTACAACCTTTTTAAGTCCTTTTATTAACACGGTGTTATCGTTTTCTAACACGATGTG
+AATATTATCTGTGGCTAGATAGTAAATATAATGTGAGACGTTGTGACGTTTTAGTTCAGAATAAAACAAT
+TCACAGTCTAAATCTTTTCGCACTTGATCGAATATTTCTTTAAAAATGGCAACCTGAGCCATTGGTAAAA
+CCTTCCATGTGATACGAGGGCGCGTAGTTTGCATTATCGTTTTTATCGTTTCAATCTGGTCTGACCTCCT
+TGTGTTTTGTTGATGATTTATGTCAAATATTAGGAATGTTTTCACTTAATAGTATTGGTTGCGTAACAAA
+GTGCGGTCCTGCTGGCATTCTGGAGGGAAATACAACCGACAGATGTATGTAAGGCCAACGTGCTCAAATC
+TTCATACAGAAAGATTTGAAGTAATATTTTAACCGCTAGATGAAGAGCAAGCGCATGGAGCGACAAAATG
+AATAAAGAACAATCTGCTGATGATCCCTCCGTGGATCTGATTCGTGTAAAAAATATGCTTAATAGCACCA
+TTTCTATGAGTTACCCTGATGTTGTAATTGCATGTATAGAACATAAGGTGTCTCTGGAAGCATTCAGAGC
+AATTGAGGCAGCGTTGGTGAAGCACGATAATAATATGAAGGATTATTCCCTGGTGGTTGACTGATCACCA
+TAACTGCTAATCATTCAAACTATTTAGTCTGTGACAGAGCCAACACGCAGTCTGTCACTGTCAGGAAAGT
+GGTAAAACTGCAACTCAATTACTGCAATGCCCTCGTAATTAAGTGAATTTACAATATCGTCCTGTTCGGA
+GGGAAGAACGCGGGATGTTCATTCTTCATCACTTTTAATTGATGTATATGCTCTCTTTTCTGACGTTAGT
+CTCCGACGGCAGGCTTCAATGACCCAGGCTGAGAAATTCCCGGACCCTTTTTGCTCAAGAGCGATGTTAA
+TTTGTTCAATCATTTGGTTAGGAAAGCGGATGTTGCGGGTTGTTGTTCTGCGGGTTCTGTTCTTCGTTGA
+CATGAGGTTGCCCCGTATTCAGTGTCGCTGATTTGTATTGTCTGAAGTTGTTTTTACGTTAAGTTGATGC
+AGATCAATTAATACGATACCTGCGTCATAATTGATTATTTGACGTGGTTTGATGGCCTCCACGCACGTTG
+TGATATGTAGATGATAATCATTATCACTTTACGGGTCCTTTCCGGTGATCCGACAGGTTACG
+
test-data/reference/lambda_virus.fasta
diff -r 000000000000 -r eefdd97a6749 test-data/reference/lambda_virus.fasta.fai
test-data/reference/lambda_virus.fasta
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/reference/lambda_virus.fasta.fai Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,1 @@
+gi|9626243|ref|NC_001416.1| 48502 74 70 71
test-data/reference/reference.1.bt2
diff -r 000000000000 -r eefdd97a6749 test-data/reference/reference.1.bt2
test-data/reference/reference.1.bt2
Binary file test-data/reference/reference.1.bt2 has changed
test-data/reference/reference.2.bt2
diff -r 000000000000 -r eefdd97a6749 test-data/reference/reference.2.bt2
test-data/reference/reference.2.bt2
Binary file test-data/reference/reference.2.bt2 has changed
test-data/reference/reference.3.bt2
diff -r 000000000000 -r eefdd97a6749 test-data/reference/reference.3.bt2
test-data/reference/reference.3.bt2
Binary file test-data/reference/reference.3.bt2 has changed
test-data/reference/reference.4.bt2
diff -r 000000000000 -r eefdd97a6749 test-data/reference/reference.4.bt2
test-data/reference/reference.4.bt2
Binary file test-data/reference/reference.4.bt2 has changed
test-data/reference/reference.rev.1.bt2
diff -r 000000000000 -r eefdd97a6749 test-data/reference/reference.rev.1.bt2
test-data/reference/reference.rev.1.bt2
Binary file test-data/reference/reference.rev.1.bt2 has changed
test-data/reference/reference.rev.2.bt2
diff -r 000000000000 -r eefdd97a6749 test-data/reference/reference.rev.2.bt2
test-data/reference/reference.rev.2.bt2
Binary file test-data/reference/reference.rev.2.bt2 has changed
test-data/reference/reference.tar.gz
diff -r 000000000000 -r eefdd97a6749 test-data/reference/reference.tar.gz
test-data/reference/reference.tar.gz
Binary file test-data/reference/reference.tar.gz has changed
test-data/referenceSNP.fasta
diff -r 000000000000 -r eefdd97a6749 test-data/referenceSNP.fasta
test-data/referenceSNP.fasta
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/referenceSNP.fasta Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,4 @@
+>gi|9626243|ref|NC_001416.1|
+GGCGCTAGGAGGCACGCCTCGCGCGTGGATCAGAGTTACAGGGCGTACGCGTACCCCGGT
+GACCTGGGATCGCGGACGCCTGTTGAGGTACGGAAACGAACATCAACGTTTTGATGGCAT
+CCTCTTAATCGGCGTGAGCATATTCATTATATATGTGGACGCGTG
test-data/samples/sample1/consensus.fasta
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample1/consensus.fasta
test-data/samples/sample1/consensus.fasta
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample1/consensus.fasta Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,4 @@
+>sample1
+AGCACCGGGACCCACGGCGCACGCAAAGATCCGAATTGCAGGGCGTACCTGGACCCCGGT
+GACGGGGGATCGGGGACTCTTGGTGAGGAACTAAAACGAACATCCACGTTTTCATGGCGA
+CTGCTTGCCAGGTGTCAGCACATTCCCTATATCGGTGGACACGTA
test-data/samples/sample1/consensus.vcf
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample1/consensus.vcf
test-data/samples/sample1/consensus.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample1/consensus.vcf Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,186 @@
+##fileformat=VCFv4.1
+##fileDate=20180103
+##source=CFSAN SNP-Pipeline 1.0.1
+##reference=lambda_virus.fasta
+##INFO=<ID=NS,Number=1,Type=Integer,Description="Number of samples with data">
+##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
+##FORMAT=<ID=SDP,Number=1,Type=Integer,Description="Raw read depth">
+##FORMAT=<ID=RD,Number=1,Type=Integer,Description="Depth of reference-supporting bases (reads1)">
+##FORMAT=<ID=AD,Number=1,Type=Integer,Description="Depth of variant-supporting bases (reads2)">
+##FORMAT=<ID=RDF,Number=1,Type=Integer,Description="Depth of reference-supporting bases on forward strand (reads1plus)">
+##FORMAT=<ID=RDR,Number=1,Type=Integer,Description="Depth of reference-supporting bases on reverse strand (reads1minus)">
+##FORMAT=<ID=ADF,Number=1,Type=Integer,Description="Depth of variant-supporting bases on forward strand (reads2plus)">
+##FORMAT=<ID=ADR,Number=1,Type=Integer,Description="Depth of variant-supporting bases on reverse strand (reads2minus)">
+##FORMAT=<ID=FT,Number=1,Type=String,Description="Genotype filters using the same codes as the FILTER data element">
+##FILTER=<ID=PASS,Description="All filters passed">
+##FILTER=<ID=RawDpth,Description="No read depth">
+##FILTER=<ID=VarFreq60,Description="Variant base frequency below 0.60">
+##FILTER=<ID=StrDpth0,Description="Less than 0 variant-supporing reads on at least one strand">
+##FILTER=<ID=StrBias0,Description="Fraction of variant supporting reads below 0.00 on one strand">
+##FILTER=<ID=Region,Description="Position is in dense region of snps or near the end of the contig.">
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT sample1
+gi|9626243|ref|NC_001416.1| 403 . G A . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:27:0:27:0:0:13:14:PASS
+gi|9626243|ref|NC_001416.1| 550 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:22:21:1:13:8:0:1:PASS
+gi|9626243|ref|NC_001416.1| 586 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:18:18:0:12:6:0:0:PASS
+gi|9626243|ref|NC_001416.1| 753 . G A . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:25:0:24:0:0:16:8:PASS
+gi|9626243|ref|NC_001416.1| 1019 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:25:25:0:10:15:0:0:PASS
+gi|9626243|ref|NC_001416.1| 1079 . T C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:26:0:25:0:0:9:16:PASS
+gi|9626243|ref|NC_001416.1| 1540 . A G . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:24:0:24:0:0:13:11:PASS
+gi|9626243|ref|NC_001416.1| 1620 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:31:31:0:14:17:0:0:PASS
+gi|9626243|ref|NC_001416.1| 1650 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:31:31:0:14:17:0:0:PASS
+gi|9626243|ref|NC_001416.1| 1788 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:24:24:0:10:14:0:0:PASS
+gi|9626243|ref|NC_001416.1| 1804 . G C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:23:0:23:0:0:11:12:PASS
+gi|9626243|ref|NC_001416.1| 2123 . G C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:24:0:24:0:0:11:13:PASS
+gi|9626243|ref|NC_001416.1| 2439 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:23:23:0:13:10:0:0:PASS
+gi|9626243|ref|NC_001416.1| 2452 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:19:18:1:9:9:0:1:PASS
+gi|9626243|ref|NC_001416.1| 2599 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:28:28:0:16:12:0:0:PASS
+gi|9626243|ref|NC_001416.1| 3063 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:26:26:0:16:10:0:0:PASS
+gi|9626243|ref|NC_001416.1| 3351 . C G . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:24:0:24:0:0:10:14:PASS
+gi|9626243|ref|NC_001416.1| 3648 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:24:24:0:13:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 3656 . T G . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:25:0:25:0:0:13:12:PASS
+gi|9626243|ref|NC_001416.1| 3678 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:17:17:0:7:10:0:0:PASS
+gi|9626243|ref|NC_001416.1| 4977 . ..SS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:16:0:16:0:0:9:7:PASS
+gi|9626243|ref|NC_001416.1| 35148 . C A . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:16:0:16:0:0:10:6:PASS
+gi|9626243|ref|NC_001416.1| 35802 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:19:19:0:5:14:0:0:PASS
+gi|9626243|ref|NC_001416.1| 35907 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:16:16:0:1:15:0:0:PASS
+gi|9626243|ref|NC_001416.1| 36010 . C T . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:9:0:9:0:0:0:9:PASS
+gi|9626243|ref|NC_001416.1| 36169 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:6:6:0:4:2:0:0:PASS
+gi|9626243|ref|NC_001416.1| 36642 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:15:15:0:2:13:0:0:PASS
+gi|9626243|ref|NC_001416.1| 37208 . G C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:19:0:19:0:0:8:11:PASS
+gi|9626243|ref|NC_001416.1| 37387 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:22:22:0:12:10:0:0:PASS
+gi|9626243|ref|NC_001416.1| 37519 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:22:20:2:8:12:2:0:PASS
+gi|9626243|ref|NC_001416.1| 37898 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:18:18:0:10:8:0:0:PASS
+gi|9626243|ref|NC_001416.1| 38073 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:22:22:0:11:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 38165 . T C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:29:0:29:0:0:19:10:PASS
+gi|9626243|ref|NC_001416.1| 38575 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:14:13:1:7:6:1:0:PASS
+gi|9626243|ref|NC_001416.1| 39003 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:9:8:1:8:0:1:0:PASS
+gi|9626243|ref|NC_001416.1| 39206 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:22:22:0:12:10:0:0:PASS
+gi|9626243|ref|NC_001416.1| 39484 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:23:23:0:13:10:0:0:PASS
+gi|9626243|ref|NC_001416.1| 39485 . A C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:20:0:20:0:0:10:10:PASS
+gi|9626243|ref|NC_001416.1| 40457 . T C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:28:1:27:1:0:11:16:PASS
+gi|9626243|ref|NC_001416.1| 40835 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:18:18:0:11:7:0:0:PASS
+gi|9626243|ref|NC_001416.1| 40984 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:22:22:0:12:10:0:0:PASS
+gi|9626243|ref|NC_001416.1| 41064 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:26:26:0:14:12:0:0:PASS
+gi|9626243|ref|NC_001416.1| 41448 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:34:34:0:14:20:0:0:PASS
+gi|9626243|ref|NC_001416.1| 41954 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:23:23:0:13:10:0:0:PASS
+gi|9626243|ref|NC_001416.1| 42439 . A C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:28:0:28:0:0:20:8:PASS
+gi|9626243|ref|NC_001416.1| 43306 . T G . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:33:0:32:0:0:12:20:PASS
+gi|9626243|ref|NC_001416.1| 43470 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:24:23:1:12:11:0:1:PASS
+gi|9626243|ref|NC_001416.1| 44134 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:28:28:0:14:14:0:0:PASS
+gi|9626243|ref|NC_001416.1| 44201 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:28:28:0:12:16:0:0:PASS
+gi|9626243|ref|NC_001416.1| 44413 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:29:29:0:15:14:0:0:PASS
+gi|9626243|ref|NC_001416.1| 45364 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:31:31:0:18:13:0:0:PASS
+gi|9626243|ref|NC_001416.1| 45409 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:30:30:0:19:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 46237 . G A . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:27:0:27:0:0:12:15:PASS
+gi|9626243|ref|NC_001416.1| 46283 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:24:24:0:11:13:0:0:PASS
+gi|9626243|ref|NC_001416.1| 46842 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:18:17:1:4:13:0:1:PASS
+gi|9626243|ref|NC_001416.1| 47425 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:23:23:0:12:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 47893 . G A . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:28:0:28:0:0:12:16:PASS
test-data/samples/sample1/consensus_preserved.fasta
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample1/consensus_preserved.fasta
test-data/samples/sample1/consensus_preserved.fasta
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample1/consensus_preserved.fasta Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,4 @@
+>sample1
+GCACGGCGCGATCCGAATTGCAGGGCGTACCTGGACCCCGGTGACGGGGGATCGGGGACT
+CTTGGTGAGGAACTAAAACGACGTTTTCATGGCGACTGCTTGGTGTCAGCACATTCCCTA
+TATCGGTGGACACGTA
test-data/samples/sample1/consensus_preserved.vcf
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample1/consensus_preserved.vcf
test-data/samples/sample1/consensus_preserved.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample1/consensus_preserved.vcf Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,171 @@
+##fileformat=VCFv4.1
+##fileDate=20180103
+##source=CFSAN SNP-Pipeline 1.0.1
+##reference=lambda_virus.fasta
+##INFO=<ID=NS,Number=1,Type=Integer,Description="Number of samples with data">
+##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
+##FORMAT=<ID=SDP,Number=1,Type=Integer,Description="Raw read depth">
+##FORMAT=<ID=RD,Number=1,Type=Integer,Description="Depth of reference-supporting bases (reads1)">
+##FORMAT=<ID=AD,Number=1,Type=Integer,Description="Depth of variant-supporting bases (reads2)">
+##FORMAT=<ID=RDF,Number=1,Type=Integer,Description="Depth of reference-supporting bases on forward strand (reads1plus)">
+##FORMAT=<ID=RDR,Number=1,Type=Integer,Description="Depth of reference-supporting bases on reverse strand (reads1minus)">
+##FORMAT=<ID=ADF,Number=1,Type=Integer,Description="Depth of variant-supporting bases on forward strand (reads2plus)">
+##FORMAT=<ID=ADR,Number=1,Type=Integer,Description="Depth of variant-supporting bases on reverse strand (reads2minus)">
+##FORMAT=<ID=FT,Number=1,Type=String,Description="Genotype filters using the same codes as the FILTER data element">
+##FILTER=<ID=PASS,Description="All filters passed">
+##FILTER=<ID=RawDpth,Description="No read depth">
+##FILTER=<ID=VarFreq60,Description="Variant base frequency below 0.60">
+##FILTER=<ID=StrDpth0,Description="Less than 0 variant-supporing reads on at least one strand">
+##FILTER=<ID=StrBias0,Description="Fraction of variant supporting reads below 0.00 on one strand">
+##FILTER=<ID=Region,Description="Position is in dense region of snps or near the end of the contig.">
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT sample1
+gi|9626243|ref|NC_001416.1| 403 . G A . Region NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT .:27:0:27:0:0:13:14:Region
+gi|9626243|ref|NC_001416.1| 550 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:22:21:1:13:8:0:1:PASS
+gi|9626243|ref|NC_001416.1| 586 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:18:18:0:12:6:0:0:PASS
+gi|9626243|ref|NC_001416.1| 753 . G A . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:25:0:24:0:0:16:8:PASS
+gi|9626243|ref|NC_001416.1| 1079 . T C . Region NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT .:26:0:25:0:0:9:16:Region
+gi|9626243|ref|NC_001416.1| 1540 . A G . Region NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT .:24:0:24:0:0:13:11:Region
+gi|9626243|ref|NC_001416.1| 1804 . G C . Region NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT .:23:0:23:0:0:11:12:Region
+gi|9626243|ref|NC_001416.1| 2123 . G C . Region NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT .:24:0:24:0:0:11:13:Region
+gi|9626243|ref|NC_001416.1| 2599 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:28:28:0:16:12:0:0:PASS
+gi|9626243|ref|NC_001416.1| 3063 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:26:26:0:16:10:0:0:PASS
+gi|9626243|ref|NC_001416.1| 3351 . C G . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:24:0:24:0:0:10:14:PASS
+gi|9626243|ref|NC_001416.1| 3648 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:24:24:0:13:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 3656 . T G . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:25:0:25:0:0:13:12:PASS
+gi|9626243|ref|NC_001416.1| 3678 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:17:17:0:7:10:0:0:PASS
+gi|9626243|ref|NC_001416.1| 4977 . G A . Region NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT .:25:0:25:0:0:12:13:Region
+gi|9626243|ref|NC_001416.1| 5482 . G A . Region NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT .:18:0:18:0:0:9:9:Region
+gi|9626243|ref|NC_001416.1| 5516 . T A . Region NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT .:16:0:16:0:0:9:7:Region
+gi|9626243|ref|NC_001416.1| 5800 . G A . Region NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT .:19:0:19:0:0:5:14:Region
+gi|9626243|ref|NC_001416.1| 5818 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:25:25:0:10:15:0:0:PASS
+gi|9626243|ref|NC_001416.1| 5994 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:15:15:0:6:9:0:0:..1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT .:16:0:16:0:0:9:7:Region
+gi|9626243|ref|NC_001416.1| 35148 . C A . Region NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT .:16:0:16:0:0:10:6:Region
+gi|9626243|ref|NC_001416.1| 35802 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:19:19:0:5:14:0:0:PASS
+gi|9626243|ref|NC_001416.1| 35907 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:16:16:0:1:15:0:0:PASS
+gi|9626243|ref|NC_001416.1| 36010 . C T . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:9:0:9:0:0:0:9:PASS
+gi|9626243|ref|NC_001416.1| 36169 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:6:6:0:4:2:0:0:PASS
+gi|9626243|ref|NC_001416.1| 36642 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:15:15:0:2:13:0:0:PASS
+gi|9626243|ref|NC_001416.1| 37208 . G C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:19:0:19:0:0:8:11:PASS
+gi|9626243|ref|NC_001416.1| 37387 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:22:22:0:12:10:0:0:PASS
+gi|9626243|ref|NC_001416.1| 37519 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:22:20:2:8:12:2:0:PASS
+gi|9626243|ref|NC_001416.1| 37898 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:18:18:0:10:8:0:0:PASS
+gi|9626243|ref|NC_001416.1| 38073 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:22:22:0:11:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 38165 . T C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:29:0:29:0:0:19:10:PASS
+gi|9626243|ref|NC_001416.1| 38575 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:14:13:1:7:6:1:0:PASS
+gi|9626243|ref|NC_001416.1| 39003 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:9:8:1:8:0:1:0:PASS
+gi|9626243|ref|NC_001416.1| 39206 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:22:22:0:12:10:0:0:PASS
+gi|9626243|ref|NC_001416.1| 39484 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:23:23:0:13:10:0:0:PASS
+gi|9626243|ref|NC_001416.1| 39485 . A C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:20:0:20:0:0:10:10:PASS
+gi|9626243|ref|NC_001416.1| 40457 . T C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:28:1:27:1:0:11:16:PASS
+gi|9626243|ref|NC_001416.1| 40835 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:18:18:0:11:7:0:0:PASS
+gi|9626243|ref|NC_001416.1| 40984 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:22:22:0:12:10:0:0:PASS
+gi|9626243|ref|NC_001416.1| 41064 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:26:26:0:14:12:0:0:PASS
+gi|9626243|ref|NC_001416.1| 41448 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:34:34:0:14:20:0:0:PASS
+gi|9626243|ref|NC_001416.1| 41954 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:23:23:0:13:10:0:0:PASS
+gi|9626243|ref|NC_001416.1| 42439 . A C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:28:0:28:0:0:20:8:PASS
+gi|9626243|ref|NC_001416.1| 43306 . T G . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:33:0:32:0:0:12:20:PASS
+gi|9626243|ref|NC_001416.1| 43470 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:24:23:1:12:11:0:1:PASS
+gi|9626243|ref|NC_001416.1| 44134 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:28:28:0:14:14:0:0:PASS
+gi|9626243|ref|NC_001416.1| 44201 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:28:28:0:12:16:0:0:PASS
+gi|9626243|ref|NC_001416.1| 44413 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:29:29:0:15:14:0:0:PASS
+gi|9626243|ref|NC_001416.1| 45364 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:31:31:0:18:13:0:0:PASS
+gi|9626243|ref|NC_001416.1| 45409 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:30:30:0:19:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 46237 . G A . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:27:0:27:0:0:12:15:PASS
+gi|9626243|ref|NC_001416.1| 46283 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:24:24:0:11:13:0:0:PASS
+gi|9626243|ref|NC_001416.1| 46842 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:18:17:1:4:13:0:1:PASS
+gi|9626243|ref|NC_001416.1| 47425 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:23:23:0:12:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 47893 . G A . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:28:0:28:0:0:12:16:PASS
test-data/samples/sample1/duplicate_reads_metrics.txt
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample1/duplicate_reads_metrics.txt
test-data/samples/sample1/duplicate_reads_metrics.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample1/duplicate_reads_metrics.txt Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,112 @@
+## htsjdk.samtools.metrics.StringHeader
+# MarkDuplicates INPUT=[samples/sample1/reads.sorted.bam] OUTPUT=samples/sample1/reads.sorted.deduped.bam METRICS_FILE=samples/sample1/duplicate_reads_metrics.txt VERBOSITY=WARNING    MAX_SEQUENCES_FOR_DISK_READ_ENDS_MAP=50000 MAX_FILE_HANDLES_FOR_READ_ENDS_MAP=8000 SORTING_COLLECTION_SIZE_RATIO=0.25 TAG_DUPLICATE_SET_MEMBERS=false REMOVE_SEQUENCING_DUPLICATES=false TAGGING_POLICY=DontTag CLEAR_DT=true ADD_PG_TAG_TO_READS=true REMOVE_DUPLICATES=false ASSUME_SORTED=false DUPLICATE_SCORING_STRATEGY=SUM_OF_BASE_QUALITIES PROGRAM_RECORD_ID=MarkDuplicates PROGRAM_GROUP_NAME=MarkDuplicates READ_NAME_REGEX=<optimized capture of last three ':' separated fields as numeric values> OPTICAL_DUPLICATE_PIXEL_DISTANCE=100 MAX_OPTICAL_DUPLICATE_SET_SIZE=300000 QUIET=false VALIDATION_STRINGENCY=STRICT COMPRESSION_LEVEL=5 MAX_RECORDS_IN_RAM=500000 CREATE_INDEX=false CREATE_MD5_FILE=false GA4GH_CLIENT_SECRETS=client_secrets.json USE_JDK_DEFLATER=false USE_JDK_INFLATER=false
+## htsjdk.samtools.metrics.StringHeader
+# Started on: Wed Jan 03 20:46:11 UTC 2018
+
+## METRICS CLASS picard.sam.DuplicationMetrics
+LIBRARY UNPAIRED_READS_EXAMINED READ_PAIRS_EXAMINED SECONDARY_OR_SUPPLEMENTARY_RDS UNMAPPED_READS UNPAIRED_READ_DUPLICATES READ_PAIR_DUPLICATES READ_PAIR_OPTICAL_DUPLICATES PERCENT_DUPLICATION ESTIMATED_LIBRARY_SIZE
+Unknown Library 647 9131 0 0 106 2 0 0.005817 20840746
+
+## HISTOGRAM java.lang.Double
+BIN VALUE
+1.0 1
+2.0 1.999562
+3.0 2.998686
+4.0 3.997373
+5.0 4.995622
+6.0 5.993433
+7.0 6.990808
+8.0 7.987746
+9.0 8.984247
+10.0 9.980311
+11.0 10.97594
+12.0 11.971132
+13.0 12.965888
+14.0 13.960208
+15.0 14.954093
+16.0 15.947543
+17.0 16.940557
+18.0 17.933137
+19.0 18.925281
+20.0 19.916991
+21.0 20.908267
+22.0 21.899109
+23.0 22.889516
+24.0 23.879489
+25.0 24.869029
+26.0 25.858136
+27.0 26.846809
+28.0 27.835049
+29.0 28.822856
+30.0 29.810231
+31.0 30.797173
+32.0 31.783683
+33.0 32.76976
+34.0 33.755406
+35.0 34.74062
+36.0 35.725402
+37.0 36.709753
+38.0 37.693673
+39.0 38.677162
+40.0 39.66022
+41.0 40.642847
+42.0 41.625044
+43.0 42.606811
+44.0 43.588148
+45.0 44.569054
+46.0 45.549532
+47.0 46.529579
+48.0 47.509198
+49.0 48.488387
+50.0 49.467147
+51.0 50.445479
+52.0 51.423382
+53.0 52.400857
+54.0 53.377903
+55.0 54.354522
+56.0 55.330712
+57.0 56.306476
+58.0 57.281811
+59.0 58.25672
+60.0 59.231201
+61.0 60.205256
+62.0 61.178884
+63.0 62.152085
+64.0 63.12486
+65.0 64.097209
+66.0 65.069132
+67.0 66.04063
+68.0 67.011702
+69.0 67.982348
+70.0 68.952569
+71.0 69.922366
+72.0 70.891737
+73.0 71.860684
+74.0 72.829206
+75.0 73.797305
+76.0 74.764979
+77.0 75.732229
+78.0 76.699055
+79.0 77.665459
+80.0 78.631438
+81.0 79.596995
+82.0 80.562128
+83.0 81.526839
+84.0 82.491128
+85.0 83.454994
+86.0 84.418437
+87.0 85.381459
+88.0 86.344059
+89.0 87.306237
+90.0 88.267994
+91.0 89.229329
+92.0 90.190243
+93.0 91.150737
+94.0 92.11081
+95.0 93.070462
+96.0 94.029693
+97.0 94.988505
+98.0 95.946897
+99.0 96.904868
+100.0 97.862421
+
test-data/samples/sample1/metrics
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample1/metrics
test-data/samples/sample1/metrics
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample1/metrics Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,19 @@
+sample="sample1"
+fastqFileList="sample1_1.fastq, sample1_2.fastq"
+fastqFileSize=4818902
+machine=
+flowcell=
+numberReads=20000
+numberDupReads=110
+percentReadsMapped=94.55
+aveInsertSize=286.84
+avePileupDepth=23.22
+phase1Snps=46
+phase1SnpsPreserved=32
+snps=46
+snpsPreserved=32
+missingPos=0
+missingPosPreserved=0
+excludedSample=
+excludedSamplePreserved=
+errorList=""
test-data/samples/sample1/reads.all.pileup
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample1/reads.all.pileup
test-data/samples/sample1/reads.all.pileup
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample1/reads.all.pileup Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,48502 @@
+gi|9626243|ref|NC_001416.1| 1 G 0 * *
+gi|9626243|ref|NC_001416.1| 2 G 0 * *
+gi|9626243|ref|NC_001416.1| 3 G 0 * *
+gi|9626243|ref|NC_001416.1| 4 C 1 . <
+gi|9626243|ref|NC_001416.1| 5 G 5 ..... 0.17/
+gi|9626243|ref|NC_001416.1| 6 G 5 ...A. 2032C
+gi|9626243|ref|NC_001416.1| 7 C 3 ... /2F
+gi|9626243|ref|NC_001416.1| 8 G 5 ..N.. /:E..
+gi|9626243|ref|NC_001416.1| 9 A 4 .... 5341
+gi|9626243|ref|NC_001416.1| 10 C 4 ...N 8=/6
+gi|9626243|ref|NC_001416.1| 11 C 3 ... 0>D
+gi|9626243|ref|NC_001416.1| 12 T 4 .... 5EF6
+gi|9626243|ref|NC_001416.1| 13 C 4 .... G<<H
+gi|9626243|ref|NC_001416.1| 14 G 7 ....... .;60=7A
+gi|9626243|ref|NC_001416.1| 15 C 4 .... ?20F
+gi|9626243|ref|NC_001416.1| 16 G 6 ...... ?H=?.=
+gi|9626243|ref|NC_001416.1| 17 G 5 ..... ?D24;
+gi|9626243|ref|NC_001416.1| 18 G 5 ..... BEDC;
+gi|9626243|ref|NC_001416.1| 19 T 7 .N..... <E23@:=
+gi|9626243|ref|NC_001416.1| 20 T 4 .... 6>B7
+gi|9626243|ref|NC_001416.1| 21 T 4 .... ;D4@
+gi|9626243|ref|NC_001416.1| 22 T 5 ..... :<528
+gi|9626243|ref|NC_001416.1| 23 C 2 .. 0=
+gi|9626243|ref|NC_001416.1| 24 G 3 ... ;;:
+gi|9626243|ref|NC_001416.1| 25 C 7 ....... 81<=0@6
+gi|9626243|ref|NC_001416.1| 26 T 7 ....... F.AB0/8
+gi|9626243|ref|NC_001416.1| 27 A 7 ....N.. 3@<5C;9
+gi|9626243|ref|NC_001416.1| 28 T 6 ...C.. 4A1/H?
+gi|9626243|ref|NC_001416.1| 29 T 5 ..... 69?3<
+gi|9626243|ref|NC_001416.1| 30 T 4 .... <FH;
+gi|9626243|ref|NC_001416.1| 31 A 5 ..... :B?;<
+gi|9626243|ref|NC_001416.1| 32 T 6 ..N... /A?0A4
+gi|9626243|ref|NC_001416.1| 33 G 7 ....... 705FG01
+gi|9626243|ref|NC_001416.1| 34 A 5 ..... C>8F>
+gi|9626243|ref|NC_001416.1| 35 A 6 ...... E@;9DG
+gi|9626243|ref|NC_001416.1| 36 A 6 .C.... :C/;4G
+gi|9626243|ref|NC_001416.1| 37 A 5 ..... ;1:A0
+gi|9626243|ref|NC_001416.1| 38 T 7 ....... /7>H63;
+gi|9626243|ref|NC_001416.1| 39 T 8 ........ /=6F2G8C
+gi|9626243|ref|NC_001416.1| 40 T 9 ......... 8=5FH0/;@
+gi|9626243|ref|NC_001416.1| 41 T 6 ...... 69C03.
+gi|9626243|ref|NC_001416.1| 42 C 7 ......^K. =:@>39B
+gi|9626243|ref|NC_001416.1| 43 C 8 ........ 1;D330/A
+gi|9626243|ref|NC_001416.1| 44 G 5 ..... >0>7?
+gi|9626243|ref|NC_001416.1| 45 G 7 ...$.... A=49>96
+gi|9626243|ref|NC_001416.1| 46 T 9 ......... 5>>H:>56;
+gi|9626243|ref|NC_001416.1| 47 T 6 ...... 6>1H<H
+gi|9626243|ref|NC_001416.1| 48 T 6 ..N... G8E93F
+gi|9626243|ref|NC_001416.1| 49 A 5 ..... HF<F>
+gi|9626243|ref|NC_001416.1| 50 A 8 ........ C3C75:A9
+gi|9626243|ref|NC_001416.1| 51 G 4 .... EABC
+gi|9626243|ref|NC_001416.1| 52 G 7 ....$... A69>0.1
+gi|9626243|ref|NC_001416.1| 53 C 6 ...... 1EHDGB
+gi|9626243|ref|NC_001416.1| 54 G 6 ...... A:90/8
+gi|9626243|ref|NC_001416.1| 55 T 8 ........ =56B81CD
+gi|9626243|ref|NC_001416.1| 56 T 7 ....... @B=6G7H
+gi|9626243|ref|NC_001416.1| 57 T 6 ...... 5:GA=F
+gi|9626243|ref|NC_001416.1| 58 C 6 ...... .H?@5B
+gi|9626243|ref|NC_001416.1| 59 C 7 ....... /F7AB/D
+gi|9626243|ref|NC_001416.1| 60 G 4 .... H<7H
+gi|9626243|ref|NC_001416.1| 61 T 9 ......... C/2640>9E
+gi|9626243|ref|NC_001416.1| 62 T 6 ...... @0>9;0
+gi|9626243|ref|NC_001416.1| 63 C 6 ...... 4@?DB2
+gi|9626243|ref|NC_001416.1| 64 T 7 ......^K. =5/2H70
+gi|9626243|ref|NC_001416.1| 65 T 8 ........ @:8<47G?
+gi|9626243|ref|NC_001416.1| 66 C 6 ...... 7=:G=E
+gi|9626243|ref|NC_001416.1| 67 T 4 .... 7201
+gi|9626243|ref|NC_001416.1| 68 T 6 ...... >G=3<D
+gi|9626243|ref|NC_001416.1| 69 C 9 ......... 1<H@.>=>2
+gi|9626243|ref|NC_001416.1| 70 G 5 ..... EC810
+gi|9626243|ref|NC_001416.1| 71 T 7 ....... G41?E?G
+gi|9626243|ref|NC_001416.1| 72 C 8 .N...... 8F6409.@
+gi|9626243|ref|NC_001416.1| 73 A 8 ....N... >E1AGCCC
+gi|9626243|ref|NC_001416.1| 74 T 8 N......^K. E./1?D27
+gi|9626243|ref|NC_001416.1| 75 A 10 .......... 37;>:?1?0?
+gi|9626243|ref|NC_001416.1| 76 A 9 ......... D99.46479
+gi|9626243|ref|NC_001416.1| 77 C 9 ......... H3@H2:0@A
+gi|9626243|ref|NC_001416.1| 78 T 8 ..E0C@
+gi|9626243|ref|NC_001416.1| 48427 C 7 ,,,,,,, A@;H@2=
+gi|9626243|ref|NC_001416.1| 48428 T 8 ,,,,,,,, 9<4CE/?B
+gi|9626243|ref|NC_001416.1| 48429 C 11 ,,,,,,,,,,, <GBFHD2DH;/
+gi|9626243|ref|NC_001416.1| 48430 C 10 ,,,,,,,,,, 21AB79BE<:
+gi|9626243|ref|NC_001416.1| 48431 A 9 ,,,,,,,,, GF.A2;12:
+gi|9626243|ref|NC_001416.1| 48432 C 6 ,,,,,, H@?E7B
+gi|9626243|ref|NC_001416.1| 48433 G 7 ,,,,,,, >;D4B@D
+gi|9626243|ref|NC_001416.1| 48434 C 7 ,n,,,,, ./:01;>
+gi|9626243|ref|NC_001416.1| 48435 A 8 ,,,,,,,, 2<617910
+gi|9626243|ref|NC_001416.1| 48436 C 8 ,,,,,,,, @455A4@;
+gi|9626243|ref|NC_001416.1| 48437 G 9 ,,,,,,,,, C;>D/>4G1
+gi|9626243|ref|NC_001416.1| 48438 T 6 ,,,,,^K, >/F8<B
+gi|9626243|ref|NC_001416.1| 48439 T 8 ,,,,,,,, 21.?/F<0
+gi|9626243|ref|NC_001416.1| 48440 G 8 ,,,,,,,, :6<8;7>1
+gi|9626243|ref|NC_001416.1| 48441 T 4 ,,,, 5;7.
+gi|9626243|ref|NC_001416.1| 48442 G 10 n,,,,,,,,, 4D84>.G5H2
+gi|9626243|ref|NC_001416.1| 48443 A 8 ,,,,,,,, 5==92E/2
+gi|9626243|ref|NC_001416.1| 48444 T 9 ,n,,,,,,, =@C2;0CFE
+gi|9626243|ref|NC_001416.1| 48445 A 8 ,,,,n,,^K, G=2<D>>;
+gi|9626243|ref|NC_001416.1| 48446 T 7 ,,,,,,, 3H=F7=2
+gi|9626243|ref|NC_001416.1| 48447 G 10 ,,,,,,,,,, 16@C3@:0C1
+gi|9626243|ref|NC_001416.1| 48448 T 10 ,,,,,,,,,, C=?45E75AD
+gi|9626243|ref|NC_001416.1| 48449 A 8 ,,,,,,,, G.@C47DD
+gi|9626243|ref|NC_001416.1| 48450 G 9 ,,,,,,,,, A<.>C23A7
+gi|9626243|ref|NC_001416.1| 48451 A 6 ,,,,,$, 0.5>A;
+gi|9626243|ref|NC_001416.1| 48452 T 8 ,,,,,,,, 86B<7H/9
+gi|9626243|ref|NC_001416.1| 48453 G 6 ,,,,,, ?;299:
+gi|9626243|ref|NC_001416.1| 48454 A 6 ,$n,,,, 0@G.@?
+gi|9626243|ref|NC_001416.1| 48455 T 5 ,,,,, 2<G;6
+gi|9626243|ref|NC_001416.1| 48456 A 6 ,,,,,, @48.=4
+gi|9626243|ref|NC_001416.1| 48457 A 6 ,,,,,, =E:9HH
+gi|9626243|ref|NC_001416.1| 48458 T 5 ,,,,, ><2D4
+gi|9626243|ref|NC_001416.1| 48459 C 3 ,,, 5<G
+gi|9626243|ref|NC_001416.1| 48460 A 7 ,,,,,,, 001:C5>
+gi|9626243|ref|NC_001416.1| 48461 T 4 ,,,, 2496
+gi|9626243|ref|NC_001416.1| 48462 T 5 ,,,,, 0C31H
+gi|9626243|ref|NC_001416.1| 48463 A 5 ,,,,, /30B7
+gi|9626243|ref|NC_001416.1| 48464 T 7 ,,,,,,, A4G<@07
+gi|9626243|ref|NC_001416.1| 48465 C 8 ,,,,,,,, D<AE.;1C
+gi|9626243|ref|NC_001416.1| 48466 A 5 ,,,,, 5C;C7
+gi|9626243|ref|NC_001416.1| 48467 C 5 ,,n,, E@6F0
+gi|9626243|ref|NC_001416.1| 48468 T 7 ,,,,,,, ;42:772
+gi|9626243|ref|NC_001416.1| 48469 T 6 ,,,,,, :66F@H
+gi|9626243|ref|NC_001416.1| 48470 T 6 ,$,,,,, =4/H4B
+gi|9626243|ref|NC_001416.1| 48471 A 7 ,,,,,,, 81/601/
+gi|9626243|ref|NC_001416.1| 48472 C 7 ,,,,,,, D<F2:HD
+gi|9626243|ref|NC_001416.1| 48473 G 5 ,,,,, HFH5E
+gi|9626243|ref|NC_001416.1| 48474 G 5 ,,,$,, ;>315
+gi|9626243|ref|NC_001416.1| 48475 G 5 ,,,,$, 8.:4>
+gi|9626243|ref|NC_001416.1| 48476 T 3 ,,, 375
+gi|9626243|ref|NC_001416.1| 48477 C 5 ,,,,, >C839
+gi|9626243|ref|NC_001416.1| 48478 C 5 ,,,,, 6:0>.
+gi|9626243|ref|NC_001416.1| 48479 T 5 ,,,,, E83.F
+gi|9626243|ref|NC_001416.1| 48480 T 4 aaaa ?3./
+gi|9626243|ref|NC_001416.1| 48481 T 4 ,,,, 91A7
+gi|9626243|ref|NC_001416.1| 48482 C 4 ,,,, 1;@0
+gi|9626243|ref|NC_001416.1| 48483 C 3 n,, 21@
+gi|9626243|ref|NC_001416.1| 48484 G 4 ,$,,, :CC;
+gi|9626243|ref|NC_001416.1| 48485 G 5 ,,,,, D@F48
+gi|9626243|ref|NC_001416.1| 48486 T 4 ,,$,, 5/5.
+gi|9626243|ref|NC_001416.1| 48487 G 3 ,,, >C@
+gi|9626243|ref|NC_001416.1| 48488 A 4 ,,,, 5=>=
+gi|9626243|ref|NC_001416.1| 48489 T 4 ,,,,$ C97C
+gi|9626243|ref|NC_001416.1| 48490 C 0 * *
+gi|9626243|ref|NC_001416.1| 48491 C 2 ,, 3F
+gi|9626243|ref|NC_001416.1| 48492 G 2 ,, G.
+gi|9626243|ref|NC_001416.1| 48493 A 3 ,,, 3.:
+gi|9626243|ref|NC_001416.1| 48494 C 3 ,,, ?H<
+gi|9626243|ref|NC_001416.1| 48495 A 3 ,,, 7HE
+gi|9626243|ref|NC_001416.1| 48496 G 2 ,, 1>
+gi|9626243|ref|NC_001416.1| 48497 G 2 ,+14ttaccggtgattct,+1t 5?
+gi|9626243|ref|NC_001416.1| 48498 T 0 * *
+gi|9626243|ref|NC_001416.1| 48499 T 0 * *
+gi|9626243|ref|NC_001416.1| 48500 A 0 * *
+gi|9626243|ref|NC_001416.1| 48501 C 0 * *
+gi|9626243|ref|NC_001416.1| 48502 G 1 ,$ 4
test-data/samples/sample1/reads.sam
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample1/reads.sam
test-data/samples/sample1/reads.sam
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample1/reads.sam Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,20003 @@
+@HD VN:1.0 SO:unsorted
+@SQ SN:gi|9626243|ref|NC_001416.1| LN:48502
+@PG ID:bowtie2 PN:bowtie2 VN:2.3.3.1 CL:"/usr/local/bin/bowtie2-align-s --wrapper basic-0 --reorder -X 1000 -p 2 -x reference/lambda_virus -1 samples/sample1/sample1_1.fastq -2 samples/sample1/sample1_2.fastq"
+r1 83 gi|9626243|ref|NC_001416.1| 16266 42 97M = 16003 -360 GCAATACAGCGGTATCTGGGACGGAACGTTTAAACCGGCATACAGCAACAACATGGCCTGGCGTCTGTGGGATTTGCTGACCCATCCGCGCTACGGC *5:441C0)"E,A%72$9-"1%A:8%-0<80-;6H8%7643HB>9*;8BED.D#.2?44:4'5)0<6F6F1*C71A.D;G0G<2<9.6/B:3")?4' AS:i:-6 XN:i:0 XM:i:2 XO:i:0 XG:i:0 NM:i:2 MD:Z:61T11A23 YS:i:0 YT:Z:CP
+r1 163 gi|9626243|ref|NC_001416.1| 16003 42 58M = 16266 360 GTGGTGATGGGTAACCTGCCGCCGCGCCCGTTTAATATCCGGATGCGCAGGATGACGC );A!/,6B:8=(*2GE1FGA>0/,?>),%.,/3+@D(C=<53!$H"HE-$79*HD?4< AS:i:0 XN:i:0 XM:i:0 XO:i:0 XG:i:0 NM:i:0 MD:Z:58 YS:i:-6 YT:Z:CP
+r2 83 gi|9626243|ref|NC_001416.1| 35315 42 60M = 35108 -267 CCTGTTTCTCTGCGNGACGTTCGCGGCGGCGTNTTTGTGCATCCATCTGGATTCTCCTGT E*CD88'0F(71,0A>GA4:@@+CB%@/8369*H2%!"0CE/BE<:4F)3&1BF&:*7#2 AS:i:-2 XN:i:0 XM:i:2 XO:i:0 XG:i:0 NM:i:2 MD:Z:14C17G27 YS:i:-6 YT:Z:CP
+r2 163 gi|9626243|ref|NC_001416.1| 35108 42 112M = 35315 267 TGCTGTACCATGTGCGCTGATTCTTGCGCTCAATACGTTGAAGGTTGCTTTCAANCTGTTTGTGGTATTCAGCCAGCACTGTAAGGTCTATCGGATTTAGTGCGCTTTCTAC F*E;2#!93)*446F)3<FF#((G6B<E#D,4@=.-@<@/E59H,$1!D%+35#8#)&)9@A?AC%+-*!(C<!5@3+;4F?&A?=/4G#9&91.<,66!=#089'-(;16? AS:i:-6 XN:i:0 XM:i:2 XO:i:0 XG:i:0 NM:i:2 MD:Z:40C13T57 YS:i:-2 YT:Z:CP
+r3 99 gi|9626243|ref|NC_001416.1| 31597 42 82M = 31746 319 GAGCCGGAACTTCATGAAATCCCGGGAGGTAAACGGGCATNTCAGTTCAAGGCCGTTGCCGTAACTGCATAAACCATCGGGA 1.,5<.+40387,24@.:42&*2&"5/$H&4@#-E-$D>G)>7@@9!?&"'/6+*8#3:H**C&H7B@+G!(E<",(&"G.* AS:i:-6 XN:i:0 XM:i:2 XO:i:0 XG:i:0 NM:i:2 MD:Z:40T21C19 YS:i:-11 YT:Z:CP
+r3 147 gi|9626243|ref|NC_001416.1| 31746 42 170M = 31597 -319 TGAATTNAAACAGGGTTCTGGCGTCGTNCTCGTACTGTTTTCCCCAGGCCAGTGCNTTAGCGTTAACTTCCGGAGCCACACCGGTGCAAACCTCAGCAAGCAGNGTGTGGAAGTAGGACATTTTCATGTCAGGCCACTTCTTTCCGGAGCGGGGTTTTGCTATNGNNNNG %!**$#""+!!#%$+*)*$%$'(("%#!*&+('$#)"$++*%!)"+)*!"!#'#))&"%*++$&&"*#)%!$(#())"&(('"'%&((*)(#+'(!###%#)(##($')&'+)+)")(!'))##&$#*&%*'"$!''!($()&'%*+$)*("('&(%"*)!$+#!&$"") AS:i:-11 XN:i:0 XM:i:10 XO:i:0 XG:i:0 NM:i:10 MD:Z:6C20T27T47G59C0A0C0G0T0T1 YS:i:-6 YT:Z:CP
+r4 99 gi|9626243|ref|NC_001416.1| 31128 42 184M = 31312 316 TCCAATTTGAGCAAGGCTATGTGCCATCTCGATACTCGTTCTTAACTCAACAGAAGATGCTTTGTGCATACAGCCCCTCGTTTATTATTTATCTCCTCAGCCAGCCGCTGTGCTTTCAGTGGATTTCGGATAACAGAAAGGCCGGGAAATACCCAGCCTCGCTTTGTAACGGAGTAGACGAAAG 987F5F:@3)/%+DG2%&*3B2D070:'B1599:($(3#/%<BE8=#$7G8D8-4**&@(%59D,(A%24""*"@60=*C9*4:>9*"&>F!82"@H.@#A+?6>?+D%@:.D*"D;3(D2#;:4)F2D2A2&41464#(#@D?G0=@$@$".2*#+.=HG@/.6:6@<F:-D/C)1><D/&&H AS:i:0 XN:i:0 XM:i:0 XO:i:0 XG:i:0 NM:i:0 MD:Z:184 YS:i:-8 YT:Z:CP
+r4 147 gi|9626243|ref|NC_001416.1| 31312 42 132M = 31128 -316 TGATTGCGCCTACCCGGATATTATCGTGAGGATGCGTCATCGCCATTGCTCCCCAAATACAAAACCAATTTCAGCCAGTGCCTCGTCCATTTTTTCGATGAACTCCGGCACGATCTCGTCATTACNCCCNAT $&'!)(!)#+%!(#)*"'$#!!"'%'#*&'##*'!$##")%"$###++$%&%&'!*#$%*#""%$&!$"%()#&!'$"#"$!#%'(''(%#'#$*!#&#+&((&+**''*%$("$)(!+**#"(&%)#$!)( AS:i:-8 XN:i:0 XM:i:5 XO:i:0 XG:i:0 NM:i:5 MD:Z:121A0A2T1G1C2 YS:i:0 YT:Z:CP
+r5 83 gi|9626243|ref|NC_001416.1| 29133 42 207M = 29000 -340 TTCTTTCAGTTCTTCAATTCGAATATTGGTTACGTCTGCATGTGCTATCTNCGCCCATATCATCCAGTGGTCGTAGTAGTCGTTGATGTTCTCCGCTTCGATAACTCTGTTGAATGGCTCTCCATTCCNTTCTCCTGTGACTCGGAAGTGCATTTATCATCTCCATAAAACAAAACCCGCCGTAGCGAGTTCAGATAAAATAAATCC $/)@&C!(',+G@543*=&H$D$=E;B8<>BD>*=9.3%%>G1>CA1.(%A&E;.??>F70278#'6$F963ACF&.F7@&-A?B.C=09;/A!B+)F57</*-B8)@"BD26G2$%(GH-!=,>'B<>@@D((DF"/!-DB>+58&D>:6(6=@(9:?C-*D&3>;3>2=-C2*5A=:>-G"H*;CEC,E%85)::)H!-$'#@:; AS:i:-5 XN:i:0 XM:i:3 XO:i:0 XG:i:0 NM:i:3 MD:Z:50G25C51A78 YS:i:-10 YT:Z:CP
+r5 163 gi|9626243|ref|NC_001416.1| 29000 42 133M = 29133 340 CCCGAACCCATCGACGAACTGTTTCAAGGCTTCTTGGACGTCGCTGGCGTGCGTTCCACTTCTGACGTGTC..&)!)$%")")%+&$'%* AS:i:-6 XN:i:0 XM:i:4 XO:i:0 XG:i:0 NM:i:4 MD:Z:51C73G15T23C30 YS:i:0 YT:Z:CP
+r9996 83 gi|9626243|ref|NC_001416.1| 45019 42 69M = 44827 -261 GTGAAAGCGGGTGGCAGGAGGTCGCGCTAACAACCTCCTGCCGTTTTGCCCGTGCATATCGGTCACGAA !DE":F"C+0+=$E03#(D0?D9/)6C8*CC*18?$*G75>&<,-?G115C>D:0'.1)D0CH!8=;A( AS:i:0 XN:i:0 XM:i:0 XO:i:0 XG:i:0 NM:i:0 MD:Z:69 YS:i:-16 YT:Z:CP
+r9996 163 gi|9626243|ref|NC_001416.1| 44827 42 128M = 45019 261 NNGCNTGCCTGGTTAGACAGTGCTCTTTCCGTTGTGCTGAATTAAGCGAANACCGGAAGCAGAACCGGATCACCAGATNCGTACAGGCGTCATCTCCGCCCAGCAACAGCACAACCCANACTGAGCCG #%''"+&('$'$+)+*&#"'$&&(*!#%*!$$$*%()&#$')()&!#$))"!*(##+#(&+!**)&+#%(+!%**+(()#(!"($*#*##*#$('!*&!$*#*&!%+!''*&"!&!#*"#$(#+&!%) AS:i:-16 XN:i:0 XM:i:10 XO:i:0 XG:i:0 NM:i:10 MD:Z:0C0G2G0A10C33T24A2G15G23A9 YS:i:0 YT:Z:CP
+r9997 99 gi|9626243|ref|NC_001416.1| 25398 42 187M = 25585 300 ATTGTACTTTACCTTCATCTCTGTTCATTATCATCGCTTTTAAAACGGTTCGACCTTCTAATCCTATCTGACCATTATAATTTTTTAGAATGGTTTCATAAGAAAGCTCTGAATCAACGGACTGCGATAATAAGTGGTGGNATCCAGAATTTGTCACTTCAAGTAAAAACACCTCACGAGTTAAAAC 4*!":0/7*H45+#3B9GA51?;9"=F>-#*;@"<,2@!#38B--()@=7!'7F8+7,.:;#+%>9G>F#B63F?4;AB-?BA,DH3E?$$<8?4<-!/(=G,@1H0H5'"H7;"G-8H%<):D5,.D%6+D2(E1G8>%8#+(#,#.)4$$$$?090@!/G>AH#G"$G3&D1D'@H5CC(8:/7# AS:i:-1 XN:i:0 XM:i:1 XO:i:0 XG:i:0 NM:i:1 MD:Z:140T46 YS:i:-8 YT:Z:CP
+r9997 147 gi|9626243|ref|NC_001416.1| 25585 42 113M = 25398 -300 ACCTAAGTTCTCACCGAATGTCTCAATATCCGGACGGATAATATTTATTGCTTCTATTGACCGTAGGACTTTCCACATGCAGGATTTTGGAACCTCTTGCAGTACTACTNGCG BH$.<76.9#4D7+=#*?':(+?>+0.9?,HC4?>>?2<!"B=0@FA#)"*0/*=5E4%9":;*E(%&74DA>"1B+FG.+&G%11$.';1G.6$?!99D,%$##7?)6CE3, AS:i:-8 XN:i:0 XM:i:3 XO:i:0 XG:i:0 NM:i:3 MD:Z:55C53G1G1 YS:i:-1 YT:Z:CP
+r9998 99 gi|9626243|ref|NC_001416.1| 21525 42 212M = 21737 440 CAACAGGCAGTTTCGATTACGGCACCAAATCGACGAATAACACGAGGGCTCATGCTCACAGTCTGAGCGGTTCAACAGGGGCCGCGGGTGCTCATGCCCACACAAGTGGTTTAAGGATGAACAGTTCTGGCTGGAGTCAGTATGGAACAGCAACCATTACAGGAAGTTTATCCACAGTTAAAGGAACCAGCACACAGGGTATTGCTTATTTA ?$4,#-G@CA)?;GC=(1%)'<?G21(A!G&<(9$&,"HD*/.&>73(<2$:E%:G)=!3A/0)E@6<=@F'E,4%DB#<,&-/@6A$<,&/"180'(F96&+7+A,-7GH9;1E+-6.(7@:646#@2"#&B?&!,<7=9=>.E&?+D/)<"-5AEG58H@=HA">#,8G5GC7+@H4(-':$?</0F=7+E&F+H-<&:24846<.<E3A AS:i:-4 XN:i:0 XM:i:1 XO:i:0 XG:i:0 NM:i:1 MD:Z:44G167 YS:i:-2 YT:Z:CP
+r9998 147 gi|9626243|ref|NC_001416.1| 21737 42 228M = 21525 -440 TCGAAAACGGACAGTCAGGGCAGCCACAGTCACTCANTGTCCGGTACAGCCGTGAGTGCCGGTGCACATGCGCATACAGTTGGTATTGGTGCGCACCAGCATCCGGTTGTTATCGGTGCTCATGCNCATTCTTTCAGTATTGGTTCACACGGACACACCATCACCGTTAACGCTGCGGGTAACGCGGAAAACACCGTCAAAAACATTGCATTTAACTATATTGTGAGG ('!C2&67#$GB-?F19*8*:A?BF?@G'?94$.=B4<""543F>%1CC09%>(F')2=&@=?F)2-;/F!EA"#.#'"-H$-@"%F;C($='@'4789H5#F!;D!!.E>@.*$/&)>H<$!*?-E#/5680"#:2>+*'HB55<E'7DG'%?H4#"/C9H+6@D44G-5.HCB<5;C>$H>5:+6D5(427&):E!H9*/A32<$?-;"6<,?G!!F9/G"G0@0- AS:i:-2 XN:i:0 XM:i:2 XO:i:0 XG:i:0 NM:i:2 MD:Z:36T88C102 YS:i:-4 YT:Z:CP
+r9999 99 gi|9626243|ref|NC_001416.1| 9980 42 64M = 10178 247 NACNTGACCCACGGAGGCAATTTCTCATGCNGAAAACGTGGTGTACCCGCTGTCTGGTATGTAC !)(#(&##$%+&($''#%"&)!*%#)'&'%&"+&$#$##%'*)*++%#$$!))(*+!'%+&*(# AS:i:-9 XN:i:0 XM:i:6 XO:i:0 XG:i:0 NM:i:6 MD:Z:0C2C2G23T16G15T0 YS:i:0 YT:Z:CP
+r9999 147 gi|9626243|ref|NC_001416.1| 10178 42 49M = 9980 -247 CGTGCCATGCTTGCCGGGATGTCATCCACGGAGTATGCCGACTGGCACC /@,9D6%"8"B:#1=C(?6#@&")6(C;H03*+.)/"B;HG6@@!H!<# AS:i:0 XN:i:0 XM:i:0 XO:i:0 XG:i:0 NM:i:0 MD:Z:49 YS:i:-9 YT:Z:CP
+r10000 99 gi|9626243|ref|NC_001416.1| 34033 42 108M = 34220 281 GAATNCACAGTGCAGTGTTTATTCTGTTATTTATGCCAAAAATAAAGGCCACTATCAGGCAGCTTTGTTGTTCTGTTTACCAAGTTNTCTGGCAATCATTGCCGTCGT &')&")*+#&!*$%&)*)+'$''*##'"&$!+)&&$"$(*"%("$&#('&)+*"%)$#!!'$)&!%$%+)$"!"!%(#!"*"''%""&"'(*)(%*)&$"*&*&$"#' AS:i:-2 XN:i:0 XM:i:2 XO:i:0 XG:i:0 NM:i:2 MD:Z:4A81C21 YS:i:0 YT:Z:CP
+r10000 147 gi|9626243|ref|NC_001416.1| 34220 42 94M = 34033 -281 TGCAGCTTGCATCCATTGCATCGCTTGAATTGTCCACACCATTGATTTTTATCAATAGTCGTAGTCATACGGATAGTCCTGGTATTGTTCCATC 0!>/!H,C!2H=#=&-:/F+96?6../);H1(.36".>FH&@,"G5&>.("83H65D3!,G17#*D:6==0H5)9&F3?*5!2)"B@+@9:A:< AS:i:0 XN:i:0 XM:i:0 XO:i:0 XG:i:0 NM:i:0 MD:Z:94 YS:i:-2 YT:Z:CP
test-data/samples/sample1/reads.sorted.bam
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample1/reads.sorted.bam
test-data/samples/sample1/reads.sorted.bam
Binary file test-data/samples/sample1/reads.sorted.bam has changed
test-data/samples/sample1/reads.sorted.deduped.bam
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample1/reads.sorted.deduped.bam
test-data/samples/sample1/reads.sorted.deduped.bam
Binary file test-data/samples/sample1/reads.sorted.deduped.bam has changed
test-data/samples/sample1/reads.unsorted.bam
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample1/reads.unsorted.bam
test-data/samples/sample1/reads.unsorted.bam
Binary file test-data/samples/sample1/reads.unsorted.bam has changed
test-data/samples/sample1/sample1_1.fastq
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample1/sample1_1.fastq
test-data/samples/sample1/sample1_1.fastq
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample1/sample1_1.fastq Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,40000 @@
+@r1
+GCCGTAGCGCGGATGGGTCAGCAAATCCCACAGACGCCAGGCCATGTTGTTGCTGTATGCCGGTTTAAACGTTCCGTCCCAGATACCGCTGTATTGC
++
+'4?)"3:B/6.9<2<G0G;D.A17C*1F6F6<0)5'4:44?2.#D.DEB8;*9>BH3467%8H6;-08<0-%8:A%1"-9$27%A,E")0C144:5*
+@r2
+ACAGGAGAATCCAGATGGATGCACAAANACGCCGCCGCGAACGTCNCGCAGAGAAACAGG
++
+2#7*:&FB1&3)F4:<EB/EC0"!%2H*9638/@%BC+@@:4AG>A0,17(F0'88DC*E
+@r3
+GAGCCGGAACTTCATGAAATCCCGGGAGGTAAACGGGCATNTCAGTTCAAGGCCGTTGCCGTAACTGCATAAACCATCGGGA
++
+1.,5<.+40387,24@.:42&*2&"5/$H&4@#-E-$D>G)>7@@9!?&"'/6+*8#3:H**C&H7B@+G!(E<",(&"G.*
+@r4
+TCCAATTTGAGCAAGGCTATGTGCCATCTCGATACTCGTTCTTAACTCAACAGAAGATGCTTTGTGCATACAGCCCCTCGTTTATTATTTATCTCCTCAGCCAGCCGCTGTGCTTTCAGTGGATTTCGGATAACAGAAAGGCCGGGAAATACCCAGCCTCGCTTTGTAACGGAGTAGACGAAAG
++
+987F5F:@3)/%+DG2%&*3B2D070:'B1599:($(3#/%<BE8=#$7G8D8-4**&@(%59D,(A%24""*"@60=*C9*4:>9*"&>F!82"@H.@#A+?6>?+D%@:.D*"D;3(D2#;:4)F2D2A2&41464#(#@D?G0=@$@$".2*#+.=HG@/.6:6@<F:-D/C)1><D/&&H
+@r5
+GGATTTATTTTATCTGAACTCGCTACGGCGGGTTTTGTTTTATGGAGATGATAAATGCACTTCCGAGTCACAGGAGAANGGAATGGAGAGCCATTCAACAGAGTTATCGAAGCGGAGAACATCAACGACTACTACGACCACTGGATGATATGGGCGNAGATAGCACATGCAGACGTAACCAATATTCGAATTGAAGAACTGAAAGAA
++
+;:@#'$-!H)::)58%E,CEC;*H"G->:=A5*2C-=2>3;>3&D*-C?:9(@=6(6:>D&85+>BD-!/"FD((D@@><B'>,=!-HG(%$2G62DB"@)8B-*/<75F)+B!A/;90=C.B?A-&@7F.&FCA369F$6'#87207F>??.;E&A%(.1AC>1G>%%3.9=*>DB><8B;E=$D$H&=*345@G+,'(!C&@)/$
+@r6
+ATTTTGGCTTAATGACTATATCCAATGAGTCAAAAAGCTCCCCTTCAATATCTGTTGCCCCTAAGACCTTTAATATATCGCCAAA
++
+3;&*-=>HH89E&.C$70FB%=1>;6#!B,">C&G&(:38+A*H.%A(+*+?'0(A>8$?@7A!*H/EDE'-AGA*/,"A+F:"!
+@r7
+TNCNNNNATGGCAGAAGATCGCAGCACGGTAACAGCGGCAACCGGCATGACCGTGACGCCTGCCAGCACCTCGGTGGTGANAGGGCAGAGCACCACGCTGACCGTGGCCTTCCAGCCGGAGGGCGTAACCGACAAGAGCTTTCGTGCGGTGTCTGCGGATAAAACAAAAGCCACCGTGTCGGTCAGTGGTATGACCATCACCGTGAACGGNGTTGCTGCAGGCAAGGTCAACATTCCGGTTGTATC
++
+%!%!*('(*+"("%$)'&*'%#&'''')('%*+"*'&+"$%**$*$+)''#&"&""*&"%%#'!))*!%+%!"""%'+'&+!)('&)$$"(&+$%+$&+!)#!(+'(%$&$%$**)*&$)#)++$*(%!"&*(#++!$&+)($+$&#)(%+"('%!"!!&#$+!('((+**+%*$++$!!$%#&(*++'$+""!)'%'%((&+&("###)%#&!+'+(*$)$+)!+!!$&%(&##"$'$)++*$"%
+@r8
+TCTTGCGCTTGAAGCCGCCCGAAAGAAGGCNGAGCAGCAGACTCAACAGGACAAAAATGCGCAGCAGCNGAGCGATACCGAAGCGTCACGGCTGNAATATACCGAAGAGGCG
++
+#.''@7EE*=',:;B*%58$H/%HH4-67@;>/D2FH,?%C4&=6@1$-$G)@3036(90?$$.*))"59-5:#/A4E!C1"/B1B+'?0A!;%G(GA+;-+:?!G0,&E@<
+@r9
+TCAAATGCTGCAGCCGCCCAGGCGGGCGGTTTAAGACNGGCTGCACGGCGCTCCATCGTTTCACGGACCTGCTGGGCAAAAATTTCC
++
++*"&)$!(#&#$%$++&!&"#&*!'%!!%%'"!()!#'))+"!"*!(&%!%#!$%)%"**#$(+'!()+$)%$$)*%'$(+(%)&$!
+@r10
+GGGAAAGCATCAATAGAAATTGAAATCGACCATGACGTAATGACAGAGGAAAAACTTCACCAGATTAATAATTTCTGGTCAGACTCTGAATACCGACTCAATAAANACGGCTCTGTATTAAATGCTGTATTAATCATGCTGG
++
+"#+#&&")"%#&#'*(+'*)*$+&$#&)#*(!(&)$"$('#)%+%$%%!++$&)($(%&)&$$%%+'"&))%!(&*+'&!$*&$!%''"''&$&&+)'$%*()#&$%$&*!")&'$$(**+&&!(#$%"%$($*)""+*%%'
+@r11
+AAAGCCTGATGCAGGTAGCCAGTGAGCATATTGCGCCGCTTCAGGAT
++
+C+&9(DC57H3B(@,GB9@'=+8-.::83F")@;,@(0A':*&0;.4
+@r12
+TNCNCTCNNTNCNNCGTACNNTGAGAACANCGGNTGGANNCNNNGCTACCCGAACACCACNNTGGTCGGCGTGCAGGTGGACTCGGAGCATTTCGGCAGCCAGCAGGTGAGCCG
++
+'($"&$'!!!!!"$$!*&($!""*"&"$&!*%#*&)*!!$&#!(()*(')*''&*&'$'*'#'+!%+#'!)('%+$(')#""$%%!$!%(+)("$%!#&!%&"))(!'**++(!
+@r13
+CTACTTTCCNNTANNNAACTTTCGAAGTAAATCCCATGACACAGACAGAANCAGCGATTCTGGCGCACGCCCGGCGATGTGCGCCAGCGGAGTCGTGCGGCTTCGTGGTAAGCACGCCGGAGGNGGAANGATATTTCCCCTGCGTGAATATCTCNGGTGAGCCGGAGGCTATTTTCGTATGTCGCCGGAAGACTGGCTGCAGCCAGAAA
++
+$$!%)%$#))#%(&!##(#)*'()$+$+'"'%*&((&+$%()!+'!%(**+$(&'&#!%)!)&$'*&*)$"+)#&#$(*%&)!"%+"&&+'('#"$&&#%+(&$#&"&(%$$%%&$#&++$+!'(!'%*'$%")!*&#*$+#!&+")&!+"!%)"&!%!()+%#*!+&"((+&$+(+!$)*%(($*+*()*!%*(##"''!!"%%(+)(
+@r14
+TGATACGGCTGAGGTTTTCAACGGCCTGCTCAAGACCTTTTATGGCCATACATCCCCCTTTCAGCGGCGACGGTTAACGGC
++
+>04=.4HA(6AF?G?(9=6+30D2%12H7+0$'(">FB1-->CHA59(15.'%02(A7#%?-+""D+C34C6'=)#B=,%!
+@r15
+CGGATTTACCGCAAGGACCGTAATCATCCNATCTGCGTTACCGAATGGATG
++
+/>E$"$2H.(3HD#2>$6G20$8"@<GF%(F'*$>H''H$?7!-*#?:.9A
+@r16
+GCGAATCGCAATCACNGAAGCTATACAGGCCAACATTGAGTTATTTTCAGGACA..'+$!8"C7G2=D%D3;-=80H&<:$&37)@/9'+%B1411?)<039#0A**/D.15()D$H5(%6$@244>B'<2>$.>*F<+!+1E>B#3?',?-F(=4B!&,&49"=)"+**7H<9"7AHD5>9E#(:53),);&7
+@r9986
+TGGATTGGCATCAGAGCTGATGAACNGAAGCGGCTAAAGCCAAAGCCTGGAATCAGATATCTTGCTGAACTGTCAGACTTTGAGAAGGAAGATATCCTCGCATGGTGGAAGCAACAACCATTCGATTTGCAAATACCGGAACATCTCGGTAACTGCATATTCTGCATTAAAAAATCAACGCAAAAAATCGGACTTGCCTGCAAAGATGAGGAGGGATTGCAGCGTGTTTTTAATGAGGTCATCACGGGATCCCATGTGCGTGACGGACATCGGGAAACGCCAAA
++
+/H?4E-E<+"=AG"<."D=D$(,'CC2+:&,F01"5G)==EA<)0+1H08!($;"%+89CB>?(A?FG9002;)AA@##8+=")HE3;9'"1+&3'4'=.03C!#.38E/A)D(@C@1CF:$G5>=0C@271E'!9FAD#:E.1$;/-"E'-F=$DE=#.>7G78!'(.4(C3C)/6@B%"*&)7&7"?E*-=(D42>(#<7+/:-,4"+H791@B6G#>10((0)69C8-.E4)2$C?;*;F3A74*%*;8.79".)AG7:;&A0@6CD)62$A#.%))GDF+
+@r9987
+CGNTNNNAAGTTNATTTGAANTANGNAGNANGNGAAGNCATNNGCNCCGGNNTTTACCCCCTAACCTTT
++
+"$))&"!&('$!$%(!&''$%&"$!"((&)%##$(")"(#)!#)#%')((!(+*%%&#'&*!*!)"!+$
+@r9988
+AACNTTTTGCATCAGCGACCAATCACCACAACCTGACCACCGTCCCCTTCGTCTGCCGTGCTGATCTCCTGAGAAACCACGCGTGACCCCACGCGCATTTCCCCGTACAGAACAGGCAGAAC
++
+/,5%/?>"G.B")&89GEB8$@"&7:';.2!98,)73:;=H5:*8#A0E','45@3G8"'B(6@B4!45C*/8"&9%%'C?9C$1)7B""(F)-B"@0H>0BBF5/$7#1##;)&?&/2&H;
+@r9989
+ATACGTTTTCATGGATACAGGTTGTGAACATCCAATGACATATCGGTTTGTCAG
++
++)$9E42<G-HA?%B/F+8E'!*(F,EA!+B?C9>D1*CGHD@+++$4"?=1$B
+@r9990
+CTTGCAGTACCTTTGCNTTAGTATTTCCTTCAAGCTTTGCCACACCACGGCANTTCCCCGATACCTTGTGTGCAAATTGCATCAGATA
++
+E/%*+26FG,2+$A<@;!;/)H?*-EC,&,DF+E=!48;$-D021B&4-**F@%)!%67"2C:'H">A4A+3%(8&HE24)G&;7'$"
+@r9991
+TGCGAGGCTTTGTGCTTCTCTGGAGTGCGACAGGTTTGATGACAAAA
++
+B4&$)58;:0)81A5C+&<)&5%-AA0>=(!"GA0#B(8F9=7"*0&
+@r9992
+NTAGAACAAATCCNGTCNATTNTGTTTAGTAATCAGATTTGNTCGTGACCGATATGCACGGGCAAAACGGCAGGAGGTTGTTAGCGCGACCTCCTGCCACCCGCTNTCACGAAGGTCATGTGTAAAAGGCCGCAGCGTAACTATTACTAATGAATTCAGGACA
++
+#&*%#$("()'#(!&"#$&#*#+++''#!#%#)!!'*(!+&#%%)#*&$"!$"%#+%+)+)!'!"")#%&%&+*#+&'#"%!*&$$+%'!""%$$*()!"+$'*&"*+%$)#!$"+$*$+"$""++$+&&*%)+")!+')%'&$%&%+'%'$&(%%)#*&$##
+@r9993
+CTTCGCGCGGGGTATGCCCCTTACTGCTTCCTTTACCCATTCCTCACGCTCCATAAATGACAAAACCGCCNGCAGGNGGTTTCACATAAAACATTTTGNATCAGCGCC
++
+"++%&&+)&%*$%$(+!!"#"&#)%%!%""*'$&!(#*%!')&%!)%")*!&&'*!#*#+!"'+"%(#!')"*$***(&$+#!*)!()*")%&$!'%$**&()"'"!(
+@r9994
+TGATNGGGNAGTNATGNAAAAACNAANCTTTGCCNNTTGNTCNCNAGCACATCAGCAAAACGCTATTCACGCAGTANAGCAAATCCTTCCAAACCCAACCAAACATGCAATCGTAGTAACCATTCAGGAACGCAACCGCAGNTTAGACC
++
+$*'#&('&#)&&'&&#(#$'*'&"(%!(#)('#"!!*"%&*)%*#'+(%*%%$(*((%*!!$'#%"%(&!*(%&*!($(*(!%*''))%+'%%)"(("%%#$$+$)$"(%')*""+%"")#)'&()#"'+%*)$&+(&+)'$+*")$!+
+@r9995
+GCGGCTAATCAGTTCGACGCGATACGGAACGAGATTTCCGCTTTTGTGCTGGTTGCACACCACGCATTGCTTGTGAATATTGCGTTCATTAAA
++
+HF#H*7(6/F!@%AD:,5!$F494G;'+&&B<!'&&(<;HG-.2-,#'$9<85<$%<%C/D0C6%%!@0;4;7H.%&='@6E8D.AG=#&93D
+@r9996
+TTCGTGACCGATATGCACGGGCAAAACGGCAGGAGGTTGTTAGCGCGACCTCCTGCCACCCGCTTTCAC
++
+(A;=8!HC0D)1.'0:D>C511G?-,<&>57G*$?81*CC*8C6)/9D?0D(#30E$=+0+C"F:"ED!
+@r9997
+ATTGTACTTTACCTTCATCTCTGTTCATTATCATCGCTTTTAAAACGGTTCGACCTTCTAATCCTATCTGACCATTATAATTTTTTAGAATGGTTTCATAAGAAAGCTCTGAATCAACGGACTGCGATAATAAGTGGTGGNATCCAGAATTTGTCACTTCAAGTAAAAACACCTCACGAGTTAAAAC
++
+4*!":0/7*H45+#3B9GA51?;9"=F>-#*;@"<,2@!#38B--()@=7!'7F8+7,.:;#+%>9G>F#B63F?4;AB-?BA,DH3E?$$<8?4<-!/(=G,@1H0H5'"H7;"G-8H%<):D5,.D%6+D2(E1G8>%8#+(#,#.)4$$$$?090@!/G>AH#G"$G3&D1D'@H5CC(8:/7#
+@r9998
+CAACAGGCAGTTTCGATTACGGCACCAAATCGACGAATAACACGAGGGCTCATGCTCACAGTCTGAGCGGTTCAACAGGGGCCGCGGGTGCTCATGCCCACACAAGTGGTTTAAGGATGAACAGTTCTGGCTGGAGTCAGTATGGAACAGCAACCATTACAGGAAGTTTATCCACAGTTAAAGGAACCAGCACACAGGGTATTGCTTATTTA
++
+?$4,#-G@CA)?;GC=(1%)'<?G21(A!G&<(9$&,"HD*/.&>73(<2$:E%:G)=!3A/0)E@6<=@F'E,4%DB#<,&-/@6A$<,&/"180'(F96&+7+A,-7GH9;1E+-6.(7@:646#@2"#&B?&!,<7=9=>.E&?+D/)<"-5AEG58H@=HA">#,8G5GC7+@H4(-':$?</0F=7+E&F+H-<&:24846<.<E3A
+@r9999
+NACNTGACCCACGGAGGCAATTTCTCATGCNGAAAACGTGGTGTACCCGCTGTCTGGTATGTAC
++
+!)(#(&##$%+&($''#%"&)!*%#)'&'%&"+&$#$##%'*)*++%#$$!))(*+!'%+&*(#
+@r10000
+GAATNCACAGTGCAGTGTTTATTCTGTTATTTATGCCAAAAATAAAGGCCACTATCAGGCAGCTTTGTTGTTCTGTTTACCAAGTTNTCTGGCAATCATTGCCGTCGT
++
+&')&")*+#&!*$%&)*)+'$''*##'"&$!+)&&$"$(*"%("$&#('&)+*"%)$#!!'$)&!%$%+)$"!"!%(#!"*"''%""&"'(*)(%*)&$"*&*&$"#'
test-data/samples/sample1/sample1_2.fastq
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample1/sample1_2.fastq
test-data/samples/sample1/sample1_2.fastq
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample1/sample1_2.fastq Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,40000 @@
+@r1
+GTGGTGATGGGTAACCTGCCGCCGCGCCCGTTTAATATCCGGATGCGCAGGATGACGC
++
+);A!/,6B:8=(*2GE1FGA>0/,?>),%.,/3+@D(C=<53!$H"HE-$79*HD?4<
+@r2
+TGCTGTACCATGTGCGCTGATTCTTGCGCTCAATACGTTGAAGGTTGCTTTCAANCTGTTTGTGGTATTCAGCCAGCACTGTAAGGTCTATCGGATTTAGTGCGCTTTCTAC
++
+F*E;2#!93)*446F)3<FF#((G6B<E#D,4@=.-@<@/E59H,$1!D%+35#8#)&)9@A?AC%+-*!(C<!5@3+;4F?&A?=/4G#9&91.<,66!=#089'-(;16?
+@r3
+CNNNNCNATAGCAAAACCCCGCTCCGGAAAGAAGTGGCCTGACATGAAAATGTCCTACTTCCACACNCTGCTTGCTGAGGTTTGCACCGGTGTGGCTCCGGAAGTTAACGCTAANGCACTGGCCTGGGGAAAACAGTACGAGNACGACGCCAGAACCCTGTTTNAATTCA
++
+)""$&!#+$!)*"%(&'("(*)$+*%'&)($(!''!$"'*%&*#$&##))'!()")+)+'&)'$(##()#%###!('+#()*((&%'"'((&"))(#($!%)#*"&&$++*%"&))#'#!"!*)+")!%*++$")#$'(+&*!#%"(('$%$*)*+$%#!!+""#$**!%
+@r4
+ATNGGGNGTAATGACGAGATCGTGCCGGAGTTCATCGAAAAAATGGACGAGGCACTGGCTGAAATTGGTTTTGTATTTGGGGAGCAATGGCGATGACGCATCCTCACGATAATATCCGGGTAGGCGCAATCA
++
+()!$#)%&("#**+!()$"($%*''**+&((&+#&#!*$#'#%(''('%#!$"#"$'!&#)(%"$!&$%""#*%$#*!'&%&%$++###$"%)"##$!'*##'&*#'%'"!!#$'"*)#(!%+#)!()!'&$
+@r5
+CCCGAACCCATCGACGAACTGTTTCAAGGCTTCTTGGACGTCGCTGGCGTGCGTTCCACTTCTGACGTGTCAAGTACATCGCAAAGTCTCCGNAATTACACGCAAGAAAAAACCGCCATCAGGCGGCTTGGTG
++
+"(+,,3=$)%;3D.<!D#)4;;G5='E$B)D.*4D$-!G+?51')531:1",@D@<83+':85C8F?B?*A1;3G*%@16C*9B'?)HHFH)0'4+FE6F@<%@&>E49:!E86=ED=DA2/8?BC&6#<+%G
+@r6
+ATTTTTTAATCGGGAAAGGAATGTCATTAAGCAGTGGAGAGCGCGTTCAGATAGAGC
++
+F65;?;0!43<5!0"332C4(3#)FE*>35HF@8#8?'C)6B5!7+"77&@/$>6H7
+@r7
+NAGNTTGACGGTCACACCGTTATGTTCAAATGATTCGGTTTTCAGGNACATCGCTGACTCTCCGGATTAACTGGCGGTGACGGTAANTTCTGCAACCGCAGCAAACTCACCATTACCG
++
+!''#"'"+'''*%&)*)!&(!)!%!+*"+!%%+!%$+'%#)+%!+((')%!''+$&!+%)&'&+%!$$))*($*&&"%(')+')+!")($('!*)+%'!"##!%#))""%&+$%''%*
+@r8
+CAGCGTCGCNTCATAATCCTTTTTCGCCGCCGCCATCAGCGTNTTGTAATCCGCCTGCAGGATTTTCCCGTCTTTCNCTGCCTTGTTCAGTTCTTCCTGACGGGCGGTATATTTCTCCAGCGGCGT
++
+#.1)<A;>()54A%D%)H",.!65,"3@/60@13B@8/53!,#3D%+;#B4+DG=&C"D,*=31*F@4C'0=C?,83+:9G'&@G?"31F9/3B9A@/(!!?;1>@063H=/(#D@3=*+BAF/*)
+@r9
+TTCTGTGCTGGCTGGAAGAGGCCATCGTTCGCCGCGTGGTGACGTTACCTTCAAAAGCGCGCTTCAGTTTTCAGGAAGCCCGCAGTGCCTGGGGGAACTGCGACTGGATAGGCTCCGG
++
+/EC(.EE4#,=G34#?-2#A7=539G7?88?+6E>8'*D3;8HH(H9A7<8<?"A'%4-(7->1%A6;@=?B@<,0%82C<<%-B*0&/H2"%##?)+(3H8?<=)@(><)D:<EC>#
+@r10
+TGGCATATTGCATGGTGTGCTCCTTATCTACACATACCGAAAAACGCCTCGAGTGAAGCGTTATTGGTANGCGGTAAAACCGCACTCAGGCGGCCTTGATAGTCATATCATCTGAATCAATTATACCTGATGTATCGATAGCGGTAATTCTTATTCCTTCGCTACCATCCATTGGAGGCCATCCTTCCTGACCATTTCCATCATTCCAGTCGANCTCACACACAACANCATATGCATTTAAGTCGCTTGAAATTGCTATAAGCAGAGCATGTTGCG
++
+E?;15/+:E.D691G8,1*<7#"6B5C3.9EG>@6B/:9<,4;@)!"'9.H!=;=.2/!!!>&H.+#>=B5C46(>%-2#66=;79B-!$14?/)'1++E:'-G<+3")7GG4>8+*2:/9&3;H6G:A52;(+E*'$-9@>;#GB?@.(@)*>A"G=08*="D64F/$$*/6F*11*3<4<:D59?3%:)&7!=7><,2>+-+!E%+G?@?9@7$**-<@!0,F29EH;1AADA(HF(C*:H>!1>H$)CC,023:;E>,&B'3*C,HG/H$%%2
+@r11
+TTTACTATATACTAACTAACCGCAGAACGTTATTTCATACAACGTTTCTGCGGCATATCANAAAACGATTACTCCATAACAGGGACAGCAGGCCACTCAATATCAGGTGCAGTTGATGTATCANCACGGTTCANCAACACCCGATACTTCTTCCAGGCTTCCACCAACGAGGTNTCTTCCTTCGTTGCAATTTCCAGATCTGCAGC
++
+?=2:=G&F/,C(!%G<A%&(81/=,!")DA!@<A=C-/H:)"!$2&2;5(</<.9A>"6+A*@=+&$(9>,85.&5!>7B2$%+BGFGFF)#?&F(?HE6B6E>B&83+(4E2GF)B'&2!*$=&3B55*)/7B08++F38/B%8++%-3&:H>79H:9<>)98DDBF<3A=@3AB&#*#5$-(D2.E)E<=*0"<="(1,#$),B
+@r12
+CATGCCGTAGCGCGGATGGGCCAGCATATCCCACAGACACCAGGCCATGTTGTTGCTGTATGCCGGTTTAAACGTTCCGTCCCAGATACCGCTGTATTGCCGCGTCTGCGGGTTATAGTTCGACGGCACCTGCAGAATACG
++
+H3%$'!280C4"<<F!$B!7>&&75/,*B>7!.91"H32==8"A://<AGA<;B@5-<22:?"2@<;04+887""794003")1C=02D'*(<9B!F,2C%,6#>C.'%$/*9-42C="&DC$?46$.=**%5>-$%<*&+
+@r13
+CNCTCANNCNNGGCAGACCACCGGGGTGGCTGTGGACCAGCGCCACAATCTCANCCTGCA
++
+$##&&*"!(#$&(+)'$"+!#(%''&&)++"+&*(*"%#!")#$$(+'+!!*%$**!#$#
+@r14
+AAGGCTCCAGCCCGTCCCTGTTTGTCCGGACTGATGAGGTGCGGCAGCTGCGGCGT
++
+-/H17,6G3>'$<"H-$13BA90$BF%:D+H620<>;==8B9G0'@:8-&=DE7.6
+@r15
+CGACAATGCGCTCGGCTTCANCCTTGTCATAGATACCAGCAAATCCGAAGGCCAGACGG
++
+(+#!#')()(+($&)"+)&"$$'&%!(&('$))#"***+"#"(+(&$"+$'&%*'$'#(
+@r16
+CCTTACCTCTGATTTTGC..AATTTTCTATCTTTCATCATATTCTAGATCCCTCTGAAAAAATCTTCCGAGTTTGCTAGGCACTGATACATAACTCTTTTCCAATAATTGGGGAAGTCATTCAAATCTATAATAGGTTTCAGATTTGCTTCAATAAATT
++
+3B&$!1B%F?C1&%)4@"2>GD9'7!D+&62E&&.<>//23!A"/>/A252(?5:-B/HA7&32'-A029FE"4D=@2,*$21?7%3#13'F-&8;F?#B5%-';>"@0H1*91FD1+AA<0+F"A::5"=&;0*/HA?CG0>2!53;A=$==54></:-3<"%2:=7&!CCBF(H%7=;44'7(@'2%49161'*08-<H5C4,@37B!#7B3:A$1*#0@7'F&A:G+3./2&%
+@r9984
+TCTTTCGTCATGGACTCCTCCACAGAGAAACAATGGCCCCGAAGGGCCATGATTAC
++
++'%&!$*&"*%'!)*+*(*)#&"**'+*!*%"+)(&$(#!%&("'&+&$#)$!'$"
+@r9985
+AAAACAGACTACATAATACTGTAAAACACAACATATGCAGTCACTATGAATCAACTACTTAGATG
++
+B!#(/29H!(:!>78AC%G0.(1)>BE3!(2G2/5'1FD2/F>87;:$)+G2##"C$B#)-E%,D
+@r9986
+GGTACCATGTCCTGAGACAGGGCTTGATAATCATTTTCTGAATACATTTTCGCGATACCGTCCAGCGACATTCTTCCTCGGTACATAATCTCC
++
+&'/+4E/2-+GA?D"?/:;4#C3B"3@4C>"A:18+1H"C4,2,?"6-+@&E05'4#B!:A9A'=>3,!H$+#9+%%?:B8D&>/+G%)%*<7
+@r9987
+AACGTAACGGAATTATCACTGTTGATTCTCGCTGTCAGAGGCTTGTGTTTGTGTCCTGAAAATAACTCAATGTTGGCCTGTATAGCTTCAGTG
++
+*G8FB0"A42%$8;HFC,2->)(&B+#)<B?C9H"38#6*E#..5/(#>./(.F9C*3F/6<8=F33@$4H=G;9/H1*<$3=48=!G:!'(5
+@r9988
+TGACCGGCATCCTGTTTTCTCTCGGTGCCAGTATGGTGCTCGGNGGTGTGGCGCAGATGCTGGCACCGAAAGCCAGAACTCC
++
+'=>1=9*>;>7;#E50&36)94553/8!+4>=6F.87.24.'7,/<,G*.493>67H:-C77--,B</1@2-5'"70!(7/6
+@r9989
+TACCATATCGATAAATGGNTTCAGAACAGGCATTCGCGTCTGAATATCCTTTGGTTCCCATACCGTATAACCATTTGGCTGTCCAAGCTCCGGGTTGATATCGACCTGCAATACGGTGAGCGGTATAT
++
+3A04:/:B1(*/=+6'5'BF#C8G$H;:>404C-C07<:G8($E6D!*$;*!E>%A=+0)H-'%4E"5!3-EG>A$4<.69"&H)2GA8@5"H.!H"*ADF:;$%7/?#:3@@"=<;;2#C-<0CC47
+@r9990
+GATGAGCGACTCACCACGGGCCACGGCTTCTGACTCTCTTTCCGGTACTGATGTGA
++
+02E*C##E874+,!3&B$?@'#$-;FC/F$B34*'#+'=(?-"221*AH13G-)7@
+@r9991
+TTTATTTTGACTGATNGGGACCTGTTCGTTGCAACAAATTGATAAGCAATGCTTTTTTATAATGCCAACTTAGTATAAAAAAGCT
++
+8?B9DG+/:?F'%9-*5?5CF81G+C$2D?#4<@?:,"F(+(#9/9/?1.+0FHC'C/,<84=.%0HB=7A,'=9#:@=H==FA1
+@r9992
+CAGAACCGGANCACCAAATGCGTACAGGCGTCATCGNCNCCCAGCAAC
++
+1:!/7E4).7$>E,?15F?;'.'*.=')-/:/1/DDD@E#/:@-0!A<
+@r9993
+CAGAACACCTATTTCTCCGCACTGGATAACATGGTTGCNCAGGGCAATGTTCTGCCTGTTCTGTACGGGGAAATGCGCGTGGGGTCACGCGTGG
++
+2C0.7B/9D.(1;128D&!@3*!()9,)D)>+B@?$73;20B>'$#*$%?>@F>*'+D3A=GGG&37(=&*?HC9$@@1*7?6&7:#&21A1C7
+@r9994
+NGCTTTAATGCTGCGGTAAACACACACTTCCAGCTTTCTGCATCCAGCCAGCGACCATGCCATTCAAACGAGA
++
+"DA/@5'),45,0&/,,'G7+E,<1,CF)<>B>"48>#'#H>;>+9B'!$HDB!*&?>*B)2/>&;5E$0.2H
+@r9995
+ACAGAAAGATAAACTTAAGATTCGAAAACTCGCCTTAAAGCCCCGCAGTTATTGGATTAAACAAGCCCAACAAGCCGTAAACGCCTTCATCAGAGAAAGAGACCGCGACTTACCATGTATCTCGTNCGGAACGCTCACGTCNGCTCAGTGGGATGCCGGACATTATCGGACAACTGCTGCGGCACCTCAACTCCGA
++
++()*$*$+('('!"!*")&%'*+$$&")%'$'&+('!)+&+"*)+'#(*)+!%!('%#(($!&#('!()++'"'&)&&+%$)&*$*$%)&)&$$%!+$%$!)!')+)"#$)""'+"&$$($'"(("'+*'%$)&%&##')!!*#'&"+(%)(+()#+)&&&!!&"&"&!!$"""''#&(&)!)$%")")%+&$'%*
+@r9996
+NNGCNTGCCTGGTTAGACAGTGCTCTTTCCGTTGTGCTGAATTAAGCGAANACCGGAAGCAGAACCGGATCACCAGATNCGTACAGGCGTCATCTCCGCCCAGCAACAGCACAACCCANACTGAGCCG
++
+#%''"+&('$'$+)+*&#"'$&&(*!#%*!$$$*%()&#$')()&!#$))"!*(##+#(&+!**)&+#%(+!%**+(()#(!"($*#*##*#$('!*&!$*#*&!%+!''*&"!&!#*"#$(#+&!%)
+@r9997
+CGCNAGTAGTACTGCAAGAGGTTCCAAAATCCTGCATGTGGAAAGTCCTACGGTCAATAGAAGCAATAAATATTATCCGTCCGGATATTGAGACATTCGGTGAGAACTTAGGT
++
+,3EC6)?7##$%,D99!?$6.G1;'.$11%G&+.GF+B1">AD47&%(E*;:"9%4E5=*/0*")#AF@0=B"!<2?>>?4CH,?9.0+>?+(:'?*#=+7D4#9.67<.$HB
+@r9998
+CCTCACAATATAGTTAAATGCAATGTTTTTGACGGTGTTTTCCGCGTTACCCGCAGCGTTAACGGTGATGGTGTGTCCGTGTGAACCAATACTGAAAGAATGNGCATGAGCACCGATAACAACCGGATGCTGGTGCGCACCAATACCAACTGTATGCGCATGTGCACCGGCACTCACGGCTGTACCGGACANTGAGTGACTGTGGCTGCCCTGACTGTCCGTTTTCGA
++
+-0@0G"G/9F!!G?,<6";-?$<23A/*9H!E:)&724(5D6+:5>H$>C;5<BCH.5-G44D@6+H9C/"#4H?%'GD7'E<55BH'*+>2:#"0865/#E-?*!$<H>)&/$*.@>E.!!D;!F#5H9874'@'=$(C;F%"@-$H-"'#.#"AE!F/;-2)F?=@&=2)'F(>%90CC1%>F345""<4B=.$49?'G@?FB?A:*8*91F?-BG$#76&2C!'(
+@r9999
+GGTGCCAGTCGGCATACTCCGTGGATGACATCCCGGCAAGCATGGCACG
++
+#<!H!@@6GH;B"/).+*30H;C(6)"&@#6?(C=1#:B"8"%6D9,@/
+@r10000
+GATGGAACAATACCAGGACTATCCGTATGACTACGACTATTGATAAAAATCAATGGTGTGGACAATTCAAGCGATGCAATGGATGCAAGCTGCA
++
+<:A:9@+@B")2!5*?3F&9)5H0==6:D*#71G,!3D56H38"(.>&5G",@&HF>."63.(1H;)/..6?69+F/:-&=#=H2!C,H!/>!0
test-data/samples/sample1/var.flt.vcf
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample1/var.flt.vcf
test-data/samples/sample1/var.flt.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample1/var.flt.vcf Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,70 @@
+##fileformat=VCFv4.1
+##source=VarScan2
+##INFO=<ID=ADP,Number=1,Type=Integer,Description="Average per-sample depth of bases with Phred score >= 15">
+##INFO=<ID=WT,Number=1,Type=Integer,Description="Number of samples called reference (wild-type)">
+##INFO=<ID=HET,Number=1,Type=Integer,Description="Number of samples called heterozygous-variant">
+##INFO=<ID=HOM,Number=1,Type=Integer,Description="Number of samples called homozygous-variant">
+##INFO=<ID=NC,Number=1,Type=Integer,Description="Number of samples not called">
+##FILTER=<ID=str10,Description="Less than 10% or more than 90% of variant supporting reads on one strand">
+##FILTER=<ID=indelError,Description="Likely artifact due to indel reads at this position">
+##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
+##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality">
+##FORMAT=<ID=SDP,Number=1,Type=Integer,Description="Raw Read Depth as reported by SAMtools">
+##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Quality Read Depth of bases with Phred score >= 15">
+##FORMAT=<ID=RD,Number=1,Type=Integer,Description="Depth of reference-supporting bases (reads1)">
+##FORMAT=<ID=AD,Number=1,Type=Integer,Description="Depth of variant-supporting bases (reads2)">
+##FORMAT=<ID=FREQ,Number=1,Type=String,Description="Variant allele frequency">
+##FORMAT=<ID=PVAL,Number=1,Type=String,Description="P-value from Fisher's Exact Test">
+##FORMAT=<ID=RBQ,Number=1,Type=Integer,Description="Average quality of reference-supporting bases (qual1)">
+##FORMAT=<ID=ABQ,Number=1,Type=Integer,Description="Average quality of variant-supporting bases (qual2)">
+##FORMAT=<ID=RDF,Number=1,Type=Integer,Description="Depth of reference-supporting bases on forward strand (reads1plus)">
+##FORMAT=<ID=RDR,Number=1,Type=Integer,Description="Depth of reference-supporting bases on reverse strand (reads1minus)">
+##FORMAT=<ID=ADF,Number=1,Type=Integer,Description="Depth of variant-supporting bases on forward strand (reads2plus)">
+##FORMAT=<ID=ADR,Number=1,Type=Integer,Description="Depth of variant-supporting bases on reverse strand (reads2minus)">
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT Sample1
+gi|9626243|ref|NC_001416.1| 403 . G A . PASS ADP=26;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:146:27:26:0:26:100%:2.0165E-15:0:31:0:0:12:14
+gi|9626243|ref|NC_001416.1| 753 . G A . PASS ADP=24;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:129:25:24:0:23:100%:1.2146E-13:0:27:0:0:15:8
+gi|9626243|ref|NC_001416.1| 1079 . T C . PASS ADP=25;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:135:26:25:0:24:100%:3.101E-14:0:26:0:0:9:15
+gi|9626243|ref|NC_001416.1| 1540 . A G . PASS ADP=22;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:123:24:22:0:22:100%:4.7526E-13:0:24:0:0:13:9
+gi|9626243|ref|NC_001416.1| 1804 . G C . PASS ADP=23;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:129:23:23:0:23:100%:1.2146E-13:0:28:0:0:11:12
+gi|9626243|ref|NC_001416.1| 2123 . G C . PASS ADP=23;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:129:24:23:0:23:100%:1.2146E-13:0:27:0:0:10:13
+gi|9626243|ref|NC_001416.1| 3351 . C G . PASS ADP=22;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:123:24:22:0:22:100%:4.7526E-13:0:28:0:0:10:12
+gi|9626243|ref|NC_001416.1| 3656 . T G . PASS ADP=23;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:129:25:23:0:23:100%:1.2146E-13:0:25:0:0:12:11
+gi|9626243|ref|NC_001416.1| 4977 . G A . PASS ADP=22;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:123:25:22:0:22:100%:4.7526E-13:0:27:0:0:10:12
+gi|9626243|ref|NC_001416.1| 5482 . G A . PASS ADP=17;WT=0;HET=0;HOM=1;NC=0 G..PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:87:18:16:0:16:100%:1.6637E-9:0:26:0:0:5:11
+gi|9626243|ref|NC_001416.1| 23362 . T A . PASS ADP=11;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:58:14:11:0:11:100%:1.4176E-6:0:26:0:0:3:8
+gi|9626243|ref|NC_001416.1| 24319 . G T . PASS ADP=18;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:99:19:18:0:18:100%:1.1019E-10:0:26:0:0:7:11
+gi|9626243|ref|NC_001416.1| 24766 . G A . PASS ADP=17;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:93:19:17:0:17:100%:4.2852E-10:0:24:0:0:6:11
+gi|9626243|ref|NC_001416.1| 27790 . A C . PASS ADP=18;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:93:20:18:0:17:100%:4.2852E-10:0:26:0:0:6:11
+gi|9626243|ref|NC_001416.1| 29891 . G C . PASS ADP=20;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:111:21:20:0:20:100%:7.2544E-12:0:26:0:0:9:11
+gi|9626243|ref|NC_001416.1| 31551 . A G . PASS ADP=15;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:81:16:15:0:15:100%:6.4467E-9:0:25:0:0:7:8
+gi|9626243|ref|NC_001416.1| 32086 . T A . PASS ADP=15;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:69:17:15:1:14:93.33%:1.0315E-7:33:28:1:0:7:7
+gi|9626243|ref|NC_001416.1| 33000 . C T . PASS ADP=17;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:93:18:17:0:17:100%:4.2852E-10:0:26:0:0:7:10
+gi|9626243|ref|NC_001416.1| 33591 . T G . PASS ADP=30;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:170:30:30:0:30:100%:8.4556E-18:0:26:0:0:16:14
+gi|9626243|ref|NC_001416.1| 34370 . A G . PASS ADP=22;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:117:23:22:0:21:100%:1.8578E-12:0:26:0:0:10:11
+gi|9626243|ref|NC_001416.1| 34812 . A C . PASS ADP=16;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:81:16:16:0:15:100%:6.4467E-9:0:26:0:0:11:4
+gi|9626243|ref|NC_001416.1| 34920 . T C . PASS ADP=15;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:81:16:15:0:15:100%:6.4467E-9:0:23:0:0:9:6
+gi|9626243|ref|NC_001416.1| 35148 . C A . PASS ADP=16;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:87:16:16:0:16:100%:1.6637E-9:0:26:0:0:10:6
+gi|9626243|ref|NC_001416.1| 36010 . C T . PASS ADP=9;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:46:9:9:0:9:100%:2.0568E-5:0:26:0:0:0:9
+gi|9626243|ref|NC_001416.1| 37208 . G C . PASS ADP=19;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:105:19:19:0:19:100%:2.8292E-11:0:29:0:0:8:11
+gi|9626243|ref|NC_001416.1| 38165 . T C . PASS ADP=27;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:152:29:27:0:27:100%:5.1363E-16:0:23:0:0:17:10
+gi|9626243|ref|NC_001416.1| 39485 . A C . PASS ADP=20;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:111:20:20:0:20:100%:7.2544E-12:0:29:0:0:10:10
+gi|9626243|ref|NC_001416.1| 40457 . T C . PASS ADP=27;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:138:28:27:1:26:96.3%:1.4382E-14:24:25:1:0:11:15
+gi|9626243|ref|NC_001416.1| 42439 . A C . PASS ADP=24;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:135:28:24:0:24:100%:3.101E-14:0:26:0:0:16:8
+gi|9626243|ref|NC_001416.1| 43306 . T G . PASS ADP=32;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:176:33:32:0:31:100%:2.1486E-18:0:27:0:0:11:20
+gi|9626243|ref|NC_001416.1| 46237 . G A . PASS ADP=27;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:152:27:27:0:27:100%:5.1363E-16:0:26:0:0:12:15
+gi|9626243|ref|NC_001416.1| 47893 . G A . PASS ADP=23;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:129:28:23:0:23:100%:1.2146E-13:0:25:0:0:12:11
test-data/samples/sample1/var.flt_preserved.vcf
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample1/var.flt_preserved.vcf
test-data/samples/sample1/var.flt_preserved.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample1/var.flt_preserved.vcf Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,56 @@
+##fileformat=VCFv4.1
+##source=VarScan2
+##INFO=<ID=ADP,Number=1,Type=Integer,Description="Average per-sample depth of bases with Phred score >= 15">
+##INFO=<ID=WT,Number=1,Type=Integer,Description="Number of samples called reference (wild-type)">
+##INFO=<ID=HET,Number=1,Type=Integer,Description="Number of samples called heterozygous-variant">
+##INFO=<ID=HOM,Number=1,Type=Integer,Description="Number of samples called homozygous-variant">
+##INFO=<ID=NC,Number=1,Type=Integer,Description="Number of samples not called">
+##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
+##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality">
+##FORMAT=<ID=SDP,Number=1,Type=Integer,Description="Raw Read Depth as reported by SAMtools">
+##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Quality Read Depth of bases with Phred score >= 15">
+##FORMAT=<ID=RD,Number=1,Type=Integer,Description="Depth of reference-supporting bases (reads1)">
+##FORMAT=<ID=AD,Number=1,Type=Integer,Description="Depth of variant-supporting bases (reads2)">
+##FORMAT=<ID=FREQ,Number=1,Type=String,Description="Variant allele frequency">
+##FORMAT=<ID=PVAL,Number=1,Type=String,Description="P-value from Fisher's Exact Test">
+##FORMAT=<ID=RBQ,Number=1,Type=Integer,Description="Average quality of reference-supporting bases (qual1)">
+##FORMAT=<ID=ABQ,Number=1,Type=Integer,Description="Average quality of variant-supporting bases (qual2)">
+##FORMAT=<ID=RDF,Number=1,Type=Integer,Description="Depth of reference-supporting bases on forward strand (reads1plus)">
+##FORMAT=<ID=RDR,Number=1,Type=Integer,Description="Depth of reference-supporting bases on reverse strand (reads1minus)">
+##FORMAT=<ID=ADF,Number=1,Type=Integer,Description="Depth of variant-supporting bases on forward strand (reads2plus)">
+##FORMAT=<ID=ADR,Number=1,Type=Integer,Description="Depth of variant-supporting bases on reverse strand (reads2minus)">
+##FILTER=<ID=str10,Description="Less than 10% or more than 90% of variant supporting reads on one strand">
+##FILTER=<ID=indelError,Description="Likely artifact due to indel reads at this position">
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT Sample1
+gi|9626243|ref|NC_001416.1| 753 . G A . PASS ADP=24;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:129:25:24:0:23:100%:1.2146E-13:0:27:0:0:15:8
+gi|9626243|ref|NC_001416.1| 3351 . C G . PASS ADP=22;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:123:24:22:0:22:100%:4.7526E-13:0:28:0:0:10:12
+gi|9626243|ref|NC_001416.1| 3656 . T G . PASS ADP=23;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:129:25:23:0:23:100%:1.2146E-13:0:25:0:0:12:11
+gi|9626243|ref|NC_001416.1| 6824 . A C . PASS ADP=18;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:99:19:18:0:18:100%:1.1019E-10:0:26:0:0:10:8
+gi|9626243|ref|NC_001416.1| 7897 . G A . PASS ADP=23;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:129:26:23:0:23:100%:1.2146E-13:0:25:0:0:11:12
+gi|9626243|ref|NC_001416.1| 9175 . A G . PASS ADP=22;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:123:22:22:0:22:100%:4.7526E-13:0:28:0:0:8:14
+gi|9626243|ref|NC_001416.1| 12717 . G C . PASS ADP=25;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:135:29:25:0:24:100%:3.101E-14:0:28:0:0:10:14
+gi|9626243|ref|NC_001416.1| 12795 . C T . PASS ADP=26;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:146:27:26:0:26:100%:2.0165E-15:0:29:0:0:16:10
+gi|9626243|ref|NC_001416.1| 12959 . T G . PASS ADP=21;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:117:22:21:0:21:100%:1.8578E-12:0:25:0:0:13:8
+gi|9626243|ref|NC_001416.1| 16654 . C G . PASS ADP=23;WT=0;HET=0..Q:ABQ:RDF:RDR:ADF:ADR 1/1:129:24:23:0:23:100%:1.2146E-13:0:26:0:0:14:9
+gi|9626243|ref|NC_001416.1| 16715 . T G . PASS ADP=18;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:99:19:18:0:18:100%:1.1019E-10:0:25:0:0:8:10
+gi|9626243|ref|NC_001416.1| 18598 . C G . PASS ADP=22;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:123:25:22:0:22:100%:4.7526E-13:0:24:0:0:12:10
+gi|9626243|ref|NC_001416.1| 19469 . G T . PASS ADP=18;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:99:21:18:0:18:100%:1.1019E-10:0:28:0:0:11:7
+gi|9626243|ref|NC_001416.1| 20099 . C T . PASS ADP=28;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:158:28:28:0:28:100%:1.3074E-16:0:29:0:0:14:14
+gi|9626243|ref|NC_001416.1| 21110 . T G . PASS ADP=16;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:87:18:16:0:16:100%:1.6637E-9:0:26:0:0:5:11
+gi|9626243|ref|NC_001416.1| 23362 . T A . PASS ADP=11;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:58:14:11:0:11:100%:1.4176E-6:0:26:0:0:3:8
+gi|9626243|ref|NC_001416.1| 24319 . G T . PASS ADP=18;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:99:19:18:0:18:100%:1.1019E-10:0:26:0:0:7:11
+gi|9626243|ref|NC_001416.1| 24766 . G A . PASS ADP=17;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:93:19:17:0:17:100%:4.2852E-10:0:24:0:0:6:11
+gi|9626243|ref|NC_001416.1| 29891 . G C . PASS ADP=20;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:111:21:20:0:20:100%:7.2544E-12:0:26:0:0:9:11
+gi|9626243|ref|NC_001416.1| 31551 . A G . PASS ADP=15;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:81:16:15:0:15:100%:6.4467E-9:0:25:0:0:7:8
+gi|9626243|ref|NC_001416.1| 32086 . T A . PASS ADP=15;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:69:17:15:1:14:93.33%:1.0315E-7:33:28:1:0:7:7
+gi|9626243|ref|NC_001416.1| 33000 . C T . PASS ADP=17;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:93:18:17:0:17:100%:4.2852E-10:0:26:0:0:7:10
+gi|9626243|ref|NC_001416.1| 33591 . T G . PASS ADP=30;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:170:30:30:0:30:100%:8.4556E-18:0:26:0:0:16:14
+gi|9626243|ref|NC_001416.1| 36010 . C T . PASS ADP=9;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:46:9:9:0:9:100%:2.0568E-5:0:26:0:0:0:9
+gi|9626243|ref|NC_001416.1| 37208 . G C . PASS ADP=19;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:105:19:19:0:19:100%:2.8292E-11:0:29:0:0:8:11
+gi|9626243|ref|NC_001416.1| 38165 . T C . PASS ADP=27;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:152:29:27:0:27:100%:5.1363E-16:0:23:0:0:17:10
+gi|9626243|ref|NC_001416.1| 39485 . A C . PASS ADP=20;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:111:20:20:0:20:100%:7.2544E-12:0:29:0:0:10:10
+gi|9626243|ref|NC_001416.1| 40457 . T C . PASS ADP=27;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:138:28:27:1:26:96.3%:1.4382E-14:24:25:1:0:11:15
+gi|9626243|ref|NC_001416.1| 42439 . A C . PASS ADP=24;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:135:28:24:0:24:100%:3.101E-14:0:26:0:0:16:8
+gi|9626243|ref|NC_001416.1| 43306 . T G . PASS ADP=32;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:176:33:32:0:31:100%:2.1486E-18:0:27:0:0:11:20
+gi|9626243|ref|NC_001416.1| 46237 . G A . PASS ADP=27;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:152:27:27:0:27:100%:5.1363E-16:0:26:0:0:12:15
+gi|9626243|ref|NC_001416.1| 47893 . G A . PASS ADP=23;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:129:28:23:0:23:100%:1.2146E-13:0:25:0:0:12:11
test-data/samples/sample1/var.flt_removed.vcf
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample1/var.flt_removed.vcf
test-data/samples/sample1/var.flt_removed.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample1/var.flt_removed.vcf Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,38 @@
+##fileformat=VCFv4.1
+##source=VarScan2
+##INFO=<ID=ADP,Number=1,Type=Integer,Description="Average per-sample depth of bases with Phred score >= 15">
+##INFO=<ID=WT,Number=1,Type=Integer,Description="Number of samples called reference (wild-type)">
+##INFO=<ID=HET,Number=1,Type=Integer,Description="Number of samples called heterozygous-variant">
+##INFO=<ID=HOM,Number=1,Type=Integer,Description="Number of samples called homozygous-variant">
+##INFO=<ID=NC,Number=1,Type=Integer,Description="Number of samples not called">
+##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
+##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality">
+##FORMAT=<ID=SDP,Number=1,Type=Integer,Description="Raw Read Depth as reported by SAMtools">
+##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Quality Read Depth of bases with Phred score >= 15">
+##FORMAT=<ID=RD,Number=1,Type=Integer,Description="Depth of reference-supporting bases (reads1)">
+##FORMAT=<ID=AD,Number=1,Type=Integer,Description="Depth of variant-supporting bases (reads2)">
+##FORMAT=<ID=FREQ,Number=1,Type=String,Description="Variant allele frequency">
+##FORMAT=<ID=PVAL,Number=1,Type=String,Description="P-value from Fisher's Exact Test">
+##FORMAT=<ID=RBQ,Number=1,Type=Integer,Description="Average quality of reference-supporting bases (qual1)">
+##FORMAT=<ID=ABQ,Number=1,Type=Integer,Description="Average quality of variant-supporting bases (qual2)">
+##FORMAT=<ID=RDF,Number=1,Type=Integer,Description="Depth of reference-supporting bases on forward strand (reads1plus)">
+##FORMAT=<ID=RDR,Number=1,Type=Integer,Description="Depth of reference-supporting bases on reverse strand (reads1minus)">
+##FORMAT=<ID=ADF,Number=1,Type=Integer,Description="Depth of variant-supporting bases on forward strand (reads2plus)">
+##FORMAT=<ID=ADR,Number=1,Type=Integer,Description="Depth of variant-supporting bases on reverse strand (reads2minus)">
+##FILTER=<ID=str10,Description="Less than 10% or more than 90% of variant supporting reads on one strand">
+##FILTER=<ID=indelError,Description="Likely artifact due to indel reads at this position">
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT Sample1
+gi|9626243|ref|NC_001416.1| 403 . G A . PASS ADP=26;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:146:27:26:0:26:100%:2.0165E-15:0:31:0:0:12:14
+gi|9626243|ref|NC_001416.1| 1079 . T C . PASS ADP=25;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:135:26:25:0:24:100%:3.101E-14:0:26:0:0:9:15
+gi|9626243|ref|NC_001416.1| 1540 . A G . PASS ADP=22;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:123:24:22:0:22:100%:4.7526E-13:0:24:0:0:13:9
+gi|9626243|ref|NC_001416.1| 1804 . G C . PASS ADP=23;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:129:23:23:0:23:100%:1.2146E-13:0:28:0:0:11:12
+gi|9626243|ref|NC_001416.1| 2123 . G C . PASS ADP=23;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:129:24:23:0:23:100%:1.2146E-13:0:27:0:0:10:13
+gi|9626243|ref|NC_001416.1| 4977 . G A . PASS ADP=22;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:123:25:22:0:22:100%:4.7526E-13:0:27:0:0:10:12
+gi|9626243|ref|NC_001416.1| 5482 . G A . PASS ADP=17;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:93:18:17:0:17:100%:4.2852E-10:0:28:0:0:8:9
+gi|9626243|ref|NC_001416.1| 5516 . T A . PASS ADP=13;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:70:16:13:0:13:100%:9.6148E-8:0:23:0:0:7:6
+gi|9626243|ref|NC_001416.1| 5800 . G A . PASS ADP=13;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:70:19:13:0:13:100%:9.6148E-8:0:26:0:0:4:9
+gi|9626243|ref|NC_001416.1| 27790 . A C . PASS ADP=18;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:93:20:18:0:17:100%:4.2852E-10:0:26:0:0:6:11
+gi|9626243|ref|NC_001416.1| 34370 . A G . PASS ADP=22;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:117:23:22:0:21:100%:1.8578E-12:0:26:0:0:10:11
+gi|9626243|ref|NC_001416.1| 34812 . A C . PASS ADP=16;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:81:16:16:0:15:100%:6.4467E-9:0:26:0:0:11:4
+gi|9626243|ref|NC_001416.1| 34920 . T C . PASS ADP=15;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:81:16:15:0:15:100%:6.4467E-9:0:23:0:0:9:6
+gi|9626243|ref|NC_001416.1| 35148 . C A . PASS ADP=16;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:87:16:16:0:16:100%:1.6637E-9:0:26:0:0:10:6
test-data/samples/sample2/consensus.fasta
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample2/consensus.fasta
test-data/samples/sample2/consensus.fasta
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample2/consensus.fasta Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,4 @@
+>sample2
+GGCGCTAGGAGGCAAGCCTTGGTCGTGGTTAATAGTTACAAGGCGTGCGCGTACTGCCGT
+CTCCTACTATCTCTGCCGCCTCTCGCGATCCGGACCGCAACACCAACTCTCTGGTGGCAT
+CCTCTGAATCGTCGTGAGCATCTCAATTATATATTCGTCCGCGCG
test-data/samples/sample2/consensus.vcf
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample2/consensus.vcf
test-data/samples/sample2/consensus.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample2/consensus.vcf Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,186 @@
+##fileformat=VCFv4.1
+##fileDate=20180103
+##source=CFSAN SNP-Pipeline 1.0.1
+##reference=lambda_virus.fasta
+##INFO=<ID=NS,Number=1,Type=Integer,Description="Number of samples with data">
+##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
+##FORMAT=<ID=SDP,Number=1,Type=Integer,Description="Raw read depth">
+##FORMAT=<ID=RD,Number=1,Type=Integer,Description="Depth of reference-supporting bases (reads1)">
+##FORMAT=<ID=AD,Number=1,Type=Integer,Description="Depth of variant-supporting bases (reads2)">
+##FORMAT=<ID=RDF,Number=1,Type=Integer,Description="Depth of reference-supporting bases on forward strand (reads1plus)">
+##FORMAT=<ID=RDR,Number=1,Type=Integer,Description="Depth of reference-supporting bases on reverse strand (reads1minus)">
+##FORMAT=<ID=ADF,Number=1,Type=Integer,Description="Depth of variant-supporting bases on forward strand (reads2plus)">
+##FORMAT=<ID=ADR,Number=1,Type=Integer,Description="Depth of variant-supporting bases on reverse strand (reads2minus)">
+##FORMAT=<ID=FT,Number=1,Type=String,Description="Genotype filters using the same codes as the FILTER data element">
+##FILTER=<ID=PASS,Description="All filters passed">
+##FILTER=<ID=RawDpth,Description="No read depth">
+##FILTER=<ID=VarFreq60,Description="Variant base frequency below 0.60">
+##FILTER=<ID=StrDpth0,Description="Less than 0 variant-supporing reads on at least one strand">
+##FILTER=<ID=StrBias0,Description="Fraction of variant supporting reads below 0.00 on one strand">
+##FILTER=<ID=Region,Description="Position is in dense region of snps or near the end of the contig.">
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT sample2
+gi|9626243|ref|NC_001416.1| 403 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:24:24:0:11:13:0:0:PASS
+gi|9626243|ref|NC_001416.1| 550 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:26:26:0:14:12:0:0:PASS
+gi|9626243|ref|NC_001416.1| 586 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:23:23:0:12:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 753 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:27:27:0:10:17:0:0:PASS
+gi|9626243|ref|NC_001416.1| 1019 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:18:18:0:7:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 1079 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:20:20:0:10:10:0:0:PASS
+gi|9626243|ref|NC_001416.1| 1540 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:22:22:0:3:19:0:0:PASS
+gi|9626243|ref|NC_001416.1| 1620 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:11:10:1:0:10:0:1:PASS
+gi|9626243|ref|NC_001416.1| 1650 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:9:9:0:0:9:0:0:PASS
+gi|9626243|ref|NC_001416.1| 1788 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:8:8:0:8:0:0:0:PASS
+gi|9626243|ref|NC_001416.1| 1804 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:11:11:0:10:1:0:0:PASS
+gi|9626243|ref|NC_001416.1| 2123 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:20:20:0:10:10:0:0:PASS
+gi|9626243|ref|NC_001416.1| 2439 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:16:16:0:10:6:0:0:PASS
+gi|9626243|ref|NC_001416.1| 2452 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:22:21:1:11:10:1:0:PASS
+gi|9626243|ref|NC_001416.1| 2599 . C A . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:25:0:25:0:0:8:17:PASS
+gi|9626243|ref|NC_001416.1| 3063 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:26:25:1:16:9:0:1:PASS
+gi|9626243|ref|NC_001416.1| 3351 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:31:30:1:12:18:0:1:PASS
+gi|9626243|ref|NC_001416.1| 3648 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:23:23:0:10:13:0:0:PASS
+gi|9626243|ref|NC_001416.1| 3656 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:20:20:0:8:12:0:0:PASS
+gi|9626243|ref|NC_001416.1| 3678 . C T . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:19:1:18:1:0:10:8:PASS
+gi|9626243|ref|NC_001416.1| 4977 . G . . PASS..:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:23:23:0:12:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 35148 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:28:28:0:13:15:0:0:PASS
+gi|9626243|ref|NC_001416.1| 35802 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:23:23:0:15:8:0:0:PASS
+gi|9626243|ref|NC_001416.1| 35907 . G T . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:32:0:30:0:0:19:11:PASS
+gi|9626243|ref|NC_001416.1| 36010 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:28:28:0:12:16:0:0:PASS
+gi|9626243|ref|NC_001416.1| 36169 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:29:28:1:15:13:0:1:PASS
+gi|9626243|ref|NC_001416.1| 36642 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:26:26:0:14:12:0:0:PASS
+gi|9626243|ref|NC_001416.1| 37208 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:26:26:0:19:7:0:0:PASS
+gi|9626243|ref|NC_001416.1| 37387 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:29:29:0:13:16:0:0:PASS
+gi|9626243|ref|NC_001416.1| 37519 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:19:19:0:10:9:0:0:PASS
+gi|9626243|ref|NC_001416.1| 37898 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:29:28:1:14:14:1:0:PASS
+gi|9626243|ref|NC_001416.1| 38073 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:27:26:1:15:11:0:1:PASS
+gi|9626243|ref|NC_001416.1| 38165 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:19:18:1:14:4:0:1:PASS
+gi|9626243|ref|NC_001416.1| 38575 . A C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:21:0:21:0:0:10:11:PASS
+gi|9626243|ref|NC_001416.1| 39003 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:16:16:0:6:10:0:0:PASS
+gi|9626243|ref|NC_001416.1| 39206 . T C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:20:0:19:0:0:7:12:PASS
+gi|9626243|ref|NC_001416.1| 39484 . C A . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:20:0:20:0:0:12:8:PASS
+gi|9626243|ref|NC_001416.1| 39485 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:21:21:0:14:7:0:0:PASS
+gi|9626243|ref|NC_001416.1| 40457 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:32:31:1:15:16:1:0:PASS
+gi|9626243|ref|NC_001416.1| 40835 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:33:33:0:17:16:0:0:PASS
+gi|9626243|ref|NC_001416.1| 40984 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:19:19:0:7:12:0:0:PASS
+gi|9626243|ref|NC_001416.1| 41064 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:31:31:0:17:14:0:0:PASS
+gi|9626243|ref|NC_001416.1| 41448 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:26:26:0:12:14:0:0:PASS
+gi|9626243|ref|NC_001416.1| 41954 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:32:32:0:16:16:0:0:PASS
+gi|9626243|ref|NC_001416.1| 42439 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:23:23:0:13:10:0:0:PASS
+gi|9626243|ref|NC_001416.1| 43306 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:29:29:0:13:16:0:0:PASS
+gi|9626243|ref|NC_001416.1| 43470 . G T . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:25:0:25:0:0:14:11:PASS
+gi|9626243|ref|NC_001416.1| 44134 . T C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:22:0:21:0:0:12:9:PASS
+gi|9626243|ref|NC_001416.1| 44201 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:30:30:0:13:17:0:0:PASS
+gi|9626243|ref|NC_001416.1| 44413 . G T . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:32:0:32:0:0:13:19:PASS
+gi|9626243|ref|NC_001416.1| 45364 . A C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:27:0:25:0:0:16:9:PASS
+gi|9626243|ref|NC_001416.1| 45409 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:26:26:0:13:13:0:0:PASS
+gi|9626243|ref|NC_001416.1| 46237 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:19:19:0:3:16:0:0:PASS
+gi|9626243|ref|NC_001416.1| 46283 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:12:12:0:1:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 46842 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:29:28:1:12:16:1:0:PASS
+gi|9626243|ref|NC_001416.1| 47425 . T C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:19:0:18:0:0:11:7:PASS
+gi|9626243|ref|NC_001416.1| 47893 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:11:11:0:5:6:0:0:PASS
test-data/samples/sample2/consensus_preserved.fasta
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample2/consensus_preserved.fasta
test-data/samples/sample2/consensus_preserved.fasta
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample2/consensus_preserved.fasta Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,4 @@
+>sample2
+GCGAGCCTTGTTAATAGTTACAAGGCGTGCGCGTACTGCCGTCTCCTACTATCTCTGCCG
+CCTCTCGCGATCCGGACCGCACTCTCTGGTGGCATCCTCTGGTCGTGAGCATCTCAATTA
+TATATTCGTCCGCGCG
test-data/samples/sample2/consensus_preserved.vcf
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample2/consensus_preserved.vcf
test-data/samples/sample2/consensus_preserved.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample2/consensus_preserved.vcf Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,160 @@
+##fileformat=VCFv4.1
+##fileDate=20180103
+##source=CFSAN SNP-Pipeline 1.0.1
+##reference=lambda_virus.fasta
+##INFO=<ID=NS,Number=1,Type=Integer,Description="Number of samples with data">
+##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
+##FORMAT=<ID=SDP,Number=1,Type=Integer,Description="Raw read depth">
+##FORMAT=<ID=RD,Number=1,Type=Integer,Description="Depth of reference-supporting bases (reads1)">
+##FORMAT=<ID=AD,Number=1,Type=Integer,Description="Depth of variant-supporting bases (reads2)">
+##FORMAT=<ID=RDF,Number=1,Type=Integer,Description="Depth of reference-supporting bases on forward strand (reads1plus)">
+##FORMAT=<ID=RDR,Number=1,Type=Integer,Description="Depth of reference-supporting bases on reverse strand (reads1minus)">
+##FORMAT=<ID=ADF,Number=1,Type=Integer,Description="Depth of variant-supporting bases on forward strand (reads2plus)">
+##FORMAT=<ID=ADR,Number=1,Type=Integer,Description="Depth of variant-supporting bases on reverse strand (reads2minus)">
+##FORMAT=<ID=FT,Number=1,Type=String,Description="Genotype filters using the same codes as the FILTER data element">
+##FILTER=<ID=PASS,Description="All filters passed">
+##FILTER=<ID=RawDpth,Description="No read depth">
+##FILTER=<ID=VarFreq60,Description="Variant base frequency below 0.60">
+##FILTER=<ID=StrDpth0,Description="Less than 0 variant-supporing reads on at least one strand">
+##FILTER=<ID=StrBias0,Description="Fraction of variant supporting reads below 0.00 on one strand">
+##FILTER=<ID=Region,Description="Position is in dense region of snps or near the end of the contig.">
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT sample2
+gi|9626243|ref|NC_001416.1| 550 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:26:26:0:14:12:0:0:PASS
+gi|9626243|ref|NC_001416.1| 586 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:23:23:0:12:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 753 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:27:27:0:10:17:0:0:PASS
+gi|9626243|ref|NC_001416.1| 2599 . C A . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:25:0:25:0:0:8:17:PASS
+gi|9626243|ref|NC_001416.1| 3063 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:26:25:1:16:9:0:1:PASS
+gi|9626243|ref|NC_001416.1| 3351 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:31:30:1:12:18:0:1:PASS
+gi|9626243|ref|NC_001416.1| 3648 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:23:23:0:10:13:0:0:PASS
+gi|9626243|ref|NC_001416.1| 3656 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:20:20:0:8:12:0:0:PASS
+gi|9626243|ref|NC_001416.1| 3678 . C T . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:19:1:18:1:0:10:8:PASS
+gi|9626243|ref|NC_001416.1| 5142 . C G . Region NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT .:18:0:18:0:0:4:14:Region
+gi|9626243|ref|NC_001416.1| 5336 . G T . Region NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT .:8:0:8:0:0:1:7:Region
+gi|9626243|ref|NC_001416.1| 5818 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:26:26:0:15:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 5994 . A T . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:21:0:21:0:0:10:11:PASS
+gi|9626243|ref|NC_001416.1| 6296 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:24:24:0:10:14:0:0:PASS
+gi|9626243|ref|NC_001416.1| 6535 . C A . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:22:0:21:0:0:8:13:PASS
+gi|9626243|ref|NC_001416.1| 6824 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:24:23:1:8:15:1:0:PASS
+gi|9626243|ref|NC_001416.1| 7424 . G T . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:25:0:24:0:0:15:9:PASS
+gi|9626243|ref|NC_001416.1| 7668 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:26:26:0:14:12:0:0:PASS
+gi|9626243|ref|NC_001416.1| 7897 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:26:26:0:9:17:0:0:PASS
+gi|9626243|ref|NC_001416.1| 8420 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:26:26:0:11:15:0:0:PASS
+gi|9626243|ref|NC_0014..:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:24:24:0:11:13:0:0:PASS
+gi|9626243|ref|NC_001416.1| 34137 . T G . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:34:0:33:0:0:18:15:PASS
+gi|9626243|ref|NC_001416.1| 35802 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:23:23:0:15:8:0:0:PASS
+gi|9626243|ref|NC_001416.1| 35907 . G T . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:32:0:30:0:0:19:11:PASS
+gi|9626243|ref|NC_001416.1| 36010 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:28:28:0:12:16:0:0:PASS
+gi|9626243|ref|NC_001416.1| 36169 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:29:28:1:15:13:0:1:PASS
+gi|9626243|ref|NC_001416.1| 36642 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:26:26:0:14:12:0:0:PASS
+gi|9626243|ref|NC_001416.1| 37208 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:26:26:0:19:7:0:0:PASS
+gi|9626243|ref|NC_001416.1| 37387 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:29:29:0:13:16:0:0:PASS
+gi|9626243|ref|NC_001416.1| 37519 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:19:19:0:10:9:0:0:PASS
+gi|9626243|ref|NC_001416.1| 37898 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:29:28:1:14:14:1:0:PASS
+gi|9626243|ref|NC_001416.1| 38073 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:27:26:1:15:11:0:1:PASS
+gi|9626243|ref|NC_001416.1| 38165 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:19:18:1:14:4:0:1:PASS
+gi|9626243|ref|NC_001416.1| 38575 . A C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:21:0:21:0:0:10:11:PASS
+gi|9626243|ref|NC_001416.1| 39003 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:16:16:0:6:10:0:0:PASS
+gi|9626243|ref|NC_001416.1| 39206 . T C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:20:0:19:0:0:7:12:PASS
+gi|9626243|ref|NC_001416.1| 39484 . C A . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:20:0:20:0:0:12:8:PASS
+gi|9626243|ref|NC_001416.1| 39485 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:21:21:0:14:7:0:0:PASS
+gi|9626243|ref|NC_001416.1| 40457 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:32:31:1:15:16:1:0:PASS
+gi|9626243|ref|NC_001416.1| 40835 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:33:33:0:17:16:0:0:PASS
+gi|9626243|ref|NC_001416.1| 40984 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:19:19:0:7:12:0:0:PASS
+gi|9626243|ref|NC_001416.1| 41064 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:31:31:0:17:14:0:0:PASS
+gi|9626243|ref|NC_001416.1| 41448 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:26:26:0:12:14:0:0:PASS
+gi|9626243|ref|NC_001416.1| 41954 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:32:32:0:16:16:0:0:PASS
+gi|9626243|ref|NC_001416.1| 42439 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:23:23:0:13:10:0:0:PASS
+gi|9626243|ref|NC_001416.1| 43306 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:29:29:0:13:16:0:0:PASS
+gi|9626243|ref|NC_001416.1| 43470 . G T . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:25:0:25:0:0:14:11:PASS
+gi|9626243|ref|NC_001416.1| 44134 . T C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:22:0:21:0:0:12:9:PASS
+gi|9626243|ref|NC_001416.1| 44201 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:30:30:0:13:17:0:0:PASS
+gi|9626243|ref|NC_001416.1| 44413 . G T . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:32:0:32:0:0:13:19:PASS
+gi|9626243|ref|NC_001416.1| 45364 . A C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:27:0:25:0:0:16:9:PASS
+gi|9626243|ref|NC_001416.1| 45409 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:26:26:0:13:13:0:0:PASS
+gi|9626243|ref|NC_001416.1| 46237 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:19:19:0:3:16:0:0:PASS
+gi|9626243|ref|NC_001416.1| 46283 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:12:12:0:1:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 46842 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:29:28:1:12:16:1:0:PASS
+gi|9626243|ref|NC_001416.1| 47425 . T C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:19:0:18:0:0:11:7:PASS
+gi|9626243|ref|NC_001416.1| 47893 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:11:11:0:5:6:0:0:PASS
test-data/samples/sample2/duplicate_reads_metrics.txt
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample2/duplicate_reads_metrics.txt
test-data/samples/sample2/duplicate_reads_metrics.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample2/duplicate_reads_metrics.txt Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,112 @@
+## htsjdk.samtools.metrics.StringHeader
+# MarkDuplicates INPUT=[samples/sample2/reads.sorted.bam] OUTPUT=samples/sample2/reads.sorted.deduped.bam METRICS_FILE=samples/sample2/duplicate_reads_metrics.txt VERBOSITY=WARNING    MAX_SEQUENCES_FOR_DISK_READ_ENDS_MAP=50000 MAX_FILE_HANDLES_FOR_READ_ENDS_MAP=8000 SORTING_COLLECTION_SIZE_RATIO=0.25 TAG_DUPLICATE_SET_MEMBERS=false REMOVE_SEQUENCING_DUPLICATES=false TAGGING_POLICY=DontTag CLEAR_DT=true ADD_PG_TAG_TO_READS=true REMOVE_DUPLICATES=false ASSUME_SORTED=false DUPLICATE_SCORING_STRATEGY=SUM_OF_BASE_QUALITIES PROGRAM_RECORD_ID=MarkDuplicates PROGRAM_GROUP_NAME=MarkDuplicates READ_NAME_REGEX=<optimized capture of last three ':' separated fields as numeric values> OPTICAL_DUPLICATE_PIXEL_DISTANCE=100 MAX_OPTICAL_DUPLICATE_SET_SIZE=300000 QUIET=false VALIDATION_STRINGENCY=STRICT COMPRESSION_LEVEL=5 MAX_RECORDS_IN_RAM=500000 CREATE_INDEX=false CREATE_MD5_FILE=false GA4GH_CLIENT_SECRETS=client_secrets.json USE_JDK_DEFLATER=false USE_JDK_INFLATER=false
+## htsjdk.samtools.metrics.StringHeader
+# Started on: Wed Jan 03 20:46:11 UTC 2018
+
+## METRICS CLASS picard.sam.DuplicationMetrics
+LIBRARY UNPAIRED_READS_EXAMINED READ_PAIRS_EXAMINED SECONDARY_OR_SUPPLEMENTARY_RDS UNMAPPED_READS UNPAIRED_READ_DUPLICATES READ_PAIR_DUPLICATES READ_PAIR_OPTICAL_DUPLICATES PERCENT_DUPLICATION ESTIMATED_LIBRARY_SIZE
+Unknown Library 614 9171 0 0 92 3 0 0.00517 14014816
+
+## HISTOGRAM java.lang.Double
+BIN VALUE
+1.0 1
+2.0 1.999346
+3.0 2.998038
+4.0 3.996077
+5.0 4.993463
+6.0 5.990196
+7.0 6.986278
+8.0 7.981707
+9.0 8.976486
+10.0 9.970614
+11.0 10.964091
+12.0 11.956919
+13.0 12.949097
+14.0 13.940626
+15.0 14.931507
+16.0 15.921739
+17.0 16.911324
+18.0 17.900261
+19.0 18.888551
+20.0 19.876195
+21.0 20.863193
+22.0 21.849545
+23.0 22.835252
+24.0 23.820314
+25.0 24.804731
+26.0 25.788505
+27.0 26.771635
+28.0 27.754122
+29.0 28.735966
+30.0 29.717168
+31.0 30.697728
+32.0 31.677647
+33.0 32.656924
+34.0 33.635561
+35.0 34.613558
+36.0 35.590915
+37.0 36.567633
+38.0 37.543712
+39.0 38.519152
+40.0 39.493954
+41.0 40.468118
+42.0 41.441646
+43.0 42.414536
+44.0 43.38679
+45.0 44.358408
+46.0 45.32939
+47.0 46.299737
+48.0 47.269449
+49.0 48.238527
+50.0 49.206971
+51.0 50.174782
+52.0 51.141959
+53.0 52.108504
+54.0 53.074417
+55.0 54.039697
+56.0 55.004346
+57.0 55.968364
+58.0 56.931752
+59.0 57.894509
+60.0 58.856637
+61.0 59.818135
+62.0 60.779004
+63.0 61.739244
+64.0 62.698857
+65.0 63.657841
+66.0 64.616198
+67.0 65.573929
+68.0 66.531033
+69.0 67.48751
+70.0 68.443362
+71.0 69.398589
+72.0 70.353191
+73.0 71.307168
+74.0 72.260522
+75.0 73.213252
+76.0 74.165358
+77.0 75.116842
+78.0 76.067703
+79.0 77.017942
+80.0 77.96756
+81.0 78.916556
+82.0 79.864931
+83.0 80.812687
+84.0 81.759822
+85.0 82.706337
+86.0 83.652234
+87.0 84.597512
+88.0 85.542171
+89.0 86.486212
+90.0 87.429636
+91.0 88.372442
+92.0 89.314632
+93.0 90.256206
+94.0 91.197163
+95.0 92.137505
+96.0 93.077232
+97.0 94.016344
+98.0 94.954842
+99.0 95.892726
+100.0 96.829996
+
test-data/samples/sample2/metrics
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample2/metrics
test-data/samples/sample2/metrics
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample2/metrics Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,19 @@
+sample="sample2"
+fastqFileList="sample2_1.fastq, sample2_2.fastq"
+fastqFileSize=4813480
+machine=
+flowcell=
+numberReads=20000
+numberDupReads=98
+percentReadsMapped=94.78
+aveInsertSize=285.90
+avePileupDepth=23.22
+phase1Snps=44
+phase1SnpsPreserved=41
+snps=44
+snpsPreserved=41
+missingPos=0
+missingPosPreserved=0
+excludedSample=
+excludedSamplePreserved=
+errorList=""
test-data/samples/sample2/reads.all.pileup
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample2/reads.all.pileup
test-data/samples/sample2/reads.all.pileup
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample2/reads.all.pileup Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,48502 @@
+gi|9626243|ref|NC_001416.1| 1 G 0 * *
+gi|9626243|ref|NC_001416.1| 2 G 0 * *
+gi|9626243|ref|NC_001416.1| 3 G 0 * *
+gi|9626243|ref|NC_001416.1| 4 C 0 * *
+gi|9626243|ref|NC_001416.1| 5 G 1 . 0
+gi|9626243|ref|NC_001416.1| 6 G 0 * *
+gi|9626243|ref|NC_001416.1| 7 C 1 . 6
+gi|9626243|ref|NC_001416.1| 8 G 0 * *
+gi|9626243|ref|NC_001416.1| 9 A 1 . B
+gi|9626243|ref|NC_001416.1| 10 C 1 . =
+gi|9626243|ref|NC_001416.1| 11 C 0 * *
+gi|9626243|ref|NC_001416.1| 12 T 0 * *
+gi|9626243|ref|NC_001416.1| 13 C 0 * *
+gi|9626243|ref|NC_001416.1| 14 G 1 . 4
+gi|9626243|ref|NC_001416.1| 15 C 1 . 8
+gi|9626243|ref|NC_001416.1| 16 G 1 . F
+gi|9626243|ref|NC_001416.1| 17 G 2 .^K. :>
+gi|9626243|ref|NC_001416.1| 18 G 3 ... ;=>
+gi|9626243|ref|NC_001416.1| 19 T 3 ... AGA
+gi|9626243|ref|NC_001416.1| 20 T 1 . G
+gi|9626243|ref|NC_001416.1| 21 T 2 N. 9A
+gi|9626243|ref|NC_001416.1| 22 T 3 ... 714
+gi|9626243|ref|NC_001416.1| 23 C 2 .. =0
+gi|9626243|ref|NC_001416.1| 24 G 1 . ;
+gi|9626243|ref|NC_001416.1| 25 C 4 .... A?>8
+gi|9626243|ref|NC_001416.1| 26 T 3 ... 75;
+gi|9626243|ref|NC_001416.1| 27 A 4 .... 19:?
+gi|9626243|ref|NC_001416.1| 28 T 4 .... 16E?
+gi|9626243|ref|NC_001416.1| 29 T 4 .... 29D>
+gi|9626243|ref|NC_001416.1| 30 T 4 .... 8D?0
+gi|9626243|ref|NC_001416.1| 31 A 3 ... F9A
+gi|9626243|ref|NC_001416.1| 32 T 4 .... =8/<
+gi|9626243|ref|NC_001416.1| 33 G 3 ... FH2
+gi|9626243|ref|NC_001416.1| 34 A 2 .. A@
+gi|9626243|ref|NC_001416.1| 35 A 2 .. G9
+gi|9626243|ref|NC_001416.1| 36 A 5 ....^K. :C209
+gi|9626243|ref|NC_001416.1| 37 A 3 ... ;=D
+gi|9626243|ref|NC_001416.1| 38 T 6 ...... @09;48
+gi|9626243|ref|NC_001416.1| 39 T 3 ... /C0
+gi|9626243|ref|NC_001416.1| 40 T 4 .... AF?B
+gi|9626243|ref|NC_001416.1| 41 T 1 . >
+gi|9626243|ref|NC_001416.1| 42 C 6 .....^K. =C90C<
+gi|9626243|ref|NC_001416.1| 43 C 7 ....... E=>2.H/
+gi|9626243|ref|NC_001416.1| 44 G 2 .. A4
+gi|9626243|ref|NC_001416.1| 45 G 4 .... BC?;
+gi|9626243|ref|NC_001416.1| 46 T 4 .... .09=
+gi|9626243|ref|NC_001416.1| 47 T 6 ...... C73=;7
+gi|9626243|ref|NC_001416.1| 48 T 5 ..... 6;GCC
+gi|9626243|ref|NC_001416.1| 49 A 6 ...... FHC0?G
+gi|9626243|ref|NC_001416.1| 50 A 5 ....^K. 7FG1=
+gi|9626243|ref|NC_001416.1| 51 G 5 ..... >9274
+gi|9626243|ref|NC_001416.1| 52 G 5 ....^K. >6G;;
+gi|9626243|ref|NC_001416.1| 53 C 8 ........ 8;<29:B=
+gi|9626243|ref|NC_001416.1| 54 G 5 ..... /@81;
+gi|9626243|ref|NC_001416.1| 55 T 6 ...... 8G0F<;
+gi|9626243|ref|NC_001416.1| 56 T 4 .... G<5>
+gi|9626243|ref|NC_001416.1| 57 T 5 ..... 6:<FA
+gi|9626243|ref|NC_001416.1| 58 C 8 ........ 5:>84155
+gi|9626243|ref|NC_001416.1| 59 C 6 ...... ;91>45
+gi|9626243|ref|NC_001416.1| 60 G 8 ........ :.?CDB>F
+gi|9626243|ref|NC_001416.1| 61 T 9 .......^K.^K. 7/:1G@AB=
+gi|9626243|ref|NC_001416.1| 62 T 7 ....... <63@C13
+gi|9626243|ref|NC_001416.1| 63 C 5 ..... :E=5F
+gi|9626243|ref|NC_001416.1| 64 T 7 ....N.. .:C14:.
+gi|9626243|ref|NC_001416.1| 65 T 9 ......... 42F;0:GE=
+gi|9626243|ref|NC_001416.1| 66 C 6 ...... F46G0C
+gi|9626243|ref|NC_001416.1| 67 T 9 ......... DFE3>F33C
+gi|9626243|ref|NC_001416.1| 68 T 10 .........^K. 8/FCF?67<D
+gi|9626243|ref|NC_001416.1| 69 C 10 .......... A5719=H069
+gi|9626243|ref|NC_001416.1| 70 G 9 ......... <8?3D?3>2
+gi|9626243|ref|NC_001416.1| 71 T 8 ........ FE;GB9<?
+gi|9626243|ref|NC_001416.1| 72 C 8 ........ G8DC==2A
+gi|9626243|ref|NC_001416.1| 73 A 6 ...... .9?>E4
+gi|9626243|ref|NC_001416.1| 74 T 6 ...... 26HC/.
+gi|9626243|ref|NC_001416.1| 75 A 10 .......... 19=2G0>6?4
+gi|9626243|ref|NC_001416.1| 76 A 9 ......... E51.4H36?
+gi|9626243|ref|NC_001416.1| 77 C 10 .......... >1.3B4F;HH
+gi|9626243|ref|NC_001416.1| 78 T 7 ....... 34E<@B@
+gi|9626243|ref|NC_001416.1| 79 T 9 ......... /622EH9B0
+gi|9626243|ref|NC_001416.1| 80 A 9 ......... EG>BBBB;.
+gi|9626243|ref|NC_001416.1| 81 A 6 ...... A;7ABH
+gi|9626243|ref|NC_001416.1| 82 T..26243|ref|NC_001416.1| 48436 C 11 ,,,,,,,,,,, C5??@>8@0H:
+gi|9626243|ref|NC_001416.1| 48437 G 14 ,,,,,,,,,,,,,, 4::5854EC2@FCF
+gi|9626243|ref|NC_001416.1| 48438 T 11 ,,,,,,,,,,, /<19:;C:G7/
+gi|9626243|ref|NC_001416.1| 48439 T 12 ,,,,,,,,,,,, <1H;B?5>>A@E
+gi|9626243|ref|NC_001416.1| 48440 G 14 ,,,,,,,,$,,,,,, <0C?7106E1A11>
+gi|9626243|ref|NC_001416.1| 48441 T 12 ,,,,,,,,,,,, D83BH==?F<6;
+gi|9626243|ref|NC_001416.1| 48442 G 12 ,,,,,,,,,,,, B@:G@5333A0>
+gi|9626243|ref|NC_001416.1| 48443 A 12 ,,,,$,,,,,,,, .0:32/HC>BC4
+gi|9626243|ref|NC_001416.1| 48444 T 11 ,,,,,,,,,,, 7/A41/C4EE5
+gi|9626243|ref|NC_001416.1| 48445 A 11 ,,,,,,,,,,, GFB34699?>@
+gi|9626243|ref|NC_001416.1| 48446 T 11 ,,,,,,,,,,c .@783D;1F49
+gi|9626243|ref|NC_001416.1| 48447 G 10 ,,,,,,,,,, ?0::G.8AB8
+gi|9626243|ref|NC_001416.1| 48448 T 13 ,,,,,n,,,,,,, 35:A/C@F2:<57
+gi|9626243|ref|NC_001416.1| 48449 A 9 ,,,,,,,,, ;B>.F:67:
+gi|9626243|ref|NC_001416.1| 48450 G 8 ,,,,,,,, <84.;.FA
+gi|9626243|ref|NC_001416.1| 48451 A 11 ,,,,,,,,,,, ?/G61:9?4.5
+gi|9626243|ref|NC_001416.1| 48452 T 9 ,,,,,,,,, 7F6C;9EC@
+gi|9626243|ref|NC_001416.1| 48453 G 9 ,,,,,,,,, /H9>H:;?@
+gi|9626243|ref|NC_001416.1| 48454 A 14 ,,,,,,,,,,,,,, :7C7248CB76020
+gi|9626243|ref|NC_001416.1| 48455 T 14 ,,,,,,,,,,,,,, >?8C=F2AF2;984
+gi|9626243|ref|NC_001416.1| 48456 A 14 ,,,,,,,,,,,,,, ?@<AH2?.74<6@1
+gi|9626243|ref|NC_001416.1| 48457 A 13 ,,,,,,,,$,,,,, 2;D732.@=?:=.
+gi|9626243|ref|NC_001416.1| 48458 T 9 ,,,,,,,,, EGH:8F:14
+gi|9626243|ref|NC_001416.1| 48459 C 11 ,,,,,,,,,,, :?2;/3A2B15
+gi|9626243|ref|NC_001416.1| 48460 A 8 ,,,,,,,, H72>;34@
+gi|9626243|ref|NC_001416.1| 48461 T 8 ,,,,,$,,, /78@=8.E
+gi|9626243|ref|NC_001416.1| 48462 T 8 ,,,,,,,n :1/975DC
+gi|9626243|ref|NC_001416.1| 48463 A 7 ,,,,,,, <E8FEG6
+gi|9626243|ref|NC_001416.1| 48464 T 9 ,,,,,,,,, 38=46?7F.
+gi|9626243|ref|NC_001416.1| 48465 C 6 ,,,,,, 5EG4>D
+gi|9626243|ref|NC_001416.1| 48466 A 8 ,,,,,,,, 25C9<EH:
+gi|9626243|ref|NC_001416.1| 48467 C 8 ,,,,,,,, 3>1EH1@E
+gi|9626243|ref|NC_001416.1| 48468 T 11 ,,,,,,,,,,, 5.>CG<2?.<?
+gi|9626243|ref|NC_001416.1| 48469 T 8 ,,,$,,,,, =?70;B54
+gi|9626243|ref|NC_001416.1| 48470 T 8 ,,,,,,,, 6D80G.=/
+gi|9626243|ref|NC_001416.1| 48471 A 7 ,,,,,,, D838HA?
+gi|9626243|ref|NC_001416.1| 48472 C 12 ,,,,,,,,,,,, 3BD/1/95H.==
+gi|9626243|ref|NC_001416.1| 48473 G 9 ,,,,,,,,, FCH?4>G9;
+gi|9626243|ref|NC_001416.1| 48474 G 10 ,,,,,,,,,, H6=5193=@9
+gi|9626243|ref|NC_001416.1| 48475 G 9 ,,,,,,,,, B607676/@
+gi|9626243|ref|NC_001416.1| 48476 T 12 ,,,,,,,,,,,, 9701>D9<G5FB
+gi|9626243|ref|NC_001416.1| 48477 C 10 ,,,,$,,,,,, 19159;F.:<
+gi|9626243|ref|NC_001416.1| 48478 C 9 ,,,,,,,,, 49=@<1H8=
+gi|9626243|ref|NC_001416.1| 48479 T 9 ,,,,,,,,, ?8EF@>?.6
+gi|9626243|ref|NC_001416.1| 48480 T 8 ,,,,,,,$, D60:F1;.
+gi|9626243|ref|NC_001416.1| 48481 T 7 ,,,,,,, AA31BDG
+gi|9626243|ref|NC_001416.1| 48482 C 8 ,,,,,,,, 2/07.671
+gi|9626243|ref|NC_001416.1| 48483 C 5 ,,,,, <>2E/
+gi|9626243|ref|NC_001416.1| 48484 G 9 ,,,,,,,,, 4C9B5G98/
+gi|9626243|ref|NC_001416.1| 48485 G 8 ,,,,,,,, .0G820H?
+gi|9626243|ref|NC_001416.1| 48486 T 8 ,,,,,,,, CB=//?@.
+gi|9626243|ref|NC_001416.1| 48487 G 4 ,,,, <D9/
+gi|9626243|ref|NC_001416.1| 48488 A 7 ,n,,,,, AG1D422
+gi|9626243|ref|NC_001416.1| 48489 T 7 ,,,$,,,, .H?8H@5
+gi|9626243|ref|NC_001416.1| 48490 C 3 ,,, 0=6
+gi|9626243|ref|NC_001416.1| 48491 C 7 ,,,,,,, CB:=2@5
+gi|9626243|ref|NC_001416.1| 48492 G 4 ,,,, <4=1
+gi|9626243|ref|NC_001416.1| 48493 A 7 ,,,,,,, F@AC05?
+gi|9626243|ref|NC_001416.1| 48494 C 6 ,,,,,, 3?4G5E
+gi|9626243|ref|NC_001416.1| 48495 A 4 ,,,, D93G
+gi|9626243|ref|NC_001416.1| 48496 G 6 ,+15gttacccttccagtt,,,,, >41H72
+gi|9626243|ref|NC_001416.1| 48497 G 3 ,+51ttacccttccagttgtttttgcatagtgatcagcctctctctgagggtgaa,, B5@
+gi|9626243|ref|NC_001416.1| 48498 T 3 ,,,+11tacccttccag <C.
+gi|9626243|ref|NC_001416.1| 48499 T 1 , <
+gi|9626243|ref|NC_001416.1| 48500 A 1 , ?
+gi|9626243|ref|NC_001416.1| 48501 C 1 ,$ 8
+gi|9626243|ref|NC_001416.1| 48502 G 1 ,$ /
test-data/samples/sample2/reads.sam
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample2/reads.sam
test-data/samples/sample2/reads.sam
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample2/reads.sam Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,20003 @@
+@HD VN:1.0 SO:unsorted
+@SQ SN:gi|9626243|ref|NC_001416.1| LN:48502
+@PG ID:bowtie2 PN:bowtie2 VN:2.3.3.1 CL:"/usr/local/bin/bowtie2-align-s --wrapper basic-0 --reorder -X 1000 -p 2 -x reference/lambda_virus -1 samples/sample2/sample2_1.fastq -2 samples/sample2/sample2_2.fastq"
+r1 99 gi|9626243|ref|NC_001416.1| 37352 42 40M = 37435 276 TGATCAGTTTCTTGAAGGTAAACTCATCACCCCCAAGTCT -#1@%'<)8?G7,%:<:D8G>@%C=58;!2&$>$6D=E38 AS:i:0 XN:i:0 XM:i:0 XO:i:0 XG:i:0 NM:i:0 MD:Z:40 YS:i:-7 YT:Z:CP
+r1 147 gi|9626243|ref|NC_001416.1| 37435 42 193M = 37352 -276 ACGAGAATTAACATTCCGTCAGGAAAGCTTGGCTTGGAGCCTGTTGGTGCGGTCATGGAATTACCTTCAACCTCACGCCAGAATGCAGAATCACTGGCTTTTTTGGTTGTGCTTACCCANCTCTCCGCATCACCTTTGGTAAAGGTTCTAAGCTCAGGTGAGAACATCCCTGCCTGAACATGAGNAAAAACAG F,?*"+?0,;+()%=-,DF2@/:95#AE+HE(5042<H,*&5@.C%6.>:-BH:5E,@B!(H=<;3C<!9!2??+D&<FG?,8??&!?&)0%=@&>E;3"")F@BD-1!>?#?493#':A;>B:-B87:2?"84-8?97E/0AC*$!0C6*(;7DE+24(#,*C-B5D9C&C"C#D)=H/:.7H&3?(:(,2. AS:i:-7 XN:i:0 XM:i:3 XO:i:0 XG:i:0 NM:i:3 MD:Z:75A43T64A8 YS:i:0 YT:Z:CP
+r2 99 gi|9626243|ref|NC_001416.1| 28839 42 241M = 29080 352 TTAGGGGGTAAATCCCGGCGCTCATGACTTCGCCTTCTTCCCATTTCTGATCCTCTTCAAAAGGCCACCTGTTACTGGTCGATTTAAGTCNACCTTTACCGCTGATTCGTGGAACAGATACTCTCTTCCATCCTTAACCGNAGGTGGGAATATCCTGCATTCCCGAACCCATCGACGAACNGTTTCAAGGCTTCTTGGACGTCGCTGGCGTGCGTTCCACTCCTGAAGTGTCAAGTACATC <2'$:$'*D</#B(;A!&#G@'4CH83CG*1'$8+F)/66%1G:2+FA')@A/(('74&)HFC#6'''7$<:(F;=(73?%*%H484"#6@;.6)4E&E+$3E-'*/)8$"(A8%/,)C%GF&&>C6<;)B@>.<;7?#<?@A/00#C0$6=&DD41.C&0D.C;!-+EAC>7#%2H*G06A#19;.G3%F@24=97,F2)9B7FC,&+'+0&2-,DB@)8$:*(G.FE3,:79A=>0C47 AS:i:-3 XN:i:0 XM:i:3 XO:i:0 XG:i:0 NM:i:3 MD:Z:90A49G39T60 YS:i:0 YT:Z:CP
+r2 147 gi|9626243|ref|NC_001416.1| 29080 42 111M = 28839 -352 GCAAAGTCTCCGCAATTACACGCAAGAAAAAACCGCCATCAGGCGGCTTGGTGTTCTTTCAGTTCTTCAATTCGAATATTGGTTACGTCTGCATGTGCTATCTGCGCCCAT ":D3)'=+!.'3C>;&4*A?;0;G040?0A,(H+-6$39?5',>E!"*?*0#H(=:,B$+FH!<(HD$H(*2G$;#C>1>=$2.;!2B=,3+530!1BC8C=D#G#?+:G9 AS:i:0 XN:i:0 XM:i:0 XO:i:0 XG:i:0 NM:i:0 MD:Z:111 YS:i:-3 YT:Z:CP
+r3 99 gi|9626243|ref|NC_001416.1| 16077 42 71M = 16204 229 CCAGCTGCAGAACAAAACGCTCTGGTCGTCATACACTGAAATCATCGAAGTGAAACAGTGCTACCCGAACA *7>&9(F0&=70?H=FH!9A<-.32'30!*9E:4,)%6;)8/7D60:$&CC&A;B:E5%,<B6&!42'(,D AS:i:-2 XN:i:0 XM:i:1 XO:i:0 XG:i:0 NM:i:1 MD:Z:48T22 YS:i:-11 YT:Z:CP
+r3 147 gi|9626243|ref|NC_001416.1| 16204 42 102M = 16077 -229 CGTNATTATCATCTGCGCGGGCGAATTCTGCAGATGCCGTCGAACTATAACCCGCAGNCGCGGCNATACAGCGGTATCTNGGACGGAACGTTTAAACCNGCN *)%($($"&(!&+#!')$(('%&+#"%'(*%++$+)!%#'$)'+%+$)(#&*+*+++!!#*$#%""%'+*$$%#+$%&+*++&&&*+$')"*#$!%+$%!'$ AS:i:-11 XN:i:0 XM:i:8 XO:i:0 XG:i:0 NM:i:8 MD:Z:3A19T9G23A6A14G18G2A0 YS:i:-2 YT:Z:CP
+r4 77 * 0 0 * * 0 0 TGCAATNTCCGCTCCGGCACATAGCANTACTAGGNACAGTGGCGTA #)"')'%+(""%)#*%&)(*+)(%(!%*&*"&+&#$))(%&****) YT:Z:UP
+r4 141 * 0 0 * * 0 0 TCNTTCATTATGCATTAAAATTAGAGTTGTGGCTTGGCTCTGCTAACACGTTGCTCATAGGAGATATGGTAGAGCCGCAGACACGTCGTATGCAGGAACGTGCTGCGGCTGGCTGGTGAACTTCCGATAGTGCGGGTGTTGAATGATTTCCAGTTGCTACCGATTTTACATATTTTTTGCATGAGAGAATTTGTACCACCTCCCACCGTCCATC $*!8@732?C?6=6A762%7F.(=B7696D"><57>7,B5&C'3/B:722E;'E4&/&@1A+<%;E@>79$$0#H%H"?#-18)&(%6:$!E!(31@4-=$.H-)>65$*7---H2-/$.4<(!")D/B743GB3;4E">!()0'>1-71).:"?9FH&0>.@G,!":C8!>!A8@7B-H@HA=2&=;G%"D),?*?"&75,F+)E,;@D><%B YT:Z:UP
+r5 83 gi|9626243|ref|NC_001416.1| 16640 42 29M4I25M = 16511 -183 CGGATGATGGCGCGCCGTTCCGCTACAGCCAATTTCAGCGCCCTGAAGGACCGCCATA &:C$'?4>*@15;6@=E'07FC6#:>;627#!+$+<8:/2?#%;1=::'73(A)C23G AS:i:-17 XN:i:0 XM:i:0 XO:i:1 XG:i:4 NM:i:4 MD:Z:54 YS:i:-1 YT:Z:CP
+r5 163 gi|9626243|ref|NC_001416.1| 16511 42 101M = 16640 183 GGGATGTGCTCANCGATTTCTGCTCGGCGATGCGCTGTATGCCGGTATGGAACGGGCAGACGCTGACGTTCGTGCAGGACCGACCGTCGGATAAGACGTGG 0<;8G?G"!0)$DD:;.6<:H7?H'7*,F!%H(B@2."D3@D-51(D7":HC7+3G-)%()"H84>DFD93&/6B0G9F9$.@*E'3>;,1D&?G5/"-82 AS:i:-1 XN:i:0 XM:i:1 XO:i:0 XG:i:0 NM:i:1 MD:Z:12G88 YS:i:-17 YT:Z:CP
+r6 99 gi|9626243|ref|NC_001416.1| 40358 42 29M2I138M = 40617 315 GGCGC.. NM:i:18 MD:Z:13G37A5T3G1C0A0T0G3T2A0C1T2T2A3A1T1G1G2 YS:i:-25 YT:Z:CP
+r9996 163 gi|9626243|ref|NC_001416.1| 44340 24 47M3I95M = 44482 237 ACTNAAGGATGCCAGCAAGCGCAGCATATCGCGCTGTGACCATGCTAGGGATCCCAAACCTTNCCCGACCCACCTGTTCACGCACTGTTAAGCCGCNGTATGACGCTCTGGTGGTGCAATGCCACAAAGAAGAGTCAATCGCAGA '!)()+#+"%")%##)"$)'(%*+)(&'$#'+""!''*())!"&(*++%)+($'('%&&'%"(%$!$!$!(#'%#&$$*"+'&%!!&"''*+(%%$"!"+!(''&"($&#**!!(#$+#+"#+++&!!#$+%**+#$$+&!$"%# AS:i:-25 XN:i:0 XM:i:7 XO:i:1 XG:i:3 NM:i:10 MD:Z:1T1C36G18A3A9G19T48 YS:i:-26 YT:Z:CP
+r9997 83 gi|9626243|ref|NC_001416.1| 31330 42 209M = 31231 -308 TATTATCGTGAGGATGCGTCATCGCCATTGCTCCCCAAATACAAAACCAATTTCAGCCAGTGCCTCTTCCATTTTTTCGATGAACTCCGGCACGATCTCGTCAAAACTCGCCATGTACTTTTCATCCCGCTCAATCACGACATAATGCAGGCCTTCACGCTTCATACGCGGGTCATAGTTGGCAAAGTACCAGGCATTTTTTCGCGTCA !;3!&%'G;3CA$05F&/&&5*3&A,=3>8+H6D*,9#<7EH06AD(.=B!=0:C@8-F'HFGD%(B%:&320H+4C"5=;*/:8:>7#7@E?672)8B39'?H4:E<'EB37#/-(?)F#G#8)=2$+7/;331G@@F;=1;B5;=8DB$>;>@2*86(:%A*&.$/HG*;?&6,"6<1%.G*,#E/36*+>/*F9#D274::G)$"< AS:i:-5 XN:i:0 XM:i:1 XO:i:0 XG:i:0 NM:i:1 MD:Z:66G142 YS:i:-4 YT:Z:CP
+r9997 163 gi|9626243|ref|NC_001416.1| 31231 42 99M = 31330 308 GCCGCTGTGCTTTCANTGGATTTCGGATAACAGAAAGGNCGGGAAATACCCAGNCTCGCTTTGTAACGGAGTAGACGAAAGTGATTGCGNCTACCCGGA @!6;5'9,@FA=H-G<72)50G@2B@>7#$/%?H-F;497++D='.G?/(4@#"F#@<(+E=4#F&;&96A,?H/0E?1,6986%1D1$27D(@@*6#9 AS:i:-4 XN:i:0 XM:i:4 XO:i:0 XG:i:0 NM:i:4 MD:Z:15G22C14C35C9 YS:i:-5 YT:Z:CP
+r9998 83 gi|9626243|ref|NC_001416.1| 2244 42 59M1D87M = 2174 -217 TACCTTACCGAAATCGGTACGGATACCGCGAAAGAGCAGATTTATCACCGCTTCACACTACGCCGGAAGGGGATGAACCGCTTCCCGGTGCCGTTCACTNCCCGAATAACCCGGATATTTTTGATCTGNCCGAAGCGCAGCAGCAN 4#=D:;1F;D4.(,35H2GC<(FD=;5)/-7#%*-+87(/D,0:192$6E:4*@!50>F9-4'ECB+4E);<2<<&5!=59F"%DH!G?4(0@@8#6/(2&DF!D=4<&(+!;:.3&6$0/%+B3:A.%;E2@938!)2D(<$-!! AS:i:-17 XN:i:0 XM:i:5 XO:i:1 XG:i:1 NM:i:6 MD:Z:45A13^G40T28A15T0G0 YS:i:0 YT:Z:CP
+r9998 163 gi|9626243|ref|NC_001416.1| 2174 42 46M = 2244 217 CATTAAAGGGGCATCCGTCTACGGAAAGCCGGTGGCCAGCATGCCA BD1FC>5*F>%84@$5G#(=H--3'4=4+%-A5DE1?@/E;2)"&7 AS:i:0 XN:i:0 XM:i:0 XO:i:0 XG:i:0 NM:i:0 MD:Z:46 YS:i:-17 YT:Z:CP
+r9999 99 gi|9626243|ref|NC_001416.1| 11058 42 121M = 11198 243 NGCGGGNAGNCGNCAGGNCTGATGTTTAACCAGACCAGCGAGTCACTCAGCGCACTGGTTAAGGCGGGGGTAAGCGGTGAGGCTCAGATTGCGTCCATCAGCCAGAATGTGGCGCGTTTCT &%)(')%'"'&&"(%&(!(+"(#"%)'(+)*$*(%&!%**)(*%!)!#%'!+%(*"!#$%"'($#+'+(+!)*$()%$*(#(#)!%"(&""*!!%+#&+(*$'*&)*%%$')"!*&%'&'" AS:i:-11 XN:i:0 XM:i:8 XO:i:0 XG:i:0 NM:i:8 MD:Z:0G0C4C2G2G4G4C83G14 YS:i:-4 YT:Z:CP
+r9999 147 gi|9626243|ref|NC_001416.1| 11198 42 103M = 11058 -243 GGTGGACAAGGTCGCTGAAGCCTTCGGGAAGCTGACCACGGACCCGACGTCGGGGCTGACGGCGATGGCTCGCCAGTTCCATAACGTGTCGGNGGAGCAGATT 0%<)%'*&C!*-D27+57EB5=4@7=3G,*,E4&)./>'/79;E=FH?C4,+:-&38CB+<3&?0%B88<+%F@,97+B;$2C(AF"7$#AB1<$G/$F4%+D AS:i:-4 XN:i:0 XM:i:2 XO:i:0 XG:i:0 NM:i:2 MD:Z:39A52C10 YS:i:-11 YT:Z:CP
+r10000 99 gi|9626243|ref|NC_001416.1| 44309 42 78M3I222M = 44609 427 AAAGAGTGCGGAAGATGCAAAGGCGTCGGCTANTCAAGGATGCCAGCAAGCGCAGCATATCGCGCTNTGACGATGCTAGGGATCCCAAACCTTACCCAACCCACCTGTTCACGCACTGTTAAGCCGCTGTATGACGCTCTGGTGGTGCAATGCCACAAAGAAGAGTCANTCGCAGACCACATTTTGAATGCGGTCACACGTTAGCAGCATGATTGCCACGGATGGCAACATANTAACGGCATGATATTGACNTATTGAATAAAATTGGGTAAATTTGACGCAACGATNGGTTAATTCGNTCGT &61>93E6/GE=>H$BG:*)CB!F"76*!7,'(00D27D<64#<=00,)+CB(8,C!>;525</&&H22@H?0%67%7@5)<!<#9,6%&CF;'/A21F&"BB.7'&E,=H),()8>BC>?(=3#"F,E!9C#;F%&7"&;"$.-2;A-HHH@H?:7+F0'1,?*.B7#C!A($('+9749>;(CC,:/+-E$"?.7$4):FB=;.*A:?F!"2F5(>7!B9?&:'+&:2/;::7"$'>?BA$93""?%H(E4>D*@EC53.<#10G.=>>E<!;F"1FG!#A,);(7B6+E+3-*@:<1*0: AS:i:-35 XN:i:0 XM:i:10 XO:i:1 XG:i:3 NM:i:13 MD:Z:32T33G37G60A8A54T18T27T7G10C4 YS:i:-11 YT:Z:CP
+r10000 147 gi|9626243|ref|NC_001416.1| 44609 42 45M2D80M = 44309 -427 TGTGGTAGTGAGATGAAAAGAGGCGGCGCTTACTACCGATTCCGCAGTTGGTCACTTCGACGTATCGTCTGGAACTCCAACCATCGCAGGCAGAGAGGTCTGCAAAATGCAATCCCGAAACAGTT (('%*?20(#1;(%'1.=C3#&!'G:10G?)7+9:0?.-">=;>%)&5"(.,BE78574D13G><=%C;:+#B1-/$C#26;B((@2*:@EHE$.280G2#8.&!9'4(/B@'%B,$//F?H398 AS:i:-11 XN:i:0 XM:i:0 XO:i:1 XG:i:2 NM:i:2 MD:Z:45^CT80 YS:i:-35 YT:Z:CP
test-data/samples/sample2/reads.sorted.bam
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample2/reads.sorted.bam
test-data/samples/sample2/reads.sorted.bam
Binary file test-data/samples/sample2/reads.sorted.bam has changed
test-data/samples/sample2/reads.sorted.deduped.bam
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample2/reads.sorted.deduped.bam
test-data/samples/sample2/reads.sorted.deduped.bam
Binary file test-data/samples/sample2/reads.sorted.deduped.bam has changed
test-data/samples/sample2/reads.unsorted.bam
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample2/reads.unsorted.bam
test-data/samples/sample2/reads.unsorted.bam
Binary file test-data/samples/sample2/reads.unsorted.bam has changed
test-data/samples/sample2/sample2_1.fastq
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample2/sample2_1.fastq
test-data/samples/sample2/sample2_1.fastq
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample2/sample2_1.fastq Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,40000 @@
+@r1
+TGATCAGTTTCTTGAAGGTAAACTCATCACCCCCAAGTCT
++
+-#1@%'<)8?G7,%:<:D8G>@%C=58;!2&$>$6D=E38
+@r2
+TTAGGGGGTAAATCCCGGCGCTCATGACTTCGCCTTCTTCCCATTTCTGATCCTCTTCAAAAGGCCACCTGTTACTGGTCGATTTAAGTCNACCTTTACCGCTGATTCGTGGAACAGATACTCTCTTCCATCCTTAACCGNAGGTGGGAATATCCTGCATTCCCGAACCCATCGACGAACNGTTTCAAGGCTTCTTGGACGTCGCTGGCGTGCGTTCCACTCCTGAAGTGTCAAGTACATC
++
+<2'$:$'*D</#B(;A!&#G@'4CH83CG*1'$8+F)/66%1G:2+FA')@A/(('74&)HFC#6'''7$<:(F;=(73?%*%H484"#6@;.6)4E&E+$3E-'*/)8$"(A8%/,)C%GF&&>C6<;)B@>.<;7?#<?@A/00#C0$6=&DD41.C&0D.C;!-+EAC>7#%2H*G06A#19;.G3%F@24=97,F2)9B7FC,&+'+0&2-,DB@)8$:*(G.FE3,:79A=>0C47
+@r3
+CCAGCTGCAGAACAAAACGCTCTGGTCGTCATACACTGAAATCATCGAAGTGAAACAGTGCTACCCGAACA
++
+*7>&9(F0&=70?H=FH!9A<-.32'30!*9E:4,)%6;)8/7D60:$&CC&A;B:E5%,<B6&!42'(,D
+@r4
+TGCAATNTCCGCTCCGGCACATAGCANTACTAGGNACAGTGGCGTA
++
+#)"')'%+(""%)#*%&)(*+)(%(!%*&*"&+&#$))(%&****)
+@r5
+TATGGCGGTCCTTCAGGGCGCTGAAATTGGCTGTAGCGGAACGGCGCGCCATCATCCG
++
+G32C)A(37'::=1;%#?2/:8<+$+!#726;>:#6CF70'E=@6;51@*>4?'$C:&
+@r6
+GGCGCAACAGTAACCAGCATAAATCAGGCGACGCGGCTAAAATGGCACGGGCAGGTCTTCTGGTTATCGAAGGTAAGGTCTGGCGNACGGTGTATTACCGGTTTGCTACCAGGGAAGGACGGGAAGGAAAGATGAGCACGAACCTGGTTTTTAAGGAGTGTCGCCAGAG
++
+9B4D)??1$E812B.E7+5+=B*/!&==D6<;34C%66!/+A:BE8E%B,4/4.?&/=+=A#(53FF2!)E<6>/:$DDHCF-D85""8%,'GF$1E?7C)/(E2)7E;39'4/%=/'"H2?F48A5780;D-8E=0!2'DDH+@@C2+2>7/@>&9/!+3!..!C.%&
+@r7
+NCCAACTCGTTGCCCGGTAACAACAGCCAGTTCCATTGCAAGTCTGAGCCAACA
++
+"AA&1@>9+367;'/A@&?,F5>:A,B0)9(G7!90286E5<-@)A3<%63*G<
+@r8
+CAGTTCAGAGGGNGCNAGCNAGANTCANTCACTCTGTCTCTTNCTNGGGATTTACTACGAAAGTTTGTTAATGGAAAGGAAGCCGCCAAAGTTGCCGACGTTATTGCGGAACTTACAACCGCTCAGGCCTTTGCTGCATTTATCCTTCGTGATATCGGACNTTGGCTGGTCATATTCATCCGCGAC
++
+&*)#%&#%!"&'"((!&#)'&#&!'*&"#(*!%!"&()&%($!$%!*+%!")%##(!+&!'#%('*#"##$"$%)&*%$&#"%&")&+"%#(%'%&*+&("$!''""&)+*&#&&!#'&!$'#)$+)#*)%(&%$&*#'**"%(&+*&)"#+(##(#!(%*)&+%'!+*'##""#*%*!*(&"))!
+@r9
+GGCGTGGGATGTGCTNAGCGATTTCTGCTCGGCGATGCGCTGTATGCCGGTATGGTACGGGCAGACGCTGACGTTCGTGCAGGACCGACCGTCGGATAAGACGTGGACCTATAACCGCAGTAATGTGGTGATGCCGGATGATGGCGCGCCGTTCCGCTACAGCCAATTTCAGCGCCCTGNAGGGCCGCCATAATGCCGTTGAGGTGAAC
++
+''+!%#((#%*&)+#&)#!&"#%'!)&(%(*(+"*%$%'&(%!!%$"$%!&*#$*#!*!$&+**&$$&+#'&!'&'#*(%%(*&%%'$$#"#')!+%#(%#'+!(%!%('(!*%''&*#)%"%*(!&+'*"!++)(*"#*+("%!'+"'"#&'$('%$&**'*%!'""!'(")&#)''+#&$"%&'")")%)$"$$!#($)&$+"!!$'
+@r10
+GCCCTGCCCGGTGACGCCAGAGGGAGTGTGTGCGTCGCTGCCATTTGTCGGTGTACCTCTCTCGTTTGCTCAGTTGT
++
+"'%#*+)&+#'&'+*$"%&+%(!%%$)!$&(&"!!!&($+)#)))*"$)&#"()'))(*%&!*"))$'("(($(!%!
+@r11
+AGTATGGCCAAATCGATTAGCCGACATTGAAAATGAAAGCGTCCTTAACACCTCATTACTTAGAGGGGTAACTCTTTCAGAAATTCATGGACAGTTCGCACGTG
++
+3G$GFA73<6.G(/A8-AC->#)(>@!04F3AB>B3'B,#B3A@7>1,E;)A=B)8#F?-G%D),!&0,7=:*,%1G(=F;C:?@;E2<2;*<$4(H51<&"C;
+@r12
+AACACAGGATCTCTCTTTTAAGTTACTCTNTATTACATACGTTTTCCATCTAAAAATTAGTAGTATTGAACTTAACGGGGCATCGTATTGTAGT
++
+D'E,C!0)2*:,F:B1EF(422)9A7,)C$#%G,+=6673$*1)?(4(;;-(>;/61&HAG1!&,D%6C<41&-:0*(FA%@1@B)65")G4<<
+@r13
+ACTGTGCTGNTCTTTTGCGACGCGGCGAACCCCAGGGAAGCCACCACCCCCACACTGTCCGTCAGCTCATAACGGTAC
++
+++'%%"*"+%%)(+(&%+'$#'))%+%&(#(#(*')'%%'$*&+*(&!*!"*'$*("#))$'#$*"')'#%#!*"(&+
+@r14
+CTATNATNTTCAGAGAAAAAATATTCATTGTTTTCTGGGTTGGTGATTGCACCAATCATTCCATTCAAAATTGTTGTTTTACCACACCCANTCCGCCCGATAAAAGCA
++
+*(*("(&!$+%+"+!!(&#(**$%!&%(&#$$)%$*#"'*##"+$$&"%)$"$&''%!$')"*#%'$$"&*&%"&&%$*((+$)"&"&!!+"$$!'(&*'"'%"(!('
+@r15
+CGTGNAAAGATTTGTGNAGTGTTCTGAATGCTNTTAGTAATGAATTATCAAAGGTATAGTAATATCTTTTATGTTCATGGATATTTGTNACCCATCGGAAAACTCNTGCTTTAGCAAGATTTTCCCTGTATTGCTGAAATGTGATTTCTCTTGATTTCAACCTA
++
+$$%(#+&&&#'%#(*!(!!)%!)*)'$&&*+%)#+&!*!"&"!$($&&$"$!"$)(!(')!(+!)#)+"($)#+)")$*%(")%+$'%+%!*#%*)+#&#"%+%%('("+'*)#)$'!%&!'+'""+$')#&%"&)$'!+$$+&)!*"#(%""&%%()$$*+$!
+@r16
+CCCCACCATTGCATGCTTAAGCAGAATTTCTGTCATCATGGACAGNACGGAACGGGTGACGCTGCGCC
++
+@D77>7472'87)1G"&5D<3(38,=3003+03B(%",G@6+8.24&/0<,.7B.G5':(2G57(&;B
+@r17
+NNCATCTTCATCATCGAGATAGCTGTCGTCATAGGACTNAGCGGTCAGTTCGCCGGGCGTCAGGTCTT
++
+'%>=4;2+-HF<9'':5=F&:H)@E:+DB?9GF-;7"060":..(A->.=*>H$'';7FE9)?*.9E<3,)<G3<*-1#@2B#$E8
+@r9988
+TCCATTACAGGAAACATTTCTTCAGGCTTAACCATGCATTCCGATTGCAGCTTGCATCCATTGCATCGCTTGAATTGTCCACACCATTGATTTTTA
++
+0<:&9&=#&=1F$%),(?D>/70"%4:%,'A57FFA1&H+FCB5$7E?A:@7+;?4*((84#G52@9H84?2/191?8EDF21$B$;+./-B;FF*
+@r9989
+CNATGTNATGTTCTGAGGGGAGTGAAAATTCCCCTAATTCGATGAAGATTCTTGCTCAATTGTTATCAGCTATGCGCCGACCAGAANANCTTGCCGATCAGCCAAANGTCTCNTCAGGCCACTGACTAGCGATAACTTTCCCCACAAAGGAACAACTCTCATTGCATGGGATCATTGGGNACTGTGGGTTTAGTGGTTGTAAAAACACCTGACCGCT
++
+'$&+)%+#+)*!+$#((&$%$$"'$%%+)"")))!)*+'(+&$+$*%)*""#")*$"&#&%#('&%%%))'!)*%)%#')*(#!&")%$)%)("+"!)#$!!'&)!)$$)")+*%%&"(!(!#!#&+*$""%"!$&#'%*&#&(!'%)*))'!'%!(!(%#'+'"(%*&'"!&#'%#%+'#*&$!(('*%)(#"""!(+'#%&+""$&%+!')*+%*
+@r9990
+GCGCTTCGGTCAGATCAAAAATATCCGGGTTATTCGGGAAGTGAACGGCA
++
+>&/764C6F(/2,%HC=-#)==$94/634B-B)/HF04>7.9:><6!?>6
+@r9991
+ATCTGGAATACGCCACCTGACTTGGCCCCGGCGACTCTGGGAACAATATTAATTACAGCGCCATCAGG
++
++#"##'('!+$##("+++%!$(&&!'+*"(++#$%+"''%"!*)$((""*)*%$)''$&$&*)(!*"#
+@r9992
+CCTAAAGGCCGCCTGTGCGGCTTTTATTACGGGATTTTTTTATGTGATGTACACAACCGCCCAACTGCTGGCGGCAAATGAGCAGCGGACAAATTTAAGTTTGATCCGCTGTTTCTGCGTCTCTTTTTCCGTGAGAGCTATCCCTTCACCACGGAGA
++
+"=6"">H)<6@4419+';)G-8BC>:578B83A=?$;%!70.'+=%@$G$>6-4#0?G'=DG6-+"$#?<1/%6=0F1;BDB:5,;+=93DEB*87?E9,>1<'!3@>(,B(*.6H'C?$>;?,CAD=(G64F;%=C8D39"GCF853=4&$0-3E>
+@r9993
+GCGCATTTTTCACCATGCTCATCAAAGACAGTAAGATAAAACATTGTAACAAAGGAATAGTCATTCCAACCATCTGCTCGTAGGAATGCCTTATTTTTTTCTACTGCAGGAATATACNCGCCTCTTTCAATAACACTAAACTCCAACATATAGTAACCCTTAATTTTATT
++
+!B,'5H$7<@2C>B'A$-)$D;+?/0/64AD,B-/D$.HC653<5,3?A*89';'38>=?6-?A7+3$.FE6E+??."9-A/1,!#0,!B%5A$H+$/:#3,%62@DF*AA;@<FE$B4B-:A538>E)*"867D:5<33.CD)-C;EF=?8:D"-.F+?AEDB,7683=
+@r9994
+TTTTGGCGAATGAAATTTAGCTACGCTTTCGAGTCTCATGCGCCTTCTCCCTGTACCTGAATCAATGTTAGGTTTCCGCAGAACACTGCGCCGGTATCGATATACATTTGGTTGGCAAACTTGAGTGGTTTCACNGCTGGCGTATGACCAAAGA
++
+E)E*)G!;C':9E1G):B?"B&C+:!<7#&.1)5$#4A...56%&/=*:3%C>'=D4+&!%G$%EC)*B(D?2EE/@+D;FA25/7C*4"E-B3?':,$?+94@"E8;2"H6<%@;@EF2H<2>'C?;4$-!'F=H'@D)<<)@F:(/-//5=>
+@r9995
+TACTGGTTCAGGGATCGCCTCACCACGGTTAATTCTCGCAGTCATATGGACAAGCTCATCTGCGGCCTTACGGCGTAATTCCGCATCAGTAAGC
++
+7>=,H+0!6+!>=C,G1GF#!,*"#,*!G"6'<<H!?A7!-37=9><960A)1>,>>18AD/,B'+05%'D+#71!>+B>'31>GAF$&@CEG3
+@r9996
+TATCAANTCTTANTCCATNANACANTATNNANCNGTTCATATGATGCCATCCGTGGCAATCATGCTGCTAACGTGTGACCGNATTCAAAATGTTG
++
+'*")"%!!&**)('((&&*)%%%!!$**"#!!)&))&(&#%&'$+%!+%*++'"+%+$&)%+!#((!)'+(*"#+%#!&+&*'%'+!&'&%!''"
+@r9997
+TGACGCGAAAAAATGCCTGGTACTTTGCCAACTATGACCCGCGTATGAAGCGTGAAGGCCTGCATTATGTCGTGATTGAGCGGGATGAAAAGTACATGGCGAGTTTTGACGAGATCGTGCCGGAGTTCATCGAAAAAATGGAAGAGGCACTGGCTGAAATTGGTTTTGTATTTGGGGAGCAATGGCGATGACGCATCCTCACGATAATA
++
+<"$)G::472D#9F*/>+*63/E#,*G.%1<6",6&?;*GH/$.&*A%:(68*2@>;>$BD8=;5B;1=;F@@G133;/7+$2=)8#G#F)?(-/#73BE'<E:4H?'93B8)276?E@7#7>:8:/*;=5"C4+H023&:%B(%DGFH'F-8@C:0=!B=.(DA60HE7<#9,*D6H+8>3=,A&3*5&&/&F50$AC3;G'%&!3;!
+@r9998
+NTGCTGCTGCGCTTCGGNCAGATCAAAAATATCCGGGTTATTCGGGNAGTGAACGGCACCGGGAAGCGGTTCATCCCCTTCCGGCGTAGTGTGAAGCGGTGATAAATCTGCTCTTTCGCGGTATCCGTACCGATTTCGGTAAGGTA
++
+!!-$<(D2)!839@2E;%.A:3B+%/0$6&3.:;!+(&<4=D!FD&2(/6#8@@0(4?G!HD%"F95=!5&<<2<;)E4+BCE'4-9F>05!@*4:E6$291:0,D/(78+-*%#7-/)5;=DF(<CG2H53,(.4D;F1;:D=#4
+@r9999
+NGCGGGNAGNCGNCAGGNCTGATGTTTAACCAGACCAGCGAGTCACTCAGCGCACTGGTTAAGGCGGGGGTAAGCGGTGAGGCTCAGATTGCGTCCATCAGCCAGAATGTGGCGCGTTTCT
++
+&%)(')%'"'&&"(%&(!(+"(#"%)'(+)*$*(%&!%**)(*%!)!#%'!+%(*"!#$%"'($#+'+(+!)*$()%$*(#(#)!%"(&""*!!%+#&+(*$'*&)*%%$')"!*&%'&'"
+@r10000
+AAAGAGTGCGGAAGATGCAAAGGCGTCGGCTANTCAAGGATGCCAGCAAGCGCAGCATATCGCGCTNTGACGATGCTAGGGATCCCAAACCTTACCCAACCCACCTGTTCACGCACTGTTAAGCCGCTGTATGACGCTCTGGTGGTGCAATGCCACAAAGAAGAGTCANTCGCAGACCACATTTTGAATGCGGTCACACGTTAGCAGCATGATTGCCACGGATGGCAACATANTAACGGCATGATATTGACNTATTGAATAAAATTGGGTAAATTTGACGCAACGATNGGTTAATTCGNTCGT
++
+&61>93E6/GE=>H$BG:*)CB!F"76*!7,'(00D27D<64#<=00,)+CB(8,C!>;525</&&H22@H?0%67%7@5)<!<#9,6%&CF;'/A21F&"BB.7'&E,=H),()8>BC>?(=3#"F,E!9C#;F%&7"&;"$.-2;A-HHH@H?:7+F0'1,?*.B7#C!A($('+9749>;(CC,:/+-E$"?.7$4):FB=;.*A:?F!"2F5(>7!B9?&:'+&:2/;::7"$'>?BA$93""?%H(E4>D*@EC53.<#10G.=>>E<!;F"1FG!#A,);(7B6+E+3-*@:<1*0:
test-data/samples/sample2/sample2_2.fastq
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample2/sample2_2.fastq
test-data/samples/sample2/sample2_2.fastq
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample2/sample2_2.fastq Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,40000 @@
+@r1
+CTGTTTTTNCTCATGTTCAGGCAGGGATGTTCTCACCTGAGCTTAGAACCTTTACCAAAGGTGATGCGGAGAGNTGGGTAAGCACAACCAAAAAAGCCAGTGATTCTGCATTCTGGCGTGAGGTTGAAGGTAATTCCATGACCGCACCAACAGGCTCCAAGCCAAGCTTTCCTGACGGAATGTTAATTCTCGT
++
+.2,(:(?3&H7.:/H=)D#C"C&C9D5B-C*,#(42+ED7;(*6C0!$*CA0/E79?8-48"?2:78B-:B>;A:'#394?#?>!1-DB@F)""3;E>&@=%0)&?!&??8,?GF<&D+??2!9!<C3;<=H(!B@,E5:HB-:>.6%C.@5&*,H<2405(EH+EA#59:/@2FD,-=%)(+;,0?+"*?,F
+@r2
+ATGGGCGCAGATAGCACATGCAGACGTAACCAATATTCGAATTGAAGAACTGAAAGAACACCAAGCCGCCTGATGGCGGTTTTTTCTTGCGTGTAATTGCGGAGACTTTGC
++
+9G:+?#G#D=C8CB1!035+3,=B2!;.2$=>1>C#;$G2*(H$DH(<!HF+$B,:=(H#0*?*"!E>,'5?93$6-+H(,A0?040G;0;?A*4&;>C3'.!+=')3D:"
+@r3
+NGCNGGTTTAAACGTTCCGTCCNAGATACCGCTGTATNGCCGCGNCTGCGGGTTATAGTTCGACGGCATCTGCAGAATTCGCCCGCGCAGATGATAATNACG
++
+$'!%$+%!$#*")'$+*&&&++*+&%$+#%$$*+'%""%#$*#!!+++*+*&#()$+%+')$'#%!)+$++%*('%"#+&%'(($)'!#+&!(&"$($(%)*
+@r4
+TCNTTCATTATGCATTAAAATTAGAGTTGTGGCTTGGCTCTGCTAACACGTTGCTCATAGGAGATATGGTAGAGCCGCAGACACGTCGTATGCAGGAACGTGCTGCGGCTGGCTGGTGAACTTCCGATAGTGCGGGTGTTGAATGATTTCCAGTTGCTACCGATTTTACATATTTTTTGCATGAGAGAATTTGTACCACCTCCCACCGTCCATC
++
+$*!8@732?C?6=6A762%7F.(=B7696D"><57>7,B5&C'3/B:722E;'E4&/&@1A+<%;E@>79$$0#H%H"?#-18)&(%6:$!E!(31@4-=$.H-)>65$*7---H2-/$.4<(!")D/B743GB3;4E">!()0'>1-71).:"?9FH&0>.@G,!":C8!>!A8@7B-H@HA=2&=;G%"D),?*?"&75,F+)E,;@D><%B
+@r5
+GGGATGTGCTCANCGATTTCTGCTCGGCGATGCGCTGTATGCCGGTATGGAACGGGCAGACGCTGACGTTCGTGCAGGACCGACCGTCGGATAAGACGTGG
++
+0<;8G?G"!0)$DD:;.6<:H7?H'7*,F!%H(B@2."D3@D-51(D7":HC7+3G-)%()"H84>DFD93&/6B0G9F9$.@*E'3>;,1D&?G5/"-82
+@r6
+GATCGAATTTCAAAGGTTAGTTTTTTCATGACTTCCCTCTCCCCCAAATAAAAAGG
++
+B1796<8G*8:D3.'A86H<8@(A=#9.#.A1((@:=!$6!);E8*?<C'?C:1;%
+@r7
+GTTGCGGCAATGCTCAATGGATACATAGACGAGGGCAAGGCGGCGTCAGCCAAGTTAATCAGATCAACACTGAGCGATGCATTCCGAGAGGCAATAGCTGAAGGCCATATAACAACAAACCATGTCGCTGCCACTCGCGCAGCAAAATCAGGGGTAAGGAGATCAAGACT
++
+$'%2F@#'A>9E1F5%(>H#,GC9&7>%CB&+B#)"#5H%(?H9G,'CF;!:8<-96*5<6.@D18=D.9>2BG%"&E;.;2#4.+2..;3B;;+E$&8@*-#6#?+)=('5H?+,)55(E%H=/<AA%G+"A.<%5=3F=A;'D@1$2*2'2GDH-D9EE=E77.?(F$
+@r8
+CCTGCACCTCGACCTATCGCGGTGACGAGTGCGGTTATAGCGGTCCGGCT
++
+*4>64F-%%7E,7,AF#4*+*D):2?:'1E97H.#6::4.D89#D&=*,/
+@r9
+ANNAATCTCTGTCGCCGTCTCCCAGCCGTTGTTCGAGGGNCAATCCA
++
+(!#&'"*'+&)'&#"'*)#+**+*'&!'"%)*+'%"#%&)*(#&')$
+@r10
+GTNTCAGGTGCCGTTGTCAGCNGCACAGCCGGGCGATGTGCTGCTGTGCTGTTTT
++
+D"6+=FH>(>;?#8+)@@6(="556;>)&3*/29,*&F4/%C!AD/'5H)16@E(
+@r11
+ATTCAAAATTGTTGTTTTACCACACCCATTCCGCCCGATAAAAGCATGAATGTTCGTGCTGGGCATAGAATTACCAGTCACCTCAAAAGGTATAGTTAAATCACTGAATC
++
+/3%GF/(*>!DB6;HB?+B00>=@BH>H8?!2*C+A/*#2<33F*H,3&H@A+,;"G<6,'.1!#ED"A<86H66(F:(92'.(-@1A$)!6<=;$<FF/B$%/0@5F6;
+@r12
+NGAGAGGCGCGGAAGTTAACACTTATGAAAAATGGCTACGAAGTCCGTGGCTATCTATCGGCTTATTAGTACTTGAAACNCTTCTTCAGAAGCCTGAAGAGCTAATCGTTCGGCGATACTATATATCCATTAATAGNCTATATCGTTG
++
+"$&*)"+#&&)!%##**$#!&(%*&*)&(%*!#"(+'%)#$'&()%"&$((#(&*'#(#))*&%(+&)'#+!#(')'!*##$)')%!*(""($##'('&+#&'#!$*"+$)%)*$!('*&+"$("!(#'!#%!%*)%$%*!$('"&%!
+@r13
+TGTCTTTGCCGCACTTGCGGTGANAGTCACTCCGGCCCGTGC
++
+@2-2D*001B'H->32&$."+9-(/&((9%4?9D?7%H!E"6
+@r14
+GTGTTAAATGGTTTGCCAGAATTGTCAGATTTCCACTTNTCATTTAATAGAAAAAGTGCTCCCGGATTCAGTGATTTAACTATACCTTTTGAGGTGACGGTTAATTCTATGC
++
+>&-'AE7D-)":0.8$!,*.:=*0H91,12<*7=H&@766?>>&9?!&4.C%)H,2A(B,=)0?#(?/5<(1%)+9?3B4$G&!'?=)?->$,5%HF.H@B.3@4+.80?0#
+@r15
+TNAANNATCCCTTNTNNGANGNTTGANNCTGNGANTTGNTATANATT
++
+(!!!#(*#""!'#""!"($"(#$%#(!"'%&%*%!*$(**!#"!!!+
+@r16
+CAGAAAAAGACCTGGNCGGCTGAAGACCAGCTTCGCGGGAACTGGATG
++
+):@&9:*2)G"=:H9=C1C815"00A:0<GB(670(F2,BCH#?-("/
+@r17
+GGCATGTGGAGTTCAGCCGATCTGACTTATGTCATTACCTATGAAATGTGAGGACGCTATGCCT
++
+A0%CD!B8<3*)EC;5>5?$12>9+,,?/D5C"@*%+%0"F)F'&<*A947.*87?&7/-/9B(
+@r18
+ACNCNAANNTGANTANNNNAAGCGATACGANTGGATTCGACAACAAAAAAGACCTGCTTATCTCGGTGGGCGATTTGGTTGATCGTGGTGCAGAGAACGTTGAATGCCT
++
+"*&)!''&")&'!!)""!""!#!+)$+'*'!)%*''%'#&"+")"+)!&!%'*!#**')"$)!*)'&%%*'$(&%)#&+'%('&*''%')'#(!$#'("""$%(')"*)
+@r19
+TCGTCTGCGCGGGCATTGCCACGGGTAAAGTTGGGCAACAGGGCTGCATCCACACTTTCACTCGG..237*H:;9/;D44(22F38,C1D"?&7;/4&7$.,D&F%)=-C599D,@5D'7&4=0$C04"?9D6;#??A#E>F4?C
+@r9986
+CGATGTGCGCCAGCGGAGTCGTGCGGCTTCGTGGTAAGCACGCCGGAGGGG
++
+)'0B2*@,(;!4"C5H2A(<31?66A$13>(/&/3$+&)>D.FH./,A7<B
+@r9987
+NCTGGCAGGGCTTTCCACGGCGAAAAATAAATTACCGTATTTTGCGGAAAATGATGCCGCCAGCCTGACTGAACTGACTCAGGTTGGCAGGGATATTCTGGCAAAAAATTCCGTTGAAGATGTTCTTGAATACCTTGGGGCCGGTGAGAATTCGGCCTTTACGGCAGGTGCGCCGATCCCGTGGCGATTAGATATCGTTCCGTCTGGCTACGTCCTGATGCAGGGGCA
++
+!++&"'!"*&#*&)+&%!'%&!')'+(&%%)"$)&($(+"%+($)$&$(%$'&'&'&"!$&#'''%#$&)$""+%"))#'#)*)*+)$"+()("))&")'*)+#"#'+!#)+"("'*(')!"%$$(&#$$%+%*)&'&&*"+"#+'*#)!)"$(*+"!()***'%*&+#!%'()%*!!%+'!&"%'#%#)+"+*#*)'%#+'*)%%+()&#+'%$())'&%'!%($(!
+@r9988
+CCNATTTCTCGCTGTAGGGGTACACGAGAACCACCGAGCCTGATGTGGTTAAAAGACAGGCACAATCTTTACTACCGCAATCCACTATTTAAGGTGATATATGGAAGAAGAATTTGAAGAGTTCGAAGAGCATCCTCAGGATGTGATGGAACAATACCAGGACTATCCGTATGACTACGACTATTAA
++
+)*'+)*%+("+$$$"!#("!*%*)'!*)!*)&%&*"(!#+&*&)%!"$*""#$#($'!))"$!%%)(#*%$(%&*(+'$"'!&)%&&+)#(*)$#&!()!"&'$+&**#++$%('&*'##%(&$)!*(#*"+#%'"'()($*#+%#&#('*"++(%)!##'&+!!$&!$+$*(*$""#))#!")&("
+@r9989
+ATNNNNNNTGNNTCTGNGCNGNTTNNNNGNNANNTNGCTATNNGNTAT
++
+!$!"!$""$#"!!#$#!!!!"!"#""!#!"$###$!"!"$$""$#"$#
+@r9990
+NCGAANAAACATGGGCTGTTCCGGGTGATCCCCATTAAAGGGGCATCCGTCTACGGAAAGCCGGTGGTCAGCATGCCACGTAAGCGAAACAAA
++
+#+)()#&&"!))&'$##*!*#('($"$#$"&+$)*%"*)#*(#**%+)$'"'$#'$#++%')"#(&#$(%)$$"+(#"&')"%&*!"*&$!"'
+@r9991
+GACGGCTGGTATCAGGTACGGATTGCCGGGCGGGACGTCAGCACGTCCGGGTTAACGGCGCAGTTACATGAGANTCTG
++
+/C((:9/8*8#38+3H8"$46H/E0=0+'-7&@,!:D?+27649E9'!9$4>+G)D<,H**;#2>AB=)-?02/./$G
+@r9992
+AGCACGTCAGAAACTGCCTGCATCTCTTCGACCTGAGCAATGNCCAGCTCTTCGTCACGCATGTTCTGCATGATGATGCGACGGCGGCGGTAAGCCGTGTCCGCCAGATTCTGCGGANCTTCATCCGGCAGGCGACGCAGGGTCATCTGCGGATTCACTTCATGCTTNGGCTTGACATATCCCGGCGTAAATTCAGAGGTGGAGCCGCCACGGGAACGGATAACCTNACCGGAAACAATCGGCGAAACGTACAGCGCCATGTTTACCAGTCCCGGAATTTGTGAGAGATAGACTT
++
+9%H0DHF+2('*>2$BE)0(D,?:&75"(E<9E-H*!1>$0@08)>BG*:C*AA27@DBE-!8"<EGG2#:B79#)05D*3-0@H2B>"0?86-G2@:,65!"H4(>82<;H#$1B1$1E!6#6?.>;1&*%G7%GH./2BA,>)0$E:;-2&43>C3%;$,;8:F2!>7*4H&''(&CH%>'/G9&.FF6F,G@A33/';/-<5'"?2G3)##0#+'??<8A'4:3.-$(GH&$;,D<C;A9A5;)?%H)0:.2.".0F1;*6"H2205A;;GD6%A%7@)!=25)&1;HC9,:
+@r9993
+TNNGTTANAGTNAGTAACTTAAAAGAGAGATCCTGTGTTGCNGCCAAATAAATTGCGGTTATTTT
++
+%"!)&!%%)%!#+&%&#)"*$'*#(+!(*#)(#!((&%)!!)"!)*!()&+&*))&#+(++%*$&
+@r9994
+TTATCCCTTTGACGAATACGAGTTTGGAAAGCCAGTTGATCATCAGCAGGTAATCTGGAACCGCGAACGAATCAGCAACTCACAAAACGGGATGGTGAAAGAAATCAAAGGCGCGGACACGTTCA
++
+)58)7ED#G.G)CF/!@29/>)@9<C?8E?>#@1%@<.DE1C<7B(B5#:>.A=;BE.DC2D$?)%7:A/07'C@:D.>!-G-:EG476!E#/5%A+,?&+)=?7F'2+:6796>B2'B@F0$&0
+@r9995
+ATCCGTTNCCGCCGGACTGCCAAACGTCAGCGAGCTGGTTGATATGGTTTACGAGTATTGCCGGCGAGGCCTGTATCCGGAAGCGGAGTCTTATCCGTGGAAATCAAACGCNCACTACTGGCTGGTTACCAACCTGTATCAGAACATGCGGGCCAATGC
++
+#'$))(%"(*&$+&***!$$!+)"%%#&"#%'!%!&$$))+)*#"'*%&&$#&("+(&#+!+%++#+)!'"(&"&'($)((#*&*+#&$#$$&'!'+$%&!$#(((!%+&(+'($$(%!+%#!))%!"($%!'"*"&$$'#!%+!)&+)#(%(#%"$')
+@r9996
+ACTNAAGGATGCCAGCAAGCGCAGCATATCGCGCTGTGACCATGCTAGGGATCCCAAACCTTNCCCGACCCACCTGTTCACGCACTGTTAAGCCGCNGTATGACGCTCTGGTGGTGCAATGCCACAAAGAAGAGTCAATCGCAGA
++
+'!)()+#+"%")%##)"$)'(%*+)(&'$#'+""!''*())!"&(*++%)+($'('%&&'%"(%$!$!$!(#'%#&$$*"+'&%!!&"''*+(%%$"!"+!(''&"($&#**!!(#$+#+"#+++&!!#$+%**+#$$+&!$"%#
+@r9997
+GCCGCTGTGCTTTCANTGGATTTCGGATAACAGAAAGGNCGGGAAATACCCAGNCTCGCTTTGTAACGGAGTAGACGAAAGTGATTGCGNCTACCCGGA
++
+@!6;5'9,@FA=H-G<72)50G@2B@>7#$/%?H-F;497++D='.G?/(4@#"F#@<(+E=4#F&;&96A,?H/0E?1,6986%1D1$27D(@@*6#9
+@r9998
+CATTAAAGGGGCATCCGTCTACGGAAAGCCGGTGGCCAGCATGCCA
++
+BD1FC>5*F>%84@$5G#(=H--3'4=4+%-A5DE1?@/E;2)"&7
+@r9999
+AATCTGCTCCNCCGACACGTTATGGAACTGGCGAGCCATCGCCGTCAGCCCCGACGTCGGGTCCGTGGTCAGCTTCCCGAAGGCTTCAGCGACCTTGTCCACC
++
+D+%4F$/G$<1BA#$7"FA(C2$;B+79,@F%+<88B%0?&3<+BC83&-:+,4C?HF=E;97/'>/.)&4E,*,G3=7@4=5BE75+72D-*!C&*'%)<%0
+@r10000
+AACTGTTTCGGGATTGCATTTTGCAGACCTCTCTGCCTGCGATGGTTGGAGTTCCAGACGATACGTCGAAGTGACCAACTGCGGAATCGGTAGTAAGCGCCGCCTCTTTTCATCTCACTACCACA
++
+893H?F//$,B%'@B/(4'9!&.8#2G082.$EHE@:*2@((B;62#C$/-1B#+:;C%=<>G31D47587EB,.("5&)%>;=>"-.?0:9+7)?G01:G'!&#3C=.1'%(;1#(02?*%'((
test-data/samples/sample2/var.flt.vcf
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample2/var.flt.vcf
test-data/samples/sample2/var.flt.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample2/var.flt.vcf Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,68 @@
+##fileformat=VCFv4.1
+##source=VarScan2
+##INFO=<ID=ADP,Number=1,Type=Integer,Description="Average per-sample depth of bases with Phred score >= 15">
+##INFO=<ID=WT,Number=1,Type=Integer,Description="Number of samples called reference (wild-type)">
+##INFO=<ID=HET,Number=1,Type=Integer,Description="Number of samples called heterozygous-variant">
+##INFO=<ID=HOM,Number=1,Type=Integer,Description="Number of samples called homozygous-variant">
+##INFO=<ID=NC,Number=1,Type=Integer,Description="Number of samples not called">
+##FILTER=<ID=str10,Description="Less than 10% or more than 90% of variant supporting reads on one strand">
+##FILTER=<ID=indelError,Description="Likely artifact due to indel reads at this position">
+##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
+##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality">
+##FORMAT=<ID=SDP,Number=1,Type=Integer,Description="Raw Read Depth as reported by SAMtools">
+##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Quality Read Depth of bases with Phred score >= 15">
+##FORMAT=<ID=RD,Number=1,Type=Integer,Description="Depth of reference-supporting bases (reads1)">
+##FORMAT=<ID=AD,Number=1,Type=Integer,Description="Depth of variant-supporting bases (reads2)">
+##FORMAT=<ID=FREQ,Number=1,Type=String,Description="Variant allele frequency">
+##FORMAT=<ID=PVAL,Number=1,Type=String,Description="P-value from Fisher's Exact Test">
+##FORMAT=<ID=RBQ,Number=1,Type=Integer,Description="Average quality of reference-supporting bases (qual1)">
+##FORMAT=<ID=ABQ,Number=1,Type=Integer,Description="Average quality of variant-supporting bases (qual2)">
+##FORMAT=<ID=RDF,Number=1,Type=Integer,Description="Depth of reference-supporting bases on forward strand (reads1plus)">
+##FORMAT=<ID=RDR,Number=1,Type=Integer,Description="Depth of reference-supporting bases on reverse strand (reads1minus)">
+##FORMAT=<ID=ADF,Number=1,Type=Integer,Description="Depth of variant-supporting bases on forward strand (reads2plus)">
+##FORMAT=<ID=ADR,Number=1,Type=Integer,Description="Depth of variant-supporting bases on reverse strand (reads2minus)">
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT Sample1
+gi|9626243|ref|NC_001416.1| 2599 . C A . PASS ADP=24;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:135:25:24:0:24:100%:3.101E-14:0:26:0:0:8:16
+gi|9626243|ref|NC_001416.1| 3678 . C T . PASS ADP=16;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:75:19:16:1:15:93.75%:2.8282E-8:17:26:1:0:8:7
+gi|9626243|ref|NC_001416.1| 5142 . C G . PASS ADP=17;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:93:18:17:0:17:100%:4.2852E-10:0:27:0:0:4:13
+gi|9626243|ref|NC_001416.1| 5336 . G T . PASS ADP=8;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:41:8:8:0:8:100%:7.77E-5:0:31:0:0:1:7
+gi|9626243|ref|NC_001416.1| 5994 . A T . PASS ADP=21;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:117:21:21:0:21:100%:1.8578E-12:0:24:0:0:10:11
+gi|9626243|ref|NC_001416.1| 6535 . C A . PASS ADP=19;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:99:22:19:0:18:100%:1.1019E-10:0:27:0:0:6:12
+gi|9626243|ref|NC_001416.1| 7424 . G T . PASS ADP=21;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:117:25:21:0:21:100%:1.8578E-12:0:26:0:0:13:8
+gi|9626243|ref|NC_001416.1| 10127 . G A . PASS ADP=26;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:146:32:26:0:26:100%:2.0165E-15:0:26:0:0:14:12
+gi|9626243|ref|NC_001416.1| 11782 . A G . PASS ADP=16;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:87:17:16:0:16:100%:1.6637E-9:0:28:0:0:7:9
+gi|9626243|ref|NC_001416.1| 13264 . C T . PASS ADP=22;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:R..DF:ADR 1/1:129:25:23:0:23:100%:1.2146E-13:0:29:0:0:11:12
+gi|9626243|ref|NC_001416.1| 22220 . A C . PASS ADP=27;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:152:28:27:0:27:100%:5.1363E-16:0:23:0:0:17:10
+gi|9626243|ref|NC_001416.1| 22747 . G A . PASS ADP=18;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:99:19:18:0:18:100%:1.1019E-10:0:28:0:0:6:12
+gi|9626243|ref|NC_001416.1| 23457 . A C . PASS ADP=19;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:99:20:19:0:18:100%:1.1019E-10:0:27:0:0:11:7
+gi|9626243|ref|NC_001416.1| 25005 . A C . PASS ADP=11;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:58:12:11:0:11:100%:1.4176E-6:0:26:0:0:5:6
+gi|9626243|ref|NC_001416.1| 25158 . A C . PASS ADP=20;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:111:22:20:0:20:100%:7.2544E-12:0:27:0:0:10:10
+gi|9626243|ref|NC_001416.1| 25645 . C G . PASS ADP=24;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:135:26:24:0:24:100%:3.101E-14:0:26:0:0:10:14
+gi|9626243|ref|NC_001416.1| 26173 . G C . PASS ADP=21;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:117:21:21:0:21:100%:1.8578E-12:0:26:0:0:10:11
+gi|9626243|ref|NC_001416.1| 27661 . T C . PASS ADP=23;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:123:25:23:0:22:100%:4.7526E-13:0:28:0:0:14:8
+gi|9626243|ref|NC_001416.1| 28045 . G T . PASS ADP=25;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:141:25:25:0:25:100%:7.9107E-15:0:29:0:0:13:12
+gi|9626243|ref|NC_001416.1| 28362 . T C . PASS ADP=20;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:111:22:20:0:20:100%:7.2544E-12:0:24:0:0:12:8
+gi|9626243|ref|NC_001416.1| 29411 . T C . PASS ADP=28;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:158:31:28:0:28:100%:1.3074E-16:0:28:0:0:13:15
+gi|9626243|ref|NC_001416.1| 30125 . A G . PASS ADP=21;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:117:21:21:0:21:100%:1.8578E-12:0:29:0:0:11:10
+gi|9626243|ref|NC_001416.1| 34137 . T G . PASS ADP=33;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:182:34:33:0:32:100%:5.4567E-19:0:25:0:0:17:15
+gi|9626243|ref|NC_001416.1| 35907 . G T . PASS ADP=31;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:164:32:31:0:29:100%:3.3259E-17:0:27:0:0:18:11
+gi|9626243|ref|NC_001416.1| 38575 . A C . PASS ADP=21;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:117:21:21:0:21:100%:1.8578E-12:0:28:0:0:10:11
+gi|9626243|ref|NC_001416.1| 39206 . T C . PASS ADP=18;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:93:20:18:0:17:100%:4.2852E-10:0:24:0:0:7:10
+gi|9626243|ref|NC_001416.1| 39484 . C A . PASS ADP=18;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:99:20:18:0:18:100%:1.1019E-10:0:24:0:0:11:7
+gi|9626243|ref|NC_001416.1| 43470 . G T . PASS ADP=21;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:117:25:21:0:21:100%:1.8578E-12:0:29:0:0:12:9
+gi|9626243|ref|NC_001416.1| 44134 . T C . PASS ADP=21;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:111:22:21:0:20:100%:7.2544E-12:0:25:0:0:12:8
+gi|9626243|ref|NC_001416.1| 44413 . G T . PASS ADP=31;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:176:32:31:0:31:100%:2.1486E-18:0:26:0:0:13:18
+gi|9626243|ref|NC_001416.1| 45364 . A C . PASS ADP=27;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:141:27:27:0:25:96.15%:7.9107E-15:0:27:0:0:16:9
+gi|9626243|ref|NC_001416.1| 47425 . T C . PASS ADP=18;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:93:19:18:0:17:100%:4.2852E-10:0:26:0:0:11:6
test-data/samples/sample2/var.flt_preserved.vcf
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample2/var.flt_preserved.vcf
test-data/samples/sample2/var.flt_preserved.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample2/var.flt_preserved.vcf Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,65 @@
+##fileformat=VCFv4.1
+##source=VarScan2
+##INFO=<ID=ADP,Number=1,Type=Integer,Description="Average per-sample depth of bases with Phred score >= 15">
+##INFO=<ID=WT,Number=1,Type=Integer,Description="Number of samples called reference (wild-type)">
+##INFO=<ID=HET,Number=1,Type=Integer,Description="Number of samples called heterozygous-variant">
+##INFO=<ID=HOM,Number=1,Type=Integer,Description="Number of samples called homozygous-variant">
+##INFO=<ID=NC,Number=1,Type=Integer,Description="Number of samples not called">
+##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
+##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality">
+##FORMAT=<ID=SDP,Number=1,Type=Integer,Description="Raw Read Depth as reported by SAMtools">
+##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Quality Read Depth of bases with Phred score >= 15">
+##FORMAT=<ID=RD,Number=1,Type=Integer,Description="Depth of reference-supporting bases (reads1)">
+##FORMAT=<ID=AD,Number=1,Type=Integer,Description="Depth of variant-supporting bases (reads2)">
+##FORMAT=<ID=FREQ,Number=1,Type=String,Description="Variant allele frequency">
+##FORMAT=<ID=PVAL,Number=1,Type=String,Description="P-value from Fisher's Exact Test">
+##FORMAT=<ID=RBQ,Number=1,Type=Integer,Description="Average quality of reference-supporting bases (qual1)">
+##FORMAT=<ID=ABQ,Number=1,Type=Integer,Description="Average quality of variant-supporting bases (qual2)">
+##FORMAT=<ID=RDF,Number=1,Type=Integer,Description="Depth of reference-supporting bases on forward strand (reads1plus)">
+##FORMAT=<ID=RDR,Number=1,Type=Integer,Description="Depth of reference-supporting bases on reverse strand (reads1minus)">
+##FORMAT=<ID=ADF,Number=1,Type=Integer,Description="Depth of variant-supporting bases on forward strand (reads2plus)">
+##FORMAT=<ID=ADR,Number=1,Type=Integer,Description="Depth of variant-supporting bases on reverse strand (reads2minus)">
+##FILTER=<ID=str10,Description="Less than 10% or more than 90% of variant supporting reads on one strand">
+##FILTER=<ID=indelError,Description="Likely artifact due to indel reads at this position">
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT Sample1
+gi|9626243|ref|NC_001416.1| 2599 . C A . PASS ADP=24;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:135:25:24:0:24:100%:3.101E-14:0:26:0:0:8:16
+gi|9626243|ref|NC_001416.1| 3678 . C T . PASS ADP=16;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:75:19:16:1:15:93.75%:2.8282E-8:17:26:1:0:8:7
+gi|9626243|ref|NC_001416.1| 5994 . A T . PASS ADP=21;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:117:21:21:0:21:100%:1.8578E-12:0:24:0:0:10:11
+gi|9626243|ref|NC_001416.1| 6535 . C A . PASS ADP=19;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:99:22:19:0:18:100%:1.1019E-10:0:27:0:0:6:12
+gi|9626243|ref|NC_001416.1| 7424 . G T . PASS ADP=21;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:117:25:21:0:21:100%:1.8578E-12:0:26:0:0:13:8
+gi|9626243|ref|NC_001416.1| 10127 . G A . PASS ADP=26;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:146:32:26:0:26:100%:2.0165E-15:0:26:0:0:14:12
+gi|9626243|ref|NC_001416.1| 11782 . A G . PASS ADP=16;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:87:17:16:0:16:100%:1.6637E-9:0:28:0:0:7:9
+gi|9626243|ref|NC_001416.1| 13264 . C T . PASS ADP=22;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:123:23:22:0:22:100%:4.7526E-13:0:26:0:0:14:8
+gi|9626243|ref|NC_001416.1| 13542 . C G . PASS ADP=23;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:123:26:23:0:22:95.65%:4.7526E-13:0:29:0:0:14:8
+gi|9626243|ref|NC_001416.1| 13952 . G C . PASS ADP=31;WT=0;HET=0;H..F:ADR 1/1:170:32:30:0:30:100%:8.4556E-18:0:27:0:0:19:11
+gi|9626243|ref|NC_001416.1| 21320 . T C . PASS ADP=23;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:129:25:23:0:23:100%:1.2146E-13:0:29:0:0:11:12
+gi|9626243|ref|NC_001416.1| 22220 . A C . PASS ADP=27;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:152:28:27:0:27:100%:5.1363E-16:0:23:0:0:17:10
+gi|9626243|ref|NC_001416.1| 22747 . G A . PASS ADP=18;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:99:19:18:0:18:100%:1.1019E-10:0:28:0:0:6:12
+gi|9626243|ref|NC_001416.1| 23457 . A C . PASS ADP=19;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:99:20:19:0:18:100%:1.1019E-10:0:27:0:0:11:7
+gi|9626243|ref|NC_001416.1| 25005 . A C . PASS ADP=11;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:58:12:11:0:11:100%:1.4176E-6:0:26:0:0:5:6
+gi|9626243|ref|NC_001416.1| 25158 . A C . PASS ADP=20;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:111:22:20:0:20:100%:7.2544E-12:0:27:0:0:10:10
+gi|9626243|ref|NC_001416.1| 25645 . C G . PASS ADP=24;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:135:26:24:0:24:100%:3.101E-14:0:26:0:0:10:14
+gi|9626243|ref|NC_001416.1| 26173 . G C . PASS ADP=21;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:117:21:21:0:21:100%:1.8578E-12:0:26:0:0:10:11
+gi|9626243|ref|NC_001416.1| 28045 . G T . PASS ADP=25;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:141:25:25:0:25:100%:7.9107E-15:0:29:0:0:13:12
+gi|9626243|ref|NC_001416.1| 28362 . T C . PASS ADP=20;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:111:22:20:0:20:100%:7.2544E-12:0:24:0:0:12:8
+gi|9626243|ref|NC_001416.1| 29411 . T C . PASS ADP=28;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:158:31:28:0:28:100%:1.3074E-16:0:28:0:0:13:15
+gi|9626243|ref|NC_001416.1| 30125 . A G . PASS ADP=21;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:117:21:21:0:21:100%:1.8578E-12:0:29:0:0:11:10
+gi|9626243|ref|NC_001416.1| 34137 . T G . PASS ADP=33;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:182:34:33:0:32:100%:5.4567E-19:0:25:0:0:17:15
+gi|9626243|ref|NC_001416.1| 35907 . G T . PASS ADP=31;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:164:32:31:0:29:100%:3.3259E-17:0:27:0:0:18:11
+gi|9626243|ref|NC_001416.1| 38575 . A C . PASS ADP=21;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:117:21:21:0:21:100%:1.8578E-12:0:28:0:0:10:11
+gi|9626243|ref|NC_001416.1| 39206 . T C . PASS ADP=18;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:93:20:18:0:17:100%:4.2852E-10:0:24:0:0:7:10
+gi|9626243|ref|NC_001416.1| 39484 . C A . PASS ADP=18;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:99:20:18:0:18:100%:1.1019E-10:0:24:0:0:11:7
+gi|9626243|ref|NC_001416.1| 43470 . G T . PASS ADP=21;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:117:25:21:0:21:100%:1.8578E-12:0:29:0:0:12:9
+gi|9626243|ref|NC_001416.1| 44134 . T C . PASS ADP=21;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:111:22:21:0:20:100%:7.2544E-12:0:25:0:0:12:8
+gi|9626243|ref|NC_001416.1| 44413 . G T . PASS ADP=31;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:176:32:31:0:31:100%:2.1486E-18:0:26:0:0:13:18
+gi|9626243|ref|NC_001416.1| 45364 . A C . PASS ADP=27;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:141:27:27:0:25:96.15%:7.9107E-15:0:27:0:0:16:9
+gi|9626243|ref|NC_001416.1| 47425 . T C . PASS ADP=18;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:93:19:18:0:17:100%:4.2852E-10:0:26:0:0:11:6
test-data/samples/sample2/var.flt_removed.vcf
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample2/var.flt_removed.vcf
test-data/samples/sample2/var.flt_removed.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample2/var.flt_removed.vcf Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,27 @@
+##fileformat=VCFv4.1
+##source=VarScan2
+##INFO=<ID=ADP,Number=1,Type=Integer,Description="Average per-sample depth of bases with Phred score >= 15">
+##INFO=<ID=WT,Number=1,Type=Integer,Description="Number of samples called reference (wild-type)">
+##INFO=<ID=HET,Number=1,Type=Integer,Description="Number of samples called heterozygous-variant">
+##INFO=<ID=HOM,Number=1,Type=Integer,Description="Number of samples called homozygous-variant">
+##INFO=<ID=NC,Number=1,Type=Integer,Description="Number of samples not called">
+##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
+##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality">
+##FORMAT=<ID=SDP,Number=1,Type=Integer,Description="Raw Read Depth as reported by SAMtools">
+##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Quality Read Depth of bases with Phred score >= 15">
+##FORMAT=<ID=RD,Number=1,Type=Integer,Description="Depth of reference-supporting bases (reads1)">
+##FORMAT=<ID=AD,Number=1,Type=Integer,Description="Depth of variant-supporting bases (reads2)">
+##FORMAT=<ID=FREQ,Number=1,Type=String,Description="Variant allele frequency">
+##FORMAT=<ID=PVAL,Number=1,Type=String,Description="P-value from Fisher's Exact Test">
+##FORMAT=<ID=RBQ,Number=1,Type=Integer,Description="Average quality of reference-supporting bases (qual1)">
+##FORMAT=<ID=ABQ,Number=1,Type=Integer,Description="Average quality of variant-supporting bases (qual2)">
+##FORMAT=<ID=RDF,Number=1,Type=Integer,Description="Depth of reference-supporting bases on forward strand (reads1plus)">
+##FORMAT=<ID=RDR,Number=1,Type=Integer,Description="Depth of reference-supporting bases on reverse strand (reads1minus)">
+##FORMAT=<ID=ADF,Number=1,Type=Integer,Description="Depth of variant-supporting bases on forward strand (reads2plus)">
+##FORMAT=<ID=ADR,Number=1,Type=Integer,Description="Depth of variant-supporting bases on reverse strand (reads2minus)">
+##FILTER=<ID=str10,Description="Less than 10% or more than 90% of variant supporting reads on one strand">
+##FILTER=<ID=indelError,Description="Likely artifact due to indel reads at this position">
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT Sample1
+gi|9626243|ref|NC_001416.1| 5142 . C G . PASS ADP=17;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:93:18:17:0:17:100%:4.2852E-10:0:27:0:0:4:13
+gi|9626243|ref|NC_001416.1| 5336 . G T . PASS ADP=8;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:41:8:8:0:8:100%:7.77E-5:0:31:0:0:1:7
+gi|9626243|ref|NC_001416.1| 27661 . T C . PASS ADP=23;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:123:25:23:0:22:100%:4.7526E-13:0:28:0:0:14:8
test-data/samples/sample3/consensus.fasta
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample3/consensus.fasta
test-data/samples/sample3/consensus.fasta
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample3/consensus.fasta Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,4 @@
+>sample3
+GGCGCTAGGAGGTACGCTTCGCGTGTGGATCAGCGCTACGGTGCCTATGCGTGACCCGCG
+GAACTGGGTTCGCGTAAGGCAGTTCAGGTACGGCAACGTAGATCAAAGTTTAGAAACCAT
+ACTCGTAATCCGCCTGACGCTACTCATTATGTATGTGGACGCCTG
test-data/samples/sample3/consensus.vcf
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample3/consensus.vcf
test-data/samples/sample3/consensus.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample3/consensus.vcf Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,186 @@
+##fileformat=VCFv4.1
+##fileDate=20180103
+##source=CFSAN SNP-Pipeline 1.0.1
+##reference=lambda_virus.fasta
+##INFO=<ID=NS,Number=1,Type=Integer,Description="Number of samples with data">
+##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
+##FORMAT=<ID=SDP,Number=1,Type=Integer,Description="Raw read depth">
+##FORMAT=<ID=RD,Number=1,Type=Integer,Description="Depth of reference-supporting bases (reads1)">
+##FORMAT=<ID=AD,Number=1,Type=Integer,Description="Depth of variant-supporting bases (reads2)">
+##FORMAT=<ID=RDF,Number=1,Type=Integer,Description="Depth of reference-supporting bases on forward strand (reads1plus)">
+##FORMAT=<ID=RDR,Number=1,Type=Integer,Description="Depth of reference-supporting bases on reverse strand (reads1minus)">
+##FORMAT=<ID=ADF,Number=1,Type=Integer,Description="Depth of variant-supporting bases on forward strand (reads2plus)">
+##FORMAT=<ID=ADR,Number=1,Type=Integer,Description="Depth of variant-supporting bases on reverse strand (reads2minus)">
+##FORMAT=<ID=FT,Number=1,Type=String,Description="Genotype filters using the same codes as the FILTER data element">
+##FILTER=<ID=PASS,Description="All filters passed">
+##FILTER=<ID=RawDpth,Description="No read depth">
+##FILTER=<ID=VarFreq60,Description="Variant base frequency below 0.60">
+##FILTER=<ID=StrDpth0,Description="Less than 0 variant-supporing reads on at least one strand">
+##FILTER=<ID=StrBias0,Description="Fraction of variant supporting reads below 0.00 on one strand">
+##FILTER=<ID=Region,Description="Position is in dense region of snps or near the end of the contig.">
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT sample3
+gi|9626243|ref|NC_001416.1| 403 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:26:26:0:13:13:0:0:PASS
+gi|9626243|ref|NC_001416.1| 550 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:29:29:0:13:16:0:0:PASS
+gi|9626243|ref|NC_001416.1| 586 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:37:37:0:15:22:0:0:PASS
+gi|9626243|ref|NC_001416.1| 753 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:26:24:2:13:11:0:2:PASS
+gi|9626243|ref|NC_001416.1| 1019 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:25:25:0:10:15:0:0:PASS
+gi|9626243|ref|NC_001416.1| 1079 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:31:30:1:16:14:1:0:PASS
+gi|9626243|ref|NC_001416.1| 1540 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:21:21:0:10:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 1620 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:23:23:0:10:13:0:0:PASS
+gi|9626243|ref|NC_001416.1| 1650 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:21:21:0:11:10:0:0:PASS
+gi|9626243|ref|NC_001416.1| 1788 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:13:13:0:3:10:0:0:PASS
+gi|9626243|ref|NC_001416.1| 1804 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:14:14:0:7:7:0:0:PASS
+gi|9626243|ref|NC_001416.1| 2123 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:23:23:0:10:13:0:0:PASS
+gi|9626243|ref|NC_001416.1| 2439 . C T . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:16:0:16:0:0:8:8:PASS
+gi|9626243|ref|NC_001416.1| 2452 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:21:20:1:10:10:0:1:PASS
+gi|9626243|ref|NC_001416.1| 2599 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:24:24:0:12:12:0:0:PASS
+gi|9626243|ref|NC_001416.1| 3063 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:25:24:1:11:13:0:1:PASS
+gi|9626243|ref|NC_001416.1| 3351 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:29:29:0:15:14:0:0:PASS
+gi|9626243|ref|NC_001416.1| 3648 . C T . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:28:0:27:0:0:15:12:PASS
+gi|9626243|ref|NC_001416.1| 3656 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:24:24:0:12:12:0:0:PASS
+gi|9626243|ref|NC_001416.1| 3678 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:24:24:0:15:9:0:0:PASS
+gi|9626243|ref|NC_001416.1| 4977 ...S=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:24:24:0:12:12:0:0:PASS
+gi|9626243|ref|NC_001416.1| 35148 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:31:30:1:15:15:0:1:PASS
+gi|9626243|ref|NC_001416.1| 35802 . G C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:28:0:28:0:0:13:15:PASS
+gi|9626243|ref|NC_001416.1| 35907 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:21:21:0:11:10:0:0:PASS
+gi|9626243|ref|NC_001416.1| 36010 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:26:26:0:14:12:0:0:PASS
+gi|9626243|ref|NC_001416.1| 36169 . G C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:15:0:15:0:0:5:10:PASS
+gi|9626243|ref|NC_001416.1| 36642 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:19:18:1:10:8:1:0:PASS
+gi|9626243|ref|NC_001416.1| 37208 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:23:23:0:13:10:0:0:PASS
+gi|9626243|ref|NC_001416.1| 37387 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:24:24:0:11:13:0:0:PASS
+gi|9626243|ref|NC_001416.1| 37519 . G C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:13:0:13:0:0:6:7:PASS
+gi|9626243|ref|NC_001416.1| 37898 . C G . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:27:0:26:0:0:8:18:PASS
+gi|9626243|ref|NC_001416.1| 38073 . A C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:25:0:24:0:0:17:7:PASS
+gi|9626243|ref|NC_001416.1| 38165 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:17:16:1:11:5:0:1:PASS
+gi|9626243|ref|NC_001416.1| 38575 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:25:25:0:14:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 39003 . T C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:17:0:17:0:0:9:8:PASS
+gi|9626243|ref|NC_001416.1| 39206 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:20:20:0:8:12:0:0:PASS
+gi|9626243|ref|NC_001416.1| 39484 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:20:20:0:7:13:0:0:PASS
+gi|9626243|ref|NC_001416.1| 39485 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:16:16:0:4:12:0:0:PASS
+gi|9626243|ref|NC_001416.1| 40457 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:25:24:1:7:17:1:0:PASS
+gi|9626243|ref|NC_001416.1| 40835 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:28:28:0:17:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 40984 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:37:36:1:20:16:0:1:PASS
+gi|9626243|ref|NC_001416.1| 41064 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:30:30:0:15:15:0:0:PASS
+gi|9626243|ref|NC_001416.1| 41448 . A G . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:21:0:21:0:0:8:13:PASS
+gi|9626243|ref|NC_001416.1| 41954 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:20:19:1:6:13:1:0:PASS
+gi|9626243|ref|NC_001416.1| 42439 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:20:20:0:11:9:0:0:PASS
+gi|9626243|ref|NC_001416.1| 43306 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:23:23:0:6:17:0:0:PASS
+gi|9626243|ref|NC_001416.1| 43470 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:25:25:0:14:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 44134 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:20:20:0:10:10:0:0:PASS
+gi|9626243|ref|NC_001416.1| 44201 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:25:25:0:16:9:0:0:PASS
+gi|9626243|ref|NC_001416.1| 44413 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:23:23:0:9:14:0:0:PASS
+gi|9626243|ref|NC_001416.1| 45364 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:29:28:1:13:15:1:0:PASS
+gi|9626243|ref|NC_001416.1| 45409 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:27:27:0:16:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 46237 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:17:16:1:8:8:0:1:PASS
+gi|9626243|ref|NC_001416.1| 46283 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:25:25:0:11:14:0:0:PASS
+gi|9626243|ref|NC_001416.1| 46842 . G C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:28:0:27:0:0:17:10:PASS
+gi|9626243|ref|NC_001416.1| 47425 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:12:11:1:11:0:1:0:PASS
+gi|9626243|ref|NC_001416.1| 47893 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:27:27:0:12:15:0:0:PASS
test-data/samples/sample3/consensus_preserved.fasta
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample3/consensus_preserved.fasta
test-data/samples/sample3/consensus_preserved.fasta
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample3/consensus_preserved.fasta Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,4 @@
+>sample3
+GCGCGCTTCGATCAGCGCTACGGTGCCTATGCGTGACCCGCGGAACTGGGTTCGCGTAAG
+GCAGTTCAGGTACGGCAACGTAGTTTAGAAACCATACTCGTCGCCTGACGCTACTCATTA
+TGTATGTGGACGCCTG
test-data/samples/sample3/consensus_preserved.vcf
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample3/consensus_preserved.vcf
test-data/samples/sample3/consensus_preserved.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample3/consensus_preserved.vcf Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,160 @@
+##fileformat=VCFv4.1
+##fileDate=20180103
+##source=CFSAN SNP-Pipeline 1.0.1
+##reference=lambda_virus.fasta
+##INFO=<ID=NS,Number=1,Type=Integer,Description="Number of samples with data">
+##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
+##FORMAT=<ID=SDP,Number=1,Type=Integer,Description="Raw read depth">
+##FORMAT=<ID=RD,Number=1,Type=Integer,Description="Depth of reference-supporting bases (reads1)">
+##FORMAT=<ID=AD,Number=1,Type=Integer,Description="Depth of variant-supporting bases (reads2)">
+##FORMAT=<ID=RDF,Number=1,Type=Integer,Description="Depth of reference-supporting bases on forward strand (reads1plus)">
+##FORMAT=<ID=RDR,Number=1,Type=Integer,Description="Depth of reference-supporting bases on reverse strand (reads1minus)">
+##FORMAT=<ID=ADF,Number=1,Type=Integer,Description="Depth of variant-supporting bases on forward strand (reads2plus)">
+##FORMAT=<ID=ADR,Number=1,Type=Integer,Description="Depth of variant-supporting bases on reverse strand (reads2minus)">
+##FORMAT=<ID=FT,Number=1,Type=String,Description="Genotype filters using the same codes as the FILTER data element">
+##FILTER=<ID=PASS,Description="All filters passed">
+##FILTER=<ID=RawDpth,Description="No read depth">
+##FILTER=<ID=VarFreq60,Description="Variant base frequency below 0.60">
+##FILTER=<ID=StrDpth0,Description="Less than 0 variant-supporing reads on at least one strand">
+##FILTER=<ID=StrBias0,Description="Fraction of variant supporting reads below 0.00 on one strand">
+##FILTER=<ID=Region,Description="Position is in dense region of snps or near the end of the contig.">
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT sample3
+gi|9626243|ref|NC_001416.1| 550 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:29:29:0:13:16:0:0:PASS
+gi|9626243|ref|NC_001416.1| 586 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:37:37:0:15:22:0:0:PASS
+gi|9626243|ref|NC_001416.1| 753 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:26:24:2:13:11:0:2:PASS
+gi|9626243|ref|NC_001416.1| 2439 . C T . Region NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT .:16:0:16:0:0:8:8:Region
+gi|9626243|ref|NC_001416.1| 2599 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:24:24:0:12:12:0:0:PASS
+gi|9626243|ref|NC_001416.1| 3063 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:25:24:1:11:13:0:1:PASS
+gi|9626243|ref|NC_001416.1| 3351 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:29:29:0:15:14:0:0:PASS
+gi|9626243|ref|NC_001416.1| 3648 . C T . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:28:0:27:0:0:15:12:PASS
+gi|9626243|ref|NC_001416.1| 3656 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:24:24:0:12:12:0:0:PASS
+gi|9626243|ref|NC_001416.1| 3678 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:24:24:0:15:9:0:0:PASS
+gi|9626243|ref|NC_001416.1| 5462 . C T . Region NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT .:24:0:22:0:0:17:5:Region
+gi|9626243|ref|NC_001416.1| 5818 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:22:21:1:10:11:1:0:PASS
+gi|9626243|ref|NC_001416.1| 5994 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:22:22:0:9:13:0:0:PASS
+gi|9626243|ref|NC_001416.1| 6296 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:25:25:0:11:14:0:0:PASS
+gi|9626243|ref|NC_001416.1| 6535 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:19:19:0:7:12:0:0:PASS
+gi|9626243|ref|NC_001416.1| 6824 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:14:13:1:5:8:0:1:PASS
+gi|9626243|ref|NC_001416.1| 7424 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:29:28:1:11:17:0:1:PASS
+gi|9626243|ref|NC_001416.1| 7668 . A C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:17:0:17:0:0:6:11:PASS
+gi|9626243|ref|NC_001416.1| 7897 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:23:23:0:13:10:0:0:PASS
+gi|9626243|ref|NC_001416.1| 8420 . T C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:32:0:32:0:0:22:10:PASS
+gi|9626243|ref|NC_..NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:28:0:28:0:0:15:13:PASS
+gi|9626243|ref|NC_001416.1| 34137 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:22:21:1:8:13:1:0:PASS
+gi|9626243|ref|NC_001416.1| 35802 . G C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:28:0:28:0:0:13:15:PASS
+gi|9626243|ref|NC_001416.1| 35907 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:21:21:0:11:10:0:0:PASS
+gi|9626243|ref|NC_001416.1| 36010 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:26:26:0:14:12:0:0:PASS
+gi|9626243|ref|NC_001416.1| 36169 . G C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:15:0:15:0:0:5:10:PASS
+gi|9626243|ref|NC_001416.1| 36642 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:19:18:1:10:8:1:0:PASS
+gi|9626243|ref|NC_001416.1| 37208 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:23:23:0:13:10:0:0:PASS
+gi|9626243|ref|NC_001416.1| 37387 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:24:24:0:11:13:0:0:PASS
+gi|9626243|ref|NC_001416.1| 37519 . G C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:13:0:13:0:0:6:7:PASS
+gi|9626243|ref|NC_001416.1| 37898 . C G . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:27:0:26:0:0:8:18:PASS
+gi|9626243|ref|NC_001416.1| 38073 . A C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:25:0:24:0:0:17:7:PASS
+gi|9626243|ref|NC_001416.1| 38165 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:17:16:1:11:5:0:1:PASS
+gi|9626243|ref|NC_001416.1| 38575 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:25:25:0:14:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 39003 . T C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:17:0:17:0:0:9:8:PASS
+gi|9626243|ref|NC_001416.1| 39206 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:20:20:0:8:12:0:0:PASS
+gi|9626243|ref|NC_001416.1| 39484 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:20:20:0:7:13:0:0:PASS
+gi|9626243|ref|NC_001416.1| 39485 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:16:16:0:4:12:0:0:PASS
+gi|9626243|ref|NC_001416.1| 40457 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:25:24:1:7:17:1:0:PASS
+gi|9626243|ref|NC_001416.1| 40835 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:28:28:0:17:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 40984 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:37:36:1:20:16:0:1:PASS
+gi|9626243|ref|NC_001416.1| 41064 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:30:30:0:15:15:0:0:PASS
+gi|9626243|ref|NC_001416.1| 41448 . A G . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:21:0:21:0:0:8:13:PASS
+gi|9626243|ref|NC_001416.1| 41954 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:20:19:1:6:13:1:0:PASS
+gi|9626243|ref|NC_001416.1| 42439 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:20:20:0:11:9:0:0:PASS
+gi|9626243|ref|NC_001416.1| 43306 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:23:23:0:6:17:0:0:PASS
+gi|9626243|ref|NC_001416.1| 43470 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:25:25:0:14:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 44134 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:20:20:0:10:10:0:0:PASS
+gi|9626243|ref|NC_001416.1| 44201 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:25:25:0:16:9:0:0:PASS
+gi|9626243|ref|NC_001416.1| 44413 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:23:23:0:9:14:0:0:PASS
+gi|9626243|ref|NC_001416.1| 45364 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:29:28:1:13:15:1:0:PASS
+gi|9626243|ref|NC_001416.1| 45409 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:27:27:0:16:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 46237 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:17:16:1:8:8:0:1:PASS
+gi|9626243|ref|NC_001416.1| 46283 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:25:25:0:11:14:0:0:PASS
+gi|9626243|ref|NC_001416.1| 46842 . G C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:28:0:27:0:0:17:10:PASS
+gi|9626243|ref|NC_001416.1| 47425 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:12:11:1:11:0:1:0:PASS
+gi|9626243|ref|NC_001416.1| 47893 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:27:27:0:12:15:0:0:PASS
test-data/samples/sample3/duplicate_reads_metrics.txt
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample3/duplicate_reads_metrics.txt
test-data/samples/sample3/duplicate_reads_metrics.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample3/duplicate_reads_metrics.txt Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,112 @@
+## htsjdk.samtools.metrics.StringHeader
+# MarkDuplicates INPUT=[samples/sample3/reads.sorted.bam] OUTPUT=samples/sample3/reads.sorted.deduped.bam METRICS_FILE=samples/sample3/duplicate_reads_metrics.txt VERBOSITY=WARNING    MAX_SEQUENCES_FOR_DISK_READ_ENDS_MAP=50000 MAX_FILE_HANDLES_FOR_READ_ENDS_MAP=8000 SORTING_COLLECTION_SIZE_RATIO=0.25 TAG_DUPLICATE_SET_MEMBERS=false REMOVE_SEQUENCING_DUPLICATES=false TAGGING_POLICY=DontTag CLEAR_DT=true ADD_PG_TAG_TO_READS=true REMOVE_DUPLICATES=false ASSUME_SORTED=false DUPLICATE_SCORING_STRATEGY=SUM_OF_BASE_QUALITIES PROGRAM_RECORD_ID=MarkDuplicates PROGRAM_GROUP_NAME=MarkDuplicates READ_NAME_REGEX=<optimized capture of last three ':' separated fields as numeric values> OPTICAL_DUPLICATE_PIXEL_DISTANCE=100 MAX_OPTICAL_DUPLICATE_SET_SIZE=300000 QUIET=false VALIDATION_STRINGENCY=STRICT COMPRESSION_LEVEL=5 MAX_RECORDS_IN_RAM=500000 CREATE_INDEX=false CREATE_MD5_FILE=false GA4GH_CLIENT_SECRETS=client_secrets.json USE_JDK_DEFLATER=false USE_JDK_INFLATER=false
+## htsjdk.samtools.metrics.StringHeader
+# Started on: Wed Jan 03 20:46:32 UTC 2018
+
+## METRICS CLASS picard.sam.DuplicationMetrics
+LIBRARY UNPAIRED_READS_EXAMINED READ_PAIRS_EXAMINED SECONDARY_OR_SUPPLEMENTARY_RDS UNMAPPED_READS UNPAIRED_READ_DUPLICATES READ_PAIR_DUPLICATES READ_PAIR_OPTICAL_DUPLICATES PERCENT_DUPLICATION ESTIMATED_LIBRARY_SIZE
+Unknown Library 692 9097 0 0 114 2 0 0.006248 20685819
+
+## HISTOGRAM java.lang.Double
+BIN VALUE
+1.0 1
+2.0 1.99956
+3.0 2.998681
+4.0 3.997363
+5.0 4.995605
+6.0 5.993409
+7.0 6.990774
+8.0 7.9877
+9.0 8.984188
+10.0 9.980238
+11.0 10.97585
+12.0 11.971024
+13.0 12.965761
+14.0 13.96006
+15.0 14.953922
+16.0 15.947347
+17.0 16.940336
+18.0 17.932887
+19.0 18.925003
+20.0 19.916682
+21.0 20.907925
+22.0 21.898733
+23.0 22.889104
+24.0 23.879041
+25.0 24.868542
+26.0 25.857608
+27.0 26.846239
+28.0 27.834435
+29.0 28.822197
+30.0 29.809525
+31.0 30.796418
+32.0 31.782878
+33.0 32.768904
+34.0 33.754496
+35.0 34.739655
+36.0 35.724381
+37.0 36.708674
+38.0 37.692534
+39.0 38.675962
+40.0 39.658957
+41.0 40.64152
+42.0 41.623651
+43.0 42.60535
+44.0 43.586618
+45.0 44.567454
+46.0 45.547859
+47.0 46.527833
+48.0 47.507376
+49.0 48.486488
+50.0 49.46517
+51.0 50.443421
+52.0 51.421243
+53.0 52.398634
+54.0 53.375596
+55.0 54.352128
+56.0 55.328231
+57.0 56.303904
+58.0 57.279149
+59.0 58.253965
+60.0 59.228352
+61.0 60.202311
+62.0 61.175842
+63.0 62.148945
+64.0 63.121619
+65.0 64.093866
+66.0 65.065686
+67.0 66.037078
+68.0 67.008044
+69.0 67.978582
+70.0 68.948694
+71.0 69.918379
+72.0 70.887638
+73.0 71.85647
+74.0 72.824877
+75.0 73.792858
+76.0 74.760413
+77.0 75.727543
+78.0 76.694247
+79.0 77.660527
+80.0 78.626382
+81.0 79.591812
+82.0 80.556817
+83.0 81.521399
+84.0 82.485556
+85.0 83.449289
+86.0 84.412599
+87.0 85.375485
+88.0 86.337948
+89.0 87.299987
+90.0 88.261604
+91.0 89.222797
+92.0 90.183569
+93.0 91.143917
+94.0 92.103844
+95.0 93.063348
+96.0 94.022431
+97.0 94.981092
+98.0 95.939331
+99.0 96.897149
+100.0 97.854546
+
test-data/samples/sample3/metrics
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample3/metrics
test-data/samples/sample3/metrics
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample3/metrics Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,19 @@
+sample="sample3"
+fastqFileList="sample3_1.fastq, sample3_2.fastq"
+fastqFileSize=4774974
+machine=
+flowcell=
+numberReads=20000
+numberDupReads=118
+percentReadsMapped=94.43
+aveInsertSize=284.48
+avePileupDepth=22.55
+phase1Snps=38
+phase1SnpsPreserved=35
+snps=38
+snpsPreserved=35
+missingPos=0
+missingPosPreserved=0
+excludedSample=
+excludedSamplePreserved=
+errorList=""
test-data/samples/sample3/reads.all.pileup
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample3/reads.all.pileup
test-data/samples/sample3/reads.all.pileup
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample3/reads.all.pileup Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,48502 @@
+gi|9626243|ref|NC_001416.1| 1 G 2 ^8.^K. ..
+gi|9626243|ref|NC_001416.1| 2 G 1 . 9
+gi|9626243|ref|NC_001416.1| 3 G 1 . <
+gi|9626243|ref|NC_001416.1| 4 C 1 . 2
+gi|9626243|ref|NC_001416.1| 5 G 3 ... :>4
+gi|9626243|ref|NC_001416.1| 6 G 2 .. @;
+gi|9626243|ref|NC_001416.1| 7 C 3 ... E?5
+gi|9626243|ref|NC_001416.1| 8 G 4 .... 4@4C
+gi|9626243|ref|NC_001416.1| 9 A 4 .... 4926
+gi|9626243|ref|NC_001416.1| 10 C 3 ... 8//
+gi|9626243|ref|NC_001416.1| 11 C 4 .... >4BD
+gi|9626243|ref|NC_001416.1| 12 T 5 ..... H/;21
+gi|9626243|ref|NC_001416.1| 13 C 3 ... 3:3
+gi|9626243|ref|NC_001416.1| 14 G 5 ..... 9FG6D
+gi|9626243|ref|NC_001416.1| 15 C 7 ....... ?A>3/=5
+gi|9626243|ref|NC_001416.1| 16 G 4 .... 9EA6
+gi|9626243|ref|NC_001416.1| 17 G 6 ...... 7D.A/E
+gi|9626243|ref|NC_001416.1| 18 G 5 ..... D?4=H
+gi|9626243|ref|NC_001416.1| 19 T 7 ....... .;C2G?2
+gi|9626243|ref|NC_001416.1| 20 T 8 .......^K. <296H64;
+gi|9626243|ref|NC_001416.1| 21 T 4 .... .8.;
+gi|9626243|ref|NC_001416.1| 22 T 9 ......... ;/E8:BH7<
+gi|9626243|ref|NC_001416.1| 23 C 3 ... D7@
+gi|9626243|ref|NC_001416.1| 24 G 8 .......^K. 78@9;H>.
+gi|9626243|ref|NC_001416.1| 25 C 10 .......... HE60=/GBC6
+gi|9626243|ref|NC_001416.1| 26 T 8 ........ AFE/A=4F
+gi|9626243|ref|NC_001416.1| 27 A 7 ....... 7GFE1?H
+gi|9626243|ref|NC_001416.1| 28 T 7 ....... D>0GBC8
+gi|9626243|ref|NC_001416.1| 29 T 7 ....... 8140897
+gi|9626243|ref|NC_001416.1| 30 T 5 ..... ;4B06
+gi|9626243|ref|NC_001416.1| 31 A 5 ..... =7;::
+gi|9626243|ref|NC_001416.1| 32 T 9 ........G 8E;5>05G7
+gi|9626243|ref|NC_001416.1| 33 G 8 ........ 45FD64@9
+gi|9626243|ref|NC_001416.1| 34 A 11 ........... <3/2<HA951.
+gi|9626243|ref|NC_001416.1| 35 A 11 ..........^K. 5F24@3G=13:
+gi|9626243|ref|NC_001416.1| 36 A 11 ........... 92AB1?GD4?1
+gi|9626243|ref|NC_001416.1| 37 A 6 .....N F=8F7<
+gi|9626243|ref|NC_001416.1| 38 T 7 ....... 4><26??
+gi|9626243|ref|NC_001416.1| 39 T 9 ......... 3:2B9.3G>
+gi|9626243|ref|NC_001416.1| 40 T 6 ....N. 4C9?96
+gi|9626243|ref|NC_001416.1| 41 T 7 .A..... 28CBCB2
+gi|9626243|ref|NC_001416.1| 42 C 6 ...... 54B:44
+gi|9626243|ref|NC_001416.1| 43 C 8 ........ 0F5@00F3
+gi|9626243|ref|NC_001416.1| 44 G 9 ......... EF4@3@4.3
+gi|9626243|ref|NC_001416.1| 45 G 8 ........ 9C./?F=:
+gi|9626243|ref|NC_001416.1| 46 T 12 ............ HG17@E0;1/A2
+gi|9626243|ref|NC_001416.1| 47 T 11 ..........^K. 375?HCA3H18
+gi|9626243|ref|NC_001416.1| 48 T 7 ....... 3>029/>
+gi|9626243|ref|NC_001416.1| 49 A 10 ....N....^K. :D;8EG/.;5
+gi|9626243|ref|NC_001416.1| 50 A 9 ........^K. D377<37<3
+gi|9626243|ref|NC_001416.1| 51 G 9 ........^K. 0F267AH?B
+gi|9626243|ref|NC_001416.1| 52 G 14 .......N...... 4C293564>9:8?=
+gi|9626243|ref|NC_001416.1| 53 C 9 ......... CBB.32?FF
+gi|9626243|ref|NC_001416.1| 54 G 11 ........... ?F@D1FGG7GB
+gi|9626243|ref|NC_001416.1| 55 T 11 ..$......... 68G>GH1>EC1
+gi|9626243|ref|NC_001416.1| 56 T 11 ........... C><2<==7H.5
+gi|9626243|ref|NC_001416.1| 57 T 13 ............. 8<B>:C9@B86<4
+gi|9626243|ref|NC_001416.1| 58 C 9 ......... >.AH9?DG/
+gi|9626243|ref|NC_001416.1| 59 C 8 ........ 2C?;338D
+gi|9626243|ref|NC_001416.1| 60 G 11 ........... <E@FEB2:=.1
+gi|9626243|ref|NC_001416.1| 61 T 11 ........... 4DD3A31@=HC
+gi|9626243|ref|NC_001416.1| 62 T 13 ............. B:=339;.@;G@6
+gi|9626243|ref|NC_001416.1| 63 C 14 .............. 3;3;G=H1C1HGH8
+gi|9626243|ref|NC_001416.1| 64 T 13 .........N..^K. ..=4EB830DH8=
+gi|9626243|ref|NC_001416.1| 65 T 10 .......... H9<?4=26AA
+gi|9626243|ref|NC_001416.1| 66 C 12 ............ DH/>56DF.240
+gi|9626243|ref|NC_001416.1| 67 T 11 ........... E8CD76D.=97
+gi|9626243|ref|NC_001416.1| 68 T 6 ...... <8D<?@
+gi|9626243|ref|NC_001416.1| 69 C 12 ............ >EC7;;HB74CC
+gi|9626243|ref|NC_001416.1| 70 G 10 .......... GH2.GC>H43
+gi|9626243|ref|NC_001416.1| 71 T 7 ....... F05G<86
+gi|9626243|ref|NC_001416.1| 72 C 9 ......26243|ref|NC_001416.1| 48424 G 8 ,,,,,,n, ?=/;14/:
+gi|9626243|ref|NC_001416.1| 48425 G 9 ,,,,,,,,, D/5?B72.B
+gi|9626243|ref|NC_001416.1| 48426 C 9 ,,,,,,,,, :7.6E85;B
+gi|9626243|ref|NC_001416.1| 48427 C 10 ,,,,,,,,,, @9G5@1EC5=
+gi|9626243|ref|NC_001416.1| 48428 T 8 ,,,,,,,, =19.3667
+gi|9626243|ref|NC_001416.1| 48429 C 8 ,,,$,,,,, 2F262BCG
+gi|9626243|ref|NC_001416.1| 48430 C 11 ,,,,,,,,,,, 4?/G>19E98G
+gi|9626243|ref|NC_001416.1| 48431 A 9 ,,,,,,,,, HB>H>2@A;
+gi|9626243|ref|NC_001416.1| 48432 C 9 ,,,,,,,,, B51@AF;><
+gi|9626243|ref|NC_001416.1| 48433 G 7 ,,,,,,, 6>8>G5H
+gi|9626243|ref|NC_001416.1| 48434 C 5 ,,,,, 2<//4
+gi|9626243|ref|NC_001416.1| 48435 A 6 ,,,,,, @G@>CF
+gi|9626243|ref|NC_001416.1| 48436 C 6 ,,,,,, HG2/<8
+gi|9626243|ref|NC_001416.1| 48437 G 7 ,,,,,,, 1:4B=95
+gi|9626243|ref|NC_001416.1| 48438 T 6 ,,,,,, 15<D/E
+gi|9626243|ref|NC_001416.1| 48439 T 6 ,,,,,, 7.G>/D
+gi|9626243|ref|NC_001416.1| 48440 G 5 ,,,,, 430FB
+gi|9626243|ref|NC_001416.1| 48441 T 6 ,,,,,, ?BG?44
+gi|9626243|ref|NC_001416.1| 48442 G 5 ,,,,, @G/B0
+gi|9626243|ref|NC_001416.1| 48443 A 8 ,,,,,,,, :F/D7A1=
+gi|9626243|ref|NC_001416.1| 48444 T 5 ,,,,, 6E?@3
+gi|9626243|ref|NC_001416.1| 48445 A 4 ,,,, 206?
+gi|9626243|ref|NC_001416.1| 48446 T 6 ,,,,,, 38=80@
+gi|9626243|ref|NC_001416.1| 48447 G 6 ,,,,,, 43FH@.
+gi|9626243|ref|NC_001416.1| 48448 T 5 ,,,,, 5/=4>
+gi|9626243|ref|NC_001416.1| 48449 A 6 ,,,,,, 5/A3D1
+gi|9626243|ref|NC_001416.1| 48450 G 5 ,,,,, 8FA?5
+gi|9626243|ref|NC_001416.1| 48451 A 8 ,,,,,,,, 1=444FHF
+gi|9626243|ref|NC_001416.1| 48452 T 6 ,,,,,, G.?@>6
+gi|9626243|ref|NC_001416.1| 48453 G 7 ,,,,,,, G<ADE0>
+gi|9626243|ref|NC_001416.1| 48454 A 6 ,,,,,, G;5;61
+gi|9626243|ref|NC_001416.1| 48455 T 4 ,,n, 7A03
+gi|9626243|ref|NC_001416.1| 48456 A 6 ,,,,,, ;2H<;.
+gi|9626243|ref|NC_001416.1| 48457 A 4 ,,,, =2?5
+gi|9626243|ref|NC_001416.1| 48458 T 4 ,,,, <@D5
+gi|9626243|ref|NC_001416.1| 48459 C 7 ,,a,,,, F:<H:6E
+gi|9626243|ref|NC_001416.1| 48460 A 9 ,,$,,,,,,, 069.@1ECC
+gi|9626243|ref|NC_001416.1| 48461 T 3 ,,, ;8E
+gi|9626243|ref|NC_001416.1| 48462 T 6 ,n,,,, E9/=FE
+gi|9626243|ref|NC_001416.1| 48463 A 5 ,,,,, 0>=2/
+gi|9626243|ref|NC_001416.1| 48464 T 5 ,,,$,, 609H1
+gi|9626243|ref|NC_001416.1| 48465 C 3 ,,, 4G9
+gi|9626243|ref|NC_001416.1| 48466 A 4 ,,,, 6865
+gi|9626243|ref|NC_001416.1| 48467 C 5 ,,,,, E56BD
+gi|9626243|ref|NC_001416.1| 48468 T 6 ,,,,,, 49FE;A
+gi|9626243|ref|NC_001416.1| 48469 T 4 ,,,, .F62
+gi|9626243|ref|NC_001416.1| 48470 T 5 ,,,,, 10>E.
+gi|9626243|ref|NC_001416.1| 48471 A 5 ,,,,, 5:D?9
+gi|9626243|ref|NC_001416.1| 48472 C 5 ,,,,, B/0>@
+gi|9626243|ref|NC_001416.1| 48473 G 4 ,,,, ;93.
+gi|9626243|ref|NC_001416.1| 48474 G 4 ,,,, >2:1
+gi|9626243|ref|NC_001416.1| 48475 G 4 ,,,, 1B:;
+gi|9626243|ref|NC_001416.1| 48476 T 3 ,,, .F7
+gi|9626243|ref|NC_001416.1| 48477 C 2 ,, 4?
+gi|9626243|ref|NC_001416.1| 48478 C 3 ,,, C6E
+gi|9626243|ref|NC_001416.1| 48479 T 2 ,, 7E
+gi|9626243|ref|NC_001416.1| 48480 T 3 ,,, D4B
+gi|9626243|ref|NC_001416.1| 48481 T 3 ,,,$ :C0
+gi|9626243|ref|NC_001416.1| 48482 C 1 , 9
+gi|9626243|ref|NC_001416.1| 48483 C 3 ,,, /35
+gi|9626243|ref|NC_001416.1| 48484 G 2 ,, ;1
+gi|9626243|ref|NC_001416.1| 48485 G 4 ,,,, ;DCB
+gi|9626243|ref|NC_001416.1| 48486 T 2 ,, 7D
+gi|9626243|ref|NC_001416.1| 48487 G 2 ,, 57
+gi|9626243|ref|NC_001416.1| 48488 A 1 , 2
+gi|9626243|ref|NC_001416.1| 48489 T 2 ,, 6:
+gi|9626243|ref|NC_001416.1| 48490 C 2 ,,$ 5=
+gi|9626243|ref|NC_001416.1| 48491 C 2 ,, ?6
+gi|9626243|ref|NC_001416.1| 48492 G 1 , 9
+gi|9626243|ref|NC_001416.1| 48493 A 2 ,, >@
+gi|9626243|ref|NC_001416.1| 48494 C 1 , E
+gi|9626243|ref|NC_001416.1| 48495 A 2 ,, =C
+gi|9626243|ref|NC_001416.1| 48496 G 2 ,, ?/
+gi|9626243|ref|NC_001416.1| 48497 G 1 ,+17ttacgcagcacatcgcc D
+gi|9626243|ref|NC_001416.1| 48498 T 1 ,+7tacgcag 4
+gi|9626243|ref|NC_001416.1| 48499 T 0 * *
+gi|9626243|ref|NC_001416.1| 48500 A 0 * *
+gi|9626243|ref|NC_001416.1| 48501 C 0 * *
+gi|9626243|ref|NC_001416.1| 48502 G 0 * *
test-data/samples/sample3/reads.sam
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample3/reads.sam
test-data/samples/sample3/reads.sam
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample3/reads.sam Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,20003 @@
+@HD VN:1.0 SO:unsorted
+@SQ SN:gi|9626243|ref|NC_001416.1| LN:48502
+@PG ID:bowtie2 PN:bowtie2 VN:2.3.3.1 CL:"/usr/local/bin/bowtie2-align-s --wrapper basic-0 --reorder -X 1000 -p 2 -x reference/lambda_virus -1 samples/sample3/sample3_1.fastq -2 samples/sample3/sample3_2.fastq"
+r1 83 gi|9626243|ref|NC_001416.1| 10589 42 203M = 10546 -246 GGCCAGATTTGACGAGCAGATGGCCAGAGNCAGGCGTCATTTTTCTGGTACGGAAAGACATGCGAAAAAAACAGCGGCAGTCGTTGAACAGTCGCTGNGCCGACAGGCGCTGGCTGNACAGAAAGCGGGGATTTCCGTCGGGCAGTATAAAGCCGCCATGCGTATGCTGCCTGCACAGTTCACCGACGTGGCCACGCANCTNN %'$+#)($(+%%!*%$$'')%*("#"%'+*'%#"$+%&%%"(&""**&+#&")+!'$$*"))+"%#")$)$%)%"$!#*'*+*#$!%"+"$%+'++*()(*&'(#(&+&**&&)&)&''#'*!++*$&'(("*#$'&%!"+*("$%!*")("("'!#)%+#&+%"#%)##!$"*+%)*(*&&"(***+!)+$#$#!'+&))## AS:i:-10 XN:i:0 XM:i:8 XO:i:0 XG:i:0 NM:i:8 MD:Z:29T27T0G38A18C81G2T0G0 YS:i:0 YT:Z:CP
+r1 163 gi|9626243|ref|NC_001416.1| 10546 42 43M = 10589 246 CTGAACCGGTAGGCGATCTGGTCGTTGATTTGAGTCTGGATGC %++!)%++(+'!'&(+#($++!*$#%($+"!#%(+#")")!&& AS:i:0 XN:i:0 XM:i:0 XO:i:0 XG:i:0 NM:i:0 MD:Z:43 YS:i:-10 YT:Z:CP
+r2 99 gi|9626243|ref|NC_001416.1| 2799 42 78M = 3018 278 TGACACAGCGACGCAGGGGACCTGCAGGATTTTATGTATGAAAACGCCCACCATTCCCACCCTTCTGGGGCCGGACGG //<"#/AG',<*319/#<=1,>,6&*.A.>BE7/BA=#:#)'$37)F2;F%689BG$F"A1,B,?>3611/D=DH??* AS:i:0 XN:i:0 XM:i:0 XO:i:0 XG:i:0 NM:i:0 MD:Z:78 YS:i:-6 YT:Z:CP
+r2 147 gi|9626243|ref|NC_001416.1| 3018 42 59M = 2799 -278 CGATCTGGTACGAAATAACGGCTATGCCGCCAACGCCATCCAGCTGCATCAGGATCAGG )'('&"#&""&%*%+'#"%(+!&%**&&*!!%$(+*%+")"('&%(*$&%%)(%$+((" AS:i:-6 XN:i:0 XM:i:3 XO:i:0 XG:i:0 NM:i:3 MD:Z:12C44T0A0 YS:i:0 YT:Z:CP
+r3 153 gi|9626243|ref|NC_001416.1| 34885 42 134M = 34885 0 AGTTGATTGAGCTTGGTGTGTTGAACAAAACTTTTTCCCGATGGAATGGAAAGCATATATTATTCCCTATTGAGGATATTTACTGGACTGAATTAGTTGCCAGCNATGATCCATATAATATTGAGATAAAGCCA ''(%'%*+))('*(*+%$*''+!$!#*(&%###)*$!*&+&!+**$**%(#)(%&*&&)((+!*##"&(*%%&**""%&"&!)(+*'#!"')"&(*)!%!#%(**'#+#!'$)%!'+&+&%##""((+#$%)'+ AS:i:-1 XN:i:0 XM:i:1 XO:i:0 XG:i:0 NM:i:1 MD:Z:104T29 YT:Z:UP
+r3 101 gi|9626243|ref|NC_001416.1| 34885 0 * = 34885 0 NNTGNNCGCAGCNCNTAGTCAAGNCAGGGNNTCNATGGTTNCATCAAAANAATTCCCATACATTAGTG #!)*)%)()(#)$)#%&"(!)()!**%()%#%%!&!%)')&'"+)$($%(%#&''!+"'#!#("!+)% YT:Z:UP YF:Z:NS
+r4 99 gi|9626243|ref|NC_001416.1| 45760 42 48M = 45904 294 NGTCAGGACGCTGTGGCATTGCAGCAGATTAAGGAGCGTGGCGCTTTA (79.,A<C+<9A"E+'F8:)>HF0'4F;F9,6<D;(+;:2,'38(563 AS:i:-1 XN:i:0 XM:i:1 XO:i:0 XG:i:0 NM:i:1 MD:Z:0A47 YS:i:-4 YT:Z:CP
+r4 147 gi|9626243|ref|NC_001416.1| 45904 42 150M = 45760 -294 AAGGCTGACAGCCTGATTGCAAAATTCAAAGAAGCGGGCGGAACAGTCAGAGAGATTGATGTATGAGCAGAGTCACCGCGATTATCTCCGCTCTGGTTATCTGCATCATCGTCTGCCTGTCATGGGCTGTTAATCATTACCGTGATAACG +4&AFC"(C<C%/?'D@/G2)-A(</8$@-8"<!H<GC!%=H2-8(E4G@G:G:GF=>@F377D"H;E:*,%@$(91'35%A/BFD4":.A'A/36?+6,48;?*@24C=+GA)(F4@:=#D/7*3:E/E>3"9<)A@0(0!4".D#77H AS:i:-4 XN:i:0 XM:i:1 XO:i:0 XG:i:0 NM:i:1 MD:Z:44G105 YS:i:-1 YT:Z:CP
+r5 99 gi|9626243|ref|NC_001416.1| 25380 42 47M = 25551 227 GGAAGAGGTAGTTTTTTCATTGNACTTTACCTTCATCTCTGTTCATT *"))!)+"'#+*%!&+))+%"+&$*&#)$$)+'(*(!!")+%'(!#' AS:i:-1 XN:i:0 XM:i:1 XO:i:0 XG:i:0 NM:i:1 MD:Z:22T24 YS:i:0 YT:Z:CP
+r5 147 gi|9626243|ref|NC_001416.1| 25551 42 56M = 25380 -227 TCACTTCAAGTAAAAACACCTCACGAGTTAAAACACCTAAGTTCTCACCGAATGTC F*?6BB@8"%EHA9<3&?BG65%%"6/364>EA@-4%"E$3C"+)F)'8>D%8,6C AS:i:0 XN:i:0 XM:i:0 XO:i:0 XG:i:0 NM:i:0 MD:Z:56 YS:i:-1 YT:Z:CP
+r6 83 gi|9626243|ref|NC_001416.1| 4664 42 77M = 4481 -260 GCCGTGCTGCCGGTGTCCGGCACGCTGGTCAGCCGGACGCGGGCGCTGCAGCCGTACTCGGGGATGACCGGTTACAN "'*+!(+&')#'&++$))!*&'!&"(&'%$'&'+&&(#&!!"+$(('(#+++$$!&)+#%+))%("!(%&#($!+(( AS:i:-1 XN:i:0 XM:i:1 XO:i:0 XG:i:0 NM:i:1 MD:Z:76A0 YS:i:-1 YT:Z:CP
+r6 163 gi|9626243|ref|NC_001416.1| 4481 42 89M = 4664 260 CTTGAACCCGCCTATGCGCGGGTNTTCTTTTGTGCGCTTGCAGGCCAGCTTGGGATCAGCAGCCTGACGGATGCGGTGTCCGGCGACAG %$7%F/+F!?;44=D-.E@!<'(!#)-==8!F!8-<'.6"3!>=7'&4D:38G&A(/)4E+7//*:3?18?$.6-)9)5%,@+28?;'> AS:i:-1 XN:i:0 XM..</!G=-7@#."?.C1,H#3342!9C$H2FA3799811/="="FH@0"(C!?65E(3%(""4(E!0H79=5H7+F>(,=F6.*!5E;BC).1 AS:i:-1 XN:i:0 XM:i:1 XO:i:0 XG:i:0 NM:i:1 MD:Z:46C116 YS:i:-14 YT:Z:CP
+r9996 99 gi|9626243|ref|NC_001416.1| 5820 42 45M = 5913 189 CCGGCGGATTGAGTGCGAAAGGGCCTGCAATGACCCCGCTGATGC 7.G?+CAHC)4G.7B',2%(4&C3&F.(D5C-=A(5<>1/GCBE9 AS:i:-2 XN:i:0 XM:i:1 XO:i:0 XG:i:0 NM:i:1 MD:Z:21C23 YS:i:0 YT:Z:CP
+r9996 147 gi|9626243|ref|NC_001416.1| 5913 42 96M = 5820 -189 GTGCTGCCGTTGGCATTCTTGCGGTTGCTGCTGACCAGACCAGCACCACGCTGACGTTCTACAAGTCCGGCACGTTCCGTTATGAGGATGTGCTCT *#?D.;!>/F/4#>E!':"1;*+945CG=BD>@7H:(-BF--//<?3A:-0.-H0A*7<@+'8.-8#27'6%47#.,:C&03.;&%",A#2B3+4; AS:i:0 XN:i:0 XM:i:0 XO:i:0 XG:i:0 NM:i:0 MD:Z:96 YS:i:-2 YT:Z:CP
+r9997 99 gi|9626243|ref|NC_001416.1| 33172 42 160M = 33490 360 NAACAGGAAAGGGGGTTAGTGAATGCTTTTGCTTGATCTCAGTTTCAGTATTAATATCCATTTTTTATAAGCGTCGACGGCTTCACGAAACATCTTTTCATCGCCAATAAAAGTGGCGATAGTNAATTTAGTCTGGATAGCCATAAGTGTTTGATCCATT %($HH'$75DE,H;/A:@#",0HE3.30"*"/<0CFC!B";9(G*G#('04'=#E:)"<6>=+394&=.3;6-)!7G*&1G9:!7+,>94.?D?F!C!.@BF2*,D(?#0H/$?D=C=F10F?1<"0$4CB:&1-B5&/&&B-,#,=.D($!21"$5B(C AS:i:-2 XN:i:0 XM:i:2 XO:i:0 XG:i:0 NM:i:2 MD:Z:0A122G36 YS:i:0 YT:Z:CP
+r9997 147 gi|9626243|ref|NC_001416.1| 33490 42 42M = 33172 -360 AAAAACGCCTCGAGTGAAGCGTTATTGGTATGCGGTAAAACC B><#ECF.:+BG3EF>!10D84&+=69(H9B(G.C5?8-BA$ AS:i:0 XN:i:0 XM:i:0 XO:i:0 XG:i:0 NM:i:0 MD:Z:42 YS:i:-2 YT:Z:CP
+r9998 83 gi|9626243|ref|NC_001416.1| 28490 42 104M = 28245 -349 GTNTCCATTGAGCATTGCCGCAATTTCTTTNGTGGTGATGTCTTCAAGTGGAGCATCAGGCAGACCCCTCCTTATTGCTTGAATTTTGCTCATGTAATTTATGA ?H09$4>-$>%%5>1+ECDF#H860H'/428HH%#@9"82AA8'H/=73HH>+<F8!("/E=BC-@+%61)H2F09,@$/(,$(3'66"$B0#?'*;DB4*HE@ AS:i:-4 XN:i:0 XM:i:3 XO:i:0 XG:i:0 NM:i:3 MD:Z:2A27T49T23 YS:i:-2 YT:Z:CP
+r9998 163 gi|9626243|ref|NC_001416.1| 28245 42 245M = 28490 349 ACTCGTTGCCCGGTAACAACAGCCAGTTCCATTGCAAGTCTGAGCCAACATGGTGATGATTCTGCTGCTTGATAAATTTTCAGGTATTCGTCAGCCGTAAGTCTTGATCTCCTTACCTCTGATTTTGCTGCGNGAGTGGCAGCGACATGGNTTGTTGTTATATGGCCTTCAGCTATTGCCTCTCGGAATGCATCGCTCAGTGTTGATCTGATTAACTTGGCTGACGCCGCCTTGCCCTCGTCTAT <HB3:@$-7E"662+#D%0!12CFGGA&A&E>E()-'<($ABD6":'1B!=AB&B<1:6$/4*/()(@G(9701!0B15HGC.D"2(:+,<)6?@7;65%"H$,;A11B#'C+#";BCFDD0=::)CC67:A>$*"#:-&;(*?D2*(/8%E/>-D2=.4H)CC&*/A5<"!1'+-)":G?:8BCE!!"/A@94:3H3/&?G,4/2-%=-6370'/C!/-'>B7A:G49!C%=8:'14:)!H+@) AS:i:-2 XN:i:0 XM:i:2 XO:i:0 XG:i:0 NM:i:2 MD:Z:132C17T94 YS:i:-4 YT:Z:CP
+r9999 89 gi|9626243|ref|NC_001416.1| 153 42 110M = 153 0 GTCGTTTCCTTTCTCTGTTTTTGTCCGTGGAATGAACAATGGAAGTCAACAAAAAGCAGCTGGCTGACATTTTCGGTGCGAGTATCCGTACCATTCAGAACTGGCAGGAA ED@4!B"7B'=HF.3D0+&%<*>*7%3DH#-77A@G3DH87205:+?-FGD)0*?F.)*3?:=;8B9,7B*E/24:F23E&C;(91#F<$"#<,?,."*C4*55:=%1@- AS:i:0 XN:i:0 XM:i:0 XO:i:0 XG:i:0 NM:i:0 MD:Z:110 YT:Z:UP
+r9999 165 gi|9626243|ref|NC_001416.1| 153 0 * = 153 0 TTCNTCGNTNTTGATGGACTCCTCCACAGAGAAACNATGGCCCCGAAGGGCCATGATTACGCCAGTTGTACGGACACGAACTCATCAGGGTCACCAGCAGCATCAGCGGTGCTGACTGACTCATGGTGAACTCACGCGCCGGATCGCCGGTGGTCACCCAGTTTTTCGGGTAACGGGCAGGGGCGGCGACCTCGCGGGTTTTCGCTATTTATGAAAATTTTCCGGTTTAAGGCGTTTNCGTTCTTCTTCGTCATAACTTAATGTTTTTATTTAAAATACCCTCTGAAAANAAAGGAAACGACANGTGCTGAAAGCNAGGCTTTTTGGCCTCT ()"('$$!%$#(+")$"&%('+#"&#&#$$$#**#+&$&#)!*$$%")#(*+""'"!%(#*$%+"$+$*+%(#'(+%$#*)%#+!"%&*"(*%'%"'*$*)'*')'&#("$!$(*)+%$)!'$'+))'(#)+"!)"&(""%'+&%#'&)"'#&#*$+%&")!*'%!&#!#*+(#$*'%&&)"+#$***"*+!("*++#*&%"$"$'+()&#!!"$"&+%#*+"!#(+)"!#!!(!*&%%)%+!'))+'&'#)(!+*!"#+%!($*&%+!('+)"+%#($!++!(+"('"$%"&*&#((''$)+("!("##(&+%+&)!'#+$("$&%#'&(" YT:Z:UP
+r10000 83 gi|9626243|ref|NC_001416.1| 10966 42 54M = 10707 -313 GCAACTCAACCCTGTCCGATTTCAACAAAACGCTGGTCCTTTCCNGCAATCAGG 5=!.)#:@!E#E.A7E0#E+6408&1'=6'%C9'G(!:<6,C#6:24;A,(7;@ AS:i:-1 XN:i:0 XM:i:1 XO:i:0 XG:i:0 NM:i:1 MD:Z:44G9 YS:i:0 YT:Z:CP
+r10000 163 gi|9626243|ref|NC_001416.1| 10707 42 95M = 10966 313 CAGAAAGCGGGGATTTCCGTCGGGCAGTATAAAGCCGCCATGCGTATGCTGCCTGCACAGTTCACCGACGTGGCCACGCAGCTTGCAGGCGGGCA +*#'$#)(#'"'!#((!*&!%"&#*"$$$*#!$()+&%'')#()*(+))*$*)$)%%*+&!+*)"$'+!"&%!$!'*)+(!+(+)"#&+)''+'% AS:i:0 XN:i:0 XM:i:0 XO:i:0 XG:i:0 NM:i:0 MD:Z:95 YS:i:-1 YT:Z:CP
test-data/samples/sample3/reads.sorted.bam
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample3/reads.sorted.bam
test-data/samples/sample3/reads.sorted.bam
Binary file test-data/samples/sample3/reads.sorted.bam has changed
test-data/samples/sample3/reads.sorted.deduped.bam
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample3/reads.sorted.deduped.bam
test-data/samples/sample3/reads.sorted.deduped.bam
Binary file test-data/samples/sample3/reads.sorted.deduped.bam has changed
test-data/samples/sample3/reads.unsorted.bam
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample3/reads.unsorted.bam
test-data/samples/sample3/reads.unsorted.bam
Binary file test-data/samples/sample3/reads.unsorted.bam has changed
test-data/samples/sample3/sample3_1.fastq
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample3/sample3_1.fastq
test-data/samples/sample3/sample3_1.fastq
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample3/sample3_1.fastq Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,40000 @@
+@r1
+NNAGNTGCGTGGCCACGTCGGTGAACTGTGCAGGCAGCATACGCATGGCGGCTTTATACTGCCCGACGGAAATCCCCGCTTTCTGTNCAGCCAGCGCCTGTCGGCNCAGCGACTGTTCAACGACTGCCGCTGTTTTTTTCGCATGTCTTTCCGTACCAGAAAAATGACGCCTGNCTCTGGCCATCTGCTCGTCAAATCTGGCC
++
+##))&+'!#$#$+)!+***("&&*(*)%+*"$!##)%#"%+&#+%)#!'"("()"*!%$"(*+"!%&'$#*"(('&$*++!*'#''&)&)&&**&+&(#('&*()(*++'+%$"+"%!$#*+*'*#!$"%)%$)$)"#%"+))"*$$'!+)"&#+&**""&("%%&%+$"#%'*+'%"#"(*%)''$$%*!%%+($()#+$'%
+@r2
+TGACACAGCGACGCAGGGGACCTGCAGGATTTTATGTATGAAAACGCCCACCATTCCCACCCTTCTGGGGCCGGACGG
++
+//<"#/AG',<*319/#<=1,>,6&*.A.>BE7/BA=#:#)'$37)F2;F%689BG$F"A1,B,?>3611/D=DH??*
+@r3
+NNTGNNCGCAGCNCNTAGTCAAGNCAGGGNNTCNATGGTTNCATCAAAANAATTCCCATACATTAGTG
++
+#!)*)%)()(#)$)#%&"(!)()!**%()%#%%!&!%)')&'"+)$($%(%#&''!+"'#!#("!+)%
+@r4
+NGTCAGGACGCTGTGGCATTGCAGCAGATTAAGGAGCGTGGCGCTTTA
++
+(79.,A<C+<9A"E+'F8:)>HF0'4F;F9,6<D;(+;:2,'38(563
+@r5
+GGAAGAGGTAGTTTTTTCATTGNACTTTACCTTCATCTCTGTTCATT
++
+*"))!)+"'#+*%!&+))+%"+&$*&#)$$)+'(*(!!")+%'(!#'
+@r6
+NTGTAACCGGTCATCCCCGAGTACGGCTGCAGCGCCCGCGTCCGGCTGACCAGCGTGCCGGACACCGGCAGCACGGC
++
+((+!$(#&%(!"(%))+%#+)&!$$+++#('(($+"!!&#(&&+'&'$%'&("&!'&*!))$++&'#)'&+(!+*'"
+@r7
+CAGAAACAGAAAGATAAACTTAAGATTCGAAAACTCGCCTTAAAGCCCCGCAGTTANTGGATTAAACAAGCCCAACAAGCC
++
+>FBC,<4/D0;78E/4>5137-2+-A5::-A!F1H5@<A+0,31B+'87)0B"F5"@%).72,.:$&B4?41#'?42BC;8
+@r8
+CTCCGTGTGGCAGAGCTGAAAGAGGAGCTTGATGACACGGATGAAACTGCCGGTCAGGACACCCCTCTCAGCCGGGAAAATGTGCTGACCGGACATGAAAATGAGGTGGGATCAGCGCAGCCGAATACCGTGATTCTGGATACG
++
+.H+E-'&66!3$$2"=D2561.D,G&7#/?A!7,,9H9!G<(4-G26/>9H>A>=8,$)":@&B$&.%#9,,0@.)!"D=::%-##.*+DA%%5(.1D?**5.(9.7%%G@"0B@&'$=!C5%(#8(.:.B=4>+G$C8<,,(:
+@r9
+ATCCGCGTGTTGTAATCCGCCTGCAGGATTTTCCCGTCTTTCAGTGCCTTGTTCAGTTCTTCCTGACGGGCGGTATATTTCTTTTCCAGCG
++
+C.0,#F,)HF'GA+:><F<F+A):)0*(5,BDFFB13''7FGC!GE'+A2EDB?+B2#18A79'*+(!+C&?5H@:>?D%=G,F)$#7E*7
+@r10
+ACCCGGTATGGATGTGGCTTCGGTCCCTTCTGTAAGAAAGGTGCGCTTTGGTGATGGCTATTCTCAGCGAGCGCCTGC
++
+&)0"3@;BF%.@;B=@5,6-6!1E:D;*)7?0;%00%C),/)C,+8B38*>+>B2@2*3$<>#(92!"&9@90E-:0H
+@r11
+NCTATGTAAACACCAGGCATGATTCTGTTCCGCATAATTACTCCTGATAATTAATCCTTAACTTTGCCCAC
++
+!3'B>G5D,&#5$?80$=B3,'354"??#:;3=/!@!.%*A4=17G%55#-@?-33<#0F-/,=3;2":-)
+@r12
+GGAGCCGCCACGGGAACGGATAACCTCACCGGAAACAATCGGCGAAACGTACA
++
+A%#G)%03&B26D7&!=+BF:C9#*:'2*5"E/@DD>?B8$#).;06:H<08B
+@r13
+AGCAGAAAAACTGTTCCGGATCCGGGAGGCGGAAGAAACAAAAAAAAGCCTGATGCAGGTAGCCAGTGAGCATATTGCGCCGCTTCAGGATGCTGCAGATCTGGAAATTGCAACGAAGGAAGAAACCTCGTTGCTGGAAGCCTGGAAGAAGTATCGGGTGTTGCTGAACCGTGTTGATACATCAA
++
+'%'$+#$$$'!$+'&(''*(("*)&&%()%&!%#!*'(*#$&'$'"(&$++#&+()(!"&)%""$(*$%&+)!#)$*$$*"#!")&**#""%#('("+(*+"!+#(&((+**!$+'%#!'#'&$#&$+&+&%*&&$&)*%!"!#+%#!'%$!+!$%"+#$!+$)$$%"(*"!+$+*%&*&$*)')
+@r14
+CTTACTGGTTATGCAGGTCGTAGTGGGTGGCACACAAAGCT
++
+E'8:"1&0D%5+03%<3=(F1>,*%..&24H;B<&(53)"7
+@r15
+ATTTTGCTGGGAGGGCTAACGATATCCGCCTGATGCGTGAACGNGACGGACGTAACCACCGCGACATGTGTGTGCTGTTCCACTGGGCATGCCAGGACAACTTCTGGTCCGGTAACGTGCTGAGCCCGCCCAAACTCNNCGATAAGTGGACCCAACTCGAAATCAACCGTAACAAGCAACAGGCAGGCGTGACAGCCAGCAAACCAAAACTCGACCTGACTAACACAGACTGGATTTACGG
++
+?;B,879,8EB>=DE!?-9E33;$;#:,#2?8>&-G.'-&'5>*GA3G!,+5!1<C,218H$*$"!/&2=HFB(4,=@,&''#*=CD<<!"3*8"<%93@2/FD=;<>/669#:C?(2)<8(8:@<&8&2$12<"?B0/*6*%/61)4/AGC(+1@(7""5%=9(G>HGE$:?)",$")D%'25@E*0*,6:*(*,!?D42+>)2A/C>86!*FAE&0>;'.6H#($6/-5)@4?4#16"E
+@r16
+GTTCCGGCATGTTGTTGGCGATCCGACGCATCTGCTCACGGTCAAA
++
+56BH-090,.*2F:$:G(D92+"9-"1'<?00/CD(#B#%:D-%&'
+@r17
+NTAAAGACCTGACGCCCGGCGAACTGACCGCTGAGTCCTATGACGACAGCTATCTC
++
++$#+$+'!""*'"+%'"+!"!"*&*'"!)#")#"*!(&+#(*"#&#+#$())'(**
+@r18
+ANCCCGAAGCGCATCAGCAACCCGAACAATACCGGCGACAGCCGGAACTGCCGTGCCGGTGTGCAGATTAATGACAGCGGTGCGGCGCTGGGATATTACGTCAGCGAGGACGGGTATCCTGGCTG
++
+B@.7!7G9G7G6?C-&G@3=?&DB!;":/#D-8-A<='CB,@6'9<4B@?%5"$89,G6/0'&>A57,.92&($2."7"#D2707,BH;A(F36"+>DH.-72FE(!$,$1,CD8#$D%<!6,/+
+@r19
+AAATCTGCCGGAGATACCAGCTTCACGCTGNCGTGGATGCCCGGAGAGCAGGGG
++
+17?444C9:!BGG7H15*0?0).1=*H@7$4#*?(6/6?61&<DC!A51,BF).
+@r20
+GNNNGNNTATCNGTANGACNNCNAGTANGGNNANNA..ACCATAACCTGCACATCGCTGGCAAACGTATACGGCGGAATATCTGCCGAATGCCGTGTGGACGTAAGCGTGAACGTCAGGATCACGTTTCCCCGACCCGCTGGCATGTCAACAATACGGGAGAACACCTGTACCGCCTCGTTCGCCGCGCCATCATAAATCACCGCACCGTTGATCAGTACTTTCAGATAACACATCGAATACGTTGTCCTGCCGCTGACAGTACGCTTACTTCCGCGATACG
++
+B%(2.?$5</,-"*H<-AD,H"D%+F9C("06$<3G32E;/8F?&=9GF(+<+H/+56E"H"D5:+-F9=1&&.4$:G2(!F<$GFH@!<;"D-D+9@>&+,5:64/H'%-8.)5<.()FC(E@(6B0#>:#5AFH1?4-@>!;=(*6B!C-(,.59@E>@FG(1>&!:1>1DBEEBA$;87>335#">F6:46GACE@.:0.F3+%(42G*5:+2E?$:*::@*%F""*;;(6/2,?+#G%+&1F20/&8HH+<C=?%0''DH-)$$08AA<H!%3-B'3'?/'4;873-7!$9/CE+038=4@2DAD*A9E/7)&D6-+/0E;A%0?5;A:CE9.
+@r9986
+GTGCCGGTATGGAACGGGCAGACGCTGACGTTCGTGCAGGACCGACCGTCGGATAAGACGNGGACCTATAACCGCAGTAATGTGGTGATGCCGGATGATGGCG
++
+H"?-*$/*<1A,H#75-"5<(F:<FG'>E)&'C472F,C*5H0F)68,2*1-3H2-&)3@/2,1:,$/A3(.B=/&7B-H)@%$C';*"4?0F=7827)AC$A
+@r9987
+CGTGTCTGCGGGCGATCGTTGCCAAGAGAGTTACAGCAGTTATACATTCTGCCATAGATTATAGCTANGGCATGTNATAATTCGTAATCTTTTAGCGTATTAGCGACCC
++
+5,0"BF>>(<*=4C#%##&)!8='B0+>!=&)'<)AG.)?:+=H</H>455==6B1.>;=#/8##)0-G!B.2#*@E5#4FB#8)14%&-*G>+486,2;C$4"#:H;5
+@r9988
+GNTGAATGCCGGAAANGCCGAATTCTNACCGGCCGGCGTGGATCCAAGGTATTCAAGAACATCTGCAACGGAATTTTTTGCCAGAATATCCCTGCCAACCTGAGTCAGTTCAGTCAGGCTGGCGGCATCATTTTCCGCAAAATACGGTAATTTATTTTTCGCCGTGGAAAGAGTCTTG
++
+""8.HE8G=0&9.'A5&$;9EG"1"0=68%#8++?8<"192BE!7F@HA$?D'B#-13--3!B4-+--8A6;E6C'F)C/$+?@'-.@C?-H&;6!6>&#1'/2,=-,GH#/>-.:#G,,2;4A5A5;,C*5*$$7)>:/$1H;ADC@"80!#2D*9&=0"@;91-+?(,$@%38<G+
+@r9989
+ATCAAGGNGANTNGCGCCAGCGGTCGTGCTGTATTGTCTCAGGAACAGGATGGAATTAAGTCGTACACCCACNGTGCCAGTGCATCCGGTACGGATTTGGGGACGAAAACCACATCGNNGTTTGATTACGGGACGAAAACAACAGGCAGTTTCGATTACGGCACCAAATCGACGAAT
++
+(**)$(&"#*#"#!$+$##%*&'*"')+'(#''&"!"*(!('+'"'((*%("$$%)(!"+(++)%')$()+#%'))++#!+*!#)("*!'+#+*)"%%"#))*++%&+&!"'&(%$)&&*("#))*&(%!#"%+!")!(**#)%&*'(&&#($$#("'!&"%$'*(**!#%""*$#*
+@r9990
+GTTCATCTATNGGATCGCCACACTCACAACAATGAGTGGCAGATANA
++
+!&*+)##**++'&("&'&)&'!$%%#*+#!$)++&**)&!")''(*%
+@r9991
+CCTGAACGAAAACCCCCCGCGATTGGCACATTGGCAGCTAATCCGGANTCGCACTTACGGCCAATGCTTCGTTTCGTATCACACACCCCAAAGCCTTCTGCTTTGAATGCTGCCCTTCTTCAGGG
++
+@(";#8(0DE9<C4E)"C=#'3D>*%=+C/$G;302$G"$++AA4=43$H0:-<A107.9BF$;>'38<-"267A<,?F2%!(CB9"A36$F,F$F@6G++9625G9$4">*.B2@$B&?E?C21
+@r9992
+TTCGTCGCATCCCGTCAGGCGAGCCAGATGTTTCTGTGCTGGCTGGAAGAGGCCATCGTTCGCCGCGTGGTGACGTTACCTTCAAAAGCGCGC
++
+@$>%7.$1+@5*+<7<!+C(F4)=;B,&?/0H-"D(+ABA"5+%2@#:9H<+"'>6.;G9,,&+,%/D067F%<8!<&%*#4-!3+/"20*2F
+@r9993
+GGNCTAGATGCTCAATGCGCTGCAGGGCTGACAGTTCAGAA
++
+***""+&'(*#'")$!)'$&!"'$*+(('#+")"!&%)"'(
+@r9994
+NACNNTNATNNAANNGNNANTGNGGAAGAGGNAAACCTNTGCCCGAGTAACAAAAAAACAACAGCATAAATAACCCCGCTCTTACACATTCCAGCCCTGAAAAAGGGCATCAAATTAAACCACACCTATGGT
++
+$%)"#("((")''$")""%!(%#&(%%!*%&"*(&'%&!+"""')(&*#&"#"%!"$)+**)(!#&"')+%+$#"+%"%"!!'!)%#"#+)'!%)"#!#&++($&''"##!')!!)!$'%$'$'"*)"++##
+@r9995
+CGCGGTTGTACAAGTTCCGCAATAACGTCGGCAACTTTGGCGGCTTCCTTTCCATTAACAAACTTTCGCAGTAAATCCCATGACACAGACAGAATCAGCGATTCTGGCGCACGNC
++
+(FD-$A11,5$'=/,8>(;G!93*!D5"C78+G23<%5%CD!*DB9&*)&E1=>(B&"%$$AA:D".08'H+86@&,;@2-AH1&-*2>,)556'@/8(&FE&<49##62@G4)4
+@r9996
+CCGGCGGATTGAGTGCGAAAGGGCCTGCAATGACCCCGCTGATGC
++
+7.G?+CAHC)4G.7B',2%(4&C3&F.(D5C-=A(5<>1/GCBE9
+@r9997
+NAACAGGAAAGGGGGTTAGTGAATGCTTTTGCTTGATCTCAGTTTCAGTATTAATATCCATTTTTTATAAGCGTCGACGGCTTCACGAAACATCTTTTCATCGCCAATAAAAGTGGCGATAGTNAATTTAGTCTGGATAGCCATAAGTGTTTGATCCATT
++
+%($HH'$75DE,H;/A:@#",0HE3.30"*"/<0CFC!B";9(G*G#('04'=#E:)"<6>=+394&=.3;6-)!7G*&1G9:!7+,>94.?D?F!C!.@BF2*,D(?#0H/$?D=C=F10F?1<"0$4CB:&1-B5&/&&B-,#,=.D($!21"$5B(C
+@r9998
+TCATAAATTACATGAGCAAAATTCAAGCAATAAGGAGGGGTCTGCCTGATGCTCCACTTGAAGACATCACCACNAAAGAAATTGCGGCAATGCTCAATGGANAC
++
+@EH*4BD;*'?#0B$"66'3($,(/$@,90F2H)16%+@-CB=E/"(!8F<+>HH37=/H'8AA28"9@#%HH824/'H068H#FDCE+1>5%%>$->4$90H?
+@r9999
+TTCCTGCCAGTTCTGAATGGTACGGATACTCGCACCGAAAATGTCAGCCAGCTGCTTTTTGTTGACTTCCATTGTTCATTCCACGGACAAAAACAGAGAAAGGAAACGAC
++
+-@1%=:55*4C*".,?,<#"$<F#19(;C&E32F:42/E*B7,9B8;=:?3*).F?*0)DGF-?+:50278HD3G@A77-#HD3%7*>*<%&+0D3.FH='B7"B!4@DE
+@r10000
+CCTGATTGCNGGAAAGGACCAGCGTTTTGTTGAAATCGGACAGGGTTGAGTTGC
++
+@;7(,A;42:6#C,6<:!(G'9C%'6='1&8046+E#0E7A.E#E!@:#).!=5
test-data/samples/sample3/sample3_2.fastq
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample3/sample3_2.fastq
test-data/samples/sample3/sample3_2.fastq
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample3/sample3_2.fastq Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,40000 @@
+@r1
+CTGAACCGGTAGGCGATCTGGTCGTTGATTTGAGTCTGGATGC
++
+%++!)%++(+'!'&(+#($++!*$#%($+"!#%(+#")")!&&
+@r2
+CCTGATCCTGATGCAGCTGGATGGCGTTGGCGGCATAGCCGTTATTTCGTACCAGATCG
++
+"((+$%()%%&$*(%&'(")"+%*+($%!!*&&**%&!+(%"#'+%*%&""&#"&'(')
+@r3
+TGGCTTTATCTCAATATTATATGGATCATNGCTGGCAACTAATTCAGTCCAGTAAATATCCTCAATAGGGAATAATATATGCTTTCCATTCCATCGGGAAAAAGTTTTGTTCAACACACCAAGCTCAATCAACT
++
++')%$#+((""##%&+&+'!%)$'!#+#'**(%#!%!)*(&")'"!#'*+()!&"&%""**&%%*(&"##*!+(()&&*&%()#(%**$**+!&+&*!$*)###%&(*#!$!+''*$%+*(*'())+*%'%(''
+@r4
+CGTTATCACGGTAATGATTAACAGCCCATGACAGGCAGACGATGATGCAGATAACCAGAGCGGAGATAATCGCGGTGACTCTGCTCATACATCAATCTCTCTGACTGTTCCGCCCGCTTCTTTGAATTTTGCAATCAGGCTGTCAGCCTT
++
+H77#D."4!0(0@A)<9"3>E/E:3*7/D#=:@4F()AG+=C42@*?;84,6+?63/A'A.:"4DFB/A%53'19($@%,*:E;H"D773F@>=FG:G:G@G4E(8-2H=%!CG<H!<"8-@$8/<(A-)2G/@D'?/%C<C("CFA&4+
+@r5
+GACATTCGGTGAGAACTTAGGTGTTTTAACTCGTGAGGTGTTTTTACTTGAAGTGA
++
+C6,8%D>8')F)+"C3$E"%4-@AE>463/6"%%56GB?&3<9AHE%"8@BB6?*F
+@r6
+CTTGAACCCGCCTATGCGCGGGTNTTCTTTTGTGCGCTTGCAGGCCAGCTTGGGATCAGCAGCCTGACGGATGCGGTGTCCGGCGACAG
++
+%$7%F/+F!?;44=D-.E@!<'(!#)-==8!F!8-<'.6"3!>=7'&4D:38G&A(/)4E+7//*:3?18?$.6-)9)5%,@+28?;'>
+@r7
+ATCGTCTACTGCTTCCTGCCCGANGCGGCTAATCAGTTCGACGCGATACGGAACGAGATTTCCGCTATTGTG
++
+#+(!+)+)'"+$((')&+++#!!*+)*%"%"!*)&(+!%%&%##*"***'&*%+!%"%!%$!'&"+$#$!$'
+@r8
+TCTGGCCAGGCCGCGCTCTGTCATTTCGNCTGTCACACCGGCANAGACACGAAACGCCGTTCCCGGCAGCACAAATGCCTCAGGTTCATCCCGCGTGGCGTGAAGTGCATCA
++
+0:H(HEEA2@:D9/8C2EA!@2D"'.:>&+61C)-'$212'0F4.3)82*,/2%)4@)?-,.05D,@,"/C7*73)04=&)5G.E6/6C',8>H3&D?'E11<&>2:*414,
+@r9
+GTTAACGATGAAGCGCGGGCGCGTTACTGGGATGATCGTGAAAAGGCCCGTCTTGCGCTTGAAGCCGCCCGAAAGAAGGC
++
+,!G=-+!88B%.;)F-.7&-E#8G=,=/662D!@@#5#):'&3"0,':9;@/6:8@B4*3C9.C)*=(5%9-:62D<=*@
+@r10
+GGCGGCGTCCACAGAAAGGATTTCCAGCCCCCGTGCTCTTCCAGAAACGACTCCAGTACCGTGGCCTCCTCAC
++
+#+72@A>5/281//+1?6*C&AA=<GDD.A8:(<C.5-,-(*;$!:&)@A8'00.!D<-*8&%.F*8?$*/E0
+@r11
+CCTCAATTTTCAGACATTAGCCTGCNGGCAAAAGATGACGCCGGAGATATTTTAACAGAACATTATCTATCAGAAAAAGGCCATCTCTCAGCGCCTCTGAACNAGGTCACCAATGCTGAGATAGC
++
+<2/.17"=##5@)!")@7-6-*>F$&?!H7*(AF+F+>+/H=D/6'%A%>0"<@"%9!0:5B4'F,G=(5+96.9H:+H9=A%E&("H:.3*H:1@,C$58.,;9$9;G#.;+ECC9?4>E-,9:
+@r12
+CNCAACTGCTGGCGGCAAATGAGCAGAAATTTAAGTTTGATCCGCTGTTTCTGCGTCTCTTTTTCCGTGAGAGCTATCCCTTCACCACGG
++
+()?D*769@!>><1G;<;;**62F+%BAH8A)!0HG=6:!=D"&EH@4;;+A8F$"+BEH+8;7+E;E<:&))=+A,2?EF2'+=4$E@5
+@r13
+CAATACTCAGCTTTACAATATACTAACTNACCGCAGAACGTTATTTCATACAACGTTTCTGCGGCATATCACAAAACGATNACTCCATAACAGGGACAGCAGGCCACTCAATATCAGGTGCAG
++
+D";,&EA%1<:&:6*&1>1DF8=03102%G>9/F.6A#@;HDD;=8?--@AE:*E28AH@B-$8@%<8(H(B20"B//%(A74&H(E(6&0171..@)%F..F<(B/4>%<?"8B/CC5+78G
+@r14
+AAAATGATATAAATATCAATATATTAAATTAGATTTTGCATAAAAAACAGACTACATAATACTGTAAAACAC
++
+C918C1/0A98.5><G3:2+-.<2#:B/%09F*</#1)-:7:$G32A,)9>(H?G0D2@8G23;B-B3F57=
+@r15
+NTGCNNGNANCTGGCTGAACACACCGTTGATGATCTGCGCTACCTGCTGTACCTGCGGCTTTTCGTCGTACTGTTCCGGCATGTTGTTAGCGATCCGACGCATCTGCTCNCGGTCANAGTTAACCATCTGTGCGGCCATGTTTTTCATAGATCCACC
++
+##*#&()#'!&+(##$%+!!''))*())&%%&*)($(%#)"''!&$+!(!&*+(#!*&"))&%+)%**%%)("$"&*#*+%$($()'$&!'%%!%%$#!%(+&&)*#("++"!!%%(+$'*)&&!*)&!*"+$'))$!"##((((##*)%+*&%'*"
+@r16
+NGTCCGCAANCCTCNTNNGCCCGGACNAANTNCGCGATNAGTGGACCCAACTCGAAATCAACCGTAACAAGCAACAGGCAGGCGTGACAGCCAGCAAACCAAAACTAGACCTGACAAACACAGACTGGATTTACGGGGTGGATCTATGAAAAACATCGCCGCAC
++
+$(%#*$$!(!'%*#!%&$&)()(&#*##'!"&$+))!(+"&'($'(#(*$)"'(")#!&'+!+#(!&+%$!'))&'(+'+#*$'(()*#&&#"&%%+&'$!'%"($!*'%*!+)+%&"+%)('&(#(+!"(+())*!#$&%"$!+"&"&&!)%''+&%+++%*&
+@r17
+NTAGGCACGGGTATCGCCTTCATTAAACCACTACAGNAGCGCCTGCTG
++
+#?"'H;;B2$G'.%79GGFH<39!+*;<%=;>%4*.$A4'+>C$%H0E
+@r18
+GTGCCCGTCCTCCACGGGNTCAAAAACGNGAATGAACGAGGCGCGCCCGCCGGGTAACTCACGGGGTATCCATGTCCATTTCTGCGGCATC
++
+#%"+!!#+$*+!""&#%$&%+%$&*"'(&&&$$!")!&%+$*)&%")(&$!*$$$#+(+!)+*+)"&)$'"++*'!&'%"%)&#'!!$%%)
+@r19
+NCCACCGAGGTGCTGGCAGGCGTCACGGTCATGCCGGTTGCCGCTGTTACCGTGCTGCGATCTTCTGCCATCGACGGACGTCCCCCATTGGTGACTTTCACCGTGCGGGTGATCACTTCCTTCGCCGTCACCGCCTTACCGATACTG..GCGCTTGCGGGTAAAGAACCGAAGCATGCGACACTGACGGCGCTGGCAGGGT
++
+#+&+&#'#"#!$#$$&(((+*'#&!$'#$+%*!+'#+'&'&!!"%+!+&!#%("))+&$**#!%'')+#)"&(+"&#&+&+&()%#*%
+@r9989
+ATTGTGGCTGCCCTGACTGTCCGTTTTCGATAAATAAGCAATANCCTGTGTGCTGGTTCCTTTAACTGTGGATAAACTTCCTGTAATGGTTGCTGTTCCATACTGACTCCAGCGAGAACTGTTCATCCTTAAACCACTTGTGTGGGCATGNACACCCGCGGCCCCTGTTGAACCGCTCAGACTGTGAGCATGAGCCCCCGTGTT
++
+'!9(.9/E(+$5#:(H08=36%E74.$@4"".F,01/8E&,')09$8#A88+?9;0<!<;%G9H#3+C#$<%*1>>+%3,(D',$GEH@&+),A:E1;C&">7HB!1@5C.48$6*5)%-+!+@*16!-<(81!'49HC2B<3C*#?'0!A)?+>8<?70:=>D:E7"%FE:/)42+E)%@8'$-/4<E5,&18*=+,1+.;:-
+@r9990
+ATTTTAGCCTGGCAATCGGCATGTTAAACGGCGTCTTTAAGGAACGATGAACATGAAAAGCAAAATCATCAGGGAGCTACAGGNTCCTTTTTTATTATTCGCATTCACCCTCAAGCGTATTAACCAACAGTNCAGGGATTAATGAAAGATGGCAGACATCATTGATTNAGCATCAGATATAGAAGAATTACCAGCGCAACACAGCAATAAAAATGCGCCGCCTGAACCACCAGGC
++
+A*&G%4(H&8&C8++5H5E;"=37"%<A&E7F*D(5,E;7;<.?9#>,?&D/9.+D'(/>%FD02D(>59?-A<//37(>0<.D*/67&)$'=#?<C;#9>,3A?9&C98"@,6?4$DG9?*#4=@<0#0$;'3D/1F9:2H9C9=GG0(.2?C@H&<#0$)CD,-,8=%1$G=C;B/94(3;6DD#5,GG?7)9/8!/;D#2CE'$=$1D0A"D*E&'A)=4.1>0?"9//*!?
+@r9991
+GATAAATTATCTCTGGCGGTGTTGACATAAATACCACTGGCGGTGATACTGAGCACATCAGCAGGACGCACTGACCACCATGAAGGTGACGCTCTTAAAAATTAAG
++
++3.D0=H.A8?&)%8%1A!833E:<6<>;;H;&$A!/6#=-F&>C4<22)&9@=A>H%/?B;57@<3%G69%=0"%;"A2-943<C.3<%<4C4!61?/95B$B<H
+@r9992
+NNNCATCATCNGTTCNTGAACTTCTTTCAGACCATCGATGGCCNTACGACCGGAGCCTATCCAGTCGCAGCTCCCCCAGGCACTGC
++
+%$&')%%%"(#!'*'"'"$"+*)*('"%)$'*(*%$$$+*#$+$$!"#&#*#"'!'%)#$!$(&&""&$"%)%*")"!!''(%"*!
+@r9993
+GGGCGTAACCGACAAGAGCTTTCGTGCGGTGTCTGCGGATAAAACAAAAGCCACCGTGTCGNACAGTGGTATGACCATCACCGTNAANGGCGTTGCTGCAGGCAAGGTCAACATTCCGGTTGTATCCGGTAATGGT
++
+<<'(-<GA9%''%4E().H5B:*%27G!A:7C:'".;E$4:';)E5&.D0*CD/8!=5*9'1D:E>(;<$')95*+9A4##7)@(.*07"*B59D,$88(+$019-15!FCC&3,C3/#(%.@'442*#B=%0G/8
+@r9994
+NCTCGATTCGTAGAGCCTCGTTGCGTTTGTTTGCACGAACCATATGTAAGTATTTCCTTAGATAACAATTGATTGAATGTATGCAAATAAATGCAT
++
+#.,$!B:8<H'AE6'B80,6<8?@DG""943,1?,"8+B1#,'(<)4-*9?<93/90>+/99=-@F.@:7FF(59?F".)(/+1H+,<698%<H%(
+@r9995
+ACCAGCGCCACAATCTCACCCTGCATTTCTGCCTGCAGCCAGTCTTCCGGCGACATACGGAAATAGCCTCCGGCTCACCGGAGATATTCACGCAGGGGAAATATCTTTCCCCCTCCNGCGTGCTTACCACGAAGCCGCACGACTCCGCTGGCGCACATCGCCG
++
+1.)CB;E5!*.6F=,(>F+7H5=97H0!E(4""(%3(E56?!C("0@HF"="=/1189973AF2H$C9!2433#H,1C.?".#@7-=G!/<%!F*=8-/@2/>H4"?BBA>E*7@A>358!"2/+5C$))C+3/=/6>-=0<:&*,B3%(7BF+0A&'*;/G1
+@r9996
+AGAGCACATCCTCATAACGGAACGTGCCGGACTTGTAGAACGTCAGCGTGGTGCTGGTCTGGTCAGCAGCAACCGCAAGAATGCCAACGGCAGCAC
++
+;4+3B2#A,"%&;.30&C:,.#74%6'72#8-.8'+@<7*A0H-.0-:A3?<//--FB-(:H7@>DB=GC549+*;1":'!E>#4/F/>!;.D?#*
+@r9997
+GGTTTTACCGCATACCAATAACGCTTCACTCGAGGCGTTTTT
++
+$AB-8?5C.G(B9H(96=+&48D01!>FE3GB+:.FCE#<>B
+@r9998
+ACTCGTTGCCCGGTAACAACAGCCAGTTCCATTGCAAGTCTGAGCCAACATGGTGATGATTCTGCTGCTTGATAAATTTTCAGGTATTCGTCAGCCGTAAGTCTTGATCTCCTTACCTCTGATTTTGCTGCGNGAGTGGCAGCGACATGGNTTGTTGTTATATGGCCTTCAGCTATTGCCTCTCGGAATGCATCGCTCAGTGTTGATCTGATTAACTTGGCTGACGCCGCCTTGCCCTCGTCTAT
++
+<HB3:@$-7E"662+#D%0!12CFGGA&A&E>E()-'<($ABD6":'1B!=AB&B<1:6$/4*/()(@G(9701!0B15HGC.D"2(:+,<)6?@7;65%"H$,;A11B#'C+#";BCFDD0=::)CC67:A>$*"#:-&;(*?D2*(/8%E/>-D2=.4H)CC&*/A5<"!1'+-)":G?:8BCE!!"/A@94:3H3/&?G,4/2-%=-6370'/C!/-'>B7A:G49!C%=8:'14:)!H+@)
+@r9999
+TTCNTCGNTNTTGATGGACTCCTCCACAGAGAAACNATGGCCCCGAAGGGCCATGATTACGCCAGTTGTACGGACACGAACTCATCAGGGTCACCAGCAGCATCAGCGGTGCTGACTGACTCATGGTGAACTCACGCGCCGGATCGCCGGTGGTCACCCAGTTTTTCGGGTAACGGGCAGGGGCGGCGACCTCGCGGGTTTTCGCTATTTATGAAAATTTTCCGGTTTAAGGCGTTTNCGTTCTTCTTCGTCATAACTTAATGTTTTTATTTAAAATACCCTCTGAAAANAAAGGAAACGACANGTGCTGAAAGCNAGGCTTTTTGGCCTCT
++
+()"('$$!%$#(+")$"&%('+#"&#&#$$$#**#+&$&#)!*$$%")#(*+""'"!%(#*$%+"$+$*+%(#'(+%$#*)%#+!"%&*"(*%'%"'*$*)'*')'&#("$!$(*)+%$)!'$'+))'(#)+"!)"&(""%'+&%#'&)"'#&#*$+%&")!*'%!&#!#*+(#$*'%&&)"+#$***"*+!("*++#*&%"$"$'+()&#!!"$"&+%#*+"!#(+)"!#!!(!*&%%)%+!'))+'&'#)(!+*!"#+%!($*&%+!('+)"+%#($!++!(+"('"$%"&*&#((''$)+("!("##(&+%+&)!'#+$("$&%#'&("
+@r10000
+CAGAAAGCGGGGATTTCCGTCGGGCAGTATAAAGCCGCCATGCGTATGCTGCCTGCACAGTTCACCGACGTGGCCACGCAGCTTGCAGGCGGGCA
++
++*#'$#)(#'"'!#((!*&!%"&#*"$$$*#!$()+&%'')#()*(+))*$*)$)%%*+&!+*)"$'+!"&%!$!'*)+(!+(+)"#&+)''+'%
test-data/samples/sample3/var.flt.vcf
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample3/var.flt.vcf
test-data/samples/sample3/var.flt.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample3/var.flt.vcf Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,62 @@
+##fileformat=VCFv4.1
+##source=VarScan2
+##INFO=<ID=ADP,Number=1,Type=Integer,Description="Average per-sample depth of bases with Phred score >= 15">
+##INFO=<ID=WT,Number=1,Type=Integer,Description="Number of samples called reference (wild-type)">
+##INFO=<ID=HET,Number=1,Type=Integer,Description="Number of samples called heterozygous-variant">
+##INFO=<ID=HOM,Number=1,Type=Integer,Description="Number of samples called homozygous-variant">
+##INFO=<ID=NC,Number=1,Type=Integer,Description="Number of samples not called">
+##FILTER=<ID=str10,Description="Less than 10% or more than 90% of variant supporting reads on one strand">
+##FILTER=<ID=indelError,Description="Likely artifact due to indel reads at this position">
+##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
+##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality">
+##FORMAT=<ID=SDP,Number=1,Type=Integer,Description="Raw Read Depth as reported by SAMtools">
+##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Quality Read Depth of bases with Phred score >= 15">
+##FORMAT=<ID=RD,Number=1,Type=Integer,Description="Depth of reference-supporting bases (reads1)">
+##FORMAT=<ID=AD,Number=1,Type=Integer,Description="Depth of variant-supporting bases (reads2)">
+##FORMAT=<ID=FREQ,Number=1,Type=String,Description="Variant allele frequency">
+##FORMAT=<ID=PVAL,Number=1,Type=String,Description="P-value from Fisher's Exact Test">
+##FORMAT=<ID=RBQ,Number=1,Type=Integer,Description="Average quality of reference-supporting bases (qual1)">
+##FORMAT=<ID=ABQ,Number=1,Type=Integer,Description="Average quality of variant-supporting bases (qual2)">
+##FORMAT=<ID=RDF,Number=1,Type=Integer,Description="Depth of reference-supporting bases on forward strand (reads1plus)">
+##FORMAT=<ID=RDR,Number=1,Type=Integer,Description="Depth of reference-supporting bases on reverse strand (reads1minus)">
+##FORMAT=<ID=ADF,Number=1,Type=Integer,Description="Depth of variant-supporting bases on forward strand (reads2plus)">
+##FORMAT=<ID=ADR,Number=1,Type=Integer,Description="Depth of variant-supporting bases on reverse strand (reads2minus)">
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT Sample1
+gi|9626243|ref|NC_001416.1| 2439 . C T . PASS ADP=14;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:76:16:14:0:14:100%:2.4927E-8:0:26:0:0:6:8
+gi|9626243|ref|NC_001416.1| 3648 . C T . PASS ADP=24;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:129:28:24:0:23:100%:1.2146E-13:0:26:0:0:12:11
+gi|9626243|ref|NC_001416.1| 5462 . C T . PASS ADP=21;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:105:24:21:0:19:100%:2.8292E-11:0:25:0:0:16:3
+gi|9626243|ref|NC_001416.1| 7668 . A C . PASS ADP=15;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:81:17:15:0:15:100%:6.4467E-9:0:26:0:0:5:10
+gi|9626243|ref|NC_001416.1| 8420 . T C . PASS ADP=31;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:176:32:31:0:31:100%:2.1486E-18:0:26:0:0:21:10
+gi|9626243|ref|NC_001416.1| 9919 . A G . PASS ADP=23;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:129:24:23:0:23:100%:1.2146E-13:0:28:0:0:14:9
+gi|9626243|ref|NC_001416.1| 10264 . G T . PASS ADP=21;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:117:24:21:0:21:100%:1.8578E-12:0:26:0:0:9:12
+gi|9626243|ref|NC_001416.1| 11066 . G C . PASS ADP=18;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:99:20:18:0:18:100%:1.1019E-10:0:25:0:0:6:12
+gi|9626243|ref|NC_001416.1| 12070 . C T . PASS ADP=10;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:52:11:10:0:10:100%:5.4125E-6:0:22:0:0:7:3
+gi|9626243|ref|NC_001416.1| 12970 . A G . PASS ADP=24;WT=0;HET=0;HOM=1;NC=0 GT:GQ:S..PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:164:30:29:0:29:100%:3.3259E-17:0:28:0:0:13:16
+gi|9626243|ref|NC_001416.1| 19448 . C A . PASS ADP=19;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:92:20:19:1:18:94.74%:5.6585E-10:28:26:1:0:7:11
+gi|9626243|ref|NC_001416.1| 20079 . C G . PASS ADP=34;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:194:36:34:0:34:100%:3.5146E-20:0:25:0:0:18:16
+gi|9626243|ref|NC_001416.1| 20289 . T A . PASS ADP=21;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:117:23:21:0:21:100%:1.8578E-12:0:27:0:0:6:15
+gi|9626243|ref|NC_001416.1| 21653 . G C . PASS ADP=20;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:111:22:20:0:20:100%:7.2544E-12:0:29:0:0:14:6
+gi|9626243|ref|NC_001416.1| 24930 . A C . PASS ADP=23;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:129:26:23:0:23:100%:1.2146E-13:0:28:0:0:11:12
+gi|9626243|ref|NC_001416.1| 26728 . A T . PASS ADP=24;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:135:25:24:0:24:100%:3.101E-14:0:26:0:0:12:12
+gi|9626243|ref|NC_001416.1| 27412 . C G . PASS ADP=13;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:70:15:13:0:13:100%:9.6148E-8:0:25:0:0:5:8
+gi|9626243|ref|NC_001416.1| 27834 . C A . PASS ADP=15;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:76:16:15:0:14:100%:2.4927E-8:0:23:0:0:9:5
+gi|9626243|ref|NC_001416.1| 29435 . T A . PASS ADP=13;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:70:18:13:0:13:100%:9.6148E-8:0:28:0:0:6:7
+gi|9626243|ref|NC_001416.1| 30757 . T A . PASS ADP=20;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:111:24:20:0:20:100%:7.2544E-12:0:28:0:0:7:13
+gi|9626243|ref|NC_001416.1| 30890 . G A . PASS ADP=17;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:87:18:17:0:16:100%:1.6637E-9:0:26:0:0:7:9
+gi|9626243|ref|NC_001416.1| 31328 . G C . PASS ADP=20;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:111:21:20:0:20:100%:7.2544E-12:0:27:0:0:9:11
+gi|9626243|ref|NC_001416.1| 32660 . C A . PASS ADP=16;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:87:17:16:0:16:100%:1.6637E-9:0:25:0:0:10:6
+gi|9626243|ref|NC_001416.1| 33865 . T G . PASS ADP=26;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:146:28:26:0:26:100%:2.0165E-15:0:27:0:0:13:13
+gi|9626243|ref|NC_001416.1| 35802 . G C . PASS ADP=25;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:141:28:25:0:25:100%:7.9107E-15:0:24:0:0:11:14
+gi|9626243|ref|NC_001416.1| 36169 . G C . PASS ADP=13;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:70:15:13:0:13:100%:9.6148E-8:0:26:0:0:4:9
+gi|9626243|ref|NC_001416.1| 37519 . G C . PASS ADP=13;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:70:13:13:0:13:100%:9.6148E-8:0:30:0:0:6:7
+gi|9626243|ref|NC_001416.1| 37898 . C G . PASS ADP=24;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:135:27:24:0:24:100%:3.101E-14:0:26:0:0:8:16
+gi|9626243|ref|NC_001416.1| 38073 . A C . PASS ADP=24;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:129:25:24:0:23:100%:1.2146E-13:0:25:0:0:17:6
+gi|9626243|ref|NC_001416.1| 39003 . T C . PASS ADP=16;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:87:17:16:0:16:100%:1.6637E-9:0:25:0:0:8:8
+gi|9626243|ref|NC_001416.1| 41448 . A G . PASS ADP=19;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:105:21:19:0:19:100%:2.8292E-11:0:23:0:0:7:12
+gi|9626243|ref|NC_001416.1| 46842 . G C . PASS ADP=26;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:141:28:26:0:25:100%:7.9107E-15:0:26:0:0:16:9
test-data/samples/sample3/var.flt_preserved.vcf
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample3/var.flt_preserved.vcf
test-data/samples/sample3/var.flt_preserved.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample3/var.flt_preserved.vcf Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,59 @@
+##fileformat=VCFv4.1
+##source=VarScan2
+##INFO=<ID=ADP,Number=1,Type=Integer,Description="Average per-sample depth of bases with Phred score >= 15">
+##INFO=<ID=WT,Number=1,Type=Integer,Description="Number of samples called reference (wild-type)">
+##INFO=<ID=HET,Number=1,Type=Integer,Description="Number of samples called heterozygous-variant">
+##INFO=<ID=HOM,Number=1,Type=Integer,Description="Number of samples called homozygous-variant">
+##INFO=<ID=NC,Number=1,Type=Integer,Description="Number of samples not called">
+##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
+##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality">
+##FORMAT=<ID=SDP,Number=1,Type=Integer,Description="Raw Read Depth as reported by SAMtools">
+##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Quality Read Depth of bases with Phred score >= 15">
+##FORMAT=<ID=RD,Number=1,Type=Integer,Description="Depth of reference-supporting bases (reads1)">
+##FORMAT=<ID=AD,Number=1,Type=Integer,Description="Depth of variant-supporting bases (reads2)">
+##FORMAT=<ID=FREQ,Number=1,Type=String,Description="Variant allele frequency">
+##FORMAT=<ID=PVAL,Number=1,Type=String,Description="P-value from Fisher's Exact Test">
+##FORMAT=<ID=RBQ,Number=1,Type=Integer,Description="Average quality of reference-supporting bases (qual1)">
+##FORMAT=<ID=ABQ,Number=1,Type=Integer,Description="Average quality of variant-supporting bases (qual2)">
+##FORMAT=<ID=RDF,Number=1,Type=Integer,Description="Depth of reference-supporting bases on forward strand (reads1plus)">
+##FORMAT=<ID=RDR,Number=1,Type=Integer,Description="Depth of reference-supporting bases on reverse strand (reads1minus)">
+##FORMAT=<ID=ADF,Number=1,Type=Integer,Description="Depth of variant-supporting bases on forward strand (reads2plus)">
+##FORMAT=<ID=ADR,Number=1,Type=Integer,Description="Depth of variant-supporting bases on reverse strand (reads2minus)">
+##FILTER=<ID=str10,Description="Less than 10% or more than 90% of variant supporting reads on one strand">
+##FILTER=<ID=indelError,Description="Likely artifact due to indel reads at this position">
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT Sample1
+gi|9626243|ref|NC_001416.1| 3648 . C T . PASS ADP=24;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:129:28:24:0:23:100%:1.2146E-13:0:26:0:0:12:11
+gi|9626243|ref|NC_001416.1| 7668 . A C . PASS ADP=15;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:81:17:15:0:15:100%:6.4467E-9:0:26:0:0:5:10
+gi|9626243|ref|NC_001416.1| 8420 . T C . PASS ADP=31;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:176:32:31:0:31:100%:2.1486E-18:0:26:0:0:21:10
+gi|9626243|ref|NC_001416.1| 9919 . A G . PASS ADP=23;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:129:24:23:0:23:100%:1.2146E-13:0:28:0:0:14:9
+gi|9626243|ref|NC_001416.1| 10264 . G T . PASS ADP=21;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:117:24:21:0:21:100%:1.8578E-12:0:26:0:0:9:12
+gi|9626243|ref|NC_001416.1| 11066 . G C . PASS ADP=18;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:99:20:18:0:18:100%:1.1019E-10:0:25:0:0:6:12
+gi|9626243|ref|NC_001416.1| 12070 . C T . PASS ADP=10;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:52:11:10:0:10:100%:5.4125E-6:0:22:0:0:7:3
+gi|9626243|ref|NC_001416.1| 12970 . A G . PASS ADP=24;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:135:26:24:0:24:100%:3.101E-14:0:25:0:0:13:11
+gi|9626243|ref|NC_001416.1| 13107 . C A . PASS ADP=12;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:64:16:12:0:12:100%:3.698E-7:0:24:0:0:7:5
+gi|9626243|ref|NC_001416.1| 13971 . G C . PASS ADP=25;WT=0;HET=0;HOM=1;N..:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:117:22:21:0:21:100%:1.8578E-12:0:26:0:0:10:11
+gi|9626243|ref|NC_001416.1| 18989 . G T . PASS ADP=29;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:164:30:29:0:29:100%:3.3259E-17:0:28:0:0:13:16
+gi|9626243|ref|NC_001416.1| 19448 . C A . PASS ADP=19;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:92:20:19:1:18:94.74%:5.6585E-10:28:26:1:0:7:11
+gi|9626243|ref|NC_001416.1| 20079 . C G . PASS ADP=34;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:194:36:34:0:34:100%:3.5146E-20:0:25:0:0:18:16
+gi|9626243|ref|NC_001416.1| 20289 . T A . PASS ADP=21;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:117:23:21:0:21:100%:1.8578E-12:0:27:0:0:6:15
+gi|9626243|ref|NC_001416.1| 21653 . G C . PASS ADP=20;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:111:22:20:0:20:100%:7.2544E-12:0:29:0:0:14:6
+gi|9626243|ref|NC_001416.1| 24930 . A C . PASS ADP=23;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:129:26:23:0:23:100%:1.2146E-13:0:28:0:0:11:12
+gi|9626243|ref|NC_001416.1| 26728 . A T . PASS ADP=24;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:135:25:24:0:24:100%:3.101E-14:0:26:0:0:12:12
+gi|9626243|ref|NC_001416.1| 27834 . C A . PASS ADP=15;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:76:16:15:0:14:100%:2.4927E-8:0:23:0:0:9:5
+gi|9626243|ref|NC_001416.1| 29435 . T A . PASS ADP=13;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:70:18:13:0:13:100%:9.6148E-8:0:28:0:0:6:7
+gi|9626243|ref|NC_001416.1| 30757 . T A . PASS ADP=20;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:111:24:20:0:20:100%:7.2544E-12:0:28:0:0:7:13
+gi|9626243|ref|NC_001416.1| 30890 . G A . PASS ADP=17;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:87:18:17:0:16:100%:1.6637E-9:0:26:0:0:7:9
+gi|9626243|ref|NC_001416.1| 31328 . G C . PASS ADP=20;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:111:21:20:0:20:100%:7.2544E-12:0:27:0:0:9:11
+gi|9626243|ref|NC_001416.1| 32660 . C A . PASS ADP=16;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:87:17:16:0:16:100%:1.6637E-9:0:25:0:0:10:6
+gi|9626243|ref|NC_001416.1| 33865 . T G . PASS ADP=26;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:146:28:26:0:26:100%:2.0165E-15:0:27:0:0:13:13
+gi|9626243|ref|NC_001416.1| 35802 . G C . PASS ADP=25;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:141:28:25:0:25:100%:7.9107E-15:0:24:0:0:11:14
+gi|9626243|ref|NC_001416.1| 36169 . G C . PASS ADP=13;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:70:15:13:0:13:100%:9.6148E-8:0:26:0:0:4:9
+gi|9626243|ref|NC_001416.1| 37519 . G C . PASS ADP=13;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:70:13:13:0:13:100%:9.6148E-8:0:30:0:0:6:7
+gi|9626243|ref|NC_001416.1| 37898 . C G . PASS ADP=24;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:135:27:24:0:24:100%:3.101E-14:0:26:0:0:8:16
+gi|9626243|ref|NC_001416.1| 38073 . A C . PASS ADP=24;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:129:25:24:0:23:100%:1.2146E-13:0:25:0:0:17:6
+gi|9626243|ref|NC_001416.1| 39003 . T C . PASS ADP=16;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:87:17:16:0:16:100%:1.6637E-9:0:25:0:0:8:8
+gi|9626243|ref|NC_001416.1| 41448 . A G . PASS ADP=19;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:105:21:19:0:19:100%:2.8292E-11:0:23:0:0:7:12
+gi|9626243|ref|NC_001416.1| 46842 . G C . PASS ADP=26;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:141:28:26:0:25:100%:7.9107E-15:0:26:0:0:16:9
test-data/samples/sample3/var.flt_removed.vcf
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample3/var.flt_removed.vcf
test-data/samples/sample3/var.flt_removed.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample3/var.flt_removed.vcf Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,27 @@
+##fileformat=VCFv4.1
+##source=VarScan2
+##INFO=<ID=ADP,Number=1,Type=Integer,Description="Average per-sample depth of bases with Phred score >= 15">
+##INFO=<ID=WT,Number=1,Type=Integer,Description="Number of samples called reference (wild-type)">
+##INFO=<ID=HET,Number=1,Type=Integer,Description="Number of samples called heterozygous-variant">
+##INFO=<ID=HOM,Number=1,Type=Integer,Description="Number of samples called homozygous-variant">
+##INFO=<ID=NC,Number=1,Type=Integer,Description="Number of samples not called">
+##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
+##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality">
+##FORMAT=<ID=SDP,Number=1,Type=Integer,Description="Raw Read Depth as reported by SAMtools">
+##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Quality Read Depth of bases with Phred score >= 15">
+##FORMAT=<ID=RD,Number=1,Type=Integer,Description="Depth of reference-supporting bases (reads1)">
+##FORMAT=<ID=AD,Number=1,Type=Integer,Description="Depth of variant-supporting bases (reads2)">
+##FORMAT=<ID=FREQ,Number=1,Type=String,Description="Variant allele frequency">
+##FORMAT=<ID=PVAL,Number=1,Type=String,Description="P-value from Fisher's Exact Test">
+##FORMAT=<ID=RBQ,Number=1,Type=Integer,Description="Average quality of reference-supporting bases (qual1)">
+##FORMAT=<ID=ABQ,Number=1,Type=Integer,Description="Average quality of variant-supporting bases (qual2)">
+##FORMAT=<ID=RDF,Number=1,Type=Integer,Description="Depth of reference-supporting bases on forward strand (reads1plus)">
+##FORMAT=<ID=RDR,Number=1,Type=Integer,Description="Depth of reference-supporting bases on reverse strand (reads1minus)">
+##FORMAT=<ID=ADF,Number=1,Type=Integer,Description="Depth of variant-supporting bases on forward strand (reads2plus)">
+##FORMAT=<ID=ADR,Number=1,Type=Integer,Description="Depth of variant-supporting bases on reverse strand (reads2minus)">
+##FILTER=<ID=str10,Description="Less than 10% or more than 90% of variant supporting reads on one strand">
+##FILTER=<ID=indelError,Description="Likely artifact due to indel reads at this position">
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT Sample1
+gi|9626243|ref|NC_001416.1| 2439 . C T . PASS ADP=14;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:76:16:14:0:14:100%:2.4927E-8:0:26:0:0:6:8
+gi|9626243|ref|NC_001416.1| 5462 . C T . PASS ADP=21;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:105:24:21:0:19:100%:2.8292E-11:0:25:0:0:16:3
+gi|9626243|ref|NC_001416.1| 27412 . C G . PASS ADP=13;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:70:15:13:0:13:100%:9.6148E-8:0:25:0:0:5:8
test-data/samples/sample4/consensus.fasta
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample4/consensus.fasta
test-data/samples/sample4/consensus.fasta
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample4/consensus.fasta Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,4 @@
+>sample4
+GAGGTTAACTGGCTCACCTCGCGCGTGTAACAGAGTAATAGGTTGAACGCCTACCCTGGT
+GACCTGGGACGGCGGACGCCTGTTGAAGTAAGGAAACGATCCTAAGCGTCTTGATGGGAT
+CCTATTAATCGGCGCGTGCATATTCATCGGACATGTCGAGGGGTG
test-data/samples/sample4/consensus.vcf
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample4/consensus.vcf
test-data/samples/sample4/consensus.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample4/consensus.vcf Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,186 @@
+##fileformat=VCFv4.1
+##fileDate=20180103
+##source=CFSAN SNP-Pipeline 1.0.1
+##reference=lambda_virus.fasta
+##INFO=<ID=NS,Number=1,Type=Integer,Description="Number of samples with data">
+##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
+##FORMAT=<ID=SDP,Number=1,Type=Integer,Description="Raw read depth">
+##FORMAT=<ID=RD,Number=1,Type=Integer,Description="Depth of reference-supporting bases (reads1)">
+##FORMAT=<ID=AD,Number=1,Type=Integer,Description="Depth of variant-supporting bases (reads2)">
+##FORMAT=<ID=RDF,Number=1,Type=Integer,Description="Depth of reference-supporting bases on forward strand (reads1plus)">
+##FORMAT=<ID=RDR,Number=1,Type=Integer,Description="Depth of reference-supporting bases on reverse strand (reads1minus)">
+##FORMAT=<ID=ADF,Number=1,Type=Integer,Description="Depth of variant-supporting bases on forward strand (reads2plus)">
+##FORMAT=<ID=ADR,Number=1,Type=Integer,Description="Depth of variant-supporting bases on reverse strand (reads2minus)">
+##FORMAT=<ID=FT,Number=1,Type=String,Description="Genotype filters using the same codes as the FILTER data element">
+##FILTER=<ID=PASS,Description="All filters passed">
+##FILTER=<ID=RawDpth,Description="No read depth">
+##FILTER=<ID=VarFreq60,Description="Variant base frequency below 0.60">
+##FILTER=<ID=StrDpth0,Description="Less than 0 variant-supporing reads on at least one strand">
+##FILTER=<ID=StrBias0,Description="Fraction of variant supporting reads below 0.00 on one strand">
+##FILTER=<ID=Region,Description="Position is in dense region of snps or near the end of the contig.">
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT sample4
+gi|9626243|ref|NC_001416.1| 403 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:15:15:0:11:4:0:0:PASS
+gi|9626243|ref|NC_001416.1| 550 . G A . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:26:0:26:0:0:14:12:PASS
+gi|9626243|ref|NC_001416.1| 586 . C G . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:27:0:25:0:0:17:8:PASS
+gi|9626243|ref|NC_001416.1| 753 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:23:23:0:12:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 1019 . C T . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:22:0:22:0:0:8:14:PASS
+gi|9626243|ref|NC_001416.1| 1079 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:27:27:0:11:16:0:0:PASS
+gi|9626243|ref|NC_001416.1| 1540 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:28:28:0:14:14:0:0:PASS
+gi|9626243|ref|NC_001416.1| 1620 . G A . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:19:0:19:0:0:7:12:PASS
+gi|9626243|ref|NC_001416.1| 1650 . G C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:26:0:26:0:0:10:16:PASS
+gi|9626243|ref|NC_001416.1| 1788 . A T . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:16:0:16:0:0:9:7:PASS
+gi|9626243|ref|NC_001416.1| 1804 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:18:18:0:7:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 2123 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:28:28:0:13:15:0:0:PASS
+gi|9626243|ref|NC_001416.1| 2439 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:27:27:0:10:17:0:0:PASS
+gi|9626243|ref|NC_001416.1| 2452 . A T . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:23:1:22:1:0:13:9:PASS
+gi|9626243|ref|NC_001416.1| 2599 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:19:19:0:8:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 3063 . G A . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:22:0:21:0:0:10:11:PASS
+gi|9626243|ref|NC_001416.1| 3351 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:24:24:0:10:14:0:0:PASS
+gi|9626243|ref|NC_001416.1| 3648 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:22:22:0:10:12:0:0:PASS
+gi|9626243|ref|NC_001416.1| 3656 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:28:28:0:18:10:0:0:PASS
+gi|9626243|ref|NC_001416.1| 3678 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:22:22:0:11:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 4977 . G ..S=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:22:22:0:6:16:0:0:PASS
+gi|9626243|ref|NC_001416.1| 35148 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:17:17:0:11:6:0:0:PASS
+gi|9626243|ref|NC_001416.1| 35802 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:21:21:0:7:14:0:0:PASS
+gi|9626243|ref|NC_001416.1| 35907 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:19:18:1:12:6:0:1:PASS
+gi|9626243|ref|NC_001416.1| 36010 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:23:23:0:11:12:0:0:PASS
+gi|9626243|ref|NC_001416.1| 36169 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:28:28:0:10:18:0:0:PASS
+gi|9626243|ref|NC_001416.1| 36642 . T C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:17:0:17:0:0:2:15:PASS
+gi|9626243|ref|NC_001416.1| 37208 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:25:25:0:14:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 37387 . A T . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:15:0:15:0:0:7:8:PASS
+gi|9626243|ref|NC_001416.1| 37519 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:19:18:1:12:6:1:0:PASS
+gi|9626243|ref|NC_001416.1| 37898 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:16:15:1:11:4:0:1:PASS
+gi|9626243|ref|NC_001416.1| 38073 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:14:14:0:9:5:0:0:PASS
+gi|9626243|ref|NC_001416.1| 38165 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:18:18:0:7:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 38575 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:24:23:1:16:7:0:1:PASS
+gi|9626243|ref|NC_001416.1| 39003 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:25:25:0:14:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 39206 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:25:25:0:11:14:0:0:PASS
+gi|9626243|ref|NC_001416.1| 39484 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:21:21:0:10:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 39485 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:19:19:0:7:12:0:0:PASS
+gi|9626243|ref|NC_001416.1| 40457 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:30:30:0:15:15:0:0:PASS
+gi|9626243|ref|NC_001416.1| 40835 . T C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:25:0:25:0:0:16:9:PASS
+gi|9626243|ref|NC_001416.1| 40984 . A G . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:22:0:21:0:0:12:9:PASS
+gi|9626243|ref|NC_001416.1| 41064 . T G . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:22:0:21:0:0:10:11:PASS
+gi|9626243|ref|NC_001416.1| 41448 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:19:18:1:9:9:1:0:PASS
+gi|9626243|ref|NC_001416.1| 41954 . T C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:23:0:23:0:0:11:12:PASS
+gi|9626243|ref|NC_001416.1| 42439 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:25:25:0:11:14:0:0:PASS
+gi|9626243|ref|NC_001416.1| 43306 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:28:28:0:10:18:0:0:PASS
+gi|9626243|ref|NC_001416.1| 43470 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:27:26:1:17:9:0:1:PASS
+gi|9626243|ref|NC_001416.1| 44134 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:27:26:1:13:13:0:1:PASS
+gi|9626243|ref|NC_001416.1| 44201 . G C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:25:0:24:0:0:15:9:PASS
+gi|9626243|ref|NC_001416.1| 44413 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:15:15:0:1:14:0:0:PASS
+gi|9626243|ref|NC_001416.1| 45364 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:27:26:1:11:15:1:0:PASS
+gi|9626243|ref|NC_001416.1| 45409 . C G . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:21:0:21:0:0:8:13:PASS
+gi|9626243|ref|NC_001416.1| 46237 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:28:26:2:10:16:0:2:PASS
+gi|9626243|ref|NC_001416.1| 46283 . C G . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:22:0:22:0:0:11:11:PASS
+gi|9626243|ref|NC_001416.1| 46842 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:25:25:0:10:15:0:0:PASS
+gi|9626243|ref|NC_001416.1| 47425 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:23:23:0:12:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 47893 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:22:22:0:11:11:0:0:PASS
test-data/samples/sample4/consensus_preserved.fasta
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample4/consensus_preserved.fasta
test-data/samples/sample4/consensus_preserved.fasta
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample4/consensus_preserved.fasta Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,4 @@
+>sample4
+AGGCACCTCTAACAGAGTAATAGGTTGAACGCCTACCCTGGTGACCTGGGACGGCGGACG
+CCTGTTGAAGTAAGGAAACGACGTCTTGATGGGATCCTATTGGCGCGTGCATATTCATCG
+GACATGTCGAGGGGTG
test-data/samples/sample4/consensus_preserved.vcf
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample4/consensus_preserved.vcf
test-data/samples/sample4/consensus_preserved.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample4/consensus_preserved.vcf Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,166 @@
+##fileformat=VCFv4.1
+##fileDate=20180103
+##source=CFSAN SNP-Pipeline 1.0.1
+##reference=lambda_virus.fasta
+##INFO=<ID=NS,Number=1,Type=Integer,Description="Number of samples with data">
+##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
+##FORMAT=<ID=SDP,Number=1,Type=Integer,Description="Raw read depth">
+##FORMAT=<ID=RD,Number=1,Type=Integer,Description="Depth of reference-supporting bases (reads1)">
+##FORMAT=<ID=AD,Number=1,Type=Integer,Description="Depth of variant-supporting bases (reads2)">
+##FORMAT=<ID=RDF,Number=1,Type=Integer,Description="Depth of reference-supporting bases on forward strand (reads1plus)">
+##FORMAT=<ID=RDR,Number=1,Type=Integer,Description="Depth of reference-supporting bases on reverse strand (reads1minus)">
+##FORMAT=<ID=ADF,Number=1,Type=Integer,Description="Depth of variant-supporting bases on forward strand (reads2plus)">
+##FORMAT=<ID=ADR,Number=1,Type=Integer,Description="Depth of variant-supporting bases on reverse strand (reads2minus)">
+##FORMAT=<ID=FT,Number=1,Type=String,Description="Genotype filters using the same codes as the FILTER data element">
+##FILTER=<ID=PASS,Description="All filters passed">
+##FILTER=<ID=RawDpth,Description="No read depth">
+##FILTER=<ID=VarFreq60,Description="Variant base frequency below 0.60">
+##FILTER=<ID=StrDpth0,Description="Less than 0 variant-supporing reads on at least one strand">
+##FILTER=<ID=StrBias0,Description="Fraction of variant supporting reads below 0.00 on one strand">
+##FILTER=<ID=Region,Description="Position is in dense region of snps or near the end of the contig.">
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT sample4
+gi|9626243|ref|NC_001416.1| 550 . G A . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:26:0:26:0:0:14:12:PASS
+gi|9626243|ref|NC_001416.1| 586 . C G . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:27:0:25:0:0:17:8:PASS
+gi|9626243|ref|NC_001416.1| 753 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:23:23:0:12:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 1019 . C T . Region NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT .:22:0:22:0:0:8:14:Region
+gi|9626243|ref|NC_001416.1| 1620 . G A . Region NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT .:19:0:19:0:0:7:12:Region
+gi|9626243|ref|NC_001416.1| 1650 . G C . Region NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT .:26:0:26:0:0:10:16:Region
+gi|9626243|ref|NC_001416.1| 1788 . A T . Region NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT .:16:0:16:0:0:9:7:Region
+gi|9626243|ref|NC_001416.1| 2452 . A T . Region NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT .:23:1:22:1:0:13:9:Region
+gi|9626243|ref|NC_001416.1| 2599 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:19:19:0:8:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 3063 . G A . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:22:0:21:0:0:10:11:PASS
+gi|9626243|ref|NC_001416.1| 3351 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:24:24:0:10:14:0:0:PASS
+gi|9626243|ref|NC_001416.1| 3648 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:22:22:0:10:12:0:0:PASS
+gi|9626243|ref|NC_001416.1| 3656 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:28:28:0:18:10:0:0:PASS
+gi|9626243|ref|NC_001416.1| 3678 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:22:22:0:11:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 5818 . G T . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:23:0:22:0:0:11:11:PASS
+gi|9626243|ref|NC_001416.1| 5994 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:25:25:0:15:10:0:0:PASS
+gi|9626243|ref|NC_001416.1| 6296 . T A . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:26:0:25:0:0:13:12:PASS
+gi|9626243|ref|NC_001416.1| 6535 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:27:27:0:13:14:0:0:PASS
+gi|9626243|ref|NC_001416.1| 6824 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:23:23:0:12:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 7424 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:6:6:0:0:6:0:0:PASS
+gi|96262..=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:21:21:0:12:9:0:0:PASS
+gi|9626243|ref|NC_001416.1| 34137 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:24:24:0:13:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 35802 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:21:21:0:7:14:0:0:PASS
+gi|9626243|ref|NC_001416.1| 35907 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:19:18:1:12:6:0:1:PASS
+gi|9626243|ref|NC_001416.1| 36010 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:23:23:0:11:12:0:0:PASS
+gi|9626243|ref|NC_001416.1| 36169 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:28:28:0:10:18:0:0:PASS
+gi|9626243|ref|NC_001416.1| 36642 . T C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:17:0:17:0:0:2:15:PASS
+gi|9626243|ref|NC_001416.1| 37208 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:25:25:0:14:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 37387 . A T . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:15:0:15:0:0:7:8:PASS
+gi|9626243|ref|NC_001416.1| 37519 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:19:18:1:12:6:1:0:PASS
+gi|9626243|ref|NC_001416.1| 37898 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:16:15:1:11:4:0:1:PASS
+gi|9626243|ref|NC_001416.1| 38073 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:14:14:0:9:5:0:0:PASS
+gi|9626243|ref|NC_001416.1| 38165 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:18:18:0:7:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 38575 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:24:23:1:16:7:0:1:PASS
+gi|9626243|ref|NC_001416.1| 39003 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:25:25:0:14:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 39206 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:25:25:0:11:14:0:0:PASS
+gi|9626243|ref|NC_001416.1| 39484 . C . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:21:21:0:10:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 39485 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:19:19:0:7:12:0:0:PASS
+gi|9626243|ref|NC_001416.1| 40457 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:30:30:0:15:15:0:0:PASS
+gi|9626243|ref|NC_001416.1| 40835 . T C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:25:0:25:0:0:16:9:PASS
+gi|9626243|ref|NC_001416.1| 40984 . A G . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:22:0:21:0:0:12:9:PASS
+gi|9626243|ref|NC_001416.1| 41064 . T G . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:22:0:21:0:0:10:11:PASS
+gi|9626243|ref|NC_001416.1| 41448 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:19:18:1:9:9:1:0:PASS
+gi|9626243|ref|NC_001416.1| 41954 . T C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:23:0:23:0:0:11:12:PASS
+gi|9626243|ref|NC_001416.1| 42439 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:25:25:0:11:14:0:0:PASS
+gi|9626243|ref|NC_001416.1| 43306 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:28:28:0:10:18:0:0:PASS
+gi|9626243|ref|NC_001416.1| 43470 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:27:26:1:17:9:0:1:PASS
+gi|9626243|ref|NC_001416.1| 44134 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:27:26:1:13:13:0:1:PASS
+gi|9626243|ref|NC_001416.1| 44201 . G C . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:25:0:24:0:0:15:9:PASS
+gi|9626243|ref|NC_001416.1| 44413 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:15:15:0:1:14:0:0:PASS
+gi|9626243|ref|NC_001416.1| 45364 . A . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:27:26:1:11:15:1:0:PASS
+gi|9626243|ref|NC_001416.1| 45409 . C G . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:21:0:21:0:0:8:13:PASS
+gi|9626243|ref|NC_001416.1| 46237 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:28:26:2:10:16:0:2:PASS
+gi|9626243|ref|NC_001416.1| 46283 . C G . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:22:0:22:0:0:11:11:PASS
+gi|9626243|ref|NC_001416.1| 46842 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:25:25:0:10:15:0:0:PASS
+gi|9626243|ref|NC_001416.1| 47425 . T . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:23:23:0:12:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 47893 . G . . PASS NS=1 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:22:22:0:11:11:0:0:PASS
test-data/samples/sample4/duplicate_reads_metrics.txt
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample4/duplicate_reads_metrics.txt
test-data/samples/sample4/duplicate_reads_metrics.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample4/duplicate_reads_metrics.txt Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,112 @@
+## htsjdk.samtools.metrics.StringHeader
+# MarkDuplicates INPUT=[samples/sample4/reads.sorted.bam] OUTPUT=samples/sample4/reads.sorted.deduped.bam METRICS_FILE=samples/sample4/duplicate_reads_metrics.txt VERBOSITY=WARNING    MAX_SEQUENCES_FOR_DISK_READ_ENDS_MAP=50000 MAX_FILE_HANDLES_FOR_READ_ENDS_MAP=8000 SORTING_COLLECTION_SIZE_RATIO=0.25 TAG_DUPLICATE_SET_MEMBERS=false REMOVE_SEQUENCING_DUPLICATES=false TAGGING_POLICY=DontTag CLEAR_DT=true ADD_PG_TAG_TO_READS=true REMOVE_DUPLICATES=false ASSUME_SORTED=false DUPLICATE_SCORING_STRATEGY=SUM_OF_BASE_QUALITIES PROGRAM_RECORD_ID=MarkDuplicates PROGRAM_GROUP_NAME=MarkDuplicates READ_NAME_REGEX=<optimized capture of last three ':' separated fields as numeric values> OPTICAL_DUPLICATE_PIXEL_DISTANCE=100 MAX_OPTICAL_DUPLICATE_SET_SIZE=300000 QUIET=false VALIDATION_STRINGENCY=STRICT COMPRESSION_LEVEL=5 MAX_RECORDS_IN_RAM=500000 CREATE_INDEX=false CREATE_MD5_FILE=false GA4GH_CLIENT_SECRETS=client_secrets.json USE_JDK_DEFLATER=false USE_JDK_INFLATER=false
+## htsjdk.samtools.metrics.StringHeader
+# Started on: Wed Jan 03 20:46:32 UTC 2018
+
+## METRICS CLASS picard.sam.DuplicationMetrics
+LIBRARY UNPAIRED_READS_EXAMINED READ_PAIRS_EXAMINED SECONDARY_OR_SUPPLEMENTARY_RDS UNMAPPED_READS UNPAIRED_READ_DUPLICATES READ_PAIR_DUPLICATES READ_PAIR_OPTICAL_DUPLICATES PERCENT_DUPLICATION ESTIMATED_LIBRARY_SIZE
+Unknown Library 655 9117 0 0 103 3 0 0.005771 13850242
+
+## HISTOGRAM java.lang.Double
+BIN VALUE
+1.0 1
+2.0 1.999342
+3.0 2.998026
+4.0 3.996053
+5.0 4.993424
+6.0 5.990138
+7.0 6.986196
+8.0 7.981599
+9.0 8.976347
+10.0 9.97044
+11.0 10.963879
+12.0 11.956665
+13.0 12.948797
+14.0 13.940276
+15.0 14.931103
+16.0 15.921277
+17.0 16.9108
+18.0 17.899672
+19.0 18.887894
+20.0 19.875465
+21.0 20.862386
+22.0 21.848658
+23.0 22.83428
+24.0 23.819255
+25.0 24.803581
+26.0 25.787259
+27.0 26.77029
+28.0 27.752674
+29.0 28.734412
+30.0 29.715503
+31.0 30.695949
+32.0 31.67575
+33.0 32.654906
+34.0 33.633418
+35.0 34.611286
+36.0 35.58851
+37.0 36.565092
+38.0 37.541031
+39.0 38.516327
+40.0 39.490982
+41.0 40.464995
+42.0 41.438368
+43.0 42.4111
+44.0 43.383191
+45.0 44.354644
+46.0 45.325457
+47.0 46.295631
+48.0 47.265166
+49.0 48.234064
+50.0 49.202324
+51.0 50.169947
+52.0 51.136933
+53.0 52.103283
+54.0 53.068997
+55.0 54.034076
+56.0 54.998519
+57.0 55.962328
+58.0 56.925503
+59.0 57.888043
+60.0 58.849951
+61.0 59.811225
+62.0 60.771867
+63.0 61.731877
+64.0 62.691255
+65.0 63.650002
+66.0 64.608117
+67.0 65.565603
+68.0 66.522458
+69.0 67.478684
+70.0 68.43428
+71.0 69.389248
+72.0 70.343587
+73.0 71.297298
+74.0 72.250381
+75.0 73.202838
+76.0 74.154668
+77.0 75.105871
+78.0 76.056448
+79.0 77.0064
+80.0 77.955727
+81.0 78.904429
+82.0 79.852507
+83.0 80.799961
+84.0 81.746791
+85.0 82.692999
+86.0 83.638583
+87.0 84.583546
+88.0 85.527887
+89.0 86.471606
+90.0 87.414704
+91.0 88.357182
+92.0 89.29904
+93.0 90.240277
+94.0 91.180896
+95.0 92.120895
+96.0 93.060276
+97.0 93.999039
+98.0 94.937184
+99.0 95.874711
+100.0 96.811622
+
test-data/samples/sample4/metrics
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample4/metrics
test-data/samples/sample4/metrics
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample4/metrics Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,19 @@
+sample="sample4"
+fastqFileList="sample4_1.fastq, sample4_2.fastq"
+fastqFileSize=4783620
+machine=
+flowcell=
+numberReads=20000
+numberDupReads=109
+percentReadsMapped=94.44
+aveInsertSize=285.44
+avePileupDepth=22.60
+phase1Snps=37
+phase1SnpsPreserved=28
+snps=37
+snpsPreserved=28
+missingPos=0
+missingPosPreserved=0
+excludedSample=
+excludedSamplePreserved=
+errorList=""
test-data/samples/sample4/reads.all.pileup
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample4/reads.all.pileup
test-data/samples/sample4/reads.all.pileup
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample4/reads.all.pileup Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,48502 @@
+gi|9626243|ref|NC_001416.1| 1 G 2 ^$.^I. ..
+gi|9626243|ref|NC_001416.1| 2 G 0 * *
+gi|9626243|ref|NC_001416.1| 3 G 1 . 3
+gi|9626243|ref|NC_001416.1| 4 C 0 * *
+gi|9626243|ref|NC_001416.1| 5 G 6 ...... 03;26C
+gi|9626243|ref|NC_001416.1| 6 G 8 ........ 9>D3B?9@
+gi|9626243|ref|NC_001416.1| 7 C 6 .....^K. :8088E
+gi|9626243|ref|NC_001416.1| 8 G 8 ........ :23CA/H4
+gi|9626243|ref|NC_001416.1| 9 A 5 ..... 7A5@@
+gi|9626243|ref|NC_001416.1| 10 C 8 ........ :@78EG??
+gi|9626243|ref|NC_001416.1| 11 C 7 ....... 3@5?0:1
+gi|9626243|ref|NC_001416.1| 12 T 9 ......... 89HA=8=>C
+gi|9626243|ref|NC_001416.1| 13 C 9 ......... .=5:G<0G.
+gi|9626243|ref|NC_001416.1| 14 G 8 ........ 9<1;2F.A
+gi|9626243|ref|NC_001416.1| 15 C 7 ....... .<90A8D
+gi|9626243|ref|NC_001416.1| 16 G 8 ........ :H/0>><.
+gi|9626243|ref|NC_001416.1| 17 G 8 .......^K. 4?DB<F?;
+gi|9626243|ref|NC_001416.1| 18 G 10 .........N ;011<H0CC2
+gi|9626243|ref|NC_001416.1| 19 T 9 ......... 5D/1>9>B?
+gi|9626243|ref|NC_001416.1| 20 T 7 ....... :94@BG1
+gi|9626243|ref|NC_001416.1| 21 T 9 ......... C158F.6.E
+gi|9626243|ref|NC_001416.1| 22 T 12 ............ 3:2CA?<D8//3
+gi|9626243|ref|NC_001416.1| 23 C 9 ......... <.;=>?:7B
+gi|9626243|ref|NC_001416.1| 24 G 8 ........ 83GD28?F
+gi|9626243|ref|NC_001416.1| 25 C 6 ...... /0.CCF
+gi|9626243|ref|NC_001416.1| 26 T 11 ........... @1<H>/:78HB
+gi|9626243|ref|NC_001416.1| 27 A 7 ....... 2=:97?@
+gi|9626243|ref|NC_001416.1| 28 T 11 ..........^K. 15D61GB/@AA
+gi|9626243|ref|NC_001416.1| 29 T 12 ............ .74<34;9E27A
+gi|9626243|ref|NC_001416.1| 30 T 10 .......... /45E5H0F;>
+gi|9626243|ref|NC_001416.1| 31 A 11 ........... 639;:9<E<E;
+gi|9626243|ref|NC_001416.1| 32 T 11 ........... 6A.:=HDD3/>
+gi|9626243|ref|NC_001416.1| 33 G 10 .........^K. =B?;5G3:CE
+gi|9626243|ref|NC_001416.1| 34 A 8 ........ 9BFG<FF/
+gi|9626243|ref|NC_001416.1| 35 A 7 ....... 0>8A/;6
+gi|9626243|ref|NC_001416.1| 36 A 10 .......... 1H5841D<E4
+gi|9626243|ref|NC_001416.1| 37 A 9 ......... EFA@D1BF4
+gi|9626243|ref|NC_001416.1| 38 T 10 .......... B8D4AB?AH@
+gi|9626243|ref|NC_001416.1| 39 T 10 .......... =HFG75@DD3
+gi|9626243|ref|NC_001416.1| 40 T 12 ............ :H6/HG.7?C.B
+gi|9626243|ref|NC_001416.1| 41 T 10 .......... F>7@C?.G46
+gi|9626243|ref|NC_001416.1| 42 C 12 ............ 299AD1////BD
+gi|9626243|ref|NC_001416.1| 43 C 13 ............. /H8D@0;9F>E>/
+gi|9626243|ref|NC_001416.1| 44 G 10 .......... 7=6F2A@/>3
+gi|9626243|ref|NC_001416.1| 45 G 11 ........... @74=CHB;HD9
+gi|9626243|ref|NC_001416.1| 46 T 13 .........$.... 7H40C7E0>5E4@
+gi|9626243|ref|NC_001416.1| 47 T 8 ........ 890F9/C9
+gi|9626243|ref|NC_001416.1| 48 T 11 ........... 1034==2<>4E
+gi|9626243|ref|NC_001416.1| 49 A 8 ........ 3<F/E<GH
+gi|9626243|ref|NC_001416.1| 50 A 7 ......^K. A092:8A
+gi|9626243|ref|NC_001416.1| 51 G 7 ....... 4A10@DD
+gi|9626243|ref|NC_001416.1| 52 G 9 ......... C/B>F6<B;
+gi|9626243|ref|NC_001416.1| 53 C 12 ............ :B/3B<C/1C6C
+gi|9626243|ref|NC_001416.1| 54 G 11 ........... 5H3F>EDD?1?
+gi|9626243|ref|NC_001416.1| 55 T 14 .........N.... 1F?2;:24H79A:4
+gi|9626243|ref|NC_001416.1| 56 T 6 ...... ::3E3?
+gi|9626243|ref|NC_001416.1| 57 T 13 ......N...... @3/5D4;>:34F<
+gi|9626243|ref|NC_001416.1| 58 C 8 ........ :G029/2/
+gi|9626243|ref|NC_001416.1| 59 C 11 ........... 09E;;41.@:<
+gi|9626243|ref|NC_001416.1| 60 G 8 ........ 26G1C2F;
+gi|9626243|ref|NC_001416.1| 61 T 8 ........ =>E@0252
+gi|9626243|ref|NC_001416.1| 62 T 11 ........... GEH2C59AE7E
+gi|9626243|ref|NC_001416.1| 63 C 13 ............. 5:;@/C;/=7/=3
+gi|9626243|ref|NC_001416.1| 64 T 9 ......... 814AEFA?D
+gi|9626243|ref|NC_001416.1| 65 T 11 ........... ?HH7B1::10F
+gi|9626243|ref|NC_001416.1| 66 C 7 ....... EB2H304
+gi|9626243|ref|NC_001416.1| 67 T 10 ..N....... 9G1E75>B;A
+gi|9626243|ref|NC_001416.1| 68 T 8 ........ <F59C09@
+gi|9626243|ref|NC_001416.1| 69 C 1..16.1| 48428 T 10 ,,,,,,,,,, GCH1F87CAD
+gi|9626243|ref|NC_001416.1| 48429 C 9 ,,,,,,,,, :<=>>/6.8
+gi|9626243|ref|NC_001416.1| 48430 C 10 ,,,,,,,,,, ;7F@F>5C2=
+gi|9626243|ref|NC_001416.1| 48431 A 10 ,,,,,,,n,, CGF1H<5/33
+gi|9626243|ref|NC_001416.1| 48432 C 11 ,,,,,,,,,,, >/?5D;17E11
+gi|9626243|ref|NC_001416.1| 48433 G 10 ,,,,,,,,,, .DFF@3G3EE
+gi|9626243|ref|NC_001416.1| 48434 C 6 ,,,,,, >B6FH4
+gi|9626243|ref|NC_001416.1| 48435 A 10 ,,,,,,,,,, DGA188;6/B
+gi|9626243|ref|NC_001416.1| 48436 C 8 ,,,,,,,, 2<C8C8<=
+gi|9626243|ref|NC_001416.1| 48437 G 13 ,,,,,,,,,,,,, 0F9/3:3.:02<F
+gi|9626243|ref|NC_001416.1| 48438 T 12 ,,,,,,,,,,,, /96370G:96=C
+gi|9626243|ref|NC_001416.1| 48439 T 11 ,,,,,,,,,,, 1886?C0;48<
+gi|9626243|ref|NC_001416.1| 48440 G 9 ,,,,,,,,, 84>GF?:8>
+gi|9626243|ref|NC_001416.1| 48441 T 13 ,,,,,,,,,c,,, 26>??3;8HBH11
+gi|9626243|ref|NC_001416.1| 48442 G 11 ,,,,,,,,,,, 8GH>.1::6:A
+gi|9626243|ref|NC_001416.1| 48443 A 9 ,,,,,,,,, DF471:B::
+gi|9626243|ref|NC_001416.1| 48444 T 10 ,,,,,,,,,, 3D<E/F??C2
+gi|9626243|ref|NC_001416.1| 48445 A 11 ,,,,,,,,,,, E@827/=H:E6
+gi|9626243|ref|NC_001416.1| 48446 T 6 ,,,,,, =BE;A5
+gi|9626243|ref|NC_001416.1| 48447 G 10 ,,,,,,,,,, <9??9H8@F3
+gi|9626243|ref|NC_001416.1| 48448 T 9 ,,,,,,,,, @34/DD66D
+gi|9626243|ref|NC_001416.1| 48449 A 9 ,,,,,,,,, 07D7.A=B4
+gi|9626243|ref|NC_001416.1| 48450 G 6 ,,,,,, C>>F.E
+gi|9626243|ref|NC_001416.1| 48451 A 11 ,,,,,,,,n,, B.E>.6<2>H1
+gi|9626243|ref|NC_001416.1| 48452 T 9 ,,,,,,$,,, 1.<5=995/
+gi|9626243|ref|NC_001416.1| 48453 G 8 ,,,,,,,, HD520BDF
+gi|9626243|ref|NC_001416.1| 48454 A 7 ,,,,,,, 3EG@/64
+gi|9626243|ref|NC_001416.1| 48455 T 8 ,,,,,,,, @7>0D;B.
+gi|9626243|ref|NC_001416.1| 48456 A 5 ,,,,, 5ED43
+gi|9626243|ref|NC_001416.1| 48457 A 8 ,,,,,,,, /GH793B0
+gi|9626243|ref|NC_001416.1| 48458 T 5 ,,,,, D4@1F
+gi|9626243|ref|NC_001416.1| 48459 C 9 ,n$,,,,,,, >.00CF9>0
+gi|9626243|ref|NC_001416.1| 48460 A 8 ,,,,,,,, @?89/=F3
+gi|9626243|ref|NC_001416.1| 48461 T 8 ,,,,,,,, ?696>?61
+gi|9626243|ref|NC_001416.1| 48462 T 5 ,,,n, G@1:8
+gi|9626243|ref|NC_001416.1| 48463 A 6 ,,,,,, >.=77E
+gi|9626243|ref|NC_001416.1| 48464 T 5 ,,,,, =11;F
+gi|9626243|ref|NC_001416.1| 48465 C 4 ,,,, F<D9
+gi|9626243|ref|NC_001416.1| 48466 A 6 ,,,$,,, 5C@0D>
+gi|9626243|ref|NC_001416.1| 48467 C 5 ,,,,, 77C1A
+gi|9626243|ref|NC_001416.1| 48468 T 3 ,,, 1>D
+gi|9626243|ref|NC_001416.1| 48469 T 8 ,,,$,,,,, /D7C5<FB
+gi|9626243|ref|NC_001416.1| 48470 T 5 ,,,,, E>;25
+gi|9626243|ref|NC_001416.1| 48471 A 5 ,,,,, CAH6G
+gi|9626243|ref|NC_001416.1| 48472 C 4 ,,,, 74B5
+gi|9626243|ref|NC_001416.1| 48473 G 5 ,,,,c CB;.D
+gi|9626243|ref|NC_001416.1| 48474 G 6 ,,,,,, :2<447
+gi|9626243|ref|NC_001416.1| 48475 G 7 ,,,,,,, 4627;F0
+gi|9626243|ref|NC_001416.1| 48476 T 5 ,,,,, ?FGD<
+gi|9626243|ref|NC_001416.1| 48477 C 5 ,,,,, 3C8B>
+gi|9626243|ref|NC_001416.1| 48478 C 6 ,,,,,$, 4<C65/
+gi|9626243|ref|NC_001416.1| 48479 T 4 ,,,, >C12
+gi|9626243|ref|NC_001416.1| 48480 T 4 ,,,, ;:/F
+gi|9626243|ref|NC_001416.1| 48481 T 5 ,,,,, H>/2E
+gi|9626243|ref|NC_001416.1| 48482 C 4 ,,,, A@H=
+gi|9626243|ref|NC_001416.1| 48483 C 4 ,,,, ?D.0
+gi|9626243|ref|NC_001416.1| 48484 G 6 ,,,$,,, C<>@F2
+gi|9626243|ref|NC_001416.1| 48485 G 3 ,,, >E6
+gi|9626243|ref|NC_001416.1| 48486 T 1 , =
+gi|9626243|ref|NC_001416.1| 48487 G 2 ,, H;
+gi|9626243|ref|NC_001416.1| 48488 A 3 ,,, 6=9
+gi|9626243|ref|NC_001416.1| 48489 T 2 ,, 3;
+gi|9626243|ref|NC_001416.1| 48490 C 3 ,,, ;A2
+gi|9626243|ref|NC_001416.1| 48491 C 4 ,,,, :;.5
+gi|9626243|ref|NC_001416.1| 48492 G 4 ,,,a 1E21
+gi|9626243|ref|NC_001416.1| 48493 A 1 , @
+gi|9626243|ref|NC_001416.1| 48494 C 3 ,,,$ B51
+gi|9626243|ref|NC_001416.1| 48495 A 2 ,$, E=
+gi|9626243|ref|NC_001416.1| 48496 G 2 ,, 50
+gi|9626243|ref|NC_001416.1| 48497 G 0 * *
+gi|9626243|ref|NC_001416.1| 48498 T 0 * *
+gi|9626243|ref|NC_001416.1| 48499 T 0 * *
+gi|9626243|ref|NC_001416.1| 48500 A 0 * *
+gi|9626243|ref|NC_001416.1| 48501 C 0 * *
+gi|9626243|ref|NC_001416.1| 48502 G 0 * *
test-data/samples/sample4/reads.sam
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample4/reads.sam
test-data/samples/sample4/reads.sam
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample4/reads.sam Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,20003 @@
+@HD VN:1.0 SO:unsorted
+@SQ SN:gi|9626243|ref|NC_001416.1| LN:48502
+@PG ID:bowtie2 PN:bowtie2 VN:2.3.3.1 CL:"/usr/local/bin/bowtie2-align-s --wrapper basic-0 --reorder -X 1000 -p 2 -x reference/lambda_virus -1 samples/sample4/sample4_1.fastq -2 samples/sample4/sample4_2.fastq"
+r1 99 gi|9626243|ref|NC_001416.1| 11151 42 75M5D61M = 11292 364 TCCATCAGCCAGAGTGTGGCGCGTTTCTCCTCTGCATCCGGCGTGNAGGTGGACAAGGTCGCTGNAGCCTTCGGGGACCACAGACCCGACGTCGTGGCTGACGGCGATGGCTCNCCAGTTCCATAACGTGTCGGCG @@@6E$66+E,3H%D%92!;7F357@6,/9'3+!=F(2!HB=89,1")!B5%=%.<-:)2789!<"4>3'F>-5.--!4G3&"7H+18.?-D)E2G;8*-+-(?!8:@.0>E;G%D&-G+!(%E3CH1!F1FB!&A AS:i:-26 XN:i:0 XM:i:4 XO:i:1 XG:i:5 NM:i:9 MD:Z:45G18A10^AAGCT19G18G22 YS:i:-5 YT:Z:CP
+r1 147 gi|9626243|ref|NC_001416.1| 11292 42 223M = 11151 -364 GAGCAGATTGCGTATGTTGCTCAGTTGCAGCGTTCCGGCGATGAAGCCGGGGCATTGCAGGCGGCGAACGAGGCCGCAACGAAAGGGTTTGATGACCAGACCCGCCGNCTGAAAGAGAACATGGGCACGCTGGAGACCTGGGCAGACAGGACTGCGCGGGCATTCAAATCCATGTGGGATGCGGTGCTGGATATTGGGCGTCCTGATACCGCGCAGGAGATGC E4%-A'H5C6G3<,5C#A(F)@<3151,@-4H6#@C144$<CG&#;""1F+?B>782#@+.':E+F@.$D1@8;5.7A2?1?"8+!(7*&C6)5*0"FHC%22))+#:(8<6,8%-A*)?'*7154A:%.2.:'A.!)0E@/8>(@E..AAG&5(>?E45E9<716)%)+F*&&$@'A=3#F2+D@E$-;;5/5HA%;H'"*'"%C%;8C0A5@=7.+85,!, AS:i:-5 XN:i:0 XM:i:2 XO:i:0 XG:i:0 NM:i:2 MD:Z:107C89T25 YS:i:-26 YT:Z:CP
+r2 83 gi|9626243|ref|NC_001416.1| 5239 42 259M = 5194 -304 CATTGATGCCGGACTGGCTGATGAACTTGTTAACAGCACCGATGCGATCACCGTCATGCGTGATGCACTGGATGCACGTAAATCCCGTCTCTCAGGAGNGCGAATGACCNAAGAGACTCAATCAACAACTGTTTCAGCCACTGCTTCGCAGGCTGACGTTACTGACGTGGTGCCAGCGACGGAGGGCGAGAACGCCAGCGCGGCGCAGCCGGACGTGAACGCGCAGATCACCGCNGCGGTTGCGGCAGAAAACAGCCGC BE:/5,%C:6+3$1/".<7A2<HH1*012=*/!&.+353,6"5-$9()C00-"E?,&A('.A",@ED2G,D85>:==9F7@G6CF5+/890#+##5D((4,H!43G<3+5;&3,>28%C@E,=7*7@F9-/H/H&>6/.?3F@3F0&'&!>4'DF.?D1*A5/4D5,D/1*2&/&-><%)!GF&3G=&,9<3CG#0F31G.)9&&H$!)E6/@G+B@+9F/@%B>&,E5E/)5>G1#8*ACB27B53G3)5%G<!?"D3 AS:i:-3 XN:i:0 XM:i:3 XO:i:0 XG:i:0 NM:i:3 MD:Z:98G10A124A24 YS:i:-7 YT:Z:CP
+r2 163 gi|9626243|ref|NC_001416.1| 5194 42 45M = 5239 304 AGNAGTGCTNGATACCGAGGCTGCNGTGTACAGCGGTCAGGAGGC '#!"'''')!*#$+*))*%"!+&#'"%$#&&*#*!#&*$%*!)(& AS:i:-7 XN:i:0 XM:i:5 XO:i:0 XG:i:0 NM:i:5 MD:Z:0G1T0T5G14A20 YS:i:-3 YT:Z:CP
+r3 99 gi|9626243|ref|NC_001416.1| 45260 42 125M = 45510 333 TGCGTTTGCAATGGCGTACCTTCNCGGCAGATATAATGGCGGTGCGTTTACAAAAACAGTAATCGACGCAACGATGTGCGCCATTATCGCCTGGTTCATTCGTGACCTTCTCGACTTCGCCGGAC :B&27>.5:,/&1!!-0%;<C23:$'!*2,*HE-54B#,>A,F5-'FF/+#%&#A-AHF'+6",!@;;2E+:)<H'<7<'!?%,7-$DB2GA.)H:C;@+E0/+*7>(?'>4E'<%+9$!CD<:( AS:i:-1 XN:i:0 XM:i:1 XO:i:0 XG:i:0 NM:i:1 MD:Z:23G101 YS:i:-6 YT:Z:CP
+r3 147 gi|9626243|ref|NC_001416.1| 45510 42 83M = 45260 -333 TCAACGTAAGGCGTTCCTCGATATGCTGGCGTGGTCGGAGGGAACTGATAACGGACGTCAGAAAACCAGAAATCATGGTTCTN *-?)/$;HG:9AB;A,4#AB4'#C8#=6(@%F+1.FC'0E;1:>0);9%A$8"G9="+E%4<HG"4G4=%F/16G#>E63C.$ AS:i:-6 XN:i:0 XM:i:2 XO:i:0 XG:i:0 NM:i:2 MD:Z:80A1G0 YS:i:-1 YT:Z:CP
+r4 99 gi|9626243|ref|NC_001416.1| 30517 42 67M3D45M = 30705 302 NGGCAGATATAGCCTGGTNGTTCAGGNGGCGCATTTTTATNGCTGTGTTGCGCTGTAATTCTTCTATTGATGCTGAATCAATGATGTCTGCCATCTTTCATTAATCCCTGAA $8@3=:D8*F/5*;>8!&"D4C">AAC-)&&6,!,<1B6#E=;@9)0-,#>F"GH$18'(B30!5#6&:003'+FGE)<86=E;933&8HH6A7*$:<!?8F-'87F":,E2 AS:i:-18 XN:i:0 XM:i:4 XO:i:1 XG:i:3 NM:i:7 MD:Z:0T17G7C13T26^TTC45 YS:i:-2 YT:Z:CP
+r4 147 gi|9626243|ref|NC_001416.1| 30705 42 114M = 30517 -302 TTCATGTTCATCGTTCCTTACAGACGCCGTTTAACATGCCGATTGCCAGGCTTAAATGAGTCGGTGTGAATCCCATCAGCGTTACCGTTTCGCGGTGCTTCTTCAGTACGCTAC F*09+2+%.*!2D4+G@GE7'"'0<5:G)<G-32..45.5&*"3:F$(:B3A1&;G-1D#*&E3,@34DG8A1,-$E6/29;#=(2??=685:1"!"D/22H*'F53?-AB#F- AS:i:-2 XN:i:0 XM:i:1 XO:i:0 XG:i:0 NM:i:1 MD:Z:20A93 YS:i:-18 YT:Z:CP
+r5 83 gi|9626243|ref|NC_001416.1| 39743 42 46M = 39602 -187 CCTGGCTAACCGTGACCAGAACGAAGTGAACGAAATCCGTCGCCAG (F.**2B3<FA+*<5!#<-#4%8"&.=7;G@30654)=?5E4?EC' AS:i:0 XN:i:0 XM:i:0 XO:i:0 XG:i:0 NM:i:0 MD:Z:46 YS:i:-1 YT:Z:CP
+r5 163 gi|9626243|ref|NC_001416.1| 3..GCGGATGTTGCGGGTTGTTGTTCTGCGGGTTCTGTTCTTCGTTGACATGAGGTTGCCCCGTATTCAGTGTCGCTGATTT -!'(G.-92+30)?#=2//"$%.?%&+"DGH?+='#4+&B=6!A5>4(19*(B?&<5"D/8"'$G9%C85&,'><H#=B7B8F)@",2@7$:<<.*.66B901C""7H>2C<;&)8(>?E AS:i:0 XN:i:0 XM:i:0 XO:i:0 XG:i:0 NM:i:0 MD:Z:120 YS:i:-3 YT:Z:CP
+r9996 83 gi|9626243|ref|NC_001416.1| 36584 42 43M = 36321 -306 ATCTGTTGCCCCTAAGACCTTTAATATATCGCCAAATACAGGT AH"(9D*F@2=&%,/8<,=4@G-HH5)'6-$6/4)2&D?.D6F AS:i:0 XN:i:0 XM:i:0 XO:i:0 XG:i:0 NM:i:0 MD:Z:43 YS:i:-10 YT:Z:CP
+r9996 163 gi|9626243|ref|NC_001416.1| 36321 42 212M = 36584 306 TCACTNTTCATTCTTGCGTAGCAATATACCATCTCTTCAGCTATCTCAGCATTGGTGACCTTGTTCAGAGGNGNTGAGAGATGGCCTTTTTCTGATAGANAATGTTCTGTTAAAATATCTCCGGCCTCATCTTTTGCCCGCAGGCTAATGTCTGAAAATTGAGNTGACGGGTTAAAAATAATATCCTTGGCAACCTTTTTTATATCCCTTTT 76?4<59B6-'CC5)++&E(A)-.1=5@F&A<4A>&/1(1"0**7?.<+4%.%>/"<(C=*1$G+H/,5&0E</*291#@*A:%4D>0//E6H!C7;F14,+.(9/&35H<7GE!?(670;B>6+D#!+A;@9F(9($*-4*=(9;B.#G@99:+<+<:B"GD-D1%?,0%H=B.H>F@"!3"@$5H7G,A$>>#(8-&1,3384$:4+!G1 AS:i:-10 XN:i:0 XM:i:6 XO:i:0 XG:i:0 NM:i:6 MD:Z:5T21G43C1C25T63G48 YS:i:0 YT:Z:CP
+r9997 83 gi|9626243|ref|NC_001416.1| 36483 42 215M = 36352 -346 GGTGACGGGTTAAAAATAATATCCTTGGCAACCTTTTTTATATCCCTTTTAAATTTTGGCTTAATGACTATATCCAATGAGTCAAAAAGCTCCCCTTCAATATCTGTTGCCCCTAAGACCTTTAATATATCGCCAAATANAGGTAGCTTGGCTTCTACCCTCACCGTTGTTCGGCCGATGAAATGCATATGCATAACATCGTCTTTGGTGGTTCC </5FC5"AH&'H%8@5$!4@0@4F?H!2/;?2.<FF3;<:H#?483H@.7:.>6EAF7%*.6A:=,0:+;E;!@7;).-<!=9F<+D(0ED-/0>4G35.=0E=B67=)34>63!/=$BFC$-DC6$;*=B44-+@2>+32)0<-BH7CF-/4)F.'4=#=/4E(.)&4A9+6,$(371&=<85%7+/2,09<<2&3;=<9$41E9%#D,.AF:3 AS:i:-3 XN:i:0 XM:i:2 XO:i:0 XG:i:0 NM:i:2 MD:Z:139C19T55 YS:i:0 YT:Z:CP
+r9997 163 gi|9626243|ref|NC_001416.1| 36352 42 131M = 36483 346 TCTCTTCAGCTATCTCAGCATTGGTGACCTTGTTCAGAGGCGCTGAGAGATGGCCTTTTTCTGATAGATAATGTTCTGTTAAAATATCTCCGGCCTCATCTTTTGCCCGCAGGCTAATGTCTGAAAATTGA 3-$H.:DA'$342H<%"A1F2'/A*@!?6FD;75B4%=-E6&5+56B?<,5?0:!-D2#..+1"1D@FD$;7C*7!);;?&F@=<>4,8.%@1/98??9+%"C88F+C<)37?;44."1(E.*:('-)3>A AS:i:0 XN:i:0 XM:i:0 XO:i:0 XG:i:0 NM:i:0 MD:Z:131 YS:i:-3 YT:Z:CP
+r9998 99 gi|9626243|ref|NC_001416.1| 684 40 48M = 836 236 TGGATGAACTGATACCGGGGTTGCTGAGTGAATATATCGAACAGTCAG :C1C'2:%"@E6G,BB3%.&E"AE$&C3("88#0<:E2-<AD<1=/D7 AS:i:0 XN:i:0 XM:i:0 XO:i:0 XG:i:0 NM:i:0 MD:Z:48 YS:i:-20 YT:Z:CP
+r9998 147 gi|9626243|ref|NC_001416.1| 836 40 11M1I73M = 684 -236 AGAATCCGCATAACCAGGAAGGGCGCTGGGAAACACTGCCCGTTCAGCGGGCCATCATNATTGNGATGGNCAGCGNNTCCATCNG !%$%%&%++%'&%)(#$#+$!$"&#%$#((&(+!((+#)%&#&*&(%#'&)'+##'(""%#'*')*)*$#'!&&&##(#)'!("' AS:i:-20 XN:i:0 XM:i:9 XO:i:1 XG:i:1 NM:i:10 MD:Z:40T16G1A2C5G5A0C1A4C1 YS:i:0 YT:Z:CP
+r9999 83 gi|9626243|ref|NC_001416.1| 38284 40 41M = 38115 -210 AAATTAAACCACACCTATGGTGTATGCATTTGTAACCNNNN *"&+(*("*!(!)*%!"&&''+&))#'!**)"++"'%$!%# AS:i:-13 XN:i:0 XM:i:8 XO:i:0 XG:i:0 NM:i:8 MD:Z:31A1T0T0G1A0T0A0C0 YS:i:0 YT:Z:CP
+r9999 163 gi|9626243|ref|NC_001416.1| 38115 40 50M = 38284 210 ATATCAAAGCGCGATCAACAAGGCCATTCATGCAGGCCGAAAGATTTTTT 8:0):?=,4!E<3E8>/?B2@&+,9=8/?;7;H2$3(>*48A6GA)(9+> AS:i:0 XN:i:0 XM:i:0 XO:i:0 XG:i:0 NM:i:0 MD:Z:50 YS:i:-13 YT:Z:CP
+r10000 99 gi|9626243|ref|NC_001416.1| 48151 42 207M = 48358 334 TGACGTTAGTCTCCGACGGCAGGCTTCAATGACCCAGGCTGAGAAATTCCCGGACCCTTTTTGCTCAAGAGCGATGTTAANTTGTTCAATCATTTGGTTAGGAAAGCGGATGTTGCGGGTTGTTGTTCTGCGGGTTCTGTTCTTCGTTGACATGAGGTTGCCCCGTATTCAGTGTCGCTGATTTGTATTGTCTGAAGTTGTTTTTAC B54C9/=A:2(3$:%6??3/5AEE+!B:?63(6%#;@)4+BD)=4%:5?<:@H-4?#A9%$:!)?$4485'9?5D5:-C*.4,1<$!GD)GH?2CE>'E1?8B.,:9#F(@;AH!?'9.8*-<A$!=?(=1'.G7&&><?-3.3:(?!E7.+C8$%(C>H1/5E;</8<43@-4(F48:B-95<CA'-*)B"%<G$'4>D&&20+(D AS:i:-1 XN:i:0 XM:i:1 XO:i:0 XG:i:0 NM:i:1 MD:Z:80T126 YS:i:-18 YT:Z:CP
+r10000 147 gi|9626243|ref|NC_001416.1| 48358 42 28M4I99M = 48151 -334 GTTAAGTTGATGCAGATCAATTAATACGCNATATACCTGCGTCATAATTGATTATTTGACGTGGTTTGNTGGCCTCCACGCACGTTGTGATATGTAGATGATAATCATTATCACTTTACGGGTCCTTTCCG FGEHD79,B"-(@+,"=HC3'%%/)*A=..'E=-4AB<8#!F%FF(?AH.&"A24#!=E21*@@DA99@52EBH+'>H(-%8C:0C>3>7F2)9/.(#<*G;E9@(86-7&#CC)C;#4;<2F8<)&>%D@ AS:i:-18 XN:i:0 XM:i:1 XO:i:1 XG:i:4 NM:i:5 MD:Z:64A62 YS:i:-1 YT:Z:CP
test-data/samples/sample4/reads.sorted.bam
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample4/reads.sorted.bam
test-data/samples/sample4/reads.sorted.bam
Binary file test-data/samples/sample4/reads.sorted.bam has changed
test-data/samples/sample4/reads.sorted.deduped.bam
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample4/reads.sorted.deduped.bam
test-data/samples/sample4/reads.sorted.deduped.bam
Binary file test-data/samples/sample4/reads.sorted.deduped.bam has changed
test-data/samples/sample4/reads.unsorted.bam
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample4/reads.unsorted.bam
test-data/samples/sample4/reads.unsorted.bam
Binary file test-data/samples/sample4/reads.unsorted.bam has changed
test-data/samples/sample4/sample4_1.fastq
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample4/sample4_1.fastq
test-data/samples/sample4/sample4_1.fastq
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample4/sample4_1.fastq Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,40000 @@
+@r1
+TCCATCAGCCAGAGTGTGGCGCGTTTCTCCTCTGCATCCGGCGTGNAGGTGGACAAGGTCGCTGNAGCCTTCGGGGACCACAGACCCGACGTCGTGGCTGACGGCGATGGCTCNCCAGTTCCATAACGTGTCGGCG
++
+@@@6E$66+E,3H%D%92!;7F357@6,/9'3+!=F(2!HB=89,1")!B5%=%.<-:)2789!<"4>3'F>-5.--!4G3&"7H+18.?-D)E2G;8*-+-(?!8:@.0>E;G%D&-G+!(%E3CH1!F1FB!&A
+@r2
+GCGGCTGTTTTCTGCCGCAACCGCNGCGGTGATCTGCGCGTTCACGTCCGGCTGCGCCGCGCTGGCGTTCTCGCCCTCCGTCGCTGGCACCACGTCAGTAACGTCAGCCTGCGAAGCAGTGGCTGAAACAGTTGTTGATTGAGTCTCTTNGGTCATTCGCNCTCCTGAGAGACGGGATTTACGTGCATCCAGTGCATCACGCATGACGGTGATCGCATCGGTGCTGTTAACAAGTTCATCAGCCAGTCCGGCATCAATG
++
+3D"?!<G%5)3G35B72BCA*8#1G>5)/E5E,&>B%@/F9+@B+G@/6E)!$H&&9).G13F0#GC3<9,&=G3&FG!)%<>-&/&2*1/D,5D4/5A*1D?.FD'4>!&'&0F3@F3?./6>&H/H/-9F@7*7=,E@C%82>,3&;5+3<G34!H,4((D5##+#098/+5FC6G@7F9==:>58D,G2DE@,"A.'(A&,?E"-00C)(9$-5"6,353+.&!/*=210*1HH<2A7<."/1$3+6:C%,5/:EB
+@r3
+TGCGTTTGCAATGGCGTACCTTCNCGGCAGATATAATGGCGGTGCGTTTACAAAAACAGTAATCGACGCAACGATGTGCGCCATTATCGCCTGGTTCATTCGTGACCTTCTCGACTTCGCCGGAC
++
+:B&27>.5:,/&1!!-0%;<C23:$'!*2,*HE-54B#,>A,F5-'FF/+#%&#A-AHF'+6",!@;;2E+:)<H'<7<'!?%,7-$DB2GA.)H:C;@+E0/+*7>(?'>4E'<%+9$!CD<:(
+@r4
+NGGCAGATATAGCCTGGTNGTTCAGGNGGCGCATTTTTATNGCTGTGTTGCGCTGTAATTCTTCTATTGATGCTGAATCAATGATGTCTGCCATCTTTCATTAATCCCTGAA
++
+$8@3=:D8*F/5*;>8!&"D4C">AAC-)&&6,!,<1B6#E=;@9)0-,#>F"GH$18'(B30!5#6&:003'+FGE)<86=E;933&8HH6A7*$:<!?8F-'87F":,E2
+@r5
+CTGGCGACGGATTTCGTTCACTTCGTTCTGGTCACGGTTAGCCAGG
++
+'CE?4E5?=)45603@G;7=.&"8%4#-<#!5<*+AF<3B2**.F(
+@r6
+CGGGCTTTCCACGGCGAAAAATAAATTACCGTATTTTGCGGAAAATGATGCCGCCAGCCTGACTGAACTGACTCAGGTTG
++
+!.'#H,'..AF.,/!/;)>"8G0#&A-B0,;4<60=&;1;-0+G#!%-85'/3=&3/5&%<51H8?%#A'"#1%/B$!1*
+@r7
+ACGCCCGGCGAACTGACCGCTGAGTCCTATGACGACAGCTATCTCGATGATGAAGATGCAGACTGGACTGCGACCGGGCAGGGGCAGAAATCTGCNGGAGATACCAGCTTCACGCTGGCGTGGATGCCCGGAGAGCAGGGGCAGTAGGCGCTGCTGGCGTGGTTTAATGAAGGCGATACCCGTGCCTATAAAATCCGCTTCCCGAATTCGATGTGTTCCGTGGCTGGGTCAGCAGTATCGGTAAGGCGGTGACGGCGA
++
+-#>*5H35BB:G6G/)#7AADB4:6G3A@+..)5,&41@"@GA1(DDA4#.@&5'!#DF!/3)'?H1,&19"!D6)47#*F@/9,&FE';:5,(?=(<G7H,3/6.*#95$E76.<5G>('C06;D;>G$.1!C/=C(E"?9=;"5E5>(F?E?()%A6$3),&$;(*%%(!.50<GA&*;(#4@='=-@=%<++B+F090":/=;!8D=46D5$=G?#:4C"')<>,.F409>H3EC13>0-)40A08507H>15>;
+@r8
+GCAGGAGCAGACTCCGCCGGAGGGATTTGAATCCTCCGACTCCGAGACGGTGCTGGGTACGGAAGTGAAAT
++
+:5;&93#;:*<"+D,3;9+7EF%8),?H@C%")AA,72$.1C85-2HD98(,34(5-:D<)1"978EAE(4
+@r9
+TGCCTGCTTAAGCAGAACTTCTGTCATCATGGACAGCACGGAACGGGTGAAGCT
++
+'0>%C7*36@/>$3'4<"-)=;3/);(;'#:G548,7G7EBD1=2"FH3/E1:=
+@r10
+CGGTAAAGAATGATCCGGCAATGGCGGCAGCCCCCAGGACAATCTGGAATACGCCACC
++
+=$"(6+G5E5)G!/5F=5=4H:#1,>#!)"57#D3G><H"DD!D%>@@8?'(4>:,2/
+@r11
+AACGCTCTGGTCGTCATACNCTGAAATCATCGATGTGAAACAGTGCTACCCGAACACGGCACTGGTCGGCGTGCAGGTGGACTCGGAGCAAGCCAGCAGGTGAGC
++
+<D.G"1<0#-EG20@:!4;0105!7"?,0?702&3B.*!%<F/)>=3?$-;,(&)'0*8B9>D2"5=?7'..19)?'A7&83&*E?.HE6&:)E#F0B0958!4)
+@r12
+CTTCGGGCTGACCATCCGGAACTGTGTCCGGAAAAGCCGCGATGAACTGGGATCCCAGGTGGCCTGAACGAACAGTTCACCGTTAAGGGCGTGCATGGCCACACCTTCCCGAATCATCATGGTAAACGTGCGTTTTCGCTC
++
+E0)G19%:F8BA,FB8<:)!8<$%E*'4C%(:3D,5>%;69GE="/F"?+"@E3;!?GA+5G33.%;CH<-83=#0D*:5E8.<'-+6E&2/BA#B50A!11>(H4<;A@D0!;)GH2.&*99AD6B%B4*((B,>C!&+:
+@r13
+CCANATNGCGGNATTTACGTGNNCGTAATTGCGGAGACTTTGCGATGTACNTGACACTTCAG
++
+"'#$)#"#'*'%'*'$$*!*$'%!#+)'%!)('*"++(&))$*')!(*%$%!($+##((##$
+@r14
+TACGAGTANTGCCGGAAGCGAGGCCTGTATCCGGATGCGGAGTCTTATCCGTGGAAATCAAACGCGCACTACTGGCTGGTTACCAACCTGTATCAGAACANGCGGGCCAATGCGCTTACTGATGCGGAATTACGCCGTAAGGCCGCAGATGAGCTTGTCCATATGACTGCGAGAATTAACCGTGGTGAGGCGATCCCTGAACCAGTAAAACAACTTCCTGTCATGGGCGGNAGACCTCTAAATCGTGCACAGGCTCTGGCGAAGATCGCAGAAATCAAAGCTAAGTTCGGACTGAAAGGAGCAAGTGTATGACGGGCAAAGAGGCAATTATTCATTACCTGGGGACGCATAATAGCTTCTGTGCGCCGGACGTTGCC
++
+G)1%H/8!AA3C4+%57F'+FA69#4$D0$C7:$#BA4F<(F,H:%1$&B35E:7+9595?HC5=2-#%::=5HA'C+?-!H..E-*A'6>4=(>1F=5G==>3*)404",%0%H=.&H8)<2=.1>A)&B=#4+0%HF</H$;1D/9B203*C.-.'190</6):F(B04.7"(4<51F*/>18,60.$*/8C1A9G/28&1D)0A+A"#30'?=A*1@$%69>G.H**>"DC4,2?-3"2;'1-54&2F56,9(HG>5+2A-)/)!/-3!)@$6,)2@,DD"=9/D!%=3..CATTGCATGGGATCATTGGGTNCTGTGGGTTTAGTGGTTGTAAAAACACCTGACCGCTATCCCTGATCAGTTTCTTCAAGGTAAACTCATCACCCCCATGTCT
++
+*(!#)%)#)'%(+'&%!'"&&'*(*)**&'%$%&#$")!%'%)#'**%&&!####$'&"!+&&!#((($"+)'*$$!'#'*%!$*'')($&"")!(#))%#"&(%%!#$+$($'"'+&"!"!!*+""$%#(*$&&'+#)+)!!&$#+!+''"&$&%!*#+")+)&+'))*#%)$$!%"*$)*(+)!*%+*%)*"&+&&)##"##'"#%)$#'#&$+%#+*+))"('(#%+)"")$*!'(+!!$&!'"+$!+&''%"')
+@r9982
+AATTTGCATATACCCATTGCTCACGAAAAAAAATGTCCTTGTCGATATAGGGATGAATCGCTTGGTGTACCTCATCTACTGC
++
+6@-79F%C'&=,9.>7,0@F(9<73:!256+(FF-8B'HH>B%40:345&@9-'7@2H=)4H2,,45!;E=!>,10$G7=+H
+@r9983
+TTCTTCCTCGGTACANAATTTCCTTTGGCGTTTCCCGATGTCCGTCACGCACATGGGATCCCGTGATGACCTCATTAAAAACACGCTGCAATCCCTCCTCATNTTTGCAGGCAAGTNCGATTTTTTNCGT
++
+"+"'+!+$#+"$*%$$+$#%"'%&'!*%#$$"')&)"+*'%%(!+&%#'(+''!+!")!%!)!)('+(#(&('$$!"+')"$(%%(((#!"'+&##**%#$&'*(("+&&((##$&*+)#'"#")*%!++
+@r9984
+ACAGAGCCAACACGCAGTCTGTCACTGTCAGGAAAGTGGTAAAACTGCAACTCA
++
+9#(=.E&'!-E/EEEDE.34C6),3?<*,:B/(E31+5G5F%&,2"%9-!;AA3
+@r9985
+AATAGTTAGAGAAAACGAAGAAAAAAAACCGACTTTAGAAATATCAACAGCAGACTCAAAACATGACGAAAAACCATATTTCATGCGTTCAGTCTTAAA
++
+,C9%5;3D-D;5>$<92<BA(G6B%H6)0>!F$D<)'2)5A7)B8*G4.4F'+@C-,1</(;6D-0(A7,'F17/-6BC*E..>,.$E#->,(#$**!6
+@r9986
+GACAATTTGCTTATGGAGTAATTTTTTAATTTAGGTTAAATAAGTTATTCTCCTGGCTTCAT
++
+:@%"E%%(!:,:-3.,9'7"49'!01$"'!&/G@7/'>A6!!H>/F$%5F0%AAB;*(9<8=
+@r9987
+CNCNCNNNNTNNNTNNTGNNCNNNCANNGCTNCTNTTAACAANNCTNNANNNAAANNTNGTCNNNGAGCAACAC
++
+$#!!"#!$"###!##"$!!!"$#"##"""$"!"#"$$$$$#$!#!#!#$!"!"#!!!$!"$$!#$#""$$"!$"
+@r9988
+TCTGAAAGGGATTAACGTGAAGTACCGTTATGAGCTGACGGACAG
++
+A!A>?)!899)&(;3D-(,-2B!;HG%/4E$7'C"4=$8:39*9=
+@r9989
+GCAATGTCGCTCGTAACTAAACAGGAGCCGACTTGTTCTGATTATTGGAAATCTTCTTTGCCCTCCAGTGTGAGGGCGATTTTTTATCTTTGAGGATGTNAACAGATGTCAAACATCAAAAA
++
+-?":/3!4)$*B",+!4/.$CFF'700%%89ED9*?."B6=A08'37$C1?DF:,E?*>,=9;,,@8:(:+F.'##!6-=2(A&51G75!0D@%.)7<#C*:CH!76?4"?%H0>AE3!AAG
+@r9990
+TGTTCACCACCACCGTGGTGCTGTTACGTCTGGCTTTCAGCTGAATGGTGCAGTTCTGTACCGGTTTTCCTGTGCCGTCTTTC
++
+8!F0B25?$)4))8/%3&*2!>GFF+?=+48?,++E:B7F0G393';G5<-.6-E)-(&:#1=,C=8%#8+":!-9&4('F'8
+@r9991
+GCAGATTATTATGGGCCGCCACGACGATGAACAGACGCTGCTGCGTGTGGA
++
+)'+')"%%&(&(("$#*!"(+&&"!$'$%"*#!*!#**&%"%!*)$!#"($
+@r9992
+CTGGTATCTATGACAANGATGAAGCCGAGCGCATTGTCGAAAATACTGCATA
++
+3"G-"91$%=?!(E4#>FB.%6B,*39F!?42!;D@!9.-@')F3=3'H(-=
+@r9993
+GCCTCGTTCATTCACGTTTTTGAACCCGTGGAGGACGGGCNGACTCGCGGTGCAAATGTGTATTACAGCGTGATGGAGCAGATGAAGATGCTCGACACGCTGCAGAACACGC
++
+H8,B4%28/@C/$?(,?!7?4CCA/1A.5.%)5:997AD9D#*$G>B(B/.B70/.0;F+&C,1/'"EB%%B"<"7;3#.;4/<>:54@D3F##$/F23)))+,>99'2-G-
+@r9994
+CACGGGCTTCTTCCTCCCCGATGCCCNGATAGCGCCAGCTTGGGCGAT
++
+G?+'B#-0<6(,0A9FD,=<2E;6*9F74/=98,><D/!76@A"9D=1
+@r9995
+CAACGCGGGATGTTCATTCTTCATCACTTTTAATTGATGTATATGCTCTCTTTTCTGACGTTAGTCTCCGACGGCANGCTTCAATGACCCAGGCTGAGAAATTCC
++
+$D(#703C.7B1C+D,/;9C,E=1D$1,=-:4>#C*;97%+096+?,E=05'@.$<C%>/01'1'A(B?-:(C3C/85#%##:52"D<'A0F>;6BB'6C.08>$
+@r9996
+ACCTGTATTTGGCGATATATTAAAGGTCTTAGGGGCAACAGAT
++
+F6D.?D&2)4/6$-6')5HH-G@4=,<8/,%&=2@F*D9("HA
+@r9997
+GGAACCACCAAAGACGATGTTATGCATATGCATTTCATCGGCCGAACAACGGTGAGGGTAGAAGCCAAGCTACCTNTATTTGGCGATATATTAAAGGTCTTAGGGGCAACAGATATTGAAGGGGAGCTTTTTGACTCATTGGATATAGTCATTAAGCCAAAATTTAAAAGGGATATAAAAAAGGTTGCCAAGGATATTATTTTTAACCCGTCACC
++
+3:FA.,D#%9E14$9<=;3&2<<90,2/+7%58<=&173($,6+9A4&).(E4/=#=4'.F)4/-FC7HB-<0)23+>2@+-44B=*;$6CD-$CFB$=/!36>43)=76B=E0=.53G4>0/-DE0(D+<F9=!<-.);7@!;E;+:0,=:A6.*%7FAE6>.:7.@H384?#H:<;3FF<.2?;/2!H?F4@0@4!$5@8%H'&HA"5CF5/<
+@r9998
+TGGATGAACTGATACCGGGGTTGCTGAGTGAATATATCGAACAGTCAG
++
+:C1C'2:%"@E6G,BB3%.&E"AE$&C3("88#0<:E2-<AD<1=/D7
+@r9999
+NNNNGGTTACAAATGCATACACCATAGGTGTGGTTTAATTT
++
+#%!$%'"++")**!'#))&+''&&"!%*)!(!*"(*(+&"*
+@r10000
+TGACGTTAGTCTCCGACGGCAGGCTTCAATGACCCAGGCTGAGAAATTCCCGGACCCTTTTTGCTCAAGAGCGATGTTAANTTGTTCAATCATTTGGTTAGGAAAGCGGATGTTGCGGGTTGTTGTTCTGCGGGTTCTGTTCTTCGTTGACATGAGGTTGCCCCGTATTCAGTGTCGCTGATTTGTATTGTCTGAAGTTGTTTTTAC
++
+B54C9/=A:2(3$:%6??3/5AEE+!B:?63(6%#;@)4+BD)=4%:5?<:@H-4?#A9%$:!)?$4485'9?5D5:-C*.4,1<$!GD)GH?2CE>'E1?8B.,:9#F(@;AH!?'9.8*-<A$!=?(=1'.G7&&><?-3.3:(?!E7.+C8$%(C>H1/5E;</8<43@-4(F48:B-95<CA'-*)B"%<G$'4>D&&20+(D
test-data/samples/sample4/sample4_2.fastq
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample4/sample4_2.fastq
test-data/samples/sample4/sample4_2.fastq
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample4/sample4_2.fastq Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,40000 @@
+@r1
+GCATCTCCTGCGCGGTATCAGGACGCCCAATATCCAGCACCGCATCCCACATGGATTTGAATGCCCGCGCAGTCCTGTCTGCCCAGGTCTCCAGCGTGCCCATGTTCTCTTTCAGNCGGCGGGTCTGGTCATCAAACCCTTTCGTTGCGGCCTCGTTCGCCGCCTGCAATGCCCCGGCTTCATCGCCGGAACGCTGCAACTGAGCAACATACGCAATCTGCTC
++
+,!,58+.7=@5A0C8;%C%"'*"'H;%AH5/5;;-$E@D+2F#3=A'@$&&*F+)%)617<9E54E?>(5&GAA..E@(>8/@E0)!.A':.2.%:A4517*'?)*A-%8,6<8(:#+))22%CHF"0*5)6C&*7(!+8"?1?2A7.5;8@1D$.@F+E:'.+@#287>B?+F1"";#&GC<$441C@#6H4-@,1513<@)F(A#C5,<3G6C5H'A-%4E
+@r2
+AGNAGTGCTNGATACCGAGGCTGCNGTGTACAGCGGTCAGGAGGC
++
+'#!"'''')!*#$+*))*%"!+&#'"%$#&&*#*!#&*$%*!)(&
+@r3
+NAGAACCATGATTTCTGGTTTTCTGACGTCCGTTATCAGTTCCCTCCGACCACGCCAGCATATCGAGGAACGCCTTACGTTGA
++
+$.C36E>#G61/F%=4G4"GH<4%E+"=9G"8$A%9;)0>:1;E0'CF.1+F%@(6=#8C#'4BA#4,A;BA9:GH;$/)?-*
+@r4
+GTAGCGTACTGAAGAAGCACCGCGAAACGGTAACGCTGATGGGATTCACACCGACTCATTTAAGCCTGGCAATCGGCATGTTAAACGGCGTCTGTAAGGAACGATGAACATGAA
++
+-F#BA-?35F'*H22/D"!"1:586=??2(=#;92/6E$-,1A8GD43@,3E&*#D1-G;&1A3B:($F:3"*&5.54..23-G<)G:5<0'"'7EG@G+4D2!*.%+2+90*F
+@r5
+GATGGTTAACTTTGACCGTGAGCAGATGCGTCGGATCGCNAACAACATGCCGGAA
++
+)840?8.,!$3.).-<@-D,9*C'?>05##%;1,&&:E::->$?396+--@C?1,
+@r6
+TTCCCCTTGATTGNCCAGCCTCGCATATCNGCCGANGGATACGCGACAGCAAGTTTTGGGTAGGCTGATT
++
+-8,#<25+EGG5B7DE,G35F-@?0277=0(+,>;&%G.$+>HG))/@(567E26B'/%5!H-E0"*>F$
+@r7
+ACGGACGTCCCACATTGGTGACTTTCACCGTGCGGGTGATCACTTCCT
++
+H146/;B2G0<".9@<@>'<-64E0732,!@'DF6&9$2HD$9,,9D=
+@r8
+TAATGGTGATGTCTTTTTCCGTCACCCAGCCNCCGTTACGTTGTATCTGAACCAGCAGGCGGACTTCCGACGGATTCCNGTCACCCTTTGAGGTGGTTTCC
++
+;>C:9H/.G'#'C07.C9B,*B8/'@-E?(C6<<?#H)@#<+)=AED@4AC*%H@B=.0-9>(9!G);*703!?*)<FD?="#6C$F.#GC.!*9:)2D#?
+@r9
+GCTGGATGGCAGGCCTAGTCCGGCTGGAGTGAGTGGGAAGAGAGCGCCACGGACAGTATGTCGCAGGTAAAAAGTGCAGCCACGCAGACCTT
++
+";*:3<<HGB(1ED)/1%H*>5"5*#H<)A14F*1"('8?E'<7483E-'/?-'!((595H**";6D6+#1EH*7@(22#/>B/1'F4<:/!
+@r10
+GTGAAAACGGGGGCTGAAGCCATCCGGGCACTGGCCACACAGCTCCCGGCGTTTCGTCAGAAACTGAGCGACGGCTGGTAACAGGTACGGATTGCCGGGCGGGACGTCAGCACGTCCGGGTTAACGGCGCAGTTAGATG
++
+')+&#)(+(!!%$)%))!$)+%($(+!+!"!'"%*$'+#&'&&"%"(++($))##)(""%!""&$'(*(#"&'()'(#&'&#$&%(("(&$$*#&"+(#+(*$+$&%')"$*!!#''&'&(#"*(&**%&#&(+)#%&(
+@r11
+TTTATCCACATCCGCCGCACCAAGACGTTTCCCCATGCCGTAGCGCGGATGGGTCAGCATATCCCACAGACACCAGGCCATGTTGTTGCTGTATGCCGGTTTAAACGTTCCGTCCCAGATACCGCTGT
++
+&;&B$*"C?7-B&-*-*#9HH-:!A!#4=G3(&D';F&@F".":,.(C-<2%E+&"*4:DE6G*H021&21/+/:8#"@A)<?))<@C(8A.C"2+:8H51">/,D0<0%10?,7&33:4DA#!(4G.
+@r12
+CCATCCAGCTACATCAGGATCATATCGTCGGGTCTTTTTTCCGGCTCAGTCATCGCCCAAGCTGGCGCTATCTGGGCATCGGGGAGGAAGANGCCCGTGCCTTTTCCCGCGAGGTTGAAGCGGCATGGAAAGAGTTTGCCGAGGATGACTGCTGCTGCATTGACGTT
++
+5(7'<.F!EAH"!9C@(6*-$E!/8%5H!*9/**A=6G#,!;G@<D0#8?;=:/E@;-B<4!+20@D3=$6H$,!>*"/)$>#G7%0-67>DC<!"%29H3"A"'370F?>,B!G"'4F3F:3E$,;8601!B">&:F5&2)(.-,C!:'H=9*C+>8:B4(4,$G2
+@r13
+ATTCCGGCGCTCATGACTTCGCCTTCTTCCCATTTCTGATCCTCTTCAAAAGGCCACGTGTTACTGGTCGATTTAAGT
++
+?@++2/9<BG-/(>C;=HA49)#(@?89/H="60:"%>!*A.2AC6!?44?#F860<5&)3'H);9>C,3C2A&G2B+
+@r14
+AGACCTGCCCGTGCCATTTTAGCCGCGGCCTGATTTATGCTGGTTACTGTTGCGCCTGTTAGCGC
++
+D(H2.-6(@-D#B6#-H)#=#H=$?6D<?H1;50*F?"?>%=+A,">23#.:5#2HEG+1E'D2*
+@r15
+NGTCTTCCAAAAGAGCTGGGCTATGCGCTGCAGCATCAACTGAGGATGGTAATATAGCGATGAAACATACTGAACTCCGTGCAGCCGTACNGGATGCACTGGAGAAGCATGACACCGGGGCGACGTTTTTTGATGGTCGCCCCGCTGTTTTTGATGAGGCGGATTTTNCGGCAGTTGCCGTTTATCTCACCGGCGCTGAATACACGGGCGAAGAGCTGGACAGCGATACCTGGCAGGCGGAGCTGCATATCGAAG
++
+#8AED$(;<3,'.8A<)<;#BE(+1%@G84A39D0?!/&9#/!@/%F'H==!B.+8)!DC/!,.)G,7'D-G=7?2C#;=$?.#CE39$E3"&"519C9"B#'82A)00/@=8G7,F"5%.A(E**HB?8()(=&@"*B"B9-%.-BG0F)%/<;#H)4H'5,9>'92/=0B"8,6F*"4-C#DD51D5:AC+5=>(=>A)7A<6/+3<#E6%EGD7H?F413,8D(21"9B+5B1=/?!B:/@A-929>(3GG8
+@r16
+ACCTGATGCTTTTCGTGCGCGCATAANATACCTTCATACTGTGCCGGATGAAAGCGGTTCGCG
++
+:@3H%1@+580A;D0(E7)!#$E5.(878)';&H-+:**$-)"B0G'C6G*+%7;-0%;8*1C
+@r17
+CNAGGNTTTGCTNTCACNTNGTGANGTTCTGNAGCNNTTATGACGCCGAGCCGTAATTTGTGCCACGCAACATCCCCCTGTTCGACAGCTCTCACATCGATCCCGGTACGCTGCAGGATAATGTCCGGTGTCATNCTGCCACCTTCTGCTCTGCGGCTTTCTGTTTCAGGAATCCAAGAGCTTTTACTGCTTCGG
+..AGAATAATGGAAGTTC
++
+E@;:.'2B57#6A<-8F!,5&0D=*G0%2)"-=&A!59H0FC6>.$A15G$FGE&=@)!E$
+@r9986
+TTGCACAAAAGAAATTACCTTCATATTTAACTGAATCATCTATTATTAAATCAGAAAGACGATGGGTCGCTAATACGCTAAAAGATTACGAATTATTACATGCCTTAGCT
++
+;H0(24%4*)64@;<0?E!H/4F=;57'G<$==F%E9G<7&$14/.)?:<D38.9@!2-F<.G#:">/0(/29;?AE3"%'?2#?57;8?-B.%9H.)HE"C88!>0550
+@r9987
+CTTTCTCTCCCATATTGCAGTCGCGGCACGATGGAACTAAATTAATAGGCATCANCNAAAATACAGGATAATGTGCAATAGGAAGAAAATGATCTATATTTTTTGTCTGTCCTATATCACCACAAAATGGACATTTTTCACCTGATGAAAAGCATGTCATCGTAATATGTTCTAGCGGGTTT
++
+:B:'.8C:CDG5<F!7H.#$9-2@(,!-(@0H9@5G);.5$9F"@!1/*:<C5GA*?+-"%'F=)/9H?:1(7.5:%5D<4CCD":HB-CH0)-1.H/''2$E>+(C12F?8+046=<,,,"#2G$3F9>G='89*/0'AAD(?.6"(4/7/'-"E<0F@H>D56"+F60B)&A%!%AD$>2
+@r9988
+CACTCCGGCCATGGCGTACGCACTGACCTGCTTACTGATTTGTAAAACCGGTCCGGCCATC
++
+H1:/<A*B>.B3126*:%C*38'*HD@>98-,8=+)&*@G9%8GH(9$)FHE%0<GF'=A=
+@r9989
+GTTTATTGAGTCGGTATTCAGAGTCTGACCAGAAATTATTAATCTGGTGAAGTTTTTCCTCTGTCATTACGTCATGGTCGATTTCAATTTCTATTGATGCTTNCCAGTCGTAATCAATGATGTAT
++
+B.=5&.;B>&8;'E0D)1!G%>(@5(":!&;>/<G:FC2::B-H1/'2$*<%FA&-D/F>"'+ED'>%8#E,(*/,<#+E>+?,:F/%)$'AA2C@:.5%>&$&#6;$!@39?A>;%):6@+9:,
+@r9990
+ATCCGGCAGCGTCCGTCGTTGTTGATATTGCTTATGAAGGCTCCGGCAGTGGCGACTGGCGTACTGACGGATTCATCGTTGGGGTCGGTTATAAATTCTGATTAGCCAGGTAACACAGTGTTATGACAGCCC
++
+9.(-?0+,+D>;D&B)3%-H/A)?><;,&7<<=.22$A>G(1649?HHB!)'(+&,D/4,8'1E9H-&1%'0&+8%?-FE*?(4-@/;6&0B0<89<.>=G(2B=2*(C=<BF=#,;;G6;B>F5*4&6'B'
+@r9991
+TCGGTAAGGTAAACCCCGTTTTTGTTTCGCTTACGTGGCATGCTGGCCACCGGCTTTCCGTAGACGGATGCCCCTTTAATGGGGATCACCCGGAACAGCCCATGTNTTTTCGAGCGTTCATACACAATGGTCGGGTCAATCCCGCCAGTATCT
++
+,'7HH?3H:@;)G6762/)$;BC!.C72A&%C407B(581&;6E#8/)4;5%1/H:-H5813<A6A@(4D?9FE/0>@1*!()2:#6-'5:+0G:07.6;41.+"4;!.55B=33<(?15/5%B(/?F*(CB#A>5A?D;#=<</&5.9D@8$
+@r9992
+TGCTCTGCGGCTTTCTGTTTNAGGAATCCAAGAGCTTTTACTGCTTCGGCCTGTGTCAGTTCTGACGATGCACGAATGTCGCGGCGAAATATCTGGGAA
++
+H&-A*@7@5@'&?;;56%;7=A0&-4+6A2?6A!6=/D,C*@=>$+""$57?<2)(:H@E<'A0"='1,-$%%<@+,@'0=*?)?="2::>D&&!30)*
+@r9993
+TCNGTGATTCACCCGGCATCAGGTGCGGTACTTTTGCGCCTCC
++
+'%$'%'#!++((#)!!%#($($'*'&'+$+"($*"*)''!)((
+@r9994
+GAATATGCCGGTTATCACGGCGGTGGCAGCGGATTTGGAGGGCAGTTGCGGTNGTGGAACCCACCGAGTGAAAGTGTGGATGCAGCCCTGTTGCCCAACTTTACCCGTGGCAATGCCCGCGCAGACGATCTGGTACGCAATAACGGCTATGCCGCCAACGNCATCCAGCTACATCAGGATCATATCGTCGGGTCTTTTTTCCGCCTCAGTC
++
+H>7F4%@D;4>;6(7?E@=7)@+D/.(!G$@8;>*:;8+.$GD0&3)2'")E+3G*'4@%<):*920,B6H**:B;6/*(@,,+'(;B=CEEC,G'@1;!?E"?9&%@'?(<1))GE-BD&&G,6HB:&>-DBE.-8-B;F&2/B3)(@"?3(+*"?:2#2(21*=<:?4*/>=>D&/@78,3C3'F,9930%6E6D5$5)?B=:1%8<D3
+@r9995
+AAATCAGCGACACTGAATACGGGGCAACCTCATGTCAACGAAGAACAGAACCCGCAGAACAACAACCCGCAACATCCGCTTTCCTAACCAAATGATTGAACAAATTAACATCGCTCTTGA
++
+E?>(8)&;<C2>H7""C109B66.*.<<:$7@2,"@)F8B7B=#H<>',&58C%9G$'"8/D"5<&?B(*91(4>5A!6=B&+4#'=+?HGD"+&%?.%$"//2=#?)03+29-.G('!-
+@r9996
+TCACTNTTCATTCTTGCGTAGCAATATACCATCTCTTCAGCTATCTCAGCATTGGTGACCTTGTTCAGAGGNGNTGAGAGATGGCCTTTTTCTGATAGANAATGTTCTGTTAAAATATCTCCGGCCTCATCTTTTGCCCGCAGGCTAATGTCTGAAAATTGAGNTGACGGGTTAAAAATAATATCCTTGGCAACCTTTTTTATATCCCTTTT
++
+76?4<59B6-'CC5)++&E(A)-.1=5@F&A<4A>&/1(1"0**7?.<+4%.%>/"<(C=*1$G+H/,5&0E</*291#@*A:%4D>0//E6H!C7;F14,+.(9/&35H<7GE!?(670;B>6+D#!+A;@9F(9($*-4*=(9;B.#G@99:+<+<:B"GD-D1%?,0%H=B.H>F@"!3"@$5H7G,A$>>#(8-&1,3384$:4+!G1
+@r9997
+TCTCTTCAGCTATCTCAGCATTGGTGACCTTGTTCAGAGGCGCTGAGAGATGGCCTTTTTCTGATAGATAATGTTCTGTTAAAATATCTCCGGCCTCATCTTTTGCCCGCAGGCTAATGTCTGAAAATTGA
++
+3-$H.:DA'$342H<%"A1F2'/A*@!?6FD;75B4%=-E6&5+56B?<,5?0:!-D2#..+1"1D@FD$;7C*7!);;?&F@=<>4,8.%@1/98??9+%"C88F+C<)37?;44."1(E.*:('-)3>A
+@r9998
+CNGATGGANNCGCTGNCCATCNCAATNATGATGGCCCGCTGAACGGGCAGTGTTTCCCAGCGCCCTTCCTGGTTATGCGGATTCT
++
+'"(!')#(##&&&!'#$*)*)'*'#%""('##+')&'#%(&*&#&%)#+((!+(&((#$%#&"$!$+#$#()%&'%++%&%%$%!
+@r9999
+ATATCAAAGCGCGATCAACAAGGCCATTCATGCAGGCCGAAAGATTTTTT
++
+8:0):?=,4!E<3E8>/?B2@&+,9=8/?;7;H2$3(>*48A6GA)(9+>
+@r10000
+CGGAAAGGACCCGTAAAGTGATAATGATTATCATCTACATATCACAACGTGCGTGGAGGCCANCAAACCACGTCAAATAATCAATTATGACGCAGGTATATNGCGTATTAATTGATCTGCATCAACTTAAC
++
+@D%>&)<8F2<;4#;C)CC#&7-68(@9E;G*<#(./9)2F7>3>C0:C8%-(H>'+HBE25@99AD@@*12E=!#42A"&.HA?(FF%F!#8<BA4-=E'..=A*)/%%'3CH=",+@(-"B,97DHEGF
test-data/samples/sample4/var.flt.vcf
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample4/var.flt.vcf
test-data/samples/sample4/var.flt.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample4/var.flt.vcf Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,61 @@
+##fileformat=VCFv4.1
+##source=VarScan2
+##INFO=<ID=ADP,Number=1,Type=Integer,Description="Average per-sample depth of bases with Phred score >= 15">
+##INFO=<ID=WT,Number=1,Type=Integer,Description="Number of samples called reference (wild-type)">
+##INFO=<ID=HET,Number=1,Type=Integer,Description="Number of samples called heterozygous-variant">
+##INFO=<ID=HOM,Number=1,Type=Integer,Description="Number of samples called homozygous-variant">
+##INFO=<ID=NC,Number=1,Type=Integer,Description="Number of samples not called">
+##FILTER=<ID=str10,Description="Less than 10% or more than 90% of variant supporting reads on one strand">
+##FILTER=<ID=indelError,Description="Likely artifact due to indel reads at this position">
+##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
+##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality">
+##FORMAT=<ID=SDP,Number=1,Type=Integer,Description="Raw Read Depth as reported by SAMtools">
+##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Quality Read Depth of bases with Phred score >= 15">
+##FORMAT=<ID=RD,Number=1,Type=Integer,Description="Depth of reference-supporting bases (reads1)">
+##FORMAT=<ID=AD,Number=1,Type=Integer,Description="Depth of variant-supporting bases (reads2)">
+##FORMAT=<ID=FREQ,Number=1,Type=String,Description="Variant allele frequency">
+##FORMAT=<ID=PVAL,Number=1,Type=String,Description="P-value from Fisher's Exact Test">
+##FORMAT=<ID=RBQ,Number=1,Type=Integer,Description="Average quality of reference-supporting bases (qual1)">
+##FORMAT=<ID=ABQ,Number=1,Type=Integer,Description="Average quality of variant-supporting bases (qual2)">
+##FORMAT=<ID=RDF,Number=1,Type=Integer,Description="Depth of reference-supporting bases on forward strand (reads1plus)">
+##FORMAT=<ID=RDR,Number=1,Type=Integer,Description="Depth of reference-supporting bases on reverse strand (reads1minus)">
+##FORMAT=<ID=ADF,Number=1,Type=Integer,Description="Depth of variant-supporting bases on forward strand (reads2plus)">
+##FORMAT=<ID=ADR,Number=1,Type=Integer,Description="Depth of variant-supporting bases on reverse strand (reads2minus)">
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT Sample1
+gi|9626243|ref|NC_001416.1| 550 . G A . PASS ADP=23;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:129:26:23:0:23:100%:1.2146E-13:0:27:0:0:14:9
+gi|9626243|ref|NC_001416.1| 586 . C G . PASS ADP=25;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:129:27:25:0:23:100%:1.2146E-13:0:27:0:0:16:7
+gi|9626243|ref|NC_001416.1| 1019 . C T . PASS ADP=20;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:111:22:20:0:20:100%:7.2544E-12:0:25:0:0:7:13
+gi|9626243|ref|NC_001416.1| 1620 . G A . PASS ADP=17;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:93:19:17:0:17:100%:4.2852E-10:0:26:0:0:7:10
+gi|9626243|ref|NC_001416.1| 1650 . G C . PASS ADP=25;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:141:26:25:0:25:100%:7.9107E-15:0:26:0:0:10:15
+gi|9626243|ref|NC_001416.1| 1788 . A T . PASS ADP=16;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:87:16:16:0:16:100%:1.6637E-9:0:26:0:0:9:7
+gi|9626243|ref|NC_001416.1| 2452 . A T . PASS ADP=21;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:103:23:21:1:20:95.24%:4.0873E-11:33:27:1:0:13:7
+gi|9626243|ref|NC_001416.1| 3063 . G A . PASS ADP=20;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:105:22:20:0:19:100%:2.8292E-11:0:28:0:0:9:10
+gi|9626243|ref|NC_001416.1| 5818 . G T . PASS ADP=22;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:117:23:22:0:21:95.45%:1.8578E-12:0:25:0:0:10:11
+gi|9626243|ref|NC_001416.1| 6296 . T A . PASS ADP=24;WT=0;HET=0;HOM=1;NC=0 GT:..AL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:135:25:24:0:24:100%:3.101E-14:0:28:0:0:10:14
+gi|9626243|ref|NC_001416.1| 12876 . G C . PASS ADP=18;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:99:19:18:0:18:100%:1.1019E-10:0:26:0:0:7:11
+gi|9626243|ref|NC_001416.1| 13647 . C T . PASS ADP=15;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:81:17:15:0:15:100%:6.4467E-9:0:26:0:0:9:6
+gi|9626243|ref|NC_001416.1| 18188 . T C . PASS ADP=25;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:141:31:25:0:25:100%:7.9107E-15:0:23:0:0:14:11
+gi|9626243|ref|NC_001416.1| 18210 . C G . PASS ADP=27;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:152:29:27:0:27:100%:5.1363E-16:0:24:0:0:14:13
+gi|9626243|ref|NC_001416.1| 22357 . G A . PASS ADP=21;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:117:21:21:0:21:100%:1.8578E-12:0:25:0:0:11:10
+gi|9626243|ref|NC_001416.1| 24043 . C A . PASS ADP=15;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:81:15:15:0:15:100%:6.4467E-9:0:27:0:0:7:8
+gi|9626243|ref|NC_001416.1| 26972 . A T . PASS ADP=21;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:103:22:21:1:20:95.24%:4.0873E-11:35:26:1:0:11:9
+gi|9626243|ref|NC_001416.1| 27539 . A C . PASS ADP=11;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:58:11:11:0:11:100%:1.4176E-6:0:30:0:0:5:6
+gi|9626243|ref|NC_001416.1| 27722 . C A . PASS ADP=25;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:141:26:25:0:25:100%:7.9107E-15:0:24:0:0:15:10
+gi|9626243|ref|NC_001416.1| 27825 . A G . PASS ADP=20;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:111:22:20:0:20:100%:7.2544E-12:0:27:0:0:13:7
+gi|9626243|ref|NC_001416.1| 29265 . T C . PASS ADP=24;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:129:28:24:0:23:100%:1.2146E-13:0:26:0:0:7:16
+gi|9626243|ref|NC_001416.1| 31363 . C G . PASS ADP=8;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:41:9:8:0:8:100%:7.77E-5:0:27:0:0:7:1
+gi|9626243|ref|NC_001416.1| 33612 . C A . PASS ADP=18;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:93:19:18:0:17:100%:4.2852E-10:0:25:0:0:7:10
+gi|9626243|ref|NC_001416.1| 36642 . T C . PASS ADP=15;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:81:17:15:0:15:100%:6.4467E-9:0:28:0:0:2:13
+gi|9626243|ref|NC_001416.1| 37387 . A T . PASS ADP=14;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:76:15:14:0:14:100%:2.4927E-8:0:27:0:0:7:7
+gi|9626243|ref|NC_001416.1| 40835 . T C . PASS ADP=21;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:117:25:21:0:21:100%:1.8578E-12:0:27:0:0:14:7
+gi|9626243|ref|NC_001416.1| 40984 . A G . PASS ADP=22;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:117:22:22:0:21:100%:1.8578E-12:0:24:0:0:12:9
+gi|9626243|ref|NC_001416.1| 41064 . T G . PASS ADP=19;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:99:22:19:0:18:94.74%:1.1019E-10:0:25:0:0:7:11
+gi|9626243|ref|NC_001416.1| 41954 . T C . PASS ADP=22;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:123:23:22:0:22:100%:4.7526E-13:0:27:0:0:10:12
+gi|9626243|ref|NC_001416.1| 44201 . G C . PASS ADP=22;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:117:25:22:0:21:100%:1.8578E-12:0:27:0:0:14:7
+gi|9626243|ref|NC_001416.1| 45409 . C G . PASS ADP=21;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:117:21:21:0:21:100%:1.8578E-12:0:26:0:0:8:13
+gi|9626243|ref|NC_001416.1| 46283 . C G . PASS ADP=20;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:111:22:20:0:20:100%:7.2544E-12:0:28:0:0:10:10
test-data/samples/sample4/var.flt_preserved.vcf
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample4/var.flt_preserved.vcf
test-data/samples/sample4/var.flt_preserved.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample4/var.flt_preserved.vcf Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,52 @@
+##fileformat=VCFv4.1
+##source=VarScan2
+##INFO=<ID=ADP,Number=1,Type=Integer,Description="Average per-sample depth of bases with Phred score >= 15">
+##INFO=<ID=WT,Number=1,Type=Integer,Description="Number of samples called reference (wild-type)">
+##INFO=<ID=HET,Number=1,Type=Integer,Description="Number of samples called heterozygous-variant">
+##INFO=<ID=HOM,Number=1,Type=Integer,Description="Number of samples called homozygous-variant">
+##INFO=<ID=NC,Number=1,Type=Integer,Description="Number of samples not called">
+##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
+##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality">
+##FORMAT=<ID=SDP,Number=1,Type=Integer,Description="Raw Read Depth as reported by SAMtools">
+##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Quality Read Depth of bases with Phred score >= 15">
+##FORMAT=<ID=RD,Number=1,Type=Integer,Description="Depth of reference-supporting bases (reads1)">
+##FORMAT=<ID=AD,Number=1,Type=Integer,Description="Depth of variant-supporting bases (reads2)">
+##FORMAT=<ID=FREQ,Number=1,Type=String,Description="Variant allele frequency">
+##FORMAT=<ID=PVAL,Number=1,Type=String,Description="P-value from Fisher's Exact Test">
+##FORMAT=<ID=RBQ,Number=1,Type=Integer,Description="Average quality of reference-supporting bases (qual1)">
+##FORMAT=<ID=ABQ,Number=1,Type=Integer,Description="Average quality of variant-supporting bases (qual2)">
+##FORMAT=<ID=RDF,Number=1,Type=Integer,Description="Depth of reference-supporting bases on forward strand (reads1plus)">
+##FORMAT=<ID=RDR,Number=1,Type=Integer,Description="Depth of reference-supporting bases on reverse strand (reads1minus)">
+##FORMAT=<ID=ADF,Number=1,Type=Integer,Description="Depth of variant-supporting bases on forward strand (reads2plus)">
+##FORMAT=<ID=ADR,Number=1,Type=Integer,Description="Depth of variant-supporting bases on reverse strand (reads2minus)">
+##FILTER=<ID=str10,Description="Less than 10% or more than 90% of variant supporting reads on one strand">
+##FILTER=<ID=indelError,Description="Likely artifact due to indel reads at this position">
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT Sample1
+gi|9626243|ref|NC_001416.1| 550 . G A . PASS ADP=23;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:129:26:23:0:23:100%:1.2146E-13:0:27:0:0:14:9
+gi|9626243|ref|NC_001416.1| 586 . C G . PASS ADP=25;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:129:27:25:0:23:100%:1.2146E-13:0:27:0:0:16:7
+gi|9626243|ref|NC_001416.1| 3063 . G A . PASS ADP=20;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:105:22:20:0:19:100%:2.8292E-11:0:28:0:0:9:10
+gi|9626243|ref|NC_001416.1| 5818 . G T . PASS ADP=22;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:117:23:22:0:21:95.45%:1.8578E-12:0:25:0:0:10:11
+gi|9626243|ref|NC_001416.1| 6296 . T A . PASS ADP=24;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:129:26:24:0:23:100%:1.2146E-13:0:28:0:0:12:11
+gi|9626243|ref|NC_001416.1| 8938 . T A . PASS ADP=29;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:164:29:29:0:29:100%:3.3259E-17:0:23:0:0:17:12
+gi|9626243|ref|NC_001416.1| 9234 . C T . PASS ADP=19;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:105:21:19:0:19:100%:2.8292E-11:0:26:0:0:9:10
+gi|9626243|ref|NC_001416.1| 10421 . G T . PASS ADP=17;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:93:18:17:0:17:100%:4.2852E-10:0:28:0:0:7:10
+gi|9626243|ref|NC_001416.1| 10568 . C T . PASS ADP=20;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:111:21:20:0:20:100%:7.2544E-12:0:28:0:0:10:10
+gi|9626243|ref|NC_001416.1| 11128 . T A . PASS ADP=24;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:135:25:24:0:24:100%:3.101E-14:0:28:0:0:10:14
+gi|9626243|ref|NC_001416.1| 12876 . G C . PASS ADP=18;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:99:19:18:0:18:100%:1.1019E-10:0:26:0:0:7:11
+gi|9626243|ref|NC_001416.1| 13647 . C T . PASS ADP=15;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:81:17:15:0:15:100%:6.4467E-9:0:26:0:0:9:6
+gi|9626243|ref|NC_001416.1| 18188 . T C . PASS ADP=25;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:141:31:25:0:25:100%:7.9107E-15:0:23:0:0:14:11
+gi|9626243|ref|NC_001416.1| 18210 . C G . PASS ADP=27;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:152:29:27:0:27:100%:5.1363E-16:0:24:0:0:14:13
+gi|9626243|ref|NC_001416.1| 22357 . G A . PASS ADP=21;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:117:21:21:0:21:100%:1.8578E-12:0:25:0:0:11:10
+gi|9626243|ref|NC_001416.1| 24043 . C A . PASS ADP=15;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:81:15:15:0:15:100%:6.4467E-9:0:27:0:0:7:8
+gi|9626243|ref|NC_001416.1| 29265 . T C . PASS ADP=24;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:129:28:24:0:23:100%:1.2146E-13:0:26:0:0:7:16
+gi|9626243|ref|NC_001416.1| 31363 . C G . PASS ADP=8;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:41:9:8:0:8:100%:7.77E-5:0:27:0:0:7:1
+gi|9626243|ref|NC_001416.1| 33612 . C A . PASS ADP=18;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:93:19:18:0:17:100%:4.2852E-10:0:25:0:0:7:10
+gi|9626243|ref|NC_001416.1| 36642 . T C . PASS ADP=15;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:81:17:15:0:15:100%:6.4467E-9:0:28:0:0:2:13
+gi|9626243|ref|NC_001416.1| 37387 . A T . PASS ADP=14;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:76:15:14:0:14:100%:2.4927E-8:0:27:0:0:7:7
+gi|9626243|ref|NC_001416.1| 40835 . T C . PASS ADP=21;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:117:25:21:0:21:100%:1.8578E-12:0:27:0:0:14:7
+gi|9626243|ref|NC_001416.1| 40984 . A G . PASS ADP=22;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:117:22:22:0:21:100%:1.8578E-12:0:24:0:0:12:9
+gi|9626243|ref|NC_001416.1| 41064 . T G . PASS ADP=19;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:99:22:19:0:18:94.74%:1.1019E-10:0:25:0:0:7:11
+gi|9626243|ref|NC_001416.1| 41954 . T C . PASS ADP=22;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:123:23:22:0:22:100%:4.7526E-13:0:27:0:0:10:12
+gi|9626243|ref|NC_001416.1| 44201 . G C . PASS ADP=22;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:117:25:22:0:21:100%:1.8578E-12:0:27:0:0:14:7
+gi|9626243|ref|NC_001416.1| 45409 . C G . PASS ADP=21;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:117:21:21:0:21:100%:1.8578E-12:0:26:0:0:8:13
+gi|9626243|ref|NC_001416.1| 46283 . C G . PASS ADP=20;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:111:22:20:0:20:100%:7.2544E-12:0:28:0:0:10:10
test-data/samples/sample4/var.flt_removed.vcf
diff -r 000000000000 -r eefdd97a6749 test-data/samples/sample4/var.flt_removed.vcf
test-data/samples/sample4/var.flt_removed.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samples/sample4/var.flt_removed.vcf Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,33 @@
+##fileformat=VCFv4.1
+##source=VarScan2
+##INFO=<ID=ADP,Number=1,Type=Integer,Description="Average per-sample depth of bases with Phred score >= 15">
+##INFO=<ID=WT,Number=1,Type=Integer,Description="Number of samples called reference (wild-type)">
+##INFO=<ID=HET,Number=1,Type=Integer,Description="Number of samples called heterozygous-variant">
+##INFO=<ID=HOM,Number=1,Type=Integer,Description="Number of samples called homozygous-variant">
+##INFO=<ID=NC,Number=1,Type=Integer,Description="Number of samples not called">
+##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
+##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality">
+##FORMAT=<ID=SDP,Number=1,Type=Integer,Description="Raw Read Depth as reported by SAMtools">
+##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Quality Read Depth of bases with Phred score >= 15">
+##FORMAT=<ID=RD,Number=1,Type=Integer,Description="Depth of reference-supporting bases (reads1)">
+##FORMAT=<ID=AD,Number=1,Type=Integer,Description="Depth of variant-supporting bases (reads2)">
+##FORMAT=<ID=FREQ,Number=1,Type=String,Description="Variant allele frequency">
+##FORMAT=<ID=PVAL,Number=1,Type=String,Description="P-value from Fisher's Exact Test">
+##FORMAT=<ID=RBQ,Number=1,Type=Integer,Description="Average quality of reference-supporting bases (qual1)">
+##FORMAT=<ID=ABQ,Number=1,Type=Integer,Description="Average quality of variant-supporting bases (qual2)">
+##FORMAT=<ID=RDF,Number=1,Type=Integer,Description="Depth of reference-supporting bases on forward strand (reads1plus)">
+##FORMAT=<ID=RDR,Number=1,Type=Integer,Description="Depth of reference-supporting bases on reverse strand (reads1minus)">
+##FORMAT=<ID=ADF,Number=1,Type=Integer,Description="Depth of variant-supporting bases on forward strand (reads2plus)">
+##FORMAT=<ID=ADR,Number=1,Type=Integer,Description="Depth of variant-supporting bases on reverse strand (reads2minus)">
+##FILTER=<ID=str10,Description="Less than 10% or more than 90% of variant supporting reads on one strand">
+##FILTER=<ID=indelError,Description="Likely artifact due to indel reads at this position">
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT Sample1
+gi|9626243|ref|NC_001416.1| 1019 . C T . PASS ADP=20;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:111:22:20:0:20:100%:7.2544E-12:0:25:0:0:7:13
+gi|9626243|ref|NC_001416.1| 1620 . G A . PASS ADP=17;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:93:19:17:0:17:100%:4.2852E-10:0:26:0:0:7:10
+gi|9626243|ref|NC_001416.1| 1650 . G C . PASS ADP=25;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:141:26:25:0:25:100%:7.9107E-15:0:26:0:0:10:15
+gi|9626243|ref|NC_001416.1| 1788 . A T . PASS ADP=16;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:87:16:16:0:16:100%:1.6637E-9:0:26:0:0:9:7
+gi|9626243|ref|NC_001416.1| 2452 . A T . PASS ADP=21;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:103:23:21:1:20:95.24%:4.0873E-11:33:27:1:0:13:7
+gi|9626243|ref|NC_001416.1| 26972 . A T . PASS ADP=21;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:103:22:21:1:20:95.24%:4.0873E-11:35:26:1:0:11:9
+gi|9626243|ref|NC_001416.1| 27539 . A C . PASS ADP=11;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:58:11:11:0:11:100%:1.4176E-6:0:30:0:0:5:6
+gi|9626243|ref|NC_001416.1| 27722 . C A . PASS ADP=25;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:141:26:25:0:25:100%:7.9107E-15:0:24:0:0:15:10
+gi|9626243|ref|NC_001416.1| 27825 . A G . PASS ADP=20;WT=0;HET=0;HOM=1;NC=0 GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR 1/1:111:22:20:0:20:100%:7.2544E-12:0:27:0:0:13:7
test-data/snp_distance_matrix.tsv
diff -r 000000000000 -r eefdd97a6749 test-data/snp_distance_matrix.tsv
test-data/snp_distance_matrix.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/snp_distance_matrix.tsv Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,5 @@
+ sample1 sample2 sample3 sample4
+sample1 0 90 84 83
+sample2 90 0 82 81
+sample3 84 82 0 75
+sample4 83 81 75 0
test-data/snp_distance_pairwise.tsv
diff -r 000000000000 -r eefdd97a6749 test-data/snp_distance_pairwise.tsv
test-data/snp_distance_pairwise.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/snp_distance_pairwise.tsv Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,17 @@
+Seq1 Seq2 Distance
+sample1 sample1 0
+sample1 sample2 90
+sample1 sample3 84
+sample1 sample4 83
+sample2 sample1 90
+sample2 sample2 0
+sample2 sample3 82
+sample2 sample4 81
+sample3 sample1 84
+sample3 sample2 82
+sample3 sample3 0
+sample3 sample4 75
+sample4 sample1 83
+sample4 sample2 81
+sample4 sample3 75
+sample4 sample4 0
test-data/snplist.txt
diff -r 000000000000 -r eefdd97a6749 test-data/snplist.txt
test-data/snplist.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/snplist.txt Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,165 @@
+gi|9626243|ref|NC_001416.1| 403 1 sample1
+gi|9626243|ref|NC_001416.1| 550 1 sample4
+gi|9626243|ref|NC_001416.1| 586 1 sample4
+gi|9626243|ref|NC_001416.1| 753 1 sample1
+gi|9626243|ref|NC_001416.1| 1019 1 sample4
+gi|9626243|ref|NC_001416.1| 1079 1 sample1
+gi|9626243|ref|NC_001416.1| 1540 1 sample1
+gi|9626243|ref|NC_001416.1| 1620 1 sample4
+gi|9626243|ref|NC_001416.1| 1650 1 sample4
+gi|9626243|ref|NC_001416.1| 1788 1 sample4
+gi|9626243|ref|NC_001416.1| 1804 1 sample1
+gi|9626243|ref|NC_001416.1| 2123 1 sample1
+gi|9626243|ref|NC_001416.1| 2439 1 sample3
+gi|9626243|ref|NC_001416.1| 2452 1 sample4
+gi|9626243|ref|NC_001416.1| 2599 1 sample2
+gi|9626243|ref|NC_001416.1| 3063 1 sample4
+gi|9626243|ref|NC_001416.1| 3351 1 sample1
+gi|9626243|ref|NC_001416.1| 3648 1 sample3
+gi|9626243|ref|NC_001416.1| 3656 1 sample1
+gi|9626243|ref|NC_001416.1| 3678 1 sample2
+gi|9626243|ref|NC_001416.1| 4977 1 sample1
+gi|9626243|ref|NC_001416.1| 5142 1 sample2
+gi|9626243|ref|NC_001416.1| 5336 1 sample2
+gi|9626243|ref|NC_001416.1| 5462 1 sample3
+gi|9626243|ref|NC_001416.1| 5482 1 sample1
+gi|9626243|ref|NC_001416.1| 5516 1 sample1
+gi|9626243|ref|NC_001416.1| 5800 1 sample1
+gi|9626243|ref|NC_001416.1| 5818 1 sample4
+gi|9626243|ref|NC_001416.1| 5994 1 sample2
+gi|9626243|ref|NC_001416.1| 6296 1 sample4
+gi|9626243|ref|NC_001416.1| 6535 1 sample2
+gi|9626243|ref|NC_001416.1| 6824 1 sample1
+gi|9626243|ref|NC_001416.1| 7424 1 sample2
+gi|9626243|ref|NC_001416.1| 7668 1 sample3
+gi|9626243|ref|NC_001416.1| 7897 1 sample1
+gi|9626243|ref|NC_001416.1| 8420 1 sample3
+gi|9626243|ref|NC_001416.1| 8938 1 sample4
+gi|9626243|ref|NC_001416.1| 9175 1 sample1
+gi|9626243|ref|NC_001416.1| 9234 1 sample4
+gi|9626243|ref|NC_001416.1| 9919 1 sample3
+gi|9626243|ref|NC_001416.1| 10127 1 sample2
+gi|9626243|ref|NC_001416.1| 10264 1 sample3
+gi|9626243|ref|NC_001416.1| 10421 1 sample4
+gi|9626243|ref|NC_001416.1| 10568 1 sample4
+gi|9626243|ref|NC_001416.1| 11066 1 sample3
+gi|9626243|ref|NC_001416.1| 11128 1 sample4
+gi|9626243|ref|NC_001416.1| 11782 1 sample2
+gi|9626243|ref|NC_001416.1| 12070 1 sample3
+gi|9626243|ref|NC_001416.1| 12717 1 sample1
+gi|9626243|ref|NC_001416.1| 12795 1 sample1
+gi|9626243|ref|NC_001416.1| 12876 1 sample4
+gi|9626243|ref|NC_001416.1| 12959 1 sample1
+gi|9626243|ref|NC_001416.1| 12970 1 sample3
+gi|9626243|ref|NC_001416.1| 13107 1 sample3
+gi|9626243|ref|NC_001416.1| 13264 1 sample2
+gi|9626243|ref|NC_001416.1| 13542 1 sample2
+gi|9626243|ref|NC_001416.1| 13647 1 sample4
+gi|9626243|ref|NC_001416.1| 13952 1 sample2
+gi|9626243|ref|NC_001416.1| 13971 1 sample3
+gi|9626243|ref|NC_001416.1| 15384 1 sample3
+gi|9626243|ref|NC_001416.1| 15715 1 sample2
+gi|9626243|ref|NC_001416.1| 15967 1 sample2
+gi|9626243|ref|NC_001416.1| 16070 1 sample3
+gi|9626243|ref|NC_001416.1| 16654 1 sample1
+gi|9626243|ref|NC_001416.1| 16715 1 sample1
+gi|9626243|ref|NC_001416.1| 17142 1 sample2
+gi|9626243|ref|NC_001416.1| 17311 1 sample2
+gi|9626243|ref|NC_001416.1| 17854 1 sample2
+gi|9626243|ref|NC_001416.1| 18151 1 sample3
+gi|9626243|ref|NC_001416.1| 18188 1 sample4
+gi|9626243|ref|NC_001416.1| 18210 1 sample4
+gi|9626243|ref|NC_001416.1| 18420 1 sample2
+gi|9626243|ref|NC_001416.1| 18598 1 sample1
+gi|9626243|ref|NC_001416.1| 18652 1 sample2
+gi|9626243|ref|NC_001416.1| 18989 1 sample3
+gi|9626243|ref|NC_001416.1| 19208 1 sample2
+gi|9626243|ref|NC_001416.1| 19448 1 sample3
+gi|9626243|ref|NC_001416.1| 19469 1 sample1
+gi|9626243|ref|NC_001416.1| 20079 1 sample3
+gi|9626243|ref|NC_001416.1| 20099 1 sample1
+gi|9626243|ref|NC_001416.1| 20289 1 sample3
+gi|9626243|ref|NC_001416.1| 20367 1 sample2
+gi|9626243|ref|NC_001416.1| 21110 1 sample1
+gi|9626243|ref|NC_001416.1| 21320 1 sample2
+gi|9626243|ref|NC_001416.1| 21653 1 sample3
+gi|9626243|ref|NC_001416.1| 22220 1 sample2
+gi|9626243|ref|NC_001416.1| 22357 1 sample4
+gi|9626243|ref|NC_001416.1| 22747 1 sample2
+gi|9626243|ref|NC_001416.1| 23362 1 sample1
+gi|9626243|ref|NC_001416.1| 23457 1 sample2
+gi|9626243|ref|NC_001416.1| 24043 1 sample4
+gi|9626243|ref|NC_001416.1| 24319 1 sample1
+gi|9626243|ref|NC_001416.1| 24766 1 sample1
+gi|9626243|ref|NC_001416.1| 24930 1 sample3
+gi|9626243|ref|NC_001416.1| 25005 1 sample2
+gi|9626243|ref|NC_001416.1| 25158 1 sample2
+gi|9626243|ref|NC_001416.1| 25645 1 sample2
+gi|9626243|ref|NC_001416.1| 26173 1 sample2
+gi|9626243|ref|NC_001416.1| 26728 1 sample3
+gi|9626243|ref|NC_001416.1| 26972 1 sample4
+gi|9626243|ref|NC_001416.1| 27412 1 sample3
+gi|9626243|ref|NC_001416.1| 27539 1 sample4
+gi|9626243|ref|NC_001416.1| 27661 1 sample2
+gi|9626243|ref|NC_001416.1| 27722 1 sample4
+gi|9626243|ref|NC_001416.1| 27790 1 sample1
+gi|9626243|ref|NC_001416.1| 27825 1 sample4
+gi|9626243|ref|NC_001416.1| 27834 1 sample3
+gi|9626243|ref|NC_001416.1| 28045 1 sample2
+gi|9626243|ref|NC_001416.1| 28362 1 sample2
+gi|9626243|ref|NC_001416.1| 29265 1 sample4
+gi|9626243|ref|NC_001416.1| 29411 1 sample2
+gi|9626243|ref|NC_001416.1| 29435 1 sample3
+gi|9626243|ref|NC_001416.1| 29891 1 sample1
+gi|9626243|ref|NC_001416.1| 30125 1 sample2
+gi|9626243|ref|NC_001416.1| 30757 1 sample3
+gi|9626243|ref|NC_001416.1| 30890 1 sample3
+gi|9626243|ref|NC_001416.1| 31328 1 sample3
+gi|9626243|ref|NC_001416.1| 31363 1 sample4
+gi|9626243|ref|NC_001416.1| 31551 1 sample1
+gi|9626243|ref|NC_001416.1| 32086 1 sample1
+gi|9626243|ref|NC_001416.1| 32660 1 sample3
+gi|9626243|ref|NC_001416.1| 33000 1 sample1
+gi|9626243|ref|NC_001416.1| 33591 1 sample1
+gi|9626243|ref|NC_001416.1| 33612 1 sample4
+gi|9626243|ref|NC_001416.1| 33865 1 sample3
+gi|9626243|ref|NC_001416.1| 34137 1 sample2
+gi|9626243|ref|NC_001416.1| 34370 1 sample1
+gi|9626243|ref|NC_001416.1| 34812 1 sample1
+gi|9626243|ref|NC_001416.1| 34920 1 sample1
+gi|9626243|ref|NC_001416.1| 35148 1 sample1
+gi|9626243|ref|NC_001416.1| 35802 1 sample3
+gi|9626243|ref|NC_001416.1| 35907 1 sample2
+gi|9626243|ref|NC_001416.1| 36010 1 sample1
+gi|9626243|ref|NC_001416.1| 36169 1 sample3
+gi|9626243|ref|NC_001416.1| 36642 1 sample4
+gi|9626243|ref|NC_001416.1| 37208 1 sample1
+gi|9626243|ref|NC_001416.1| 37387 1 sample4
+gi|9626243|ref|NC_001416.1| 37519 1 sample3
+gi|9626243|ref|NC_001416.1| 37898 1 sample3
+gi|9626243|ref|NC_001416.1| 38073 1 sample3
+gi|9626243|ref|NC_001416.1| 38165 1 sample1
+gi|9626243|ref|NC_001416.1| 38575 1 sample2
+gi|9626243|ref|NC_001416.1| 39003 1 sample3
+gi|9626243|ref|NC_001416.1| 39206 1 sample2
+gi|9626243|ref|NC_001416.1| 39484 1 sample2
+gi|9626243|ref|NC_001416.1| 39485 1 sample1
+gi|9626243|ref|NC_001416.1| 40457 1 sample1
+gi|9626243|ref|NC_001416.1| 40835 1 sample4
+gi|9626243|ref|NC_001416.1| 40984 1 sample4
+gi|9626243|ref|NC_001416.1| 41064 1 sample4
+gi|9626243|ref|NC_001416.1| 41448 1 sample3
+gi|9626243|ref|NC_001416.1| 41954 1 sample4
+gi|9626243|ref|NC_001416.1| 42439 1 sample1
+gi|9626243|ref|NC_001416.1| 43306 1 sample1
+gi|9626243|ref|NC_001416.1| 43470 1 sample2
+gi|9626243|ref|NC_001416.1| 44134 1 sample2
+gi|9626243|ref|NC_001416.1| 44201 1 sample4
+gi|9626243|ref|NC_001416.1| 44413 1 sample2
+gi|9626243|ref|NC_001416.1| 45364 1 sample2
+gi|9626243|ref|NC_001416.1| 45409 1 sample4
+gi|9626243|ref|NC_001416.1| 46237 1 sample1
+gi|9626243|ref|NC_001416.1| 46283 1 sample4
+gi|9626243|ref|NC_001416.1| 46842 1 sample3
+gi|9626243|ref|NC_001416.1| 47425 1 sample2
+gi|9626243|ref|NC_001416.1| 47893 1 sample1
test-data/snpma.fasta
diff -r 000000000000 -r eefdd97a6749 test-data/snpma.fasta
test-data/snpma.fasta
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/snpma.fasta Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,16 @@
+>sample1
+AGCACCGGGACCCACGGCGCACGCAAAGATCCGAATTGCAGGGCGTACCTGGACCCCGGT
+GACGGGGGATCGGGGACTCTTGGTGAGGAACTAAAACGAACATCCACGTTTTCATGGCGA
+CTGCTTGCCAGGTGTCAGCACATTCCCTATATCGGTGGACACGTA
+>sample2
+GGCGCTAGGAGGCAAGCCTTGGTCGTGGTTAATAGTTACAAGGCGTGCGCGTACTGCCGT
+CTCCTACTATCTCTGCCGCCTCTCGCGATCCGGACCGCAACACCAACTCTCTGGTGGCAT
+CCTCTGAATCGTCGTGAGCATCTCAATTATATATTCGTCCGCGCG
+>sample3
+GGCGCTAGGAGGTACGCTTCGCGTGTGGATCAGCGCTACGGTGCCTATGCGTGACCCGCG
+GAACTGGGTTCGCGTAAGGCAGTTCAGGTACGGCAACGTAGATCAAAGTTTAGAAACCAT
+ACTCGTAATCCGCCTGACGCTACTCATTATGTATGTGGACGCCTG
+>sample4
+GAGGTTAACTGGCTCACCTCGCGCGTGTAACAGAGTAATAGGTTGAACGCCTACCCTGGT
+GACCTGGGACGGCGGACGCCTGTTGAAGTAAGGAAACGATCCTAAGCGTCTTGATGGGAT
+CCTATTAATCGGCGCGTGCATATTCATCGGACATGTCGAGGGGTG
test-data/snpma.vcf
diff -r 000000000000 -r eefdd97a6749 test-data/snpma.vcf
test-data/snpma.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/snpma.vcf Wed Jan 24 14:18:21 2018 -0500
@@ -0,0 +1,189 @@
+##fileformat=VCFv4.1
+##FILTER=<ID=PASS,Description="All filters passed">
+##fileDate=20180103
+##source=CFSAN SNP-Pipeline 1.0.1
+##reference=lambda_virus.fasta
+##INFO=<ID=NS,Number=1,Type=Integer,Description="Number of samples with data">
+##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
+##FORMAT=<ID=SDP,Number=1,Type=Integer,Description="Raw read depth">
+##FORMAT=<ID=RD,Number=1,Type=Integer,Description="Depth of reference-supporting bases (reads1)">
+##FORMAT=<ID=AD,Number=1,Type=Integer,Description="Depth of variant-supporting bases (reads2)">
+##FORMAT=<ID=RDF,Number=1,Type=Integer,Description="Depth of reference-supporting bases on forward strand (reads1plus)">
+##FORMAT=<ID=RDR,Number=1,Type=Integer,Description="Depth of reference-supporting bases on reverse strand (reads1minus)">
+##FORMAT=<ID=ADF,Number=1,Type=Integer,Description="Depth of variant-supporting bases on forward strand (reads2plus)">
+##FORMAT=<ID=ADR,Number=1,Type=Integer,Description="Depth of variant-supporting bases on reverse strand (reads2minus)">
+##FORMAT=<ID=FT,Number=1,Type=String,Description="Genotype filters using the same codes as the FILTER data element">
+##FILTER=<ID=RawDpth,Description="No read depth">
+##FILTER=<ID=VarFreq60,Description="Variant base frequency below 0.60">
+##FILTER=<ID=StrDpth0,Description="Less than 0 variant-supporing reads on at least one strand">
+##FILTER=<ID=StrBias0,Description="Fraction of variant supporting reads below 0.00 on one strand">
+##FILTER=<ID=Region,Description="Position is in dense region of snps or near the end of the contig.">
+##contig=<ID=gi|9626243|ref|NC_001416.1|>
+##bcftools_mergeVersion=1.3.1+htslib-1.3.1
+##bcftools_mergeCommand=merge -o ./snpma.vcf --merge all --info-rules NS:sum ./tmp.vcf.PYaZFQ/sample1.vcf.gz ./tmp.vcf.PYaZFQ/sample2.vcf.gz ./tmp.vcf.PYaZFQ/sample3.vcf.gz ./tmp.vcf.PYaZFQ/sample4.vcf.gz
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT sample1 sample2 sample3 sample4
+gi|9626243|ref|NC_001416.1| 403 . G A . PASS NS=4 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:27:0:27:0:0:13:14:PASS 0:24:24:0:11:13:0:0:PASS 0:26:26:0:13:13:0:0:PASS 0:15:15:0:11:4:0:0:PASS
+gi|9626243|ref|NC_001416.1| 550 . G A . PASS NS=4 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:22:21:1:13:8:0:1:PASS 0:26:26:0:14:12:0:0:PASS 0:29:29:0:13:16:0:0:PASS 1:26:0:26:0:0:14:12:PASS
+gi|9626243|ref|NC_001416.1| 586 . C G . PASS NS=4 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:18:18:0:12:6:0:0:PASS 0:23:23:0:12:11:0:0:PASS 0:37:37:0:15:22:0:0:PASS 1:27:0:25:0:0:17:8:PASS
+gi|9626243|ref|NC_001416.1| 753 . G A . PASS NS=4 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:25:0:24:0:0:16:8:PASS 0:27:27:0:10:17:0:0:PASS 0:26:24:2:13:11:0:2:PASS 0:23:23:0:12:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 1019 . C T . PASS NS=4 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:25:25:0:10:15:0:0:PASS 0:18:18:0:7:11:0:0:PASS 0:25:25:0:10:15:0:0:PASS 1:22:0:22:0:0:8:14:PASS
+gi|9626243|ref|NC_001416.1| 1079 . T C . PASS NS=4 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:26:0:25:0:0:9:16:PASS 0:20:20:0:10:10:0:0:PASS 0:31:30:1:16:14:1:0:PASS 0:27:27:0:11:16:0:0:PASS
+gi|9626243|ref|NC_001416.1| 1540 . A G . PASS NS=4 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:24:0:24:0:0:13:11:PASS 0:22:22:0:3:19:0:0:PASS 0:21:21:0:10:11:0:0:PASS 0:28:28:0:14:14:0:0:PASS
+gi|9626243|ref|NC_001416.1| 1620 . G A . PASS NS=4 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:31:31:0:14:17:0:0:PASS 0:11:10:1:0:10:0:1:PASS 0:23:23:0:10:13:0:0:PASS 1:19:0:19:0:0:7:12:PASS
+gi|9626243|ref|NC_001416.1| 1650 . G C . PASS NS=4 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:31:31:0:14:17:0:0:PASS 0:9:9:0:0:9:0:0:PASS 0:21:21:0:11:10:0:0:PASS 1:26:0:26:0:0:10:16:PASS
+gi|9626243|ref|NC_001416.1| 1788 . A T . PASS NS=4 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:24:24:0:10:14:0:0:PASS 0:8:8:0:8:0:0:0:PASS 0:13:13:0:3:10:0:0:PASS 1:16:0:16:0:0:9:7:PASS
+gi|9626243|ref|NC_001416.1| 1804 . G C . PASS NS=4 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:23:0:23:... T C . PASS NS=4 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:22:22:0:12:10:0:0:PASS 1:20:0:19:0:0:7:12:PASS 0:20:20:0:8:12:0:0:PASS 0:25:25:0:11:14:0:0:PASS
+gi|9626243|ref|NC_001416.1| 39484 . C A . PASS NS=4 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:23:23:0:13:10:0:0:PASS 1:20:0:20:0:0:12:8:PASS 0:20:20:0:7:13:0:0:PASS 0:21:21:0:10:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 39485 . A C . PASS NS=4 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:20:0:20:0:0:10:10:PASS 0:21:21:0:14:7:0:0:PASS 0:16:16:0:4:12:0:0:PASS 0:19:19:0:7:12:0:0:PASS
+gi|9626243|ref|NC_001416.1| 40457 . T C . PASS NS=4 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:28:1:27:1:0:11:16:PASS 0:32:31:1:15:16:1:0:PASS 0:25:24:1:7:17:1:0:PASS 0:30:30:0:15:15:0:0:PASS
+gi|9626243|ref|NC_001416.1| 40835 . T C . PASS NS=4 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:18:18:0:11:7:0:0:PASS 0:33:33:0:17:16:0:0:PASS 0:28:28:0:17:11:0:0:PASS 1:25:0:25:0:0:16:9:PASS
+gi|9626243|ref|NC_001416.1| 40984 . A G . PASS NS=4 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:22:22:0:12:10:0:0:PASS 0:19:19:0:7:12:0:0:PASS 0:37:36:1:20:16:0:1:PASS 1:22:0:21:0:0:12:9:PASS
+gi|9626243|ref|NC_001416.1| 41064 . T G . PASS NS=4 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:26:26:0:14:12:0:0:PASS 0:31:31:0:17:14:0:0:PASS 0:30:30:0:15:15:0:0:PASS 1:22:0:21:0:0:10:11:PASS
+gi|9626243|ref|NC_001416.1| 41448 . A G . PASS NS=4 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:34:34:0:14:20:0:0:PASS 0:26:26:0:12:14:0:0:PASS 1:21:0:21:0:0:8:13:PASS 0:19:18:1:9:9:1:0:PASS
+gi|9626243|ref|NC_001416.1| 41954 . T C . PASS NS=4 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:23:23:0:13:10:0:0:PASS 0:32:32:0:16:16:0:0:PASS 0:20:19:1:6:13:1:0:PASS 1:23:0:23:0:0:11:12:PASS
+gi|9626243|ref|NC_001416.1| 42439 . A C . PASS NS=4 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:28:0:28:0:0:20:8:PASS 0:23:23:0:13:10:0:0:PASS 0:20:20:0:11:9:0:0:PASS 0:25:25:0:11:14:0:0:PASS
+gi|9626243|ref|NC_001416.1| 43306 . T G . PASS NS=4 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:33:0:32:0:0:12:20:PASS 0:29:29:0:13:16:0:0:PASS 0:23:23:0:6:17:0:0:PASS 0:28:28:0:10:18:0:0:PASS
+gi|9626243|ref|NC_001416.1| 43470 . G T . PASS NS=4 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:24:23:1:12:11:0:1:PASS 1:25:0:25:0:0:14:11:PASS 0:25:25:0:14:11:0:0:PASS 0:27:26:1:17:9:0:1:PASS
+gi|9626243|ref|NC_001416.1| 44134 . T C . PASS NS=4 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:28:28:0:14:14:0:0:PASS 1:22:0:21:0:0:12:9:PASS 0:20:20:0:10:10:0:0:PASS 0:27:26:1:13:13:0:1:PASS
+gi|9626243|ref|NC_001416.1| 44201 . G C . PASS NS=4 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:28:28:0:12:16:0:0:PASS 0:30:30:0:13:17:0:0:PASS 0:25:25:0:16:9:0:0:PASS 1:25:0:24:0:0:15:9:PASS
+gi|9626243|ref|NC_001416.1| 44413 . G T . PASS NS=4 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:29:29:0:15:14:0:0:PASS 1:32:0:32:0:0:13:19:PASS 0:23:23:0:9:14:0:0:PASS 0:15:15:0:1:14:0:0:PASS
+gi|9626243|ref|NC_001416.1| 45364 . A C . PASS NS=4 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:31:31:0:18:13:0:0:PASS 1:27:0:25:0:0:16:9:PASS 0:29:28:1:13:15:1:0:PASS 0:27:26:1:11:15:1:0:PASS
+gi|9626243|ref|NC_001416.1| 45409 . C G . PASS NS=4 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:30:30:0:19:11:0:0:PASS 0:26:26:0:13:13:0:0:PASS 0:27:27:0:16:11:0:0:PASS 1:21:0:21:0:0:8:13:PASS
+gi|9626243|ref|NC_001416.1| 46237 . G A . PASS NS=4 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:27:0:27:0:0:12:15:PASS 0:19:19:0:3:16:0:0:PASS 0:17:16:1:8:8:0:1:PASS 0:28:26:2:10:16:0:2:PASS
+gi|9626243|ref|NC_001416.1| 46283 . C G . PASS NS=4 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:24:24:0:11:13:0:0:PASS 0:12:12:0:1:11:0:0:PASS 0:25:25:0:11:14:0:0:PASS 1:22:0:22:0:0:11:11:PASS
+gi|9626243|ref|NC_001416.1| 46842 . G C . PASS NS=4 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:18:17:1:4:13:0:1:PASS 0:29:28:1:12:16:1:0:PASS 1:28:0:27:0:0:17:10:PASS 0:25:25:0:10:15:0:0:PASS
+gi|9626243|ref|NC_001416.1| 47425 . T C . PASS NS=4 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 0:23:23:0:12:11:0:0:PASS 1:19:0:18:0:0:11:7:PASS 0:12:11:1:11:0:1:0:PASS 0:23:23:0:12:11:0:0:PASS
+gi|9626243|ref|NC_001416.1| 47893 . G A . PASS NS=4 GT:SDP:RD:AD:RDF:RDR:ADF:ADR:FT 1:28:0:28:0:0:12:16:PASS 0:11:11:0:5:6:0:0:PASS 0:27:27:0:12:15:0:0:PASS 0:22:22:0:11:11:0:0:PASS