基于Symbol和ENTREZ ID查询基因注释的R包(easyConvert )

R语言 R语言 414 人阅读 | 0 人回复 | 2024-07-06

使用easyConvert R包可获取基因的注释,包括基因的别名称别名、基因类型、Ensembl ID、Entrez ID及多个数据库的基因简介(summary)。

R包安装

# remotes包安装
install.packages("remotes")

# easyConvert包安装
remotes::install_github("dming1024/easyConvert")
# remotes::install_github("dming1024/easyConvert", force=TRUE)

查询示例

输入三个变量分别对应:查询gene id或symbol、查询输入类型和输出结果目录。

1. 根据NCBI gene ENTREZID查询基因注释

# 可通过"1,10,100,1000"输入,一次查询多个基因,逗号分割即可
Rscript geneQuery.R "1,10,100,1000" "ENTREZID" "/gene_annoation"

2. 根据gene symbol查询基因注释

# 多个gene symbol使用逗号分割
Rscript geneQuery.R "TP53,HBA" "SYMBOL" "/gene_annoation"

基因注释查询R实现

args <- commandArgs(T)
InputQueryInfo <- args[1]
InputQueryType <- args[2]
WorkDirectory <- args[3]

# 查询物种,人
querySpecies <- "HUMAN"

# 存在多个输入查询信息时,使用","号进行分割, 转换为向量
if (grepl(",", InputQueryInfo)){
    InputQueryVector <- as.vector(strsplit(InputQueryInfo, ",")[[1]])
}else{
    InputQueryVector <- as.vector(InputQueryInfo)
}

if (!InputQueryType %in% c("ENTREZID", "SYMBOL")){
    print("The InputQueryType must be ENTREZID or SYMBOL!")
    q()
}

# 手动导入库路径
# .libPaths("/public/software/package/R-4.2.0/library")
library(easyConvert)
setwd(WorkDirectory)

if (InputQueryType == "ENTREZID"){
    queryEntrezid <- easyConvert(species = querySpecies, queryList = InputQueryVector, queryType = InputQueryType)

    # 写入结果至queryEntrezID.txt
    write.table(queryEntrezid, "queryEntrezID.txt", sep="\t")
}else{
    querySymbol <- easyConvert(species = querySpecies, queryList = InputQueryVector, queryType = InputQueryType)

    # 写入结果至querySymbol.txt
    write.table(querySymbol, "querySymbol.txt", sep="\t")
}

查询结果

根据NCBI gene ENTREZID查询基因注释结果

queryEntrezID.txt文件内容

根据gene symbol查询基因注释

querySymbol.txt文件内容

微信扫一扫分享文章

+10
无需登陆也可“点赞”支持作者
分享到:
评论

使用道具 举报

热门推荐