Данные PTM от биосервисов uniprot
Я хочу получить данные посттрансляционных изменений (PTM) из uniprot через биосервисы, я использую следующие сценарии:
>>>from bioservices import uniprot
>>>u = uniprot.UniProt()
>>>ptm = u.search("P38903",frmt ="xls", include =True, columns="features")
исход
u'Features\nChain (1); Compositional bias (5); Modified residue (2); Sequence conflict (3)\n'
То, что я хочу иметь, - это детали "Измененного остатка (2)", то есть, что это за модификации и каковы позиции, (необязательно) ссылки.
1 ответ
Короткий ответ: вы не можете сделать это с биосервисами. Он не поддерживает значение столбца feature(MODIFIED RESIDUE)
где информация скрывается.
Но вы можете получить информацию, используя Uniprot API. Следующий фрагмент Python3 дает вам необходимую информацию:
import urllib.request
with urllib.request.urlopen('http://www.uniprot.org/uniprot/?query=P38903&format=tab&columns=feature(MODIFIED%20RESIDUE)') as response:
mod_res = response.read().decode()
residues = mod_res.split('\n')[1].split(';')
for residue in residues:
print(residue.strip())
Выход:
MOD_RES 242 242 Фосфотреонин. {ECO: 0000244 | PubMed: 17330950}.
MOD_RES 257 257 Фосфотреонин. {ECO:0000244|PubMed:18407956}.
Если вы хотите получить столбец функции (MODIFIED RESIDUE), укажите его имя следующим образом:
from bioservices import UniProt
u = UniProt()
ptm = u.search("P38903",frmt ="xls", include =True, columns="feature(MODIFIED RESIDUE)")
Только что протестировал с версией 1.7.5
отказ от ответственности: я основной автор биосервисов