Repository 'cfsan_bettercallsal'
hg clone https://toolrepo.galaxytrakr.org/repos/kkonganti/cfsan_bettercallsal

Changeset 0:a4b1ee4b68b1 (2023-06-05)
Next changeset 1:365849f031fd (2023-06-05)
Commit message:
"planemo upload"
added:
cfsan_bettercallsal.xml
cfsan_bettercallsal.xml
diff -r 000000000000 -r a4b1ee4b68b1 cfsan_bettercallsal.xml
cfsan_bettercallsal.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/cfsan_bettercallsal.xml Mon Jun 05 16:17:23 2023 -0400
@@ -0,0 +1,232 @@
+<tool id="cfsan_centriflaken" name="Centriflaken" version="0.2.0+galaxy0">
+    <description>An automated pipeline to generate a MAG of interest (E.coli or Salmonella) and perform serotyping.</description>
+    <requirements>
+ <requirement type="package" version="22.04">nextflow</requirement>
+ <requirement type="package">graphviz</requirement>
+    </requirements>    
+    <version_command>nextflow -version</version_command>
+    <command detect_errors="exit_code"><![CDATA[
+ mkdir -p cpipes-input || exit 1;
+    pwd_path=\$(pwd);
+    #import re
+    #if (str($input_read_type_cond.input_read_type) == "single_long"):
+     #for _, $unpaired in enumerate($input_read_type_cond.input):
+            #set read1 = str($unpaired.name)
+            #if not str($unpaired.name).endswith(('.fastq', '.fastq.gz')):
+                #set read1_ext = re.sub('fastqsanger', 'fastq', str($unpaired.ext))
+                #set read1 = str($unpaired.name) + str('.') + $read1_ext
+            #end if
+            ln -sf '$unpaired' './cpipes-input/$read1';
+     #end for
+    #elif (str($input_read_type_cond.input_read_type) == "paired"):
+     #for _, $pair in enumerate($input_read_type_cond.input_pair)
+            #set read_R1 = re.sub('\:forward', '_forward', str($pair.forward.name))
+            #set read_R2 = re.sub('\:reverse', '_reverse', str($pair.reverse.name))
+            #set read_R1_ext = re.sub('fastqsanger', 'fastq', str($pair.forward.ext))
+            #set read_R2_ext = re.sub('fastqsanger', 'fastq', str($pair.reverse.ext))
+            #if not str($pair.forward.name).endswith(('.fastq', '.fastq.gz')):
+             #set read_R1 = $read_R1 + str('.') + $read_R1_ext
+            #end if
+            #if not str($pair.reverse.name).endswith(('.fastq', '.fastq.gz')):
+                #set read_R2 = $read_R2 + str('.') + $read_R2_ext
+            #end if
+         ln -sf '$pair.forward' './cpipes-input/$read_R1';
+         ln -sf '$pair.reverse' './cpipes-input/$read_R2';
+     #end for
+    #end if
+ $__tool_directory__/0.4.0/cpipes
+    --pipeline $input_read_type_cond.pipeline_cond.pipeline
+    #if ($input_read_type_cond.pipeline_cond.pipeline == "centriflaken"):
+        --fq_single_end true
+        --flye_genome_size '${genome_size}'
+        #if ($input_read_type_cond.pipeline_cond.long_read_platform == "nanopore_corr"):
+            --flye_nano_corr true --flye_nano_raw false
+        #elif ($input_read_type_cond.pipeline_cond.long_read_platform == "nanopore_hq"):
+            --flye_nano_hq true --flye_nano_raw false
+        #elif ($input_read_type_cond.pipeline_cond.long_read_platform == "pacbio_raw"):
+            --flye_pacbio_raw true --flye_nano_raw false
+        #elif ($input_read_type_cond.pipeline_cond.long_read_platform == "pacbio_corr"):
+            --flye_pacbio_corr true --flye_nano_raw false
+        #elif ($input_read_type_cond.pipeline_cond.long_read_platform == "pacbio_hifi"):
+            --flye_pacbio_hifi true --flye_nano_raw false
+        #end if
+    #elif ($input_read_type_cond.pipeline_cond.pipeline == "centriflaken_hy"):
+        #if (str($input_read_type_cond.input_read_type) == "single_long"):
+            --fq_single_end true
+        #elif (str($input_read_type_cond.input_read_type) == "paired"):
+            --fq_single_end false --fq2_suffix '${input_read_type_cond.fq2_suffix}'
+        #end if
+    #end if
+ --input \${pwd_path}/cpipes-input
+ --output \${pwd_path}/cpipes-output
+    --fq_suffix '${input_read_type_cond.fq_suffix}'
+    #if ($fq_filter_by_len != ""):
+        --fq_filter_by_len $fq_filter_by_len
+    #end if
+ --fq_filename_delim '${fq_filename_delim}'
+ --fq_filename_delim_idx $fq_filename_delim_idx
+ --centrifuge_extract_bug '${centrifuge_extract_bug}'
+    #if (str($input_read_type_cond.pipeline_cond.rm_dup_seqs) == "true"):
+        --seqkit_rmd..cted="true">conda</option>
+            <option value="cingularitygac">singularity</option>
+        </param> -->
+    </inputs>
+    <outputs>
+        <data name="multiqc_report" format="html" label="${input_read_type_cond.pipeline_cond.pipeline}: MultiQC Report on ${on_string}" from_work_dir="multiqc_report.html"/>
+        <collection name="assembled_mags" type="list" label="${input_read_type_cond.pipeline_cond.pipeline}: Assembled MAGs on ${on_string}">
+            <discover_datasets pattern="(?P&lt;name&gt;.*)\.assembly_filtered_contigs\.fasta" ext="fasta" directory="kraken2_extract_contigs"/>
+        </collection>
+    </outputs>
+    <tests>
+        <!--Test 01: long reads-->
+        <test expect_num_outputs="2">
+            <param name="input">
+                <collection type="list">
+                    <element name="FAL11127.fastq.gz" value="FAL11127.fastq.gz" />
+                    <element name="FAL11341.fastq.gz" value="FAL11341.fastq.gz" />
+                    <element name="FAL11342.fastq.gz" value="FAL11342.fastq.gz" />
+                </collection>
+            </param>
+            <param name="fq_suffix" value=".fastq.gz"/>
+            <output name="multiqc_report" file="multiqc_report.html" ftype="html" compare="sim_size"/>
+            <!-- <output name="assembled_mags" file="FAL11127.assembly_filtered.contigs.fasta" ftype="fasta" compare="sim_size"/> -->
+        </test>
+    </tests>
+    <help><![CDATA[
+
+.. class:: infomark
+
+**Purpose**
+
+Centriflaken suite of automated data analysis pipelines are based on Nextflow DSL2 developed at CFSAN, FDA. These pipelines allow rapid 
+and effective construction of metagenomic assembled genomes (MAGs) to enable bacterial source-tracking. It is based on methods described in our 
+previous publication (Maguire *et al*, 2021. doi: https://doi.org/10.1371/journal.pone.0245172).
+
+----
+
+.. class:: infomark
+
+**Testing and Validation**
+
+The CPIPES - Centriflaken Nextflow 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 
+in silico-based analysis (i.e., virulence gene finding). Additionally, AMR gene finding analysis is also included in Centriflaken and performed on MAGs 
+of interest. The final summary plots and tables can be downloaded from the provided MultiQC HTML report generated as part of the pipeline. 
+The Centriflaken pipeline was validated with data from our previously published method (Maguire *et al*, 2021. doi: https://doi.org/10.1371/journal.pone.0245172) and was able to replicate the detection 
+and classification of STECs for each sample. We tested the pipeline with Nanopore data obtained from 21 additional enriched samples from 
+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 
+done on the command line on the CFSAN Raven2 HPC Cluster.
+
+
+----
+
+.. class:: infomark
+
+**Outputs**
+
+The main output files are:
+
+    ::
+
+        - MultiQC Report: Contains a brief summary report including any serotyping and AMR result tables.
+                          Please note that due to MultiQC customizations, the preview (eye icon) will not
+                          work within Galaxy for the MultiQC report. Please download the file by clicking
+                          on the floppy icon and view it in your browser on your local desktop/workstation.
+        - Final assembly: contains contigs and possibly scaffolds.
+
+  ]]></help>
+    <citations>
+        <citation type="bibtex">
+            @misc{gitlabCPIPES,
+            author = {Konganti, Kranti},
+            year = {2022},
+            title = {CPIPES - Centriflaken},
+            publisher = {GitLab},
+            journal = {GitLab repository},
+            url = {https://cfsan-git.fda.gov/Kranti.Konganti/cpipes}}
+        </citation>
+    </citations>
+</tool>