Практикум 8. UniProt Proteomes
1. Поиск протеома, соответствующего геномной сборке
Номер сборки генома GCF_000011065
Ссылка на страницу сборки
Идентификаторы последней версии сборки в INSDC: GCA_000011065.1 и RefSeq: GCF_000011065.1
Запрос в UniProt Proteomes:
(genome_assembly:GCA_000011065.1)
Идентификатор протеома UP000001414
Статус протеома: reference
3. Оценка числа белков, содержащих альфа-спирали и трансмембранные домены
В процессе выполнения задания я сначала попробовала решать задачу через конвеер,
однако столкнулась спроблемой выбора интервала для grep, в связи с чем могла подсчитывать
несколько записей в окрестностях одной, содержащей FT HELIX / FT TRANSMEM.
Потому
я перешла к выполнению задачи через питон,скрипт приведен ниже и в файле ex3ht.py
.
import gzip
cnt_hh = 0
hh = False
cnt_tm = 0
tm = False
with gzip.open("UP000001414.swiss.gz", "rt") as f:
for line in f:
p = line.split()
if p[0] == "FT":
if p[1] == "HELIX":
hh = True
elif p[1] == "TRANSMEM":
tm = True
elif line.strip() == "//":
if hh and tm:
cnt_hh +=1
cnt_tm+= 1
elif hh:
cnt_hh += 1
elif tm:
cnt_tm += 1
hh = False
tm = False
print(cnt_hh)
print(cnt_tm)
В результате мы получили следующие данные: количество найденных записей с
HELIX — 23, в то время как с TRANSMEM аж 905.
Такие различия можно попробовать объяснить тем, что ключ HELIX присваивается лишь хорошо аннитированным белкам с PE 1: Evidence at protein level, т.е.
с эксперементално полученной структурой(см.Secondary structure (HELIX, STRAND, TURN)).
В то время как ключ TRANSMEM может быть присвоен в том числе на основе гомологии с другими известными белками данного семейства
и чаще всвего имеет PE 3: Inferred from homology, что можно проверить с использованием питон pe_check.py:
import gzip
pe3 = False
pe1 = False
h_1 = False
h_3 = False
tm_1 = False
tm_3 = False
cnt_h1 = 0
cnt_h3 = 0
cnt_tm1 = 0
cnt_tm3 = 0
with gzip.open("UP000001414.swiss.gz", "rt") as f:
for line in f:
p = line.split()
if p[0] == "PE":
if "3:" in p:
pe3 = True
elif "1:" in p:
pe1 = True
elif p[0] == 'FT':
if "HELIX" in p:
if pe1:
h_1 = True
elif pe3:
h_3 = True
if "TRANSMEM" in p:
if pe1:
tm_1 = True
elif pe3:
tm_3 = True
elif line.strip() == "//":
if h_1:
cnt_h1 +=1
if h_3:
cnt_h3+=1
if tm_1:
cnt_tm1+=1
if tm_3:
cnt_tm3+=1
pe3 = False
pe1 = False
h_1 = False
h_3 = False
tm_1 = False
tm_3 = False
print(cnt_h1)
print(cnt_h3)
print(cnt_tm1)
print(cnt_tm3)
В самом деле, для белков с HELIX встречается только PE 1l, в то время как для ключаTRANSMEM
из 905 записей PE 1 встречается только у 12, а вот например PE 3 — аж 272 раза, что подтверждает наше объяснение.
4. Оценка количества ферментов в протеоме
Я сформировала несколько запросов в UniProtKB, чтобы оценить количество ферментативно активных белков. Вариант первый дал 779 результатов,
(taxonomy_id:226186) AND (proteome:UP000001414) AND (cc_catalytic_activity:*)
Другой вариант -- по ключевому слову:
(taxonomy_id:226186) AND (proteome:UP000001414) AND "CATALYTIC ACTIVITY"
дал почти столько же -- 776 результатов.
Если смотреть варианты, которые не имели ключевого слова CATALYTIC ACTIVITY, но что-то имели в графе EC и наоборот,
а также имели оба "признака наличия ферментативной активности", мы получили следующие результаты:
(taxonomy_id:226186) AND (proteome:UP000001414) AND (ec:*) AND "CATALYTIC ACTIVITY" -- 692
(taxonomy_id:226186) AND (proteome:UP000001414) AND (ec:*) NOT "CATALYTIC ACTIVITY" -- 87
(taxonomy_id:226186) AND (proteome:UP000001414) NOT (ec:*) AND "CATALYTIC ACTIVITY" -- 84
Таким образом, можно назвать эти признаки взаимодополняющими, однако, что любопытно, примерно 3/13
из каждого запроса имеют лишь один признак. Причина может крыться в том, что CATALYTIC ACTIVITY может
отсылать к реакции, описанной в литературе, но ещё не классифицированные в NC-IUBMB, из которой берутся
коды для поля EC. И наоборот, возможно в случае, где есть только EC катализ лишь предположительный,
не описанный в литературе для конкретного белка.