一连试了几天用集群的R构建EVIDENCE,结果并不能让我满意,基本上一天只能跑一个,再运行第二个的时候就会报错。尝试到现在就只剩下马铃薯的还未成功了,暂时先把问题撂在这,我要去做ppt,下周二轮到我汇报。
R运行的脚本如下:
library(org.Hs.eg.db)
swiss_id <- read.delim('/vol3/agis/zhoushaoqun_group/wangyantao/GO/swiss_go.stu1',header = F)
colnames(swiss_id) <- c('gene_id','GO')
ev_id <- select(org.Hs.eg.db,keys = as.vector(swiss_id$GO),columns = c('EVIDENCE'),keytype = "GO")
library(dplyr)
swiss_goev <- left_join(swiss_id,ev_id[,1:2])
write.csv(swiss_goev,'/vol3/agis/zhoushaoqun_group/wangyantao/GO/swiss_goev_stu.csv',row.names = F,quote = F)
运行结果:
图 1 报错截图今天生信大神过来视察工作,我逮住机会问了一下,大神要求看一下我的原始文件大小,我仔细看了一下,这马铃薯的swiss_go.stu1确实要比之前几个物种的文件都要大上不少,于是乎,打开一个,整整将近30万行,而其他的顶多也就15万行。看来找到报错的原因了,文件太大,集群都搞不定。
又于是乎,一拍脑袋,我把这个拆成两个来搞不就好了嘛!说干就干:
文件1:前半部分(150000行)
library(org.Hs.eg.db)
swiss_id <- read.delim('/vol3/agis/zhoushaoqun_group/wangyantao/GO/swiss_go.stu1',header = F)
colnames(swiss_id) <- c('gene_id','GO')
ev_id <- select(org.Hs.eg.db,keys = as.vector(swiss_id$GO),columns = c('EVIDENCE'),keytype = "GO")
library(dplyr)
swiss_goev <- left_join(swiss_id,ev_id[,1:2])
write.csv(swiss_goev,'/vol3/agis/zhoushaoqun_group/wangyantao/GO/swiss_goev_stu1.csv',row.names = F,quote = F)
后半部分(149999行)
library(org.Hs.eg.db)
swiss_id <- read.delim('/vol3/agis/zhoushaoqun_group/wangyantao/GO/swiss_go.stu2',header = F)
colnames(swiss_id) <- c('gene_id','GO')
ev_id <- select(org.Hs.eg.db,keys = as.vector(swiss_id$GO),columns = c('EVIDENCE'),keytype = "GO")
library(dplyr)
swiss_goev <- left_join(swiss_id,ev_id[,1:2])
write.csv(swiss_goev,'/vol3/agis/zhoushaoqun_group/wangyantao/GO/swiss_goev_stu2.csv',row.names = F,quote = F)
果然如我所料,两个文件顺利拿到,平均39个GB。下面就是要把得到的文件进行合并:
合并文件(提交任务)
merge_stu.sh
cat /vol3/agis/zhoushaoqun_group/wangyantao/GO/swiss_goev_stu1.csv /vol3/agis/zhoushaoqun_group/wangyantao/GO/swiss_goev_stu2.csv > /vol3/agis/zhoushaoqun_group/wangyantao/GO/swiss_goev_stu.csv
qsub -l mem=10G,nodes=1:ppn=4 /vol3/agis/zhoushaoqun_group/wangyantao/GO/merge_stu.sh
得到的文件竟然达到了77个GB:
要命的GO富集还不知道这货后面能不能读取,不行的话可能还得接着拆。。。。
网友评论