Практикум 8. UniProt Proteomes, EMBOSS

Поиск протеома

Я искала протеом UniProt, который соотвветствует геномной сборке Hydrogenophilus thermoluteolus, с которой я работала в прошлом семестре. Для этого на сайте NCBI, используя идентификатор сборки GCF_003574215, я нашла в поле "Submitted GenBank assembly" идентификатор сборки INSDC (GCA_003574215.1). В UniProt Proteomes с помощью расширенного поиска (запрос genome_assembly:GCA_003574215.1) был найден интересующий меня протеом (поиск выдал 1 результат, Proteome ID: UP000262004, статус: референсный протеом).

Найденный протеом является референсным, поэтому можно сразу скачивать его. Для этого я использовала команду: wget 'https://rest.uniprot.org/uniprotkb/stream?compressed=true&format=txt&query=%28proteome%3AUP000262004%29' -O UP000262004.swiss.gz

В случае, если бы мы хотели найти референсный протеом для моей бактерии, то это можно было бы сделать используюя следующий запрос:

taxonomy_id:297 AND proteome_type:1

По нему мы видим, что только один протеом является референсным (как раз скачанный).

Число белков, содержащих альфа-спирали

Я изучила таблицу локальных особенностей записей UniProtKB, с ее помощью я смогла найти ключ, который соответствует альфа-спиралям в белке или же трансмембранным участкам, которые чаще всего являются альфа-спиралями. Это HELIX и TRANSMEM соответственно, находящиеся в поле FT. Для подсчета количества белков с альфа-спиралями был написан код на python, он приведен ниже.


import gzip

tr = 0
hel = 0

with gzip.open("UP000262004.swiss.gz", "rt") as input_file:
    entry = []

    for line in input_file:
        if line.startswith("ID ") and entry:
            text = ''.join(entry)

            if 'FT   TRANSMEM' in text:
                tr += 1

            if 'FT   HELIX' in text:
                hel += 1

            entry = []

        entry.append(line)

    text = ''.join(entry)

    if 'FT   TRANSMEM' in text:
        tr += 1

    if 'FT   HELIX' in text:
        hel += 1

print(f'Количество белков, содержащих трансмембранные участки: {tr}')
print(f'Количество белков, содержащих альфа-спирали: {hel}')

Количество белков, содержащих трансмембранные участки: 388
Количество белков, содержащих альфа-спирали: 0

Предположительно, количество белков с альфа-спиралями равно нулю из-за того, что нет данных о пространственной структуре, полученных экспериментально, а только предсказанные автоматически. Но можно считать, что у 388 белков в 3D структуре содержатся альфа-спирали, так как трансмембранные участки практически всегда ими являются.

Поисковые запросы

Определить количество белков, обладающих какой-либо ферментативной активностью можно двумя способами.

1. Через классификацию ферментов

В этом способе нам в качестве результата будут выданы белки, которые являются ферментами, подчиняются их классификации. Для этого напишем в поле function -> Enzyme_classification_[EC] *, которая обозначает наличие любого значения.

Запрос: (proteome:UP000262004) AND (ec:*)

Результат: 628 белков

2. Через наличие каталитической активности

У этих белков каталитическая активность есть, для них определена катализируемая реакция. Эти белки ищутся с использованием function -> Catalytic_activity.

Запрос: (proteome:UP000262004) AND (cc_catalytic_activity:*)

Результат: 582 белка

Кроме того, можно посмотреть на количество белков, удовлетворяющих обоим условиям. Их оказалось 577, то есть не все белки с определенной каталитической активностью имеют классификацию как ферменты.

Таким образом, EC - более чувствительный фильтр, а поиск белков через наличие каталитической активности может упускать некоторые ферменты, для которых реакция не детализирована.

Мы видим, что оба метода дают довольно близкие оценки, хоть и не идентичные. Для оценки количества белков с ферментативной активностью можно использовать и тот, и другой. Однако, если мы хотим быть больше уверены в наличии каталитической активности, стоит использовать оба условия для отбора белков.