view edgeR.xml @ 1:aab4a565c0e8 draft

Uploaded
author amawla
date Tue, 04 Aug 2015 15:25:43 -0400
parents 91ca33096034
children
line wrap: on
line source

<tool id="edgeR" name="edgeR" version="0.0.3">
  <description> - Estimates differential gene expression for short read sequence count using methods appropriate for count data</description>
  <requirements>
        <requirement type="R-module">edgeR</requirement>
        <requirement type="R-module">limma</requirement>
  </requirements>
  <command interpreter="perl">
  	edgeR.pl -a $analysis_type.analysis -e $html_file.files_path -f BH -h $html_file -o $output

  	<!--Pairwise comparisons 1 Factor Analysis-->
  	#if $analysis_type.analysis == "pw":
   		-r $analysis_type.rowsumfilter
		#if $analysis_type.tagwise_disp.twd == "TRUE":
      			-u movingave
      			-t 
     		#end if
 	<!--GLM Generalized Linear Models (Multiple Factors)-->
  	#else if $analysis_type.analysis == "glm":
		#if $analysis_type.exp.export_norm == "true":
			-n $norm_exp
		#end if
 		-d tag
		$analysis_type.cont_pw
		#for $cnt in $analysis_type.contrasts:
			"cnt::${cnt.add_cont}"
		#end for

	<!--LIMMA Linearized Models (Multiple Factors)-->
	#else
		#if $analysis_type.exp.export_norm == "true":
			-n $norm_exp $analysis_type.exp.log
		#end if
		$analysis_type.cont_pw
		#for $cnt in $analysis_type.contrasts:
			"cnt::${cnt.add_cont}"
		#end for
	#end if
	$matrix
				
  </command>

  <inputs>
  	<param name="matrix" type="data" format="tabular" label="Digital Expression Matrix"/>
  	<conditional name="analysis_type">
		<param name="analysis" type="select" label="Type Of Analysis">
			<option value="pw">Pairwise comparisons (1 Factor Analysis)</option>
			<option value="glm" selected="true">Generalized Linear Models (Multiple Factor Analysis using GLM)</option>
			<option value="limma">Linear Models for RNA-Seq (Multiple Factor Analysis using LIMMA)</option>
		</param>
		<when value="pw">
			<param name="rowsumfilter" type="integer" value="5" label="Common Dispersion Rowsum Filter" help="Numeric scalar giving a value for the filtering out of low abundance tags in the estimation of the common dispersion. Only tags with total sum of counts above this value are used in the estimation of the common dispersion. Low abundance tags can adversely affect the estimation of the common dispersion, so this argument allows the user to select an appropriate filter threshold for the tag abundance."/>
 		<conditional name="tagwise_disp">
    				<param name="twd" type="select" label="Maximize the Negative Binomial Weighted Conditional Likelihood" help="Calculate and use an estimate of the dispersion parameter for each tag">
    					<option value="TRUE" selected="true">True</option>
    					<option value="FALSE">False</option>
   				</param>
    			</conditional>         
		</when>
		<when value="glm">
			<param name="cont_pw" type="boolean" truevalue="-m" falsevalue="" checked="True" label="Perform all pairwise comparisons" help="Include all pairwise comparisons in the contrast matrix."/>
			<repeat name="contrasts" title="Contrast">
				<param name="add_cont" title="Contrast" type="text" label="Enter the contrast of interest, e.g. (G1+G2)/2-G3 (no spaces or commas)"/>
			</repeat>
			<conditional name="exp">	
				<param name="export_norm" type="select" label="Save Normalised DGE Matrix">
					<option value="true">Yes</option>
					<option value="false">No</option>
				</param>
			</conditional>
		</when>
		<when value="limma">
			<param name="cont_pw" type="boolean" truevalue="-m" falsevalue="" checked="True" label="Perform all pairwise comparisons" help="Include all pairwise comparisons in the contrast matrix."/>
			<repeat name="contrasts" title="Contrast">
				<param name="add_cont" title="Contrast" type="text" label="Enter the contrast of interest, e.g. (G1+G2)/2-G3 (no spaces or commas)"/>
			</repeat>
			<conditional name="exp">	
				<param name="export_norm" type="select" label="Save Normalised DGE Matrix">
					<option value="true">Yes</option>
					<option value="false">No</option>
				</param>
				<when value="true">
					<param name="log" type="boolean" truevalue="-l" falsevalue="" checked="True" label="Export Normalised DGE Matrix in Log2" help="Selecting this will log base 2 transform the Normalised Digital Gene Expression Matrix."/>
				</when>
			</conditional>
		</when>
	</conditional>
  </inputs>
  
  <outputs>
    	<data format="tabular" name="output" label="EdgeR analysis on ${matrix.name}"/>
    	<data name="html_file" format="html" label="EdgeR analysis plots for ${matrix.name}"/>
    	<data name="norm_exp" format="tabular" label="EdgeR Norm Expr Matrix for ${matrix.name}">
    		<filter>analysis_type[ "analysis" ] != "pw" and analysis_type[ "exp" ][ "export_norm" ] == "true"</filter>
    	</data>
  </outputs>
  	
	<help>

