Для работы был выбран протеом, соответствующий геномной сборке археи 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
Все коды, которые будут приведены далее, запускались из директории, в которой находился файл UP000509626.swiss.gz.
Чтобы найти среди белков протеома ферменты, достаточно провести расширенный поиск в UniProtKB, указав такие значения для полей:
ProteomeID: UP000509626
CatalyticActivity: *
Результат поиска - 420 белков. Также это число можно увидеть и проведя поиск лишь по протеому на боковой панели в поле 'Белки с каталитической активностью'.
Также оценить число ферментов в протеоме можно с помощью поиска по файлу 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 - выше среднего; ДНК-связывающие белки (хоть это и довольно неожиданно), скорее всего, приближенные к компартменту клетки, в котором сконцентрирована ДНК, как было отмечено ранее, имеют заряд ниже среднего. Таким образом, различные заряды белков могут быть связаны с их распределением по компартментам клетки, определенным позиционированием относительно друг друга и структур клетки, возможного сигналинга для переноса в определенные компартменты (например, за счет взаимодействия с белками противоположного заряда) и т.д.