下面的这种ID就是uniprot id:
[1] "P14672" "P14678" "P14679" "P14735" "P14770" "P14778" "P14780" "P14784" "P14854" "P14859" "P14866"
UniProt ID 是指在 UniProt 数据库中为每个蛋白质赋予的唯一标识符。UniProt(Universal Protein Resource)是一个提供全面、高质量蛋白质序列和功能信息的数据库,广泛应用于生物信息学研究。 UniProt ID 的功能和重要性
如何使用 UniProt ID
UniProt ID 是生物信息学研究中不可或缺的工具,它为研究人员提供了高效、准确的蛋白质信息检索和分析手段。
我们知道一般做功能富集分析用的都是基因的 symbol 或者 ENTREZID,所以我这里会先将 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),]
# Gene Names 列有基因别名,但是多个中的第一个往往是 官方symbol
rownames(uniprot2gene) <- uniprot2gene$Entry
uniprot2gene["P14678",]
# P14678 P14678 SNRPB COD SNRPB1 SNRPB
uniprot2gene$Symbol <- str_split(uniprot2gene$`Gene Names`, pattern = " ", n = 2, simplify = T)[,1]
uniprot2gene["P14678",]
id2name <- uniprot2gene[,c(1,3)]
head(id2name)
id2name["P14678",]