Mercurial > repos > iuc > rasusa
comparison rasusa.xml @ 3:add156116c63 draft default tip
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/rasusa commit 3a1b13f3f0845f60b4a023fd547a9d2ad0170072
| author | iuc |
|---|---|
| date | Wed, 10 Jul 2024 17:01:16 +0000 |
| parents | c8f1cd6c1fbf |
| children |
comparison
equal
deleted
inserted
replaced
| 2:c8f1cd6c1fbf | 3:add156116c63 |
|---|---|
| 1 <tool id="rasusa" name="rasusa" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="22.05"> | 1 <tool id="rasusa" name="rasusa" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="22.05"> |
| 2 <description>Randomly subsample reads to a specified coverage</description> | 2 <description>Randomly subsample reads to a specified coverage</description> |
| 3 <macros> | 3 <macros> |
| 4 <token name="@TOOL_VERSION@">0.8.0</token> | 4 <token name="@TOOL_VERSION@">2.0.0</token> |
| 5 <token name="@VERSION_SUFFIX@">0</token> | 5 <token name="@VERSION_SUFFIX@">0</token> |
| 6 <token name="@FORMATS@">fastqsanger,fastqsanger.gz,fasta,fasta.gz</token> | 6 <token name="@FORMATS@">fastqsanger,fastqsanger.gz,fasta,fasta.gz</token> |
| 7 <xml name="size_units"> | 7 <xml name="size_units"> |
| 8 <option value="b">bases</option> | 8 <option value="b">bases</option> |
| 9 <option value="k">Kilo bases</option> | 9 <option value="k">Kilo bases</option> |
| 10 <option value="m">Mega bases</option> | 10 <option value="m">Mega bases</option> |
| 11 <option value="g">Giga bases</option> | 11 <option value="g">Giga bases</option> |
| 12 <option value="t">Tera bases</option> | 12 <option value="t">Tera bases</option> |
| 13 </xml> | 13 </xml> |
| 14 </macros> | 14 <xml name="params_fastq"> |
| 15 <xrefs> | 15 <conditional name="subsample"> |
| 16 <xref type='bio.tools'>rasusa</xref> | 16 <param name="type" type="select" label="Subsample reads based on"> |
| 17 </xrefs> | 17 <option value="coverage">Coverage</option> |
| 18 <requirements> | 18 <option value="num_bases">Number of bases</option> |
| 19 <requirement type="package" version="@TOOL_VERSION@">rasusa</requirement> | 19 <option value="num_reads">Number of reads</option> |
| 20 </requirements> | 20 <option value="frac_reads" selected="true">Fraction of reads</option> |
| 21 | 21 </param> |
| 22 <command detect_errors="exit_code"><![CDATA[ | 22 <when value="coverage"> |
| 23 rasusa | 23 <param name="genome_size_unit" type="select" label="Specify genome size in"> |
| 24 #if str( $input.input_selector ) == "paired": | 24 <expand macro="size_units" /> |
| 25 #set r1_ext = $input.reads1.extension | 25 </param> |
| 26 #set r2_ext = $input.reads2.extension | 26 <param name="genome_size" type="float" min="0" value="" label="Genome size to calculate coverage with respect to"/> |
| 27 -i '${input.reads1}' | 27 <param argument="--coverage" type="float" min="0" value="" label="The desired coverage to subsample the reads to"/> |
| 28 -i '${input.reads2}' | 28 </when> |
| 29 -o 'paired_out1.$r1_ext' | 29 <when value="num_bases"> |
| 30 -o 'paired_out2.$r2_ext' | 30 <param name="num_bases_unit" type="select" label="Specify number of bases in"> |
| 31 #elif str( $input.input_selector ) == "paired_collection": | 31 <expand macro="size_units" /> |
| 32 #set r1_ext = $input.collection.forward.extension | 32 </param> |
| 33 #set r2_ext = $input.collection.reverse.extension | 33 <param name="bases" type="float" min="0" value="" label="Explicitly set the number of bases required"/> |
| 34 -i '${input.collection.forward}' | 34 </when> |
| 35 -i '${input.collection.reverse}' | 35 <when value="num_reads"> |
| 36 -o 'paired_out1.$r1_ext' | 36 <param argument="--num" type="integer" value="" min="1"/> |
| 37 -o 'paired_out2.$r2_ext' | 37 </when> |
| 38 #else: | 38 <when value="frac_reads"> |
| 39 #set r1_ext = $input.reads.extension | 39 <param argument="--frac" type="float" value="0.1" min="0" max="1"/> |
| 40 -i '${input.reads}' | 40 </when> |
| 41 -o 'single_out.$r1_ext' | 41 </conditional> |
| 42 #end if | 42 </xml> |
| 43 <token name="@FASTQ_SUBSAMPLE_OPTIONS@"><![CDATA[ | |
| 43 #if str( $subsample.type ) == "coverage": | 44 #if str( $subsample.type ) == "coverage": |
| 44 --genome-size '$subsample.genome_size$subsample.genome_size_unit' | 45 --genome-size '$subsample.genome_size$subsample.genome_size_unit' |
| 45 --coverage $subsample.coverage | 46 --coverage $subsample.coverage |
| 46 #elif str( $subsample.type ) == "num_bases": | 47 #elif str( $subsample.type ) == "num_bases": |
| 47 --bases '$subsample.bases$subsample.num_bases_unit' | 48 --bases '$subsample.bases$subsample.num_bases_unit' |
| 48 #elif str( $subsample.type ) == "num_reads": | 49 #elif str( $subsample.type ) == "num_reads": |
| 49 --num $subsample.num | 50 --num $subsample.num |
| 50 #elif str( $subsample.type ) == "frac_reads": | 51 #elif str( $subsample.type ) == "frac_reads": |
| 51 --frac $subsample.frac | 52 --frac $subsample.frac |
| 52 #end if | 53 #end if |
| 53 -s $seed | |
| 54 #if $r1_ext.endswith(".gz") or $r2_ext.endswith(".gz") | 54 #if $r1_ext.endswith(".gz") or $r2_ext.endswith(".gz") |
| 55 --output-type g | 55 --output-type g |
| 56 #end if ]]> | |
| 57 </token> | |
| 58 </macros> | |
| 59 <xrefs> | |
| 60 <xref type='bio.tools'>rasusa</xref> | |
| 61 </xrefs> | |
| 62 <requirements> | |
| 63 <requirement type="package" version="@TOOL_VERSION@">rasusa</requirement> | |
| 64 <requirement type="package" version="1.20">samtools</requirement> | |
| 65 </requirements> | |
| 66 | |
| 67 <command detect_errors="exit_code"><![CDATA[ | |
| 68 #if str( $input.input_selector ) == "aligned": | |
| 69 ln -s '$bam' 'input.bam' && | |
| 70 ln -s '$bam.metadata.bam_index' 'input.bam.bai' && | |
| 71 rasusa aln | |
| 72 --coverage $input.coverage | |
| 73 --step-size $input.step_size | |
| 74 #else: | |
| 75 rasusa reads | |
| 56 #end if | 76 #end if |
| 57 && | 77 |
| 78 #if $seed | |
| 79 -s $seed | |
| 80 #end if | |
| 58 | 81 |
| 59 #if str( $input.input_selector ) == "paired": | 82 #if str( $input.input_selector ) == "paired": |
| 83 #set r1_ext = $input.reads1.extension | |
| 84 #set r2_ext = $input.reads2.extension | |
| 85 -o 'paired_out1.$r1_ext' | |
| 86 -o 'paired_out2.$r2_ext' | |
| 87 @FASTQ_SUBSAMPLE_OPTIONS@ | |
| 88 '${input.reads1}' | |
| 89 '${input.reads2}' && | |
| 60 mv 'paired_out1.$r1_ext' '$paired_output1' && | 90 mv 'paired_out1.$r1_ext' '$paired_output1' && |
| 61 mv 'paired_out2.$r2_ext' '$paired_output2' | 91 mv 'paired_out2.$r2_ext' '$paired_output2' |
| 92 | |
| 62 #elif str( $input.input_selector ) == "paired_collection": | 93 #elif str( $input.input_selector ) == "paired_collection": |
| 94 #set r1_ext = $input.collection.forward.extension | |
| 95 #set r2_ext = $input.collection.reverse.extension | |
| 96 -o 'paired_out1.$r1_ext' | |
| 97 -o 'paired_out2.$r2_ext' | |
| 98 @FASTQ_SUBSAMPLE_OPTIONS@ | |
| 99 '${input.collection.forward}' | |
| 100 '${input.collection.reverse}' && | |
| 63 mv 'paired_out1.$r1_ext' '${collection_output.forward}' && | 101 mv 'paired_out1.$r1_ext' '${collection_output.forward}' && |
| 64 mv 'paired_out2.$r2_ext' '${collection_output.reverse}' | 102 mv 'paired_out2.$r2_ext' '${collection_output.reverse}' |
| 65 #else: | 103 |
| 104 #elif str( $input.input_selector ) == "single": | |
| 105 #set r1_ext = $input.reads.extension | |
| 106 -o 'single_out.$r1_ext' | |
| 107 @FASTQ_SUBSAMPLE_OPTIONS@ | |
| 108 '${input.reads}' && | |
| 66 mv 'single_out.$r1_ext' '$single_output' | 109 mv 'single_out.$r1_ext' '$single_output' |
| 110 | |
| 111 #elif str( $input.input_selector ) == "aligned": | |
| 112 'input.bam' | samtools sort --no-PG -@ 1 -T '\${TMPDIR:-.}' -O bam -o '$bam_output' - | |
| 67 #end if | 113 #end if |
| 68 ]]></command> | 114 ]]></command> |
| 69 <inputs> | 115 <inputs> |
| 70 <conditional name="input"> | 116 <conditional name="input"> |
| 71 <param name="input_selector" type="select" label="Single or Paired-end reads" help="Select between paired and single end data"> | 117 <param name="input_selector" type="select" label="Single or Paired-end reads" help="Select between paired and single end data"> |
| 72 <option value="paired">Paired</option> | 118 <option value="paired">Paired-end FASTQ</option> |
| 73 <option value="single">Single</option> | 119 <option value="single">Single-end FASTQ</option> |
| 74 <option value="paired_collection">Paired Collection</option> | 120 <option value="paired_collection">Paired FASTQ Collection</option> |
| 121 <option value="aligned">BAM file of aligned reads</option> | |
| 75 </param> | 122 </param> |
| 76 <when value="paired"> | 123 <when value="paired"> |
| 77 <param name="reads1" type="data" format="@FORMATS@" label="Select first set of reads" help="Specify dataset with forward reads"/> | 124 <param name="reads1" type="data" format="@FORMATS@" label="Select first set of reads" help="Specify dataset with forward reads"/> |
| 78 <param name="reads2" type="data" format="@FORMATS@" label="Select second set of reads" help="Specify dataset with reverse reads"/> | 125 <param name="reads2" type="data" format="@FORMATS@" label="Select second set of reads" help="Specify dataset with reverse reads"/> |
| 126 <expand macro="params_fastq" /> | |
| 79 </when> | 127 </when> |
| 80 <when value="single"> | 128 <when value="single"> |
| 81 <param name="reads" type="data" format="@FORMATS@" label="Select fasta/fastq dataset" help="Specify dataset with single reads"/> | 129 <param name="reads" type="data" format="@FORMATS@" label="Select fasta/fastq dataset" help="Specify dataset with single reads"/> |
| 130 <expand macro="params_fastq" /> | |
| 82 </when> | 131 </when> |
| 83 <when value="paired_collection"> | 132 <when value="paired_collection"> |
| 84 <param name="collection" format="@FORMATS@" type="data_collection" collection_type="paired" label="Select a paired collection"/> | 133 <param name="collection" format="@FORMATS@" type="data_collection" collection_type="paired" label="Select a paired collection"/> |
| 134 <expand macro="params_fastq" /> | |
| 135 </when> | |
| 136 <when value="aligned"> | |
| 137 <param name="bam" format="sam,bam" type="data" label="Select BAM file(s) with alignments"/> | |
| 138 <param argument="--coverage" type="integer" min="0" optional="true" value="" label="The desired depth of coverage to subsample the alignment to"/> | |
| 139 <param type="integer" argument="--step-size" value="100" label="When a region has less than the desired coverage, the step size to move along the chromosome to find more reads." | |
| 140 help="The lowest of the step and the minimum end coordinate of the reads in the region will be used. This parameter can have a significant impact on the runtime of the subsampling process."/> | |
| 85 </when> | 141 </when> |
| 86 </conditional> | 142 </conditional> |
| 87 <conditional name="subsample"> | 143 <param type="integer" argument="--seed" optional="true" label="Random seed to use"/> |
| 88 <param name="type" type="select" label="Subsample reads based on"> | |
| 89 <option value="coverage">Coverage</option> | |
| 90 <option value="num_bases">Number of bases</option> | |
| 91 <option value="num_reads">Number of reads</option> | |
| 92 <option value="frac_reads" selected="true">Fraction of reads</option> | |
| 93 </param> | |
| 94 <when value="coverage"> | |
| 95 <param name="genome_size_unit" type="select" label="Specify genome size in"> | |
| 96 <expand macro="size_units" /> | |
| 97 </param> | |
| 98 <param name="genome_size" type="float" min="0" value="" label="Genome size to calculate coverage with respect to"/> | |
| 99 <param argument="--coverage" type="float" min="0" value="" label="The desired coverage to sub-sample the reads to"/> | |
| 100 </when> | |
| 101 <when value="num_bases"> | |
| 102 <param name="num_bases_unit" type="select" label="Specify number of bases in"> | |
| 103 <expand macro="size_units" /> | |
| 104 </param> | |
| 105 <param name="bases" type="float" min="0" value="" label="Explicitly set the number of bases required"/> | |
| 106 </when> | |
| 107 <when value="num_reads"> | |
| 108 <param argument="--num" type="integer" value="" min="1"/> | |
| 109 </when> | |
| 110 <when value="frac_reads"> | |
| 111 <param argument="--frac" type="float" value="0.1" min="0" max="1"/> | |
| 112 </when> | |
| 113 </conditional> | |
| 114 <param type="integer" name="seed" optional="true" label="Random seed to use"/> | |
| 115 </inputs> | 144 </inputs> |
| 116 <outputs> | 145 <outputs> |
| 117 <data name="paired_output1" label="${tool.name} on ${on_string}: paired-end r1" format_source="reads1"> | 146 <data name="paired_output1" label="${tool.name} on ${on_string}: paired-end r1" format_source="reads1"> |
| 118 <filter>input['input_selector'] == "paired"</filter> | 147 <filter>input['input_selector'] == "paired"</filter> |
| 119 </data> | 148 </data> |
| 126 <collection name="collection_output" type="paired" label="${tool.name} on ${on_string}: paired-collection"> | 155 <collection name="collection_output" type="paired" label="${tool.name} on ${on_string}: paired-collection"> |
| 127 <filter>input['input_selector'] == "paired_collection"</filter> | 156 <filter>input['input_selector'] == "paired_collection"</filter> |
| 128 <data name="forward" label="${tool.name} on ${input.collection.forward.name}: paired-end r1" format_source="collection['forward']"/> | 157 <data name="forward" label="${tool.name} on ${input.collection.forward.name}: paired-end r1" format_source="collection['forward']"/> |
| 129 <data name="reverse" label="${tool.name} on ${input.collection.reverse.name}: paired-end R2" format_source="collection['reverse']"/> | 158 <data name="reverse" label="${tool.name} on ${input.collection.reverse.name}: paired-end R2" format_source="collection['reverse']"/> |
| 130 </collection> | 159 </collection> |
| 160 <data name="bam_output" label="${tool.name} on ${on_string}: BAM" format="bam"> | |
| 161 <filter>input['input_selector'] == 'aligned'</filter> | |
| 162 </data> | |
| 131 </outputs> | 163 </outputs> |
| 132 <tests> | 164 <tests> |
| 133 <test expect_num_outputs="1"> | 165 <test expect_num_outputs="1"> |
| 134 <!-- test 1: single-end fastq by coverage in bases --> | 166 <!-- test 1: single-end fastq by coverage in bases --> |
| 135 <conditional name="input"> | 167 <conditional name="input"> |
| 161 <param name="seed" value="1"/> | 193 <param name="seed" value="1"/> |
| 162 <output name="paired_output1" value="paired1_by_coverage_k.fastq.gz" ftype="fastqsanger.gz"/> | 194 <output name="paired_output1" value="paired1_by_coverage_k.fastq.gz" ftype="fastqsanger.gz"/> |
| 163 <output name="paired_output2" value="paired2_by_coverage_k.fastq.gz" ftype="fastqsanger.gz"/> | 195 <output name="paired_output2" value="paired2_by_coverage_k.fastq.gz" ftype="fastqsanger.gz"/> |
| 164 </test> | 196 </test> |
| 165 <test expect_num_outputs="3"> | 197 <test expect_num_outputs="3"> |
| 166 <!-- test 3: paired-collection fastq by coverage in mb--> | 198 <!-- test 3: paired-collection fastq by coverage in mb --> |
| 167 <conditional name="input"> | 199 <conditional name="input"> |
| 168 <param name="input_selector" value="paired_collection"/> | 200 <param name="input_selector" value="paired_collection"/> |
| 169 <param name="collection"> | 201 <param name="collection"> |
| 170 <collection type="paired"> | 202 <collection type="paired"> |
| 171 <element name="forward" value="r1.fastq.gz"/> | 203 <element name="forward" value="r1.fastq.gz"/> |
| 230 <param name="seed" value="1"/> | 262 <param name="seed" value="1"/> |
| 231 <output name="paired_output1" value="paired1_by_num_reads.fasta.gz" ftype="fasta.gz"/> | 263 <output name="paired_output1" value="paired1_by_num_reads.fasta.gz" ftype="fasta.gz"/> |
| 232 <output name="paired_output2" value="paired2_by_num_reads.fasta.gz" ftype="fasta.gz"/> | 264 <output name="paired_output2" value="paired2_by_num_reads.fasta.gz" ftype="fasta.gz"/> |
| 233 </test> | 265 </test> |
| 234 <test expect_num_outputs="3"> | 266 <test expect_num_outputs="3"> |
| 235 <!-- test 7: paired-collection fasta by fraction reads--> | 267 <!-- test 7: paired-collection fasta by fraction reads --> |
| 236 <conditional name="input"> | 268 <conditional name="input"> |
| 237 <param name="input_selector" value="paired_collection"/> | 269 <param name="input_selector" value="paired_collection"/> |
| 238 <param name="collection"> | 270 <param name="collection"> |
| 239 <collection type="paired"> | 271 <collection type="paired"> |
| 240 <element name="forward" value="r1.fasta"/> | 272 <element name="forward" value="r1.fasta"/> |
| 250 <output_collection name="collection_output" type="paired"> | 282 <output_collection name="collection_output" type="paired"> |
| 251 <element name="forward" file="paired1_by_frac_reads.fasta" ftype="fasta"/> | 283 <element name="forward" file="paired1_by_frac_reads.fasta" ftype="fasta"/> |
| 252 <element name="reverse" file="paired2_by_frac_reads.fasta" ftype="fasta"/> | 284 <element name="reverse" file="paired2_by_frac_reads.fasta" ftype="fasta"/> |
| 253 </output_collection> | 285 </output_collection> |
| 254 </test> | 286 </test> |
| 287 <test expect_num_outputs="1"> | |
| 288 <!-- test 8: bam input --> | |
| 289 <conditional name="input"> | |
| 290 <param name="input_selector" value="aligned"/> | |
| 291 <param name="bam" value="input.bam" /> | |
| 292 </conditional> | |
| 293 <param name="coverage" value="1"/> | |
| 294 <param name="seed" value="1"/> | |
| 295 <output name="bam_output" value="output.bam" ftype="bam"/> | |
| 296 </test> | |
| 255 </tests> | 297 </tests> |
| 256 <help><