Работа с UniProt Proteomes

Для работы был выбран протеом, соответствующий геномной сборке археи Halorarum salinum, изучавшейся ранее.

Идентификатор геномной сборки RefSeq: GCF_013402875.1

Идентификатор последней версии сборки INSDC: GCA_013402875.1

Найти нужный протеом позволил поиск в UniProt Proteomes по указанному идентификатору INSDC.

Идентификатор протеома: UP000509626

Теперь получить доступ ко всем белкам данного протеома можно проведя поиск по данному идентификатору в UniProt Proteomes.

Статус протеома: референсный

Для скачивания белковых записей данного протеома была использована следующая команда:

wget 'https://rest.uniprot.org/uniprotkb/stream?compressed=true&format=txt&query=UP000509626' -O UP000509626.swiss.gz

Оценка количества ферментов в протеоме Halorarum salinum

Все коды, которые будут приведены далее, запускались из директории, в которой находился файл UP000509626.swiss.gz.

Поисковые запросы на сайте UniProt

Чтобы найти среди белков протеома ферменты, достаточно провести расширенный поиск в UniProtKB, указав такие значения для полей:

ProteomeID: UP000509626

CatalyticActivity: *

Результат поиска - 420 белков. Также это число можно увидеть и проведя поиск лишь по протеому на боковой панели в поле 'Белки с каталитической активностью'.

Команды Bash

Также оценить число ферментов в протеоме можно с помощью поиска по файлу UP000509626.swiss.gz с применением команд Bash. Для этого был составлен такой конвейер:

<'UP000509626.swiss.gz' zgrep -e '^CC' -e '^SQ' | grep -e 'CATALYTIC ACTIVITY' -e '^SQ' | grep -A1 '^CC' | grep '^SQ' -c

Такое большое количество этапов отбора необходимо, чтобы учесть то, что в записи одного белка может несколько раз попасться строка, по которой ведется поиск. В результате получаем то же число ферментов, что и с помощью первого способа - 420. Т.к. способы были основаны на изучении разных полей записи о белке и выдали один результат, то этот результат можно считать точным (но нужно учитывать, что некоторые белки могут в клетке не выполнять предсказанные для них каталитические функции или, наоборот, выполнять функции, не предскказанные для них, ведь все белки протеома аннотированы автоматически и неизвестны особенности их работы в клетке).

Изучение некоторых особенностей протеома

Заряд белков

Для оценки зарядов белков использовался следующий скрипт:

#! /usr/bin/env python
import gzip

p = 0
m = 0
c = 0
x = 0
f = 0
ff = 0
y = ''
plus = 0
minus = 0
z = dict()
a = gzip.open("UP000509626.swiss.gz", "rt")
_ = a.readline()
for i in a:
    if i.find('AC') == 0:
        i = str(i.strip())
        i = i.replace(';', '')
        i = i.replace('AC   ', '')
        y = i
        plus = 0
        minus = 0
    elif i.find('  ') == 0:
        plus = plus + i.count('R') + i.count('K') + i.count('H')
        minus = minus + i.count('E') + i.count('D')
    z[y] = plus - minus
for j in z.values():
    j = int(j)
    x += j
    c += 1
    if j < 0:
        m += 1
    else:
        p += 1
print("Average charge of proteins:", x/c)
print("Number of negatively charged proteins (pH=7):", m)
print("Number of positively charged and uncharged proteins (pH=7):", p)
check = input().split()
if check != '':
    for g in check:
        f += int(z[g])
        ff += 1
        print(z[g])
    print(f/ff)
else:
    print('No proteins selected')

Результат работы скрипта: в первой строке выводится среднее значение зарядов белков протеома, во второй - количество отрицательно-заряженных белков и в третьей - количество незаряженных и положительно-заряженных белков. Затем можно ввести AC белков, которые нас интересуют, для более подробного изучения. Скрипт выдаст заряды каждого из них и их среднее.

После применения скрипта были получены следующие результаты:

Средний заряд белков: -17.2;

Количество отрицательно-заряженных белков: 3490 (84,63%);

Количество незаряженных и положительно-заряженных белков: 634 (15,37%).

Такие результаты - серьезное преобладание отрицательно заряженных белков над остальными - свидетельствуют о том, что заряд белков действительно играет важную роль в функционировании организма (иначе различия были бы не такими значительными). И этому можно можно найти несколько обЪяснений.

1. Заряд белка обеспечивает его нормальное функционирование. Так, например, белки, работающие с нуклеиновыми кислотами, скорее всего, будут заряжены положительно, белки, связывающие катионы металлов - отрицательно и т.д. Но это всё ещё не объясняет преобладание в протеоме отрицательно-заряженных белков.

2. Halorarum salinum - галофильная архея. Повышенный заряд белков может быть связан с высокой концентрацией солей в среде, ведь часть белков выполняет функцию осмопротекторов.

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

4. Преобладание отрицательно-заряженных белков может свидетельствовать о том, что они приспособлены к функционированию в среде с пониженными значениями pH: протоны будут связываться с отрицательно-заряженными белками, нейтрализуя их заряд. На это может косвенно указывать то, что ДНК-связывающие белки имеют средний заряд -23.45, а РНК-связывающие - -22.92, что крайне необычно для белков, работающих с нуклеиновыми кислотами (ведь для работы с кислотами гораздо выгоднее будет положительный заряд, хотя, конечно, нужно учитывать, что эти белки также будут связывать различные катионы металлов).

5. Заряды белков могут быть связаны с их распределением по компартментам клетки. Например, если выбрать только трансмембранные белки, то их средний заряд будет около -5.77 - выше среднего; ДНК-связывающие белки (хоть это и довольно неожиданно), скорее всего, приближенные к компартменту клетки, в котором сконцентрирована ДНК, как было отмечено ранее, имеют заряд ниже среднего. Таким образом, различные заряды белков могут быть связаны с их распределением по компартментам клетки, определенным позиционированием относительно друг друга и структур клетки, возможного сигналинга для переноса в определенные компартменты (например, за счет взаимодействия с белками противоположного заряда) и т.д.