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@16
|
18 #elif ($pipeline == "centriflaken_hy"):
|
kkonganti@4
|
19 #if ($reads_lib_layout == "single"):
|
kkonganti@4
|
20 --fq_single_end true
|
kkonganti@30
|
21 #elif ($reads_lib_layout == "paired"):
|
kkonganti@4
|
22 --fq_single_end false
|
kkonganti@4
|
23 #end if
|
kkonganti@0
|
24 #end if
|
kkonganti@0
|
25 --input \${pwd_path}/cpipes-input
|
kkonganti@0
|
26 --output \${pwd_path}/cpipes-output
|
kkonganti@4
|
27 --fq_suffix '${fq_suffix}'
|
kkonganti@0
|
28 --fq_filename_delim '${fq_filename_delim}'
|
kkonganti@0
|
29 --fq_filename_delim_idx $fq_filename_delim_idx
|
kkonganti@0
|
30 --centrifuge_extract_bug '${centrifuge_extract_bug}'
|
kkonganti@0
|
31 --flye_genome_size '${genome_size}'
|
kkonganti@25
|
32 #if ($long_read_platform == "nanopore_corr"):
|
kkonganti@25
|
33 --flye_nano_corr true --flye_nano_raw false
|
kkonganti@25
|
34 #elif ($long_read_platform == "nanopore_hq"):
|
kkonganti@25
|
35 --flye_nano_hq true --flye_nano_raw false
|
kkonganti@25
|
36 #elif ($long_read_platform == "pacbio_raw"):
|
kkonganti@25
|
37 --flye_pacbio_raw true --flye_nano_raw false
|
kkonganti@25
|
38 #elif ($long_read_platform == "pacbio_corr"):
|
kkonganti@25
|
39 --flye_pacbio_corr true --flye_nano_raw false
|
kkonganti@25
|
40 #elif ($long_read_platform == "pacbio_hifi"):
|
kkonganti@25
|
41 --flye_pacbio_hifi true --flye_nano_raw false
|
kkonganti@25
|
42 #end if
|
kkonganti@4
|
43 -profile $runtime_profile
|
kkonganti@20
|
44 -resume;
|
kkonganti@24
|
45 mv './cpipes-output/${pipeline}-multiqc/multiqc_report.html' './multiqc_report.html';
|
kkonganti@24
|
46 mv './cpipes-output/${pipeline}-results/kraken2_extract_contigs' kraken2_extract_contigs;
|
kkonganti@0
|
47 ]]></command>
|
kkonganti@0
|
48 <inputs>
|
kkonganti@3
|
49 <param name="input" type="data_collection" collection_type="list" format="fastq,fastq.gz,fastqsanger.gz,fastqsanger" label="Input read collection" />
|
kkonganti@31
|
50 <param name="pipeline" type="select" label="CPIPES Workflow name"
|
kkonganti@9
|
51 help="centriflaken: for long reads (Nanopore or PacBio). centriflaken_hy: for short reads (paired or unpaired). Default: centriflaken">
|
kkonganti@31
|
52 <option value="centriflaken" selected="true">centriflaken</option>
|
kkonganti@4
|
53 <option value="centriflaken_hy">centriflaken_hy</option>
|
kkonganti@4
|
54 </param>
|
kkonganti@31
|
55 <param name="reads_lib_layout" type="select" label="Short Read Library Layout"
|
kkonganti@28
|
56 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
|
57 <option value="single" selected="true">Single-End</option>
|
kkonganti@4
|
58 <option value="paired">Paired-End</option>
|
kkonganti@4
|
59 </param>
|
kkonganti@31
|
60 <param name="long_read_platform" type="select" label="Mention long read sequencing platform and type"
|
kkonganti@25
|
61 help="THIS OPTION IS IGNORED IF THE INPUT READS ARE SHORT READS.">
|
kkonganti@31
|
62 <option value="nanopore_raw" selected="true">Nanopore raw reads, pre-Guppy5 (<20% error)</option>
|
kkonganti@25
|
63 <option value="nanopore_corr">Nanopore reads that were corrected with other methods (<3% error)</option>
|
kkonganti@25
|
64 <option value="nanopore_hq">Nanopore high-quality reads, Guppy5+ SUP or Q20 (5% error)</option>
|
kkonganti@25
|
65 <option value="pacbio_raw">PacBio regular CLR reads (<20% error)</option>
|
kkonganti@25
|
66 <option value="pacbio_corr">PacBio reads that were corrected with other methods (<3% error)</option>
|
kkonganti@25
|
67 <option value="pacbio_hifi">PacBio HiFi reads (<1% error)</option>
|
kkonganti@25
|
68 </param>
|
kkonganti@4
|
69 <param name="fq_suffix" value=".fastq.gz" type="text" label="Suffix of the R1 FASTQ or Unpaired FASTQ"/>
|
kkonganti@4
|
70 <param name="fq2_suffix" value="_R2_001.fastq.gz" type="text" label="Suffix of the R2 FASTQ R2"/>
|
kkonganti@0
|
71 <param name="fq_filename_delim" type="text" value="_" label="File name delimitor by which samples are grouped together (--fq_filename_delim)"
|
kkonganti@6
|
72 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@6
|
73 <param name="fq_filename_delim_idx" type="integer" value="1" label="File name delimitor index (--fq_filename_delim_idx)" />
|
kkonganti@0
|
74 <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
|
75 <param name="genome_size" type="text" optional="true" value="5.5m" label="Estimated genome size" help="For example, 5m or 2.6g.">
|
kkonganti@0
|
76 <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
|
77 </param>
|
kkonganti@31
|
78 <param name="runtime_profile" type="select" label="Run time profile">
|
kkonganti@31
|
79 <option value="kondagac" selected="true">conda</option>
|
kkonganti@12
|
80 <option value="cingularitygac">singularity</option>
|
kkonganti@0
|
81 </param>
|
kkonganti@0
|
82 </inputs>
|
kkonganti@0
|
83 <outputs>
|
kkonganti@20
|
84 <data name="multiqc_report" format="html" label="MultiQC Report on ${on_string}" from_work_dir="multiqc_report.html"/>
|
kkonganti@18
|
85 <collection name="assembled_mags" type="list" label="CENTRIFLAKEN: Assembled MAGs on ${on_string}">
|
kkonganti@24
|
86 <discover_datasets pattern="(?P<name>.*)\.assembly_filtered_contigs\.fasta" ext="fasta" directory="kraken2_extract_contigs"/>
|
kkonganti@18
|
87 </collection>
|
kkonganti@0
|
88 </outputs>
|
kkonganti@3
|
89 <tests>
|
kkonganti@3
|
90 <!--Test 01: long reads-->
|
kkonganti@3
|
91 <test expect_num_outputs="2">
|
kkonganti@4
|
92 <param name="input">
|
kkonganti@3
|
93 <collection type="list">
|
kkonganti@4
|
94 <element name="FAL11127.fastq.gz" value="FAL11127.fastq.gz" />
|
kkonganti@4
|
95 <element name="FAL11341.fastq.gz" value="FAL11341.fastq.gz" />
|
kkonganti@4
|
96 <element name="FAL11342.fastq.gz" value="FAL11342.fastq.gz" />
|
kkonganti@3
|
97 </collection>
|
kkonganti@3
|
98 </param>
|
kkonganti@3
|
99 <param name="fq_suffix" value=".fastq.gz"/>
|
kkonganti@3
|
100 <output name="multiqc_report" file="multiqc_report.html" ftype="html" compare="sim_size"/>
|
kkonganti@18
|
101 <!-- <output name="assembled_mags" file="FAL11127.assembly_filtered.contigs.fasta" ftype="fasta" compare="sim_size"/> -->
|
kkonganti@3
|
102 </test>
|
kkonganti@3
|
103 </tests>
|
kkonganti@0
|
104 <help><![CDATA[
|
kkonganti@0
|
105
|
kkonganti@0
|
106 .. class:: infomark
|
kkonganti@0
|
107
|
kkonganti@0
|
108 **Purpose**
|
kkonganti@0
|
109
|
kkonganti@6
|
110 Centriflaken suite of automated data analysis pipelines are based on Nextflow DSL2 developed at CFSAN, FDA. These piepelines allow rapid
|
kkonganti@0
|
111 and effective construction of metagenomic assembled genomes (MAGs) to enable bacterial source-tracking. It is based on methods described in our
|
kkonganti@0
|
112 previous publication (https://doi.org/10.1371/journal.pone.0245172).
|
kkonganti@14
|
113
|
kkonganti@0
|
114 ----
|
kkonganti@0
|
115
|
kkonganti@0
|
116 .. class:: infomark
|
kkonganti@0
|
117
|
kkonganti@0
|
118 **Testing and Validation**
|
kkonganti@0
|
119
|
kkonganti@0
|
120 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
|
121 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
|
122 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
|
123 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
|
124 and classification of STECs for each sample. We tested the pipeline with nanopore data obtained from 21 additional enriched samples from
|
kkonganti@0
|
125 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
|
126 done on the command line on the CFSAN Raven2 HPC Cluster.
|
kkonganti@0
|
127
|
kkonganti@0
|
128
|
kkonganti@0
|
129 ----
|
kkonganti@0
|
130
|
kkonganti@0
|
131 .. class:: infomark
|
kkonganti@0
|
132
|
kkonganti@0
|
133 **Outputs**
|
kkonganti@0
|
134
|
kkonganti@0
|
135 The main output files are:
|
kkonganti@0
|
136
|
kkonganti@0
|
137 ::
|
kkonganti@0
|
138
|
kkonganti@0
|
139 - MultiQC Report: Contains a brief summary report including any serotyping and AMR result tables.
|
kkonganti@27
|
140 - Final assembly: contains contigs and possibly scaffolds.
|
kkonganti@0
|
141
|
kkonganti@0
|
142 ]]></help>
|
kkonganti@0
|
143 <citations>
|
kkonganti@0
|
144 <citation type="bibtex">
|
kkonganti@0
|
145 @misc{gitlabCPIPES,
|
kkonganti@0
|
146 author = {Konganti, Kranti},
|
kkonganti@0
|
147 year = {2022},
|
kkonganti@0
|
148 title = {CPIPES - Centriflaken},
|
kkonganti@0
|
149 publisher = {GitLab},
|
kkonganti@0
|
150 journal = {GitLab repository},
|
kkonganti@0
|
151 url = {https://cfsan-git.fda.gov/Kranti.Konganti/cpipes}}
|
kkonganti@0
|
152 </citation>
|
kkonganti@0
|
153 </citations>
|
kkonganti@0
|
154 </tool>
|