R语言操作GTEx数据库中gct大文件

01072019 更新

所以说单位发了一个顶配的Mac Pro,然后随意Run了下,轻松读进去了。

rt<-read.table("GTEx_Analysis_2016-01-15_v7_RNASeQCv1.1.8_gene_tpm.gct", skip = 2, header = TRUE, sep = "\t")

=============

GTEx数据库不用多说,我下载下来了表达数据为gct格式文件但是特别大,怎么办。脚本语言perl和python都刚学还不会,所以就准备用R来操作。

我的目的非常简单,提取GTEx中肝组织的表达数据。因此我下载了gct的表达数据,和组织的生物学信息从中获取了liver组织的ID。下载网址为:https://gtexportal.org/home/datasets

要注意代码中,ID编号的连接符的一致性因为R会默认把列名中的连接符-变为.,所以要注意替换 或者要加上check.names=F。

我使用了两个文件:liver.csv这里是肝细胞的ID,从GTEx下载的数据提取出来的,GTEx_Analysis_2016-01-15_v7_RNASeQCv1.1.8_gene_tpm.gct这个是GTEx下载的表达数据。

我参考了这个教程:https://blog.csdn.net/u012432611/article/details/50224015

然后自己写了个循环构建了classes变量。

liverid<-read.csv("liver.csv",header=T)

liverid<-as.character(liverid[,1])

rt<-read.table("GTEx_Analysis_2016-01-15_v7_RNASeQCv1.1.8_gene_tpm.gct", skip = 2, header = TRUE, sep = "\t",nrow=5,check.names=F)

liverid<-intersect(colnames(rt),liverid)

c<-vector()

a<-colnames(rt)

for (i in 1:length(liverid)){

  b<-which(a==liverid[i])

  c<-c(c,b)

}

d<-c

classes <- sapply(rt, class)

classes[d] <- rep("NULL", length(classes)-length(d))

rtt<-read.table("GTEx_Analysis_2016-01-15_v7_RNASeQCv1.1.8_gene_tpm.gct", skip = 2, header = TRUE, sep = "\t",colClasses=classes, check.names=F)

write.csv(rtt,"liver_GTEx_expression.csv")

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • http://blog.sina.com.cn/s/blog_6bc5205e0102vma9.html inst...
    付德刚Q阅读 8,256评论 0 3
  • 2.软件以及流程以及代码: 本实验使用常规的Tophat2 比对 (1)样本制备、建库:总RNA ---> pol...
    我最有才阅读 25,099评论 0 27
  • 1.R画图 R是我们做生信进行图形展示较为常用的软件,我们在经常使用R进行数据展示,画一个或者几个图,但我们做生信...
    尧小飞阅读 12,171评论 0 12
  • 晨雾浮起,我想起荷塘中的你 孩童般在酣睡 也令我陶醉 曦熏风酝 空中满是你的气息 微苦 清丽 在夏午使我清醒 月上...
    彦泽阅读 1,238评论 0 0
  • 曾经以为,我是一个很成功的家长,但当青春期的女儿开始反抗,我也没觉得自己做错什么,全部归于孩子逆反,不听话...
    阳光_722f阅读 3,424评论 2 14

友情链接更多精彩内容