-
Notifications
You must be signed in to change notification settings - Fork 0
/
Combined_count_fpkm.R
55 lines (53 loc) · 1.9 KB
/
Combined_count_fpkm.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
rm(list=ls())
library(dplyr)
setwd('C:/Users/xiaohui/Desktop/R_study/')
myexpress<-Sys.glob(paths = 'C:\\Users\\*geneExpression.xls',dirmark = FALSE)
myexpress<-myexpress[order(myexpress)]
#head(myexpress)
#order(c(3,2,5,8),decreasing = T,method=c('auto'))
#rank(c(3,2,5,8)) #returning index of element,
#?order
i<-1
myallfpkm<-list()
myallcount<-list()
count_table<-read.delim(myexpress[i],sep = '\t',header = T,
check.names = F,
quote = '',
comment.char = '')[,c(1,2)]
while(i<=length(myexpress)){
cat(paste0(myexpress[i],'\n'))
cat(paste0(sub('[.]geneExpression[.]xls','',basename(myexpress[i])),'\n'))
mydata<-read.delim(myexpress[i],sep = '\t',header = T,
check.names = F,
quote = '',
comment.char = '')[,c(1,5)]
colnames(mydata)<-sub('_FPKM','',colnames(mydata))
myallfpkm[[i]]<-mydata
mydata_count<-read.delim(myexpress[i],sep = '\t',header = T,
check.names = F,
quote = '',
comment.char = '')[,c(1,6)]
colnames(mydata_count)<-sub('_Count','',colnames(mydata_count))
myallcount[[i]]<-mydata_count
i=i+1
}
?merge
j<-2
fpkm_table<-myallfpkm[[1]]
while(j<=length(myallfpkm)){
fpkm_table<-merge(fpkm_table,myallfpkm[[j]],by.x='#GeneID',by.y='#GeneID')
j=j+1
}
for(k in 1:length(myallcount)){
count_table<-merge(count_table,myallcount[[k]],by.x='#GeneID',all = TRUE)
}
names(count_table)
count_table<-count_table %>% select('#GeneID',c(3:(length(myexpress)+2)),Length)
write.table(fpkm_table,file='Combined_FPKM.xls',sep='\t',
row.names = F,
col.names = T,
quote=FALSE)
write.table(count_table,file='Combined_count.xls',sep='\t',
row.names = F,
col.names = T,
quote=FALSE)