annotate hfp_nowayout.xml @ 0:97cd2f532efe

planemo upload
author kkonganti
date Mon, 31 Mar 2025 14:50:40 -0400
parents
children fa47b825716b
rev   line source
kkonganti@0 1 <tool id="hfp_nowayout" name="nowayout" version="0.5.0+galaxy24">
kkonganti@0 2 <description>An automated workflow to identify Mitochondrial reads and classify Eukaryotes.</description>
kkonganti@0 3 <requirements>
kkonganti@0 4 <container type="docker">quay.io/biocontainers/nextflow:24.10.4--hdfd78af_0</container>
kkonganti@0 5 </requirements>
kkonganti@0 6 <version_command>nextflow -version</version_command>
kkonganti@0 7 <command detect_errors="exit_code"><![CDATA[
kkonganti@0 8 input_path=\$(pwd)"/cpipes-input";
kkonganti@0 9 mkdir -p "\${input_path}" || exit 1;
kkonganti@0 10 #import re
kkonganti@0 11 #if (str($input_read_type_cond.input_read_type) == "single_long"):
kkonganti@0 12 #for _, $unpaired in enumerate($input_read_type_cond.input):
kkonganti@0 13 #set read1 = str($unpaired.name)
kkonganti@0 14 #if not str($unpaired.name).endswith(('.fastq', '.fastq.gz')):
kkonganti@0 15 #set read1_ext = re.sub('fastqsanger', 'fastq', str($unpaired.ext))
kkonganti@0 16 #set read1 = str($unpaired.name) + str('.') + $read1_ext
kkonganti@0 17 #end if
kkonganti@0 18 ln -sf '$unpaired' "\${input_path}/$read1";
kkonganti@0 19 #end for
kkonganti@0 20 #elif (str($input_read_type_cond.input_read_type) == "paired"):
kkonganti@0 21 #for _, $pair in enumerate($input_read_type_cond.input_pair)
kkonganti@0 22 #set read_R1 = re.sub('\:forward', '_forward', str($pair.forward.name))
kkonganti@0 23 #set read_R2 = re.sub('\:reverse', '_reverse', str($pair.reverse.name))
kkonganti@0 24 #set read_R1_ext = re.sub('fastqsanger', 'fastq', str($pair.forward.ext))
kkonganti@0 25 #set read_R2_ext = re.sub('fastqsanger', 'fastq', str($pair.reverse.ext))
kkonganti@0 26 #if not str($pair.forward.name).endswith(('.fastq', '.fastq.gz')):
kkonganti@0 27 #set read_R1 = $read_R1 + str('.') + $read_R1_ext
kkonganti@0 28 #end if
kkonganti@0 29 #if not str($pair.reverse.name).endswith(('.fastq', '.fastq.gz')):
kkonganti@0 30 #set read_R2 = $read_R2 + str('.') + $read_R2_ext
kkonganti@0 31 #end if
kkonganti@0 32 ln -sf '$pair.forward' "\${input_path}/$read_R1";
kkonganti@0 33 ln -sf '$pair.reverse' "\${input_path}/$read_R2";
kkonganti@0 34 #end for
kkonganti@0 35 #end if
kkonganti@0 36 $__tool_directory__/0.5.0/cpipes
kkonganti@0 37 --pipeline nowayout
kkonganti@0 38 --input \${input_path}
kkonganti@0 39 --output cpipes-output
kkonganti@0 40 --fq_suffix '${input_read_type_cond.fq_suffix}'
kkonganti@0 41 #if (str($input_read_type_cond.input_read_type) == "single_long"):
kkonganti@0 42 --fq_single_end true
kkonganti@0 43 #elif (str($input_read_type_cond.input_read_type) == "paired"):
kkonganti@0 44 --fq_single_end false --fq2_suffix '${input_read_type_cond.fq2_suffix}'
kkonganti@0 45 #end if
kkonganti@0 46 --db_mode $nowo_db_mode
kkonganti@0 47 --nowo_thresholds $nowo_thresholds
kkonganti@0 48 --fq_filename_delim '${fq_filename_delim}'
kkonganti@0 49 --fq_filename_delim_idx $fq_filename_delim_idx
kkonganti@0 50 -profile gxkubernetes;
kkonganti@0 51 mv './cpipes-output/nowayout-multiqc/multiqc_report.html' './multiqc_report.html' || exit 1;
kkonganti@0 52 mv './cpipes-output/krona_ktimporttext/CPIPES_nowayout_krona.html './CPIPES_nowayout_krona.html' || exit 1;
kkonganti@0 53 rm -rf ./cpipes-output || exit 1;
kkonganti@0 54 rm -rf ./work || exit 1;
kkonganti@0 55 ]]></command>
kkonganti@0 56 <inputs>
kkonganti@0 57 <conditional name="input_read_type_cond">
kkonganti@0 58 <param name="input_read_type" type="select" label="Select the read collection type">
kkonganti@0 59 <option value="single_long" selected="true">Single-End short reads</option>
kkonganti@0 60 <option value="paired">Paired-End short reads</option>
kkonganti@0 61 </param>
kkonganti@0 62 <when value="single_long">
kkonganti@0 63 <param name="input" type="data_collection" collection_type="list" format="fastq,fastq.gz"
kkonganti@0 64 label="Dataset list of unpaired short reads or long reads" />
kkonganti@0 65 <param name="fq_suffix" value=".fastq.gz" type="text" label="Suffix of the Single-End FASTQ"/>
kkonganti@0 66 </when>
kkonganti@0 67 <when value="paired">
kkonganti@0 68 <param name="input_pair" type="data_collection" collection_type="list:paired" format="fastq,fastq.gz" label="List of Dataset pairs" />
kkonganti@0 69 <param name="fq_suffix" value="_R1_001.fastq.gz" type="text" label="Suffix of the R1 FASTQ"
kkonganti@0 70 help="For any data sets downloaded from NCBI into Galaxy, change this to _forward.fastq.gz suffix."/>
kkonganti@0 71 <param name="fq2_suffix" value="_R2_001.fastq.gz" type="text" label="Suffix of the R2 FASTQ"
kkonganti@0 72 help="For any data sets downloaded from NCBI into Galaxy, change this to _reverse.fastq.gz suffix."/>
kkonganti@0 73 </when>
kkonganti@0 74 </conditional>
kkonganti@0 75 <param name="nowo_db_mode" type="select" label="Select the database with nowayout"
kkonganti@0 76 help="Please see below about different databases.">
kkonganti@0 77 <option value="mitomine" selected="true">mitomine</option>
kkonganti@0 78 <option value="cytox1">cytox1</option>
kkonganti@0 79 <option value="voucher">voucher</option>
kkonganti@0 80 <option value="ganoderma">ganoderma</option>
kkonganti@0 81 <option value="listeria">listeria</option>
kkonganti@0 82 </param>
kkonganti@0 83 <param name="nowo_thresholds" type="select" label="Enter the type of base quality thresholds to be set with nowayout"
kkonganti@0 84 help="The default value sets strictest thresholds that tends to filter out most of the false positive hits.">
kkonganti@0 85 <option value="strict" selected="true">strict</option>
kkonganti@0 86 <option value="relax">relax</option>
kkonganti@0 87 </param>
kkonganti@0 88 <param name="fq_filename_delim" type="text" value="_" label="File name delimitor by which samples are grouped together (--fq_filename_delim)"
kkonganti@0 89 help="This is the delimitor by which samples are grouped together to display in the final MultiQC report. For example, if your input data sets are mango_replicate1.fastq.gz, mango_replicate2.fastq.gz, orange_replicate1_maryland.fastq.gz, orange_replicate2_maryland.fastq.gz, then to create 2 samples mango and orange, the value for --fq_filename_delim would be _ (underscore) and the value for --fq_filename_delim_idx would be 1, since you want to group by the first word (i.e. mango or orange) after splitting the filename based on _ (underscore)."/>
kkonganti@0 90 <param name="fq_filename_delim_idx" type="integer" value="1" label="File name delimitor index (--fq_filename_delim_idx)" />
kkonganti@0 91 </inputs>
kkonganti@0 92 <outputs>
kkonganti@0 93 <data name="krona_chart" format="html" label="nowayout: Krona Chart on ${on_string}" from_work_dir="CPIPES_nowayout_krona.html"/>
kkonganti@0 94 <data name="multiqc_report" format="html" label="nowayout: MultiQC Report on ${on_string}" from_work_dir="multiqc_report.html"/>
kkonganti@0 95 </outputs>
kkonganti@0 96 <tests>
kkonganti@0 97 <!--Test 01: long reads-->
kkonganti@0 98 <test expect_num_outputs="2">
kkonganti@0 99 <param name="input">
kkonganti@0 100 <collection type="list">
kkonganti@0 101 <element name="FAL11127.fastq.gz" value="FAL11127.fastq.gz" />
kkonganti@0 102 <element name="FAL11341.fastq.gz" value="FAL11341.fastq.gz" />
kkonganti@0 103 <element name="FAL11342.fastq.gz" value="FAL11342.fastq.gz" />
kkonganti@0 104 </collection>
kkonganti@0 105 </param>
kkonganti@0 106 <param name="fq_suffix" value=".fastq.gz"/>
kkonganti@0 107 <output name="multiqc_report" file="multiqc_report.html" ftype="html" compare="sim_size"/>
kkonganti@0 108 <!-- <output name="assembled_mags" file="FAL11127.assembly_filtered.contigs.fasta" ftype="fasta" compare="sim_size"/> -->
kkonganti@0 109 </test>
kkonganti@0 110 </tests>
kkonganti@0 111 <help><![CDATA[
kkonganti@0 112
kkonganti@0 113 .. class:: infomark
kkonganti@0 114
kkonganti@0 115 **Purpose**
kkonganti@0 116
kkonganti@0 117 nowayout is a mitochondrial metagenomics classifier for Eukaryotes.
kkonganti@0 118 It uses a custom kma database to identify mitochondrial reads and
kkonganti@0 119 performs read classification followed by further read classification
kkonganti@0 120 reinforcement using sourmash.
kkonganti@0 121
kkonganti@0 122 It is written in Nextflow and is part of the modular data analysis pipelines (CFSAN PIPELINES or CPIPES for short) at HFP.
kkonganti@0 123
kkonganti@0 124
kkonganti@0 125 ----
kkonganti@0 126
kkonganti@0 127 .. class:: infomark
kkonganti@0 128
kkonganti@0 129 ** Databases **
kkonganti@0 130
kkonganti@0 131 - mitomine: Big database that works in almost all scenarios.
kkonganti@0 132 - cytox1: Collection of only non-redundant COXI genes from NCBI.
kkonganti@0 133 - voucher: Collection of only non-redundant voucher sequences from NCBI.
kkonganti@0 134 - ganoderma: Collection of only non-redundant mtDNA sequences of Ganoderma fungi.
kkonganti@0 135 - listeria: Collection of organelle sequences and other rRNA genes for Listeria.
kkonganti@0 136
kkonganti@0 137
kkonganti@0 138 ----
kkonganti@0 139
kkonganti@0 140 .. class:: infomark
kkonganti@0 141
kkonganti@0 142 **Testing and Validation**
kkonganti@0 143
kkonganti@0 144 The CPIPES - nowayout Nextflow pipeline has been wrapped to make it work in Galaxy.
kkonganti@0 145 It takes in either paired or unpaired short reads list as an input and generates a MultiQC report
kkonganti@0 146 which contains relative abundances in context of number of mitochondrial reads identified. It also
kkonganti@0 147 generates a Krona chart for each sample. The pipeline has been tested on multiple internal insect
kkonganti@0 148 mixture samples. All the original testing and validation was done on the command line on the
kkonganti@0 149 HFP Reedling HPC Cluster.
kkonganti@0 150
kkonganti@0 151
kkonganti@0 152 ----
kkonganti@0 153
kkonganti@0 154 .. class:: infomark
kkonganti@0 155
kkonganti@0 156 ** Please note **
kkonganti@0 157
kkonganti@0 158 ::
kkonganti@0 159
kkonganti@0 160 - nowayout only works on Illumina short reads (paired or unpaired).
kkonganti@0 161 - nowayout uses a custom kma database named mitomine.
kkonganti@0 162 - The custom database will be incrementally augmented and refined over time.
kkonganti@0 163 - mitomine stats:
kkonganti@0 164 Contains ~ 2.93M non-redundant mitochondrial and voucher sequences.
kkonganti@0 165 Represents ~ 717K unique species.
kkonganti@0 166 - Other databases are also available but will be seldom updated.
kkonganti@0 167
kkonganti@0 168 ----
kkonganti@0 169
kkonganti@0 170 .. class:: infomark
kkonganti@0 171
kkonganti@0 172 **Outputs**
kkonganti@0 173
kkonganti@0 174 The main output file is a:
kkonganti@0 175
kkonganti@0 176 ::
kkonganti@0 177
kkonganti@0 178 - MultiQC Report: Contains a brief summary report including individual Mitochondrial reads identified
kkonganti@0 179 per sample and relative abundances in context of the total number of Mitochondrial reads
kkonganti@0 180 identified.
kkonganti@0 181 Please note that due to MultiQC customizations, the preview (eye icon) will not
kkonganti@0 182 work within Galaxy for the MultiQC report. Please download the file by clicking
kkonganti@0 183 on the floppy icon and view it in your browser on your local desktop/workstation.
kkonganti@0 184 You can export the tables and plots from the downloaded MultiQC report.
kkonganti@0 185
kkonganti@0 186 ]]></help>
kkonganti@0 187 <citations>
kkonganti@0 188 <citation type="bibtex">
kkonganti@0 189 @article{nowayout,
kkonganti@0 190 author = {Konganti, Kranti},
kkonganti@0 191 year = {2025},
kkonganti@0 192 month = {May},
kkonganti@0 193 title = {nowayout: An automated mitrochiondrial read classifier for Eukaryotes.},
kkonganti@0 194 journal = {Manuscript in preparation},
kkonganti@0 195 doi = {10.3389/xxxxxxxxxxxxxxxxxx},
kkonganti@0 196 url = {https://xxxxxxx/articles/10.3389/xxxxxxxxxxxx/full}}
kkonganti@0 197 </citation>
kkonganti@0 198 </citations>
kkonganti@0 199 </tool>