view busco.xml @ 8:602fb8e63aa7 draft

"planemo upload commit 92185cd605fe0cfa78593ea10b0222e8aeb6ef98"
author iuc
date Wed, 30 Dec 2020 14:07:37 +0000
parents 4048d82f0c88
children cf13a1e03e5b
line wrap: on
line source

<tool id="busco" name="Busco" profile="18.01" version="@TOOL_VERSION@">
    <description>assess genome assembly and annotation completeness</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <requirements>
        <requirement type="package" version="@TOOL_VERSION@">busco</requirement>
        <requirement type="package" version="1.32">tar</requirement>
    </requirements>
    <command><![CDATA[
if [ -z "\$AUGUSTUS_CONFIG_PATH" ] ; then BUSCO_PATH=\$(dirname \$(which busco)) ; export AUGUSTUS_CONFIG_PATH=\$(realpath \${BUSCO_PATH}/../config) ; fi &&
cp -r "\$AUGUSTUS_CONFIG_PATH/" augustus_dir/ &&
export AUGUSTUS_CONFIG_PATH=`pwd`/augustus_dir/ &&

#if $adv.aug_prediction.augustus_mode == 'history':
    ## Using an augustus model from history, we need to unzip it and let augustus find it
    mkdir -p 'augustus_dir/species/' &&
    tar -C 'augustus_dir/species/' -xzf '${adv.aug_prediction.augustus_model}' &&
#end if

busco
--in '${input}'
--lineage_dataset '${lineage_dataset}'
--update-data
--mode '${mode}'
-o busco_galaxy
--cpu \${GALAXY_SLOTS:-4}
--evalue ${adv.evalue}
${adv.long}
--limit ${adv.limit}
#if $adv.aug_prediction.augustus_mode == 'builtin':
    --augustus_species '${adv.aug_prediction.augustus_species}'
#else if $adv.aug_prediction.augustus_mode == 'history':
    --augustus_species local
#end if
    ]]></command>

    <inputs>
        <param type="data" name="input" format="fasta" label="Sequences to analyse" help="genome, transcriptome or proteome" />
        <param argument="--mode" type="select" label="Mode">
            <option value="geno">Genome</option>
            <option value="tran">Transcriptome</option>
            <option value="prot">Proteome</option>
        </param>

        <param argument="--lineage_dataset" type="select" label="Lineage">
            <expand macro="lineages"/>
        </param>

        <section name="adv" title="Advanced Options" expanded="False">
            <param argument="--evalue" type="float" value="0.01" label="E-value cutoff for BLAST searches."/>
            <param argument="--limit" type="integer" value="3" label="How many candidate regions to consider"/>

            <conditional name="aug_prediction">
                <param name="augustus_mode" type="select" label="Augustus species model">
                    <option value="no" selected="true">Use the default species for selected lineage</option>
                    <option value="builtin">Use another predefined species model</option>
                    <option value="history">Use a custom species model</option>
                </param>
                <when value="no"/>
                <when value="history">
                    <param name="augustus_model" type="data" format="augustus" label="Augustus model"/>
                </when>
                <when value="builtin">
                    <param name="augustus_species" type="select" label="Augustus species model">
                        <expand macro="augustus_species"/>
                    </param>
                </when>
            </conditional>
            <param argument="--long" type="boolean" checked="false" truevalue="--long" falsevalue="" label="Optimization mode Augustus self-training" help="Adds considerably to run time, but can improve results for some non-model organisms"/>
        </section>
    </inputs>
    <outputs>
        <data name='busco_sum' format='txt' label="${tool.name} on ${on_string}: short summary" from_work_dir="busco_galaxy/run_*/short_summary.txt"/>
        <data name='busco_table' format='tabular' label="${tool.name} on ${on_string}: full table" from_work_dir="busco_galaxy/run_*/full_table.tsv"/>
        <data name='busco_missing' format='tabular' label="${tool.name} on ${on_string}: missing buscos" from_work_dir="busco_galaxy/run_*/missing_busco_list.tsv"/>
    </outputs>
    <tests>
        <test>
            <param name="input" value="genome.fa"/>
            <param name="lineage_dataset" value="arthropoda_odb10"/>
            <param name="mode" value="geno"/>
            <output name="busco_sum" file="genome_results/short_summary" compare="diff" lines_diff="4"/>
            <output name="busco_table" file="genome_results/full_table" compare="diff" lines_diff="4"/>
            <output name="busco_missing" file="genome_results/missing_buscos_list" compare="diff" lines_diff="4">
                <assert_contents>
                    <has_text text="# BUSCO version is: @TOOL_VERSION@" />
                </assert_contents>
            </output>
        </test>
        <test>
            <param name="input" value="proteome.fa"/>
            <param name="lineage_dataset" value="arthropoda_odb10"/>
            <param name="mode" value="prot"/>
            <output name="busco_sum" file="proteome_results/short_summary" compare="diff" lines_diff="4"/>
            <output name="busco_table" file="proteome_results/full_table" compare="diff" lines_diff="4"/>
            <output name="busco_missing" file="proteome_results/missing_buscos_list" compare="diff" lines_diff="4"/>
        </test>
        <test>
            <param name="input" value="transcriptome.fa"/>
            <param name="lineage_dataset" value="arthropoda_odb10"/>
            <param name="mode" value="tran"/>
            <output name="busco_sum" file="transcriptome_results/short_summary" compare="diff" lines_diff="4"/>
            <output name="busco_table" file="transcriptome_results/full_table" compare="diff" lines_diff="4"/>
            <output name="busco_missing" file="transcriptome_results/missing_buscos_list" compare="diff" lines_diff="4"/>
        </test>
        <test>
            <param name="input" value="genome.fa"/>
            <param name="lineage_dataset" value="arthropoda_odb10"/>
            <param name="mode" value="geno"/>
            <param name="adv|aug_prediction|augustus_mode" value="builtin"/>
            <param name="adv|aug_prediction|augustus_species" value="human"/>
            <output name="busco_sum" file="genome_results/short_summary" compare="diff" lines_diff="4"/>
            <output name="busco_table" file="genome_results/full_table" compare="diff" lines_diff="4"/>
            <output name="busco_missing" file="genome_results/missing_buscos_list" compare="diff" lines_diff="4"/>
        </test>
        <test>
            <param name="input" value="genome.fa"/>
            <param name="lineage_dataset" value="arthropoda_odb10"/>
            <param name="mode" value="geno"/>
            <param name="adv|aug_prediction|augustus_mode" value="history"/>
            <param name="adv|aug_prediction|augustus_model" value="local.tar.gz" ftype="augustus"/>
            <output name="busco_sum" file="genome_results/short_summary" compare="diff" lines_diff="4"/>
            <output name="busco_table" file="genome_results/full_table" compare="diff" lines_diff="4"/>
            <output name="busco_missing" file="genome_results/missing_buscos_list" compare="diff" lines_diff="4"/>
        </test>
    </tests>
    <help>
BUSCO: assessing genome assembly and annotation completeness with Benchmarking Universal Single-Copy Orthologs

.. _BUSCO: http://busco.ezlab.org/
    </help>
    <expand macro="citations"/>
</tool>