下面的这种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 的功能和重要性
唯一性:UniProt ID 是每个蛋白质条目的唯一标识,用于区分不同的蛋白质。 信息整合:通过 UniProt ID,可以快速访问蛋白质的详细信息,包括功能描述、亚细胞定位、序列特征、与其他蛋白质的相互作用、文献引用等。 跨数据库链接:UniProt ID 还可以用于与其他数据库(如 NCBI、PDB、KEGG 等)的链接,方便获取更全面的生物学信息。 序列比对和分析:UniProt 提供的工具(如 BLAST 和 Align)允许通过 UniProt ID 进行序列比对和进化分析。 蛋白质组学研究: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进行功能富集分析就不在话下了!
友情宣传: