annotate csp2_screen.xml @ 67:0e9998148a16

"planemo upload"
author rliterman
date Thu, 19 Dec 2024 18:42:33 -0500
parents 90e29c1ddeca
children
rev   line source
rliterman@41 1 <tool id="csp2-screen" name="CSP2 (Screening Mode)" version="0.9.7_Dev21">
rliterman@29 2 <description>Screen query assemblies against reference assemblies</description>
rliterman@29 3 <requirements>
rliterman@29 4 <requirement type="package" version="24.10.1">nextflow</requirement>
rliterman@29 5 <requirement type="package" version="1.5.8">micromamba</requirement>
rliterman@29 6 </requirements>
rliterman@29 7 <version_command>nextflow -version</version_command>
rliterman@29 8 <command detect_errors="aggressive"><![CDATA[
rliterman@42 9
rliterman@50 10 mkdir ./queries ./references;
rliterman@29 11
rliterman@66 12 #if (str($query_fasta.query_fasta_select) == "none"):
rliterman@66 13 export QUERY_FASTA_ARG="";
rliterman@66 14 #elif (str($query_fasta.query_fasta_select) == "collection"):
rliterman@66 15 #for _, $query_assembly in enumerate($query_fasta.coll):
rliterman@66 16 ln -sf ${query_assembly} ./queries/${query_assembly.element_identifier};
rliterman@29 17 #end for
rliterman@45 18 export QUERY_FASTA_ARG="--fasta ./queries";
rliterman@66 19 #else
rliterman@66 20 #for _, $query_assembly in enumerate($query_fasta.list):
rliterman@66 21 ln -sf ${query_assembly} ./queries/${query_assembly.element_identifier};
rliterman@66 22 #end for
rliterman@66 23 export QUERY_FASTA_ARG="--fasta ./queries";
rliterman@66 24 #end if
rliterman@29 25
rliterman@66 26 #if (str($ref_fasta.ref_fasta_select) == "none"):
rliterman@66 27 export REF_FASTA_ARG="";
rliterman@66 28 #elif (str($ref_fasta.ref_fasta_select) == "collection"):
rliterman@66 29 #for _, $ref_assembly in enumerate($ref_fasta.coll):
rliterman@66 30 ln -sf ${ref_assembly} ./references/${ref_assembly.element_identifier};
rliterman@66 31 #end for
rliterman@66 32 export REF_FASTA_ARG="--fasta ./references";
rliterman@66 33 #else
rliterman@66 34 #for _, $ref_assembly in enumerate($ref_fasta.list):
rliterman@66 35 ln -sf ${ref_assembly} ./references/${ref_assembly.element_identifier};
rliterman@66 36 #end for
rliterman@66 37 export REF_FASTA_ARG="--fasta ./references";
rliterman@66 38 #end if
rliterman@66 39
rliterman@66 40 #if (str($query_reads.query_reads_select) == "none"):
rliterman@66 41 export QUERY_READS_ARG="";
rliterman@66 42 #elif (str($query_reads.query_reads_select) == "collection"):
rliterman@66 43 #for _, $pair in enumerate($query_reads.coll):
rliterman@66 44 ln -sf ${pair.forward} ./queries/${pair.forward.name};
rliterman@66 45 ln -sf ${pair.reverse} ./queries/${pair.reverse.name};
rliterman@29 46 #end for
rliterman@45 47 export QUERY_READS_ARG="--reads ./queries";
rliterman@66 48 #else
rliterman@66 49 #for _, $read_file in enumerate($query_reads.list):
rliterman@66 50 ln -sf ${read_file} ./queries/${read_file.element_identifier};
rliterman@66 51 #end for
rliterman@66 52 export QUERY_READS_ARG="--reads ./queries";
rliterman@66 53 #end if
rliterman@29 54
rliterman@66 55 #if (str($ref_reads.ref_reads_select) == "none"):
rliterman@66 56 export REF_READS_ARG="";
rliterman@66 57 #elif (str($ref_reads.ref_reads_select) == "collection"):
rliterman@66 58 #for _, $pair in enumerate($ref_reads.coll):
rliterman@66 59 ln -sf ${pair.forward} ./references/${pair.forward.name};
rliterman@66 60 ln -sf ${pair.reverse} ./references/${pair.reverse.name};
rliterman@29 61 #end for
rliterman@45 62 export REF_READS_ARG="--ref_reads ./references";
rliterman@66 63 #else
rliterman@66 64 #for _, $read_file in enumerate($ref_reads.list):
rliterman@66 65 ln -sf ${read_file} ./references/${read_file.element_identifier};
rliterman@66 66 #end for
rliterman@66 67 export REF_READS_ARG="--ref_reads ./references";
rliterman@66 68 #end if
rliterman@29 69
rliterman@29 70 if [ -n "$trim_name" ] && [ "$trim_name" != "None" ]; then
rliterman@45 71 export TRIM_ARG="--trim_name $trim_name";
rliterman@29 72 else
rliterman@45 73 export TRIM_ARG="";
rliterman@43 74 fi;
rliterman@29 75
rliterman@29 76 if [ -n "$ref_id" ] && [ "$ref_id" != "None" ]; then
rliterman@45 77 export REF_ID_ARG="--ref_id $ref_id";
rliterman@29 78 else
rliterman@45 79 export REF_ID_ARG="";
rliterman@43 80 fi;
rliterman@29 81
rliterman@49 82 nextflow run ${__tool_directory__}/CSP2/CSP2.nf -profile csp2_galaxy --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_Screen_Output > Nextflow_Log.txt 2>&1 &&
rliterman@50 83 ls -la CSP2_Screen_Output;
rliterman@30 84 ]]>
rliterman@29 85 </command>
rliterman@29 86 <inputs>
rliterman@66 87 <conditional name="query_fasta">
rliterman@66 88 <param name="query_fasta_select" type="select" label="Get query assemblies from a collection or your history">
rliterman@66 89 <option value="none" selected="true">Do not provide query assemblies</option>
rliterman@67 90 <option value="collection">Query assemblies from a FASTA collection</option>
rliterman@66 91 <option value="history">Query assemblies from your history</option>
rliterman@66 92 </param>
rliterman@66 93 <when value="none">
rliterman@66 94 </when>
rliterman@66 95 <when value="collection">
rliterman@66 96 <param label="Query Assembly Collection" name="coll" type="data_collection" format="fasta" collection_type="list" />
rliterman@66 97 </when>
rliterman@66 98 <when value="history">
rliterman@66 99 <param label="Query Assembly List" type="data" name="list" format="fasta" multiple="true" />
rliterman@66 100 </when>
rliterman@66 101 </conditional>
rliterman@66 102
rliterman@66 103 <conditional name="ref_fasta">
rliterman@66 104 <param name="ref_fasta_select" type="select" label="Get reference assemblies from a collection or your history">
rliterman@66 105 <option value="none" selected="true">Do not provide reference assemblies</option>
rliterman@67 106 <option value="collection">Reference assemblies from a FASTA collection</option>
rliterman@66 107 <option value="history">Reference assemblies from your history</option>
rliterman@66 108 </param>
rliterman@66 109 <when value="none">
rliterman@66 110 </when>
rliterman@66 111 <when value="collection">
rliterman@66 112 <param label="Reference Assembly Collection" name="coll" type="data_collection" format="fasta" collection_type="list" />
rliterman@66 113 </when>
rliterman@66 114 <when value="history">
rliterman@66 115 <param label="Reference Assembly List" type="data" name="list" format="fasta" multiple="true" />
rliterman@66 116 </when>
rliterman@66 117 </conditional>
rliterman@66 118 <conditional name="query_reads">
rliterman@66 119 <param name="query_reads_select" type="select" label="Get query reads from a paired-end collection or your history">
rliterman@66 120 <option value="none" selected="true">Do not provide query reads</option>
rliterman@67 121 <option value="collection">Paired-end query reads from a collection</option>
rliterman@66 122 <option value="history">Query reads from your history</option>
rliterman@66 123 </param>
rliterman@66 124 <when value="none">
rliterman@66 125 </when>
rliterman@66 126 <when value="collection">
rliterman@66 127 <param label="Query Reads Collection" name="coll" type="data_collection" format="fastq,fastqsanger,fastq.gz,fastqsanger.gz,fastq.bz2,fastqsanger.bz2" collection_type="list:paired" />
rliterman@66 128 </when>
rliterman@66 129 <when value="history">
rliterman@66 130 <param label="Query Reads List" type="data" name="list" format="fastq,fastqsanger,fastq.gz,fastqsanger.gz,fastq.bz2,fastqsanger.bz2" multiple="true" />
rliterman@66 131 </when>
rliterman@66 132 </conditional>
rliterman@66 133
rliterman@66 134 <conditional name="ref_reads">
rliterman@66 135 <param name="ref_reads_select" type="select" label="Get reference reads from a paired-end collection or your history">
rliterman@66 136 <option value="none" selected="true">Do not provide reference reads</option>
rliterman@67 137 <option value="collection">Paired-end reference reads from a collection_type</option>
rliterman@67 138 <option value="history">Reference reads from your history</option>
rliterman@66 139 </param>
rliterman@66 140 <when value="none">
rliterman@66 141 </when>
rliterman@66 142 <when value="collection">
rliterman@66 143 <param label="Refrence Reads Collection" name="coll" type="data_collection" format="fastq,fastqsanger,fastq.gz,fastqsanger.gz,fastq.bz2,fastqsanger.bz2" collection_type="list:paired" />
rliterman@66 144 </when>
rliterman@66 145 <when value="history">
rliterman@66 146 <param label="Refrence Reads List" type="data" name="list" format="fastq,fastqsanger,fastq.gz,fastqsanger.gz,fastq.bz2,fastqsanger.bz2" multiple="true" />
rliterman@66 147 </when>
rliterman@66 148 </conditional>
rliterman@29 149 <param name="min_cov" type="float" value="85" label="Minimum reference genome coverage to proceed with distance estimation" optional="true" />
rliterman@29 150 <param name="min_iden" type="float" value="99" label="Minimum alignment percent identity to detect SNPs" optional="true" />
rliterman@29 151 <param name="min_len" type="integer" value="500" label="Minimum alignment length to detect SNPs" optional="true" />
rliterman@29 152 <param name="ref_edge" type="integer" value="150" label="Prune SNPs within this many bases of reference contig edge" optional="true" />
rliterman@29 153 <param name="query_edge" type="integer" value="150" label="Prune SNPs within this many bases of query contig edge" optional="true" />
rliterman@29 154 <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" />
rliterman@29 155 <param name="wsnps" type="text" value="3,2,1" label="Comma-separated list of maximum SNP counts per density window" optional="true" />
rliterman@29 156 <param name="readext" type="text" value="fastq.gz" label="Read extension format (e.g., fastq.gz)" optional="true" />
rliterman@29 157 <param name="forward" type="text" value="_1.fastq.gz" label="Forward read suffix (e.g. _1.fastq.gz)" optional="true" />
rliterman@29 158 <param name="reverse" type="text" value="_2.fastq.gz" label="Forward read suffix (e.g. _2.fastq.gz)" optional="true" />
rliterman@29 159 <param name="trim_name" type="text" value="" label="Text to remove from all file names (e.g., _contigs_skesa)" optional="true" />
rliterman@29 160 <param name="ref_id" type="text" value="" label="Comma-separated list of desired Reference IDs (e.g., Sample_A,Sample_B)" optional="true" />
rliterman@29 161 </inputs>
rliterman@29 162 <outputs>
rliterman@50 163 <data name="raw_mummer" format="tabular" label="Raw MUMmer Output" from_work_dir="CSP2_Screen_Output/Raw_MUMmer_Summary.tsv" />
rliterman@50 164 <data name="isolate_data" format="tabular" label="Isolate Data" from_work_dir="CSP2_Screen_Output/Isolate_Data.tsv" />
rliterman@50 165 <data name="screening_results" format="tabular" label="Screening Results" from_work_dir="CSP2_Screen_Output/Screening_Results.tsv" />
rliterman@29 166 </outputs>
rliterman@29 167 <tests>
rliterman@29 168 <test>
rliterman@29 169 <param name="query_fasta">
rliterman@29 170 <collection type="list">
rliterman@29 171 <element name="Sample_A" value="assemblies/Sample_A.fasta" />
rliterman@29 172 <element name="Sample_B" value="assemblies/Sample_B.fasta" />
rliterman@29 173 <element name="Sample_C" value="assemblies/Sample_C.fasta" />
rliterman@29 174 <element name="Sample_D" value="assemblies/Sample_D.fasta" />
rliterman@29 175 <element name="Sample_E" value="assemblies/Sample_E.fasta" />
rliterman@29 176 <element name="Sample_F" value="assemblies/Sample_F.fasta" />
rliterman@29 177 <element name="Sample_G" value="assemblies/Sample_G.fasta" />
rliterman@29 178 <element name="Sample_H" value="assemblies/Sample_H.fasta" />
rliterman@29 179 <element name="Sample_I" value="assemblies/Sample_I.fasta" />
rliterman@29 180 <element name="Sample_J" value="assemblies/Sample_J.fasta" />
rliterman@29 181 <element name="Sample_K" value="assemblies/Sample_K.fasta" />
rliterman@29 182 <element name="Sample_L" value="assemblies/Sample_L.fasta" />
rliterman@29 183 <element name="Sample_M" value="assemblies/Sample_M.fasta" />
rliterman@29 184 <element name="Sample_N" value="assemblies/Sample_N.fasta" />
rliterman@29 185 <element name="Sample_O" value="assemblies/Sample_O.fasta" />
rliterman@29 186 </collection>
rliterman@29 187 </param>
rliterman@29 188 <param name="query_reads">
rliterman@29 189 <collection type="list">
rliterman@29 190 <element name="Forward" value="reads/Week_42_Reads_1.fq.gz" />
rliterman@29 191 <element name="Reverse" value="reads/Week_42_Reads_2.fq.gz" />
rliterman@29 192 </collection>
rliterman@29 193 </param>
rliterman@29 194
rliterman@29 195 <param name="ref_id" value="Sample_A,Sample_B" />
rliterman@29 196 <param name="readext" value="fq.gz" />
rliterman@29 197 <param name="forward" value="_1.fq.gz" />
rliterman@29 198 <param name="reverse" value="_2.fq.gz" />
rliterman@29 199
rliterman@29 200 <output name="screening_results" value="Screening_Results.tsv" />
rliterman@29 201 <output name="isolate_data" value="Isolate_Data.tsv" />
rliterman@29 202 </test>
rliterman@29 203 </tests>
rliterman@29 204 <help>
rliterman@29 205 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.
rliterman@29 206 </help>
rliterman@29 207 <citations>
rliterman@29 208 <citation type="doi">10.XXXX/placeholder.doi</citation>
rliterman@29 209 <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}}
rliterman@29 210 </citation>
rliterman@29 211 </citations>
rliterman@29 212 </tool>
rliterman@29 213