annotate cfsan_centriflaken.xml @ 41:c4cc8c015560

"planemo upload"
author kkonganti
date Thu, 30 Jun 2022 12:45:14 -0400
parents 8ea952e3726e
children 153c387b0d48
rev   line source
kkonganti@0 1 <tool id="cfsan_centriflaken" name="Centriflaken" version="0.2.0+galaxy0">
kkonganti@0 2 <description>An automated pipeline to generate a MAG of interest (E.coli or Salmonella) and perform serotyping.</description>
kkonganti@0 3 <requirements>
kkonganti@0 4 <requirement type="package" version="22.04">nextflow</requirement>
kkonganti@0 5 <requirement type="package">graphviz</requirement>
kkonganti@0 6 </requirements>
kkonganti@0 7 <version_command>nextflow -version</version_command>
kkonganti@0 8 <command detect_errors="exit_code"><![CDATA[
kkonganti@16 9 mkdir -p cpipes-input;
kkonganti@4 10 #for $key in $input.keys()
kkonganti@4 11 ln -sf '$input[$key]' './cpipes-input/$key';
kkonganti@0 12 #end for
kkonganti@16 13 pwd_path=\$(pwd);
kkonganti@0 14 $__tool_directory__/0.2.1/cpipes
kkonganti@26 15 --pipeline $pipeline
kkonganti@4 16 #if ($pipeline == "centriflaken"):
kkonganti@4 17 --fq_single_end true
kkonganti@33 18 --flye_genome_size '${genome_size}'
kkonganti@33 19 #if ($long_read_platform == "nanopore_corr"):
kkonganti@33 20 --flye_nano_corr true --flye_nano_raw false
kkonganti@33 21 #elif ($long_read_platform == "nanopore_hq"):
kkonganti@33 22 --flye_nano_hq true --flye_nano_raw false
kkonganti@33 23 #elif ($long_read_platform == "pacbio_raw"):
kkonganti@33 24 --flye_pacbio_raw true --flye_nano_raw false
kkonganti@33 25 #elif ($long_read_platform == "pacbio_corr"):
kkonganti@33 26 --flye_pacbio_corr true --flye_nano_raw false
kkonganti@33 27 #elif ($long_read_platform == "pacbio_hifi"):
kkonganti@33 28 --flye_pacbio_hifi true --flye_nano_raw false
kkonganti@33 29 #end if
kkonganti@16 30 #elif ($pipeline == "centriflaken_hy"):
kkonganti@4 31 #if ($reads_lib_layout == "single"):
kkonganti@4 32 --fq_single_end true
kkonganti@30 33 #elif ($reads_lib_layout == "paired"):
kkonganti@32 34 --fq_single_end false --fq2_suffix '${fq2_suffix}'
kkonganti@4 35 #end if
kkonganti@0 36 #end if
kkonganti@0 37 --input \${pwd_path}/cpipes-input
kkonganti@0 38 --output \${pwd_path}/cpipes-output
kkonganti@4 39 --fq_suffix '${fq_suffix}'
kkonganti@41 40 #if ($fq_filter_by_len != ""):
kkonganti@39 41 --fq_filter_by_len $fq_filter_by_len
kkonganti@39 42 #end if
kkonganti@0 43 --fq_filename_delim '${fq_filename_delim}'
kkonganti@0 44 --fq_filename_delim_idx $fq_filename_delim_idx
kkonganti@0 45 --centrifuge_extract_bug '${centrifuge_extract_bug}'
kkonganti@4 46 -profile $runtime_profile
kkonganti@20 47 -resume;
kkonganti@24 48 mv './cpipes-output/${pipeline}-multiqc/multiqc_report.html' './multiqc_report.html';
kkonganti@24 49 mv './cpipes-output/${pipeline}-results/kraken2_extract_contigs' kraken2_extract_contigs;
kkonganti@0 50 ]]></command>
kkonganti@0 51 <inputs>
kkonganti@3 52 <param name="input" type="data_collection" collection_type="list" format="fastq,fastq.gz,fastqsanger.gz,fastqsanger" label="Input read collection" />
kkonganti@31 53 <param name="pipeline" type="select" label="CPIPES Workflow name"
kkonganti@9 54 help="centriflaken: for long reads (Nanopore or PacBio). centriflaken_hy: for short reads (paired or unpaired). Default: centriflaken">
kkonganti@31 55 <option value="centriflaken" selected="true">centriflaken</option>
kkonganti@4 56 <option value="centriflaken_hy">centriflaken_hy</option>
kkonganti@4 57 </param>
kkonganti@31 58 <param name="reads_lib_layout" type="select" label="Short Read Library Layout"
kkonganti@28 59 help="Leave this option as Single-End for centriflaken. If the pipeline is centriflaken_hy (i.e for short reads), what is the library layout? Default: Single-End">
kkonganti@31 60 <option value="single" selected="true">Single-End</option>
kkonganti@4 61 <option value="paired">Paired-End</option>
kkonganti@4 62 </param>
kkonganti@31 63 <param name="long_read_platform" type="select" label="Mention long read sequencing platform and type"
kkonganti@25 64 help="THIS OPTION IS IGNORED IF THE INPUT READS ARE SHORT READS.">
kkonganti@31 65 <option value="nanopore_raw" selected="true">Nanopore raw reads, pre-Guppy5 (&lt;20% error)</option>
kkonganti@25 66 <option value="nanopore_corr">Nanopore reads that were corrected with other methods (&lt;3% error)</option>
kkonganti@25 67 <option value="nanopore_hq">Nanopore high-quality reads, Guppy5+ SUP or Q20 (5% error)</option>
kkonganti@25 68 <option value="pacbio_raw">PacBio regular CLR reads (&lt;20% error)</option>
kkonganti@25 69 <option value="pacbio_corr">PacBio reads that were corrected with other methods (&lt;3% error)</option>
kkonganti@25 70 <option value="pacbio_hifi">PacBio HiFi reads (&lt;1% error)</option>
kkonganti@25 71 </param>
kkonganti@4 72 <param name="fq_suffix" value=".fastq.gz" type="text" label="Suffix of the R1 FASTQ or Unpaired FASTQ"/>
kkonganti@40 73 <param name="fq_filename_delim" type="text" value="_" label="File name delimitor by which samples are grouped together (--fq_filename_delim)"
kkonganti@40 74 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@40 75 <param name="fq_filter_by_len" optional="true" value="" type="integer" label="Enter minimum read length to retain before starting the analysis"
kkonganti@39 76 help="Keep this option empty to use default values. Default for centriflaken (long reads) is 4000 bp and for centriflaken_hy (short reads) is 75 bp)"/>
kkonganti@4 77 <param name="fq2_suffix" value="_R2_001.fastq.gz" type="text" label="Suffix of the R2 FASTQ R2"/>
kkonganti@6 78 <param name="fq_filename_delim_idx" type="integer" value="1" label="File name delimitor index (--fq_filename_delim_idx)" />
kkonganti@0 79 <param name="centrifuge_extract_bug" type="text" value="Escherichia coli" label="Reads belonging to this taxa are extracted and a MAG is generated to allow for serotyping"/>
kkonganti@0 80 <param name="genome_size" type="text" optional="true" value="5.5m" label="Estimated genome size" help="For example, 5m or 2.6g.">
kkonganti@0 81 <validator type="regex" message="Genome size must be a float or integer, optionally followed by the a unit prefix (kmg)">^([0-9]*[.])?[0-9]+[kmg]?$</validator>
kkonganti@0 82 </param>
kkonganti@31 83 <param name="runtime_profile" type="select" label="Run time profile">
kkonganti@31 84 <option value="kondagac" selected="true">conda</option>
kkonganti@12 85 <option value="cingularitygac">singularity</option>
kkonganti@0 86 </param>
kkonganti@0 87 </inputs>
kkonganti@0 88 <outputs>
kkonganti@36 89 <data name="multiqc_report" format="html" label="${pipeline}: MultiQC Report on ${on_string}" from_work_dir="multiqc_report.html"/>
kkonganti@36 90 <collection name="assembled_mags" type="list" label="${pipeline}: Assembled MAGs on ${on_string}">
kkonganti@24 91 <discover_datasets pattern="(?P&lt;name&gt;.*)\.assembly_filtered_contigs\.fasta" ext="fasta" directory="kraken2_extract_contigs"/>
kkonganti@18 92 </collection>
kkonganti@0 93 </outputs>
kkonganti@3 94 <tests>
kkonganti@3 95 <!--Test 01: long reads-->
kkonganti@3 96 <test expect_num_outputs="2">
kkonganti@4 97 <param name="input">
kkonganti@3 98 <collection type="list">
kkonganti@4 99 <element name="FAL11127.fastq.gz" value="FAL11127.fastq.gz" />
kkonganti@4 100 <element name="FAL11341.fastq.gz" value="FAL11341.fastq.gz" />
kkonganti@4 101 <element name="FAL11342.fastq.gz" value="FAL11342.fastq.gz" />
kkonganti@3 102 </collection>
kkonganti@3 103 </param>
kkonganti@3 104 <param name="fq_suffix" value=".fastq.gz"/>
kkonganti@3 105 <output name="multiqc_report" file="multiqc_report.html" ftype="html" compare="sim_size"/>
kkonganti@18 106 <!-- <output name="assembled_mags" file="FAL11127.assembly_filtered.contigs.fasta" ftype="fasta" compare="sim_size"/> -->
kkonganti@3 107 </test>
kkonganti@3 108 </tests>
kkonganti@0 109 <help><![CDATA[
kkonganti@0 110
kkonganti@0 111 .. class:: infomark
kkonganti@0 112
kkonganti@0 113 **Purpose**
kkonganti@0 114
kkonganti@6 115 Centriflaken suite of automated data analysis pipelines are based on Nextflow DSL2 developed at CFSAN, FDA. These piepelines allow rapid
kkonganti@0 116 and effective construction of metagenomic assembled genomes (MAGs) to enable bacterial source-tracking. It is based on methods described in our
kkonganti@0 117 previous publication (https://doi.org/10.1371/journal.pone.0245172).
kkonganti@14 118
kkonganti@0 119 ----
kkonganti@0 120
kkonganti@0 121 .. class:: infomark
kkonganti@0 122
kkonganti@0 123 **Testing and Validation**
kkonganti@0 124
kkonganti@0 125 The pipeline has been wrapped to make it work in Galaxy. It takes in either paired or unpaired short reads or long reads, generates MAGs and performs
kkonganti@0 126 in silico-based analysis (i.e., virulence gene finding). Additionally, AMR gene finding analysis is also included in Centriflaken and performed on MAGs
kkonganti@0 127 of interest. The final summary plots and tables can be downloaded from the provided MultiQC HTML report generated as part of the pipeline.
kkonganti@0 128 The Centriflaken pipeline was validated with data from our previously published method (Maguire et al, 2021) and was able to replicate the detection
kkonganti@0 129 and classification of STECs for each sample. We tested the pipeline with nanopore data obtained from 21 additional enriched samples from
kkonganti@0 130 irrigation water and was able to perform the entire precision metagenomics analysis in less than 5 hours for all of them. All the original testing and validation was
kkonganti@0 131 done on the command line on the CFSAN Raven2 HPC Cluster.
kkonganti@0 132
kkonganti@0 133
kkonganti@0 134 ----
kkonganti@0 135
kkonganti@0 136 .. class:: infomark
kkonganti@0 137
kkonganti@0 138 **Outputs**
kkonganti@0 139
kkonganti@0 140 The main output files are:
kkonganti@0 141
kkonganti@0 142 ::
kkonganti@0 143
kkonganti@0 144 - MultiQC Report: Contains a brief summary report including any serotyping and AMR result tables.
kkonganti@27 145 - Final assembly: contains contigs and possibly scaffolds.
kkonganti@0 146
kkonganti@0 147 ]]></help>
kkonganti@0 148 <citations>
kkonganti@0 149 <citation type="bibtex">
kkonganti@0 150 @misc{gitlabCPIPES,
kkonganti@0 151 author = {Konganti, Kranti},
kkonganti@0 152 year = {2022},
kkonganti@0 153 title = {CPIPES - Centriflaken},
kkonganti@0 154 publisher = {GitLab},
kkonganti@0 155 journal = {GitLab repository},
kkonganti@0 156 url = {https://cfsan-git.fda.gov/Kranti.Konganti/cpipes}}
kkonganti@0 157 </citation>
kkonganti@0 158 </citations>
kkonganti@0 159 </tool>