R package org.Hs.eg.db to convert gene id

文章目录

  • install
  • 使用org.Hs.egENSEMBL将Ensembl id convert to gene id
  • org.Hs.egGENENAME 将Ensembl id convert to gene name
  • org.Hs.egSYMBOL 将 gene symbol convert to gene id
  • 我现在有一些ensembl id 如何转为 gene name
  • 注意
  • 你会遇到一些record不全的情况,gtf文件存在而org.Hs.eg.db不存在

install

# install 
# if (!require("BiocManager", quietly = TRUE))
#     install.packages("BiocManager")# BiocManager::install("AnnotationDbi")
# BiocManager::install("org.Hs.eg.db")# or install # wget https://www.bioconductor.org/packages/release/bioc/src/contrib/AnnotationDbi_1.62.2.tar.gz
# install.packages("/public/home/djs/software/AnnotationDbi_1.62.2.tar.gz", repos = NULL, type="source")
# wget https://www.bioconductor.org/packages/release/data/annotation/src/contrib/org.Hs.eg.db_3.17.0.tar.gz
# install.packages("/public/home/djs/software/org.Hs.eg.db_3.17.0.tar.gz", repos = NULL, type="source")
library(org.Hs.eg.db)help(package="org.Hs.eg.db")
Index:org.Hs.eg.db            Bioconductor annotation data package
org.Hs.egACCNUM         Map Entrez Gene identifiers to GenBank Accession Numbers
org.Hs.egALIAS2EG       Map between Common Gene Symbol Identifiers and Entrez Gene
org.Hs.egCHR            Map Entrez Gene IDs to Chromosomes
org.Hs.egCHRLENGTHS     A named vector for the length of each of the chromosomes
org.Hs.egCHRLOC         Entrez Gene IDs to Chromosomal Location
org.Hs.egENSEMBL        Map Ensembl gene accession numbers with Entrez Gene identifiers
org.Hs.egENSEMBLPROT    Map Ensembl protein acession numbers with Entrez Gene identifiers
org.Hs.egENSEMBLTRANS   Map Ensembl transcript acession numbers with Entrez Gene identifiers
org.Hs.egENZYME         Map between Entrez Gene IDs and Enzyme Commission (EC) Numbers
org.Hs.egGENENAME       Map between Entrez Gene IDs and Genes
org.Hs.egGENETYPE       Map between Entrez Gene Identifiers and Gene Type
org.Hs.egGO             Maps between Entrez Gene IDs and Gene Ontology (GO) IDs
org.Hs.egMAP            Map between Entrez Gene Identifiers and cytogenetic maps/bands
org.Hs.egMAPCOUNTS      Number of mapped keys for the maps in package org.Hs.eg.db
org.Hs.egOMIM           Map between Entrez Gene Identifiers and Mendelian Inheritance in Man (MIM) identifiers
org.Hs.egORGANISM       The Organism for org.Hs.eg
org.Hs.egPATH           Mappings between Entrez Gene identifiers and KEGG pathway identifiers
org.Hs.egPFAM           Maps between Manufacturer Identifiers and PFAM  Identifiers
org.Hs.egPMID           Map between Entrez Gene Identifiers and PubMed  Identifiers
org.Hs.egPROSITE        Maps between Manufacturer Identifiers and  PROSITE Identifiers
org.Hs.egREFSEQ         Map between Entrez Gene Identifiers and RefSeq  Identifiers
org.Hs.egSYMBOL         Map between Entrez Gene Identifiers and Gene  Symbols
org.Hs.egUNIPROT        Map Uniprot accession numbers with Entrez Gene  identifiers
org.Hs.eg_dbconn        Collect information about the package  annotation DB

使用org.Hs.egENSEMBL将Ensembl id convert to gene id

x <- org.Hs.egENSEMBL
# Get the entrez gene IDs that are mapped to an Ensembl ID
mapped_genes <- mappedkeys(x)
# Convert to a list
xx <- as.list(x[mapped_genes])xx[1:5]  # entrez gene id 是list的索引名字,list的元素则是 ensembl id

在这里插入图片描述

org.Hs.egGENENAME 将Ensembl id convert to gene name

x <- org.Hs.egGENENAME
# Get the gene names that are mapped to an entrez gene identifier
mapped_genes <- mappedkeys(x)
# Convert to a list
xx <- as.list(x[mapped_genes])

在这里插入图片描述

org.Hs.egSYMBOL 将 gene symbol convert to gene id

x <- org.Hs.egSYMBOL
# Get the gene symbol that are mapped to an entrez gene identifiers
mapped_genes <- mappedkeys(x)
# Convert to a list
xx <- as.list(x[mapped_genes])# For the reverse map:
x <- org.Hs.egSYMBOL2EG
# Get the entrez gene identifiers that are mapped to a gene symbol
mapped_genes <- mappedkeys(x)
# Convert to a list
xx <- as.list(x[mapped_genes])

在这里插入图片描述

我现在有一些ensembl id 如何转为 gene name

