Mercurial > repos > thanhlv > bbmap
diff filter_by_name.xml @ 4:e40d2adb0896 draft
"planemo upload for repository https://github.com/quadram-institute-bioscience/galaxy-tools/tree/master/tools/bbmap commit d468e81e47906b2427e4e61f70101fac00a34aab-dirty"
| author | thanhlv |
|---|---|
| date | Thu, 02 Jan 2020 17:17:56 +0000 |
| parents | |
| children | 5127e62d11fb |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/filter_by_name.xml Thu Jan 02 17:17:56 2020 +0000 @@ -0,0 +1,132 @@ +<?xml version="1.0"?> +<tool id="bbmap_filterbyname" name="filter_by_name" version="@VERSION@"> + <description>Filters reads by name</description> + <macros> + <import>macros.xml</import> + </macros> + <expand macro="requirements" /> + <expand macro="version_command" /> + + <command><![CDATA[ + #if $singlePaired.sPaired == "single": + #if $singlePaired.input_singles.is_of_type("fastq.gz"): + #set read1 = 'input_1.fastq.gz' + #set compressed = 'gz' + #else + #set read1 = 'input_1.fastq' + #end if + + #set fil_input = 'in='+ $read1 + ' out=f_read.fq' + + ln -s '${singlePaired.input_singles}' ${read1} && + #elif $singlePaired.sPaired == "paired": + #if $singlePaired.input_mate1.is_of_type("fastq.gz"): + #set read1 = 'input_1.fastq.gz' + #set compressed = 'gz' + #else + #set read1 = 'input_1.fastq' + #end if + + ln -s '${singlePaired.input_mate1}' ${read1} && + + #if $singlePaired.input_mate2.is_of_type("fastq.gz"): + #set read2 = 'input_2.fastq.gz' + #else + #set read2 = 'input_2.fastq' + #end if + ln -s '${singlePaired.input_mate2}' ${read2} && + #set fil_input = 'in=' + $read1 + ' in2=' + $read2 + ' out=f_read1.fq out2=f_read2.fq' + #else: + #if $singlePaired.input_mate_pairs.forward.is_of_type("fastq.gz"): + #set read1 = 'input_1.fastq.gz' + #set compressed = 'gz' + #else + #set read1 = 'input_1.fastq' + #end if + ln -s '${singlePaired.input_mate_pairs.forward}' ${read1} && + + #if $singlePaired.input_mate_pairs.reverse.is_of_type("fastq.gz"): + #set read2 = 'input_2.fastq.gz' + #else + #set read2 = 'input_2.fastq' + #end if + ln -s '${singlePaired.input_mate_pairs.reverse}' ${read2} && + #set fil_input = 'in=' + $read1 + ' in2=' + $read2 + ' out=f_read1.fq out2=f_read2.fq' + #end if + + filterbyname.sh + ${fil_input} + #if $source.type == "input_string": + names=$source.in_string + #elif $source.type == "name": + names=$source.name_list + #end if + include=$include + 2>&1 | tee > log.txt + ]]> </command> + <inputs> + <conditional name="singlePaired"> + <param name="sPaired" type="select" label="Is the input paired- or single-end?"> + <option value="single">Single-end</option> + <option value="paired">Paired-end</option> + <option value="paired_collection">Paired Collection</option> + </param> + <when value="single"> + <param name="input_singles" type="data" format="fastqsanger,fastqsanger.gz,fastq,fastq.gz" label="Reads in FASTQ format" /> + </when> + <when value="paired"> + <param name="input_mate1" type="data" format="fastqsanger,fastqsanger.gz,fastq,fastq.gz" label="Forward read" /> + <param name="input_mate2" type="data" format="fastqsanger,fastqsanger.gz,fastq,fastq.gz" label="Reversed read" /> + </when> + <when value="paired_collection"> + <param name="input_mate_pairs" format="fastqsanger,fastqsanger.gz,fastq,fastq.gz" type="data_collection" collection_type="paired" label="Select a paired collection" help="See help section for an explanation of dataset collections"/> + </when> + </conditional> + <conditional name="source"> + <param name="type" type="select" label="Select source of sequence choices"> + <option value="input_string">Text</option> + <option value="name">FASTA/Q ID list</option> + </param> + <when value="input_string"> + <param name="in_string" type="text" label="Input string" help="string1,string2,string3,...,stringn"/> + </when> + <when value="name"> + <param name="name_list" type="data" format="txt" label="Input ID list"/> + </when> + </conditional> + <param name="include" type="boolean" truevalue="t" falsevalue="f" checked="true" label="Include the filtered names" /> + </inputs> + <outputs> + <data name="log" from_work_dir="log.txt" format="txt" label="${tool.name} on ${on_string}: Log" /> + <data format_source="input_singles" name="filtered_reads_single" from_work_dir="f_read.fq" label="${tool.name} on ${on_string}: filtered reads"> + <filter>singlePaired['sPaired'] == "single"</filter> + </data> + <data format="fastqsanger" name="filtered_reads_pair1" from_work_dir="f_read1.fq" label="${tool.name} on ${on_string}: filtered reads pair 1"> + <filter>singlePaired['sPaired'] == "paired"</filter> + </data> + + <data format="fastqsanger" name="filtered_reads_pair2" from_work_dir="f_read2.fq" label="${tool.name} on ${on_string}: filtered reads pair 2"> + <filter>singlePaired['sPaired'] == "paired"</filter> + </data> + + <collection name="filtered_collection" type="paired" label="${tool.name} on ${on_string}: Filtered reads by name"> + <data name="forward" format_source="input_mate_pairs['forward']" from_work_dir="f_read1.fq"/> + <data name="reverse" format_source="input_mate_pairs['forward']" from_work_dir="f_read2.fq"/> + <filter>singlePaired['sPaired'] == "paired_collection"</filter> + </collection> + </outputs> + <tests> + <test> + <param name="sPaired" value="paired"/> + <param name="input_mate1" value="forward.fq.gz"/> + <param name="input_mate1" value="reverse.fq.gz"/> + <param name="type" value="name"/> + <param name="name_list" value="name.list"/> + <output name="filtered_reads_pair1" value="f_read1.fq" ftype="fastqsanger" compare="sim_size"/> + <output name="filtered_reads_pair2" value="f_read2.fq" ftype="fastqsanger" compare="sim_size"/> + </test> + </tests> + <help><![CDATA[ + ]]> </help> + <expand macro="citations" /> +</tool>
