Анализ CDR3-последовательностей антител, полученных из NGS-скрининга. Цель - выявить признаки последовательностей, который значимо влияют на способность антител связывать антиген.
Анализ проводился в рамках тестового задания.
- исследовать свойства CDR3 последовательностей
- выделить информативные признаки
- сравнить high и low binders
- оценить возможность предсказания связывания с помощью простой модели
Датасет содержит:
id— идентификатор антителаcdr3_sequence— аминокислотная последовательность CDR3binding_score— результат скрининга (0–1)
- Проверка на пропуски и дубликаты
- Анализ распределения длины CDR3
- Подсчёт частот аминокислот
Добавлены признаки:
cdr3_length— длина последовательностиhydrophobic_fraction— доля гидрофобных аминокислотaromatic_fraction— доля ароматическихcharged_fraction— доля заряженныхnet_charge— общий зарядglycine_fraction— доля глицина (гибкость)proline_fraction— доля пролина (жесткость)
- Выделены группы high binders (> 0.7) и low binders (< 0.3)
- Проведено сравнение с помощью Mann–Whitney U test (выбран из-за малой выборки и отсутствия требования нормальности распределений)
Построены:
- распределение
binding_score - boxplot признаков для high/low binders
- scatter plot признаков vs
binding_score
Построены базовые модели:
- Logistic Regression
- Random Forest
-
Наиболее информативные признаки:
- доля гидрофобных аминокислот;
- доля ароматических аминокислот;
- доля заряженных аминокислот.
-
Статистический анализ показал значимые различия между high и low binders для большинства признаков.
-
Logistic Regression:
- выявляет линейные зависимости;
- чувствительна к мультиколлинеарности.
-
Random Forest:
- учитывает нелинейные взаимодействия;
- показал лучшие метрики качества.
- малый размер выборки (26 high / 44 low) → риск переобучения;
- бинаризация
binding_score→ потеря информации; - упрощённые признаки → возможна недоиспользованная информация последовательности.
Python, Pandas, Numpy, Matplotlib, Seaborn, Scipy, Scikit-learn