извлечение данных сигнального пути из набора данных Uniprot gff - PullRequest
0 голосов
/ 12 февраля 2020

Я проанализировал мой gff-файл, похожий на этот

O75581  UniProtKB   Mutagenesis 1399    1399    .   .   .   Note=Some reduction of palmitoylation%2C and little change in plasma membrane location in the presence of MESD nor in Wnt-signaling activity. Completely abolishes palmitoylation%2C no plasma membrane location%2C greatly reduced Wnt-signaling activity but no effect on ubiquitination%3B when associated with A-1394. Exhibits full Wnt-signaling activity and no change in plasma membrane location in the in presence of MESD%3B when associated with A-1394 and R-1403. C->A;Ontology_term=ECO:0000269;evidence=ECO:0000269|PubMed:18378904;Dbxref=PMID:18378904```

, в кадр данных с поиском по термину "signaling|pathway", используя простой grep !egrep -w 'signaling|pathway' 997_from\ uniprot.gff > signaling_pathway_uniprot.csv.

. Теперь я пытаюсь извлечь имена сигнального пути из набора столбцов строк. Как бы я это сделал? Идея состоит в том, чтобы сохранить слово до "signaling pathway" вместе с белковым кодом, например, O75581 Wnt signaling pathway

Код, который я использую:

import re
import pandas as pd


found = []
match = re.compile('^(\S+).*?(\w*)'" "'(signaling pathway)')
with open("997_from uniprot.gff", "r") as f:
    searchlines = f.readlines()
j=len(searchlines)-1 #with open('997_from uniprot.gff', "r") as raw:
for i, line in enumerate(searchlines):  #  for rec in raw:
    found.extend(match.findall(line))
print(pd.DataFrame(found).shape)
pd.DataFrame(found)

Это дает то, что мне нужно, но снижает результаты только от 997 до 32 Любой совет, как получить сигнальный путь для всех 997 белков?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...