Mercurial > repos > lparsons > cutadapt
diff cutadapt.xml @ 5:1dada50cca8a
Support for cutadapt 0.9.5, added quality trimming and additional output options
author | Lance Parsons <lparsons@princeton.edu> |
---|---|
date | Fri, 22 Jul 2011 11:03:00 -0400 |
parents | 0a872e59164c |
children | 2d6671b10919 |
line wrap: on
line diff
--- a/cutadapt.xml Wed May 25 19:33:40 2011 -0400 +++ b/cutadapt.xml Fri Jul 22 11:03:00 2011 -0400 @@ -1,35 +1,47 @@ -<tool id="cutadapt" name="Remove adapter sequences" version="0.9.4"> - <description>from high-throughput sequence data</description> +<tool id="cutadapt" name="Cutadapt" version="0.9.5.a"> + <description>Remove adapter sequences from Fastq/Fasta</description> <requirements> <requirement type="python-module">cutadapt</requirement> </requirements> - <command interpreter="sh">discard_stderr_wrapper.sh cutadapt + <command>cutadapt #if $input.extension.startswith( "fastq"): --format=fastq #else --format=$input.extension #end if #for $a in $adapters - -a '${a.adapter_source.adapter}' + --adapter='${a.adapter_source.adapter}' #end for #for $aa in $anywhere_adapters - -b '${aa.anywhere_adapter_source.anywhere_adapter}' + --anywhere='${aa.anywhere_adapter_source.anywhere_adapter}' #end for - -e $error_rate - -n $count - -O $overlap + --error-rate=$error_rate + --times=$count + --overlap=$overlap #if str($min) != '0': - -m $min + --minimum-length=$min #end if #if str($max) != '0': - -M $max + --maximum-length=$max + #end if + #if str($quality_cutoff) != '0': + --quality-cutoff=$quality_cutoff #end if - #if $discard: - --discard + $discard + --output='$output' + #if str( $output_params.output_type ) == "additional": + #if $output_params.rest_file: + --rest-file=$rest_output + #end if + #if $output_params.too_short_file: + --too-short-output=$too_short_output + #end if + #if $output_params.untrimmed_file: + --untrimmed-output=$untrimmed_output + #end if #end if '$input' - --output='$output' > $report </command> <inputs> @@ -81,19 +93,70 @@ <param name="error_rate" type="float" min="0" max="1" value="0.1" label="Maximum error rate" help="Maximum allowed error rate (no. of errors divided by the length of the matching region)." /> <param name="count" type="integer" min="1" value="1" label="Match times" help="Try to remove adapters at most COUNT times. Useful when an adapter gets appended multiple times." /> <param name="overlap" type="integer" min="1" value="3" label="Minimum overlap length" help="Minimum overlap length. If the overlap between the adapter and the sequence is shorter than LENGTH, the read is not modified." /> - <param name="discard" type="boolean" checked="False" default="False" label="Discard Trimmed Reads" help="Discard reads that contain the adapter instead of trimming them. Use the 'Minimum overlap length' option in order to avoid throwing away too many randomly matching reads!" /> + <param name="discard" type="boolean" value="false" truevalue="--discard" falsevalue="" label="Discard Trimmed Reads" help="Discard reads that contain the adapter instead of trimming them. Use the 'Minimum overlap length' option in order to avoid throwing away too many randomly matching reads!" /> <param name="min" type="integer" min="0" optional="true" value="0" label="Minimum length" help="Discard trimmed reads that are shorter than LENGTH. Reads that are too short even before adapter removal are also discarded. In colorspace, an initial primer is not counted. Value of 0 means no minimum length." /> <param name="max" type="integer" min="0" optional="true" value="0" label="Maximum length" help="Discard trimmed reads that are longer than LENGTH. Reads that are too long even before adapter removal are also discarded. In colorspace, an initial primer is not counted. Value of 0 means no maximum length." /> + <param name="quality_cutoff" type="integer" min="0" optional="true" value="0" label="Quality cutoff" help="Trim low-quality ends from reads before adapter removal. The algorithm is the same as the one used by BWA (Subtract CUTOFF from all qualities; compute partial sums from all indices to the end of the sequence; cut sequence at the index at which the sum is minimal). Value of 0 means no quality trimming." /> + <conditional name="output_params"> + <param name="output_type" type="select" label="Additional output options" help="By default all reads will be put in the same file. However, reads with adapters matching in the middle, unmatched reads, and too-short reads can be saved in separate files."> + <option value="default">Default</option> + <option value="additional">Additional output files</option> + </param> + <when value="default" /> + <when value="additional"> + <param name="rest_file" type="boolean" value="false" label="Rest of Read" help="When the adapter matches in the middle of a read, write the rest (after the adapter) into a file."/> + <param name="too_short_file" type="boolean" value="false" label="Too Short Reads" help="Write reads that are too short (according to minimum length specified) to a file. (default: discard reads)"/> + <param name="untrimmed_file" type="boolean" value="false" label="Untrimmed Reads" help="Write reads that do not contain the adapter to a separate file, instead of writing them to the regular output file. (default: output to same file as trimmed)"/> + </when> + </conditional> </inputs> <outputs> <data format="txt" name="report" label="${tool.name} on ${on_string} (Report)" /> <data format="input" name="output" metadata_source="input"/> + <data format="input" name="rest_output" metadata_source="input" label="${tool.name} on ${on_string} (Rest of Reads)" > + <filter>(output_params['output_type'] == "additional")</filter> + <filter>(output_params['rest_file'] is True)</filter> + </data> + <data format="input" name="too_short_output" metadata_source="input" label="${tool.name} on ${on_string} (Too Short Reads)" > + <filter>(output_params['output_type'] == "additional")</filter> + <filter>(output_params['too_short_file'] is True)</filter> + </data> + <data format="input" name="untrimmed_output" metadata_source="input" label="${tool.name} on ${on_string} (Untrimmed Reads)" > + <filter>(output_params['output_type'] == "additional")</filter> + <filter>(output_params['untrimmed_file'] is True)</filter> + </data> </outputs> <tests> <test> - <param name="input" value="fa_gc_content_input.fa"/> - <output name="out_file1" file="fa_gc_content_output.txt"/> + <param name="input" value="cutadapt_small.fastq" ftype="fastqsanger"/> + <param name="adapter_source_list" value="user"/> + <param name="adapter" value=""/> + <param name="anywhere_adapter_source_list" value="user"/> + <param name="anywhere_adapter" value="TTAGACATATCTCCGTCG"/> + <param name="output_type" value="default"/> + <output name="output" file="cutadapt_small.out"/> + </test> + <test> + <param name="input" value="cutadapt_small.fastq" ftype="fastqsanger"/> + <param name="adapter_source_list" value="user"/> + <param name="adapter" value="TTAGACATATCTCCGTCG"/> + <param name="anywhere_adapter_source_list" value="user"/> + <param name="anywhere_adapter" value=""/> + <param name="discard" value="true"/> + <param name="output_type" value="default"/> + <output name="output" file="cutadapt_discard.out"/> + </test> + <test> + <param name="input" value="cutadapt_rest.fa" ftype="fasta"/> + <param name="adapter_source_list" value="user"/> + <param name="adapter" value="ADAPTER"/> + <param name="anywhere_adapter_source_list" value="user"/> + <param name="anywhere_adapter" value=""/> + <param name="output_type" value="additional"/> + <param name="rest_file" value="true"/> + <output name="output" file="cutadapt_rest.out"/> + <output name="rest_output" file="cutadapt_rest2.out"/> </test> </tests>