最近有个需求,就是给定一个蛋白质的ID号,就知道它是什么基因。比如说O49397
。但有个问题是,我并不知道这是个什么东西,于是我就去搜了下。
发现这其实是Uniport网站的蛋白质ID。
然后发现网站还提供了ID转换的服务,但发现了几个问题
一个问题是我的蛋白质ID有很多且来自于R操作中的中间步骤,所以不想复制粘贴到那个框里面,其次是To那里实际上不提供转换成Araport的服务(植物没人权╮(╯_╰)╭)。所以不得不去寻找其他方法。
我想到Uniport应该是提供了ID mapping的文件下载的,就去搜索了下,果然找到了。
3702其实就是拟南芥的基因组ID。下载地址
这里可以选select也可以选没有完整的。我这里选了完整的。下完了之后就可以导入到R里面进行操作了。
# 因为我们只想转Araport对应的基因ID,所以只要选择Araport那里就行
uniport_map <- read.table("~/reference/annoation/Athaliana/uniport/ARATH_3702_idmapping.dat",
header = F,
fill = T,
stringsAsFactors = F)
uniport_map <- subset(uniport_map,V2 == "Araport")
# 出来的格式就是
> head(uniport_map)
V1 V2 V3
50 P48347 Araport AT1G22300
106 Q9S9Z8 Araport AT1G34760
149 Q9C5W6 Araport AT1G26480
205 P42643 Araport AT4G09000
256 Q01525 Araport AT1G78300
324 P42644 Araport AT5G38480
这样我们就可以根据蛋白ID批量提取拟南芥基因ID了。