view mira3.xml @ 0:aa75dcf4cd74 draft

planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/mira3 commit b5d52d0664b01d252cf61b98be373d09f1ecc2df-dirty
author jvolkening
date Fri, 23 Aug 2019 00:30:33 -0400
parents
children 858504cdf67c
line wrap: on
line source

<tool id="mira3" name="MIRA Assembler v3" version="3.4.1.1">

    <description>Assemble short/long/hybrid reads using MIRA 3.4</description>

    <!-- ***************************************************************** -->

    <requirements>
        <requirement type="package" version="3.4.1.1">mira</requirement>
    </requirements>

    <!-- ***************************************************************** -->

    <version_command>mira --version | perl -wnE'print "$1\n" for /This is MIRA V([\d\.]+)/g'</version_command>

    <!-- ***************************************************************** -->

    <command detect_errors="aggressive">
    <![CDATA[

    mira
    --project=mira
    --job=$job_method,$job_type,$job_quality
    -GE:not="\${GALAXY_SLOTS:-1}"
    #if $condBackbone.use == "true":
        ## Can this be linked to job_method as well? If mapping we need the backbone...
        -SB:lb=1:bft=fasta -FN:bbin=${condBackbone.filename}
    #end if
    #if $condSanger.use == "true":
        SANGER_SETTINGS
        ## Not easy in Galaxy to add sanger to --job, so use load_sequence_data(lsd) instead
        ## I expect hard trimmed FASTQ files with no NCBI traceinfo XML file
        -LR:lsd=1:mxti=0:ft=fastq -FN:fqi=${condSanger.filename}
        ${condSanger.sanger_extra}
    #end if
    #if $condRoche.use == "true":
        454_SETTINGS
        ## Not easy in Galaxy to add 454 to --job, so use load_sequence_data(lsd) instead
        ## I expect hard trimmed FASTQ files with no NCBI traceinfo XML file
        -LR:lsd=1:mxti=0:ft=fastq -FN:fqi=${condRoche.filename}
        ${condRoche.roche_extra}
    #end if
    #if $condIllumina.use == "true":
        SOLEXA_SETTINGS
        ## Not easy in Galaxy to add solexa to --job, so use load_sequence_data(lsd) instead
        -LR:lsd=1:ft=fastq -FN:fqi=${condIllumina.filename}
        ${condIllumina.solexa_extra}
        ##TODO - Look at -LR FASTQ qual offset (fqqo)
    #end if
    #if $condIonTorrent.use == "true":
        IONTOR_SETTINGS
        ## Not easy in Galaxy to add iontor to --job, so use load_sequence_data(lsd) instead
        ## I expect hard trimmed FASTQ files with no NCBI traceinfo XML file
        -LR:lsd=1:mxti=0:ft=fastq -FN:fqi=${condIonTorrent.filename}
        ${condIonTorrent.torrent_extra}
    #end if

    COMMON_SETTINGS
    $common_extra

    ##ignore warnings about long read names
    -MI:somrnl=0

    ##Explicitly request the FASTA (+QUAL), CAF, ACE, WIG output
    ##Explicitly disable formats we won't use like MAF (reduce IO)
    -OUT:orf=$output_fasta:orc=$output_caf:ora=$output_ace:orw=$output_wig:orm=0:org=0:ors=0

    ##remove_rollover_tmps, remove_tmp_directory
    -OUT:rrot=1:rtd=1

    ##put mira temp directory on local storage                                                                              
    ##NO, must run from NFS or problems with multiple jobs/same name can arise
    ##-DI:trt=/tmp
    -MI:sonfs=no
    ]]>
    </command>

    <!-- ***************************************************************** -->

    <inputs>
        <param name="job_method" type="select" label="Assembly method" help="Mapping mode requires backbone/reference sequence(s)">
            <option value="denovo">De novo</option>
            <option value="mapping">Mapping</option>
        </param>
        <param name="job_type" type="select" label="Assembly type">
            <option value="genome">Genome</option>
            <option value="est">EST (transcriptome)</option>
        </param>
        <param name="job_quality" type="select" label="Assembly quality grade">
            <option value="accurate">Accurate</option>
            <option value="normal">Normal (deprecated)</option>
            <option value="draft">Draft</option>
        </param>
        <!-- Backbone -->
        <conditional name="condBackbone">
            <param name="use" type="select" label="Backbones/reference chromosomes?" help="Required for mapping, optional for de novo assembly.">
                <option value="false">No</option>
                <option value="true">Yes</option>
            </param>
            <when value="false" />
            <when value="true">
                <!-- MIRA also allows CAF and GenBank, but Galaxy doesn't define those (yet) -->
                <param name="filename" type="data" format="fasta" label="Backbone/reference sequences" help="FASTA format" />
            </when>
        </conditional>
        <!-- Sanger -->
        <conditional name="condSanger">
            <param name="use" type="select" label="Sanger/Capillary reads?">
                <option value="false">No</option>
                <option value="true">Yes</option>
            </param>
            <when value="false" />
            <when value="true">
                <param name="filename" type="data" format="fastq" label="Sanger/Capillary reads file" help="FASTQ format" />
                <param name="sanger_extra" type="text" size="100" value="" label="extra Sanger parameters for MIRA">
                    <sanitizer invalid_char="">
                        <valid initial=",string.letters,string.digits">
                            <add value=" " />
                            <add value="-" />
                            <add value=":" />
                            <add value="=" />
                        </valid>
                    </sanitizer>
                </param>
            </when>
        </conditional>
        <!-- Roche 454 -->
        <conditional name="condRoche">
            <param name="use" type="select" label="454 reads?">
                <option value="false">No</option>
                <option value="true">Yes</option>
            </param>
            <when value="false" />
            <when value="true">
                <!-- TODO? Support SFF files directly, e.g. with sff_extract, but will need linker sequences -->
                <param name="filename" type="data" format="fastq" label="Roche 454 reads file" help="FASTQ format" />
                <param name="roche_extra" type="text" size="100" value="" label="extra 454 parameters for MIRA">
                    <sanitizer invalid_char="">
                        <valid initial=",string.letters,string.digits">
                            <add value=" " />
                            <add value="-" />
                            <add value=":" />
                            <add value="=" />
                        </valid>
                    </sanitizer>
                </param>
            </when>
        </conditional>
        <!-- Illumina -->
        <conditional name="condIllumina">
            <param name="use" type="select" label="Solexa/Illumina reads?">
                <option value="false">No</option>
                <option value="true">Yes</option>
            </param>
            <when value="false" />
            <when value="true">
                <param name="filename" type="data" format="fastq" label="Solexa/Illumina reads file" help="FASTQ format" />
                <param name="solexa_extra" type="text" size="100" value="-DP:ure=yes -AS:mrpc=100 -AL:mo=16" label="extra Illumina parameters for MIRA">
                    <sanitizer invalid_char="">
                        <valid initial=",string.letters,string.digits">
                            <add value=" " />
                            <add value="-" />
                            <add value=":" />
                            <add value="=" />
                        </valid>
                    </sanitizer>
                </param>
            </when>
        </conditional>
        <!-- Ion Torrent -->
        <conditional name="condIonTorrent">
            <param name="use" type="select" label="Ion Torrent reads?">
                <option value="false">No</option>
                <option value="true">Yes</option>
            </param>
            <when value="false" />
            <when value="true">
                <!-- TODO? Support SFF files directly, e.g. with sff_extract -->
                <param name="filename" type="data" format="fastq" label="Ion Torrent reads file" help="FASTQ format" />
                <param name="torrent_extra" type="text" size="100" value="" label="extra IonTorrent parameters for MIRA">
                    <sanitizer invalid_char="">
                        <valid initial=",string.letters,string.digits">
                            <add value=" " />
                            <add value="-" />
                            <add value=":" />
                            <add value="=" />
                        </valid>
                    </sanitizer>
                </param>
            </when>
        </conditional>
        <param name="common_extra" type="text" size="100" value="-CO:mr=yes:mroir=no:asir=yes -SK:mnr=no:mmhr=.2 -AS:urd=no:ard=no:sd=yes:sdlpo=no" label="extra common parameters for MIRA">
            <sanitizer invalid_char="">
                <valid initial=",string.letters,string.digits">
                    <add value=" " />
                    <add value="-" />
                    <add value=":" />
                    <add value="=" />
                </valid>
            </sanitizer>
        </param>
	    <param name="output_fasta" type="boolean" truevalue="1" falsevalue="0" checked="yes" label="Output FASTA" />
	    <param name="output_caf" type="boolean" truevalue="1" falsevalue="0" checked="0" label="Output CAF" />
	    <param name="output_ace" type="boolean" truevalue="1" falsevalue="0" checked="0" label="Output ACE" />
	    <param name="output_wig" type="boolean" truevalue="1" falsevalue="0" checked="0" label="Output WIG" />
    </inputs>

    <!-- ***************************************************************** -->

    <outputs>
        <data name="out_log" format="txt" label="MIRA log" from_work_dir="mira_assembly/mira_d_info/mira_info_assembly.txt" />
        <data name="out_fasta" format="fasta" label="MIRA contigs (FASTA)" from_work_dir="mira_assembly/mira_d_results/mira_out.unpadded.fasta">
            <filter>output_fasta is True</filter>
        </data>
        <data name="out_qual" format="qual454" label="MIRA contigs (QUAL)" from_work_dir="mira_assembly/mira_d_results/mira_out.unpadded.fasta.qual">
            <filter>output_fasta is True</filter>
        </data>
        <data name="out_caf" format="txt" label="MIRA contigs (CAF)" from_work_dir="mira_assembly/mira_d_results/mira_out.caf" >
            <filter>output_caf is True</filter>
        </data>
        <data name="out_ace" format="txt" label="MIRA contigs (ACE)" from_work_dir="mira_assembly/mira_d_results/mira_out.ace">
            <filter>output_ace is True</filter>
        </data>
        <data name="out_wig" format="wig" label="MIRA coverage (Wiggle)" from_work_dir="mira_assembly/mira_d_results/mira_out.wig">
            <filter>output_wig is True</filter>
        </data>
    </outputs>

    <!-- ***************************************************************** -->

    <tests>
        <test>
            <param name="job_method" value="denovo" />
            <param name="job_type" value="est" />
            <param name="job_qual" value="accurate" />
            <param name="condBackbone|use" value="false" />
            <param name="condSanger|use" value="true" />
            <param name="condSanger|filename" value="tvc_mini.fastq" ftype="fastq" />
            <param name="condRoche|use" value="false" />
            <param name="condIllumina|use" value="false" />
            <param name="condIonTorrent|use" value="false" />
            <param name="output_fasta" value="true" />
            <param name="output_caf" value="false" />
            <param name="output_ace" value="false" />
            <param name="output_wig" value="false" />
            <param name="common_extra" value="" />
            <output name="out_fasta" file="tvc_contigs.fasta" ftype="fasta" />
        </test>
    </tests>

    <!-- ***************************************************************** -->

    <help>

**What it does**

Runs MIRA v3.4, collects the output, and throws away all the temporary files.

MIRA is an open source assembly tool capable of handling sequence data from
a range of platforms (Sanger capillary, Solexa/Illumina, Roche 454 and also
Ion Torrent).

It is particularly suited to small genomes such as bacteria.

    </help>

    <!-- ***************************************************************** -->

    <citations>
        <citation type="doi">10.7717/peerj.167</citation>
        <citation type="bibtex">@ARTICLE{Chevreux1999-mira3,
        author = {B. Chevreux and T. Wetter and S. Suhai},
        year = {1999},
        title = {Genome Sequence Assembly Using Trace Signals and Additional Sequence Information},
        journal = {Computer Science and Biology: Proceedings of the German Conference on Bioinformatics (GCB)}
        volume = {99},
        pages = {45-56},
        url = {http://www.bioinfo.de/isb/gcb99/talks/chevreux/main.html}
        }</citation>
    </citations>

</tool>