Гены, белки и 20 аминокислот
Ген — это участок ДНК с инструкцией для одного белка. Белок — строка из 20 «букв»-аминокислот.
Ген — участок ДНК, кодирующий функциональный продукт (чаще всего белок). Белок — цепочка из аминокислот, выполняющая работу в клетке.
До сих пор мы работали с одним алфавитом из четырёх букв. Теперь появляется второй — алфавит белков из 20 аминокислот. Понимание перехода между ними (4 буквы → 20 букв) — ключ ко всему разделу про генетический код.
Что такое ген
Геном — это весь текст ДНК. Гены — осмысленные «абзацы» в нём, между которыми много некодирующих участков. У человека около 20 тысяч белок-кодирующих генов, но они занимают лишь ~2% генома. Остальное — регуляторные области, повторы, и то, что раньше называли «мусорной ДНК» (часть её на деле функциональна).
Найти ген в геноме — отдельная задача (поиск открытых рамок считывания, мы дойдём до неё). Пока важно: ген — это подстрока генома с определённой структурой.
Белки — строки в алфавите из 20 букв
Белок собирается из 20 стандартных аминокислот. У каждой есть однобуквенное обозначение — и это снова строка, только алфавит шире.
amino_acids = {
"A": "Аланин", "R": "Аргинин", "N": "Аспарагин", "D": "Аспартат",
"C": "Цистеин", "E": "Глутамат", "Q": "Глутамин", "G": "Глицин",
"H": "Гистидин", "I": "Изолейцин", "L": "Лейцин", "K": "Лизин",
"M": "Метионин", "F": "Фенилаланин", "P": "Пролин", "S": "Серин",
"T": "Треонин", "W": "Триптофан", "Y": "Тирозин", "V": "Валин",
}
print("Всего аминокислот:", len(amino_acids))
protein = "MFGAS"
for aa in protein:
print(aa, "->", amino_acids[aa])Вывод:
Всего аминокислот: 20 M -> Метионин F -> Фенилаланин G -> Глицин A -> Аланин S -> Серин
Почему 20 букв, а не 4
Четырёх нуклеотидов мало, чтобы напрямую закодировать 20 аминокислот. Природа решила это, читая ДНК тройками: тройка (кодон) даёт 4³ = 64 комбинации — с запасом на 20 аминокислот плюс стоп-сигналы. Так 4-буквенный код превращается в 20-буквенный. Подробно — в следующем разделе.
ДНК (4 буквы) -> кодоны по 3 -> белок (20 букв) A T G T T C ATG TTC M F
Зачем биологам считать белки
Функция белка определяется его последовательностью (а через неё — формой). Сравнивая последовательности белков, можно понять: похожи ли два белка, эволюционно ли они родственны, что сломает мутация. Посчитаем простую характеристику — состав аминокислот, который влияет на свойства белка.
from collections import Counter
protein = "MFGASMFKLGGAS"
counts = Counter(protein)
for aa, n in counts.most_common():
print(f"{aa}: {n}")Вывод:
G: 3 M: 2 F: 2 A: 2 S: 2 K: 1 L: 1
Как работает под капотом: от последовательности к функции
Цепочка аминокислот сворачивается в трёхмерную структуру, и именно форма определяет работу белка (фермент, рецептор, антитело). Предсказание этой формы — одна из великих задач биоинформатики (вспомните AlphaFold). Но даже не зная формы, по сходству последовательностей мы делаем выводы о функции: если новый белок похож на известный фермент, скорее всего, он тоже фермент.
У аминокислот есть и физико-химические свойства, которые объясняют, почему одни мутации безобидны, а другие катастрофичны. Аминокислоты делят на группы: гидрофобные (боятся воды, прячутся внутрь белка), гидрофильные и заряженные (любят воду, торчат наружу), особые случаи вроде глицина (очень гибкий) и пролина (наоборот, делает излом). Замена одной гидрофобной аминокислоты на другую гидрофобную обычно проходит незаметно — белок сохраняет форму. А замена заряженной на гидрофобную в ключевом месте может разрушить структуру и вызвать болезнь. Именно поэтому матрицы замен (BLOSUM, PAM), о которых пойдёт речь в разделе про выравнивание, дают разным заменам разный «штраф»: они кодируют, насколько биохимически похожи аминокислоты. Это превращает простое сравнение строк в биологически осмысленное.
Частые ошибки
- Путать алфавиты. ДНК — 4 буквы, белок — 20; буква «A» в ДНК (аденин) и «A» в белке (аланин) — разные вещи.
- Считать, что весь геном — гены. Кодирующая часть мала; большая часть генома некодирующая.
- Думать, что один ген = один белок жёстко. Альтернативный сплайсинг даёт из одного гена несколько белков.
Итог
- Ген — кодирующий участок ДНК; геном в основном некодирующий.
- Белок — строка из 20 аминокислот, у каждой есть однобуквенный код.
- 4-буквенный код ДНК превращается в 20-буквенный белок через чтение тройками (кодонами).
- Сходство последовательностей белков намекает на сходство функции — основа сравнительного анализа.