BiomaRt 包进行基因ID转换

BiomaRt 包进行基因ID转换BiomaRt 包进行基因 ID 转换

 R中两个常用的基因ID转换包:BiomaRt和clusterProlifer

1. clusterProlifer

总体来说clusterProlifer用起来是比较方便的,通过现成的org.*.eg.db文件,能够满足常规的gene id转换,例如ensembl id,entrez id, gene symbol,但是需要注意的是:使用org.*.eg.db时需要考虑这个文件是基于哪个参考基因组版本构建的。例如羊的org.Ovis_aries.eg.sqlite是用Ovis Aries 3.1参考基因组构建的,但我数据分析时用的是Ovis Aries 4作为参考基因组,那么就不能用org.Ovis_aries.eg.sqlite。

library(clusterProfiler) library(AnnotationHub) ah=AnnotationHub() query(ah,"org.Ovis_aries.eg.sqlite") org.Oar.eg.db=ah[['AH96240']] symbol_map <- bitr(na$Symbol, OrgDb=org.Oar.eg.db, fromType='SYMBOL', toType='ENTREZID')

2. BiomaRt

BiomaRt用起来更加灵活,可以不同版本参考基因组ID转换,不同类型基因ID转换,甚至同基因跨物种同源基因转换,相应的,BiomaRt包信息量也就更大。下面是用BiomaRt进行基因ID转换的基因流程,附加详细的注释信息,自己操作一下基本上就能完全理解。

BiocManager::install("biomaRt") library(biomaRt) listMarts() ?useMart 1. Connects to the selected BioMart database and dataset # 查看可用数据库 listMarts() # 建立数据库链接,ensembl mart<-useMart("ensembl") 2. lists the available BioMart databases # 寻找目标数据库,对应的物种及参考基因组版本 dataset_list=as.data.frame(listDatasets(mart)) 3. 选择绵羊数据库,重新建立数据库链接 # oarambouillet_gene_ensembl mart_oas=useMart("ensembl", "oarambouillet_gene_ensembl") 4. 查看可用的输入数据类型 # 共333种 filter_list=as.data.frame(listFilters(mart_oas)) tail(filter_list) 5. 查看可用的输出数据类型 # 共3074种 attri_list=as.data.frame(listAttributes(mart_oas)) 6. Retrieves information from the BioMart database # ID 转换,不局限于ID转换,还可检索其他信息 list_gene=getBM(attributes = c("ensembl_gene_id","entrezgene_id","external_gene_name","description","chromosome_name"), filters = "ensembl_gene_id", values = geneid, mart = mart_oas) # 需要注意的是,ensembl id转换时存在三种情况 # 1. 一个ensembl_gene_id转换为多个entrezgene_id, # 2. 一个ensembl_gene_id转换为多个gene symbol # 3. 同时还有许多基因ID无法成功转换,标记为NA a=list_gene[!duplicated(list_gene$ensembl_gene_id),]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/209717.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午8:35
下一篇 2026年3月19日 上午8:35


相关推荐

  • lookdiv激活码_在线激活

    (lookdiv激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~1435QFILVV-eyJsaWNlb…

    2022年3月30日
    147
  • CSDN提现规则说明(更新:支持实时提现)

    提现范围1、博客(付费专栏、VIP可见文章)、学院讲师、必问、活动业务线等的收益进行合并提现;提现标准1、必须进行实名认证才可以进行提现;

    2022年4月12日
    62
  • Oracle to_date()函数的用法介绍

    Oracle to_date()函数的用法介绍to_date()是Oracle数据库函数的代表函数之一,下文对Oracleto_date()函数的几种用法作了详细的介绍说明,需要的朋友可以参考下在Oracle数据库中,Oracleto_dat

    2022年7月2日
    29
  • MySQL配置文件[通俗易懂]

    MySQL配置文件[通俗易懂]在Windows系统中,MySQL的配置文件为my.ini,在Linux系统中,配置文件为my.cnf,一般存放路径为/etc/my.cnf或/etc/mysql/my.cnf。参考链接:https://segmentfault.com/a/1190000021408999?utm_source=tag-newestMySQL的默认设置性能非常差,仅仅起一个功能测试的作用,不能用在生产环境中,需要对一些参数进行调整优化。每次更改文件后,需要重启MySQL服务,使修改生效。在该配置文件中,可.

    2022年6月2日
    37
  • java正则表达式解析「建议收藏」

    java正则表达式解析「建议收藏」“正则表达式”到用时方恨少!学习正则表达式,我觉得还是要循循渐进,由易到难,一点点深入……(本人也在学习中这里提供个人理解思路,以及一些大神们的独到讲解。。。。。。)一、知道java正则表达式是干什么的?百度百科定义:其实这已经说得很明确了,正则表达式其实就是一个字符串,这个字符串是按照一定的规则进行组合得来的,而这个规则当然是创始者定义,用这些规则我们能做什么呢?看红…

    2022年7月19日
    21
  • C语言移位运算符

    C语言移位运算符位移位运算符是将数据看成二进制数 对其进行向左或向右移动若干位的运算 位移位运算符分为左移和右移两种 均为双目运算符 第一运算对象是移位对象 第二个运算对象是所移的二进制位数 位移位运算符的运算对象 运算规则与结果 结合性如表 2 16 所示 移位时 移出的位数全部丢弃 移出的空位补入的数与左移还是右移花接木有关 如果是左移 则规定补入的数全部是 0 如果是右移 还与被移位的数据是否

    2026年3月20日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号