Mercurial > repos > earlhaminst > lotus2
changeset 6:fc78d02657a9 draft
"planemo upload for repository https://github.com/TGAC/earlham-galaxytools/tree/master/tools/lotus2 commit 8234e6652ddaa52bbd6ac041cd69470f1600832f"
author | earlhaminst |
---|---|
date | Sat, 05 Jun 2021 09:49:25 +0000 |
parents | 7f33525b85d0 |
children | 692832801d70 |
files | lotus2.xml |
diffstat | 1 files changed, 80 insertions(+), 41 deletions(-) [+] |
line wrap: on
line diff
--- a/lotus2.xml Thu Jun 03 16:23:18 2021 +0000 +++ b/lotus2.xml Sat Jun 05 09:49:25 2021 +0000 @@ -1,16 +1,17 @@ -<tool id="lotus2" name="LotuS2" version="@VERSION@+galaxy3" profile="20.01"> +<tool id="lotus2" name="LotuS2" version="@VERSION@" profile="20.01"> <description>fast OTU processing pipeline</description> <macros> - <token name="@VERSION@">2.06</token> - <xml name="refDB_macro"> + <token name="@VERSION@">2.07</token> + <xml name="refDB_macro" token_ref_fasta_formats="fasta,fasta.gz"> <conditional name="refDB_cond"> <param argument="-refDB" type="select" label="Taxonomy reference database"> <option value="cached">Use a built-in taxonomy database</option> <option value="history">Use a taxonomy from history</option> </param> <when value="cached"> - <param argument="ref_db" type="select" label="Using reference database" help="Select database from the list"> - <option value="SLV" selected="true">Silva LSU (23/28S) or SSU (16/18S) (SLV)</option> + <param argument="-ref_db" type="select" label="Using reference database" help="Select database from the list"> + <option value="" selected="true">(Default)</option> + <option value="SLV">Silva LSU (23/28S) or SSU (16/18S) (SLV)</option> <option value="GG">Greengenes (GG)</option> <option value="UNITE">ITS focused on fungi (UNITE)</option> <option value="PR2">SSU focused on Protists (PR2)</option> @@ -20,14 +21,14 @@ <param argument="-greengenesSpecies" type="boolean" truevalue="1" falsevalue="0" checked="false" label="Create greengenes output labels instead of OTU" /> </when> <when value="history"> - <param name="ref_fasta" type="data" format="fasta" label="Taxonomy reference sequences" help="In FASTA format" /> + <param name="ref_fasta" type="data" format="@REF_FASTA_FORMATS@" label="Taxonomy reference sequences" help="In FASTA format" /> <param argument="-tax4refDB" type="data" format="tabular" label="Taxonomy reference lineages" help="Tab-separated file with 2 columns mapping each FASTA header of the reference sequences to a GTDB-style taxonomy string" /> </when> </conditional> <param argument="-useBestBlastHitOnly" type="boolean" truevalue="1" falsevalue="0" checked="false" label="Use the best Blast hit only" help="Do not use LCA (lowest common ancestor) to determine the most likely taxonomic level (not recommended)" /> </xml> <xml name="id_macro"> - <param argument="-id" type="float" min="0" max="1" value="0.97" label="Clustering threshold for OTUs" /> + <param argument="-id" type="float" min="0.9" max="1" value="" optional="true" label="Clustering threshold for OTUs" /> </xml> <xml name="ITSx_macro"> <param argument="-ITSx" type="boolean" truevalue="1" falsevalue="0" checked="true" label="Use ITSx to only retain OTUs fitting to ITS1/ITS2 hmm models" /> @@ -41,13 +42,20 @@ #import os.path #import re #def symlink_basename($f): - #set fn = re.sub('[^\w\-_.]', '_', $f.element_identifier) - #if fn.endswith('.gz'): - #set fn = fn[:-3] + #set $fn = re.sub('[^\w\-_.]', '_', $f.element_identifier) + #if $fn.endswith('.gz'): + #set $fn = $fn[:-3] #end if - #for ext in ('.fq', '.fastq', '.fastqsanger'): - #if fn.endswith($ext): - #set fn = fn[:-len($ext)] + #if $f.ext.startswith('fastqsanger'): + #set $exts_to_drop = ('.fq', '.fastq', '.fastqsanger') + #elif $f.ext.startswith('fasta'): + #set $exts_to_drop = ('.fa', '.fasta', '.fna') + #else + #set $exts_to_drop = [] + #end if + #for $ext in $exts_to_drop: + #if $fn.endswith($ext): + #set $fn = $fn[:-len($ext)] #break #end if #end for @@ -57,8 +65,8 @@ mkdir input && #if $inputs.paired_or_single == 'single': - #for f in $inputs.input: - #set ext = $f.ext.replace('sanger', '') + #for $f in $inputs.input: + #set $ext = $f.ext.replace('sanger', '') ln -s '$f' 'input/${symlink_basename(f)}.${ext}' && #end for #elif $inputs.paired_or_single == 'paired': @@ -66,19 +74,24 @@ #set ext = $f.ext.replace('sanger', '') ln -s '$f' 'input/input${i}.1.${ext}' && #end for - #for i, f in enumerate($inputs.right_input): - #set ext = $f.ext.replace('sanger', '') + #for $i, $f in enumerate($inputs.right_input): + #set $ext = $f.ext.replace('sanger', '') ln -s '$f' 'input/input${i}.2.${ext}' && #end for #else: - #for f in $inputs.pair_input: - #set ext = $f.forward.ext.replace('sanger', '') + #for $f in $inputs.pair_input: + #set $ext = $f.forward.ext.replace('sanger', '') ln -s '$f.forward' 'input/${symlink_basename(f)}.1.${ext}' && - #set ext = $f.reverse.ext.replace('sanger', '') + #set $ext = $f.reverse.ext.replace('sanger', '') ln -s '$f.reverse' 'input/${symlink_basename(f)}.2.${ext}' && #end for #end if +#if $tax_args.aligner_cond.taxAligner not in ('0', '3') and $tax_args.aligner_cond.refDB_cond.refDB == 'history': + #set $ref_fasta_symlink = $symlink_basename($tax_args.aligner_cond.refDB_cond.ref_fasta) + '.' + $tax_args.aligner_cond.refDB_cond.ref_fasta.ext + ln -s '$tax_args.aligner_cond.refDB_cond.ref_fasta' '$ref_fasta_symlink' && +#end if + #if not $map: lotus2 -create_map mapping.txt -i input/ && cat mapping.txt && @@ -91,7 +104,12 @@ -tmpDir tmp_folder -threads "\${GALAXY_SLOTS:-1}" -map '$map' --platform $platform +#if $sdmopt: + -sdmopt '$sdmopt' +#end if +#if $platform != '': + -platform $platform +#end if #if $barcode: -barcode '$barcode' #end if @@ -106,7 +124,7 @@ #end if -clustering $clu_args.clu_cond.clustering -#if $clu_args.clu_cond.clustering in ('1', '3'): +#if $clu_args.clu_cond.clustering in ('1', '3') and str($clu_args.clu_cond.id): -id $clu_args.clu_cond.id #elif $clu_args.clu_cond.clustering == '2': -swarm_distance $clu_args.clu_cond.swarm_distance @@ -114,8 +132,13 @@ #if $clu_args.derepMin: -derepMin '$clu_args.derepMin' #end if --deactivateChimeraCheck $clu_args.deactivateChimeraCheck --chim_skew $clu_args.chim_skew + +#if $clu_args.deactivateChimeraCheck != '': + -deactivateChimeraCheck $clu_args.deactivateChimeraCheck +#end if +#if str($clu_args.chim_skew): + -chim_skew $clu_args.chim_skew +#end if -taxAligner $tax_args.aligner_cond.taxAligner #if $tax_args.aligner_cond.taxAligner == '0': @@ -124,22 +147,33 @@ -utax_thr $tax_args.aligner_cond.utax_thr #else: #if $tax_args.aligner_cond.refDB_cond.refDB == 'cached': - -refDB $tax_args.aligner_cond.refDB_cond.ref_db - -greengenesSpecies $tax_args.aligner_cond.refDB_cond.greengenesSpecies + #if $tax_args.aligner_cond.refDB_cond.ref_db != '': + -refDB $tax_args.aligner_cond.refDB_cond.ref_db + -greengenesSpecies $tax_args.aligner_cond.refDB_cond.greengenesSpecies + #end if #else: - -refDB $tax_args.aligner_cond.refDB_cond.ref_fasta - -tax4refDB $tax_args.aligner_cond.refDB_cond.tax4refDB + -refDB '$ref_fasta_symlink' + -tax4refDB '$tax_args.aligner_cond.refDB_cond.tax4refDB' #end if -useBestBlastHitOnly $tax_args.aligner_cond.useBestBlastHitOnly #end if --amplicon_type $tax_args.amplicon_cond.amplicon_type +#if $tax_args.amplicon_cond.amplicon_type != '': + -amplicon_type $tax_args.amplicon_cond.amplicon_type +#end if #if $tax_args.amplicon_cond.amplicon_type in ('ITS', 'ITS1', 'ITS2'): -ITSx $tax_args.amplicon_cond.ITSx_macro #end if --tax_group $tax_args.tax_group + +#if $tax_args.tax_group != '': + -tax_group $tax_args.tax_group +#end if -keepUnclassified $tax_args.keepUnclassified --LCA_cover $tax_args.LCA_cover --LCA_frac $tax_args.LCA_frac +#if str($tax_args.LCA_cover): + -LCA_cover $tax_args.LCA_cover +#end if +#if str($tax_args.LCA_frac): + -LCA_frac $tax_args.LCA_frac +#end if -lulu $tax_args.lulu -buildPhylo $tax_args.buildPhylo @@ -170,8 +204,10 @@ </when> </conditional> <param argument="-map" type="data" format="tabular" optional="true" label="Mapping file (optional)" help="Needed to demultiplex the FASTQ files using sdm. If the FASTQ are already demultiplexed, this can be omitted." /> + <param argument="-sdmopt" type="data" format="txt" optional="true" label="SDM option file (optional)" /> <param argument="-platform" type="select" label="Sequencing platform"> - <option value="miSeq" selected="true">miSeq</option> + <option value="" selected="true">(Default)</option> + <option value="miSeq">miSeq</option> <option value="hiSeq">hiSeq</option> <option value="454">454</option> <option value="PacBio">PacBio</option> @@ -195,7 +231,7 @@ </param> </when> <when value="history"> - <param name="ref_file" type="data" format="fasta" label="FASTA reference genome" /> + <param name="ref_file" type="data" format="fasta,fasta.gz" label="FASTA reference genome" /> </when> </conditional> <section name="clu_args" title="Clustering Options"> @@ -223,12 +259,13 @@ </conditional> <param argument="-derepMin" type="text" value="" label="Minimum size of dereplicated raw reads (optional)" help="E.g. 4:1,4:2,3:3 . See http://lotus2.earlham.ac.uk/images/Derep_options.pdf for how to specify this parameter. If not specified, LotuS2 will select an appropriate default for the chosen clustering algorithm." /> <param argument="-deactivateChimeraCheck" type="select" label="Chimera check"> - <option value="0" selected="true">OTU chimera checks</option> + <option value="" selected="true">(Default)</option> + <option value="0">OTU chimera checks</option> <option value="1">No chimera check at all</option> <option value="2">Disable deNovo chimera check</option> <option value="3">Disable ref based chimera check</option> </param> - <param argument="-chim_skew" type="integer" min="0" value="2" label="Skew in chimeric fragment abundance" /> + <param argument="-chim_skew" type="integer" min="0" value="" optional="true" label="Skew in chimeric fragment abundance" /> </section> <section name="tax_args" title="Taxonomy Options"> <conditional name="aligner_cond"> @@ -243,7 +280,7 @@ <param argument="-rdp_thr" type="float" min="0" max="1" value="0.8" label="Confidence threshold for RDP"/> </when> <when value="1"> - <expand macro="refDB_macro" /> + <expand macro="refDB_macro" ref_fasta_formats="fasta" /> </when> <when value="2"> <expand macro="refDB_macro" /> @@ -257,8 +294,9 @@ </conditional> <conditional name="amplicon_cond"> <param argument="-amplicon_type" type="select" label="Amplicon type"> + <option value="" selected="true">(Default)</option> <option value="LSU">LSU Large subunit (23S/28S)</option> - <option value="SSU" selected="true">SSU small subunit (16S/18S)</option> + <option value="SSU">SSU small subunit (16S/18S)</option> <option value="ITS">ITS internal transcribed spacer</option> <option value="ITS1">ITS1</option> <option value="ITS2">ITS2</option> @@ -274,12 +312,13 @@ </when> </conditional> <param argument="-tax_group" type="select" label="Tax group"> - <option value="bacteria" selected="true">bacterial 16S rDNA annnotation</option> + <option value="" selected="true">(Default)</option> + <option value="bacteria">bacterial 16S rDNA annnotation</option> <option value="fungi">fungal 18S/23S/ITS annotation</option> </param> <param argument="-keepUnclassified" type="boolean" truevalue="1" falsevalue="0" checked="true" label="Keep unclassified OTUs" help="Includes unclassified OTUs (i.e. no match in RDP/Blast database) in OTU and taxa abundance matrix calculations" /> - <param argument="-LCA_cover" type="float" min="0" max="1" value="0.9" label="Minimum horizontal coverage of an OTU sequence against ref DB"/> - <param argument="-LCA_frac" type="float" min="0" max="1" value="0.9" label="Minimum fraction of reads with identical taxonomy"/> + <param argument="-LCA_cover" type="float" min="0" max="1" value="" optional="true" label="Minimum horizontal coverage of an OTU sequence against ref DB"/> + <param argument="-LCA_frac" type="float" min="0" max="1" value="" optional="true" label="Minimum fraction of reads with identical taxonomy"/> <param argument="-lulu" type="boolean" truevalue="1" falsevalue="0" checked="false" label="Use LULU to merge OTUs based on their occurrence" /> <param argument="-buildPhylo" type="select" label="Build OTU phylogeny"> <option value="0">Disable</option>