view abromics_galaxy_json_extractor.xml @ 0:c49ec8c0b046 draft

planemo upload commit bb69b191fe3ce756655bf90af4d69e4472f94ba9-dirty
author pimarin
date Sun, 04 Jun 2023 17:16:20 +0000
parents
children 421032d8dd5d
line wrap: on
line source

<tool id="abromics_galaxy_json_extractor" name="abromics_galaxy_json_extractor" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
    <description>
        Result extractor to json format
    </description>
    <macros>
        <import>macro.xml</import>
    </macros>
    <expand macro='edam'/>
    <expand macro="requirements"/>
    <expand macro="version_command"/>

    <command detect_errors="aggressive"><![CDATA[
        mkdir "abromics_extracted_folder" &&
#*=================================================================
    Paramaters to add Database and tool version if available
=================================================================*#
#set $software_with_database = str("abricate,bakta,bracken,kraken2,plasmidfinder,recentrifuge").split(",")
#set $counter = len($tool_section.tools)-1
#*======================================================
    Loop to include some different tool in one time
======================================================*#
#for $i, $tool in enumerate( $tool_section.tools )
    abromics_extract
    "$tool.select_tool.tool_list"
    --hid $tool.select_tool.input.hid
    "$tool.select_tool.input"
    --analysis_software_version "$tool.select_tool.analysis_software_version"
    #if str($tool.select_tool.tool_list) in str($software_with_database)
        --reference_database_version "$tool.select_tool.reference_database_version"
    #end if
    #if "$tool.select_tool.tool_list" == "bakta"
        --summary_result_path "$tool.select_tool.summary_result_path"
        --nucleotide_annotation_path "$tool.select_tool.nucleotide_annotation_path"
        --amino_acid_annotation_path "$tool.select_tool.amino_acid_annotation_path"
        --gff_file_path "$tool.select_tool.gff_file_path"
    #elif "$tool.select_tool.tool_list" == "bracken"
        --kraken_report_path "tool.select_tool.kraken_report_path"
        --threshold "tool.select_tool.threshold"
        --read_length "tool.select_tool.read_length"
        --level "tool.select_tool.level"
    #elif"$tool.select_tool.tool_list" == "integronfinder2"
        --summary_file_path "tool.select_tool.summary_file_path"
    #elif "$tool.select_tool.tool_list" == "isescan"
        --orf_fna_file "tool.select_tool.orf_fna_file"
        --orf_faa_file "tool.select_tool.orf_faa_file"
        --is_fna_file "tool.select_tool.is_fna_file"
    #elif "$tool.select_tool.tool_list" == "kraken2"
        --seq_classification_file_path "tool.select_tool.seq_classification_file_path"
    #elif "$tool.select_tool.tool_list" == "plasmidfinder"
        --genome_hit_file_path "tool.select_tool.genome_hit_file_path"
        --plasmid_sequence_file_path "tool.select_tool.plasmid_sequence_file_path"
    #elif "$tool.select_tool.tool_list" == "recentrifuge"
        --rcf_stat_file_path "tool.select_tool.rcf_stat_file_path"
        --rcf_html_path "tool.select_tool.rcf_html_path"
    #elif "$tool.select_tool.tool_list" == "shovill"
        --contig_graph_path "tool.select_tool.contig_graph_path"
        --bam_file_path "tool.select_tool.bam_file_path"
    #elif "$tool.select_tool.tool_list" == "staramr"
        --mlst_file_path "tool.select_tool.mlst_file_path"
        --plasmidfinder_file_path "tool.select_tool.plasmidfinder_file_path"
        --pointfinder_file_path "tool.select_tool.pointfinder_file_path"
        --setting_file_path "tool.select_tool.setting_file_path"
    #elif "$tool.select_tool.tool_list" == "tabular_file"
        --analysis_software_name "tool.select_tool.analysis_software_name"
    #end if
    -o "abromics_extracted_folder/$($tool.select_tool.tool_list)_$(i)_output.json" 
    | tee "$logfile" 
    #if $i < $counter
        &&
    #end if
#end for

        ]]>
    </command>
    <inputs>
        <section name="tool_section" title="Available tools" expanded="true">
            <repeat name="tools" title="Tool" min="0">
                <conditional name="select_tool">
                    <param name="tool_list" type="select" label="Available tools">
                        <option value="abricate">abricate</option>
                        <option value="bakta">bakta</option>
                        <option value="bandage">bandage</option>
                        <option value="bracken">bracken</option>
                        <option value="fastp">fastp</option>
                        <option value="integronfinder2">integronfinder2</option>
                        <option value="isescan">isescan</option>
                        <option value="kraken2">kraken2</option>
                        <option value="plasmidfinder">plasmidfinder</option>
                        <option value="quast">quast</option>
                        <option value="recentrifuge">recentrifuge</option>
                        <option value="refseqmasher">refseqmasher</option>
                        <option value="shovill">shovill</option>
                        <option value="staramr">staramr</option>
                        <option value="tabular_file">tabular_generic_file</option>
                    </param>
                    <when value="abricate">
                        <param name="input" type="data" format="tabular" multiple="false" label="Abricate report file" help="Tabular file from abricate output"/>
                        <expand macro="analysis_software_version"/>
                        <expand macro="reference_database_version"/>
                    </when>
                    <when value="bakta">
                        <param name="input" type="data" format="json" multiple="false" label="Bakta report file" help="Json file from bakta output"/>
                        <param argument="--summary_result_path" type="data" format="txt" multiple="false" optional="true" label="Bakta summary file" help="Summary file from bakta output"/>
                        <param argument="--nucleotide_annotation_path" type="data" format="fasta" multiple="false" optional="true" label="Bakta nucleotide file" help="Nucleotide sequence annotation file"/>
                        <param argument="--amino_acid_annotation_path" type="data" format="fasta" multiple="false" optional="true" label="Bakta amino acide file" help="Amino acid sequence annotation file"/>
                        <param argument="--gff_file_path" type="data" format="gff3" multiple="false" optional="true" label="Bakta annotation file" help="Annotation file"/>
                        <expand macro="analysis_software_version"/>
                        <expand macro="reference_database_version"/>
                    </when>
                    <when value="bandage">
                        <param name="input" type="data" format="txt,tabular" multiple="false" label="Bandage report file" help="Tabular file from bandage output"/>
                        <expand macro="analysis_software_version"/>
                    </when>
                    <when value="bracken">
                        <param name="input" type="data" format="txt,tabular" multiple="false" label="Bracken report file" help="Tabular file from bracken output"/>
                        <expand macro="analysis_software_version"/>
                        <expand macro="reference_database_version"/>
                        <param argument="--kraken_report_path" type="data" format="txt,tabular" multiple="false" label="Kraken re-estimated report" help="New kraken report from bracken tool"/>
                        <param argument="--threshold" type="integer" min="0" optional="true" label="PRIOR on read numbers" help="Prior of read for estimation, default is 0"/>
                        <param argument="--read_length" type="integer" min="0" optional="true" label="Read length"/>
                        <param argument="--level" type="select" label="Taxonomic level estimation" help="Level of final abundance (from Domain to subspecies, default on species)">
                            <option value="D">Domain</option>
                            <option value="P">Phylum</option>
                            <option value="C">Class</option>
                            <option value="O">Order</option>
                            <option value="F">Family</option>
                            <option value="G">Genus</option>
                            <option value="S">Species</option>
                            <option value="S+">Subspecies</option>
                        </param>
                    </when>
                    <when value="fastp">
                        <param name="input" type="data" format="json" multiple="false" label="Fastp report file" help="Fastp result in json format"/>
                        <expand macro="analysis_software_version"/>
                    </when>
                    <when value="integronfinder2">
                        <param name="input" type="data" format="txt,tabular" multiple="false" label="Integronfinder report" help="Integron file from integronfinder2"/>
                        <param argument="--summary_file_path" type="data" format="txt,tabular" multiple="false" label="Summary report" help="Summary file from integronfinder2"/>
                        <expand macro="analysis_software_version"/>
                    </when>
                    <when value="isescan">
                        <param name="input" type="data" format="txt,tabular" multiple="false" label="Isescan report" help="IseScan file from integronfinder2"/>
                        <param argument="--orf_fna_file" type="data" format="fasta" optional="true" multiple="false" label="ORF fna file" help="Nuleotide sequence to the ORFs"/>
                        <param argument="--orf_faa_file" type="data" format="fasta" optional="true" multiple="false" label="ORF faa file" help="Amino acid sequence to the ORFs"/>
                        <param argument="--is_fna_file" type="data" format="fasta" optional="true" multiple="false" label="IS fna file" help="Nuleotide sequence to the inserted elements"/>
                        <expand macro="analysis_software_version"/>
                    </when>
                    <when value="kraken2">
                        <param name="input" type="data" format="txt,tabular" multiple="false" label="kraken report" help="Taxonomic assignation file from kraken2"/>
                        <param argument="--seq_classification_file_path" type="data" format="txt,tabular" optional="true" multiple="false" label="Sequence assignation" help="Reads assignation file"/>
                        <expand macro="analysis_software_version"/>
                        <expand macro="reference_database_version"/>
                    </when>
                    <when value="plasmidfinder">
                        <param name="input" type="data" format="json" multiple="false" label="Json report" help="Plasmidfinder result from json file"/>
                        <param argument="--genome_hit_file_path" type="data" format="fasta" optional="true" multiple="false" label="Genome hits" help="Sequence hit in the analyzed genome"/>
                        <param argument="--plasmid_sequence_file_path" type="data" format="fasta" optional="true" multiple="false" label="Plasmid hits" help="Plasmid sequence identified"/>
                        <expand macro="analysis_software_version"/>
                        <expand macro="reference_database_version"/>
                    </when>
                    <when value="quast">
                        <param name="input" type="data" format="txt,tabular" multiple="false" label="Quast report" help="Tabular Quast report"/>
                        <expand macro="analysis_software_version"/>
                    </when>
                    <when value="recentrifuge">
                        <param name="input" type="data" format="txt,tabular" multiple="false" label="Recentrifuge data file"/>
                        <param argument="--rcf_stat_file_path" type="data" format="txt,tabular" optional="true" multiple="false" label="Recentrifuge stat file"/>
                        <param argument="--rcf_html_path" type="data" format="html" optional="true" multiple="false" label="Recentrifuge html report file"/>
                        <expand macro="analysis_software_version"/>
                        <expand macro="reference_database_version"/>
                    </when>
                    <when value="refseqmasher">
                        <param name="input" type="data" format="txt,tabular" multiple="false" label="RefsesMasher results"/>
                        <expand macro="analysis_software_version"/>
                    </when>
                    <when value="shovill">
                        <param name="input" type="data" format="fasta" multiple="false" label="Contigs file" help="Contig fasta file from assembly"/>
                        <param argument="--contig_graph_path" type="data" format="txt" optional="true" multiple="false" label="Contig graph file" help="Graphic file assembly"/>
                        <param argument="--bam_file_path" type="data" format="bam" optional="true" multiple="false" label="Bam file" help="Alignemnt file in bam format"/>
                        <expand macro="analysis_software_version"/>

                    </when>
                    <when value="staramr">
                        <param name="input" type="data" format="txt,tabular" multiple="false" label="Resfinder report" help="Resfinder result from starAMR"/>
                        <param argument="--mlst_file_path" type="data" format="txt,tabular" optional="true" multiple="false" label="MLST results" help="mlst scheme file result from starAMR"/>
                        <param argument="--plasmidfinder_file_path" type="data" optional="true" format="txt,tabular" multiple="false" label="Plasmid results" help="Plasmidfinder result from starAMR"/>
                        <param argument="--pointfinder_file_path" type="data" optional="true" format="txt,tabular" multiple="false" label="Pointfinder results" help="PointFinder result from starAMR"/>
                        <param argument="--setting_file_path" type="data" optional="true" format="txt,tabular" multiple="false" label="Setting informations" help="Settings file from starAMR"/>
                        <expand macro="analysis_software_version"/>
                    </when>
                    <when value="tabular_file">
                        <param name="input" type="data" format="txt,tabular" multiple="false" label="Tabular file type" help="Generic result file in tabular format with header"/>
                        <param argument="--analysis_software_name" type="text" multiple="false" label="Tool name" help="Tool name which generated the result file"/>
                        <expand macro="analysis_software_version"/>
                    </when>
                </conditional>
            </repeat>
        </section>
        <param name="log" type="boolean" truevalue="true"  falsevalue="" label="Add log" help="Activate/Deactivate the log"/>
    </inputs>
    <outputs>
        <collection name="output_json" type="list" label="${tool.name} on ${on_string}: abromics formated json results">
            <discover_datasets pattern="(?P&lt;designation&gt;.+)\.json" format="json" directory="abromics_extracted_folder" />
        </collection>
        <data name="logfile" format="txt" label="${tool.name} on ${on_string}: log file">
            <filter> log == True </filter>
        </data>
    </outputs>
    <tests>
        <test expect_num_outputs="2"> <!-- TEST_1 abricate with logfile -->
            <section name="tool_section">
                <repeat name="tools">
                    <conditional name="select_tool">
                        <param name="tool_list" value="abricate"/>
                        <param name="input" value="abricate/report.tsv" ftype="tabular"/>
                        <param name="analysis_software_version" value="1.0"/>
                        <param name="reference_database_version" value="2.0" />
                    </conditional>
                </repeat>
            </section>
            <param name="log" value="true"/>
            <output_collection name="output_json" type="list">
                <expand macro="element_assert" name="abricate_0_output" text="Enterococcus faecalis V583"/>
            </output_collection>
            <output name="logfile" value="abricate_logfile.txt"/>
        </test>
        <test expect_num_outputs="1"> <!-- TEST_2 bakta all files -->
            <section name="tool_section">
                <repeat name="tools">
                    <conditional name="select_tool">
                        <param name="tool_list" value="bakta"/>
                        <param name="input" value="bakta/bakta.json" ftype="json"/>
                        <param name="summary_result_path" value="bakta/bakta_summary.txt" ftype="txt"/>
                        <param name="nucleotide_annotation_path" value="bakta/bakta_nucleotide.fasta" ftype="fasta"/>
                        <param name="amino_acid_annotation_path" value="bakta/bakta_aminoacid.faa" ftype="fasta"/>
                        <param name="gff_file_path" value="bakta/bakta_annotation.gff3" ftype="gff3"/>
                        <param name="reference_database_version" value="1.6.1"/>
                    </conditional>
                </repeat>
            </section>
            <output_collection name="output_json" type="list" count="1">
                <expand macro="element_assert" name="bakta_0_output" text="UniRef50_A0A0H2ZNL3"/>
            </output_collection>
        </test>
        <test expect_num_outputs="1"> <!-- TEST_3 All tool in repeat -->
            <section name="tool_section">
                <repeat name="tools">
                    <conditional name="select_tool">
                        <param name="tool_list" value="abricate"/>
                        <param name="input" value="abricate/report.tsv" ftype="tabular"/>
                        <param name="analysis_software_version" value="1.0"/>
                        <param name="reference_database_version" value="2.0" />
                    </conditional>
                </repeat>
                <repeat name="tools">
                    <conditional name="select_tool">
                        <param name="tool_list" value="bakta"/>
                        <param name="input" value="bakta/bakta.json" ftype="json"/>
                    </conditional>
                </repeat>
                <repeat name="tools">
                    <conditional name="select_tool">
                        <param name="tool_list" value="bandage"/>
                        <param name="input" value="bandage/bandage_info.txt" ftype="txt"/>
                    </conditional>
                </repeat>
                <repeat name="tools">
                    <conditional name="select_tool">
                        <param name="tool_list" value="bracken"/>
                        <param name="input" value="bracken/bracken_report.tsv" ftype="tabular"/>
                        <param name="bracken/bracken_kraken_report" ftype="tabular" />
                        <param name="threshold" value="0" />
                        <param name="read_length" value="100"/>
                        <param name="level" value="S"/>
                    </conditional>
                </repeat>
                <repeat name="tools">
                    <conditional name="select_tool">
                        <param name="tool_list" value="fastp"/>
                        <param name="input" value="fastp/fastp_report.json" ftype="json"/>
                    </conditional>
                </repeat>
                <repeat name="tools">
                    <conditional name="select_tool">
                        <param name="tool_list" value="integronfinder2"/>
                        <param name="input" value="integronfinder2/results.integrons" ftype="tabular"/>
                        <param name="summary_file_path" value="integronfinder2/results.summary" ftype="tabular"/>
                    </conditional>
                </repeat>
                <repeat name="tools">
                    <conditional name="select_tool">
                        <param name="tool_list" value="isescan"/>
                        <param name="input" value="isescan/results.tsv" ftype="tabular"/>
                        <param name="orf_fna_file" value="isescan/orf.fna" ftype="fasta"/>
                        <param name="orf_faa_file" value="isescan/orf.faa" ftype="fasta"/>
                        <param name="is_fna_file" value="isescan/is.fna" ftype="fasta"/>
                    </conditional>
                </repeat>
                <repeat name="tools">
                    <conditional name="select_tool">
                        <param name="tool_list" value="kraken2"/>
                        <param name="input" value="kraken2/taxonomy_report.tsv" ftype="tabular"/>
                        <param name="seq_classification_file_path" value="kraken2/taxonomy_result.tsv" ftype="tabular"/>
                    </conditional>
                </repeat>
                <repeat name="tools">
                    <conditional name="select_tool">
                        <param name="tool_list" value="plasmidfinder"/>
                        <param name="input" value="plasmidfinder/plasmidfinder_result.json" ftype="json"/>
                        <param name="genome_hit_file_path" value="plasmidfinder/genome_hit.fasta" ftype="fasta"/>
                        <param name="plasmid_sequence_file_path" value="plasmidfinder/plasmid_hit.fasta" ftype="fasta"/>
                    </conditional>
                </repeat>
                <repeat name="tools">
                    <conditional name="select_tool">
                        <param name="tool_list" value="quast"/>
                        <param name="input" value="quast/quast_result.tsv" ftype="tabular"/>
                    </conditional>
                </repeat>
                <repeat name="tools">
                    <conditional name="select_tool">
                        <param name="tool_list" value="recentrifuge"/>
                        <param name="input" value="recentrifuge/rcf_data.tsv" ftype="tabular"/>
                        <param name="rcf_stat_file_path" value="recentrifuge/rcf_stat.tsv" ftype="tabular"/>
                        <param name="rcf_html_path" value="recentrifuge/rcf_report.html"/>
                    </conditional>
                </repeat>
                <repeat name="tools">
                    <conditional name="select_tool">
                        <param name="tool_list" value="refseqmasher"/>
                        <param name="input" value="refseqmasher/refsesqmasher.tsv" ftype="tabular"/>
                    </conditional>
                </repeat>
                <repeat name="tools">
                    <conditional name="select_tool">
                        <param name="tool_list" value="shovill"/>
                        <param name="input" value="shovill/contigs.fa" ftype="fasta"/>
                        <param name="contig_graph_path" value="shovill/contigs.gfa" ftype="txt"/>
                        <param name="bam_file_path" value="shovill/alignment.bam" ftype="bam"/>
                    </conditional>
                </repeat>
                <repeat name="tools">
                    <conditional name="select_tool">
                        <param name="tool_list" value="staramr"/>
                        <param name="input" value="staramr/resfinder.tsv" ftype="tabular"/>
                        <param name="mlst_file_path" value="staramr/mlst.tsv" ftype="tabular"/>
                        <param name="plasmidfinder_file_path" value="staramr/plasmidfinder.tsv" ftype="tabular"/>
                        <param name="pointfinder_file_path" value="staramr/pointfinder.tsv" ftype="tabular"/>
                        <param name="setting_file_path" value="staramr/settings.txt" ftype="tabular"/>
                    </conditional>
                </repeat>
                <repeat name="tools">
                    <conditional name="select_tool">
                        <param name="tool_list" value="tabular_file"/>
                        <param name="input" value="tabular_file/report.tsv" ftype="tabular"/>
                    </conditional>
                </repeat>
            </section>
            <output_collection name="output_json" type="list" count="15">
                <expand macro="element_assert" name="abricate_0_output" text="Enterococcus faecalis V583"/>
                <expand macro="element_assert" name="bakta_1_output" text="UniRef50_A0A0H2ZNL3"/>
                <expand macro="element_assert" name="bandage_2_output" text="3042326"/>
                <expand macro="element_assert" name="bracken_3_output" text="Staphylococcus_aureus"/>
                <expand macro="element_assert" name="fastp_4_output" text="705053822"/>
                <expand macro="element_assert" name="integronfinder2_5_output" text="2353.0"/>
                <expand macro="element_assert" name="isescan_6_output" text="IS200/IS605"/>
                <expand macro="element_assert" name="kraken2_7_output" text="Enterococcus_faecalis_ATCC_29212"/>
                <expand macro="element_assert" name="plasmidfinder_8_output" text="repUS40_1_repB"/>
                <expand macro="element_assert" name="quast_9_output" text="2944723"/>
                <expand macro="element_assert" name="recentrifuge_10_output" text="6.4917947578"/>
                <expand macro="element_assert" name="refseqmasher_11_output" text="GCF_000519925.1"/>
                <expand macro="element_assert" name="shovill_12_output" text="436224"/>
                <expand macro="element_assert" name="staramr_13_output" text="10_Enterococcus_faecalis_S17_L001"/>
                <expand macro="element_assert" name="tabular_file_14_output" text="NP_814691"/>
            </output_collection>
        </test>
    </tests>
    <help><![CDATA[**What it does**
        ** Tool input**
        abromics_galaxy_json_extractor can use several input type from at least 14 different tools :
        | Tools          | Version        | Default input file| Optional files                                             |
        | -:             |   :-:          |  :-               | :-                                                         |
        | Abricate       | 1.0.1          |  output.tsv       |                                                            |
        | Bakta          | 1.7.0          |  output.json      | protein.faa, nucleotide.fna, annotation.gff3, summary.txt  |
        | Bandage        | 0.8.1          |  info.txt         |                                                            |
        | Bracken        | 2.8            |  output.tsv       | taxonomy.tsv                                               |
        | Fastp          | 0.23.2         |  output.json      |                                                            |
        | Integronfinder2| 2.0.2          |  output.integrons | output.summary                                             |
        | ISEScan        | 1.7.2.3        |  output.tsv       | is.fna, orf.faa, orf.fna                                   |
        | Kraken2        | 2.1.2          |  taxonomy.tsv     | reads_assignation.txt                                      |
        | Plasmidfinder  | 2.1.6          |  output.json      | genome_hits.fasta, plasmid_hits.fasta                      |
        | Quast          | 5.2.0          |  output.tsv       |                                                            |
        | Recentrifuge   | 1.10.0         |  data.tsv         | report.html, stat.tsv                                      |
        | Refseqmasher   | 0.1.2          |  output.tsv       |                                                            |
        | Shovill        | 1.1.0          |  contigs.fasta    | alignment.bam, contigs.gfa                                 |
        | Staramr        | 0.9.1          |  resfinder.tsv    | mlst.tsv, pointfinder.tsv, plasmidfinder.tsv, settings.tsv |
        | tabular_file   |  0             |    output.tsv     | no optional files                                          |

        ** Options **
        You can add a tool version and a database version for related tools.
        For some tools you can add optional files previously produced by the tool
            ]]></help>
    <expand macro="citations"/>
</tool>