diff DumpSTR/dumpSTR.xml @ 0:ecf8c4f9f8ba draft

"planemo upload for repository https://github.com/Kulivox/TRToolsGalaxyWrapper commit 08480e3145858e41b14bf1061f87243e8cc2d04e"
author michal_klinka
date Sat, 23 Apr 2022 16:34:03 +0000
parents
children 8e8cf43f6836
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/DumpSTR/dumpSTR.xml	Sat Apr 23 16:34:03 2022 +0000
@@ -0,0 +1,571 @@
+<?xml version="1.0" ?>
+<tool id="dumpSTR" name="DumpSTR" version="@tool_version@">
+    <description>DumpSTR filters VCF files with TR genotypes, performing call-level and locus-level filtering, and
+        outputs a filtered VCF file.
+    </description>
+
+    <macros>
+        <import>macros.xml</import>
+    </macros>
+
+    <expand macro="requirements"/>
+    <version_command>dumpSTR --version</version_command>
+    <command detect_errors="exit_code"><![CDATA[dumpSTR
+## h definition
+#if $options.h:
+   -h
+#end if
+## end h definition
+## vcf definition
+#if $input_output.vcf:
+   --vcf $input_output.vcf
+#end if
+## end vcf definition
+## out definition
+#if $input_output.out:
+   --out $input_output.out
+#end if
+## end out definition
+## zip definition
+#if $input_output.zip:
+   --zip
+#end if
+## end zip definition
+## vcftype definition
+#if $input_output.vcftype:
+   --vcftype $input_output.vcftype
+#end if
+## end vcftype definition
+## min_locus_callrate definition
+#if $locus_level_filters__tool_agnostic_.min_locus_callrate:
+   --min-locus-callrate $locus_level_filters__tool_agnostic_.min_locus_callrate
+#end if
+## end min_locus_callrate definition
+## min_locus_hwep definition
+#if $locus_level_filters__tool_agnostic_.min_locus_hwep:
+   --min-locus-hwep $locus_level_filters__tool_agnostic_.min_locus_hwep
+#end if
+## end min_locus_hwep definition
+## min_locus_het definition
+#if $locus_level_filters__tool_agnostic_.min_locus_het:
+   --min-locus-het $locus_level_filters__tool_agnostic_.min_locus_het
+#end if
+## end min_locus_het definition
+## max_locus_het definition
+#if $locus_level_filters__tool_agnostic_.max_locus_het:
+   --max-locus-het $locus_level_filters__tool_agnostic_.max_locus_het
+#end if
+## end max_locus_het definition
+## use_length definition
+#if $locus_level_filters__tool_agnostic_.use_length:
+   --use-length
+#end if
+## end use_length definition
+## filter_regions definition
+#if $locus_level_filters__tool_agnostic_.filter_regions:
+   --filter-regions $locus_level_filters__tool_agnostic_.filter_regions
+#end if
+## end filter_regions definition
+## filter_regions_names definition
+#if $locus_level_filters__tool_agnostic_.filter_regions_names:
+   --filter-regions-names $locus_level_filters__tool_agnostic_.filter_regions_names
+#end if
+## end filter_regions_names definition
+## filter_hrun definition
+#if $locus_level_filters__tool_agnostic_.filter_hrun:
+   --filter-hrun
+#end if
+## end filter_hrun definition
+## drop_filtered definition
+#if $locus_level_filters__tool_agnostic_.drop_filtered:
+   --drop-filtered
+#end if
+## end drop_filtered definition
+## hipstr_max_call_flank_indel definition
+#if $call_level_filters_specific_to_hipstr_output.hipstr_max_call_flank_indel:
+   --hipstr-max-call-flank-indel $call_level_filters_specific_to_hipstr_output.hipstr_max_call_flank_indel
+#end if
+## end hipstr_max_call_flank_indel definition
+## hipstr_max_call_stutter definition
+#if $call_level_filters_specific_to_hipstr_output.hipstr_max_call_stutter:
+   --hipstr-max-call-stutter $call_level_filters_specific_to_hipstr_output.hipstr_max_call_stutter
+#end if
+## end hipstr_max_call_stutter definition
+## hipstr_min_supp_reads definition
+#if $call_level_filters_specific_to_hipstr_output.hipstr_min_supp_reads:
+   --hipstr-min-supp-reads $call_level_filters_specific_to_hipstr_output.hipstr_min_supp_reads
+#end if
+## end hipstr_min_supp_reads definition
+## hipstr_min_call_DP definition
+#if $call_level_filters_specific_to_hipstr_output.hipstr_min_call_DP:
+   --hipstr-min-call-DP $call_level_filters_specific_to_hipstr_output.hipstr_min_call_DP
+#end if
+## end hipstr_min_call_DP definition
+## hipstr_max_call_DP definition
+#if $call_level_filters_specific_to_hipstr_output.hipstr_max_call_DP:
+   --hipstr-max-call-DP $call_level_filters_specific_to_hipstr_output.hipstr_max_call_DP
+#end if
+## end hipstr_max_call_DP definition
+## hipstr_min_call_Q definition
+#if $call_level_filters_specific_to_hipstr_output.hipstr_min_call_Q:
+   --hipstr-min-call-Q $call_level_filters_specific_to_hipstr_output.hipstr_min_call_Q
+#end if
+## end hipstr_min_call_Q definition
+## gangstr_min_call_DP definition
+#if $call_level_filters_specific_to_gangstr_output.gangstr_min_call_DP:
+   --gangstr-min-call-DP $call_level_filters_specific_to_gangstr_output.gangstr_min_call_DP
+#end if
+## end gangstr_min_call_DP definition
+## gangstr_max_call_DP definition
+#if $call_level_filters_specific_to_gangstr_output.gangstr_max_call_DP:
+   --gangstr-max-call-DP $call_level_filters_specific_to_gangstr_output.gangstr_max_call_DP
+#end if
+## end gangstr_max_call_DP definition
+## gangstr_min_call_Q definition
+#if $call_level_filters_specific_to_gangstr_output.gangstr_min_call_Q:
+   --gangstr-min-call-Q $call_level_filters_specific_to_gangstr_output.gangstr_min_call_Q
+#end if
+## end gangstr_min_call_Q definition
+## gangstr_expansion_prob_het definition
+#if $call_level_filters_specific_to_gangstr_output.gangstr_expansion_prob_het:
+   --gangstr-expansion-prob-het $call_level_filters_specific_to_gangstr_output.gangstr_expansion_prob_het
+#end if
+## end gangstr_expansion_prob_het definition
+## gangstr_expansion_prob_hom definition
+#if $call_level_filters_specific_to_gangstr_output.gangstr_expansion_prob_hom:
+   --gangstr-expansion-prob-hom $call_level_filters_specific_to_gangstr_output.gangstr_expansion_prob_hom
+#end if
+## end gangstr_expansion_prob_hom definition
+## gangstr_expansion_prob_total definition
+#if $call_level_filters_specific_to_gangstr_output.gangstr_expansion_prob_total:
+   --gangstr-expansion-prob-total $call_level_filters_specific_to_gangstr_output.gangstr_expansion_prob_total
+#end if
+## end gangstr_expansion_prob_total definition
+## gangstr_filter_span_only definition
+#if $call_level_filters_specific_to_gangstr_output.gangstr_filter_span_only:
+   --gangstr-filter-span-only
+#end if
+## end gangstr_filter_span_only definition
+## gangstr_filter_spanbound_only definition
+#if $call_level_filters_specific_to_gangstr_output.gangstr_filter_spanbound_only:
+   --gangstr-filter-spanbound-only
+#end if
+## end gangstr_filter_spanbound_only definition
+## gangstr_filter_badCI definition
+#if $call_level_filters_specific_to_gangstr_output.gangstr_filter_badCI:
+   --gangstr-filter-badCI
+#end if
+## end gangstr_filter_badCI definition
+## gangstr_readlen definition
+#if $call_level_filters_specific_to_gangstr_output.gangstr_readlen:
+   --gangstr-readlen $call_level_filters_specific_to_gangstr_output.gangstr_readlen
+#end if
+## end gangstr_readlen definition
+## advntr_min_call_DP definition
+#if $call_level_filters_specific_to_advntr_output.advntr_min_call_DP:
+   --advntr-min-call-DP $call_level_filters_specific_to_advntr_output.advntr_min_call_DP
+#end if
+## end advntr_min_call_DP definition
+## advntr_max_call_DP definition
+#if $call_level_filters_specific_to_advntr_output.advntr_max_call_DP:
+   --advntr-max-call-DP $call_level_filters_specific_to_advntr_output.advntr_max_call_DP
+#end if
+## end advntr_max_call_DP definition
+## advntr_min_spanning definition
+#if $call_level_filters_specific_to_advntr_output.advntr_min_spanning:
+   --advntr-min-spanning $call_level_filters_specific_to_advntr_output.advntr_min_spanning
+#end if
+## end advntr_min_spanning definition
+## advntr_min_flanking definition
+#if $call_level_filters_specific_to_advntr_output.advntr_min_flanking:
+   --advntr-min-flanking $call_level_filters_specific_to_advntr_output.advntr_min_flanking
+#end if
+## end advntr_min_flanking definition
+## advntr_min_ML definition
+#if $call_level_filters_specific_to_advntr_output.advntr_min_ML:
+   --advntr-min-ML $call_level_filters_specific_to_advntr_output.advntr_min_ML
+#end if
+## end advntr_min_ML definition
+## eh_min_ADFL definition
+#if $call_level_filters_specific_to_expansionhunter_output.eh_min_ADFL:
+   --eh-min-ADFL $call_level_filters_specific_to_expansionhunter_output.eh_min_ADFL
+#end if
+## end eh_min_ADFL definition
+## eh_min_ADIR definition
+#if $call_level_filters_specific_to_expansionhunter_output.eh_min_ADIR:
+   --eh-min-ADIR $call_level_filters_specific_to_expansionhunter_output.eh_min_ADIR
+#end if
+## end eh_min_ADIR definition
+## eh_min_ADSP definition
+#if $call_level_filters_specific_to_expansionhunter_output.eh_min_ADSP:
+   --eh-min-ADSP $call_level_filters_specific_to_expansionhunter_output.eh_min_ADSP
+#end if
+## end eh_min_ADSP definition
+## eh_min_call_LC definition
+#if $call_level_filters_specific_to_expansionhunter_output.eh_min_call_LC:
+   --eh-min-call-LC $call_level_filters_specific_to_expansionhunter_output.eh_min_call_LC
+#end if
+## end eh_min_call_LC definition
+## eh_max_call_LC definition
+#if $call_level_filters_specific_to_expansionhunter_output.eh_max_call_LC:
+   --eh-max-call-LC $call_level_filters_specific_to_expansionhunter_output.eh_max_call_LC
+#end if
+## end eh_max_call_LC definition
+## popstr_min_call_DP definition
+#if $call_level_filters_specific_to_popstr_output.popstr_min_call_DP:
+   --popstr-min-call-DP $call_level_filters_specific_to_popstr_output.popstr_min_call_DP
+#end if
+## end popstr_min_call_DP definition
+## popstr_max_call_DP definition
+#if $call_level_filters_specific_to_popstr_output.popstr_max_call_DP:
+   --popstr-max-call-DP $call_level_filters_specific_to_popstr_output.popstr_max_call_DP
+#end if
+## end popstr_max_call_DP definition
+## popstr_require_support definition
+#if $call_level_filters_specific_to_popstr_output.popstr_require_support:
+   --popstr-require-support $call_level_filters_specific_to_popstr_output.popstr_require_support
+#end if
+## end popstr_require_support definition
+## num_records definition
+#if $debugging_parameters.num_records:
+   --num-records $debugging_parameters.num_records
+#end if
+## end num_records definition
+## die_on_warning definition
+#if $debugging_parameters.die_on_warning:
+   --die-on-warning
+#end if
+## end die_on_warning definition
+## verbose definition
+#if $debugging_parameters.verbose:
+   --verbose
+#end if
+## end verbose definition
+## version definition
+#if $version313f.version:
+   --version
+#end if
+## end version definition
+1>$stdout 2>$stderr
+]]></command>
+
+
+    <inputs>
+
+
+        <section name="options" title="options" expanded="false">
+            <param argument="-h" type="boolean" optional="true" label="help" help="show this help message and exit"/>
+        </section>
+        <section name="input_output" title="Input/output" expanded="false">
+            <param argument="--vcf" type="data" format="vcf" optional="false" label="vcf" help="Input STR VCF file"/>
+            <param argument="--out" type="text" optional="false" label="out" help="Prefix for output files"/>
+            <param argument="--zip" type="boolean" optional="true" label="zip"
+                   help="Produce a bgzipped and tabix indexed output VCF"/>
+            <param argument="--vcftype" type="select" optional="true" label="vcftype"
+                   help="Genotyper that was used to create this VCF input">
+                <expand macro="vcfTypes"/>
+            </param>
+        </section>
+        <section name="locus_level_filters__tool_agnostic_" title="Locus-level filters (tool agnostic)"
+                 expanded="false">
+            <param argument="--min-locus-callrate" type="float" optional="true" label="min_locus_callrate"
+                   help="Minimum locus call rate"/>
+            <param argument="--min-locus-hwep" type="float" optional="true" label="min_locus_hwep"
+                   help="Filter loci failing HWE at this p-value threshold"/>
+            <param argument="--min-locus-het" type="float" optional="true" label="min_locus_het"
+                   help="Minimum locus heterozygosity"/>
+            <param argument="--max-locus-het" type="float" optional="true" label="max_locus_het"
+                   help="Maximum locus heterozygosity"/>
+            <param argument="--use-length" type="boolean" optional="true" label="use_length"
+                   help="Calculate per-locus stats (het, HWE) collapsing alleles by length"/>
+            <param argument="--filter-regions" type="text" optional="true" label="filter_regions"
+                   help="Comma-separated list of BED files of regions to filter. Must be bgzipped and tabix indexed"/>
+            <param argument="--filter-regions-names" type="text" optional="true" label="filter_regions_names"
+                   help="Comma-separated list of filter names for each BED filter file"/>
+            <param argument="--filter-hrun" type="boolean" optional="true" label="filter_hrun"
+                   help="Filter STRs with long homopolymer runs."/>
+            <param argument="--drop-filtered" type="boolean" optional="true" label="drop_filtered"
+                   help="Drop filtered records from output"/>
+        </section>
+        <section name="call_level_filters_specific_to_hipstr_output"
+                 title="Call-level filters specific to HipSTR output" expanded="false">
+            <param argument="--hipstr-max-call-flank-indel" type="float" optional="true"
+                   label="hipstr_max_call_flank_indel" help="Maximum call flank indel rate"/>
+            <param argument="--hipstr-max-call-stutter" type="float" optional="true" label="hipstr_max_call_stutter"
+                   help="Maximum call stutter rate"/>
+            <param argument="--hipstr-min-supp-reads" type="integer" optional="true" label="hipstr_min_supp_reads"
+                   help="Minimum supporting reads for each allele"/>
+            <param argument="--hipstr-min-call-DP" type="integer" optional="true" label="hipstr_min_call_DP"
+                   help="Minimum call coverage"/>
+            <param argument="--hipstr-max-call-DP" type="integer" optional="true" label="hipstr_max_call_DP"
+                   help="Maximum call coverage"/>
+            <param argument="--hipstr-min-call-Q" type="float" optional="true" label="hipstr_min_call_Q"
+                   help="Minimum call quality score"/>
+        </section>
+        <section name="call_level_filters_specific_to_gangstr_output"
+                 title="Call-level filters specific to GangSTR output" expanded="false">
+            <param argument="--gangstr-min-call-DP" type="integer" optional="true" label="gangstr_min_call_DP"
+                   help="Minimum call coverage"/>
+            <param argument="--gangstr-max-call-DP" type="integer" optional="true" label="gangstr_max_call_DP"
+                   help="Maximum call coverage"/>
+            <param argument="--gangstr-min-call-Q" type="float" optional="true" label="gangstr_min_call_Q"
+                   help="Minimum call quality score"/>
+            <param argument="--gangstr-expansion-prob-het" type="float" optional="true"
+                   label="gangstr_expansion_prob_het"
+                   help="Expansion prob-value threshold. Filters calls with probability of heterozygous expansion less than this"/>
+            <param argument="--gangstr-expansion-prob-hom" type="float" optional="true"
+                   label="gangstr_expansion_prob_hom"
+                   help="Expansion prob-value threshold. Filters calls with probability of homozygous expansion less than this"/>
+            <param argument="--gangstr-expansion-prob-total" type="float" optional="true"
+                   label="gangstr_expansion_prob_total"
+                   help="Expansion prob-value threshold. Filters calls with probability of total expansion less than this"/>
+            <param argument="--gangstr-filter-span-only" type="boolean" optional="true" label="gangstr_filter_span_only"
+                   help="Filter out all calls that only have spanning read support"/>
+            <param argument="--gangstr-filter-spanbound-only" type="boolean" optional="true"
+                   label="gangstr_filter_spanbound_only" help="Filter out all reads except spanning and bounding"/>
+            <param argument="--gangstr-filter-badCI" type="boolean" optional="true" label="gangstr_filter_badCI"
+                   help="Filter regions where the ML estimate is not in the CI"/>
+            <param argument="--gangstr-readlen" type="integer" optional="true" label="gangstr_readlen"
+                   help="Read length used (bp). Required if using --require-support"/>
+        </section>
+        <section name="call_level_filters_specific_to_advntr_output"
+                 title="Call-level filters specific to adVNTR output" expanded="false">
+            <param argument="--advntr-min-call-DP" type="integer" optional="true" label="advntr_min_call_DP"
+                   help="Minimum call coverage"/>
+            <param argument="--advntr-max-call-DP" type="integer" optional="true" label="advntr_max_call_DP"
+                   help="Maximum call coverage"/>
+            <param argument="--advntr-min-spanning" type="integer" optional="true" label="advntr_min_spanning"
+                   help="Minimum spanning read count (SR field)"/>
+            <param argument="--advntr-min-flanking" type="integer" optional="true" label="advntr_min_flanking"
+                   help="Minimum flanking read count (FR field)"/>
+            <param argument="--advntr-min-ML" type="float" optional="true" label="advntr_min_ML"
+                   help="Minimum value of maximum likelihood (ML field)"/>
+        </section>
+        <section name="call_level_filters_specific_to_expansionhunter_output"
+                 title="Call-level filters specific to ExpansionHunter output" expanded="false">
+            <param argument="--eh-min-ADFL" type="integer" optional="true" label="eh_min_ADFL"
+                   help="Minimum number of flanking reads consistent with the allele"/>
+            <param argument="--eh-min-ADIR" type="integer" optional="true" label="eh_min_ADIR"
+                   help="Minimum number of in-repeat reads consistent with the allele"/>
+            <param argument="--eh-min-ADSP" type="integer" optional="true" label="eh_min_ADSP"
+                   help="Minimum number of spanning reads consistent with the allele"/>
+            <param argument="--eh-min-call-LC" type="integer" optional="true" label="eh_min_call_LC"
+                   help="Minimum call coverage"/>
+            <param argument="--eh-max-call-LC" type="integer" optional="true" label="eh_max_call_LC"
+                   help="Maximum call coverage"/>
+        </section>
+        <section name="call_level_filters_specific_to_popstr_output"
+                 title="Call-level filters specific to PopSTR output" expanded="false">
+            <param argument="--popstr-min-call-DP" type="integer" optional="true" label="popstr_min_call_DP"
+                   help="Minimum call coverage"/>
+            <param argument="--popstr-max-call-DP" type="integer" optional="true" label="popstr_max_call_DP"
+                   help="Maximum call coverage"/>
+            <param argument="--popstr-require-support" type="integer" optional="true" label="popstr_require_support"
+                   help="Require each allele call to have at least n supporting reads"/>
+        </section>
+        <section name="debugging_parameters" title="Debugging parameters" expanded="false">
+            <param argument="--num-records" type="integer" optional="true" label="num_records"
+                   help="Only process this many records"/>
+            <param argument="--die-on-warning" type="boolean" optional="true" label="die_on_warning"
+                   help="Quit if a record can't be parsed"/>
+            <param argument="--verbose" type="boolean" optional="true" label="verbose" help="Print out extra info"/>
+        </section>
+        <section name="version313f" title="Version" expanded="false">
+            <param argument="--version" type="boolean" optional="true" label="version"
+                   help="show program's version number and exit"/>
+        </section>
+    </inputs>
+
+
+    <outputs>
+        <data name="stdout" label="STDOUT output" format="txt"/>
+
+        <data name="main_output" label="Main output">
+            <discover_datasets format="vcf" pattern="(?P&lt;designation&gt;.+)\.vcf" visible="true"
+                               assign_primary_output="true"/>
+            <discover_datasets format="tabular" pattern="(?P&lt;designation&gt;.+)\.tab" visible="true"/>
+        </data>
+
+        <data name="stderr" label="STDERR output" format="txt">
+            <discover_datasets format="vcf_bgzip" pattern="(?P&lt;designation&gt;.+)\.vcf.gz" visible="true"/>
+            <discover_datasets format="tabix" pattern="(?P&lt;designation&gt;.+)\.vcf.gz.tbi" visible="true"/>
+        </data>
+
+    </outputs>
+
+
+    <tests>
+        <test>
+            <section name="main_params">
+                <param name="vcf" value="NA12891_chr21_hipstr.sorted.vcf.gz"/>
+                <param name="out" value="test_result"/>
+                <param name="vcftype" value="hipstr"/>
+                <param name="zip" value="false"/>
+            </section>
+            <section name="filter_opt">
+                <param name="min_locus_callrate" value="0.1"/>
+                <param name="use_length" value="true"/>
+                <param name="drop_filtered" value="true"/>
+            </section>
+            <section name="filter_call_level">
+                <section name="hipstr_filters">
+                    <param name="hipstr_max_call_flank_indel" value="0.2"/>
+                    <param name="hipstr_min_call_Q" value="0.4"/>
+                </section>
+            </section>
+
+            <output name="stdout" file="stdout.txt"/>
+
+            <output name="main_output">
+                <discovered_dataset designation="test_result.loclog" file="test_result.loclog.tab"/>
+                <discovered_dataset designation="test_result.samplog" file="test_result.samplog.tab"/>
+                <discovered_dataset designation="test_result">
+                    <assert_contents>
+                        <has_size value="4061730" delta="200"/>
+                        <has_text text="##fileformat=VCFv4.1"/>
+                        <has_n_lines n="9046"/>
+                    </assert_contents>
+                </discovered_dataset>
+            </output>
+            <output name="stderr" file="stderr.txt"/>
+
+        </test>
+    </tests>
+
+
+    <help>usage: main.py [-h] --vcf VCF --out OUT [--zip] [--vcftype VCFTYPE] [--min-locus-callrate MIN_LOCUS_CALLRATE]
+        [--min-locus-hwep MIN_LOCUS_HWEP] [--min-locus-het MIN_LOCUS_HET] [--max-locus-het MAX_LOCUS_HET] [--use-length]
+        [--filter-regions FILTER_REGIONS] [--filter-regions-names FILTER_REGIONS_NAMES] [--filter-hrun]
+        [--drop-filtered] [--hipstr-max-call-flank-indel HIPSTR_MAX_CALL_FLANK_INDEL]
+        [--hipstr-max-call-stutter HIPSTR_MAX_CALL_STUTTER] [--hipstr-min-supp-reads HIPSTR_MIN_SUPP_READS]
+        [--hipstr-min-call-DP HIPSTR_MIN_CALL_DP] [--hipstr-max-call-DP HIPSTR_MAX_CALL_DP]
+        [--hipstr-min-call-Q HIPSTR_MIN_CALL_Q] [--gangstr-min-call-DP GANGSTR_MIN_CALL_DP] [--gangstr-max-call-DP
+        GANGSTR_MAX_CALL_DP] [--gangstr-min-call-Q GANGSTR_MIN_CALL_Q]
+        [--gangstr-expansion-prob-het GANGSTR_EXPANSION_PROB_HET] [--gangstr-expansion-prob-hom
+        GANGSTR_EXPANSION_PROB_HOM] [--gangstr-expansion-prob-total GANGSTR_EXPANSION_PROB_TOTAL]
+        [--gangstr-filter-span-only]
+        [--gangstr-filter-spanbound-only] [--gangstr-filter-badCI] [--gangstr-readlen GANGSTR_READLEN]
+        [--advntr-min-call-DP ADVNTR_MIN_CALL_DP] [--advntr-max-call-DP ADVNTR_MAX_CALL_DP]
+        [--advntr-min-spanning ADVNTR_MIN_SPANNING] [--advntr-min-flanking ADVNTR_MIN_FLANKING] [--advntr-min-ML
+        ADVNTR_MIN_ML] [--eh-min-ADFL EH_MIN_ADFL] [--eh-min-ADIR EH_MIN_ADIR] [--eh-min-ADSP EH_MIN_ADSP]
+        [--eh-min-call-LC EH_MIN_CALL_LC] [--eh-max-call-LC EH_MAX_CALL_LC] [--popstr-min-call-DP POPSTR_MIN_CALL_DP]
+        [--popstr-max-call-DP POPSTR_MAX_CALL_DP] [--popstr-require-support POPSTR_REQUIRE_SUPPORT]
+        [--num-records NUM_RECORDS] [--die-on-warning] [--verbose] [--version]
+
+        options:
+        -h, --help show this help message and exit
+
+        Input/output:
+        --vcf VCF Input STR VCF file
+        --out OUT Prefix for output files
+        --zip Produce a bgzipped and tabix indexed output VCF
+        --vcftype VCFTYPE ##!!## Name trh could not be loaded
+
+        Locus-level filters (tool agnostic):
+        --min-locus-callrate MIN_LOCUS_CALLRATE
+        Minimum locus call rate
+        --min-locus-hwep MIN_LOCUS_HWEP
+        Filter loci failing HWE at this p-value threshold
+        --min-locus-het MIN_LOCUS_HET
+        Minimum locus heterozygosity
+        --max-locus-het MAX_LOCUS_HET
+        Maximum locus heterozygosity
+        --use-length Calculate per-locus stats (het, HWE) collapsing alleles by length
+        --filter-regions FILTER_REGIONS
+        Comma-separated list of BED files of regions to filter. Must be bgzipped and tabix indexed
+        --filter-regions-names FILTER_REGIONS_NAMES
+        Comma-separated list of filter names for each BED filter file
+        --filter-hrun Filter STRs with long homopolymer runs.
+        --drop-filtered Drop filtered records from output
+
+        Call-level filters specific to HipSTR output:
+        --hipstr-max-call-flank-indel HIPSTR_MAX_CALL_FLANK_INDEL
+        Maximum call flank indel rate
+        --hipstr-max-call-stutter HIPSTR_MAX_CALL_STUTTER
+        Maximum call stutter rate
+        --hipstr-min-supp-reads HIPSTR_MIN_SUPP_READS
+        Minimum supporting reads for each allele
+        --hipstr-min-call-DP HIPSTR_MIN_CALL_DP
+        Minimum call coverage
+        --hipstr-max-call-DP HIPSTR_MAX_CALL_DP
+        Maximum call coverage
+        --hipstr-min-call-Q HIPSTR_MIN_CALL_Q
+        Minimum call quality score
+
+        Call-level filters specific to GangSTR output:
+        --gangstr-min-call-DP GANGSTR_MIN_CALL_DP
+        Minimum call coverage
+        --gangstr-max-call-DP GANGSTR_MAX_CALL_DP
+        Maximum call coverage
+        --gangstr-min-call-Q GANGSTR_MIN_CALL_Q
+        Minimum call quality score
+        --gangstr-expansion-prob-het GANGSTR_EXPANSION_PROB_HET
+        Expansion prob-value threshold. Filters calls with probability of heterozygous expansion less than this
+        --gangstr-expansion-prob-hom GANGSTR_EXPANSION_PROB_HOM
+        Expansion prob-value threshold. Filters calls with probability of homozygous expansion less than this
+        --gangstr-expansion-prob-total GANGSTR_EXPANSION_PROB_TOTAL
+        Expansion prob-value threshold. Filters calls with probability of total expansion less than this
+        --gangstr-filter-span-only
+        Filter out all calls that only have spanning read support
+        --gangstr-filter-spanbound-only
+        Filter out all reads except spanning and bounding
+        --gangstr-filter-badCI
+        Filter regions where the ML estimate is not in the CI
+        --gangstr-readlen GANGSTR_READLEN
+        Read length used (bp). Required if using --require-support
+
+        Call-level filters specific to adVNTR output:
+        --advntr-min-call-DP ADVNTR_MIN_CALL_DP
+        Minimum call coverage
+        --advntr-max-call-DP ADVNTR_MAX_CALL_DP
+        Maximum call coverage
+        --advntr-min-spanning ADVNTR_MIN_SPANNING
+        Minimum spanning read count (SR field)
+        --advntr-min-flanking ADVNTR_MIN_FLANKING
+        Minimum flanking read count (FR field)
+        --advntr-min-ML ADVNTR_MIN_ML
+        Minimum value of maximum likelihood (ML field)
+
+        Call-level filters specific to ExpansionHunter output:
+        --eh-min-ADFL EH_MIN_ADFL
+        Minimum number of flanking reads consistent with the allele
+        --eh-min-ADIR EH_MIN_ADIR
+        Minimum number of in-repeat reads consistent with the allele
+        --eh-min-ADSP EH_MIN_ADSP
+        Minimum number of spanning reads consistent with the allele
+        --eh-min-call-LC EH_MIN_CALL_LC
+        Minimum call coverage
+        --eh-max-call-LC EH_MAX_CALL_LC
+        Maximum call coverage
+
+        Call-level filters specific to PopSTR output:
+        --popstr-min-call-DP POPSTR_MIN_CALL_DP
+        Minimum call coverage
+        --popstr-max-call-DP POPSTR_MAX_CALL_DP
+        Maximum call coverage
+        --popstr-require-support POPSTR_REQUIRE_SUPPORT
+        Require each allele call to have at least n supporting reads
+
+        Debugging parameters:
+        --num-records NUM_RECORDS
+        Only process this many records
+        --die-on-warning Quit if a record can't be parsed
+        --verbose Print out extra info
+
+        Version:
+        --version show program's version number and exit
+    </help>
+
+
+    <citations>
+        <citation type="bibtex">@misc{TRTools: a toolkit for genome-wide analysis of tandem repeats,
+            author = {Nima Mousavi, Jonathan Margoliash, Neha Pusarla, Shubham Saini, Richard Yanicky, Melissa Gymrek},
+            year = {2020},
+            title = {TRTools},
+            publisher = {GitHub},
+            journal = {GitHub repository},
+            url = {https://github.com/gymreklab/trtools},
+            }
+        </citation>
+    </citations>
+</tool>