view pharokka.xml @ 2:1268b98fac17 draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/pharokka commit fcbcfe6bfcf007dc489ae035a6f23c07dc64ed31
author iuc
date Sun, 06 Aug 2023 10:11:17 +0000
parents b5835ab48898
children
line wrap: on
line source

<tool id="pharokka" name="pharokka" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
    <description>
        Rapid standardised annotation tool for bacteriophage genomes and metagenomes
    </description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="biotools" />
    <expand macro="requirements" />
    <expand macro="version" />
    <command detect_errors="exit_code">
        <![CDATA[

        ##run tool
        #if str( $terminase.terminase_selector ) == 'no_terminase':
        pharokka.py 
        -i '$fasta'
        -o pharokka_output
        -d '$db_cached.fields.path'
        -t \${GALAXY_SLOTS:-8} 
        $gene_predictor
        $meta
        -e '$evalue' 
        #else:
        pharokka.py 
        -i '$fasta' 
        -o pharokka_output 
        -d '$db_cached.fields.path' 
        -t \${GALAXY_SLOTS:-8} 
        $gene_predictor 
        $meta 
        -e '$evalue' 
        --terminase 
        --terminase_strand '$terminase.terminase_strand' 
        --terminase_start '$terminase.terminase_start' 
        #end if
        
        ## create output
        #if $zip_output == 'true':
            && zip -r out.zip pharokka_output
        #end if
        ]]>
    </command>
    <inputs>
        <!-- the genome -->
        <param type="data" name="fasta" format="fasta" help="Please upload a genome file of a bacteriophage in fasta format." label="Bacteriophage genome" />
        <param name="db_cached" type="select" label="Using built-in pharokka DB" help="Using built-in pharokka DB">
            <options from_data_table="pharokka_db_versioned">
            </options>
            <validator type="no_options" message="A built-in pharokka DB is not available. Please ask the galaxy admins to install one on the server." />
        </param>
        <param name="gene_predictor" type="select" label="User specified gene predictor">
            <option value="-g phanotate">
                Phanotate
            </option>
            <option value="-g prodigal">
                Prodigal
            </option>
        </param>
        <param name="meta" type="boolean" checked="false" truevalue="--meta" falsevalue="" label="Meta mode for metavirome input samples" />
        <param name="evalue" type="float" value="1E-5" min="1E-20" max="10" label="E-value threshold for mmseqs2 PHROGs database search. Defaults to 1E-05." />
        <!-- optional arguments -->
        <conditional name="terminase">
            <param name="terminase_selector" type="select" label="Runs - terminase large subunit - re-orientation mode. Single genome input only and requires --terminase_strand and --terminase_start to be specified.">
                <option value="no_terminase">
                    Do not run 'terminase large subunit' re-orientation mode.
                </option>
                <option value="run_terminase">
                    Runs 'terminase large subunit' re-orientation mode.
                </option>
            </param>
            <when value="no_terminase">
            </when>
            <when value="run_terminase">
                <param name="terminase_strand" type="select" label="Strand of terminase large subunit.">
                    <option value="pos">
                        Positive
                    </option>
                    <option value="neg">
                        Negative
                    </option>
                </param>
                <param name="terminase_start" type="integer" value="1" label="Start coordinate of the terminase large subunit." />
            </when>
        </conditional>
        <!-- optional outputs -->
        <param name="zip_output" type="boolean" checked="false" truevalue="true" falsevalue="false" label="Create a Zip archive of the complete output for further investigation." />
    </inputs>
    <outputs>
        <data name="pharokka_gbk" format="genbank" from_work_dir="pharokka_output/pharokka.gbk" label="${tool.name} on ${on_string}: Genbank" />
        <data name="pharokka_gff" format="gff" from_work_dir="pharokka_output/pharokka.gff" label="${tool.name} on ${on_string}: GFF" />
        <data name="archive_output" format="zip" from_work_dir="out.zip" label="${tool.name} on ${on_string}: zip of the complete output" >
            <filter>zip_output</filter>
        </data>

    </outputs>
    <tests>
        <!-- test input from DB - no zip -->
        <test expect_num_outputs="2">
            <param name="db_cached" value="pharokka_db" />
            <param name="fasta" value="SAOMS1.fasta" />
            <param name="zip_output" value="false" />
            <!-- check file size and text since output is non-deterministic -->
            <output name="pharokka_gbk">
                <assert_contents>
                    <has_size value="353875" delta="10" />
                    <has_text text="VERSION     MW460250_1" />
                </assert_contents>
            </output>
            <output name="pharokka_gff">
                <assert_contents>
                    <has_size value="191497" delta="10" />
                    <has_text text="##sequence-region MW460250_1 1 140135" />
                </assert_contents>
            </output>
        </test>
        <!-- test input from DB -->
        <test expect_num_outputs="3">
            <param name="db_cached" value="pharokka_db" />
            <param name="fasta" value="SAOMS1.fasta" />
            <param name="zip_output" value="true" />
            <!-- check file size and text since output is non-deterministic -->
            <output name="pharokka_gbk">
                <assert_contents>
                    <has_size value="353875" delta="10" />
                    <has_text text="VERSION     MW460250_1" />
                </assert_contents>
            </output>
            <output name="pharokka_gff">
                <assert_contents>
                    <has_size value="191497" delta="10" />
                    <has_text text="##sequence-region MW460250_1 1 140135" />
                </assert_contents>
            </output>
            <!-- check created zip -->
            <output name="archive_output">
                <assert_contents>
                    <has_archive_member path=".*\/pharokka\.gff" />
                    <has_archive_member path=".*\/pharokka\.gbk" />
                    <has_archive_member path=".*\/pharokka.*\.log" />
                </assert_contents>
            </output>
        </test>
    </tests>
    <help>
        <![CDATA[
        Pharokka is a rapid standardised annotation tool for bacteriophage genomes and metagenomes.
        Pharokka identifies predicted coding sequences (CDS), transfer RNAs (tRNAs),
        transfer-messenger RNAs (tmRNAs) and clustered regularly interspaced short 
        palindromic repeats (CRISPRs), providing functional annotation for CDS using the PHROGs database. 
        
        Pharokka requires assembled DNA sequences in FASTA format.
        For phage isolates, this usually consists of one complete contig, 
        but Pharokka can also annotate incomplete assemblies or metavirome samples with multiple 
        contigs in the multiFASTA format. 
        Furthermore, metagenomically assembled phage genomes and genomic contigs, 
        derived using programs such as Virstorter2, Hecatomb and Cenote-taker 2, 
        are also suitable to be annotated using Pharokka using meta mode.

        If you are looking for rapid standardised annotation of bacterial genomes, please use bakta.
        ]]>
    </help>
    <expand macro="citations" />
    <expand macro="creator" />
</tool>