Mercurial > repos > rliterman > csp2
view csp2_snp.xml @ 56:c8ca27626fa9
"planemo upload"
author | rliterman |
---|---|
date | Thu, 19 Dec 2024 10:56:32 -0500 |
parents | 629a4fe7bb13 |
children | c8dfcb29d91b |
line wrap: on
line source
<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[ mkdir ./queries ./references; if [[ "$query_fasta.query_fasta_select" == "none" ]]; then export QUERY_FASTA_ARG=""; elif [[ "$query_fasta.query_fasta_select" == "history" ]]; then #for query in $query_fasta.list: ln -sf ${query} ./queries/${query.element_identifier}; #end for export QUERY_FASTA_ARG="--fasta ./queries"; else #for query in $query_fasta.coll.elements: ln -sf ${query} ./queries/${query.element_identifier}; #end for export QUERY_FASTA_ARG="--fasta ./queries"; fi; if [[ "$ref_fasta.ref_fasta_select" == "none" ]]; then export REF_FASTA_ARG=""; elif [[ "$ref_fasta.ref_fasta_select" == "history" ]]; then #for ref in $ref_fasta.list: ln -sf ${ref} ./references/${ref.element_identifier}; #end for export REF_FASTA_ARG="--ref_fasta ./references"; else #for ref in $ref_fasta.coll.elements: ln -sf ${ref} ./references/${ref.element_identifier}; #end for export REF_FASTA_ARG="--ref_fasta ./references"; fi; if [[ "$query_reads.query_reads_select" == "none" ]]; then export QUERY_READS_ARG=""; elif [[ "$query_reads.query_reads_select" == "history" ]]; then #for query in $query_reads.list: ln -sf ${query} ./queries/${query.element_identifier}; #end for export QUERY_READS_ARG="--reads ./queries"; else #for query in $query_reads.coll.forward: ln -sf ${query} ./queries/${query.element_identifier}; #end for #for query in $query_reads.coll.reverse: ln -sf ${query} ./queries/${query.element_identifier}; #end for export QUERY_READS_ARG="--reads ./queries"; fi; if [[ "$ref_reads.ref_reads_select" == "none" ]]; then export REF_READS_ARG=""; elif [[ "$ref_reads.ref_reads_select" == "history" ]]; then #for ref in $ref_reads.list: ln -sf ${ref} ./references/${ref.element_identifier}; #end for export REF_READS_ARG="--ref_reads ./references"; else #for ref in $ref_reads.coll.forward: ln -sf ${ref} ./references/${ref.element_identifier}; #end for #for ref in $ref_reads.coll.reverse: ln -sf ${ref} ./references/${ref.element_identifier}; #end for export REF_READS_ARG="--ref_reads ./references"; fi; if [[ "$trim_name" != "DUMMYCSP2TRIM" ]]; then export TRIM_ARG="--trim_name $trim_name"; else export TRIM_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 --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 && mkdir CSP2_Output && 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 && ls -la CSP2_Output; ]]> </command> <inputs> <conditional name="query_fasta"> <param name="query_fasta_select" type="select" label="Get query assemblies from a collection or your history"> <option value="none" selected="true">Do not provide query assemblies</option> <option value="collection">Query assemblies from a collection_type</option> <option value="history">Query assemblies from your history</option> </param> <when value="none"> </when> <when value="collection"> <param label="Query Assembly Collection" name="coll" type="data_collection" format="fasta" collection_type="list" /> </when> <when value="history"> <param label="Query Assembly List" type="data" name="list" format="fasta" multiple="true" /> </when> </conditional> <conditional name="ref_fasta"> <param name="ref_fasta_select" type="select" label="Get reference assemblies from a collection or your history"> <option value="none" selected="true">Do not provide reference assemblies</option> <option value="collection">Reference assemblies from a collection_type</option> <option value="history">Reference assemblies from your history</option> </param> <when value="none"> </when> <when value="collection"> <param label="Reference Assembly Collection" name="coll" type="data_collection" format="fasta" collection_type="list" /> </when> <when value="history"> <param label="Reference Assembly List" type="data" name="list" format="fasta" multiple="true" /> </when> </conditional> <conditional name="query_reads"> <param name="query_reads_select" type="select" label="Get query reads from a paired-end collection or your history"> <option value="none" selected="true">Do not provide query reads</option> <option value="collection">Query reads from a collection_type</option> <option value="history">Query reads from your history</option> </param> <when value="none"> </when> <when value="collection"> <param label="Query Reads Collection" name="coll" type="data_collection" format="fastq,fastqsanger,fastq.gz,fastqsanger.gz,fastq.bz2,fastqsanger.bz2" collection_type="paired" /> </when> <when value="history"> <param label="Query Reads List" type="data" name="list" format="fastq,fastqsanger,fastq.gz,fastqsanger.gz,fastq.bz2,fastqsanger.bz2" multiple="true" /> </when> </conditional> <conditional name="ref_reads"> <param name="ref_reads_select" type="select" label="Get reference reads from a paired-end collection or your history"> <option value="none" selected="true">Do not provide reference reads</option> <option value="collection">Refrence reads from a collection_type</option> <option value="history">Refrence reads from your history</option> </param> <when value="none"> </when> <when value="collection"> <param label="Refrence Reads Collection" name="coll" type="data_collection" format="fastq,fastqsanger,fastq.gz,fastqsanger.gz,fastq.bz2,fastqsanger.bz2" collection_type="paired" /> </when> <when value="history"> <param label="Refrence Reads List" type="data" name="list" format="fastq,fastqsanger,fastq.gz,fastqsanger.gz,fastq.bz2,fastqsanger.bz2" multiple="true" /> </when> </conditional> <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="DUMMYCSP2TRIM" label="Text to remove from all file names (e.g., _contigs_skesa)" 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 genomes to select" optional="true" /> </inputs> <outputs> <data name="isolate_data" format="tabular" label="Isolate Data" from_work_dir="CSP2_SNP_Output/Isolate_Data.tsv" /> <data name="raw_mummer" format="tabular" label="Raw MUMmer Output" from_work_dir="CSP2_SNP_Output/Raw_MUMmer_Summary.tsv" /> <collection name="csp2_logs" type='list' label="CSP2 Log"> <discover_datasets pattern="(?P<designation>.+)_CSP2_SNP_Pipeline\.log" directory="CSP2_Output" format='txt'/> </collection> <collection name="csp2_alignments" type='list' label="CSP2 Alignment"> <discover_datasets pattern="(?P<designation>.+)_snpma_preserved\.fasta" directory="CSP2_Output" format='fasta'/> </collection> <collection name="csp2_matrices" type='list' label="CSP2 Matrices"> <discover_datasets pattern="(?P<designation>.+)_snp_distance_matrix_preserved\.tsv" directory="CSP2_Output" format='tabular'/> </collection> <collection name="csp2_pairwise" type='list' label="CSP2 Pairwise Distances"> <discover_datasets pattern="(?P<designation>.+)_snp_distance_pairwise_preserved\.tsv" directory="CSP2_Output" format='tabular'/> </collection> <collection name="csp2_ref_screening" type='list' label="CSP2 Reference Screening"> <discover_datasets pattern="(?P<designation>.+)_Reference_Screening\.tsv" directory="CSP2_Output" format='tabular'/> </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>