Mercurial > repos > iuc > abyss
changeset 22:3c1744704da5 draft default tip
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/abyss commit c43c6a15e0eaf9c3c615943bae216b832ce1f334
| author | iuc |
|---|---|
| date | Fri, 06 Feb 2026 17:14:21 +0000 |
| parents | 024f0ca29900 |
| children | |
| files | abyss-pe.xml |
| diffstat | 1 files changed, 108 insertions(+), 108 deletions(-) [+] |
line wrap: on
line diff
--- a/abyss-pe.xml Tue Nov 19 12:41:57 2024 +0000 +++ b/abyss-pe.xml Fri Feb 06 17:14:21 2026 +0000 @@ -1,27 +1,9 @@ -<tool id="abyss-pe" name="ABySS" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="23.02" license="GPL-3.0"> +<tool id="abyss-pe" name="ABySS" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="24.2" license="GPL-3.0"> <description>de novo sequence assembler</description> <macros> <token name="@TOOL_VERSION@">2.3.10</token> - <token name="@VERSION_SUFFIX@">0</token> - <xml name="reads_conditional"> - <conditional name="reads"> - <param name="reads_selector" type="select" label="Type of paired-end datasets"> - <option value="paired">2 separate datasets</option> - <option value="paired_collection">1 paired dataset collection</option> - <option value="paired_il">1 dataset of interleaved reads</option> - </param> - <when value="paired"> - <param name="reads1" type="data" format="fasta,fastq,fastq.gz" label="Paired-end reads 1" /> - <param name="reads2" type="data" format="fasta,fastq,fastq.gz" label="Paired-end reads 2" /> - </when> - <when value="paired_collection"> - <param name="reads_coll" type="data_collection" collection_type="paired" format="fasta,fastq,fastqsanger,fastqillumina" label="Paired-end reads collection" /> - </when> - <when value="paired_il"> - <param name="reads_il" type="data" format="fasta,fastq,fastq.gz" label="Interleaved paired-end reads" /> - </when> - </conditional> - </xml> + <token name="@VERSION_SUFFIX@">1</token> + <token name="@SEQUENCE_FILE_TYPES@">fasta,fasta.gz,fasta.bz2,fastqsanger,fastqillumina,fastqsanger.gz,fastqillumina.gz,fastqsanger.bz2,fastqillumina.bz2</token> </macros> <xrefs> <xref type="bio.tools">abyss</xref> @@ -45,47 +27,48 @@ #return ''.join([str($prefix), '_', str($index), '.', str($data.ext)]) #end def -## Go through all inputs and create symbolic links -#for $i, $v in enumerate($lib_repeat) - #if $v.reads.reads_selector == 'paired' - ln -s $v.reads.reads1 $get_link_fname($v.reads.reads1, 'lib_reads1', $i) && - ln -s $v.reads.reads2 $get_link_fname($v.reads.reads2, 'lib_reads2', $i) && - #elif $v.reads.reads_selector == 'paired_collection' - ln -s $v.reads.reads_coll.forward $get_link_fname($v.reads.reads_coll.forward, 'lib_reads_coll_forward', $i) && - ln -s $v.reads.reads_coll.reverse $get_link_fname($v.reads.reads_coll.reverse, 'lib_reads_coll_reverse', $i) && - #else - ln -s $v.reads.reads_il $get_link_fname($v.reads.reads_il, 'lib_reads_il', $i) && +#set libnames = {'lib': [], 'mp': [], 'long': []} +#set libraries = [] +#set l = 0 +#for $v in $libs + #if $v.lib_type_cond.lib_type in ["lib", "mp"] + #for $pair in $v.lib_type_cond.reads + #set fname = $get_link_fname($pair.forward, str($v.lib_type_cond.lib_type)+"_forward", $l) + #set rname = $get_link_fname($pair.reverse, str($v.lib_type_cond.lib_type)+"_reverse", $l) + #silent libraries.append(str($v.lib_type_cond.lib_type) + str(l) + "='" + $fname + " " + $rname + "'") + #silent libnames[str($v.lib_type_cond.lib_type)].append($v.lib_type_cond.lib_type + str(l)) + ln -s '$pair.forward' $fname && + ln -s '$pair.reverse' $rname && + #set l += 1 + #end for + #elif $v.lib_type_cond.lib_type == "se" + #set se_libraries = [] + #for $read in $v.lib_type_cond.reads + #set name = $get_link_fname($read, $v.lib_type_cond.lib_type, $l) + #silent se_libraries.append($name) + ln -s '$read' $name && + #set l += 1 + #end for + #if len(se_libraries) > 0 + #silent libraries.append("se='" + " ".join(se_libraries) + "'") + #end if + ## #silent libnames[str($v.lib_type_cond.lib_type)].append($v.lib_type_cond.lib_type + str(l)) + + #elif $v.lib_type_cond.lib_type == "long" + #for $read in $v.lib_type_cond.reads + #set name = $get_link_fname($read, $v.lib_type_cond.lib_type, $l) + #silent libraries.append($v.lib_type_cond.lib_type + str(l) + "='" + $name + "'") + #silent libnames[str($v.lib_type_cond.lib_type)].append($v.lib_type_cond.lib_type + str(l)) + ln -s '$read' $name && + #set l += 1 + #end for #end if #end for -#for $i, $v in enumerate($mp_repeat) - #if $v.reads.reads_selector == 'paired' - ln -s $v.reads.reads1 $get_link_fname($v.reads.reads1, 'mp_reads1', $i) && - ln -s $v.reads.reads2 $get_link_fname($v.reads.reads2, 'mp_reads2', $i) && - #elif $v.reads.reads_selector == 'paired_collection' - ln -s $v.reads.reads_coll.forward $get_link_fname($v.reads.reads_coll.forward, 'mp_reads_coll_forward', $i) && - ln -s $v.reads.reads_coll.reverse $get_link_fname($v.reads.reads_coll.reverse, 'mp_reads_coll_reverse', $i) && - #else - ln -s $v.reads.reads_il $get_link_fname($v.reads.reads_il, 'mp_reads_il', $i) && - #end if -#end for - -#if str($se_reads) != 'None' - #for $i, $v in enumerate($se_reads) - ln -s $v $get_link_fname($v, 'se_reads', $i) && - #end for -#end if - -#if str($long_seqs) != 'None' - #for $i, $v in enumerate($long_seqs) - ln -s $v $get_link_fname($v, 'long_seqs', $i) && - #end for -#end if - abyss-pe name=abyss -j=\${GALAXY_SLOTS:-1} -B=\$((\${GALAXY_MEMORY_MB:-2048} * 9 /10 ))M +j="\${GALAXY_SLOTS:-1}" +B="\$((\${GALAXY_MEMORY_MB:-2048} * 9 /10 ))M" k=$k @@ -143,50 +126,44 @@ #if $N N='$N' #end if -#if $lib_repeat - lib='${' '.join(['lib'+str($i) for $i in range(len($lib_repeat))])}' - #for $i, $v in enumerate($lib_repeat) - #if $v.reads.reads_selector == 'paired' - lib${i}='${get_link_fname($v.reads.reads1, "lib_reads1", $i)} ${get_link_fname($v.reads.reads2, "lib_reads2", $i)}' - #elif $v.reads.reads_selector == 'paired_collection' - lib${i}='$get_link_fname($v.reads.reads_coll.forward, "lib_reads_coll_forward", $i)} ${get_link_fname($v.reads.reads_coll.reverse, "lib_reads_coll_reverse", $i)}' - #else - lib${i}='${get_link_fname($v.reads.reads_il, "lib_reads_il", $i)}' - #end if - #end for -#end if -#if str($se_reads) != 'None' - se='${' '.join([$get_link_fname($v, "se_reads", $i) for $i, $v in enumerate($se_reads)])}' -#end if -#if $mp_repeat - mp='${' '.join(['mp'+str($i) for $i in range(len($mp_repeat))])}' - #for $i, $v in enumerate($mp_repeat) - #if $v.reads.reads_selector == 'paired' - mp${i}='${get_link_fname($v.reads.reads1, "mp_reads1", $i)} ${get_link_fname($v.reads.reads2, "mp_reads2", $i)}' - #elif $v.reads.reads_selector == 'paired_collection' - mp${i}='$get_link_fname($v.reads.reads_coll.forward, "mp_reads_coll_forward", $i)} ${get_link_fname($v.reads.reads_coll.reverse, "mp_reads_coll_reverse", $i)}' - #else - mp${i}='${get_link_fname($v.reads.reads_il, "mp_reads_il", $i)}' - #end if - #end for -#end if -#if str($long_seqs) != 'None' - long='${' '.join(['long'+str($i) for $i in range(len($long_seqs))])}' - #for $i, $v in enumerate($long_seqs) - long$i='${get_link_fname($v, "long_seqs", $i)}' - #end for -#end if + +## LIBNAMES + +#for $type in $libnames: + #if len($libnames[$type]) == 0: + #continue + #end if + #echo $type + "='"+ " ".join($libnames[$type]) +"' " +#end for + +## LIBRARIES + +#echo " ".join($libraries) ]]></command> <inputs> - <repeat name="lib_repeat" title="Paired-end library" help="(lib)"> - <expand macro="reads_conditional" /> + <repeat name="libs" title="Libraries" min="1" help="Add one or more paired end, single end, mate pair, or long read library. For paired end and mate pairs libraries are given as elements of a paired collection. For single end and long reads multiple data sets can be given (also as collection)."> + <conditional name="lib_type_cond"> + <param name="lib_type" type="select" label="Library type"> + <option value="lib">Paired-end library</option> + <option value="se">Single-end library</option> + <option value="mp">Mate-pair library</option> + <option value="long">Long sequences</option> + </param> + <when value="lib"> + <param name="reads" argument="lib" type="data_collection" collection_type="list:paired" format="@SEQUENCE_FILE_TYPES@" label="Paired reads" /> + </when> + <when value="se"> + <param name="reads" argument="se" type="data" multiple="true" format="@SEQUENCE_FILE_TYPES@" label="Single-end reads" /> + </when> + <when value="mp"> + <param name="reads" argument="mp" type="data_collection" collection_type="list:paired" format="@SEQUENCE_FILE_TYPES@" label="Mate pairs" /> + </when> + <when value="long"> + <param name="reads" argument="long" type="data" multiple="true" format="@SEQUENCE_FILE_TYPES@" label="Long sequences" help="Long sequence libraries are used only for rescaffolding and do not contribute towards the consensus sequence" /> + </when> + </conditional> </repeat> - <param name="se_reads" argument="se" type="data" multiple="true" optional="true" format="fasta,fastq,fastq.gz" label="Single-end reads" /> - <repeat name="mp_repeat" title="Mate-pair library" help="The mate-pair libraries are used only for scaffolding and do not contribute towards the consensus sequence (mp)"> - <expand macro="reads_conditional" /> - </repeat> - <param name="long_seqs" argument="long" type="data" multiple="true" optional="true" format="fasta,fastq,fastq.gz" label="Long sequences" help="Long sequence libraries are used only for rescaffolding and do not contribute towards the consensus sequence" /> <param argument="k" type="integer" value="41" label="K-mer length (in bp)" help="The length of a k-mer (when -K is not set) or the span of a k-mer pair (when K is set)" /> <param argument="K" type="integer" value="" optional="true" label="The length (in bp) of a single k-mer in a k-mer pair" help="Optional" /> <param argument="q" type="integer" value="3" max="40" optional="true" label="Minimum base quality when trimming" help="Trim bases from the ends of reads whose quality is less than this value" /> @@ -215,13 +192,13 @@ <outputs> <data name="unitigs" format="fasta" label="${tool.name} on ${on_string}: unitigs" from_work_dir="abyss-unitigs.fa" /> <data name="contigs_outfile" format="fasta" label="${tool.name} on ${on_string}: contigs" from_work_dir="abyss-contigs.fa"> - <filter>lib_repeat</filter> + <filter>len([ l for l in libs if l['lib_type_cond']['lib_type'] == "lib"])</filter> </data> <data name="scaffolds" format="fasta" label="${tool.name} on ${on_string}: scaffolds" from_work_dir="abyss-scaffolds.fa"> - <filter>lib_repeat or mp_repeat</filter> + <filter>len([ l for l in libs if l['lib_type_cond']['lib_type'] in ["lib", "mp"]])</filter> </data> <data name="long_scaffolds" format="fasta" label="${tool.name} on ${on_string}: long scaffolds" from_work_dir="abyss-long-scaffs.fa"> - <filter>long_seqs</filter> + <filter>len([ l for l in libs if l['lib_type_cond']['lib_type'] == "long"])</filter> </data> <data name="indels" format="fasta" label="${tool.name} on ${on_string}: indels" from_work_dir="abyss-indel.fa" /> <data name="stats" format="tabular" label="${tool.name} on ${on_string}: stats" from_work_dir="abyss-stats.tab" /> @@ -229,11 +206,19 @@ <tests> <test expect_num_outputs="5"> - <repeat name="lib_repeat"> - <conditional name="reads"> - <param name="reads_selector" value="paired" /> - <param name="reads1" ftype="fastqsanger.gz" value="assembly_sample-R1.fastq.gz" /> - <param name="reads2" ftype="fastqsanger.gz" value="assembly_sample-R2.fastq.gz" /> + <repeat name="libs"> + <conditional name="lib_type_cond"> + <param name="lib_type" value="lib" /> + <param name="reads"> + <collection type="list:paired"> + <element name="assembly_sample"> + <collection type="paired"> + <element name="forward" value="assembly_sample-R1.fastq.gz" /> + <element name="reverse" value="assembly_sample-R2.fastq.gz" /> + </collection> + </element> + </collection> + </param> </conditional> </repeat> <param name="k" value="50" /> @@ -244,15 +229,30 @@ <output name="stats" file="abyss-stats1.tab" /> </test> <test expect_num_outputs="3"> - <param name="se_reads" ftype="fastq.gz" value="assembly_sample-R1.fastq.gz,assembly_sample-R2.fastq.gz" /> + <repeat name="libs"> + <conditional name="lib_type_cond"> + <param name="lib_type" value="se" /> + <param name="reads" ftype="fastqsanger.gz" value="assembly_sample-R1.fastq.gz,assembly_sample-R2.fastq.gz" /> + </conditional> + </repeat> <param name="k" value="50" /> <output name="unitigs" file="abyss-unitigs2.fa" /> <output name="indels" file="empty_file.fasta" /> <output name="stats" file="abyss-stats2.tab" /> </test> <test expect_num_outputs="4"> - <param name="se_reads" ftype="fasta" value="assembly_sample-R1.fasta,assembly_sample-R2.fasta" /> - <param name="long_seqs" ftype="fasta" value="assembly_sample-R2.fasta" /> + <repeat name="libs"> + <conditional name="lib_type_cond"> + <param name="lib_type" value="se" /> + <param name="reads" ftype="fasta" value="assembly_sample-R1.fasta,assembly_sample-R2.fasta" /> + </conditional> + </repeat> + <repeat name="libs"> + <conditional name="lib_type_cond"> + <param name="lib_type" value="long" /> + <param name="reads" ftype="fasta" value="assembly_sample-R2.fasta" /> + </conditional> + </repeat> <param name="k" value="50" /> <output name="unitigs" file="abyss-unitigs3.fa" /> <output name="long_scaffolds" file="abyss-long-scaffolds3.fa" />
