Mercurial > repos > ning > ebseq
comparison EBIsoformTwoCondTest.R @ 7:c85f281dc059 draft
Uploaded
author | ning |
---|---|
date | Fri, 15 Mar 2013 18:21:30 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
6:cd0637465b05 | 7:c85f281dc059 |
---|---|
1 sink(file="/tmp/none") | |
2 sink("/dev/null") | |
3 options(warn=-1) | |
4 options(echo=F) | |
5 | |
6 invisible("EBSeq") | |
7 suppressMessages(library("EBSeq")) | |
8 | |
9 args <- commandArgs(trailingOnly = T) | |
10 inputfile <- args[1] | |
11 WhetherSampleName <- args[2] | |
12 CondIn <- args[3] | |
13 Ig.file <-args[4] | |
14 FDR <- args[5] | |
15 outputfile <- args[6] | |
16 Sort.out<-args[7] | |
17 Sort.out.FDR <-args[8] | |
18 Sizesout <-args[9] | |
19 | |
20 | |
21 Conditions=strsplit(CondIn,split=",")[[1]] | |
22 if(WhetherSampleName=="y"){ | |
23 ReadIn=read.table(inputfile,stringsAsFactors=F,header=T,sep="\t") | |
24 Names=names(ReadIn)[-1] | |
25 } | |
26 if(WhetherSampleName=="n"){ | |
27 ReadIn=read.table(inputfile,stringsAsFactors=F,header=F, sep="\t") | |
28 Names=paste0("S",1:length(Conditions)) | |
29 } | |
30 | |
31 if(class(ReadIn[[1]])=="character"){ | |
32 GeneMat=do.call(cbind,ReadIn[-1]) | |
33 rownames(GeneMat)=ReadIn[[1]] | |
34 colnames(GeneMat)=Names | |
35 } | |
36 if(class(ReadIn[[1]])=="numeric"){ | |
37 GeneMat=data.matrix(ReadIn) | |
38 colnames(GeneMat)=Names | |
39 } | |
40 | |
41 IgVIn=read.csv(Ig.file,stringsAsFactors=F,header=F) | |
42 IgV=IgVIn[[1]] | |
43 Conditions=strsplit(CondIn,split=",")[[1]] | |
44 | |
45 Sizes=MedianNorm(GeneMat) | |
46 EBOut=EBTest(Data=GeneMat,NgVector=IgV,Conditions=as.factor(Conditions),sizeFactors=Sizes, maxround=5) | |
47 PP=GetPP(EBOut) | |
48 PP.sort=sort(PP,decreasing=T) | |
49 PP.sort.FDR=PP.sort[which(PP.sort>=1-as.numeric(FDR))] | |
50 | |
51 Data.norm=GetNormalizedMat(GeneMat, Sizes) | |
52 FC=PostFC(EBOut) | |
53 realFC=FC[[2]] | |
54 postFC=FC[[1]] | |
55 | |
56 Mat=cbind(PP, realFC[names(PP)], postFC[names(PP)],Data.norm[names(PP),]) | |
57 Mat.sort=cbind(PP.sort, realFC[names(PP.sort)], postFC[names(PP.sort)],Data.norm[names(PP.sort),]) | |
58 | |
59 | |
60 if(length(PP.sort.FDR)>1)Mat.sort.FDR=cbind(PP.sort.FDR, realFC[names(PP.sort.FDR)], postFC[names(PP.sort.FDR)],Data.norm[names(PP.sort.FDR),]) | |
61 | |
62 if(length(PP.sort.FDR)==1)Mat.sort.FDR=matrix( | |
63 c(PP.sort.FDR, realFC[names(PP.sort.FDR)], postFC[names(PP.sort.FDR)],Data.norm[names(PP.sort.FDR),]) | |
64 ,nrow=1) | |
65 | |
66 colnames(Mat)=colnames(Mat.sort)= | |
67 c("PPDE","RealFC","PosteriorFC",colnames(Data.norm)) | |
68 if(length(PP.sort.FDR)>0)colnames(Mat.sort.FDR)= | |
69 c("PPDE","RealFC","PosteriorFC",colnames(Data.norm)) | |
70 | |
71 write.table(round(Mat,2),file=outputfile,quote=F,col.names=T,row.names=T,sep = "\t") | |
72 write.table(round(Mat.sort,2),file=Sort.out ,quote=F,col.names=T,row.names=T,sep = "\t") | |
73 if(length(PP.sort.FDR)>0)write.table(round(Mat.sort.FDR,2),file=Sort.out.FDR,quote=F,col.names=T,row.names=T,sep = "\t") | |
74 write.table(Sizes,file=Sizesout,quote=F,col.names=F,row.names=F,sep = "\t") | |
75 |