# 将 ensembl id 单独拿出来
k <- keys(org.Hs.eg.db,keytype = "ENSEMBL")
# 然后根据 ensembl id 调出来entrez gene id 和 gene symbol
list <- select(org.Hs.eg.db,keys=k,columns = c("ENTREZID","SYMBOL"), keytype="ENSEMBL")# 或者使用你自己的 ensembl id 作为keys
list <- select(org.Hs.eg.db,keys=ID,columns = c("ENTREZID","SYMBOL"), keytype="ENSEMBL")head(list,5)

在这里插入图片描述

# 此处的 ensembl ID就是你个性化的id,我这里直接抽样得到然后用于演示
ID <- sample(list$ENSEMBL,10) 
ID_list <- list[match(ID,list[,"ENSEMBL"]),]
ID_list

在这里插入图片描述

注意

这些ID对应关系随着不同数据库的升级和维护有可能出现前后不对应的情况。
同时这些ID 也不是一一对应的关系,可能存在一对多或者多对一的关系。
在这里插入图片描述

你会遇到一些record不全的情况,gtf文件存在而org.Hs.eg.db不存在

gtf存在 61544个基因
在这里插入图片描述

x <- org.Hs.egENSEMBLsum(is.na(unlist(as.list(x))))
[1] 105167
sum(!is.na(unlist(as.list(x))))
[1] 45727
# org.Hs.egENSEMBL 只有45727 个record

自己找个gtf文件然后提取信息再做转化吧

cat gencode.v40.annotation.gtf |awk 'BEGIN{FS=="\t"} $3~/gene/{print $0}' |cut -f 9 | cut -d ";" -f1,3 |cut -d " " -f2,4 |sed 's/\..*;//g' |sed 's/"//g' > ENSEMBL_TO_GENE.txt

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/47056.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Pytorch-day10-模型部署推理-checkpoint

模型部署&推理 模型部署模型推理 我们会将PyTorch训练好的模型转换为ONNX 格式&#xff0c;然后使用ONNX Runtime运行它进行推理 1、ONNX ONNX( Open Neural Network Exchange) 是 Facebook (现Meta) 和微软在2017年共同发布的&#xff0c;用于标准描述计算图的一种格式…

商业智能BI是什么都不明白,如何实现数字化?

2021年下半年中国商业智能软件市场规模为4.8亿美元&#xff0c;2021年度市场规模达到7.8亿美元&#xff0c;同比增长34.9%&#xff0c;呈现飞速增长的趋势。数字化时代&#xff0c;商业智能BI对于企业的落地应用有着巨大价值&#xff0c;逐渐成为了现代企业信息化、数字化转型中…

【Leetcode Sheet】Weekly Practice 3

Leetcode Test 833 字符串中的查找与替换(8.15) 你会得到一个字符串 s (索引从 0 开始)&#xff0c;你必须对它执行 k 个替换操作。替换操作以三个长度均为 k 的并行数组给出&#xff1a;indices, sources, targets。 要完成第 i 个替换操作: 检查 子字符串 sources[i] 是否…

怎么借助ChatGPT处理数据结构的问题

目录 使用ChatGPT进行数据格式化转换 代码示例 ChatGPT格式化数据提示语 代码示例 批量格式化数据提示语 代码示例 ChatGPT生成的格式化批处理代码 使用ChatGPT合并不同数据源的数据 合并数据提示语 自动合并数据提示语 ChatGPT生成的自动合并代码 结论 数据合并是…

在Windows下安装PIP+Phantomjs+Selenium

最近准备深入学习Python相关的爬虫知识了&#xff0c;如果说在使用Python爬取相对正规的网页使用"urllib2 BeautifulSoup 正则表达式"就能搞定的话&#xff1b;那么动态生成的信息页面&#xff0c;如Ajax、JavaScript等就需要通过"Phantomjs CasperJS Selen…

【从零开始的rust web开发之路 二】axum中间件和共享状态使用

系列文章目录 第一章 axum学习使用 第二章 axum中间件使用 文章目录 系列文章目录前言一、中间件是什么二、中间件使用常用中间件使用中间件使用TraceLayer中间件实现请求日志打印自定义中间件 共享状态 前言 上篇文件讲了路由和参数相应相关的。axum还有个关键的地方是中间件…

clickhouse-备份恢复

一、简介 备份恢复是数据库常用的手段&#xff0c;可能大多数公司很少会对大数据所使用的数据进行备份&#xff0c;这里还是了解下比较好&#xff0c;下面做了一些简单的介绍&#xff0c;详细情况可以通过官网来查看&#xff0c;经过测试发现Disk中增量备份并不好用&#xff0…

电工-学习电工有哪些好处

学习电工有哪些好处&#xff1f;在哪学习电工&#xff1f; 学习电工有哪些好处&#xff1f;在哪学习电工&#xff1f;学习电工可以做什么&#xff1f;优势有哪些&#xff1f; 学习电工可以做什么&#xff1f;学习电工有哪些好处&#xff1f; 就业去向&#xff1a;可在企业单位…

