Skip to content

promentol/BioSummer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Построение классификатора типов рака по данным соматических мутаций.

В качестве исходных данных были использованы .maf файлы базы данных TCGA. Файлы находятся в директории Data

Логика действий:

  1. Загрузка сети генных взаимодействий (направленный взвешенный граф). Вес ребра рассчитывается как сумма всех возможных взаимодействий между генами, делённая на 10 (нормировка)
  2. Создание таблицы: строки — данные пациента, столбцы — данные по конкретному гену. Таблица заполняется в зависимости от значимости (об этом ниже).
  3. G0: Сортировка → AdaBoost → SVM
  4. G1: Сортировка → Net → AdaBoost → SVM
  5. G2: Сортировка → Net → Net → AdaBoost → SVM

Сортировка: Сортировка столбцов таблицы (генов) по суммарному количеству мутаций данного гена у всех пациентов. Таким образом, самые часто мутирующие гены оказываются первыми.

AdaBoost: Обучение алгоритмом AdaBoost на первых 2000 генах таблицы.

SVM: Обучение SVM на всех генах с ненулевым вкладом, полученных с помощью AdaBoost.

Net: Для каждого гена (A) имеем его значимость (k) и список связанных с ним генов в сети (R1, R2, R3, ...). Для каждого из генов этого списка считаем дополнительную значимость как значимость гена (A), умноженную на вес соответствующего ребра.

Значимость: не все мутации равнозначимы. Например, мутация со сдвигом рамки считывания чаще всего опаснее точечной мутации. Значимость была расставлена следующим образом:

Missense_Mutation → 60
Frame_Shift_Ins → 150
Frame_Shift_Del → 170
Silent → 10
In_Frame_Ins → 20
Default → 30


Apps/transform.js — алгоритм преобразования графом генных взаимодействий.

Apps/test.r — обучение AdaBoost, SVM, тестирование.

Результаты:

Типы рака G0 G1 G2
COAD HNSC 44 0.9789 32 0.9614 91 0.9021
COAD KICH 29 0.8992 19 0.9300 32 0.7521
HNSC KICH 92 0.9158 80 0.9287 74 0.9123
HNSC KIRC 104 0.9259 101 0.9067 123 0.8209
KICH KIRP 46 0.7994 42 0.8413 47 0.7467
KIRP COAD 42 0.9022 33 0.8531 47 0.7347
KIRP HNSC 94 0.9513 95 0.8981 123 0.8379

Первое число — количество использованных для классификации генов.

Замечания:

После окончания летней школы были внесены изменения:

Вместо самописного алгоритма AdaBoost на JS используется алгоритм boosting в R. Добавлены новые типы раковых заболеваний для классификации. Проведено тестирование классификатора при двукратном прохождении через граф генных взаимодействий.

About

2015. Cancer classification

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 78.8%
  • R 21.2%