diff deseq2.xml @ 0:a903407e3ca0 draft default tip

planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/deseq2 commit f95b47ed1a09ce14d3b565e8ea56d8bf12c35814-dirty
author mvdbeek
date Sat, 05 Mar 2016 07:05:06 -0500
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/deseq2.xml	Sat Mar 05 07:05:06 2016 -0500
@@ -0,0 +1,56 @@
+<tool id="DESeq2" name="DESeq2 Profiling" version="1.0.2" hidden="true">
+	<description>of readcount lists</description>
+        <requirements>
+          <requirement type="package" version="3.1.2">R</requirement>
+          <requirement type="package" version="2.14">biocbasics</requirement>
+        </requirements>
+	<command>Rscript $DESeq2 </command>
+	<inputs>
+		<param name="input" type="data" format="tabular" label="miR hit lists, more thant 2 samples"/>
+                <param name="expPlan" type="text" label="experimental plan" help="Use a string of Cs and Ts. exemple: CCCTTT means 3 control samples versus 3 test samples"/>
+	</inputs>
+  	<outputs>
+		<data name="output" format="tabular" label="DESeq2 differential calling" />
+	</outputs>
+        <tests>
+            <test>
+                <param name="input" value="counts.tab" ftype="tabular"/>
+                <param name="expPlan" value="CCTTT"/>
+                <output name="output" file="dge.tab.re_match.modified" ftype="tabular" compare="re_match" lines_diff="50"/>
+            </test>
+        </tests>
+<configfiles>
+    <configfile name="DESeq2">
+      ## Setup R error handling to go to stderr
+      options( show.error.messages=F,  error = function () { cat( geterrmessage(), file=stderr() ); q( "no", 1, F ) } )
+      suppressMessages(require(DESeq2))
+      ## suppressMessages(require(ReportingTools))
+      countData = read.delim("${input}", header=TRUE, check.names=FALSE)
+      rownames( countData )= countData[,1]
+      countData= countData[ , -1 ]
+      stringconds = "${expPlan}"
+      conds = unlist(strsplit(stringconds, split=""))
+      colData=data.frame(row.names=colnames(countData), condition=conds)
+      dds =  DESeqDataSetFromMatrix(countData = countData, colData = colData, design = ~ condition)
+      colData(dds)\$condition = factor(colData(dds)\$condition, levels=c("C","T"))
+      dds = DESeq(dds, quiet=TRUE)
+      res = results(dds)
+      res = res[order(res\$padj),]
+      baseMeanA =  rowMeans(counts(dds, normalized=TRUE)[rownames(res),colData(dds)\$condition== "C"])
+      baseMeanB =  rowMeans(counts(dds, normalized=TRUE)[rownames(res),colData(dds)\$condition== "T"])
+      res2 = data.frame (gene=rownames(res), baseMeanA=baseMeanA, baseMeanB=baseMeanB, res)
+      ## resNA = res[-which(is.na(res[,8])),] ## omit the NA lignes
+      write.table ( res2, file = "${output}", row.names=FALSE, col.names=TRUE, quote= FALSE, dec = ".", sep = "\t", eol = "\n")
+      ## write.csv(as.data.frame(res), file="${output}")
+    </configfile>
+  </configfiles>
+  <help>
+
+**What it does**
+
+DESeq2 differential calling (order by padj, ascending).
+Still in development and testing for replicates/no replicates
+
+
+  </help>
+</tool>