Git и GitHub. Типы данных. Функции. Модули и стандартная библиотека Python. Работа с файлами (Biopython). Среды разработки (IDE). Виртуальные окружения (venv, conda, docker). Регулярные выражения. Numpy. Pandas. Визуализация данных (matplotlib, seaborn). Статистический анализ в Python. ООП (классы, 3 кита ООП, dunder methods, приватность). Итераторы, генераторы. Декораторы. Интернет (основные принципы работы, взаимодействие с интернетом через Python). Инструменты разработчика (профилирование, логирование, тестирование). Параллельное программирование. Введение в базы данных, SQL.
Программирование в R: Типы переменных, структуры данных, функции. Работа с данными с помощью функций пакетов dplyr и tidyr. Построение графиков с помощью ggplot2. Формат Rmd и создание отчётов.
Введение в статистику: Основные статистические параметры: среднее, медиана, дисперсия, размах, корреляция. Основные распределения: Биномиальное, Пуассона, нормальное. Центральная предельная теорема. Доверительные интервалы и проверка гипотез. Формулирование гипотез. Параметрические и непараметрические критерии для их проверки. Ошибки первого и второго рода. Мощность тестов. Определение минимально необходимого объема выборки для проведения эксперимента. Современные подходы для оценки доверительных интервалов и проверки гипотез. Бутсреп и пермутация. Линейная регрессия. Математическое обоснование коэффициентов интерсепт и бета. Графическая интерпретация коэффициентов. Условия применимости линейных моделей. GLM и MLM. Дисперсионный анализ. Проблема множественных сравнений. Использование ANOVA. Введение в многомерную статистику. Анализ главных компонент (PCA). Байесовская статистика. Основные понятия теории вероятности. Формула Бернулли. Теорема Байеса. Априорная и апостериорная вероятности.
Выравнивание на референс и поиск SNP. Сборка геномов de novo. Аннотация геномов. Человеческая генетика, аннотация SNP, ассоциации. РНК-секвенирование и дифференциальная экспрессия генов. Метагеномика (ампликонная и shotgun). Иммуногеномика, RepSeq. Протеомика. Single cell.
Формальные методы построения доказательств. Введение в теорию множеств: определения, операции со множествами и их свойства. Кванторы. Булевы функции, булева логика. Системы счисления. Информация и энтропия. Матрицы. Собственные вектора и значения. Комбинаторика: перестановки, сочетания, размещения. Генерация комбинаторных объектов. Асимптотический анализ времени работы алгоритмов. Алгоритмы сортировки: сортировка пузырьком, сортировка выбором, сортировка вставками, сортировка слиянием, быстрая сортировка, двоичный поиск, порядковая статистика, сортировка подсчетом, цифровая сортировка. Динамическое программирование. Теория графов: определения, поиск в глубину (DFS), поиск в ширину (BFS), поиск компонент связности и кратчайших путей. Алгоритмы на графах в биоинформатике: сборка геномов, overlap-layout-consensus, графы де Брейна.
Основные принципы работы в командной строке. Команды и аргументы. Организация файловой системы UNIX-like операционных систем. Базовый синтаксис команд стандартных команд (cat, grep, cut, less, sed, awk), опции и примеры. Удалённая работа на сервере при помощи командной строки. Утилиты для работы с геномными данными (bwa, samtools, bedtools). Основные конструкции применяемые в разработке скриптов: циклы, условия, функции. Построение пайплайнов обработки данных при помощи SnakeMake.
Теория эволюции. Генетическое разнообразие популяций. Генетика популяций. Закон Харди-Вайнберга. Инбридинг и его влияние на генетическую структуру популяции. Эффекты случайного мутагенеза на частоты аллелей в популяции. Модели замен и оценка частоты мутирования. Дрейф генов. Модель Райта-Фишера. Анализ демографической истории популяций. Коалесцентная теория. Skyline-методы. Группа методов на основе SMC. Геномный анализ популяционной структуры. Генетическое смешение. F-статистики и ABBA/BABA тест. ADMIXTURE. Естественный отбор и его математическое описание. Методы оценки давления отбора на последовательности генов и геномов. dN/dS, Tajima’s D, EHH. Селективное давление против новых мутаций в простых и сложных геномах.
EDA: Основные концепты, работа с пропущенными значениями, визуализация данных, анализ аутлаеров, три типа признаков – categorical, ordinal, numeric, one hot encoding and others, heatmap. Уменьшение размерности. PCA. Стандартизация и нормализация данных – min-max, standard, robust pca. Tsne+umap. Линейный модели. Задача регрессии, линейная регрессия, multiple LR, L1 L2 регуляризации, R^2, glm intro, ML intro, KNN and best practices. Метрики классификации и регрессии, матрицы ошибок, precision recall, Roc / PR кривые, разделение данных на train test, кросс валидация. KNN. SVM + Naive Bayes. Decision Trees. Алгоритмы кластеризации, обучение без учителя, метрики качества кластеризации, силуэты, кластермапы. k-means, dbscan, hierarchical, gaussian mixture. Введение в глубокое обучение и pytorch. Архитектуры: полносвязная сеть, свёрточная сеть, рекуррентная сеть, трансформер, графовая сеть.
Продвинутые алгоритмы глобального выравнивания: штрафы за пропуски и оптимизация по памяти. Поиск оптимальной вторичной структуры РНК. Выравнивание коротких прочтений на референс. Скрытые марковские модели (HMM): определения, алгоритм Витерби, алгоритм Forward-Backward. Поиск мотивов в геномах. Вычислительная масс-спектрометрия. Протеомика. Кластеризация. Филогенетические деревья. WPGMA, UPGMA, Neighbour joining. Байесовская статистика. Метагеномика.
Работа с деревьями: R (ape, ggtree); python (Biopython, ete3). blast, ncbi-blast+, ncbi eutils.Выравнивание последовательностей: clustalw, clustalO, muscle, mafft, kalign, tcoffee, prank. Выбор модели замен и построение дерева: jModelTest2 / ModelFidner, RAxML / IQtree, PartitionFinder. Проверка топологии, укоренение и сравнение деревьев. Байесовские методы и датировка. BEAST. Филогеномика. Proteinortho.