view correctGCBias.xml @ 28:f7712a057440 draft

new bugfix release
author bgruening
date Wed, 02 Apr 2014 09:15:44 -0400
parents bf1b1dcdd67b
children 3a2aab18a217
line wrap: on
line source

<tool id="deeptools_correctGCBias" name="correctGCBias" version="@WRAPPER_VERSION@.0">
    <description>uses the output from computeGCBias to generate corrected BAM files</description>
    <expand macro="requirements" />
    <expand macro="stdio" />
    <macros>
        <token name="@BINARY@">correctGCBias</token>
        <import>deepTools_macros.xml</import>
    </macros>
    <command>
        #import tempfile
        #set $temp_dir = os.path.abspath(tempfile.mkdtemp())

        #set $temp_bam_handle = tempfile.NamedTemporaryFile( dir=$temp_dir )
        #set $temp_bam_path = $temp_bam_handle.name + '.bam'
        #silent $temp_bam_handle.close()
        #silent os.system("ln -s %s %s" % (str($bamInput), $temp_bam_path))
        #silent os.system("ln -s %s %s.bai" % (str($bamInput.metadata.bam_index), $temp_bam_path))


        correctGCBias

        @THREADS@

        --bamfile '$temp_bam_path'
        --GCbiasFrequenciesFile $GCbiasFrequenciesFile

        @reference_genome_source@


        #if $effectiveGenomeSize.effectiveGenomeSize_opt == "specific":
            --effectiveGenomeSize $effectiveGenomeSize.effectiveGenomeSize
        #else:
            --effectiveGenomeSize $effectiveGenomeSize.effectiveGenomeSize_opt
        #end if

        #if str($region).strip() != '':
            --region '$region'
        #end if

        #if $advancedOpt.showAdvancedOpt == "yes":
            --binSize '$advancedOpt.binSize'  
        #end if

        ###set newoutFileName="corrected."+str($outFileFormat)
        ##--correctedFile $newoutFileName;
        --correctedFile "corrected.bam";

        ##mv $newoutFileName $outFileName
        mv "corrected.bam" $outFileName
    </command>
    <inputs>
        <param name="GCbiasFrequenciesFile" type="data" format="tabular" label="Output of computeGCBias" />
        <param name="bamInput" format="bam" type="data" label="BAM file" help="This should be same file that was used for computeGCbias. The BAM file must be sorted."/>
        <expand macro="reference_genome_source" />
        <expand macro="effectiveGenomeSize" />

        <!--
        <param name="outFileFormat" type="select" label="File format of the output">
            <option value="bam">bam</option>
            <option value="bw">bigwig</option>
            <option value="bg">bedgraph</option>
        </param>
        -->
        <expand macro="region_limit_operation" />

        <conditional name="advancedOpt">
            <param name="showAdvancedOpt" type="select" label="Show advanced options" >
                <option value="no" selected="true">no</option>
                <option value="yes">yes</option>
            </param>
            <when value="no" />
            <when value="yes">
                <param name="binSize" type="integer" value="50" min="1" 
                    label="Bin size in bp"
                    help="Size of the bins in bp for the output of the bigwig/bedgraph file."/>
            </when>
        </conditional>
    </inputs>
    <outputs>
        <data format="bam" name="outFileName">
            <!--<change_format>
                <when input="outFileFormat" value="bw" format="bigwig" />
                <when input="outFileFormat" value="bam" format="bam" />
                <when input="outFileFormat" value="bg" format="bedgraph" />
            </change_format>-->
        </data>
    </outputs>
    <help>

**What it does**

This tool requires the output from computeGCBias to correct a given BAM file according to the method proposed by
Benjamini and Speed (2012) Nucleic Acids Res.
The resulting BAM file can be used in any downstream analyses, but be aware that you should not filter out duplicates from here on.

You can find more details on the correctGCBias wiki page: https://github.com/fidelram/deepTools/wiki/QC#wiki-correctGCbias


**Output files**:

- GC-normalized BAM file

-----

@REFERENCES@

    </help>
</tool>