Mercurial > repos > nml > quasitools
changeset 5:b69e898b8109 draft
planemo upload for repository https://github.com/phac-nml/quasitools commit e30c0687f755a46c5b3bd265a1478a1abf5dc9f1
author | nml |
---|---|
date | Fri, 24 Aug 2018 16:50:28 -0400 |
parents | 8cdffc02d2e2 |
children | 9fb9fed71486 |
files | aacoverage.xml callaavar.xml callcodonvar.xml callntvar.xml consensus.xml distance.xml dnds.xml drmutations.xml hydra.xml quality.xml |
diffstat | 10 files changed, 276 insertions(+), 68 deletions(-) [+] |
line wrap: on
line diff
--- a/aacoverage.xml Wed Apr 25 10:38:00 2018 -0400 +++ b/aacoverage.xml Fri Aug 24 16:50:28 2018 -0400 @@ -1,7 +1,7 @@ -<tool id="aacoverage" name="Amino Acid Coverage" version="0.1.0"> +<tool id="aacoverage" name="Amino Acid Coverage" version="0.4.2"> <description>Builds an aa census and returns its coverage</description> <requirements> - <requirement type="package" version="0.3.1">quasitools</requirement> + <requirement type="package" version="0.4.2">quasitools</requirement> </requirements> <command detect_errors="exit_code"><![CDATA[
--- a/callaavar.xml Wed Apr 25 10:38:00 2018 -0400 +++ b/callaavar.xml Fri Aug 24 16:50:28 2018 -0400 @@ -1,15 +1,15 @@ -<tool id="aavariants" name="Amino Acid Variants" version="0.1.0"> +<tool id="aavariants" name="Amino Acid Variants" version="0.4.2"> <description>Identifies amino acid mutations</description> <requirements> - <requirement type="package" version="0.3.1">quasitools</requirement> + <requirement type="package" version="0.4.2">quasitools</requirement> </requirements> <command detect_errors="exit_code"><![CDATA[ ln -f -s ${input_bam.metadata.bam_index} ${input_bam}.bai && - quasitools call aavar $input_bam $ref_file $var_file $input_genes + quasitools call aavar $input_bam $ref_file $var_file $input_genes #if $mutation_db: - $mutation_db + $mutation_db #end if -o output.vcf
--- a/callcodonvar.xml Wed Apr 25 10:38:00 2018 -0400 +++ b/callcodonvar.xml Fri Aug 24 16:50:28 2018 -0400 @@ -1,17 +1,17 @@ -<tool id="callcodonvar" name="Codon Variants" version="0.1.0"> +<tool id="callcodonvar" name="Codon Variants" version="0.4.2"> <description>Identifies codon variants and non-synonymous/synonymous mutations</description> <requirements> - <requirement type="package" version="0.3.1">quasitools</requirement> + <requirement type="package" version="0.4.2">quasitools</requirement> </requirements> <command detect_errors="exit_code"><![CDATA[ - cat $input_genes && + cat $input_genes && ln -f -s ${input_bam.metadata.bam_index} ${input_bam}.bai && - quasitools call codonvar $input_bam $ref_file $offset $input_genes + quasitools call codonvar $input_bam $ref_file $offset $input_genes #if $error_rate: - -e $error_rate + -e $error_rate #end if -o output.csv @@ -46,7 +46,7 @@ Codon Variants ============== -Call codon variants for a given BAM. A report is generated that details nucleotide variants within a +Call codon variants for a given BAM. A report is generated that details nucleotide variants within a codon and the resulting AA variants. The report indicates whether the nucleotide variants correspond to a synonymous or non-synonymous mutation.
--- a/callntvar.xml Wed Apr 25 10:38:00 2018 -0400 +++ b/callntvar.xml Fri Aug 24 16:50:28 2018 -0400 @@ -1,15 +1,15 @@ -<tool id="callntvar" name="Nucleotide Variants" version="0.1.0"> +<tool id="callntvar" name="Nucleotide Variants" version="0.4.2"> <description>Identifies nucleotide variants</description> <requirements> - <requirement type="package" version="0.3.1">quasitools</requirement> + <requirement type="package" version="0.4.2">quasitools</requirement> </requirements> <command detect_errors="exit_code"><![CDATA[ - + ln -f -s ${input_bam.metadata.bam_index} ${input_bam}.bai && - quasitools call ntvar $input_bam $ref_file + quasitools call ntvar $input_bam $ref_file #if $error_rate: - -e $error_rate + -e $error_rate #end if -o output.vcf @@ -36,7 +36,7 @@ </test> </tests> <help><![CDATA[ - + Nucleotide Variants ===================
--- a/consensus.xml Wed Apr 25 10:38:00 2018 -0400 +++ b/consensus.xml Fri Aug 24 16:50:28 2018 -0400 @@ -1,21 +1,21 @@ -<tool id="consensus" name="Consensus Sequence" version="0.2.0"> +<tool id="consensus" name="Consensus Sequence" version="0.4.2"> <description>Generate a consensus sequence from a BAM file</description> <requirements> - <requirement type="package" version="0.3.1">quasitools</requirement> + <requirement type="package" version="0.4.2">quasitools</requirement> </requirements> <command detect_errors="exit_code"><![CDATA[ ln -f -s ${input_bam.metadata.bam_index} ${input_bam}.bai && - quasitools consensus $input_bam $ref_file + quasitools consensus $input_bam $ref_file #if $fasta_id.type == 'default': - -i '${input_bam.element_identifier}' + -i '${input_bam.element_identifier}' #elif $fasta_id.type == 'custom': -i '${fasta_id.custom_id}' #end if #if $base_type.type == 'mixed': - -p $base_type.percentage + -p $base_type.percentage #end if -o output.fasta
--- a/distance.xml Wed Apr 25 10:38:00 2018 -0400 +++ b/distance.xml Fri Aug 24 16:50:28 2018 -0400 @@ -1,7 +1,7 @@ -<tool id="distance" name="Quasispecies Distance" version="0.1.0"> +<tool id="distance" name="Quasispecies Distance" version="0.4.2"> <description>Calculate the evolutionary distance between viral quasispecies.</description> <requirements> - <requirement type="package" version="0.3.1">quasitools</requirement> + <requirement type="package" version="0.4.2">quasitools</requirement> </requirements> <command detect_errors="exit_code"><![CDATA[
--- a/dnds.xml Wed Apr 25 10:38:00 2018 -0400 +++ b/dnds.xml Fri Aug 24 16:50:28 2018 -0400 @@ -1,7 +1,7 @@ -<tool id="dnds" name="dNdS Report" version="0.1.0"> +<tool id="dnds" name="dNdS Report" version="0.4.2"> <description>Calculate the dN/dS value for each region in a bed file</description> <requirements> - <requirement type="package" version="0.3.1">quasitools</requirement> + <requirement type="package" version="0.4.2">quasitools</requirement> </requirements> <command detect_errors="exit_code"><![CDATA[
--- a/drmutations.xml Wed Apr 25 10:38:00 2018 -0400 +++ b/drmutations.xml Fri Aug 24 16:50:28 2018 -0400 @@ -1,15 +1,15 @@ -<tool id="drmutations" name="Drug Resistance Mutations" version="0.1.0"> +<tool id="drmutations" name="Drug Resistance Mutations" version="0.4.2"> <description></description> <requirements> - <requirement type="package" version="0.3.1">quasitools</requirement> + <requirement type="package" version="0.4.2">quasitools</requirement> </requirements> <command detect_errors="exit_code"><![CDATA[ ln -f -s ${input_bam.metadata.bam_index} ${input_bam}.bai && - quasitools drmutations $input_bam $ref_file $var_file $input_genes - + quasitools drmutations $input_bam $ref_file $var_file $input_genes + #if $mutation_db: - $mutation_db + $mutation_db #end if #if $min_freq: @@ -17,11 +17,11 @@ #end if #if $reporting_thres: - -t $reporting_thres + -t $reporting_thres #end if -o output.csv - + ]]></command> <inputs> <param name="input_bam" type="data" format="bam" optional="false" label="Bam file" />
--- a/hydra.xml Wed Apr 25 10:38:00 2018 -0400 +++ b/hydra.xml Fri Aug 24 16:50:28 2018 -0400 @@ -1,88 +1,102 @@ -<tool id="hydra" name="Hydra pipeline" version="0.2.0"> +<tool id="hydra" name="Hydra pipeline" version="0.4.2"> <description>Identifies drug resistance within an NGS dataset</description> <requirements> - <requirement type="package" version="0.3.1">quasitools</requirement> + <requirement type="package" version="0.4.2">quasitools</requirement> </requirements> <command detect_errors="exit_code"><![CDATA[ - quasitools hydra + quasitools hydra ## Preparing file input. #if $data_type.type == "paired": - '$data_type.fastq_input1' - '$data_type.fastq_input2' + '$data_type.fastq_input1' + '$data_type.fastq_input2' #elif $data_type.type == "collection": - '$data_type.fastq_input1.forward' - '$data_type.fastq_input1.reverse' + '$data_type.fastq_input1.forward' + '$data_type.fastq_input1.reverse' #elif $data_type.type == "single": - '$data_type.fastq_input1' + '$data_type.fastq_input1' #end if #if $mutation_db: - -m '$mutation_db' + -m '$mutation_db' #end if #if $reporting_threshold: - -rt '$reporting_threshold' + -rt '$reporting_threshold' #end if #if $consensus_pct: - -cp '$consensus_pct' + -cp '$consensus_pct' #end if #if $length_cutoff: - -lc '$length_cutoff' + -lc '$length_cutoff' #end if #if $score_cutoff: - -sc '$score_cutoff' + -sc '$score_cutoff' #end if #if $error_rate: - -e '$error_rate' + -e '$error_rate' #end if - #if $min_qual: - -mq '$min_qual' + #if $min_read_qual: + -rq '$min_read_qual' + #end if + + #if $min_variant_qual: + -vq '$min_variant_qual' #end if #if $min_depth: - -md '$min_depth' + -md '$min_depth' #end if #if $min_ac: - -ma '$min_ac' + -ma '$min_ac' #end if #if $min_freq: - -mf '$min_freq' + -mf '$min_freq' #end if #if $consensus.consensus_bool == "true_consensus": - --generate_consensus + --generate_consensus #if $consensus.fasta_id.type == "default": - --id + --id #if $data_type.type == "paired": '${fastq_input1.element_identifier}'_'${fastq_input2.element_identifier}' #elif $data_type.type == "single": '${fastq_input1.element_identifier}' #end if #elif $consensus.fasta_id.type == "custom": - --id '$consensus.fasta_id.custom_id' + --id '$consensus.fasta_id.custom_id' #end if #end if - #if $filter_ns: - --ns + #if $low_quality.qual_selector == "filter_ns": + --ns + #elif $low_quality.qual_selector == "mask_reads": + --mask_reads #end if + #if $score_type.score_selector == "median": + --median + #elif $score_type.score_selector == "mean": + --mean + #end if + + $trim_reads + -o output ]]></command> @@ -107,19 +121,21 @@ <param name="mutation_db" type="data" format="tsv" optional="true" label="Mutation DB" help="Defaults to HIV mutation database." /> <param name="reporting_threshold" type="integer" optional="true" min="1" max="100" value="1" label="Reporting threshold. Defaults to 1." help="Minimum mutation frequency to report." /> <param name="consensus_pct" type="integer" optional="true" min="1" max="20" value="20" label="Consensus percentage" help="Minimum mutation frequency to report. Defaults to 20." /> - <param name="length_cutoff" type="integer" optional="true" min="0" max="1000" label="Length cutoff" value="100" help="Reads which fall short of the specified length will be filtered out. Defaults to 100." /> - <param name="score_cutoff" type="integer" optional="true" min="0" max="40" label="Score cutoff" value="30" help="Reads whose average quality score is less than the specified score will be filtered out. Defaults to 30." /> + <param name="length_cutoff" type="integer" optional="true" min="1" max="1000" label="Length cutoff" value="100" help="Reads which fall short of the specified length will be filtered out. Defaults to 100." /> + <param name="score_cutoff" type="integer" optional="true" min="0" max="40" label="Score cutoff" value="30" help="Reads whose median or mean quality score (depending on the score type specified) is less than the specified score cutoff value will be filtered out. Defaults to 30." /> <param name="error_rate" type="float" optional="true" min="0" max="1" label="Error rate" value="0.0021" help="Estimated sequencing error rate. Defaults to 0.0021."/> - <param name="min_qual" type="integer" optional="true" min="1" max="100" label="Minimum quality" value="30" help="Minimum required quality for variant to be considered later on in the pipeline. Defaults to 30." /> + <param name="min_variant_qual" type="integer" optional="true" min="1" max="100" label="Minimum quality" value="30" help="Minimum required quality for variant to be considered later on in the pipeline. Defaults to 30." /> + <param name="min_read_qual" type="integer" optional="true" min="1" max="100" label="Minimum quality" value="30" help="Minimum required quality for a position in a read not to be masked, is masking is enabled. Defaults to 30." /> <param name="min_depth" type="integer" optional="true" min="0" max="5000" label="Minimum depth" value="100" help="Minimum required depth for variant to be considered later on in the pipeline. Defaults to 100." /> <param name="min_ac" type="integer" optional="true" min="0" max="5000" label="Minimum allele count" value="5" help="Minimum required allele count for variant to be considered later on in the pipeline. Defaults to 5." /> <param name="min_freq" type="float" optional="true" min="0" max="1" label="Minimum frequency" value="0.01" help="Minimum required frequency for variant to be considered later on in the pipeline. Defaults to 0.01." /> + <param name="trim_reads" type="boolean" optional="true" checked="false" truevalue="-tr" falsevalue="" label="Trim reads" help="Iteratively trim reads based on filter values if enabled." /> <conditional name="consensus"> <param name="consensus_bool" type="select" label="Generate consensus sequence." multiple="false" display="radio"> <option value="true_consensus">True</option> <option selected="true" value="false_consensus">False</option> </param> - <when value="true_consensus"> + <when value="true_consensus"> <conditional name="fasta_id"> <param name="type" type="select" label="Specify consensus fasta identifier" multiple="false" display="radio"> <option value="default" >Use fasta dataset name</option> @@ -130,16 +146,37 @@ <when value="custom"> <param name="custom_id" type="text" optional="false" value="custom_id" label="Fasta identifier" help="Type in a fasta identifier."/> </when> - </conditional> + </conditional> </when> - <when value="false_consensus"> + <when value="false_consensus"> </when> </conditional> - <param name="filter_ns" type="boolean" truevalue="--ns" falsevalue="" checked="False" label="Filter out n's" /> + <conditional name="low_quality"> + <param name="qual_selector" type="select" label="Filter out regions masked, or mask low coverage regions with n's." multiple="false" display="radio"> + <option value="filter_ns">Filter out regions with n's</option> + <option value="mask_reads">Mask low coverage regions with n's</option> + <option value="neither" selected="true">Do not filter or mask low coverage regions.</option> + </param> + <when value="filter_ns"> + </when> + <when value="mask_reads"> + </when> + <when value="neither"> + </when> + </conditional> + <conditional name="score_type"> + <param name="score_selector" type="select" label="Use either median score (default) or mean score for the score cutoff value." multiple="false" display="radio"> + <option value="median" selected="true">Use median score</option> + <option value="mean">Use mean score</option> + </param> + <when value="median"> + </when> + <when value="mean"> + </when> + </conditional> </inputs> <outputs> <data format="bam" label="HyDRA: alignment bam output" name="output_bam" from_work_dir="output/align.bam" /> - <data format="bam" label="HyDRA: bam.bai output" name="output_bam_bai" from_work_dir="output/align.bam.bai" /> <data format="csv" label="HyDRA: coverage output" name="output_coverage" from_work_dir="output/coverage_file.csv" /> <data format="csv" label="HyDRA: drug resistance output" name="output_dr" from_work_dir="output/dr_report.csv" /> <data format="fastq" label="HyDRA: filtered reads output" name="output_filtered" from_work_dir="output/filtered.fastq" /> @@ -154,6 +191,7 @@ <test> <param name="type" value="single"/> <param name="fastq_input1" value="forward.fastq" /> + <param name="score_selector" value="mean" /> <output name="output_coverage"> <assert_contents> <has_text text="frame: 0" /> @@ -237,7 +275,6 @@ /tmp/hydra_out/ * align.bam - * align.bam.bai * coverage_file.csv * dr_report.csv * filtered.fastq @@ -250,7 +287,6 @@ * __run.conf__: The configuration used when this output was produced. * __reads_w_K103N/__: The results directory for the input file reads_w_K103N.fastq * __align.bam__: The alignment file in bam format. - * __align.bam.bai__: The index to the alignment file. * __coverage_file.csv__: A file with one entry per line with the AA position and the coverage at the position. * __dr_report.csv__: A report detailing the drug resistant mutations found, above the reporting threshold (default: 1%). * __filtered.fastq__: The reads remaining after the filtering stage.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quality.xml Fri Aug 24 16:50:28 2018 -0400 @@ -0,0 +1,172 @@ +<tool id="quality" name="Quality control" version="0.4.2"> + <description>Performs quality control on FASTQ reads.</description> + <requirements> + <requirement type="package" version="0.4.2">quasitools</requirement> + </requirements> + <command detect_errors="exit_code"><![CDATA[ + + quasitools quality + + ## Preparing file input. + #if $data_type.type == "paired": + + '$data_type.fastq_input1' + '$data_type.fastq_input2' + + #elif $data_type.type == "collection": + + '$data_type.fastq_input1.forward' + '$data_type.fastq_input1.reverse' + + #elif $data_type.type == "single": + + '$data_type.fastq_input1' + + #end if + + #if $length_cutoff: + -lc '$length_cutoff' + #end if + + #if $score_cutoff: + -sc '$score_cutoff' + #end if + + #if $min_read_qual: + -rq '$min_read_qual' + #end if + + #if $low_quality.qual_selector == "filter_ns": + --ns + #elif $low_quality.qual_selector == "mask_reads": + --mask_reads + #end if + + #if $score_type.score_selector == "median": + --median + #elif $score_type.score_selector == "mean": + --mean + #end if + + $trim_reads + + -o output + + ]]></command> + <inputs> + <conditional name="data_type"> + <param name="type" type="select" label="Specify the read type."> + <option value="single">Single-end Data</option> + <option value="paired">Paired-end Data</option> + <option value="collection">Collection Paired-end Data</option> + </param> + <when value="single"> + <param name="fastq_input1" type="data" format="fastq" label="Single end read file(s)"/> + </when> + <when value="paired"> + <param name="fastq_input1" type="data" format="fastq" label="Forward paired-end read file"/> + <param name="fastq_input2" type="data" format="fastq" label="Reverse paired-end read file"/> + </when> + <when value="collection"> + <param name="fastq_input1" type="data_collection" label="Paired-end reads collection" optional="false" format="fastq" collection_type="paired" /> + </when> + </conditional> + <param name="length_cutoff" type="integer" optional="true" min="1" max="1000" label="Length cutoff" value="100" help="Reads which fall short of the specified length will be filtered out. Defaults to 100." /> + <param name="score_cutoff" type="integer" optional="true" min="0" max="40" label="Score cutoff" value="30" help="Reads whose median or mean quality score (depending on the score type specified) is less than the specified score cutoff value will be filtered out. Defaults to 30." /> + <param name="min_read_qual" type="integer" optional="true" min="1" max="100" label="Minimum quality" value="30" help="Minimum required quality for a position in a read not to be masked, is masking is enabled. Defaults to 30." /> + <param name="trim_reads" type="boolean" optional="true" checked="false" truevalue="-tr" falsevalue="" label="Trim reads" help="Iteratively trim reads based on filter values if enabled." /> + <conditional name="low_quality"> + <param name="qual_selector" type="select" label="Filter out regions masked, or mask low coverage regions with n's." multiple="false" display="radio"> + <option value="filter_ns">Filter out regions with n's</option> + <option value="mask_reads">Mask low coverage regions with n's</option> + <option value="neither" selected="true">Do not filter or mask low coverage regions.</option> + </param> + <when value="filter_ns"> + </when> + <when value="mask_reads"> + </when> + <when value="neither"> + </when> + </conditional> + <conditional name="score_type"> + <param name="score_selector" type="select" label="Use either median score (default) or mean score for the score cutoff value." multiple="false" display="radio"> + <option value="median" selected="true">Use median score</option> + <option value="mean">Use mean score</option> + </param> + <when value="median"> + </when> + <when value="mean"> + </when> + </conditional> + </inputs> + <outputs> + <data format="fastq" label="Quality control output" name="output_filtered" from_work_dir="output/filtered.fastq" /> + </outputs> + <tests> + <test> + <param name="type" value="single"/> + <param name="fastq_input1" value="forward.fastq" /> + <param name="score_selector" value="median" /> + <output name="output_filtered"> + <assert_contents> + <has_text text="@M01647:10:000000000-ACPHB:1:1101:18589:1580 1:N:0:86" /> + <has_text text="CCCCCGG@FFGGGGGGGGGGGGCGGGGGGGGDGFFFGGGGGDEGCFGCFFFGGGGGGGGGGGGGGGGFGGGGGGGGGGFCFCGGGGCGFGGGGFGEGGGGGGGGGGGGGGGGGGGGGFEFGGGGGGF" /> + </assert_contents> + </output> + </test> + <test> + <param name="type" value="single"/> + <param name="fastq_input1" value="forward.fastq" /> + <param name="score_selector" value="median" /> + <param name="qual_selector" value="filter_ns" /> + <output name="output_filtered"> + <assert_contents> + <has_text text="@M01647:10:000000000-ACPHB:1:1101:18589:1580 1:N:0:86" /> + <has_text text="CCCCCGG@FFGGGGGGGGGGGGCGGGGGGGGDGFFFGGGGGDEGCFGCFFFGGGGGGGGGGGGGGGGFGGGGGGGGGGFCFCGGGGCGFGGGGFGEGGGGGGGGGGGGGGGGGGGGGFEFGGGGGGF" /> + </assert_contents> + </output> + </test> + <test> + <param name="type" value="single"/> + <param name="fastq_input1" value="forward.fastq" /> + <param name="score_selector" value="median" /> + <param name="trim_reads" value="-tr" /> + <output name="output_filtered"> + <assert_contents> + <has_text text="@M01647:10:000000000-ACPHB:1:1101:18589:1580 1:N:0:86" /> + <has_text text="CCCCCGG@FFGGGGGGGGGGGGCGGGGGGGGDGFFFGGGGGDEGCFGCFFFGGGGGGGGGGGGGGGGFGGGGGGGGGGFCFCGGGGCGFGGGGFGEGGGGGGGGGGGGGGGGGGGGGFEFGGGGGGF" /> + </assert_contents> + </output> + </test> + <test> + <param name="type" value="single"/> + <param name="fastq_input1" value="forward.fastq" /> + <param name="score_selector" value="median" /> + <param name="qual_selector" value="mask_reads" /> + <output name="output_filtered"> + <assert_contents> + <has_text text="@M01647:10:000000000-ACPHB:1:1101:18589:1580 1:N:0:86" /> + <has_text text="NNNNNNTACCACATCCCNCNNNNTTNNNNNNNNNNANNTCNNTNNCNNTNCTNNNTNTNNNTGNTGCNTNTTTTTCAGTTCCCTTNGNTGNNGNCTTCAGNNNNTATACTGCATTTACCNTNCNT" /> + </assert_contents> + </output> + </test> + <test> + <param name="type" value="single"/> + <param name="fastq_input1" value="forward.fastq" /> + <param name="score_selector" value="mean" /> + <output name="output_filtered"> + <assert_contents> + <has_text text="@M01647:10:000000000-ACPHB:1:1101:10485:1674 1:N:0:86" /> + <has_text text="CCCCCGG@FFGGGGGGGGGGGGCGGGGGGGGDGFFFGGGGGDEGCFGCFFFGGGGGGGGGGGGGGGGFGGGGGGGGGGFCFCGGGGCGFGGGGFGEGGGGGGGGGGGGGGGGGGGGGFEFGGGGGGF" /> + </assert_contents> + </output> + </test> + </tests> + <help><![CDATA[ +Quality Control +=============== + +Perform quality control on FASTQ reads.]]></help> + <citations> + </citations> +</tool>