changeset 29:b6ec322b1f05

"planemo upload"
author rliterman
date Wed, 04 Dec 2024 16:02:07 -0500
parents 893a6993efe3
children 1fe21a8717d4
files CSP2/subworkflows/fetchData/main.nf csp2_screen.xml csp2_snp.xml csp_screen.xml
diffstat 4 files changed, 292 insertions(+), 141 deletions(-) [+]
line wrap: on
line diff
--- a/CSP2/subworkflows/fetchData/main.nf	Wed Dec 04 13:48:13 2024 -0500
+++ b/CSP2/subworkflows/fetchData/main.nf	Wed Dec 04 16:02:07 2024 -0500
@@ -20,8 +20,7 @@
 userSNPDiffs = file("${projectDir}/bin/userSNPDiffs.py")
 
 // Set SKESA cores to 4 or fewer
-//skesa_cpus = (params.cores as Integer) >= 4 ? 4 : params.cores as Integer
-skesa_cpus = 1
+skesa_cpus = (params.cores as Integer) >= 4 ? 4 : params.cores as Integer
 
 workflow {
     main:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/csp2_screen.xml	Wed Dec 04 16:02:07 2024 -0500
@@ -0,0 +1,134 @@
+<tool id="csp2-screen" name="CSP2 (Screening Mode)" version="0.9.7_Dev21">
+        <description>Screen query assemblies against reference assemblies</description>
+        <requirements>
+                <requirement type="package" version="24.10.1">nextflow</requirement>
+                <requirement type="package" version="1.5.8">micromamba</requirement>
+        </requirements>
+        <version_command>nextflow -version</version_command>
+        <command detect_errors="aggressive"><![CDATA[
+export CSP2_DIR=\$PWD;
+mkdir -p \$CSP2_DIR/queries \$CSP2_DIR/references;
+
+if [ -n "$query_fasta" ] && [ "$query_fasta" != "None" ]; then
+        #for query in $query_fasta:
+                        ln -sf ${query} \$CSP2_DIR/queries/${query.element_identifier};
+        #end for
+        export QUERY_FASTA_ARG="--fasta \$CSP2_DIR/queries";
+else
+        export QUERY_FASTA_ARG="";
+fi;
+
+if [ -n "$query_reads" ] && [ "$query_reads" != "None" ]; then
+        #for query in $query_reads:
+                ln -sf ${query} \$CSP2_DIR/queries/${query.element_identifier};
+        #end for
+        export QUERY_READS_ARG="--reads \$CSP2_DIR/queries";
+else
+        export QUERY_READS_ARG="";
+fi;
+
+if [ -n "$ref_fasta" ] && [ "$ref_fasta" != "None" ]; then
+        #for ref in $ref_fasta:
+                ln -sf ${ref} \$CSP2_DIR/references/${ref.element_identifier};
+        #end for
+        export REF_FASTA_ARG="--ref_fasta \$CSP2_DIR/references";
+else
+        export REF_FASTA_ARG="";
+fi;
+
+if [ -n "$ref_reads" ] && [ "$ref_reads" != "None" ]; then
+        #for ref in $ref_reads:
+                ln -sf ${ref} \$CSP2_DIR/references/${ref.element_identifier};
+        #end for
+        export REF_READS_ARG="--ref_reads \$CSP2_DIR/references";
+else
+        export REF_READS_ARG="";
+fi;
+
+if [ -n "$trim_name" ] && [ "$trim_name" != "None" ]; then
+        export TRIM_ARG="--trim_name $trim_name";
+else
+        export TRIM_ARG="";
+fi;
+
+if [ -n "$ref_id" ] && [ "$ref_id" != "None" ]; then
+        export REF_ID_ARG="--ref_id $ref_id";
+else
+        export REF_ID_ARG="";
+fi;
+
+nextflow run ${__tool_directory__}/CSP2/CSP2.nf -profile csp2_galaxy --cores 1 --runmode screen \$QUERY_FASTA_ARG \$REF_FASTA_ARG \$QUERY_READS_ARG \$REF_READS_ARG \$REF_ID_ARG \$TRIM_ARG --readext $readext --forward $forward --reverse $reverse --ref_readext $readext --ref_forward $forward --ref_reverse $reverse --min_cov $min_cov --min_iden $min_iden --min_len $min_len --ref_edge $ref_edge --query_edge $query_edge --dwin $dwin --wsnps $wsnps --out \$CSP2_DIR/CSP2_Screen_Output > Nextflow_Log.txt 2>&1;
+sleep 1;
+        ]]>
+        </command>
+        <inputs>
+                <param name="query_fasta" type="data" format="fasta" value="" label="Query assemblies" multiple="true" optional="true" />
+                <param name="ref_fasta" type="data" format="fasta" value="" label="Reference assemblies" multiple="true" optional="true" />
+                <param name="query_reads" type="data" format="fastq,fastq.gz" value="" label="Query reads" multiple="true" optional="true" />
+                <param name="ref_reads" type="data" format="fastq,fastq.gz" value="" label="Reference reads" multiple="true" optional="true" />
+                <param name="min_cov" type="float" value="85" label="Minimum reference genome coverage to proceed with distance estimation" optional="true" />
+                <param name="min_iden" type="float" value="99" label="Minimum alignment percent identity to detect SNPs" optional="true" />
+                <param name="min_len" type="integer" value="500" label="Minimum alignment length to detect SNPs" optional="true" />
+                <param name="ref_edge" type="integer" value="150" label="Prune SNPs within this many bases of reference contig edge" optional="true" />
+                <param name="query_edge" type="integer" value="150" label="Prune SNPs within this many bases of query contig edge" optional="true" />
+                <param name="dwin" type="text" value="1000,125,15" label="Comma-separated set of window sizes for SNP density filtration (Set to 0 to disable density filtration)" optional="true" />
+                <param name="wsnps" type="text" value="3,2,1" label="Comma-separated list of maximum SNP counts per density window" optional="true" />
+                <param name="readext" type="text" value="fastq.gz" label="Read extension format (e.g., fastq.gz)" optional="true" />
+                <param name="forward" type="text" value="_1.fastq.gz" label="Forward read suffix (e.g. _1.fastq.gz)" optional="true" />
+                <param name="reverse" type="text" value="_2.fastq.gz" label="Forward read suffix (e.g. _2.fastq.gz)" optional="true" />
+                <param name="trim_name" type="text" value="" label="Text to remove from all file names (e.g., _contigs_skesa)" optional="true" />
+                <param name="ref_id" type="text" value="" label="Comma-separated list of desired Reference IDs (e.g., Sample_A,Sample_B)" optional="true" />
+        </inputs>
+        <outputs>
+                <data name="screening_results" format="tabular" label="Screening Results" from_work_dir="CSP2_Screen_Output/Screening_Results.tsv" />
+                <data name="raw_mummer" format="tabular" label="Raw MUMmer Output" from_work_dir="CSP2_Screen_Output/Raw_MUMmer_Summary.tsv" />
+                <data name="isolate_data" format="tabular" label="Isolate Data" from_work_dir="CSP2_Screen_Output/Isolate_Data.tsv" />
+                <data name="nextflow_log" format="txt" label="Nextflow Log" from_work_dir="Nextflow_Log.txt" />
+        </outputs>
+        <tests>
+                <test>
+                        <param name="query_fasta">
+                                <collection type="list">
+                                        <element name="Sample_A" value="assemblies/Sample_A.fasta" />
+                                        <element name="Sample_B" value="assemblies/Sample_B.fasta" />
+                                        <element name="Sample_C" value="assemblies/Sample_C.fasta" />
+                                        <element name="Sample_D" value="assemblies/Sample_D.fasta" />
+                                        <element name="Sample_E" value="assemblies/Sample_E.fasta" />
+                                        <element name="Sample_F" value="assemblies/Sample_F.fasta" />
+                                        <element name="Sample_G" value="assemblies/Sample_G.fasta" />
+                                        <element name="Sample_H" value="assemblies/Sample_H.fasta" />
+                                        <element name="Sample_I" value="assemblies/Sample_I.fasta" />
+                                        <element name="Sample_J" value="assemblies/Sample_J.fasta" />
+                                        <element name="Sample_K" value="assemblies/Sample_K.fasta" />
+                                        <element name="Sample_L" value="assemblies/Sample_L.fasta" />
+                                        <element name="Sample_M" value="assemblies/Sample_M.fasta" />
+                                        <element name="Sample_N" value="assemblies/Sample_N.fasta" />
+                                        <element name="Sample_O" value="assemblies/Sample_O.fasta" />
+                                </collection>
+                        </param>
+                        <param name="query_reads">
+                                <collection type="list">
+                                        <element name="Forward" value="reads/Week_42_Reads_1.fq.gz" />
+                                        <element name="Reverse" value="reads/Week_42_Reads_2.fq.gz" />
+                                </collection>
+                        </param>
+
+                        <param name="ref_id" value="Sample_A,Sample_B" />
+                        <param name="readext" value="fq.gz" />
+                        <param name="forward" value="_1.fq.gz" />
+                        <param name="reverse" value="_2.fq.gz" />
+
+                        <output name="screening_results" value="Screening_Results.tsv" />
+                        <output name="isolate_data" value="Isolate_Data.tsv" />
+                </test>
+        </tests>
+        <help>
+        This tool takes query assemblies and reference assemblies and calculates the pairwise distance between each query/reference combination. If no reference is provided, all queries are compared to all other queries.
+        </help>
+        <citations>
+                <citation type="doi">10.XXXX/placeholder.doi</citation>
+                <citation type="bibtex">@article{example2024,title={CFSAN SNP Pipeline 2 (CSP2): a pipeline for fast and accurate SNP distance estimation from bacterial genome assemblies.},author={Doe, John and Smith, Jane},journal={Submitted},year={2024}}
+                </citation>
+        </citations>
+</tool>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/csp2_snp.xml	Wed Dec 04 16:02:07 2024 -0500
@@ -0,0 +1,157 @@
+<tool id="csp2-snp" name="CSP2 (SNP Pipeline Mode)" version="0.9.7_Dev21">
+        <description>Run SNP Pipeline analysis on isolates using one or more references.</description>
+        <requirements>
+                <requirement type="package" version="24.10.1">nextflow</requirement>
+                <requirement type="package" version="1.5.8">micromamba</requirement>
+        </requirements>
+        <version_command>nextflow -version</version_command>
+        <command detect_errors="aggressive"><![CDATA[
+export CSP2_DIR=\$PWD;
+mkdir -p \$CSP2_DIR/queries \$CSP2_DIR/references;
+
+if [ -n "$query_fasta" ] && [ "$query_fasta" != "None" ]; then
+        #for query in $query_fasta:
+                        ln -sf ${query} \$CSP2_DIR/queries/${query.element_identifier};
+        #end for
+        export QUERY_FASTA_ARG="--fasta \$CSP2_DIR/queries";
+else
+        export QUERY_FASTA_ARG="";
+fi;
+
+if [ -n "$query_reads" ] && [ "$query_reads" != "None" ]; then
+        #for query in $query_reads:
+                ln -sf ${query} \$CSP2_DIR/queries/${query.element_identifier};
+        #end for
+        export QUERY_READS_ARG="--reads \$CSP2_DIR/queries";
+else
+        export QUERY_READS_ARG="";
+fi;
+
+if [ -n "$ref_fasta" ] && [ "$ref_fasta" != "None" ]; then
+        #for ref in $ref_fasta:
+                ln -sf ${ref} \$CSP2_DIR/references/${ref.element_identifier};
+        #end for
+        export REF_FASTA_ARG="--ref_fasta \$CSP2_DIR/references";
+else
+        export REF_FASTA_ARG="";
+fi;
+
+if [ -n "$ref_reads" ] && [ "$ref_reads" != "None" ]; then
+        #for ref in $ref_reads:
+                ln -sf ${ref} \$CSP2_DIR/references/${ref.element_identifier};
+        #end for
+        export REF_READS_ARG="--ref_reads \$CSP2_DIR/references";
+else
+        export REF_READS_ARG="";
+fi;
+
+if [ -n "$trim_name" ] && [ "$trim_name" != "None" ]; then
+        export TRIM_ARG="--trim_name $trim_name";
+else
+        export TRIM_ARG="";
+fi;
+
+if [ -n "$ref_id" ] && [ "$ref_id" != "None" ]; then
+        export REF_ID_ARG="--ref_id $ref_id";
+else
+        export REF_ID_ARG="";
+fi;
+
+if [[ "$rescue" == "true" ]]; then
+        export RESCUE_ARG="--rescue";
+else
+        export RESCUE_ARG="";
+fi;
+
+nextflow run ${__tool_directory__}/CSP2/CSP2.nf -profile csp2_galaxy --cores 1 --runmode snp \$QUERY_FASTA_ARG \$REF_FASTA_ARG \$QUERY_READS_ARG \$REF_READS_ARG \$REF_ID_ARG \$TRIM_ARG \$RESCUE_ARG --readext $readext --forward $forward --reverse $reverse --ref_readext $readext --ref_forward $forward --ref_reverse $reverse --min_cov $min_cov --min_iden $min_iden --min_len $min_len --ref_edge $ref_edge --query_edge $query_edge --dwin $dwin --wsnps $wsnps --max_missing $max_missing --n_ref $n_ref --out \$CSP2_DIR/CSP2_SNP_Output > Nextflow_Log.txt 2>&1;
+sleep 1;
+        ]]>
+        </command>
+        <inputs>
+                <param name="query_fasta" type="data" format="fasta" value="" label="Query assemblies" multiple="true" optional="true" />
+                <param name="ref_fasta" type="data" format="fasta" value="" label="Reference assemblies" multiple="true" optional="true" />
+                <param name="query_reads" type="data" format="fastq,fastq.gz" value="" label="Query reads" multiple="true" optional="true" />
+                <param name="ref_reads" type="data" format="fastq,fastq.gz" value="" label="Reference reads" multiple="true" optional="true" />
+                <param name="min_cov" type="float" value="85" label="Minimum reference genome coverage to proceed with distance estimation" optional="true" />
+                <param name="min_iden" type="float" value="99" label="Minimum alignment percent identity to detect SNPs" optional="true" />
+                <param name="min_len" type="integer" value="500" label="Minimum alignment length to detect SNPs" optional="true" />
+                <param name="ref_edge" type="integer" value="150" label="Prune SNPs within this many bases of reference contig edge" optional="true" />
+                <param name="query_edge" type="integer" value="150" label="Prune SNPs within this many bases of query contig edge" optional="true" />
+                <param name="dwin" type="text" value="1000,125,15" label="Comma-separated set of window sizes for SNP density filtration (Set to 0 to disable density filtration)" optional="true" />
+                <param name="wsnps" type="text" value="3,2,1" label="Comma-separated list of maximum SNP counts per density window" optional="true" />
+                <param name="readext" type="text" value="fastq.gz" label="Read extension format (e.g., fastq.gz)" optional="true" />
+                <param name="forward" type="text" value="_1.fastq.gz" label="Forward read suffix (e.g. _1.fastq.gz)" optional="true" />
+                <param name="reverse" type="text" value="_2.fastq.gz" label="Forward read suffix (e.g. _2.fastq.gz)" optional="true" />
+                <param name="trim_name" type="text" value="" label="Text to remove from all file names (e.g., _contigs_skesa)" optional="true" />
+                <param name="ref_id" type="text" value="" label="Comma-separated list of desired Reference IDs (e.g., Sample_A,Sample_B)" optional="true" />
+                <param name="rescue" type="boolean" value="false" label="Enable SNP edge rescue mode" optional="true" />
+                <param name="max_missing" type="float" value="50" label="Maximum percent of isolates allowed to have missing data to retain a SNP" optional="true" />
+                <param name="n_ref" type="integer" value="1" label="Number of reference isolates for CSP2 to select" optional="true" />
+
+        </inputs>
+        <outputs>
+                <data name="raw_mummer" format="tabular" label="Raw MUMmer Output" from_work_dir="CSP2_SNP_Output/Raw_MUMmer_Summary.tsv" />
+                <data name="isolate_data" format="tabular" label="Isolate Data" from_work_dir="CSP2_SNP_Output/Isolate_Data.tsv" />
+                <data name="nextflow_log" format="txt" label="Nextflow Log" from_work_dir="Nextflow_Log.txt" />
+                
+                <collection name="snp_analysis_results" type="list:dataset" label="SNP Analysis Results by Reference ID">
+                        <discover_datasets pattern="CSP2_SNP_Output/SNP_Analysis/*/CSP2_SNP_Pipeline.log" format="txt"  />
+                        <discover_datasets pattern="CSP2_SNP_Output/SNP_Analysis/*/snplist.txt" format="txt" />
+                        <discover_datasets pattern="CSP2_SNP_Output/SNP_Analysis/*/snplist_preserved.txt" format="txt" />
+                        <discover_datasets pattern="CSP2_SNP_Output/SNP_Analysis/*/Reference_Screening.tsv" format="tabular" />
+                        <discover_datasets pattern="CSP2_SNP_Output/SNP_Analysis/*/Locus_Categories.tsv" format="tabular" />                       
+                        <discover_datasets pattern="CSP2_SNP_Output/SNP_Analysis/*/Query_Coverage.tsv" format="tabular" />
+                        <discover_datasets pattern="CSP2_SNP_Output/SNP_Analysis/*/snp_distance_matrix_preserved.tsv" format="tabular" />
+                        <discover_datasets pattern="CSP2_SNP_Output/SNP_Analysis/*/snp_distance_matrix.tsv" format="tabular" />
+                        <discover_datasets pattern="CSP2_SNP_Output/SNP_Analysis/*/snp_distance_pairwise_preserved.tsv" format="tabular" />
+                        <discover_datasets pattern="CSP2_SNP_Output/SNP_Analysis/*/snp_distance_pairwise.tsv" format="tabular" />
+                        <discover_datasets pattern="CSP2_SNP_Output/SNP_Analysis/*/snpma_preserved.fasta" format="fasta" />                  
+                        <discover_datasets pattern="CSP2_SNP_Output/SNP_Analysis/*/snpma.fasta" format="fasta" />
+                </collection>
+        </outputs>
+        <tests>
+                <test>
+                        <param name="query_fasta">
+                                <collection type="list">
+                                        <element name="Sample_A" value="assemblies/Sample_A.fasta" />
+                                        <element name="Sample_B" value="assemblies/Sample_B.fasta" />
+                                        <element name="Sample_C" value="assemblies/Sample_C.fasta" />
+                                        <element name="Sample_D" value="assemblies/Sample_D.fasta" />
+                                        <element name="Sample_E" value="assemblies/Sample_E.fasta" />
+                                        <element name="Sample_F" value="assemblies/Sample_F.fasta" />
+                                        <element name="Sample_G" value="assemblies/Sample_G.fasta" />
+                                        <element name="Sample_H" value="assemblies/Sample_H.fasta" />
+                                        <element name="Sample_I" value="assemblies/Sample_I.fasta" />
+                                        <element name="Sample_J" value="assemblies/Sample_J.fasta" />
+                                        <element name="Sample_K" value="assemblies/Sample_K.fasta" />
+                                        <element name="Sample_L" value="assemblies/Sample_L.fasta" />
+                                        <element name="Sample_M" value="assemblies/Sample_M.fasta" />
+                                        <element name="Sample_N" value="assemblies/Sample_N.fasta" />
+                                        <element name="Sample_O" value="assemblies/Sample_O.fasta" />
+                                </collection>
+                        </param>
+                        <param name="query_reads">
+                                <collection type="list">
+                                        <element name="Forward" value="reads/Week_42_Reads_1.fq.gz" />
+                                        <element name="Reverse" value="reads/Week_42_Reads_2.fq.gz" />
+                                </collection>
+                        </param>
+
+                        <param name="ref_id" value="Sample_A,Sample_B" />
+                        <param name="readext" value="fq.gz" />
+                        <param name="forward" value="_1.fq.gz" />
+                        <param name="reverse" value="_2.fq.gz" />
+
+                        <output name="isolate_data" value="Isolate_Data.tsv" />
+                </test>
+        </tests>
+        <help>
+        This tool takes query assemblies and reference assemblies and calculates the pairwise distance between each query/reference combination. If no reference is provided, all queries are compared to all other queries.
+        </help>
+        <citations>
+                <citation type="doi">10.XXXX/placeholder.doi</citation>
+                <citation type="bibtex">@article{example2024,title={CFSAN SNP Pipeline 2 (CSP2): a pipeline for fast and accurate SNP distance estimation from bacterial genome assemblies.},author={Doe, John and Smith, Jane},journal={Submitted},year={2024}}
+                </citation>
+        </citations>
+</tool>
+
--- a/csp_screen.xml	Wed Dec 04 13:48:13 2024 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,139 +0,0 @@
-<tool id="csp2-screen" name="CSP2 (Screening Mode)" version="0.9.7_Dev21">
-	<description>Screen query assemblies against reference assemblies</description>
-	<requirements>
-		<requirement type="package" version="24.10.1">nextflow</requirement>
-		<requirement type="package" version="1.5.8">micromamba</requirement>
-	</requirements>
-	<version_command>nextflow -version</version_command>
-	<command detect_errors="aggressive"><![CDATA[
-export CSP2_DIR=\$PWD;
-mkdir -p \$CSP2_DIR/queries \$CSP2_DIR/references;
-
-if [ -n "$query_fasta" ] && [ "$query_fasta" != "None" ]; then
-		#for query in $query_fasta:
-				ln -sf ${query} \$CSP2_DIR/queries/${query.element_identifier};
-		#end for
-		export QUERY_FASTA_ARG="--fasta \$CSP2_DIR/queries";
-else
-		export QUERY_FASTA_ARG="";
-fi;
-
-if [ -n "$query_reads" ] && [ "$query_reads" != "None" ]; then
-		#for query in $query_reads:
-				ln -sf ${query} \$CSP2_DIR/queries/${query.element_identifier};
-		#end for
-		export QUERY_READS_ARG="--reads \$CSP2_DIR/queries";
-else
-		export QUERY_READS_ARG="";
-fi;
-
-if [ -n "$ref_fasta" ] && [ "$ref_fasta" != "None" ]; then
-		#for ref in $ref_fasta:
-				ln -sf ${ref} \$CSP2_DIR/references/${ref.element_identifier};
-		#end for
-		export REF_FASTA_ARG="--ref_fasta \$CSP2_DIR/references";
-else
-		export REF_FASTA_ARG="";
-fi;
-
-if [ -n "$ref_reads" ] && [ "$ref_reads" != "None" ]; then
-		#for ref in $ref_reads:
-				ln -sf ${ref} \$CSP2_DIR/references/${ref.element_identifier};
-		#end for
-		export REF_READS_ARG="--ref_reads \$CSP2_DIR/references";
-else
-		export REF_READS_ARG="";
-fi;
-
-if [ -n "$trim_name" ] && [ "$trim_name" != "None" ]; then
-		export TRIM_ARG="--trim_name $trim_name";
-else
-		export TRIM_ARG="";
-fi;
-
-if [ -n "$ref_id" ] && [ "$ref_id" != "None" ]; then
-		export REF_ID_ARG="--ref_id $ref_id";
-else
-		export REF_ID_ARG="";
-fi;
-
-		nextflow run ${__tool_directory__}/CSP2/CSP2.nf -profile csp2_galaxy --cores $cores --runmode screen \$QUERY_FASTA_ARG \$REF_FASTA_ARG \$QUERY_READS_ARG \$REF_READS_ARG \$REF_ID_ARG \$TRIM_ARG --readext $readext --forward $forward --reverse $reverse --ref_readext $readext --ref_forward $forward --ref_reverse $reverse --min_cov $min_cov --min_iden $min_iden --min_len $min_len --ref_edge $ref_edge --query_edge $query_edge --dwin $dwin --wsnps $wsnps --cores 8 --out \$CSP2_DIR/CSP2_Screen_Output > Nextflow_Log.txt 2>&1;
-		sleep 5;
-		zip -r work.zip work;
-		zip -r csp2.zip CSP2_Screen_Output;
-	]]>
-	</command>
-	<inputs>
-		<param name="query_fasta" type="data" format="fasta" value="" label="Query assemblies" multiple="true" optional="true" />
-		<param name="ref_fasta" type="data" format="fasta" value="" label="Reference assemblies" multiple="true" optional="true" />
-		<param name="query_reads" type="data" format="fastq,fastq.gz" value="" label="Query reads" multiple="true" optional="true" />
-		<param name="ref_reads" type="data" format="fastq,fastq.gz" value="" label="Reference reads" multiple="true" optional="true" />
-		<param name="min_cov" type="float" value="85" label="Minimum reference genome coverage to proceed with distance estimation" optional="true" />
-		<param name="min_iden" type="float" value="99" label="Minimum alignment percent identity to detect SNPs" optional="true" />
-		<param name="min_len" type="integer" value="500" label="Minimum alignment length to detect SNPs" optional="true" />
-		<param name="ref_edge" type="integer" value="150" label="Prune SNPs within this many bases of reference contig edge" optional="true" />
-		<param name="query_edge" type="integer" value="150" label="Prune SNPs within this many bases of query contig edge" optional="true" />
-                <param name="cores" type="integer" value="2" label="Available cores per node" optional="true" />
-		<param name="dwin" type="text" value="1000,125,15" label="Comma-separated set of window sizes for SNP density filtration (Set to 0 to disable density filtration)" optional="true" />
-		<param name="wsnps" type="text" value="3,2,1" label="Comma-separated list of maximum SNP counts per density window" optional="true" />
-		<param name="readext" type="text" value="fastq.gz" label="Read extension format (e.g., fastq.gz)" optional="true" />
-		<param name="forward" type="text" value="_1.fastq.gz" label="Forward read suffix (e.g. _1.fastq.gz)" optional="true" />
-		<param name="reverse" type="text" value="_2.fastq.gz" label="Forward read suffix (e.g. _2.fastq.gz)" optional="true" />
-		<param name="trim_name" type="text" value="" label="Text to remove from all file names (e.g., _contigs_skesa)" optional="true" />
-		<param name="ref_id" type="text" value="" label="Comma-separated list of desired Reference IDs (e.g., Sample_A,Sample_B)" optional="true" />
-	</inputs>
-	<outputs>
-		<data name="screening_results" format="tabular" label="Screening Results" from_work_dir="CSP2_Screen_Output/Screening_Results.tsv" />
-		<data name="raw_mummer" format="tabular" label="Raw MUMmer Output" from_work_dir="CSP2_Screen_Output/Raw_MUMmer_Summary.tsv" />
-		<data name="isolate_data" format="tabular" label="Isolate Data" from_work_dir="CSP2_Screen_Output/Isolate_Data.tsv" />
-		<data name="nextflow_log" format="txt" label="Nextflow Log" from_work_dir="Nextflow_Log.txt" />
-                <data name="out_dir" format="zip" label="CSP2 Directory" from_work_dir="csp2.zip" />
-                <data name="work_dir" format="zip" label="Nextflow Work Directory" from_work_dir="work.zip" />
-	</outputs>
-	<tests>
-		<test>
-			<param name="query_fasta">
-					<collection type="list">
-							<element name="Sample_A" value="assemblies/Sample_A.fasta" />
-							<element name="Sample_B" value="assemblies/Sample_B.fasta" />
-							<element name="Sample_C" value="assemblies/Sample_C.fasta" />
-							<element name="Sample_D" value="assemblies/Sample_D.fasta" />
-							<element name="Sample_E" value="assemblies/Sample_E.fasta" />
-							<element name="Sample_F" value="assemblies/Sample_F.fasta" />
-							<element name="Sample_G" value="assemblies/Sample_G.fasta" />
-							<element name="Sample_H" value="assemblies/Sample_H.fasta" />
-							<element name="Sample_I" value="assemblies/Sample_I.fasta" />
-							<element name="Sample_J" value="assemblies/Sample_J.fasta" />
-							<element name="Sample_K" value="assemblies/Sample_K.fasta" />
-							<element name="Sample_L" value="assemblies/Sample_L.fasta" />
-							<element name="Sample_M" value="assemblies/Sample_M.fasta" />
-							<element name="Sample_N" value="assemblies/Sample_N.fasta" />
-							<element name="Sample_O" value="assemblies/Sample_O.fasta" />
-					</collection>
-			</param>
-			<param name="query_reads">
-					<collection type="list">
-							<element name="Forward" value="reads/Week_42_Reads_1.fq.gz" />
-							<element name="Reverse" value="reads/Week_42_Reads_2.fq.gz" />
-					</collection>
-			</param>
-
-			<param name="ref_id" value="Sample_A,Sample_B" />
-			<param name="readext" value="fq.gz" />
-			<param name="forward" value="_1.fq.gz" />
-			<param name="reverse" value="_2.fq.gz" />
-
-			<output name="screening_results" value="Screening_Results.tsv" />
-			<output name="isolate_data" value="Isolate_Data.tsv" />
-		</test>
-	</tests>
-	<help>
-	This tool takes query assemblies and reference assemblies and calculates the pairwise distance between each query/reference combination. If no reference is provided, all queries are compared to all other queries.
-	</help>
-	<citations>
-		<citation type="doi">10.XXXX/placeholder.doi</citation>
-		<citation type="bibtex">@article{example2024,title={CFSAN SNP Pipeline 2 (CSP2): a pipeline for fast and accurate SNP distance estimation from bacterial genome assemblies.},author={Doe, John and Smith, Jane},journal={Submitted},year={2024}}
-		</citation>
-	</citations>
-</tool>
-