annotate csp2_snp.xml @ 53:a21f63856acf

"planemo upload"
author rliterman
date Thu, 19 Dec 2024 08:53:33 -0500
parents 44cbdce84814
children d0a7dd5c900e
rev   line source
rliterman@29 1 <tool id="csp2-snp" name="CSP2 (SNP Pipeline Mode)" version="0.9.7_Dev21">
rliterman@29 2 <description>Run SNP Pipeline analysis on isolates using one or more references.</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@51 9 mkdir ./queries ./references;
rliterman@29 10
rliterman@29 11 if [ -n "$query_fasta" ] && [ "$query_fasta" != "None" ]; then
rliterman@53 12 if [ -n "$query_fasta__collection_type" ]; then
rliterman@53 13 #for query in $query_fasta_ELEMENTS:
rliterman@51 14 ln -sf ${query} ./queries/${query.element_identifier};
rliterman@53 15 #end for
rliterman@53 16 else
rliterman@53 17 #for query in $query_fasta:
rliterman@53 18 ln -sf ${query} ./queries/${query.element_identifier};
rliterman@53 19 #end for
rliterman@51 20 export QUERY_FASTA_ARG="--fasta ./queries";
rliterman@29 21 else
rliterman@29 22 export QUERY_FASTA_ARG="";
rliterman@29 23 fi;
rliterman@29 24
rliterman@29 25 if [ -n "$query_reads" ] && [ "$query_reads" != "None" ]; then
rliterman@53 26 if [ -n "$query_reads__collection_type" ]; then
rliterman@53 27 #for query in $query_reads_ELEMENTS:
rliterman@53 28 ln -sf ${query} ./queries/${query.element_identifier};
rliterman@53 29 #end for
rliterman@53 30 else
rliterman@53 31 #for query in $query_reads:
rliterman@53 32 ln -sf ${query} ./queries/${query.element_identifier};
rliterman@53 33 #end for
rliterman@53 34 export QUERY_READS_ARG="--reads ./queries";
rliterman@29 35 else
rliterman@29 36 export QUERY_READS_ARG="";
rliterman@29 37 fi;
rliterman@29 38
rliterman@29 39 if [ -n "$ref_fasta" ] && [ "$ref_fasta" != "None" ]; then
rliterman@53 40 if [ -n "$ref_fasta__collection_type" ]; then
rliterman@53 41 #for ref in $ref_fasta_ELEMENTS:
rliterman@53 42 ln -sf ${ref} ./references/${ref.element_identifier};
rliterman@53 43 #end for
rliterman@53 44 else
rliterman@53 45 #for ref in $ref_fasta:
rliterman@53 46 ln -sf ${ref} ./references/${ref.element_identifier};
rliterman@53 47 #end for
rliterman@51 48 export REF_FASTA_ARG="--ref_fasta ./references";
rliterman@29 49 else
rliterman@29 50 export REF_FASTA_ARG="";
rliterman@29 51 fi;
rliterman@29 52
rliterman@29 53 if [ -n "$ref_reads" ] && [ "$ref_reads" != "None" ]; then
rliterman@53 54 if [ -n "$ref_reads__collection_type" ]; then
rliterman@53 55 #for ref in $ref_reads_ELEMENTS:
rliterman@53 56 ln -sf ${ref} ./references/${ref.element_identifier};
rliterman@53 57 #end for
rliterman@53 58 else
rliterman@53 59 #for ref in $ref_reads:
rliterman@53 60 ln -sf ${ref} ./references/${ref.element_identifier};
rliterman@53 61 #end for
rliterman@51 62 export REF_READS_ARG="--ref_reads ./references";
rliterman@29 63 else
rliterman@29 64 export REF_READS_ARG="";
rliterman@29 65 fi;
rliterman@29 66
rliterman@53 67
rliterman@29 68 if [ -n "$trim_name" ] && [ "$trim_name" != "None" ]; then
rliterman@29 69 export TRIM_ARG="--trim_name $trim_name";
rliterman@29 70 else
rliterman@29 71 export TRIM_ARG="";
rliterman@29 72 fi;
rliterman@29 73
rliterman@29 74 if [[ "$rescue" == "true" ]]; then
rliterman@29 75 export RESCUE_ARG="--rescue";
rliterman@29 76 else
rliterman@29 77 export RESCUE_ARG="";
rliterman@29 78 fi;
rliterman@29 79
rliterman@52 80 nextflow run ${__tool_directory__}/CSP2/CSP2.nf -profile csp2_galaxy --runmode snp \$QUERY_FASTA_ARG \$REF_FASTA_ARG \$QUERY_READS_ARG \$REF_READS_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_SNP_Output > Nextflow_Log.txt 2>&1 &&
rliterman@51 81 mkdir CSP2_Output &&
rliterman@51 82 cat CSP2_SNP_Output/logs/Reference_IDs.txt | while read line; do cp 'CSP2_SNP_Output/SNP_Analysis/'\$line'/CSP2_SNP_Pipeline.log' 'CSP2_Output/'\$line'_CSP2_SNP_Pipeline.log'; cp 'CSP2_SNP_Output/SNP_Analysis/'\$line'/Reference_Screening.tsv' 'CSP2_Output/'\$line'_Reference_Screening.tsv'; cp 'CSP2_SNP_Output/SNP_Analysis/'\$line'/snp_distance_matrix_preserved.tsv' 'CSP2_Output/'\$line'_snp_distance_matrix_preserved.tsv'; cp 'CSP2_SNP_Output/SNP_Analysis/'\$line'/snp_distance_pairwise_preserved.tsv' 'CSP2_Output/'\$line'_snp_distance_pairwise_preserved.tsv'; cp 'CSP2_SNP_Output/SNP_Analysis/'\$line'/snpma_preserved.fasta' 'CSP2_Output/'\$line'_snpma_preserved.fasta';done &&
rliterman@51 83 ls -la CSP2_Output;
rliterman@33 84
rliterman@34 85 ]]>
rliterman@29 86 </command>
rliterman@29 87 <inputs>
rliterman@29 88 <param name="query_fasta" type="data" format="fasta" value="" label="Query assemblies" multiple="true" optional="true" />
rliterman@29 89 <param name="ref_fasta" type="data" format="fasta" value="" label="Reference assemblies" multiple="true" optional="true" />
rliterman@29 90 <param name="query_reads" type="data" format="fastq,fastq.gz" value="" label="Query reads" multiple="true" optional="true" />
rliterman@29 91 <param name="ref_reads" type="data" format="fastq,fastq.gz" value="" label="Reference reads" multiple="true" optional="true" />
rliterman@29 92 <param name="min_cov" type="float" value="85" label="Minimum reference genome coverage to proceed with distance estimation" optional="true" />
rliterman@29 93 <param name="min_iden" type="float" value="99" label="Minimum alignment percent identity to detect SNPs" optional="true" />
rliterman@29 94 <param name="min_len" type="integer" value="500" label="Minimum alignment length to detect SNPs" optional="true" />
rliterman@29 95 <param name="ref_edge" type="integer" value="150" label="Prune SNPs within this many bases of reference contig edge" optional="true" />
rliterman@29 96 <param name="query_edge" type="integer" value="150" label="Prune SNPs within this many bases of query contig edge" optional="true" />
rliterman@29 97 <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 98 <param name="wsnps" type="text" value="3,2,1" label="Comma-separated list of maximum SNP counts per density window" optional="true" />
rliterman@29 99 <param name="readext" type="text" value="fastq.gz" label="Read extension format (e.g., fastq.gz)" optional="true" />
rliterman@29 100 <param name="forward" type="text" value="_1.fastq.gz" label="Forward read suffix (e.g. _1.fastq.gz)" optional="true" />
rliterman@29 101 <param name="reverse" type="text" value="_2.fastq.gz" label="Forward read suffix (e.g. _2.fastq.gz)" optional="true" />
rliterman@29 102 <param name="trim_name" type="text" value="" label="Text to remove from all file names (e.g., _contigs_skesa)" optional="true" />
rliterman@29 103 <param name="rescue" type="boolean" value="false" label="Enable SNP edge rescue mode" optional="true" />
rliterman@29 104 <param name="max_missing" type="float" value="50" label="Maximum percent of isolates allowed to have missing data to retain a SNP" optional="true" />
rliterman@52 105 <param name="n_ref" type="integer" value="1" label="Number of reference genomes to select" optional="true" />
rliterman@52 106
rliterman@29 107 </inputs>
rliterman@29 108 <outputs>
rliterman@34 109 <data name="isolate_data" format="tabular" label="Isolate Data" from_work_dir="CSP2_SNP_Output/Isolate_Data.tsv" />
rliterman@29 110 <data name="raw_mummer" format="tabular" label="Raw MUMmer Output" from_work_dir="CSP2_SNP_Output/Raw_MUMmer_Summary.tsv" />
rliterman@51 111
rliterman@51 112 <collection name="csp2_logs" type='list' label="CSP2 Log">
rliterman@51 113 <discover_datasets pattern="(?P&lt;designation&gt;.+)_CSP2_SNP_Pipeline\.log" directory="CSP2_Output" format='txt'/>
rliterman@51 114 </collection>
rliterman@51 115 <collection name="csp2_alignments" type='list' label="CSP2 Alignment">
rliterman@51 116 <discover_datasets pattern="(?P&lt;designation&gt;.+)_snpma_preserved\.fasta" directory="CSP2_Output" format='fasta'/>
rliterman@51 117 </collection>
rliterman@51 118 <collection name="csp2_matrices" type='list' label="CSP2 Matrices">
rliterman@51 119 <discover_datasets pattern="(?P&lt;designation&gt;.+)_snp_distance_matrix_preserved\.tsv" directory="CSP2_Output" format='tabular'/>
rliterman@51 120 </collection>
rliterman@51 121 <collection name="csp2_pairwise" type='list' label="CSP2 Pairwise Distances">
rliterman@51 122 <discover_datasets pattern="(?P&lt;designation&gt;.+)_snp_distance_pairwise_preserved\.tsv" directory="CSP2_Output" format='tabular'/>
rliterman@51 123 </collection>
rliterman@51 124 <collection name="csp2_ref_screening" type='list' label="CSP2 Reference Screening">
rliterman@51 125 <discover_datasets pattern="(?P&lt;designation&gt;.+)_Reference_Screening\.tsv" directory="CSP2_Output" format='tabular'/>
rliterman@37 126 </collection>
rliterman@29 127 </outputs>
rliterman@29 128 <tests>
rliterman@29 129 <test>
rliterman@29 130 <param name="query_fasta">
rliterman@29 131 <collection type="list">
rliterman@29 132 <element name="Sample_A" value="assemblies/Sample_A.fasta" />
rliterman@29 133 <element name="Sample_B" value="assemblies/Sample_B.fasta" />
rliterman@29 134 <element name="Sample_C" value="assemblies/Sample_C.fasta" />
rliterman@29 135 <element name="Sample_D" value="assemblies/Sample_D.fasta" />
rliterman@29 136 <element name="Sample_E" value="assemblies/Sample_E.fasta" />
rliterman@29 137 <element name="Sample_F" value="assemblies/Sample_F.fasta" />
rliterman@29 138 <element name="Sample_G" value="assemblies/Sample_G.fasta" />
rliterman@29 139 <element name="Sample_H" value="assemblies/Sample_H.fasta" />
rliterman@29 140 <element name="Sample_I" value="assemblies/Sample_I.fasta" />
rliterman@29 141 <element name="Sample_J" value="assemblies/Sample_J.fasta" />
rliterman@29 142 <element name="Sample_K" value="assemblies/Sample_K.fasta" />
rliterman@29 143 <element name="Sample_L" value="assemblies/Sample_L.fasta" />
rliterman@29 144 <element name="Sample_M" value="assemblies/Sample_M.fasta" />
rliterman@29 145 <element name="Sample_N" value="assemblies/Sample_N.fasta" />
rliterman@29 146 <element name="Sample_O" value="assemblies/Sample_O.fasta" />
rliterman@29 147 </collection>
rliterman@29 148 </param>
rliterman@29 149 <param name="query_reads">
rliterman@29 150 <collection type="list">
rliterman@29 151 <element name="Forward" value="reads/Week_42_Reads_1.fq.gz" />
rliterman@29 152 <element name="Reverse" value="reads/Week_42_Reads_2.fq.gz" />
rliterman@29 153 </collection>
rliterman@29 154 </param>
rliterman@29 155
rliterman@29 156 <param name="ref_id" value="Sample_A,Sample_B" />
rliterman@29 157 <param name="readext" value="fq.gz" />
rliterman@29 158 <param name="forward" value="_1.fq.gz" />
rliterman@29 159 <param name="reverse" value="_2.fq.gz" />
rliterman@29 160
rliterman@29 161 <output name="isolate_data" value="Isolate_Data.tsv" />
rliterman@29 162 </test>
rliterman@29 163 </tests>
rliterman@29 164 <help>
rliterman@29 165 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 166 </help>
rliterman@29 167 <citations>
rliterman@29 168 <citation type="doi">10.XXXX/placeholder.doi</citation>
rliterman@29 169 <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 170 </citation>
rliterman@29 171 </citations>
rliterman@29 172 </tool>
rliterman@29 173