view salmonquant.xml @ 13:e3d32471da11 draft

"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/salmon commit 30fe16f7d786e4b0c43b8333853fc56c59f6c664"
author bgruening
date Sat, 25 Apr 2020 11:49:15 -0400
parents 4de6e2e40c7a
children 49121db48873
line wrap: on
line source

<tool id="salmon" name="Salmon quant" version="@VERSION@+galaxy1">
    <description>Perform dual-phase, reads or mapping-based estimation of transcript abundance from RNA-seq reads</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="requirements"/>
    <command detect_errors="aggressive"><![CDATA[
        #if $quant_type.qtype == "reads":
            @indexing@
            @salreads@
        #else:
            @salalign@
        #end if
        @salquant@
        #if $quant_type.qtype == "reads" and $quant_type.writeMappings:
            && @bam_sort@ ./output/samout.sam
        #end if
        #if $quant_type.qtype == "alignment" and $quant_type.sampleOut:
            && @bam_sort@ ./output/postSample.bam
        #end if
        ]]>
    </command>
    <inputs>
        <conditional name="quant_type">
            <param name="qtype" type="select" label="Select salmon quantification mode:">
                <option value="reads" selected="True">Reads</option>
                <option value="alignment">Alignment</option>
            </param>
            <when value="reads">
                <expand macro="index"/>
                <expand macro="reads"/>
            </when>
            <when value="alignment">
                <expand macro="align"/>
            </when>
        </conditional>
        <expand macro="quantboth"/>
    </inputs>
    <outputs>
        <data name="output_quant" format="tabular" from_work_dir="output/quant.sf" label="${tool.name} on ${on_string} (Quantification)" />
        <data name="output_gene_quant" format="tabular" from_work_dir="output/quant.genes.sf" label="${tool.name} on ${on_string} (Gene Quantification)">
            <filter>geneMap</filter>
        </data>
        <data name="output_bam" format="bam" from_work_dir="output/bamout.bam" label="${tool.name} on ${on_string} (BAM format)">
            <filter>quant_type['qtype'] == "reads" and quant_type['writeMappings']</filter>
        </data>
        <data name="postSample" format="bam" from_work_dir="output/bamout.bam" label="Sampled input alignments on ${on_string}(BAM format)">
            <filter>quant_type['qtype'] == "alignment" and quant_type['sampleOut']</filter>
        </data>
    </outputs>
    <tests>
        <test expect_num_outputs="2">
            <conditional name="quant_type">
                <param name="qtype" value="reads"/>
                <conditional name="refTranscriptSource">
                    <param name="TranscriptSource" value="history"/>
                    <section name="s_index">
                        <param name="fasta" value="transcripts.fasta"/>
                    </section>
                </conditional>
                <section name="input">
                    <param name="single_or_paired.single_or_paired_opts" value="paired" />
                    <param name="single_or_paired.input_mate1" value="fastqs/reads_1.fastq" />
                    <param name="single_or_paired.input_mate2" value="fastqs/reads_2.fastq" />
                    <param name="single_or_paired.strandedness" value="U"/>
                </section>
                <param name="writeMappings" value="true"/>
            </conditional>
            <output name="output_quant" ftype="tabular">
                <assert_contents>
                    <has_text text="EffectiveLength" />
                    <has_text text="TPM" />
                    <has_text text="NM_001168316" />
                    <has_text text="NM_174914" />
                    <has_text text="NM_018953" />
                    <has_text text="NR_003084" />
                    <has_text text="NM_017410" />
                    <has_text text="NM_153693" />
                    <has_text text="NR_031764" />
                    <has_n_columns n="5" />
                </assert_contents>
            </output>
        </test>
        <test expect_num_outputs="1">
            <conditional name="quant_type">
                <param name="qtype" value="reads"/>
                <conditional name="refTranscriptSource">
                    <param name="TranscriptSource" value="history"/>
                    <section name="s_index">
                        <param name="fasta" value="transcripts.fasta"/>
                    </section>
                </conditional>
                <section name="input">
                    <param name="single_or_paired.single_or_paired_opts" value="paired" />
                    <param name="single_or_paired.input_mate1" value="fastqs/reads_1.fastq.gz" />
                    <param name="single_or_paired.input_mate2" value="fastqs/reads_2.fastq.gz" />
                    <param name="single_or_paired.strandedness" value="U"/>
                </section>
            </conditional>
            <output name="output_quant" ftype="tabular">
                <assert_contents>
                    <has_text text="EffectiveLength" />
                    <has_text text="TPM" />
                    <has_text text="NM_001168316" />
                    <has_text text="NM_174914" />
                    <has_text text="NM_018953" />
                    <has_text text="NR_003084" />
                    <has_text text="NM_017410" />
                    <has_text text="NM_153693" />
                    <has_text text="NR_031764" />
                    <has_n_columns n="5" />
                </assert_contents>
            </output>
        </test>
        <test expect_num_outputs="1">
            <conditional name="quant_type">
                <param name="qtype" value="reads"/>
                <conditional name="refTranscriptSource">
                    <param name="TranscriptSource" value="history"/>
                    <section name="s_index">
                        <param name="fasta" value="transcripts.fasta"/>
                    </section>
                </conditional>
                <section name="input">
                    <param name="single_or_paired.single_or_paired_opts" value="single" />
                    <param name="single_or_paired.input_mate1" value="fastqs/reads_both.fastq.bz2" />
                    <param name="single_or_paired.strandedness" value="U"/>
                </section>
            </conditional>
            <output name="output_quant" ftype="tabular">
                <assert_contents>
                    <has_text text="EffectiveLength" />
                    <has_text text="TPM" />
                    <has_text text="NM_001168316" />
                    <has_text text="NM_174914" />
                    <has_text text="NM_018953" />
                    <has_text text="NR_003084" />
                    <has_text text="NM_017410" />
                    <has_text text="NM_153693" />
                    <has_text text="NR_031764" />
                    <has_n_columns n="5" />
                </assert_contents>
            </output>
        </test>
        <test expect_num_outputs="2">
            <conditional name="quant_type">
                <param name="qtype" value="alignment"/>
                <param name="afile" value="salmonbam.bam"/>
                <param name="transcript" value="transcripts.fasta"/>
                <param name="sampleOut" value="--sampleOut"/>
                <param name="sampleUnaligned" value="--sampleUnaligned"/>
                <param name="noErrorModel" value="--noErrorModel"/>
                <param name="numErrorBins" value="5"/>
            </conditional>
            <output name="postSample" ftype="bam" value="postSample.bam"/>
            <assert_stderr>
                <has_text text="Sampling alignments; outputting results to ./output/postSample.bam"/>
            </assert_stderr>
        </test>
        <test expect_num_outputs="1">
            <conditional name="quant_type">
                <param name="qtype" value="reads"/>
                <conditional name="refTranscriptSource">
                    <param name="TranscriptSource" value="history"/>
                    <section name="s_index">
                        <param name="fasta" value="transcripts.fasta"/>
                    </section>
                </conditional>
                <section name="input">
                    <param name="single_or_paired.single_or_paired_opts" value="paired" />
                    <param name="single_or_paired.input_mate1" value="fastqs/reads_1.fastq" />
                    <param name="single_or_paired.input_mate2" value="fastqs/reads_2.fastq" />
                    <param name="single_or_paired.strandeness" value="U"/>
                </section>
                <param name="discardOrphansQuasi" value="-discardOrphansQuasi"/>
                <conditional name="validmap">
                    <param name="validateMappings" value="--validateMappings"/>
                </conditional>
                <param name="dovetail" value="--allowDovetail"/>
                <param name="recoverOrphans" value="--recoverOrphans"/>
            </conditional>
            <output name="output_quant" ftype="tabular">
                <assert_contents>
                    <has_text text="EffectiveLength" />
                    <has_text text="TPM" />
                    <has_text text="NM_001168316" />
                    <has_text text="NM_174914" />
                    <has_text text="NM_018953" />
                    <has_n_columns n="5" />
                </assert_contents>
            </output>
        </test>
        <test expect_num_outputs="1">
            <conditional name="quant_type">
                <param name="qtype" value="reads"/>
                <conditional name="refTranscriptSource">
                    <param name="TranscriptSource" value="history"/>
                    <section name="s_index">
                        <param name="fasta" value="transcripts.fasta"/>
                    </section>
                </conditional>
                <section name="input">
                    <param name="single_or_paired.single_or_paired_opts" value="paired" />
                    <param name="single_or_paired.input_mate1" value="fastqs/reads_1.fastq" />
                    <param name="single_or_paired.input_mate2" value="fastqs/reads_2.fastq" />
                    <param name="single_or_paired.strandedness" value="U"/>
                </section>
            </conditional>
            <param name="seqBias" value="--seqBias"/>
            <param name="gcBias" value="--gcBias"/>
            <section name="adv">
                <param name="dumpEq" value="--dumpEq"/>
                <param name="minAssignedFrags" value="10"/>
                <param name="noLengthCorrection"/>
                <param name="initUniform" value="--initUniform"/>
                <param name="useEM" value="--useEM"/>
                <param name="noGammaDraw" value="--noGammaDraw"/>
            </section>
            <output name="output_quant" ftype="tabular">
                <assert_contents>
                    <has_text text="EffectiveLength" />
                    <has_text text="TPM" />
                    <has_n_columns n="5" />
                </assert_contents>
            </output>
        </test>
        <test expect_num_outputs="1">
            <conditional name="quant_type">
                <param name="qtype" value="reads"/>
                <conditional name="refTranscriptSource">
                    <param name="TranscriptSource" value="indexed"/>
                    <param name="index" value="hg19_transcript_subset" />
                </conditional>
                <section name="input">
                    <conditional name="single_or_paired">
                        <param name="single_or_paired_opts" value="paired" />
                        <param name="input_mate1" value="fastqs/reads_1.fastq" />
                        <param name="input_mate2" value="fastqs/reads_2.fastq" />
                        <param name="strandedness" value="U"/>
                    </conditional>
                </section>
            </conditional>
            <output name="output_quant" ftype="tabular">
                <assert_contents>
                    <has_text text="EffectiveLength" />
                    <has_text text="TPM" />
                    <has_text text="NM_001168316" />
                    <has_text text="NM_174914" />
                    <has_text text="NM_018953" />
                    <has_text text="NR_003084" />
                    <has_text text="NM_017410" />
                    <has_text text="NM_153693" />
                    <has_text text="NR_031764" />
                    <has_n_columns n="5" />
                </assert_contents>
            </output>
        </test>
    </tests>
    <help><![CDATA[
        @salmonhelp@
    ]]></help>
    <expand macro="citations"/>
</tool>