comparison cfsan2snp-snp.xml @ 0:8e7a84e62b43 draft

planemo upload commit e734452c606dba89b6fe58c90c5f38e5ea067edd
author galaxytrakr
date Fri, 13 Mar 2026 21:22:16 +0000
parents
children e1bd0272cc59
comparison
equal deleted inserted replaced
-1:000000000000 0:8e7a84e62b43
1 <tool id="cfsan2snp-snp" name="CSP2 (SNP Pipeline Mode)" version="0.9.7.7+gt_0.7">
2 <description>Run SNP Pipeline analysis on isolates using one or more references.</description>
3 <requirements>
4 <container type="docker">quay.io/galaxytrakr/csp2:0.9.7.7-galaxy_0.1</container>
5 </requirements>
6 <version_command>nextflow -version</version_command>
7 <command detect_errors="exit_code"><![CDATA[
8 mkdir -p queries references .nextflow
9 && sed "s/@CORES@/\${GALAXY_SLOTS:-1}/" $__tool_directory__/nextflow.tmpl > nextflow_gal25.config
10
11 #set readext=""
12 #for $reads in $coll
13 && ln -sf '${reads}' 'queries/${reads.element_identifier.replace(": ", ".").replace(" ", "_")}.fasta'
14 #end for
15 #for $ref in $source.reference
16 #set renamedref=$ref.element_identifier.replace(": ", ".").replace(" ", "_").replace("(","").replace(")","")
17 && ln -sf '$ref' 'references/${renamedref}.fasta'
18 #end for
19
20 && echo "*** Files in queries directory: ***"
21 && ls -lah queries/
22 && nextflow run /opt/csp2/CSP2.nf -c nextflow_gal25.config
23 --runmode snp
24 --fasta queries
25 --ref_fasta 'references'
26 --min_cov $opt.min_cov
27 --min_iden $opt.min_iden
28 --min_len $opt.min_len
29 --ref_edge $opt.ref_edge
30 --query_edge $opt.query_edge
31 --dwin $opt.dwin
32 --wsnps $opt.wsnps
33 --out CSP2_SNP_Output
34 --quiet
35 && echo "*** Files in output directory: ***"
36 && ls -lahR CSP2_SNP_Output
37 && tail -n +2 CSP2_SNP_Output/Isolate_Data.tsv > ${isolate_data}
38 && tail -n +2 CSP2_SNP_Output/Raw_MUMmer_Summary.tsv > ${raw_mummer}
39 && tail -n +2 CSP2_SNP_Output/SNP_Analysis/${renamedref}/snp_distance_pairwise_preserved.tsv > ${snp_pairwise}
40 && cat CSP2_SNP_Output/SNP_Analysis/${renamedref}/snplist_preserved.txt > ${snp_list}
41 && cat CSP2_SNP_Output/SNP_Analysis/${renamedref}/snpma_preserved.fasta > ${snp_matrix}
42 && echo "*** Nextflow log follows: ***"
43 && cat .nextflow.log
44 ]]>
45 </command>
46 <inputs>
47 <conditional name="source">
48 <param name="source_select" type="select" label="Use a curated GalaxyTrakr reference or a reference from your history">
49 <option value="curated">Use a GalaxyTrakr reference</option>
50 <option value="history">Use a reference from your history</option>
51 </param>
52 <when value="curated">
53 <param name="reference" type="select" label="Select reference fasta" multiple="true" min="1" >
54 <options from_data_table="all_fasta">
55 <filter type="sort_by" column="2"/>
56 <validator type="no_options" message="No assemblies are available for the selected input dataset"/>
57 </options>
58 </param>
59 </when>
60 <when value="history">
61 <param type="data" name="reference" format="fasta" label="Select reference FASTAs" multiple="true" min="1" />
62 </when>
63 </conditional>
64 <!-- <conditional name="query">
65 <param name="query_select" type="select" label="Screen a list of paired-reads or a list of assemblies">
66 <option value="reads">Screen a list of paired reads</option>
67 <option value="assemblies">Screen a list of assemblies</option>
68 </param>
69 <when value="reads">
70 <param label="Paired reads" name="coll" type="data_collection" format="fastq,fastqsanger,fastq.gz,fastqsanger.gz,fastq.bz2,fastqsanger.bz2" collection_type="list:paired" />
71 </when>
72 <when value="assemblies"> -->
73 <param label="Assemblies" name="coll" type="data_collection" format="fasta" collection_type="list" />
74 <!-- </when> -->
75 <!-- </conditional> -->
76 <section name="opt" title="Advanced options...">
77 <param name="min_cov" type="float" value="85" label="Minimum reference genome coverage to proceed with distance estimation" optional="true" />
78 <param name="min_iden" type="float" value="99" label="Minimum alignment percent identity to detect SNPs" optional="true" />
79 <param name="min_len" type="integer" value="500" label="Minimum alignment length to detect SNPs" optional="true" />
80 <param name="ref_edge" type="integer" value="150" label="Prune SNPs within this many bases of reference contig edge" optional="true" />
81 <param name="query_edge" type="integer" value="150" label="Prune SNPs within this many bases of query contig edge" optional="true" />
82 <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" />
83 <param name="wsnps" type="text" value="3,2,1" label="Comma-separated list of maximum SNP counts per density window" optional="true" />
84 </section>
85 </inputs>
86 <outputs>
87 <!-- <data name="nextflow_log" format="txt" label="Nextflow Log" from_work_dir="Nextflow_Log.txt" /> -->
88 <data name="isolate_data" format="tabular" label="Isolate Data">
89 <actions>
90 <action name="column_names" type="metadata" default="Isolate_ID,Isolate_Type,Assembly_Path,Contig_Count,Assembly_Bases,N50,N90,L50,L90,SHA256" />
91 </actions>
92 </data>
93 <data name="raw_mummer" format="tabular" label="Raw MUMmer Output">
94 <actions>
95 <action name="column_names" type="metadata" default="SNPDiffs_File,Query_ID,Query_Assembly,Query_Contig_Count,Query_Assembly_Bases,Query_N50,Query_N90,Query_L50,Query_L90,Query_SHA256,Reference_ID,Reference_Assembly,Reference_Contig_Count,Reference_Assembly_Bases,Reference_N50,Reference_N90,Reference_L50,Reference_L90,Reference_SHA256,SNPs,Reference_Percent_Aligned,Query_Percent_Aligned,Median_Percent_Identity,Median_Alignment_Length,Kmer_Similarity,Shared_Kmers,Reference_Unique_Kmers,Query_Unique_Kmers,Reference_Breakpoints,Query_Breakpoints,Reference_Relocations,Query_Relocations,Reference_Translocations,Query_Translocations,Reference_Inversions,Query_Inversions,Reference_Insertions,Query_Insertions,Reference_Tandem,Query_Tandem,Indels,Invalid,gSNPs,gIndels" />
96 </actions>
97 </data>
98 <!-- <data name="csp2_zip" format="zip" label="Zipped Output" from_work_dir="CSP2_Output.zip" /> -->
99 <!-- <discover_datasets pattern="(?P&lt;name&gt;.+)/CSP2_SNP_Pipeline\.log" format="txt" visible="true" directory="./CSP2_SNP_Output/SNP_Analysis" /> -->
100 <!-- <discover_datasets pattern="(?P&lt;name&gt;.+)/Reference_Screening\.tsv" format="tabular" visible="true" directory="./CSP2_SNP_Output/SNP_Analysis" />
101 <discover_datasets pattern="(?P&lt;name&gt;.+)/snp_distance_matrix_preserved\.tsv" format="tabular" visible="true" directory="./CSP2_SNP_Output/SNP_Analysis" />
102 <discover_datasets pattern="(?P&lt;name&gt;.+)/snp_distance_pairwise_preserved\.tsv" format="tabular" visible="true" directory="./CSP2_SNP_Output/SNP_Analysis" />
103 <discover_datasets pattern="(?P&lt;name&gt;.+)/snpma_preserved\.fasta" format="fasta" visible="true" directory="./CSP2_SNP_Output/SNP_Analysis" /> -->
104 <data name="snp_pairwise" format="tabular" label="Preserved Pairwise SNP Distances">
105 <actions>
106 <action name="column_names" type="metadata" default="Query_1,Query_2,SNP_Distance,SNPs_Cocalled" />
107 </actions>
108 </data>
109 <data name="snp_list" format="txt" label="Preserved SNP List" />
110 <data name="snp_matrix" format="fasta" label="Preserved SNP Matrix" />
111 <discover_datasets pattern="(?P&lt;name&gt;.+)/snp_distance_matrix\.tsv" format="tabular" visible="false" directory="./CSP2_SNP_Output/SNP_Analysis" />
112 <discover_datasets pattern="(?P&lt;name&gt;.+)/snp_distance_pairwise\.tsv" format="tabular" visible="false" directory="./CSP2_SNP_Output/SNP_Analysis" />
113 <discover_datasets pattern="(?P&lt;name&gt;.+)/snpma\.fasta" format="fasta" visible="false" directory="./CSP2_SNP_Output/SNP_Analysis" />
114 </outputs>
115 <tests>
116 <test>
117 <param name="source_select" value="history" />
118 <param name="reference" value="assemblies/Sample_A.fasta" />
119 <!-- <param name="query_select" value="assemblies" /> -->
120 <param name="coll">
121 <collection type="list">
122 <!-- <element name="Sample_A" value="assemblies/Sample_A.fasta" /> -->
123 <element name="Sample_B" value="assemblies/Sample_B.fasta" />
124 <element name="Sample_C" value="assemblies/Sample_C.fasta" />
125 <element name="Sample_D" value="assemblies/Sample_D.fasta" />
126 <element name="Sample_E" value="assemblies/Sample_E.fasta" />
127 <element name="Sample_F" value="assemblies/Sample_F.fasta" />
128 <element name="Sample_G" value="assemblies/Sample_G.fasta" />
129 <element name="Sample_H" value="assemblies/Sample_H.fasta" />
130 <element name="Sample_I" value="assemblies/Sample_I.fasta" />
131 <element name="Sample_J" value="assemblies/Sample_J.fasta" />
132 <element name="Sample_K" value="assemblies/Sample_K.fasta" />
133 <element name="Sample_L" value="assemblies/Sample_L.fasta" />
134 <element name="Sample_M" value="assemblies/Sample_M.fasta" />
135 <element name="Sample_N" value="assemblies/Sample_N.fasta" />
136 <element name="Sample_O" value="assemblies/Sample_O.fasta" />
137 </collection>
138 </param>
139
140 <output name="isolate_data" value="Isolate_Data.tsv" />
141 </test>
142 <test>
143 <!-- Test that spaces and parens are handled -->
144 <param name="source_select" value="history" />
145 <param name="reference" value="assemblies/Sample (A).fasta" />
146 <!-- <param name="query_select" value="assemblies" /> -->
147 <param name="coll">
148 <collection type="list">
149 <!-- <element name="Sample_A" value="assemblies/Sample_A.fasta" /> -->
150 <element name="Sample_B" value="assemblies/Sample_B.fasta" />
151 <element name="Sample_C" value="assemblies/Sample_C.fasta" />
152 <element name="Sample_D" value="assemblies/Sample_D.fasta" />
153 </collection>
154 </param>
155 <output name="isolate_data" value="Isolate_Data.tsv" compare="diff" lines_diff="17" />
156 </test>
157 <!-- <test>
158 <param name="source_select" value="history" />
159 <param name="reference" value="assemblies/Sample_A.fasta" ftype="fasta" />
160 <param name="query_select" value="reads" />
161 <param name="coll">
162 <collection type="list:paired">
163 <element name="Sample_A">
164 <collection type="paired">
165 <element name="forward" value="reads/Week_42_Reads_1.fq.gz" ftype="fastqsanger.gz" />
166 <element name="reverse" value="reads/Week_42_Reads_2.fq.gz" ftype="fastqsanger.gz" />
167 </collection>
168 </element>
169 </collection>
170 </param>
171 <output name="screening_results" value="Screening_Results.tsv" />
172 <output name="isolate_data" value="Isolate_Data.tsv" />
173 </test> -->
174 </tests>
175 <help>
176 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.
177 </help>
178 <citations>
179 <citation type="doi">10.XXXX/placeholder.doi</citation>
180 <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}}
181 </citation>
182 </citations>
183 </tool>