uniprot官网为我们提供了一个很好的平台,可以通过uniprot ID检索对应的protein序列,也可以通过ensembl ID检索到uniprot ID ,具体操作如下
ensembl ID可以通过uniprot官网转换为uniprot ID
注意下图中的Entry这个字段
图片中的序列,即为对应蛋白质完整序列
可以通过uniprot网站的接口直接获取对应蛋白质,但是需要获取对应的uniprot ID,图一中,Entry就是uniprot ID
图一中的Entry字段
点击即可访问到对应的蛋白质序列
每次只需修改entry字段对应的uniprot ID 即可
现在我们的关键在于 怎么实现批量,自动的方法将文件中的ensembl ID转换为uniprot ID 这才是重点
python 为我们提供了一个开源的第三方库
具体用方法如下,直接上代码
import mygene
# 获取mygene对象
mg = mygene.MyGeneInfo()
# 测试的ensembl ID列表
xli = [
"ENSG00000214562",
"ENSG00000145113",
]
# scopes原始ID类型,fields转换后ID类型
# species为对应蛋白质的种类,若存在多个种类时候,可以用逗号隔开
# species="human,mouse"
out = mg.querymany(xli, scopes="ensembl.gene", fields="uniprot", species="human")
for item in out:
print(item)