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

В этой статье вы познакомитесь с основами биологии для анализа COVID-19, начиная с обработки данных и заканчивая трансляцией генома в аминокислоты. Эту статью можно тиражировать с любыми языками программирования. Здесь будут использоваться не более чем for, if и другие структуры программирования.

Примечание. Это анализ генома базового уровня, и большую часть его можно легко выполнить с помощью BioPython. Хотя эта статья не является продвинутой, она сосредоточена на изучении биологии и операциях, подобных биологии. Основное внимание здесь уделяется изучению чего-либо, кроме программирования.

Пойдем!

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

Задача работы с большими порциями данных и их запуск в блоках идеально подходит для Jupyter Notebooks. Настоятельно рекомендуется научиться пользоваться этим инструментом.

Открыв Jupyter, давайте назначим геном переменной и начнем с этого.

Первое, что нужно сделать, это поискать пары оснований, сколько их здесь?

пара оснований - это единица, состоящая из двух азотистых оснований.

Всего пять азотистых оснований: аденин (A), цитозин ©, гуанин (G), тимин (T) и урацил (U).

Исходя из этого, пары оснований в основном равны длине генома. Выполнение len (corona) дает нам в общей сложности 29903 пары оснований. Что можно проверить с помощью поиска в Google.

Быстрый урок биологии: пара оснований - это единица, состоящая из двух азотистых оснований. Нуклеотидные основания и множество других вещей составляют Нуклеотид. Поскольку коронавирус - это вирус с простым геномом РНК, мы можем перейти к методу трансляции, который направлен на получение нуклеотидной последовательности (большой фрагмент a, t, c, g, u) и ее декодирование для определения аминокислот, что делает белки! Ура!

Применим все сказанное выше к геному коронавируса. У нас уже есть нуклеотидная последовательность, пора заняться переводом.

Во время трансляции нуклеотиды читаются группами по три, называемыми кодонами. Каждый кодон определяет конкретную аминокислоту или стоп-сигнал.

Чтобы выполнить перевод с нашим текущим геномом, нам нужно создать алгоритм, который берет группы по 3 символа и заменяет его данными, которые предоставляет таблица.

# Example:
### Part of genome: attaaaggtttatac
### Splitted into codoms: att aaa ggt tta tac
### Translated using genetic code table: A K D U S
### Output is AKDUS

Результат приносит нам все аминокислоты, из которых состоит коронавирус. Исходя из этого, мы можем искать аминокислоты, чтобы узнать еще больше о вирусе, но это обсуждение в другой раз.