GPL页面表格奇奇怪怪的更新
优采云 发布时间: 2022-06-21 07:30GPL页面表格奇奇怪怪的更新
今天是生信星球陪你的第863天
大神一句话,菜鸟跑半年。我不是大神,但我可以缩短你走弯路的半年~
就像歌儿唱的那样,如果你不知道该往哪儿走,就留在这学点生信好不好~
这里有豆豆和花花的学习历程,从新手到进阶,生信路上有你有我!
0.因数据库和R包更新导致的问题
从GPL页面上下载注释表格,是获取探针注释的方法之一,通常是找不到注释包的第二选择。
更新之前的下载方式是(2022年之前我们的直播课堂上是这样讲的,2022年以及之后的课上已经更新好了):
library(GEOquery)<br />a = getGEO("GPL570",destdir = ".")<br />b = a@dataTable@table<br />ids2 = b[,c("ID","Gene Symbol")]<br />
更新之前:运行getGEO这句代码,函数会自动读取“GPL570.soft”文件,得到一个GPL对象。
更新之后: GPL570.soft文件从原来的75M变成了现在的几十G,而且所有的平台soft都被压缩成了gz格式。压缩一下倒是不影响下载,但导致了工作目录下确实有GPL570.soft文件的情况下,函数也不识别,而是从网页上去下载GPL570.soft.gz,几十G,实在是duck不必。
1.小的文件,方法不变
当然,GPL570表格文件是本来就大(表格的大小在网页上有写),对于比较小的表格文件可以继续使用原来的方法:
library(GEOquery)<br />a2 = getGEO("GPL7759",destdir = ".")<br />class(a2)<br /><br />## [1] "GPL"<br />## attr(,"package")<br />## [1] "GEOquery"<br />
2.针对大文件的新方法
针对这种比较大的注释文件,需要更改一下策略:
从GPL570的网页上拉到最后,有一个文件:
从网页上把它下载下来,放在工作目录,本地读取。
b = read.table("GPL570-55999.txt",header = T,<br /> quote = "\"",sep = "\t",check.names = F)<br />ids2 = b[,c("ID","Gene Symbol")]<br />colnames(ids2) = c("probe_id","symbol")<br />head(ids2)<br /><br />## probe_id symbol<br />## 1 1007_s_at DDR1 /// MIR4640<br />## 2 1053_at RFC2<br />## 3 117_at HSPA6<br />## 4 121_at PAX8<br />## 5 1255_g_at GUCA1A<br />## 6 1294_at MIR5193 /// UBA7<br />
3.备用方法
只要不是特别大的文件,可以先试试getgeo下载,如果网络不好导致失败,就从网页下载soft格式的文件。
点开上面箭头所指的地方,就能网页下载soft文件了,文件大小还可以接受,不至于有几个G的。
b2 = getGEO(filename = "GPL7759_family.soft.gz",destdir = ".")<br />class(b2)<br /><br />## [1] "GPL"<br />## attr(,"package")<br />## [1] "GEOquery"<br />
如果因为代码看不懂,而跟不上正文的节奏,可以来找我,系统学习。以下课程都是循环开课。下一期的时间,点进去咨询微信咯