Данные 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

отказ от ответственности: я основной автор биосервисов

Другие вопросы по тегам