changeset 0:6f9ffff040ce draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/lofreq commit 9efcb813ab17041c7f5aad834dfff45bd7046c60"
author iuc
date Tue, 17 Dec 2019 17:26:32 -0500
parents
children fdba1586551d
files lofreq_filter.xml macros.xml test-data/alnqual-out1.bam test-data/alnqual-out2.bam test-data/alnqual-out3.bam test-data/alnqual-out4.bam test-data/alnqual-out5.bam test-data/call-out1.vcf test-data/call-out2.vcf test-data/indelqual-out1.bam test-data/indelqual-out2.bam test-data/indelqual-out3.bam test-data/lofreq-in1.bam test-data/pBR322.fa test-data/viterbi-out1.bam test-data/viterbi-out2.bam tool-data/fasta_indexes.loc.sample tool_data_table_conf.xml.sample
diffstat 18 files changed, 544 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lofreq_filter.xml	Tue Dec 17 17:26:32 2019 -0500
@@ -0,0 +1,300 @@
+<tool id="lofreq_filter" name="Lofreq filter" version="@TOOL_VERSION@">
+    <description>called variants posteriorly</description>
+    <macros>
+        <import>macros.xml</import>
+        <xml name="snvqual_filter_config">
+            <conditional name="snvqual_filter">
+                <param name="snvqual" type="select"
+                label="Filter SNVs based on call quality?">
+                    <option value="no">No, don't apply call quality filter</option>
+                    <option value="min-phred">Yes, filter on explicit QUAL threshold</option>
+                    <option value="mtc">Yes, filter on multiple testing corrected p-value</option>
+                </param>
+                <when value="no">
+                </when>
+                <when value="min-phred">
+                    <param argument="-Q" name="snvqual_thresh" type="integer" min="0" value="0"
+                    label="Minimum QUAL value"
+                    help="Specify the minimum value of the QUAL field required to retain a variant" />
+                </when>
+                <when value="mtc">
+                    <param argument="-r" name="snvqual_alpha" type="float" min="0" max="1" value="1"
+                    label="Multiple-testing corrected p-value threshold" />
+                    <param argument="-q" name="snvqual_mtc" type="select"
+                    label="Multiple testing correction method">
+                        <option value="bonf">Bonferroni</option>
+                        <option value="holm">Holm-Sidak</option>
+                        <option value="fdr">False-discovery rate</option>
+                    </param>
+                    <param argument="-s" name="snvqual_ntests" type="integer" min="1" value="1"
+                    label="Estimate of number of tests performed"
+                    help="Ideally, this would be the number of SNVs considered during variant calling. The lofreq variant caller emits this number as part of its output. For other variant callers, all you will typically have is a lower bound estimate given by the number of SNV records in your VCF input." />
+                </when>
+            </conditional>
+        </xml>
+        <xml name="indelqual_filter_config">
+            <conditional name="indelqual_filter">
+                <param name="indelqual" type="select"
+                label="Filter indels based on call quality?">
+                    <option value="no">No, don't apply call quality filter</option>
+                    <option value="min-phred">Yes, filter on explicit QUAL threshold</option>
+                    <option value="mtc">Yes, filter on multiple testing corrected p-value</option>
+                </param>
+                <when value="no">
+                </when>
+                <when value="min-phred">
+                    <param argument="-K" name="indelqual_thresh" type="integer" min="0" value="0"
+                    label="Minimum QUAL value"
+                    help="Specify the minimum value of the QUAL field required to retain a variant" />
+                </when>
+                <when value="mtc">
+                    <param argument="-l" name="indelqual_alpha" type="float" min="0" max="1" value="1"
+                    label="Multiple-testing corrected p-value threshold" />
+                    <param argument="-k" name="indelqual_mtc" type="select"
+                    label="Multiple testing correction method">
+                        <option value="bonf">Bonferroni</option>
+                        <option value="holm">Holm-Sidak</option>
+                        <option value="fdr">False-discovery rate</option>
+                    </param>
+                    <param argument="-m" name="indelqual_ntests" type="integer" min="1" value="1"
+                    label="Estimate of number of tests performed"
+                    help="Ideally, this would be the number of indels considered during variant calling. The lofreq variant caller emits this number as part of its output. For other variant callers, all you will typically have is a lower bound estimate given by the number of indel records in your VCF input." />
+                </when>
+            </conditional>
+        </xml>
+    </macros>
+    <expand macro="requirements" />
+    <command detect_errors="exit_code"><![CDATA[
+        ## filter variants with lofreq 
+        lofreq filter -i $invcf --no-defaults --verbose
+        $flag_or_drop
+        ${filter_by_type.keep_only}
+        #if str($filter_by_type.keep_only) in ['', '--only-snvs']:
+            #if str($filter_by_type.qual.snvqual_filter.snvqual) == 'min-phred':
+                -Q ${filter_by_type.qual.snvqual_filter.snvqual_thresh}
+            #elif str($filter_by_type.qual.snvqual_filter.snvqual) == 'mtc':
+                -q ${filter_by_type.qual.snvqual_filter.snvqual_mtc}
+                -r ${filter_by_type.qual.snvqual_filter.snvqual_alpha}
+                -s ${filter_by_type.qual.snvqual_filter.snvqual_ntests}
+            #end if
+        #end if
+        #if str($filter_by_type.keep_only) in ['', '--only-indels']:
+            #if str($filter_by_type.qual.indelqual_filter.indelqual) == 'min-phred':
+                -K ${filter_by_type.qual.indelqual_filter.indelqual_thresh}
+            #elif str($filter_by_type.qual.indelqual_filter.indelqual) == 'mtc':
+                -k ${filter_by_type.qual.indelqual_filter.indelqual_mtc}
+                -l ${filter_by_type.qual.indelqual_filter.indelqual_alpha}
+                -m ${filter_by_type.qual.indelqual_filter.indelqual_ntests}
+            #end if
+        #end if
+        -v ${coverage.cov_min}
+        -V ${coverage.cov_max}
+        -a ${af.af_min}
+        -A ${af.af_max}
+        #if str($sb.sb_filter.strand_bias) == 'max-phred':
+            -B ${sb.sb_filter.sb_thresh}
+        #elif str($sb.sb_filter.strand_bias) == 'mtc':
+            -b ${sb.sb_filter.sb_mtc}
+            -c ${sb.sb_filter.sb_alpha}
+        #end if
+        #if str($sb.sb_filter.strand_bias) != 'no':
+            ${sb.sb_filter.sb_compound}
+            ${sb.sb_filter.sb_indels}
+        #end if
+        -o filtered.vcf
+    ]]></command>
+    <inputs>
+        <param argument="-i" name="invcf" type="data" format="vcf,vcf_bgzip"
+        label="List of variants to filter" />
+        <conditional name="filter_by_type">
+            <param name="keep_only" type="select"
+            label="Types of variants to keep">
+                <option value="">SNVs and Indels</option>
+                <option value="--only-snvs">SNVs only</option>
+                <option value="--only-indels">Indels only</option>
+            </param>
+            <when value="">
+                <section name="qual" title="Quality-based filter options" expanded="True">
+                    <expand macro="snvqual_filter_config" />
+                    <expand macro="indelqual_filter_config" />
+                </section>
+            </when>
+            <when value="--only-snvs">
+                <section name="qual" title="Quality-based filter options" expanded="True">
+                    <expand macro="snvqual_filter_config" />
+                </section>
+            </when>
+            <when value="--only-indels">
+                <section name="qual" title="Quality-based filter options" expanded="True">
+                    <expand macro="indelqual_filter_config" />
+                </section>
+            </when>
+        </conditional>
+        <section name="coverage" title="Coverage-based filter options" expanded="True"
+        help="You can specify a range of acceptable coverage values at variant sites by setting minimum and maximum coverage. Set either value to zero to make the range unbounded on the corresponding side, or disable filtering based on coverage by setting both values to zero.">
+            <param argument="-v" name="cov_min" type="integer" min="0" value="10"
+            label="Minimum coverage"
+            help="The minimum coverage at a site required to keep variants" />
+            <param argument="-V" name="cov_max" type="integer" min="0" value="0"
+            label="Maximum coverage"
+            help="The maximum coverage at a site allowed to keep variants" />
+        </section>
+        <section name="af" title="Allele frequency filter options" expanded="True"
+        help="You can specify a range of acceptable allele frequencies at variant sites by setting minimum and maximum AF values. Set either value to zero to make the range unbounded on the corresponding side, or disable filtering based on allele frequency by setting both values to zero.">
+            <param argument="-a" name="af_min" type="float" min="0" value="0"
+            label="Minimum allele frequency"
+            help="To keep a variant its allele needs to be observed at this frequency at least." />
+            <param argument="-A" name="af_max" type="float" min="0" value="0"
+            label="Maximum allele frequency"
+            help="To keep a variant its allele is allowed to be observed at this frequency at most." />
+        </section>
+        <section name="sb" title="Strand bias filter options" expanded="True">
+            <conditional name="sb_filter">
+                <param name="strand_bias" type="select"
+                label="Filter variants based on supporting strand bias?">
+                    <option value="no">No, don't apply strand-bias filter</option>
+                    <option value="max-phred">Yes, filter on explicit SB threshold</option>
+                    <option value="mtc" selected="True">Yes, filter on multiple testing corrected strand-bias p-value (lofreq default)</option>
+                </param>
+                <when value="no">
+                </when>
+                <when value="max-phred">
+                    <param argument="-B" name="sb_thresh" type="integer" min="0" value="0"
+                    label="" />
+                </when>
+                <when value="mtc">
+                    <param argument="-c" name="sb_alpha" type="float" min="0" max="1" value="0.001"
+                    label="Multiple-testing corrected p-value threshold" />
+                    <param argument="-b" name="sb_mtc" type="select"
+                    label="Multiple testing correction method">
+                        <option value="bonf">Bonferroni</option>
+                        <option value="holm">Holm-Sidak</option>
+                        <option value="fdr" selected="True">False-discovery rate</option>
+                    </param>
+                    <param name="sb_compound" type="boolean" checked="True" truevalue="" falsevalue="--sb-no-compound"
+                    label="Use compound strand-bias filter?"
+                    help="With compound filtering a variant is filtered only if it fails the strand-bias filter configured above AND has 85% of its supporting reads mapped to one reference genome strand. This guards against filtering based on statistically significant, but minor strand bias effects at high-coverage sites." />
+                    <param argument="--sb-incl-indels" name="sb_indels" type="boolean" checked="False" truevalue="--sb-incl-indels" falsevalue=""
+                    label="Apply to indels?"
+                    help="By default, indels are not filtered based on strand bias." />
+                </when>
+            </conditional>
+        </section>
+        <param argument="--print-all" name="flag_or_drop" type="select" display="radio"
+        label="Action to be taken for variants that do not pass the filters defined above">
+            <option value="">Drop variants not passing one or more filters</option>
+            <option value="--print-all">Keep variants, but indicate failed filters in output FILTER column</option>
+        </param>
+    </inputs>
+    <outputs>
+        <data name="outvcf" format="vcf" from_work_dir="filtered.vcf"/>
+    </outputs>
+    <tests>
+        <test>
+            <!-- Mimick lofreq call default filtering -->
+            <param name="invcf" ftype="vcf" value="call-out2.vcf" />
+            <conditional name="filter_by_type">
+                <section name="qual">
+                    <conditional name="snvqual_filter">
+                        <param name="snvqual" value="min-phred" />
+                        <param name="snvqual_thresh" value="38" />
+                    </conditional>
+                    <conditional name="indelqual_filter">
+                        <param name="indelqual" value="min-phred" />
+                        <param name="indelqual_thresh" value="20" />
+                    </conditional>
+                </section>
+            </conditional>
+            <!-- lofreq call writes duplicate ##FILTER declarations, while
+            lofreq filter behaves correctly. => two additional diff lines -->
+            <output name="outvcf" file="call-out1.vcf" lines_diff="6" />
+        </test>
+        <test>
+            <!-- Express lofreq call default filtering as a
+            multiple testing correction filter -->
+            <param name="invcf" ftype="vcf" value="call-out2.vcf" />
+            <conditional name="filter_by_type">
+                <param name="keep_only" value="--only-snvs" />
+                <section name="qual">
+                    <conditional name="snvqual_filter">
+                        <param name="snvqual" value="mtc" />
+                        <param name="snvqual_alpha" value="0.01" />
+                        <param name="snvqual_mtc" value="bonf" />
+                        <param name="snvqual_ntests" value="66" />
+                    </conditional>
+                </section>
+            </conditional>
+            <!-- expect additional diff lines because of different
+            ##FILTER declarations -->
+            <output name="outvcf" file="call-out1.vcf" lines_diff="9" />
+        </test>
+        <test>
+            <!-- Test print-all option -->
+            <param name="invcf" ftype="vcf" value="call-out2.vcf" />
+            <conditional name="filter_by_type">
+                <section name="qual">
+                    <conditional name="snvqual_filter">
+                        <param name="snvqual" value="min-phred" />
+                        <param name="snvqual_thresh" value="38" />
+                    </conditional>
+                    <conditional name="indelqual_filter">
+                        <param name="indelqual" value="min-phred" />
+                        <param name="indelqual_thresh" value="20" />
+                    </conditional>
+                </section>
+            </conditional>
+            <param name="flag_or_drop" value="--print-all" />
+            <!-- All variants should be retained with print-all,
+            but variants failing filters should be flagged with the names
+            of those filters -->
+            <output name="outvcf">
+                <assert_contents>
+                    <has_line_matching expression="pBR322&#009;1134&#009;.&#009;C&#009;T&#009;49314&#009;PASS&#009;.+" />
+                    <has_line_matching expression="pBR322&#009;1193&#009;.&#009;G&#009;A&#009;0&#009;min_snvqual_38&#009;.+" />
+                </assert_contents>
+            </output>
+        </test>
+    </tests>
+    <help><![CDATA[
+**What it does**
+
+**Lofreq filter** tries to eliminate false-positive calls from a list of
+variants in VCF format.
+
+To this end, it applies a variety of user-configurable filters to the input
+variants, which all operate on variant attributes expected to be embedded in
+the VCF input.
+
+Specifically, certain filters expect:
+
+- the `QUAL` field of the variant records to be set
+- any of the following subfields of a variant's `INFO` field:
+
+  * `DP` (required for coverage-based filtering)
+  * `AF` (required for filtering based on variant allele frequency)
+  * `SB` (required for filtering on strand bias)
+  * `DP4` (required for the compound strand bias filter)
+
+------
+
+**Note**:
+
+.. class:: Warning mark
+
+   This tool is optimized for posterior filtering of variants called with
+   `Lofreq call`, which outputs all variant attributes required by the various
+   configurable filters.
+
+If you are using `Lofreq filter` to filter VCF variant lists produced with
+other tools, be prepared for surprises.
+
+In general, if any piece of variant information required for applying a
+given filter is missing from the input data, the tool will try to disable
+that filter. Watch out for corresponding warnings in the tool's standard
+output.
+
+In addition, any p-value based filtering on variant qualities may behave
+incorrectly since different variant callers might use different QUAL scales.
+    ]]></help>
+    <expand macro="citations" />
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/macros.xml	Tue Dec 17 17:26:32 2019 -0500
@@ -0,0 +1,88 @@
+<macros>
+    <token name="@WRAPPER_VERSION@">@TOOL_VERSION@+galaxy</token>
+    <token name="@TOOL_VERSION@">2.1.3.1</token>
+    <xml name="requirements">
+        <requirements>
+            <requirement type="package" version="@TOOL_VERSION@">lofreq</requirement>
+            <yield/>
+        </requirements>
+    </xml>
+    <xml name="citations">
+        <citations>
+            <citation type="doi">10.1093/nar/gks918</citation>
+            <yield />
+        </citations>
+    </xml>
+    <token name="@PREPARE_REF@"><![CDATA[
+        #if str($reference_source.ref_selector) == 'history':
+            #set $reference_fasta_fn = 'reference.fa'
+            ln -s '$reference_source.ref' $reference_fasta_fn &&
+            lofreq faidx $reference_fasta_fn 2>&1 || echo "Error running samtools faidx for indexing fasta reference for lofreq" >&2 &&
+        #else
+            #set $reference_fasta_fn = str($reference_source.ref.fields.path)
+        #end if
+    ]]></token>
+    <xml name="reference_interface">
+        <conditional name="reference_source">
+            <param name="ref_selector" type="select"
+            label="Choose the source for the reference genome">
+                <option value="cached">Locally cached</option>
+                <option value="history">History</option>
+            </param>
+            <when value="cached">
+                <param argument="--ref" type="select"
+                label="Reference genome">
+                    <options from_data_table="fasta_indexes">
+                        <filter type="data_meta" column="dbkey" key="dbkey" ref="reads" />
+                        <validator type="no_options" message="A built-in reference genome is not available for the build associated with the selected input file" />
+                    </options>
+                </param>
+            </when>
+            <when value="history">
+                <param argument="--ref" type="data" format="fasta" label="Reference" help="Reference sequence" />
+            </when>
+        </conditional>
+    </xml>
+    <xml name="handle_existing_alnqual">
+        <conditional name="alnqual_choice">
+            <param name="alnquals_to_use" type="select"
+            label="Use the following alignment quality scores">
+                <option value="">Base and indel alignment qualities (BAQ and IDAQ)</option>
+                <option value="-A">Only base alignment qualities (BAQ)</option>
+                <option value="-B">Only indel alignment qualities (IDAQ)</option>
+            </param>
+            <when value="-B">
+                <param name="extended_baq" type="hidden" value="" />
+            </when>
+            <when value="">
+                <param argument="-e" name="extended_baq" type="boolean" checked="true" truevalue="" falsevalue="-e"
+                label="If BAQ needs to be computed, calculate extended BAQ?" />
+            </when>
+            <when value="-A">
+                <param argument="-e" name="extended_baq" type="boolean" checked="true" truevalue="" falsevalue="-e"
+                label="If BAQ needs to be computed, calculate extended BAQ?" />
+            </when>
+        </conditional>
+    </xml>
+    <xml name="handle_alnqual" token_mode="Use">
+        <conditional name="alnqual_choice">
+            <param name="alnquals_to_use" type="select"
+            label="@MODE@ the following alignment quality scores">
+                <option value="">Base and indel alignment qualities (BAQ and IDAQ)</option>
+                <option value="-A">Only base alignment qualities (BAQ)</option>
+                <option value="-B">Only indel alignment qualities (IDAQ)</option>
+            </param>
+            <when value="-B">
+                <param name="extended_baq" type="hidden" value="" />
+            </when>
+            <when value="">
+                <param argument="-e" name="extended_baq" type="boolean" checked="true" truevalue="" falsevalue="-e"
+                label="Use extended BAQ?" />
+            </when>
+            <when value="-A">
+                <param argument="-e" name="extended_baq" type="boolean" checked="true" truevalue="" falsevalue="-e"
+                label="Use extended BAQ?" />
+            </when>
+        </conditional>
+    </xml>
+</macros>
Binary file test-data/alnqual-out1.bam has changed
Binary file test-data/alnqual-out2.bam has changed
Binary file test-data/alnqual-out3.bam has changed
Binary file test-data/alnqual-out4.bam has changed
Binary file test-data/alnqual-out5.bam has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/call-out1.vcf	Tue Dec 17 17:26:32 2019 -0500
@@ -0,0 +1,19 @@
+##fileformat=VCFv4.0
+##fileDate=20191125
+##source=lofreq call --verbose --ref reference.fa --sig 0.01 --bonf dynamic --no-default-filter -r pBR322:1-2180 -o /tmp/lofreq2_call_parallel3mrmthi_/0.vcf.gz alignments.bam
+##reference=reference.fa
+##INFO=<ID=DP,Number=1,Type=Integer,Description="Raw Depth">
+##INFO=<ID=AF,Number=1,Type=Float,Description="Allele Frequency">
+##INFO=<ID=SB,Number=1,Type=Integer,Description="Phred-scaled strand bias at this position">
+##INFO=<ID=DP4,Number=4,Type=Integer,Description="Counts for ref-forward bases, ref-reverse, alt-forward and alt-reverse bases">
+##INFO=<ID=INDEL,Number=0,Type=Flag,Description="Indicates that the variant is an INDEL.">
+##INFO=<ID=CONSVAR,Number=0,Type=Flag,Description="Indicates that the variant is a consensus variant (as opposed to a low frequency variant).">
+##INFO=<ID=HRUN,Number=1,Type=Integer,Description="Homopolymer length to the right of report indel position">
+##FILTER=<ID=min_snvqual_38,Description="Minimum SNV Quality (Phred) 38">
+##FILTER=<ID=min_indelqual_20,Description="Minimum Indel Quality (Phred) 20">
+##FILTER=<ID=min_dp_10,Description="Minimum Coverage 10">
+##FILTER=<ID=sb_fdr,Description="Strand-Bias Multiple Testing Correction: fdr corr. pvalue > 0.001000">
+##FILTER=<ID=min_snvqual_38,Description="Minimum SNV Quality (Phred) 38">
+##FILTER=<ID=min_indelqual_20,Description="Minimum Indel Quality (Phred) 20">
+#CHROM	POS	ID	REF	ALT	QUAL	FILTER	INFO
+pBR322	1134	.	C	T	49314	PASS	DP=1767;AF=1.000000;SB=0;DP4=0,0,910,857
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/call-out2.vcf	Tue Dec 17 17:26:32 2019 -0500
@@ -0,0 +1,27 @@
+##fileformat=VCFv4.0
+##fileDate=20191204
+##source=lofreq call --verbose --ref reference.fa --sig 1 --bonf 1 --no-default-filter --no-default-filter -r pBR322:1-2180 -o /tmp/tmpjsbggC/job_working_directory/000/8/working/pp-tmp/lofreq2_call_parallelj9yxuugx/0.vcf.gz reads.bam 
+##reference=reference.fa
+##INFO=<ID=DP,Number=1,Type=Integer,Description="Raw Depth">
+##INFO=<ID=AF,Number=1,Type=Float,Description="Allele Frequency">
+##INFO=<ID=SB,Number=1,Type=Integer,Description="Phred-scaled strand bias at this position">
+##INFO=<ID=DP4,Number=4,Type=Integer,Description="Counts for ref-forward bases, ref-reverse, alt-forward and alt-reverse bases">
+##INFO=<ID=INDEL,Number=0,Type=Flag,Description="Indicates that the variant is an INDEL.">
+##INFO=<ID=CONSVAR,Number=0,Type=Flag,Description="Indicates that the variant is a consensus variant (as opposed to a low frequency variant).">
+##INFO=<ID=HRUN,Number=1,Type=Integer,Description="Homopolymer length to the right of report indel position">
+#CHROM	POS	ID	REF	ALT	QUAL	FILTER	INFO
+pBR322	815	.	A	G	0	.	DP=665;AF=0.003008;SB=6;DP4=333,311,0,2
+pBR322	861	.	A	C	0	.	DP=946;AF=0.002114;SB=3;DP4=447,497,0,2
+pBR322	1001	.	A	C	0	.	DP=1797;AF=0.000556;SB=3;DP4=877,918,1,0
+pBR322	1013	.	C	G	0	.	DP=1773;AF=0.000564;SB=0;DP4=875,897,0,1
+pBR322	1068	.	T	G	0	.	DP=1774;AF=0.000564;SB=3;DP4=853,920,1,0
+pBR322	1084	.	G	T	0	.	DP=1789;AF=0.000559;SB=3;DP4=875,913,1,0
+pBR322	1113	.	T	A	0	.	DP=1784;AF=0.000561;SB=0;DP4=885,898,0,1
+pBR322	1134	.	C	T	49314	.	DP=1767;AF=1.000000;SB=0;DP4=0,0,910,857
+pBR322	1193	.	G	A	0	.	DP=1698;AF=0.000589;SB=3;DP4=865,832,0,1
+pBR322	1218	.	A	C	0	.	DP=1708;AF=0.000585;SB=3;DP4=875,831,0,1
+pBR322	1230	.	T	C	0	.	DP=1759;AF=0.000569;SB=3;DP4=907,850,0,1
+pBR322	1256	.	A	G	0	.	DP=1746;AF=0.000573;SB=0;DP4=902,842,1,0
+pBR322	1498	.	C	G	0	.	DP=1195;AF=0.000837;SB=3;DP4=588,606,1,0
+pBR322	1503	.	T	G	0	.	DP=1156;AF=0.000865;SB=3;DP4=563,592,1,0
+pBR322	1505	.	G	A	0	.	DP=1137;AF=0.000880;SB=0;DP4=560,576,0,1
Binary file test-data/indelqual-out1.bam has changed
Binary file test-data/indelqual-out2.bam has changed
Binary file test-data/indelqual-out3.bam has changed
Binary file test-data/lofreq-in1.bam has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/pBR322.fa	Tue Dec 17 17:26:32 2019 -0500
@@ -0,0 +1,74 @@
+>pBR322
+TTCTCATGTTTGACAGCTTATCATCGATAAGCTTTAATGCGGTAGTTTATCACAGTTAAA
+TTGCTAACGCAGTCAGGCACCGTGTATGAAATCTAACAATGCGCTCATCGTCATCCTCGG
+CACCGTCACCCTGGATGCTGTAGGCATAGGCTTGGTTATGCCGGTACTGCCGGGCCTCTT
+GCGGGATATCGTCCATTCCGACAGCATCGCCAGTCACTATGGCGTGCTGCTAGCGCTATA
+TGCGTTGATGCAATTTCTATGCGCACCCGTTCTCGGAGCACTGTCCGACCGCTTTGGCCG
+CCGCCCAGTCCTGCTCGCTTCGCTACTTGGAGCCACTATCGACTACGCGATCATGGCGAC
+CACACCCGTCCTGTGGATCCTCTACGCCGGACGCATCGTGGCCGGCATCACCGGCGCCAC
+AGGTGCGGTTGCTGGCGCCTATATCGCCGACATCACCGATGGGGAAGATCGGGCTCGCCA
+CTTCGGGCTCATGAGCGCTTGTTTCGGCGTGGGTATGGTGGCAGGCCCCGTGGCCGGGGG
+ACTGTTGGGCGCCATCTCCTTGCATGCACCATTCCTTGCGGCGGCGGTGCTCAACGGCCT
+CAACCTACTACTGGGCTGCTTCCTAATGCAGGAGTCGCATAAGGGAGAGCGTCGACCGAT
+GCCCTTGAGAGCCTTCAACCCAGTCAGCTCCTTCCGGTGGGCGCGGGGCATGACTATCGT
+CGCCGCACTTATGACTGTCTTCTTTATCATGCAACTCGTAGGACAGGTGCCGGCAGCGCT
+CTGGGTCATTTTCGGCGAGGACCGCTTTCGCTGGAGCGCGACGATGATCGGCCTGTCGCT
+TGCGGTATTCGGAATCTTGCACGCCCTCGCTCAAGCCTTCGTCACTGGTCCCGCCACCAA
+ACGTTTCGGCGAGAAGCAGGCCATTATCGCCGGCATGGCGGCCGACGCGCTGGGCTACGT
+CTTGCTGGCGTTCGCGACGCGAGGCTGGATGGCCTTCCCCATTATGATTCTTCTCGCTTC
+CGGCGGCATCGGGATGCCCGCGTTGCAGGCCATGCTGTCCAGGCAGGTAGATGACGACCA
+TCAGGGACAGCTTCAAGGATCGCTCGCGGCTCTTACCAGCCTAACTTCGATCACTGGACC
+GCTGATCGTCACGGCGATTTATGCCGCCTCGGCGAGCACATGGAACGGGTTGGCATGGAT
+TGTAGGCGCCGCCCTATACCTTGTCTGCCTCCCCGCGTTGCGTCGCGGTGCATGGAGCCG
+GGCCACCTCGACCTGAATGGAAGCCGGCGGCACCTCGCTAACGGATTCACCACTCCAAGA
+ATTGGAGCCAATCAATTCTTGCGGAGAACTGTGAATGCGCAAACCAACCCTTGGCAGAAC
+ATATCCATCGCGTCCGCCATCTCCAGCAGCCGCACGCGGCGCATCTCGGGCAGCGTTGGG
+TCCTGGCCACGGGTGCGCATGATCGTGCTCCTGTCGTTGAGGACCCGGCTAGGCTGGCGG
+GGTTGCCTTACTGGTTAGCAGAATGAATCACCGATACGCGAGCGAACGTGAAGCGACTGC
+TGCTGCAAAACGTCTGCGACCTGAGCAACAACATGAATGGTCTTCGGTTTCCGTGTTTCG
+TAAAGTCTGGAAACGCGGAAGTCAGCGCCCTGCACCATTATGTTCCGGATCTGCATCGCA
+GGATGCTGCTGGCTACCCTGTGGAACACCTACATCTGTATTAACGAAGCGCTGGCATTGA
+CCCTGAGTGATTTTTCTCTGGTCCCGCCGCATCCATACCGCCAGTTGTTTACCCTCACAA
+CGTTCCAGTAACCGGGCATGTTCATCATCAGTAACCCGTATCGTGAGCATCCTCTCTCGT
+TTCATCGGTATCATTACCCCCATGAACAGAAATCCCCCTTACACGGAGGCATCAGTGACC
+AAACAGGAAAAAACCGCCCTTAACATGGCCCGCTTTATCAGAAGCCAGACATTAACGCTT
+CTGGAGAAACTCAACGAGCTGGACGCGGATGAACAGGCAGACATCTGTGAATCGCTTCAC
+GACCACGCTGATGAGCTTTACCGCAGCTGCCTCGCGCGTTTCGGTGATGACGGTGAAAAC
+CTCTGACACATGCAGCTCCCGGAGACGGTCACAGCTTGTCTGTAAGCGGATGCCGGGAGC
+AGACAAGCCCGTCAGGGCGCGTCAGCGGGTGTTGGCGGGTGTCGGGGCGCAGCCATGACC
+CAGTCACGTAGCGATAGCGGAGTGTATACTGGCTTAACTATGCGGCATCAGAGCAGATTG
+TACTGAGAGTGCACCATATGCGGTGTGAAATACCGCACAGATGCGTAAGGAGAAAATACC
+GCATCAGGCGCTCTTCCGCTTCCTCGCTCACTGACTCGCTGCGCTCGGTCGTTCGGCTGC
+GGCGAGCGGTATCAGCTCACTCAAAGGCGGTAATACGGTTATCCACAGAATCAGGGGATA
+ACGCAGGAAAGAACATGTGAGCAAAAGGCCAGCAAAAGGCCAGGAACCGTAAAAAGGCCG
+CGTTGCTGGCGTTTTTCCATAGGCTCCGCCCCCCTGACGAGCATCACAAAAATCGACGCT
+CAAGTCAGAGGTGGCGAAACCCGACAGGACTATAAAGATACCAGGCGTTTCCCCCTGGAA
+GCTCCCTCGTGCGCTCTCCTGTTCCGACCCTGCCGCTTACCGGATACCTGTCCGCCTTTC
+TCCCTTCGGGAAGCGTGGCGCTTTCTCATAGCTCACGCTGTAGGTATCTCAGTTCGGTGT
+AGGTCGTTCGCTCCAAGCTGGGCTGTGTGCACGAACCCCCCGTTCAGCCCGACCGCTGCG
+CCTTATCCGGTAACTATCGTCTTGAGTCCAACCCGGTAAGACACGACTTATCGCCACTGG
+CAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCT
+TGAAGTGGTGGCCTAACTACGGCTACACTAGAAGGACAGTATTTGGTATCTGCGCTCTGC
+TGAAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCG
+CTGGTAGCGGTGGTTTTTTTGTTTGCAAGCAGCAGATTACGCGCAGAAAAAAAGGATCTC
+AAGAAGATCCTTTGATCTTTTCTACGGGGTCTGACGCTCAGTGGAACGAAAACTCACGTT
+AAGGGATTTTGGTCATGAGATTATCAAAAAGGATCTTCACCTAGATCCTTTTAAATTAAA
+AATGAAGTTTTAAATCAATCTAAAGTATATATGAGTAAACTTGGTCTGACAGTTACCAAT
+GCTTAATCAGTGAGGCACCTATCTCAGCGATCTGTCTATTTCGTTCATCCATAGTTGCCT
+GACTCCCCGTCGTGTAGATAACTACGATACGGGAGGGCTTACCATCTGGCCCCAGTGCTG
+CAATGATACCGCGAGACCCACGCTCACCGGCTCCAGATTTATCAGCAATAAACCAGCCAG
+CCGGAAGGGCCGAGCGCAGAAGTGGTCCTGCAACTTTATCCGCCTCCATCCAGTCTATTA
+ATTGTTGCCGGGAAGCTAGAGTAAGTAGTTCGCCAGTTAATAGTTTGCGCAACGTTGTTG
+CCATTGCTGCAGGCATCGTGGTGTCACGCTCGTCGTTTGGTATGGCTTCATTCAGCTCCG
+GTTCCCAACGATCAAGGCGAGTTACATGATCCCCCATGTTGTGCAAAAAAGCGGTTAGCT
+CCTTCGGTCCTCCGATCGTTGTCAGAAGTAAGTTGGCCGCAGTGTTATCACTCATGGTTA
+TGGCAGCACTGCATAATTCTCTTACTGTCATGCCATCCGTAAGATGCTTTTCTGTGACTG
+GTGAGTACTCAACCAAGTCATTCTGAGAATAGTGTATGCGGCGACCGAGTTGCTCTTGCC
+CGGCGTCAACACGGGATAATACCGCGCCACATAGCAGAACTTTAAAAGTGCTCATCATTG
+GAAAACGTTCTTCGGGGCGAAAACTCTCAAGGATCTTACCGCTGTTGAGATCCAGTTCGA
+TGTAACCCACTCGTGCACCCAACTGATCTTCAGCATCTTTTACTTTCACCAGCGTTTCTG
+GGTGAGCAAAAACAGGAAGGCAAAATGCCGCAAAAAAGGGAATAAGGGCGACACGGAAAT
+GTTGAATACTCATACTCTTCCTTTTTCAATATTATTGAAGCATTTATCAGGGTTATTGTC
+TCATGAGCGGATACATATTTGAATGTATTTAGAAAAATAAACAAATAGGGGTTCCGCGCA
+CATTTCCCCGAAAAGTGCCACCTGACGTCTAAGAAACCATTATTATCATGACATTAACCT
+ATAAAAATAGGCGTATCACGAGGCCCTTTCGTCTTCAAGAA
\ No newline at end of file
Binary file test-data/viterbi-out1.bam has changed
Binary file test-data/viterbi-out2.bam has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tool-data/fasta_indexes.loc.sample	Tue Dec 17 17:26:32 2019 -0500
@@ -0,0 +1,29 @@
+#This is a sample file distributed with Galaxy that enables tools
+#to use a directory of Samtools indexed sequences data files.  You will need
+#to create these data files and then create a fasta_indexes.loc file
+#similar to this one (store it in this directory) that points to
+#the directories in which those files are stored. The fasta_indexes.loc
+#file has this format (white space characters are TAB characters):
+#
+# <unique_build_id>	<dbkey>	<display_name>	<file_base_path>
+#
+#So, for example, if you had hg19 Canonical indexed stored in
+#
+# /depot/data2/galaxy/hg19/sam/,
+#
+#then the fasta_indexes.loc entry would look like this:
+#
+#hg19canon	hg19	Human (Homo sapiens): hg19 Canonical	/depot/data2/galaxy/hg19/sam/hg19canon.fa
+#
+#and your /depot/data2/galaxy/hg19/sam/ directory
+#would contain hg19canon.fa and hg19canon.fa.fai files.
+#
+#Your fasta_indexes.loc file should include an entry per line for
+#each index set you have stored.  The file in the path does actually
+#exist, but it should never be directly used. Instead, the name serves
+#as a prefix for the index file.  For example:
+#
+#hg18canon	hg18	Human (Homo sapiens): hg18 Canonical	/depot/data2/galaxy/hg18/sam/hg18canon.fa
+#hg18full	hg18	Human (Homo sapiens): hg18 Full	/depot/data2/galaxy/hg18/sam/hg18full.fa
+#hg19canon	hg19	Human (Homo sapiens): hg19 Canonical	/depot/data2/galaxy/hg19/sam/hg19canon.fa
+#hg19full	hg19	Human (Homo sapiens): hg19 Full	/depot/data2/galaxy/hg19/sam/hg19full.fa
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_data_table_conf.xml.sample	Tue Dec 17 17:26:32 2019 -0500
@@ -0,0 +1,7 @@
+<tables>
+    <!-- Location of SAMTools indexes for FASTA files -->
+    <table name="fasta_indexes" comment_char="#">
+        <columns>value, dbkey, name, path</columns>
+        <file path="tool-data/fasta_indexes.loc" />
+    </table>
+</tables>