“深入探索JVM内部机制:理解Java虚拟机的运行原理“

标题&#xff1a;深入探索JVM内部机制&#xff1a;理解Java虚拟机的运行原理 摘要&#xff1a;本篇博客将深入探索Java虚拟机&#xff08;JVM&#xff09;的内部机制&#xff0c;帮助读者理解JVM的运行原理。我们将介绍JVM的组成结构&#xff0c;包括类加载器、运行时数据区域…

基于微信小程序的垃圾分类系统设计与实现(2.0 版本,附前后端代码)

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 1 简介 视频演示地址&#xff1a; 基于微信小程序的智能垃圾分类回收系统&#xff0c;可作为毕业设计 小…

PyCharm PyQt5 开发环境搭建

环境 python&#xff1a;3.6.x PyCharm&#xff1a;PyCharm 2019.3.5 (Community Edition) 安装PyQT5 pip install PyQt5 -i https://pypi.douban.com/simplepip install PyQt5-tools -i https://pypi.douban.com/simple配置PyCharm PyQtUIC Program &#xff1a;D:\Pytho…

Android kotlin 跳转手机热点开关页面和判断热点是否打开

Android kotlin 跳转手机热点开关页面和判断热点是否打开 判断热点是否打开跳转手机热点开关页面顺带介绍一些其他常用的设置页面跳转 其他热点的一些相关知识Local-only hotspot 参考 判断热点是否打开 网上方法比较多&#xff0c;我这边使用了通过WifiManager 拿反射的getWi…

从C语言到C++_33(C++11_上)initializer_list+右值引用+完美转发+移动构造/赋值

目录 1. 列表初始化initializer_list 2. 前面提到的一些知识点 2.1 小语法 2.2 STL中的一些变化 3. 右值和右值引用 3.1 右值和右值引用概念 3.2 右值引用类型的左值属性 3.3 左值引用与右值引用比较 3.4 右值引用的使用场景 3.4.1 左值引用的功能和短板 3.4.2 移动…

使用ApplicationRunner简化Spring Boot应用程序的初始化和启动

ApplicationRunner这个接口&#xff0c;我们一起来了解这个组件&#xff0c;并简单使用它吧。&#x1f92d; 引言 在开发Spring Boot应用程序时&#xff0c;应用程序的初始化和启动是一个重要的环节。ApplicationRunner是Spring Boot提供的一个有用的接口&#xff0c;可以帮助…

【Spring Boot】SpringBoot和数据库交互: 使用Spring Data JPA

文章目录 1. 数据库和Java应用程序1.1 为什么需要数据库交互1.2 传统的数据库交互方法 2. 什么是JPA2.1 JPA的定义2.2 JPA的优势 3. Spring Data JPA介绍3.1 Spring Data JPA的特性3.2 如何简化数据库操作 4. 在SpringBoot中集成Spring Data JPA4.1 添加依赖4.2 配置数据源 5. …

【javaweb】学习日记Day3 - Ajax 前后端分离开发 入门

目录 一、Ajax 1、简介 2、Axios &#xff08;没懂 暂留&#xff09; &#xff08;1&#xff09;请求方式别名 &#xff08;2&#xff09;发送get请求 &#xff08;3&#xff09;发送post请求 &#xff08;4&#xff09;案例 二、前端工程化 1、Vue项目-目录结构 2、…

第10步---MySQL的日志操作

第10步---MySQL的日志操作 错误日志 慢日志 1.查看错误日志 -- 查看日志信息 show VARIABLES like log_error%;2.查看binlog 高版本是默认开启的&#xff0c;低的是默认是不开启的 binlog日志文件是与事务相关 -- 查看binlog日志的格式 show variables like binlog_format;-- …

vue-router在vue2/3区别

构建选项区别 vue2-router const router-new VueRouter({mode:history,base:_name,})vue-next-router import { createRouter,createWebHistory} from vue-next-router const routercreateRouter({history:createHistory(/) })在上述代码中我们发现,vue2中的构建选项mode和ba…

【Python机器学习】实验15 将Lenet5应用于Cifar10数据集(PyTorch实现)

文章目录 CIFAR10数据集介绍1. 数据的下载2.修改模型与前面的参数设置保持一致3. 新建模型4. 从数据集中分批量读取数据5. 定义损失函数6. 定义优化器7. 开始训练8.测试模型 9. 手写体图片的可视化10. 多幅图片的可视化 思考题11. 读取测试集的图片预测值&#xff08;神经网络的…

k8s集群证书过期后,如何更新k8s证书

对于版本 1.21.5&#xff0c;这是我的解决方案&#xff1a; 步骤1&#xff1a; ssh 到主节点&#xff0c;然后在步骤 2 中检查证书。 步骤2&#xff1a; 运行这个命令&#xff1a;kubeadm certs check-expiration rootkube-master-1:~# kubeadm certs check-expiration [c…