fastGEO v1.03,让手动构建GEO注释文件更快捷

获取更佳阅读体验:fastGEO v1.03,让手动构建GEO注释文件更快捷

前言

虽然fastGEO的注释功能能够应付大部分的芯片平台,但毕竟平台太多了,不可能把所有平台的注释文件全部整理好,需要见招拆招。

为了方便大家自己(也包括我)构建注释文件,v1.03版本更新了几个函数,可快速从下载的注释文件或者网页文件构建探针-基因注释表。

不熟悉我的这个包的,建议先仔细读一下之前的推文。

R包还是付费获取,直接加我微信转账20即可获取安装包和教程。找我下载都至少50一个数据集了,学会的话可以节省很多的时间和精力!

开发过程

其实这次解决了好几个问题:

  • 如何从下载的GPL注释文件构建探针-基因注释表?
  • 如果注释文件没有提供SYMBLE列,但提供了其他的ID,如ENTREZID和ENSEMBL,如何进行转换和自动识别这些列,并且应付列名的不同写法?
  • 如果GPL网页没有提供可下载的注释文件, 但可以在线查看(浏览器会崩溃),如何获取注释信息?

这些功能我之前其实已经实现了,但是没有进行包装,这次进行了包装,实现一行代码构建注释表

因此针对注释文件是否可下载,分为两个函数:

read_GPL_file

在GPL网页点击download即可下载原始注释文件,当然如果不会科学上网,仍然可能会下载失败,没有办法。

下载好后直接读取就行了。

library(fastGEO)

# 读取GPL文件
# 测试文件下载地址: https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GPL570
file = "GPL570.txt"
anno_tb = read_GPL_file(file)
    # Found annotation column: Gene Symbol 
hd(anno_tb[[1]])
# dim: 54675 × 2 
#          ID SYMBOL
# 1 1007_s_at   DDR1
# 2   1053_at   RFC2
# 3    117_at  HSPA6
# 4    121_at   PAX8
# 5 1255_g_at GUCA1A

read_GPL_url

不知道为何,有些平台没有提供注释文件的下载按钮,但是你能够在浏览器在线查看。

但是对于几万行的数据,大概率会造成浏览器崩溃。

不过好在,在线查看的链接是固定的,这样我们可以下载HTML网页再提取数据就行了。

所以你首先需要在线查看,把链接复制一下,然后马上关掉该网页防止崩溃。把链接提供给这个函数就行了。

# 读取url
url = "https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?view=data&acc=GPL19983&id=24337&db=GeoDb_blob125"
anno_tb = read_GPL_url(url)
    # File downloaded successfully!
    # Found annotation column: ENTREZ_GENE_ID 
hd(anno_tb[[1]])
# dim: 25582 × 2 
#         ID SYMBOL
# 1     1_at   A1BG
# 2    10_at   NAT2
# 3   100_at    ADA
# 4  1000_at   CDH2
# 5 10000_at   AKT3

合并注释文件

这里返回的对象也是列表,是为了方便与总注释对象进行合并。

将新的注释数据追加到总注释对象里, 重新运行download_GEO即可。

# 测试数据下载: https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GPL10379
url = "https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?view=data&acc=GPL10379&id=5393&db=GeoDb_blob45"
anno_tb = read_GPL_url(url)
anno_obj = c(anno_obj, anno_tb)

download_GEO("GSE110226")
# Step1: Download GEO data ...

# INFO [2025-05-31 04:30:14] Querying dataset: GSE110226 ...
#     Try time 1 ... succeed.
# - GPL: GPL10379 
# - Found 20 samples, 46 metas.
# - Writting sample_anno to 00_GEO_data/GSE110226_sample_anno.csv 
# INFO [2025-05-31 04:30:17] Normalize between arrays ...
# - Successed, file save to 00_GEO_data/GSE110226.RData.

# Step2: Annotate probe ...

# INFO [2025-05-31 04:30:19] Use built-in annotation file ...
# - All porbes matched!
# - Warnning: 13999/51627 probes fail to annotated!
# INFO [2025-05-31 04:30:19] Removing duplicated genes by method: max ...
# INFO [2025-05-31 04:30:23] Done.

如果下次还需运行, 则要保存文件并指定该注释文件。

save(anno_obj, file = "anno_obj_DIY.RData")
download_GEO("GSE110226", anno_file = "anno_obj_DIY.RData")

或者将保存的注释文件发送给我, 我进行版本更新, 就不用指定注释文件了。

推荐这种方式, 这样大家都可以使用你创建的注释文件了!


最后,想要做好数据挖掘和生信分析的学生,建议一定要学好R语言,而且要从最基础的知识点去学习,而不是直接购买分析实战教程。

只是一味地运行别人的代码是学不到知识的,掌握编程基础和解决问题的核心思路才是最重要的。

因此,我开发了一套【零基础进阶R语言】的课程,一共六节课,包含我多年的分析实战经验,已经带领很多学生入门R语言。

无论你是零基础还是刚接触R语言一两年,相信你在每一节课都有很多收获。

下面是课程学习路线,需要的可直接公众号里加我微信。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值