view dada2_learnErrors.xml @ 1:e4ecd5306895 draft

planemo upload for repository https://github.com/bernt-matthias/mb-galaxy-tools/tree/topic/dada2/tools/dada2 commit d63c84012410608b3b5d23e130f0beff475ce1f8-dirty
author matthias
date Fri, 08 Mar 2019 08:31:24 -0500
parents 56d5be6c03b9
children 57eb7437f646
line wrap: on
line source

<tool id="dada2_learnErrors" name="dada2: learnErrors" version="@DADA2_VERSION@">
    <description>Learn Error rates</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="requirements"/>
    <expand macro="version_command"/>
    <command detect_errors="exit_code"><![CDATA[
    #for $read in $reads:
        ln -s '$read' '$read.element_identifier' &&
    #end for
    mkdir '$errors.extra_files_path'	&&
	Rscript '$dada2_script' \${GALAXY_SLOTS:-1}
    ]]></command>
    <configfiles>
        <configfile name="dada2_script"><![CDATA[
library(ggplot2, quietly=T)
library(dada2, quietly=T)

args <- commandArgs(trailingOnly = TRUE)
nthreads <- as.integer(args[1])

files <- c()
#for $read in $reads:
files <- c(files, '$read.element_identifier')
#end for

err <- learnErrors(files, nbases = 10**$nbases, 
           errorEstimationFunction = $advanced.errfoo, multithread = nthreads,
           randomize = $advanced.randomize, MAX_CONSIST = $advanced.maxconsist, OMEGA_C = $advanced.omegac)

write.table(err\$err_out, file = '$errors', quote = F, sep = "\t", row.names = T, col.names = F)
saveRDS(err, file=file.path('$errors.extra_files_path', "Rdata"))


## generate error plots
plot <- plotErrors(err, obs = $plotopt.obs, err_out = $plotopt.errout, err_in = $plotopt.errin, nominalQ = $plotopt.nominalQ)
ggsave('output.pdf', plot, width = 20,height = 15,units = c("cm"))
    ]]></configfile>
    </configfiles>
    <inputs>
        <param name="reads" type="data" multiple="true" format="fastqsanger,fastqsanger.gz" label="Short read data" help="forward or reverse reads should be processed separately"/>
        <param name="nbases" type="integer" value="8" min="0" label="Magnitide of number of bases to use for learning" help=""/>
            <section name="advanced" title="Advanced Option">
            <expand macro="errorEstimationFunction"/>
            <param name="randomize" type="boolean" checked="false" truevalue="TRUE" falsevalue="FALSE" label="randomize samples"/>
                <param name="maxconsist" type="integer" value="10" min="0" label="maximum number of times to step through the selfconsistency loop" help=""/>
            <param name="omegac" type="integer" value="0" min="0" label="threshold at which unique sequences inferred to contain errors are corrected" help=""/>
        </section>
            <section name="plotopt" title="Plotting Option">
            <param name="obs" type="boolean" checked="true" truevalue="TRUE" falsevalue="FALSE" label="plot observed error rates"/>
            <param name="errout" type="boolean" checked="true" truevalue="TRUE" falsevalue="FALSE" label="plot output error rates"/>
            <param name="errin" type="boolean" checked="false" truevalue="TRUE" falsevalue="FALSE" label="plot input error rates"/>
            <param name="nominalQ" type="boolean" checked="true" truevalue="TRUE" falsevalue="FALSE" label="plot observed error rates"/>
        </section>

    </inputs>
    <outputs>
        <data name="errors" format="dada2_errorrates" label="${tool.name} on ${on_string}"/>
        <data name="output" format="pdf" from_work_dir="output.pdf" label="${tool.name} on ${on_string}: error rates plot"/>
    </outputs>

    <help><![CDATA[
        TODO: Fill in help.
    ]]></help>
    <expand macro="citations"/>
</tool>