如何使用 uniprot ID 进行 KEGG 和 GO 富集?

学术   2025-01-25 21:26   湖北  

下面的这种ID就是uniprot id:

[1] "P14672" "P14678" "P14679" "P14735" "P14770" "P14778" "P14780" "P14784" "P14854" "P14859" "P14866"

首先,让人工智能大模型kimi给我们介绍一下:什么是 uniprot ID?

UniProt ID 是指在 UniProt 数据库中为每个蛋白质赋予的唯一标识符。UniProt(Universal Protein Resource)是一个提供全面、高质量蛋白质序列和功能信息的数据库,广泛应用于生物信息学研究。

UniProt ID 的功能和重要性

  1. 唯一性:UniProt ID 是每个蛋白质条目的唯一标识,用于区分不同的蛋白质。
  2. 信息整合:通过 UniProt ID,可以快速访问蛋白质的详细信息,包括功能描述、亚细胞定位、序列特征、与其他蛋白质的相互作用、文献引用等。
  3. 跨数据库链接:UniProt ID 还可以用于与其他数据库(如 NCBI、PDB、KEGG 等)的链接,方便获取更全面的生物学信息。
  4. 序列比对和分析:UniProt 提供的工具(如 BLAST 和 Align)允许通过 UniProt ID 进行序列比对和进化分析。
  5. 蛋白质组学研究:UniProt ID 是蛋白质组学研究中常用的标识符,尤其在 KEGG 和 GO 富集分析以及代谢组学研究中具有重要意义。

如何使用 UniProt ID

  • 检索蛋白质信息:在 UniProt 官网(https://www.uniprot.org)的搜索框中输入 UniProt ID,可以快速获取该蛋白质的详细信息。
  • 批量查询:UniProt 提供批量查询功能,可以同时查询多个 UniProt ID 的信息。
  • 下载序列:用户可以下载蛋白质的序列信息(如 FASTA 格式),用于进一步的分析。

UniProt ID 是生物信息学研究中不可或缺的工具,它为研究人员提供了高效、准确的蛋白质信息检索和分析手段。

如何使用 uniprot_ID 进行 KEGG 和 GO 富集?

我们知道一般做功能富集分析用的都是基因的 symbol 或者 ENTREZID,所以我这里会先将 uniprot_ID 转换为基因symbol 再做。

1、uniprot_ID 转换 基因 symbol

来到 uniprot 蛋白数据库官网:https://www.uniprot.org/,以human为例,输入human:

选择这些框框的地方:

然后点击上面的Download按钮:

就会得到一个蛋白名字与基因名字对应的tsv表格,读取并简单处理:

rm(list=ls())
library(clusterProfiler)
library(Matrix)
library(data.table)
library(dplyr)
library(tidyverse)

uniprot2gene <- fread("uniprotkb_human_AND_model_organism_9606_2025_01_24.tsv.gz",header = T,data.table = F)
head(uniprot2gene)
colnames(uniprot2gene)
table(uniprot2gene$Organism)

uniprot2gene <- uniprot2gene[,c("Entry""Gene Names")]
uniprot2gene <- unique(uniprot2gene)
uniprot2gene[3000:3010,]
uniprot2gene[grep("^O",uniprot2gene$Entry),]

2、Gene Names 列有基因别名

# Gene Names 列有基因别名,但是多个中的第一个往往是 官方symbol
rownames(uniprot2gene) <- uniprot2gene$Entry
uniprot2gene["P14678",]
# P14678 P14678 SNRPB COD SNRPB1  SNRPB

如:P14678

3、第一个为官方symbol,空格后面的都是别名

4、处理一下:

uniprot2gene$Symbol <- str_split(uniprot2gene$`Gene Names`, pattern = " ", n = 2, simplify = T)[,1]
uniprot2gene["P14678",]
id2name <- uniprot2gene[,c(1,3)]
head(id2name)
id2name["P14678",]

现在有了这个对应关系,那是用uniprot id进行功能富集分析就不在话下了!

友情宣传:

生信入门&数据挖掘线上直播课2025年1月班

时隔5年,我们的生信技能树VIP学徒继续招生啦

满足你生信分析计算需求的低价解决方案

生信技能树
生物信息学学习资料分析,常见数据格式及公共数据库资料分享。常见分析软件及流程,基因检测及癌症相关动态。
 最新文章