I deleted the 't' subfolders from the dados folder. If you don't have 't' folders, wouldn't it be better to use: directory<- "/home/arunksa111/dados" FacGroup<-c(0,1,0,2,2,0,0) #instead of #FacGroup<-c(0,1,0,2,2,0,3) FacGroup<-c(0,1,0,2,2,0,3) ?lista[FacGroup!=0] #[1] "/home/arunksa111/dados/a2/MSMS_23PepInfo.txt" #[2] "/home/arunksa111/dados/c2/MSMS_23PepInfo.txt" #[3] "/home/arunksa111/dados/c3/MSMS_23PepInfo.txt" #[4] NA???????? FacGroup<-c(0,1,0,2,2,0,0) ?lista[FacGroup!=0] #[1] "/home/arunksa111/dados/a2/MSMS_23PepInfo.txt" #[2] "/home/arunksa111/dados/c2/MSMS_23PepInfo.txt" #[3] "/home/arunksa111/dados/c3/MSMS_23PepInfo.txt" Couldn't reproduce the error you mentioned. Spec(ListFacGroup,0.05) #?????????????????????????????? Seq???????????????? Mod z a2 c2 c3 #1???????????????? aAAAAAAAAAGAAGGR????????? 1-n_acPro/ 2? 1? 1? 0 #2????????????????????? AAAAAAAkAAK???????????? 8-K_ac/ 2? 1? 1? 0 #3?????????????????? aAAAAAGAGPEMVR????????? 1-n_acPro/ 2? 2? 2? 1 #4??????? aAAAAEQQQFYLLLGNLLSPDNVVR????????? 1-n_acPro/ 2? 1? 1? 0 #5??????? aAAAAEQQQFYLLLGNLLSPDNVVR????????? 1-n_acPro/ 3? 2? 2? 2 #6????????????????????? AAAAAPGTAEK???????????????????? 2? 1? 1? 0 #7????????????????? aAAAAVGNAVPCGAR????????? 1-n_acPro/ 2? 1? 1? 1 _______________________________________________________ ----------------------------------------------------------------------------------------- A.K.
From: Vera Costa <veracosta.rt at gmail.com>
To: arun <smartpink111 at yahoo.com>
Sent: Tuesday, March 19, 2013 10:14 AM
Subject: Re: new question
To: arun <smartpink111 at yahoo.com>
Sent: Tuesday, March 19, 2013 10:14 AM
Subject: Re: new question
Hi again.
you sent me a code ( e few time ago)
GetFileList <- function(directory,number){
?setwd(directory)
?filelist1<-dir()[file.info(dir())$isdir]
??? direct<-dir(directory,pattern = paste("MSMS_",number,"PepInfo.txt",sep=""), full.names = FALSE, recursive = TRUE)
?direct<-lapply(direct,function(x) paste(directory,"/",x,sep=""))
??? lista<-unlist(direct)
?output<- list(filelist1,lista)
?return(output)
??? }
ReadDir<-function(FacGroup){
?list.new<-lista[FacGroup!=0]
?read.list<-lapply(list.new, function(x) read.table(x,header=TRUE, sep = "\t"))
?names(read.list)<-file.list.names[FacGroup!=0]
?return (read.list)
}
directory<-"C:/Users/Vera Costa/Desktop/dados.lixo"
?file.list.names<-GetFileList(directory,23) [[1]]
?lista<-GetFileList(directory,23) [[2]]
FacGroup<-c(0,1,0,2,2,0,3)
#FacGroup<-c(0,1,1,1,0,2,2,2)
ListFacGroup<-ReadDir(FacGroup)
#zPValues(ListFacGroup,FacGroup)
?Spec <- function(lista,FDR_k) {
?list.new<-lapply(lista,function(x) within(x,{spec<- as.character(spec)}))
?split.list<-split(list.new,names(lista))
?#Data needed with FDR<FDR_k
?seq.mod.z<-lapply(seq_along(split.list),function(i) lapply(split.list[[i]],function(x) x[x[["FDR"]]<FDR_k,c("Seq","Mod","z","spec")]))
?names(seq.mod.z)<- names(split.list)?
?#insert colunm with the name of the folder
?folder.name<-lapply(seq.mod.z,function(x) lapply(names(x),function(i) do.call(rbind,lapply(x[i],function(x) cbind(folder_name=i,x)))))
?#merge data with the same Seq, Mod and z
?library(plyr)
?library(data.table)
?merge.data<- lapply(folder.name,function(x) lapply(x,function(x1) {x1<-data.table(x1); x1[,spec:=paste(spec,collapse=","),by=c("Seq","Mod","z")]}))
?#colunm with number of spec
?count.spec<-lapply(merge.data,function(x) lapply(x,function(x1) {x1$counts<-sapply(x1$spec, function(x2) length(gsub("\\s", "", unlist(strsplit(x2, ",")))));x3<-as.data.frame(x1);names(x3)[6]<- as.character(unique(x3$folder_name));x3[,-c(1,5)]}))
?#count spec by group (2-columns)
?spec.group<-lapply(count.spec,function(x) Reduce(function(...) merge(...,by=c("Seq","Mod","z"),all=TRUE),x))
??#spec.group1<-spec.group[lapply(spec.group,length)!=0]
?#data frame with count of spec
?res<- Reduce(function(...) merge(...,by=c("Seq","Mod","z"),all=TRUE),spec.group)
?res[is.na(res)] <- 0
?print(res)
?resNew<-do.call(cbind,lapply(split(names(res)[4:ncol(res)],gsub("[0-9]","",names(res)[4:ncol(res)])), function(i) {x<-if(ncol(res[i])>1) rowSums(res[i]) else res[i]; colnames(x)<-NULL;x}))
?print(head(resNew),10)
?print("vera")
?print(names(resNew))
?indx<-combn(names(resNew),2)
??t.test.p.value <- function(...) {
??obj<-try(t.test(...), silent=TRUE)
??if (is(obj, "try-error")) return(NA) else return(obj$p.value)
??}
?resPval<-do.call(cbind,lapply(seq_len(ncol(indx)),function(i) {x<-as.data.frame(apply(resNew[,indx[,i]],1,t.test.p.value)); colnames(x)<-paste("Pvalue",paste(indx[,i],collapse=""),sep="_");x}))
?print(resPval)
?resF<-cbind(res,resPval)
?print(resF)
Spec(ListFacGroup,0.05)
And it is ok for the file list that you have. But if I apply to one file list with only a and c (for example) I have an error "Error in combn(names(resNew), 2) : n < m" How can I adapt this for all cases?
2013/3/18 arun <smartpink111 at yahoo.com>
I hope this solved the problem...
>
>
>
>
>----- Original Message -----
>From: arun <smartpink111 at yahoo.com>
>To: Vera Costa <veracosta.rt at gmail.com>
>Cc: R help <r-help at r-project.org>
>
>Sent: Monday, March 18, 2013 2:27 PM
>Subject: Re: new question
>
>
>
>
>?z.boxplot<- function(lst){
>?new.list<-? lapply(lst,function(x) x[x$FDR<0.01,])
>print(new.list)
>? par(mfrow=c(2,2))
>b1<-lapply(names(new.list),function(x) lapply(new.list[x],function(y) boxplot(FDR~z,data=y,xlab="Charge",ylab="FDR",main=x)))
>
>}
>?z.boxplot(ListFacGroup) #prints new.list
>
>If you want to turn off that:
>?z.boxplot<- function(lst){
>?new.list<-? lapply(lst,function(x) x[x$FDR<0.01,])
>#print(new.list)
>? par(mfrow=c(2,2))
>b1<-lapply(names(new.list),function(x) lapply(new.list[x],function(y) boxplot(FDR~z,data=y,xlab="Charge",ylab="FDR",main=x)))
>
>}
>?z.boxplot(ListFacGroup)
>A.K.
>
>
>
>
>
>________________________________
>From: Vera Costa <veracosta.rt at gmail.com>
>To: arun <smartpink111 at yahoo.com>
>Sent: Monday, March 18, 2013 1:59 PM
>Subject: Re: new question
>
>
>For example, if I run you code without "pdf...." and "dev.off" I have what I want
>
>directory<- "C:/Users/Vera Costa/Desktop/dados.lixo"
>?#modified the function
>GetFileList <- function(directory,number){
>? setwd(directory)
>? filelist1<-dir()
>
>??? lista<-dir(directory,pattern = paste("MSMS_",number,"PepInfo.txt",sep=""), full.names = TRUE, recursive = TRUE)
>????? output<- list(filelist1,lista)
>? return(output)
>???? }
>file.list.names<-GetFileList(directory,23)[[1]]
>lista<-GetFileList(directory,23)[[2]]
>FacGroup<-c(0,1,0,2,2,0,3)
>ReadDir<-function(FacGroup){
>? list.new<-lista[FacGroup!=0]
>? read.list<-lapply(list.new, function(x) read.table(x,header=TRUE, sep = "\t"))
>? names(read.list)<-file.list.names[FacGroup!=0]
>? return (read.list)
>?}
>ListFacGroup<-ReadDir(FacGroup)
>ListFacGroup
>?z.boxplot<- function(lst){
>?new.list<-? lapply(lst,function(x) x[x$FDR<0.01,])
>?print(new.list)
>?#pdf("VeraBP.pdf")
>?par(mfrow=c(2,2))
>?lapply(names(new.list),function(x) lapply(new.list[x],function(y) boxplot(FDR~z,data=y,xlab="Charge",ylab="FDR",main=x)))
>?#dev.off()
>?}
>?z.boxplot(ListFacGroup)
>
>
>
>
>
>But I have the results too (I don't need it)
>
>
>[[1]]
>[[1]]$a2
>[[1]]$a2$stats
>???????????? [,1]???????? [,2]
>[1,] 0.0000000000 0.0000000000
>[2,] 0.0000000000 0.0000000000
>[3,] 0.0001355197 0.0002175095
>[4,] 0.0010588777 0.0004350190
>[5,] 0.0016571381 0.0004350190
>[[1]]$a2$n
>[1] 8 2
>[[1]]$a2$conf
>????????????? [,1]????????? [,2]
>[1,] -0.0004559846 -0.0002685062
>[2,]? 0.0007270240? 0.0007035253
>[[1]]$a2$out
>[1] 0.00494012
>[[1]]$a2$group
>[1] 1
>[[1]]$a2$names
>[1] "2" "3"
>
>[[2]]
>[[2]]$c2
>[[2]]$c2$stats
>???????????? [,1]???????? [,2]
>[1,] 0.0000000000 0.0000000000
>[2,] 0.0000000000 0.0000000000
>[3,] 0.0001355197 0.0002175095
>[4,] 0.0010588777 0.0004350190
>[5,] 0.0016571381 0.0004350190
>[[2]]$c2$n
>[1] 8 2
>[[2]]$c2$conf
>????????????? [,1]????????? [,2]
>[1,] -0.0004559846 -0.0002685062
>[2,]? 0.0007270240? 0.0007035253
>[[2]]$c2$out
>[1] 0.00494012
>[[2]]$c2$group
>[1] 1
>[[2]]$c2$names
>[1] "2" "3"
>
>[[3]]
>[[3]]$c3
>[[3]]$c3$stats
>??????????? [,1]???????? [,2]
>[1,] 0.000000000 0.0000000000
>[2,] 0.000000000 0.0000000000
>[3,] 0.000000000 0.0000000000
>[4,] 0.002226409 0.0002086594
>[5,] 0.002226409 0.0004173187
>[[3]]$c3$n
>[1] 6 4
>[[3]]$c3$conf
>???????????? [,1]????????? [,2]
>[1,] -0.001436105 -0.0001648409
>[2,]? 0.001436105? 0.0001648409
>[[3]]$c3$out
>[1] 0.00560348
>[[3]]$c3$group
>[1] 1
>[[3]]$c3$names
>[1] "2" "3"
>
>[[4]]
>[[4]]$t2
>[[4]]$t2$stats
>???? [,1]???????? [,2] [,3]
>[1,]??? 0 0.0000000000??? 0
>[2,]??? 0 0.0000000000??? 0
>[3,]??? 0 0.0002908668??? 0
>[4,]??? 0 0.0025929827??? 0
>[5,]??? 0 0.0052577771??? 0
>[[4]]$t2$n
>[1]? 1 10? 5
>[[4]]$t2$conf
>???? [,1]???????? [,2] [,3]
>[1,]??? 0 -0.001004691??? 0
>[2,]??? 0? 0.001586424??? 0
>[[4]]$t2$out
>[1] 0.0092051934 0.0007174888
>[[4]]$t2$group
>[1] 2 3
>[[4]]$t2$names
>[1] "1" "2" "3"
>
>???????????? ???