Skip to content

Latest commit

 

History

History
20 lines (14 loc) · 3.45 KB

README.md

File metadata and controls

20 lines (14 loc) · 3.45 KB

AutoCoEx 🧬

Полный текст моей дипломной работы доступен по ссылке.

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

Программа принимает два датасета (контрольной группы и пациентов) и возвращает список генов, достоверно изменивших свою экспрессию (см. рисунок).

image

Архитектура программы:

  • В run.py задаются основные параметры и запускаются все остальные модули программы.
  • В fit_models.py происходит обучение автокодировщиков с разными размерами боттлнеков (половина, четверть и т. д. от количества параметров). Создаётся набор предварительных моделей и таблица с их характеристиками. Затем численными методами от функции точности восстановления данных от размера боттлнека определяется пороговое значение — минимальный размер внутреннего слоя, при котором данные восстанавливаются с удовлетворительной точностью. Затем с размером, не меньше найденного, создаются предсказательные модели.
  • Модуль find_anomalies.py сравнивает точность восстановления предиктивными моделями контрольных данных и данных пациентов.
  • Модули analyze_models_method_1.py и analyze_models_method_2.py анализируют сами предиктивные модели — либо анализируя восстановленную единичную матрицу, либо осуществляя кластеризацию весов в модели.
  • Модуль funcs.py — служебный, содержит функции, использующиеся в других модулях.
  • Модуль classes.py — служебный, содержит класс автокодировщика и переопределённый класс CustomDataset.

image

Стек: CUDA, torch, pandas, numpy, scikit-learn, matplotlib. Программа написана самостоятельно, с консультациями и минимальными правками научного руководителя.