.. class:: infomark
    
**What it does**

Estimates differential gene expression for short read sequence count using methods appropriate for count data.
If you have paired data you may also want to consider Tophat/Cufflinks. 
Input must be raw count data for each sequence arranged in a rectangular matrix as a tabular file.
Note - no scaling - please make sure you have untransformed raw counts of reads for each sequence.
 
Performs digital differential gene expression analysis between groups (eg a treatment and control).
Biological replicates provide information about experimental variability required for reliable inference.

**What it does not do**
edgeR_ requires biological replicates. 
Without replicates you can't account for known important experimental sources of variability that the approach implemented here requires.


**Input**
A count matrix containing sequence names as rows and sample specific counts of reads from this sequence as columns.
The matrix must have 2 header rows, the first indicating the group assignment and the second uniquely identifiying the samples. It must also contain a unique set of (eg Feature) names in the first column. 

Example::

	#	G1:Mut	G1:Mut	G1:Mut	G2:WT	G2:WT	G2:WT
	#Feature	Spl1	Spl2	Spl3	Spl4	Spl5	Spl6
	NM_001001130	97	43	61	34	73	26
	NM_001001144	25	8	9	3	5	5
	NM_001001152	72	45	29	20	31	13
	NM_001001160	0	1	1	1	0	0
	NM_001001177	0	1	0	4	3	3
	NM_001001178	0	2	1	0	4	0
	NM_001001179	0	0	0	0	0	2
	NM_001001180	0	0	0	0	0	2
	NM_001001181	415	319	462	185	391	155
	NM_001001182	1293	945	987	297	938	496
	NM_001001183	5	4	11	7	11	2
	NM_001001184	135	198	178	110	205	64
	NM_001001185	186	1	0	1	1	0
	NM_001001186	75	90	91	34	63	54
	NM_001001187	267	236	170	165	202	51
	NM_001001295	5	2	6	1	7	0
	NM_001001309	1	0	0	1	2	1
	...
	

Please use the "Count reads in features with htseq-count" tool to generate the count matrix.

**Output**

A tabular file containing relative expression levels, statistical estimates of differential expression probability, R scripts, log, and some helpful diagnostic plots.

**Fixed Parameters**
 
Method for allowing the prior distribution for the dispersion to be abundance-dependent used: movingave

False discovery rate adjustment method used: Benjamini and Hochberg (1995)

GLM dispersion estimate used: Tagwise Dispersion

Gene filter used: less than 1 count per million reads
 
.. class:: infomark

**Attribution**
This tool wraps the edgeR_ Bioconductor package so all calculations and plots are controlled by that code. See edgeR_ for all documentation and appropriate attribution. 
Recommended reference is Mark D. Robinson, Davis J. McCarthy, Gordon K. Smyth, PMCID: PMC2796818

.. class:: infomark

**Attribution**
When applying the LIMMA (Linear models for RNA-Seq) anlysis the tool also makes use of the limma_ Bioconductor package.
Recommended reference is Smyth, G. K. (2005). Limma: linear models for microarray data. In: 'Bioinformatics and Computational Biology Solutions using R and Bioconductor'. R. Gentleman, V. Carey, S. Dudoit, R. Irizarry, W. Huber (eds), Springer, New York, pages 397--420.

 .. _edgeR: http://www.bioconductor.org/packages/release/bioc/html/edgeR.html
 .. _limma: http://www.bioconductor.org/packages/release/bioc/html/limma.html


	</help>
  
</tool>