Mercurial > repos > iuc > shovill
changeset 10:331109486d58 draft default tip
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/shovill commit bb738894026385619cda01c39d927bbc40b27c5b
| author | iuc |
|---|---|
| date | Tue, 16 Dec 2025 11:09:22 +0000 |
| parents | ee17a294d3a3 |
| children | |
| files | shovill.xml test-data/skesa.gfa |
| diffstat | 2 files changed, 118 insertions(+), 65 deletions(-) [+] |
line wrap: on
line diff
--- a/shovill.xml Thu Oct 12 06:59:42 2023 +0000 +++ b/shovill.xml Tue Dec 16 11:09:22 2025 +0000 @@ -1,8 +1,8 @@ <tool id="shovill" name="Shovill" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@"> <description>Faster SPAdes assembly of Illumina reads</description> <macros> - <token name="@TOOL_VERSION@">1.1.0</token> - <token name="@VERSION_SUFFIX@">2</token> + <token name="@TOOL_VERSION@">1.4.2</token> + <token name="@VERSION_SUFFIX@">0</token> </macros> <xrefs> <xref type="bio.tools">shovill</xref> @@ -12,9 +12,6 @@ </requirements> <version_command>shovill --version</version_command> <command detect_errors="exit_code"><![CDATA[ - ## NOTE: the wrapper uses cp instead of ln -s because of this problem - ## with shovill 1.1.0: https://github.com/tseemann/shovill/issues/157 - #if str($library.lib_type) == "paired" #set r1_ext = $library.R1.extension #set r2_ext = $library.R2.extension @@ -41,13 +38,13 @@ ## (1) If SHOVILL_RAM is already set, use this value ## (2) Otherwise, set based on GALAXY_MEMORY_MB ## (3) Or default to 4 GB if GALAXY_MEMORY_MB is unset - GALAXY_MEMORY_GB=\$((\${GALAXY_MEMORY_MB:-4096}/1024)) && + GALAXY_MEMORY_GB=\$((\${GALAXY_MEMORY_MB:-8192}/1024)) && SHOVILL_RAM=\${SHOVILL_RAM:-\${GALAXY_MEMORY_GB}} && shovill --outdir 'out' --cpus \${GALAXY_SLOTS:-1} - --ram \${SHOVILL_RAM:-4} + --ram \${SHOVILL_RAM:-8} --R1 'fastq_r1.$(r1_ext)' --R2 'fastq_r2.$(r2_ext)' $trim @@ -64,7 +61,10 @@ #end if --minlen $adv.minlen --mincov $adv.mincov - --assembler $assembler + --assembler $assembler_type.assembler + #if $assembler_type.assembler == 'spades' + $assembler_type.plasmid + #end if #if $adv.keep_files.nocorr == 'no_correction' --nocorr #else @@ -85,28 +85,36 @@ <param name="input1" format="fastq,fastq.gz,fastqsanger,fastqsanger.gz,fastqsanger.bz2" type="data_collection" collection_type="paired" label="Paired collection" help="See help section for an explanation of dataset collections"/> </when> </conditional> - <param argument="--trim" type="boolean" truevalue="--trim" falsevalue="" label="Trim reads" help="Use Trimmomatic to remove common adaptors first (default: OFF)" /> - <param argument="--assembler" type="select" label="Assembler to use" help="Which assembler would you like shovill to use, default is Spades"> - <option value="skesa">skesa</option> - <option value="megahit">megahit</option> - <option value="velvet">velvet</option> - <option value="spades" selected="true">Spades</option> - </param> + <param argument="--trim" type="boolean" truevalue="--trim" falsevalue="" label="Trim reads" help="Use Trimmomatic to remove common adaptors first (default: OFF)"/> + <conditional name="assembler_type"> + <param argument="--assembler" type="select" label="Assembler to use" help="Which assembler would you like shovill to use, default is Spades"> + <option value="skesa">skesa</option> + <option value="megahit">megahit</option> + <option value="velvet">velvet</option> + <option value="spades" selected="true">Spades</option> + </param> + <when value="skesa"/> + <when value="megahit"/> + <when value="velvet"/> + <when value="spades"> + <param argument="--plasmid" type="boolean" truevalue="--plasmid" falsevalue="" label="Plasmid mode" help="Use plasmid mode if available (default: OFF)"/> + </when> + </conditional> <section name="adv" title="Advanced options" expanded="False"> <param argument="--namefmt" type="text" value="contig%05d" label="Contig name format" help="Format of contig FASTA IDs in 'printf' style (default: 'contig%05d')" > <sanitizer> <valid initial="string.printable"> - <remove value="'" /> + <remove value="'"/> </valid> <mapping initial="none"> - <add source="'" target="'"'"'" /> + <add source="'" target="'"'"'"/> </mapping> </sanitizer> </param> - <param argument="--depth" type="integer" value="100" label="Depth" help="Sub-sample --R1/--R2 to this depth. Disable with --depth 0 (default: 100)" /> - <param argument="--gsize" type="text" value="" label="Estimated genome size" help="An estimate of the final genome size, it will autodetect if this is blank. (default: '')" /> - <param argument="--kmers" type="text" value="" label="List of kmer sizes to use" help="List of K-mer sizes to use in SPAdes. Blank is AUTO. default: ''" /> - <param argument="--opts" type="text" value="" label="Extra SPAdes options" help="eg. --plasmid --sc ... (default: '')" /> + <param argument="--depth" type="integer" value="100" label="Depth" help="Sub-sample --R1/--R2 to this depth. Disable with --depth 0 (default: 100)"/> + <param argument="--gsize" type="text" value="" label="Estimated genome size" help="An estimate of the final genome size, it will autodetect if this is blank. (default: '')"/> + <param argument="--kmers" type="text" value="" label="List of kmer sizes to use" help="List of K-mer sizes to use in SPAdes. Blank is AUTO. default: ''"/> + <param argument="--opts" type="text" value="" label="Extra SPAdes options" help="eg. --plasmid --sc ... (default: '')"/> <conditional name="keep_files"> <param argument="--nocorr" type="select" label="Disable post-assembly correction" help="Disable post assembly correction with pilon (default: ON)"> <option value="no_correction" selected="true">No corrections</option> @@ -117,10 +125,10 @@ <param argument="--keepfiles" type="boolean" truevalue="--keepfiles" checked="False" falsevalue="" label="Keep bam files" help="Keep bam files only if post-assembly correction is enable"/> </when> </conditional> - <param argument="--minlen" type="integer" value="0" label="Minimum contig length" help="Minimum length of contig to be output. 0 is AUTO (default: 0)" /> - <param argument="--mincov" type="integer" value="2" label="Minimum contig coverage" help="Minimum coverage to call part of a contig. 0 is AUTO (default: 2)" /> + <param argument="--minlen" type="integer" value="0" label="Minimum contig length" help="Minimum length of contig to be output. 0 is AUTO (default: 0)"/> + <param argument="--mincov" type="integer" value="2" label="Minimum contig coverage" help="Minimum coverage to call part of a contig. 0 is AUTO (default: 2)"/> </section> - <param name="log" type="boolean" label="Output log file?" checked="true" help="Return the Shovill log file as part of the output. Default is on" /> + <param name="log" type="boolean" label="Output log file?" checked="true" help="Return the Shovill log file as part of the output. Default is on"/> </inputs> <outputs> @@ -128,16 +136,24 @@ <filter>log == True</filter> </data> <data name="contigs" format="fasta" label="${tool.name} on ${on_string}: Contigs" from_work_dir="out/contigs.fa"/> - <data name="contigs_graph" format="txt" label="${tool.name} on ${on_string}: Contig Graph" from_work_dir="out/contigs.gfa"/> + <data name="contigs_graph" format="txt" label="${tool.name} on ${on_string}: Contig Graph" from_work_dir="out/contigs.gfa"> + <filter> assembler_type['assembler'] != 'skesa' </filter> + </data> <data name="bamfiles" format="unsorted.bam" from_work_dir="out/shovill.bam" label="Bam file for ${tool.name} on ${on_string}"> <filter> adv['keep_files']['nocorr'] == 'yes_correction' and adv['keep_files']['keepfiles'] == True </filter> </data> + <data name="skesa_gfa" format="gfa1" label="${tool.name} on ${on_string}: SKESA assembly graph" from_work_dir="out/skesa.gfa"> + <filter> assembler_type['assembler'] == 'skesa' </filter> + </data> </outputs> <tests> - <test expect_num_outputs="3"> <!-- Test 1: Basic test --> - <param name="lib_type" value="paired" /> - <param name="R1" value="mutant_R1.fastq" ftype="fastqsanger" /> - <param name="R2" value="mutant_R2.fastq" ftype="fastqsanger" /> + <!-- Test 1: Basic test --> + <test expect_num_outputs="3"> + <conditional name="library"> + <param name="lib_type" value="paired"/> + <param name="R1" value="mutant_R1.fastq" ftype="fastqsanger"/> + <param name="R2" value="mutant_R2.fastq" ftype="fastqsanger"/> + </conditional> <output name="contigs" ftype="fasta"> <assert_contents> <has_text text=">contig00001"/> @@ -145,18 +161,22 @@ </output> <output name="shovill_std_log" ftype="txt" > <assert_contents> - <has_text text="Read stats: total_bp = 300000"/> - <has_text text="[lighter] Processed 820 reads"/> + <has_text text="[shovill] sum_Len = 300000"/> + <has_text text="[lighter] Processed 762 reads"/> <has_text text="[FLASH] FLASH v1.2.11 complete!"/> <has_text text="[spades] ======= SPAdes pipeline finished."/> </assert_contents> </output> </test> - <test expect_num_outputs="3"> <!-- Test 2: Auto everything + trim + different name format test --> - <param name="lib_type" value="paired" /> - <param name="R1" value="mutant_R1.fastq" ftype="fastqsanger" /> - <param name="R2" value="mutant_R2.fastq" ftype="fastqsanger" /> - <param name="trim" value="true" /> + + <!-- Test 2: Auto everything + trim + different name format test --> + <test expect_num_outputs="3"> + <conditional name="library"> + <param name="lib_type" value="paired"/> + <param name="R1" value="mutant_R1.fastq" ftype="fastqsanger"/> + <param name="R2" value="mutant_R2.fastq" ftype="fastqsanger"/> + </conditional> + <param name="trim" value="true"/> <section name="adv"> <param name="depth" value="0"/> <param name="minlen" value="0"/> @@ -183,11 +203,17 @@ </assert_contents> </output> </test> - <test expect_num_outputs="3"> <!-- Test 3: Alternate assembler #1: Megahit --> - <param name="lib_type" value="paired" /> - <param name="R1" value="mutant_R1.fastq" ftype="fastqsanger" /> - <param name="R2" value="mutant_R2.fastq" ftype="fastqsanger" /> - <param name="assembler" value="megahit" /> + + <!-- Test 3: Alternate assembler #1: Megahit --> + <test expect_num_outputs="3"> + <conditional name="library"> + <param name="lib_type" value="paired"/> + <param name="R1" value="mutant_R1.fastq" ftype="fastqsanger"/> + <param name="R2" value="mutant_R2.fastq" ftype="fastqsanger"/> + </conditional> + <conditional name="assembler_type"> + <param name="assembler" value="megahit"/> + </conditional> <output name="contigs" ftype="fasta"> <assert_contents> <has_text text=">contig00001"/> @@ -202,11 +228,17 @@ </assert_contents> </output> </test> - <test expect_num_outputs="3"> <!-- Test 4: Alternate assembler #2: Skesa --> - <param name="lib_type" value="paired" /> - <param name="R1" value="mutant_R1.fastq" ftype="fastqsanger" /> - <param name="R2" value="mutant_R2.fastq" ftype="fastqsanger" /> - <param name="assembler" value="skesa" /> + + <!-- Test 4: Alternate assembler #2: Skesa --> + <test expect_num_outputs="3"> + <conditional name="library"> + <param name="lib_type" value="paired"/> + <param name="R1" value="mutant_R1.fastq" ftype="fastqsanger"/> + <param name="R2" value="mutant_R2.fastq" ftype="fastqsanger"/> + </conditional> + <conditional name="assembler_type"> + <param name="assembler" value="skesa"/> + </conditional> <output name="contigs" ftype="fasta"> <assert_contents> <has_text text=">contig00001"/> @@ -220,12 +252,23 @@ <has_text text="[shovill] Done."/> </assert_contents> </output> + <output name="skesa_gfa" ftype="gfa1"> + <assert_contents> + <has_text text="KC:i:4"/> + </assert_contents> + </output> </test> - <test expect_num_outputs="3"> <!-- Test 5: Alternate assembler #3: Velvet --> - <param name="lib_type" value="paired" /> - <param name="R1" value="mutant_R1.fastq" ftype="fastqsanger" /> - <param name="R2" value="mutant_R2.fastq" ftype="fastqsanger" /> - <param name="assembler" value="velvet" /> + + <!-- Test 5: Alternate assembler #3: Velvet --> + <test expect_num_outputs="3"> + <conditional name="library"> + <param name="lib_type" value="paired"/> + <param name="R1" value="mutant_R1.fastq" ftype="fastqsanger"/> + <param name="R2" value="mutant_R2.fastq" ftype="fastqsanger"/> + </conditional> + <conditional name="assembler_type"> + <param name="assembler" value="velvet"/> + </conditional> <output name="contigs" ftype="fasta"> <assert_contents> <has_text text=">contig00001"/> @@ -240,11 +283,15 @@ </assert_contents> </output> </test> - <test expect_num_outputs="3"> <!-- Test 6: Gzipped input with trimming --> - <param name="lib_type" value="paired" /> - <param name="R1" value="mutant_R1.fastq.gz" ftype="fastqsanger.gz" /> - <param name="R2" value="mutant_R2.fastq.gz" ftype="fastqsanger.gz" /> - <param name="trim" value="true" /> + + <!-- Test 6: Gzipped input with trimming --> + <test expect_num_outputs="3"> + <conditional name="library"> + <param name="lib_type" value="paired"/> + <param name="R1" value="mutant_R1.fastq.gz" ftype="fastqsanger.gz"/> + <param name="R2" value="mutant_R2.fastq.gz" ftype="fastqsanger.gz"/> + </conditional> + <param name="trim" value="true"/> <output name="contigs" ftype="fasta"> <assert_contents> <has_text text=">contig00001"/> @@ -259,18 +306,22 @@ </assert_contents> </output> </test> - <test expect_num_outputs="4"> <!-- Test 7: Add keepfiles option --> - <param name="lib_type" value="paired" /> - <param name="R1" value="mutant_R1.fastq.gz" ftype="fastqsanger.gz" /> - <param name="R2" value="mutant_R2.fastq.gz" ftype="fastqsanger.gz" /> - <param name="trim" value="true" /> + + <!-- Test 7: Add keepfiles option --> + <test expect_num_outputs="4"> + <conditional name="library"> + <param name="lib_type" value="paired"/> + <param name="R1" value="mutant_R1.fastq.gz" ftype="fastqsanger.gz"/> + <param name="R2" value="mutant_R2.fastq.gz" ftype="fastqsanger.gz"/> + </conditional> + <param name="trim" value="true"/> <section name="adv"> <conditional name="keep_files"> - <param name="nocorr" value="yes_correction" /> - <param name="keepfiles" value="True" /> + <param name="nocorr" value="yes_correction"/> + <param name="keepfiles" value="True"/> </conditional> - <param name="log" value="true"/> </section> + <param name="log" value="true"/> <output name="contigs" ftype="fasta"> <assert_contents> <has_text text=">contig00001"/> @@ -278,7 +329,7 @@ </output> <output name="bamfiles" ftype="unsorted.bam"> <assert_contents> - <has_size value="36359" delta="1000" /> + <has_size value="33645" delta="1000"/> </assert_contents> </output> </test> @@ -292,6 +343,7 @@ - Trim reads: Use Trimmomatic to remove common adaptors first (default: OFF) - Output log file: If set to "Yes", tool will return Shovill's log file as part of the output - Assembler: Which assembler should shovill use from: Skesa, Megahit, Velvet or Spades. Spades is the default. + - Plasmid mode: Use plasmid mode if available. This works only when Spades assembler is used (default: OFF) Advanced options: - Name format: Format of output contig FASTA IDs in 'printf' style (default: 'contig%05d')
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/skesa.gfa Tue Dec 16 11:09:22 2025 +0000 @@ -0,0 +1,1 @@ +S Contig_1_56.8566 AGATATAGAAATTTTTTAGCTGGTTTAACACCCTCTGTAAAAGCCCATCCATGCGCAGTAAAAACTACACGTGTGTCTTTCGATTTCGAAATGAACTTCGCAATTCGTCCGACCGTTCCAGCTTTGGAAGAATGTAGATGGATAACATCAGGTTTAATTTTCGAGAATAACTGTGCTAACACTTTGACAGCTAAAATATCTTGTTTAAAGTCAATTGGACCTACTAAATGTTCGATAATAATTACATTGACTCTTGCATCTAGTTGTTCAATCATTGGTCCATGATTGCCTACAATGACATAAACATCATGGTGTACGCAAAAATGGTTAGCGAGTTGAATGAGATGTGTTTGTGCACCACCATTATCTGCTTTAGTAATACAATATATAATTTTCAACTGTTACAAACCCCTTTAATGCTATACTTTCAATTTCTTAACATGGCTATCTCATCAGATGAATAGTATTTATAGCCATGCAAATCAATGATGGCAAATATTTCTTAATGCCATTTGATACTGTCTCAAGGGATTCCTCGTTATACTGTAACAATTGGTCACAATCTTTAAAATGTAACTTTTATTTAAACTTATTAAGCAAATTAAGACTACCTTGAGCCTTCCCCTGTAATAACAACCATCAATGTTCTAATTGATATATATAATTCCATCATTAAGCTACCTTTATGTATATATTTCATGTCATATTTTAATTTTTGTTGTGGTGTTAAGTCATATCCACCTTGAATTTGCGCAAGACCTGTTAATCCTGGTGTAACAAGACATCTTTGCTCAAATCCTATTATTTCTGAACTAAATAATTCTACAAATTCTGGACGTTCCGGGCGTGGTCCAATAAAACTCATTTCCCCTTTAACAACATTAATTAGTTGTGGTAATTCATCAATGCGTGTTTTACGAATAAACTTCCCGACATTTGTTATACGATCATCATCTTTATCAGCCCATTGCGCACCGTTTTTCTCTGCGTTTTTACACATCGAACGTAATTTGTATATTTTAATTAATTTACCCATCTTCCCAACTCTAACCTGACTATAAATAGGGTTTCCTGGCGAATCTATGACGATAGCAATGGCGAATATGAACATAATCGGAAATGTTAAAAA KC:i:4
