view subread_featurecounts.xml @ 0:58ad7b512590 draft default tip

Uploaded
author brenninc
date Thu, 12 May 2016 09:48:15 -0400
parents
children
line wrap: on
line source

<tool id="subread_featurecounts" name="FeatureCount from subread" version="1.5.0-p1">
    <description>Runs FeatureCount from subread</description>
    <requirements>
        <requirement type="package" version="1.5.0-p1">subread</requirement>
    </requirements>
    <stdio>
        <exit_code range="1" level="fatal" description="Error code 1 occurred" />
        <exit_code range="2:255" level="fatal" description="Unknown error occurred" />
    </stdio>
    <command>
        featureCounts -p -t exon -g gene_id 
            #if $reference_source.reference_source_selector=='history':
                -a $reference_source.ref_file
            #end if
            #if $reference_source.reference_source_selector=='cached':
                -a $reference_source.ref_path.fields.path
            #end if
            -o counts 
            #if $names_source.names_source_selector=='manual':
                #for $s in $names_source.input_serie
                    $s.input_file
                #end for
            #else
                #for $input in $names_source.inputs
                    "${input}" 
                #end for
            #end if
            ;
        #if $names_source.names_source_selector in ["file","manual"]:
            python $__tool_directory__/name_changer.py 
                --raw_count_file counts --fixed_count_file ${output} 
                --raw_summary_file counts.summary --fixed_summary_file "${summary}"
                #if $names_source.names_source_selector=='file':
                    --names_file ${names_source.names_file}
                    #if $names_source.names_prefix:
                        --names_prefix ${names_source.names_prefix}
                    #end if
                #else:
                    #for $s in $names_source.input_serie
                        --new_name $s.new_name
                    #end for
                #end if
        #else
            cp counts  "${output}" ;
            cp counts.summary  "${summary}"
        #end if
   </command>
    <inputs>
        <conditional name="reference_source">
            <param name="reference_source_selector" type="select" label="Choose the source for the gene_transfer (gtf) file.">
               <option value="cached">Locally cached</option>
                <option value="history">History</option>
            </param>
            <when value="cached">
                <param name="ref_path" type="select" label="Using reference gene transfer">
                    <options from_data_table="gene_transfer"/>
                    <validator type="no_options" message="A built-in reference gene transfer is not available."/>
                </param>
            </when>
            <when value="history"> 
                <param name="ref_file" type="data" format="gtf" label="Using reference file" />
            </when>
        </conditional>
        <conditional name="names_source">
            <param name="names_source_selector" type="select" label="How are the inputs organized?">
                <option value="file">Collection of /Multiple bam file plus File with list of names.</option>
                <option value="galaxy_path">Collection of /Multiple bam files, but no file with list of names.</option>
                <option value="manual">Manually enter each file and a name for that file.</option>
            </param>
            <when value="file">
                <param name="inputs" format="bam" multiple="True" label="Bam file(s) to count Features of" type="data" />
                <param name="names_file" format="txt" 
                    label="File which has the names for the columns. Note start and end strings shared by every name will be removed" 
                    type="data" />
                <param name="names_prefix" size="30" type="text" value="" label="Prefix to add before every column name"/>
            </when>
            <when value="manual">
                <repeat name="input_serie" title="Files and names to add">
                    <param name="input_file" format="bam" label="Bam file to count Features of" type="data" />
                    <param name="new_name" size="30" type="text" value="" label="Name for that column"/>
                </repeat>
            </when>
            <when value="galaxy_path">
                <param name="inputs" format="bam" multiple="True" label="Bam file(s) to count Features of" type="data" />
            </when>
        </conditional>
    </inputs>
    <outputs>
        <data format="tabular" name="output" label="Counted Features" />
        <data format="tabular" name="summary" label="Feature Count Summary" />
    </outputs>
    <tests> 
        <!-- Test data too large to be included but can be found at 
             https://github.com/Christian-B/galaxy_shedtools/tree/master/subread_featurecounts -->
        <test>
            <param ftype="bam" name="inputs" value="C75_sorted.bam" />
            <param name="reference_source|reference_source_selector" value="cached"/>
            <param ftype="gtf" name="reference_source|ref_path" value="gencode.vM5" />
            <param name="names_source|names_source_selector" value="galaxy_path"/>
            <output name="output" file="C75_FeatureCounts.tsv"  ftype="tabular" compare="sim_size" delta="10000"/>
            <output name="summary">
                <assert_contents>              
                    <has_text text="Unassigned_Ambiguity" />
                </assert_contents>              
            </output>
        </test>
        <test>
            <param ftype="bam" name="inputs" value="C01_sorted.bam,C02_sorted.bam,C75_sorted.bam" />
            <param name="reference_source|reference_source_selector" value="history"/>
            <param ftype="gtf" name="reference_source|ref_file" value="/home/christian/Dropbox/Gene_data/gencode.vM5.annotation.gtf" />
            <param name="names_source|names_source_selector" value="file"/>
            <param ftype="txt" name="names_source|names_file" value="names.dat" />
            <param name="names_source|names_prefix" value="prefix_"/>
            <output name="output">
                <assert_contents>              
                    <has_text text="prefix__1" />
                    <has_text text="prefix__2" />
                    <has_text text="prefix_75" />
                </assert_contents>              
            </output>
            <output name="summary">
                <assert_contents>              
                    <has_text text="Unassigned_Ambiguity" />
                </assert_contents>              
            </output>
        </test>
        <test>
            <param name="reference_source|reference_source_selector" value="history"/>
            <param ftype="gtf" name="reference_source|ref_file" value="/home/christian/Dropbox/Gene_data/gencode.vM5.annotation.gtf" />
            <param name="names_source|names_source_selector" value="manual"/>
            <param ftype="bam" name="names_source|input_serie_0|input_file" value="C01_sorted.bam" />
            <param name="names_source|input_serie_0|new_name" value="ForC1"/>
            <param ftype="bam" name="names_source|input_serie_1|input_file" value="C02_sorted.bam" />
            <param name="names_source|input_serie_1|new_name" value="ForC2"/>
            <param ftype="bam" name="names_source|input_serie_2|input_file" value="C75_sorted.bam" />
            <param name="names_source|input_serie_2|new_name" value="ForC75"/>
            <output name="output">
                <assert_contents>              
                    <has_text text="ForC1" />
                    <has_text text="ForC2" />
                    <has_text text="ForC75" />
                </assert_contents>              
            </output>
            <output name="summary">
                <assert_contents>              
                    <has_text text="Unassigned_Ambiguity" />
                </assert_contents>              
            </output>
        </test>
    </tests>
    <help>
<![CDATA[
This tool runs subread's  Featurecounts function.

Feature count labels the data columns with the input file names.  Which will be the .../000/024.dat style names used by galaxy.

This tool therefor post processes the result changing these column names with either values found in a file or entered manually.
In each case every name can be prefixed with the same value 
]]>
    </help>
    <citations>
        <citation type="bibtex">
            @misc{
                Subread,
                author = {Liao Y, Smyth GK and Shi W},
                title = {Subread (incl FeatureCount on SourceForge},
                url = {http://subread.sourceforge.net/}
            }
        </citation>
        <citation type="doi">10.1093/bioinformatics/btt656</citation>
        <citation type="doi">10.1093/nar/gkt214</citation>
    </citations>

</tool>