Mercurial > repos > bebatut > extract_sequence_file
diff extract_sequence_file.xml @ 0:14fd6f3b0898 draft
planemo upload for repository https://github.com/ASaiM/galaxytools/tree/master/tools/extract_sequence_file/ commit ffb68b2ddd94854a34a2533105f7bc08884c6e38-dirty
author | bebatut |
---|---|
date | Wed, 27 Jan 2016 02:50:51 -0500 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/extract_sequence_file.xml Wed Jan 27 02:50:51 2016 -0500 @@ -0,0 +1,296 @@ +<tool id="extract_sequence_file" name="Extract" version="0.1.0"> + + <description>from sequence file</description> + + <macros> + <xml name="fasta_option"> + <option value="id">Identifiant</option> + <option value="length">Length</option> + <option value="description">Description</option> + </xml> + <xml name="fastq_option"> + <option value="id">Identifiant</option> + <option value="length">Length</option> + <option value="description">Description</option> + </xml> + <xml name="test_constrain_extraction"> + <param name='constrained_extraction' type='boolean' checked="false" + truevalue='true' falsevalue='false' label="Constrain extraction?" help=""/> + </xml> + <xml name="constrain_string"> + <conditional name="constraint_type"> + <param name="type" type="select" display="radio" label="Type of + constraint" help=""> + <option value="equal">Equal a value</option> + <option value="in">In a list</option> + <option value="not_in">Not in a list</option> + </param> + <when value="equal"> + <param name="value" type="text" size="200" label="Equal to" + help=""/> + <validator type="empty_field" message="Give a value"/> + </when> + <when value="in"> + <param format="txt" name="value" type="data" label="List of + constraint" help="Text file with a value per line and + nothing else"/> + <validator type="unspecified_build" message="Select a file"/> + </when> + <when value="not_in"> + <param format="txt" name="value" type="data" label="List of + constraint" help="Text file with a value per line and + nothing else"/> + <validator type="unspecified_build" message="Select a file"/> + </when> + </conditional> + </xml> + <xml name="constrain_number"> + <param name="type" type="select" label="Type of constraint" help=""> + <option value="equal">Equal to </option> + <option value="lower">Lower than </option> + <option value="strictly_lower">Strictly lower than </option> + <option value="greater">Greater than </option> + <option value="strictly_greater">Strictly greater than </option> + </param> + </xml> + <xml name="constraint_definitions"> + <conditional name="constraints"> + <expand macro="test_constrain_extraction" /> + <when value="true"> + <repeat name="constraint_definition" title="Constraints on + sequences" min="1"> + <conditional name="constrained_information"> + <param name="info_to_constrain" type="select" + label="Information to constrain" help=""> + <option value="id">Identifiant</option> + <option value="length">Length</option> + </param> + <when value="id"> + <expand macro="constrain_string" /> + </when> + <when value="length"> + <repeat name="constraint_definition" title="Constraint + on sequence length" min="1"> + <expand macro="constrain_number" /> + <param name="value" type="integer" min="0" + max="3000" value="100" label="Value" help=""/> + </repeat> + </when> + </conditional> + </repeat> + </when> + <when value="false" /> + </conditional> + </xml> + </macros> + + <requirements> + </requirements> + + <stdio> + </stdio> + + <version_command><![CDATA[python -version]]></version_command> + + <!--<command>--> + <command><![CDATA[ + python $__tool_directory__/extract_sequence_file.py + --input=$sequence_file_format.sequence_file + + --custom_extraction_type=$sequence_file_format.extraction.specific_extraction + #if $sequence_file_format.extraction.specific_extraction : + --to_extract="{$sequence_file_format.extraction.to_extract}" + --output_information=$information_file + #else if $sequence_file_format.format=="fastq": + --split=$sequence_file_format.extraction.split.split_test + #if $sequence_file_format.extraction.split.split_test : + --quality_format=$sequence_file_format.extraction.split.quality_format + --output_sequence=$fasta_sequence_file_from_fastq + --output_quality=$quality_file + #else: + --output_sequence=$fastq_sequence_file + #end if + #else: + --output_sequence=$fasta_sequence_file + #end if + + #if $constraints.constrained_extraction : + #for $i, $constrain in enumerate( $constraints.constraint_definition ) + #set info_to_constrain=$constrain.constrained_information['info_to_constrain'] + #if $info_to_constrain in ("id"): + --constraint="$info_to_constrain: + ${constrain.constrained_information.constraint_type.type}: + ${constrain.constrained_information.constraint_type.value}" + #else: + #for $j, $sub_constrain in enumerate( $constrain.constrained_information.constraint_definition ) + --constraint="$info_to_constrain: + ${sub_constrain.type}: + ${sub_constrain.value}" + #end for + #end if + #end for + #end if + + --report $report_filepath + --format=$sequence_file_format.format + ]]> + </command> + + <inputs> + <conditional name="sequence_file_format"> + <param name="format" type="select" display="radio" + label="Format of the sequence file" help=""> + <option value="fasta">Fasta</option> + <option value="fastq">FastQ</option> + </param> + <when value="fastq"> + <param name="sequence_file" type="data" format="fastq" + label="Sequence file" help=""/> + <conditional name="extraction"> + <param name='specific_extraction' type='boolean' + checked="false" truevalue='true' falsevalue='false' + label="Extract specific information?" + help="If no is selected, a sequence file is generated. + If yes, a text file containing the wanted information is + generated"/> + <when value="true"> + <param name="to_extract" type="select" display="checkboxes" + multiple="true" label="Information to extract" help=""> + <expand macro="fasta_option" /> + <validator type="no_options" message="Select at least + one information to extract"/> + </param> + </when> + <when value="false"> + <conditional name="split"> + <param name='split_test' type='boolean' checked="false" + truevalue='true' falsevalue='false' label="Split + file into sequence and quality files?" help="If + yes is selected, a fasta and a quality file are + generated. If no, a fastq file is generated"/> + <when value="true"> + <param name="quality_format" type="select" + display="radio" label="Coding of quality + scores?" help=""> + <option value="sanger" selected="true">Sanger (Phred+33)</option> + <option value="solexa">Solexa (Solexa+64) </option> + <option value="illumina_1_3">Illumina 1.3+ (Phred+64) </option> + <option value="illumina_1_5">Illumina 1.5+ (Phred+64) </option> + <option value="illumina_1_8">Illumina 1.8+ (Phred+33) </option> + </param> + </when> + <when value="false" /> + </conditional> + </when> + </conditional> + </when> + <when value="fasta"> + <param name="sequence_file" type="data" format="fasta" + label="Sequence file" help=""/> + <conditional name="extraction"> + <param name='specific_extraction' type='boolean' checked="false" + truevalue='true' falsevalue='false' label="Extract specific + information?" help="If no is selected, a sequence file is + generated. If yes, a text file containing the wanted + information is generated"/> + <when value="true"> + <param name="to_extract" type="select" display="checkboxes" + multiple="true" label="Information to extract" help=""> + <expand macro="fasta_option" /> + <validator type="no_options" message="Select at least + one information to extract"/> + </param> + </when> + <when value="false" /> + </conditional> + </when> + </conditional> + + <expand macro="constraint_definitions" /> + </inputs> + + <outputs> + <data format="txt" name="information_file" + label="${tool.name} on ${on_string}: Information"> + <filter>((sequence_file_format['extraction']['specific_extraction']))</filter> + </data> + + <data format="fasta" name="fasta_sequence_file" + label="${tool.name} on ${on_string}: Extracted sequences" > + <filter>((sequence_file_format['format'] == 'fasta' and + not sequence_file_format['extraction']['specific_extraction']))</filter> + </data> + + <data format="fastq" name="fastq_sequence_file" + label="${tool.name} on ${on_string}: Extracted sequences"> + <filter>((sequence_file_format['format'] == 'fastq' and + not sequence_file_format['extraction']['specific_extraction'] and + not sequence_file_format['extraction']['split']['split_test']))</filter> + </data> + + <data format="qual" name="quality_file" + label="${tool.name} on ${on_string}: Extracted quality"> + <filter>((sequence_file_format['format'] == 'fastq' and + not sequence_file_format['extraction']['specific_extraction'] and + sequence_file_format['extraction']['split']['split_test']))</filter> + </data> + + <data format="fasta" name="fasta_sequence_file_from_fastq" + label="${tool.name} on ${on_string}: Extracted sequences"> + <filter>((sequence_file_format['format'] == 'fastq' and + not sequence_file_format['extraction']['specific_extraction'] and + sequence_file_format['extraction']['split']['split_test']))</filter> + </data> + + <data format="txt" name="report_filepath" + label="${tool.name} on ${on_string}: Report"/> + </outputs> + + <tests> + <test> + <param name="sequence_file_format.sequence_file" + value="read_write_fasta_file/input_sequence_file.fasta"/> + <param name="sequence_file_format.extraction.specific_extraction" + value="false"/> + <param name="$sequence_file_format.format" value="fasta" /> + <output name="fasta_sequence_file" + file="read_write_fasta_file/input_sequence_file.fasta"/> + <output name="report_filepath" + file="read_write_fasta_file/expected_output_report.txt"/> + </test> + </tests> + + <help><![CDATA[ + +**What it does** + +This tool extracts information from sequence files. + +Some constraints could be added to extraction. For example, you choose +to extract only sequences for which the length is greater than 30 bp. + +More information on `ASaiM documentation <http://asaim.readthedocs.org/>`_... + +----- + +**Input** + +The input is one file in fasta or fastq. + +----- + +**Outputs** + +The tool generates different outputs given the choosen parameters: + + - a sequence file + - a text file + - a sequence file and a quality file + +]]> + </help> + + <citations> + </citations> +</tool> +