CTOcast # 2: Ігнатій Колесніченко (iBinom - аналіз генома людини)

    Представляємо другий випуск подкасту про технології, процесах, інфраструктурі та людей в IT-компаніях. Сьогодні в гостях у "CTOcast" — Ігнатій Колесніченко, технічний директор компанії iBinom.
 
 Слухати подкаст
 
 
 
Кілька слів про наше співрозмовникові і компанії iBinom:
 
 Ігнатій Колесніченко закінчив механіко-математичний факультет МГУ і Школу аналізу даних. Працює в компанії «Яндекс» (з 2009). Починав у Яндекс.Пробки, останні пару років займається розподіленими обчисленнями. У 2013 році став співзасновником компанії iBinom. Веде семінари по складності обчислень.
 
 iBinom заснований в 2013 році (серед творців Андрій Афанасьєв, Валерій Ільїнський, Ігнатій Колесніченко). Компанія розробляє SaaS-рішення для аналізу даних геному людини. Результатами такого аналізу можуть користуватися лікарі без спеціальних знань в біоінформатики, що і робить сервіс iBinom унікальним. На даний момент готова бета-версія проекту і активно проводиться тестування на лікарях і клініках.
 
 

Текстова версія (1-частина)

 
Про олімпіадному програмуванні, освіті та особистому досвіді
 Олександр Астапенко: Ігнатій, пропоную почати все-таки не з iBinom, а з тебе, з твоєї кар'єри. Можеш розповісти трохи про те, як з'явився у тебе інтерес до програмування, про роботу в «Яндекс» і як ти в результаті прийшов до iBinom?
 
 Ігнатій Колесніченко: … Вперше я більш-менш дізнався, що таке програмування в ліцеї № 1511 при МІФІ. До цього програмування теж було, але це все несерйозно. Одного разу прочитав оголошення і думаю: «Цікаво, програмування, виявляється, буває олімпіадних! Потрібно піти подивитися, що це таке ». Прийшов, подивився і з'ясувалося, що потрібно купу всього знати. Програмувати потрібно вміти, я до цього, виявляється, не вмів…
 
 Олександр Астапенко: Наскільки я знаю, у тебе була цікава історія з олімпіадами. Або вона почалася вже пізніше, в університеті?
 
 Ігнатій Колесніченко: Я почав брати участь в олімпіадах ще в школі.… І при вступі, по суті, вибирав між фізикою та математикою. У якийсь момент вирішив — математика, тому що мені дуже подобалося програмування. Думав, що прийду на мехмат, а там, напевно, гуртки та будуть зі мною займатися. З'ясувалося, що нічого подібного і на мехматі гуртків з програмування немає. Довелося довго шукати людей, команду, щоб розпочати цього якось брати участь. Але якщо проявляти належну завзятість, то команда знаходиться і все можна зробити.
 
Здорово, що на мехматі дуже багато людей, у яких величезний досвід в олімпіадному програмуванні і які ще в школі перемагали в різних олімпіадах. Ти з ними знайомишся, вони тебе чомусь вчать. Ти починаєш брати участь і потрапляєш в це співтовариство. Хоч і немає конкретного гуртка, але просто той факт, що співтовариство існує, є з ким змагатися і з ким тренуватися — дуже сильно допомагає. Ну, і за пару років ми дотренувався до того, що стали хороші місця займати на чвертьфіналі, їздили на півфінал. Найкрутіші хлопці, звичайно, були на фіналі чемпіонату світу з програмування ACM. Я на фінал не їздив, але, тим не менш, досвід це дало величезний.
 
 Олександр Астапенко: Можеш у двох словах розповісти для тих, хто не зовсім в курсі, з якими завданнями ти стикався на олімпіадах. Чи дає участь у подібних заходах прикладної досвід і чи стане в нагоді це в реальному житті і розробці?
 
 Ігнатій Колесніченко: Відразу відповім на друге запитання. Так! Тепер про завдання. Завдання в олімпіадному програмуванні складаються з двох частин. Найчастіше одна з них проста, інша складна — придумати алгоритм… Всі завдання в олімпіадному програмуванні тестуються автоматично. Є деякий набір тестів, який пред'являється до задачі, який ти не бачиш і який від тебе прихований. І є обмеження за часом, за яке твоя програма повинна на тестах відпрацьовувати, за кількістю пам'яті, яке вона повинна використовувати. Необхідно придумати і написати такий алгоритм, який ось в ці обмеження вкладеться. Ну, і, власне, завдання діляться на два типи: бувають ті, в яких складно придумати алгоритм, а бувають ті, в яких алгоритм начебто придумати не дуже складно, але є багато різних подробиць і потрібно все це акуратно написати, реалізувати. Тобто вміння олімпіадного програміста складається з двох частин: «придумування» і акуратна реалізація того, що придумав за гарний час, так як є 5 годин і є 10 завдань…
 
Чи є від цього користь? Так, безумовно, є. Тому що хорошого програмісту потрібні алгоритми, він повинен вміти оцінювати час, пам'ять, швидкість роботи, повинен вміти ефективно писати програми. І бажано робити це швидко. Тому що навіть якщо ти будеш писати відмінний код, але витрачати на кожну річ два дні, то це вже нікуди не годиться і багато так не напишеш. У деякий момент ці вектори, природно, розходяться, і олімпіадне програмування чим далі, тим більше заточене на постійні тренування, на відточування написання алгоритмів…
 
 Павло Павлов: Що ще відрізняє хорошого програміста від поганого, крім розуміння алгоритмів, алгоритмічного мислення та здатності вирішувати подібні завдання?
 
 Ігнатій Колесніченко: олімпіадних бази, звичайно, недостатньо, щоб бути хорошим програмістом, тому що в житті ти стикаєшся з абсолютно іншого роду завданнями і проблемами.
 
По-перше, реальні програми істотно більше. На олімпіадах всі програми від 100 до 400 — 500 рядків. У житті ж доводиться писати системи, які складаються з десятків тисяч рядків, які дуже складні й об'ємні. Може бути, там кожна деталь і досить проста, але продумати все це взаємодія дуже непросто. І ще важливий момент — уміння продумувати API. Це одна частина.
 
А друга частина: оскільки програми великі, потрібно вміти з ними працювати на перспективу. Не те, що ми зараз пишемо код, написали і все — він працює, закрили і забули про нього. Потрібно код покривати тестами, думати, що хтось його буде читати в майбутньому. Ось олімпіадні програмісти зовсім не думають про те, що код буде хтось читати, тому там змінні однобуквені, функції часто не виділяються, тобто таке полотно коду. Головне його швидко написати, щоб він запрацював. Це підходить, коли потрібно в житті швидко написати прототип і перевірити чи працює ідея. Але це абсолютно не підходить для коду, який піде в продакшн, який потрібно підтримувати, розвивати і так далі.
 
Ось, ці вміння вони такі, дуже неструктуровані, нетривіальні і, на мою думку, купуються просто з досвідом. Неможливо прочитати книжку і навчитися покривати код тестами, придумувати архітектуру системи, придумувати її API правильно. Робиш раз, робиш два, робиш три, і на третій раз вже розумієш, що ось тепер у мене виходить непогано.
 
 Павло Павлов: Ти порушив тему системи освіти… Чи важко було знаходити людей, з якими ти міг би мати якісь спільні інтереси з точки зору розвитку своїх навичок, знань? Наскільки ти вважаєш адекватним рівень освіти в університетах, школах? Або доводиться, в основному, варитися в якійсь вузькій середовищі, щоб отримувати подібного роду знання?
 
 Ігнатій Колесніченко: У російській освіті дійсно є деяка проблема. У нас є топові технічні ВНЗ — МГУ, МІФІ, МФТІ, Бауманка, де курси з програмування, особливо все, що стосується промислового програмування, вони трохи не відповідають тому рівню, який зараз взагалі пред'являється до області, і тому рівню, який пред'являється в тих же європейських чи американських університетах.
 
З іншого боку, талановитих хлопців досить багато. У Росії одне з найсильніших олімпіадних спільнот і у всіх цих топових вузах є люди, які займаються олімпіадних програмуванням. Можна потрапити в цю тусовку і там, власне, свою пролом в знаннях заповнити. Там теж часто читають якісь лекції або просто діляться знаннями один з одним. Але, природно, це не дуже правильний підхід, тому що так виростають олімпіадні програмісти, яких потім ще доводиться доучувати до індустрії.
 
… Але здається, що ситуація змінюється. У цьому сенсі є таке чудове місце, як Школа аналізу даних. Крім цього, наскільки я знаю, «Яндекс» відкриває новий факультет. Точніше, Вишка відкриває новий факультет за підтримки «Яндекс». У мене складається відчуття, що там має бути дуже здорово, але це подивимося-побачимо.
 
 Олександр Астапенко: Ти наймаєш людей на роботу і бачиш, що хлопці теж брали участь в олімпіадах з програмування, чи є для тебе це важливим фактором?
 
 Ігнатій Колесніченко: Це, безумовно, плюс, якщо людина пройшла через олімпіадне програмування, але він не вирішальний.
 
 Олександр Астапенко: Університет, олімпіадне програмування… Що було далі?
 
 Ігнатій Колесніченко: … Під час навчання в Школі аналізу даних мене покликали пройти співбесіду в «Яндекс». Тоді це було деяким шоком: третій курс, а можна вже працювати, гроші заробляти та й ще якісь завдання цікаві вирішувати. Я вчинив як стажист і був ним, здається, більше року.… Потім вже займався більш складними речами, працював у Яндекс.Пробки, де ми командою переписували поточну інфраструктуру. Перша велика система, яку я побачив і в якій якось брав участь. Це було здорово.
 
 
Про проект iBinom
 Олександр Астапенко: Розкажи про компанію iBinom… Про ідею, як з'явився проект і як стартанули.
 
 Ігнатій Колесніченко: Вийшло все дуже просто. У мене з мехмату був хороший друг, який разом з одним біологом зайнявся створенням компанії «Генотек». Вони були саме про такий сервіс, як 23andMe, коли до вас приходить користувач, ви берете у нього слину, аналізуєте її і розповідаєте йому про якісь його схильності до спадкових захворювань. Сервіс, здебільшого, розважальний, тобто люди просто приходять just for fun. У них є трохи грошей і вони готові їх витратити, щоб таку цікаву нову інформацію для себе впізнати. В один з вечорів я спілкувався зі своїм другом, і він мені сказав: «Дивися, є у нас біолог і у нього є одна задачка… Була б вона тобі цікава?». Завдання було як раз про те, щоб зробити пошук мутацій у геномі по екзонах аналізу.
 
… Умовно кажучи, ми в грудні це обговорювали, а в лютому я прийшов з новиною, що начебто все виходить. Те, що раніше ви робили у себе локально за 8 годин, я можу зробити за 30 хвилин. І якось так вийшов прототип. Потім хлопці сказали: «Слухай, насправді нас не прототип, звичайно, цікавить. У нас є ідея як це монетизувати. Давай робити ». Я подумав-подумав і вирішив, що потрібно приєднуватися.
 
Був конфлікт інтересів у тому сенсі, що я працював і працюю в «Яндекс», мені подобається — з одного боку, а з іншого — теж супер-цікава задача, абсолютно про інше. І якось безглуздо втрачати таку можливість, тому я вирішив особистий час поужать і почати витрачати відразу на дві справи. Власне, вже трохи більше року ми робимо більш-менш осмислений стартап.
 
 Олександр Астапенко: А «Генотек» досі продовжує існувати?
 
 Ігнатій Колесніченко: Так, компанія існує.
 
 Олександр Астапенко: І там конфлікту інтересів немає?
 
 Ігнатій Колесніченко: Вона займається трохи іншим. Алгоритми там теж якісь є, але це не основна її спеціалізація. До них приходить користувач, вони повинні взяти у нього аналіз слини, віднести його в прилад і там проаналізувати, а потім ще, звичайно, виконати певний аналіз комп'ютерний і на красивому сайті видати результат: «У вас схильність до тому-то і тому-то… »
 
 Олександр Aстапенко: Це як 23andMe, про який ти згадував?
 
 Ігнатій Колесніченко: Так, це російський аналог 23andMe.
 
 Олександр Aстапенко: Поговоримо про те, як iBinom працює.
 
 Ігнатій Колесніченко: Що таке геном людини? Геном людини — це така довга-довга послідовність, яка складається з 23 шматків. 23 шматка — це хромосоми. Кожна хромосома — парна. У цій послідовності (вся її довжина близько 3 мільярдів символів) є цікаві для нас ділянки. Тобто вона, в принципі, вся може бути нам цікава, але є особливі ділянки — так звані кодують області, інакше кажучи — гени. Їх вже не так багато, не 3 мільярда, а, не знаю, 50 мільйонів. І потрібно з'ясувати, що там відбувається: працюють ці гени чи ні, які є мутації і на що вони впливають.
 
Перша складне завдання полягає в тому, як взагалі це все прочитати. Досить давно, років 50-40 назад, придумали простий ручний метод для прочитання одного шматочка. Всю нашу ДНК можна уявити собі як довгу рядок з чотирьох букв ACTG. З точки зору алгоритмів і аналізу можна дивитися на ДНК як на букви і не думати про те, що це якісь нуклеїнові кислоти і так далі. І, власне, треба її прочитати. Років 50 тому це робити навчилися. Правда, щоб прочитати тисячі символів, людина повинна витратити день. А нам потрібно не тисячу символів, а 50 мільйонів! Як це зробити абсолютно не ясно. Існував великий-великий проект «Геном людини», в який був вкладений мільярд доларів, якщо не більше. І, власне, метою цього проекту було весь геном людини прочитати, зібрати і розібратися в ньому.
 
Але тут є ще одна проблема: ось вміємо ми читати по 50, по 100 символів, можемо прочитати такі шматочки з різних місць, але ми дуже погано розуміємо, де насправді знаходяться ці місця, і як потім з них зібрати геном людини. Де зараз знаходиться наука в даній області? Наука навчилася читати ці шматочки в дуже великих кількостях і дуже швидко, але, знову ж, ми не знаємо, де вони знаходяться. Ми беремо весь геном людини, всі наші хромосоми, дробу їх на невеликі шматочки довжиною від 100 до 1000 і потім вже кожен від початку до кінця прочитуємо. Після цього у нас є дуже багато таких різних прочитань і потрібно з них зібрати весь геном. Щоб збірка взагалі була можлива, така процедура повторюється багато разів, як мінімум 30, а часто і більше. Щоб кожна буква, кожна ділянка в геномі покривався багато разів. Якщо ми тільки один раз так зробимо, то у нас ніяких знань про те, як ці шматочки повинні один з одним склеюватися, нету, і ми їх склеїти не зможемо. Тому таких шматочків має бути багато, вони з великим покриттям. І далі потрібно застосовувати деяку магію, складний алгоритм, який з цих шматочків збере весь геном. Це така задача, яка складна і донині, тобто зібрати геном нового організму — це дуже непросто. Це те, що називається складанням геному.
 
Проаналізувати геном якоїсь конкретної людини трошки простіше. Робиться точно такий же аналіз, читаються невеликі шматочки з генома, правда, вже з цікавих, що кодують областей. Весь геном, як правило, не читається, хоча це теж можна зробити. Далі ми користуємося таким чудовим властивістю, що всі люди один на одного дуже схожі. Ми відрізняємося не більш, ніж на 1%. І тому якщо ми візьмемо який-небудь еталонний геном людини і візьмемо наше прочитання, то ми можемо не збирати з наших причетний новий геном, а можемо відразу ці прочитання порівнювати з еталонним геномом. Власне, знаходити, де вони там зустрічаються, і дивитися, чим вони відрізняються. Так більш-менш робиться аналіз мутацій людини і різних змін у цьому геномі.
 
 Олександр Астапенко: Дуже, до речі, цікава фраза «ідеальний геном людини». Це так перегукується луною з серединою минулого століття.
 
 Ігнатій Колесніченко: Є деякі не ідеальний, а еталонний…
 
 Олександр Астапенко: Чи залежить це від поточної політичної ситуації?
 
 Ігнатій Колесніченко: Ні, від поточної політичної ситуації не залежить. Це чисто біологічний, швидше біоінформатіческій, науковий термін.
 
 Олександр Астапенко: І від кольору шкіри теж не залежить?
 
 Ігнатій Колесніченко: По-різному, насправді. Є різні збірки. Умовно кажучи, люди в Європі і люди в Росії (популяції) відрізняються. І, в цілому, можна збирати такого середнього людини, що знаходиться в Росії, і середнього людини, що знаходиться в Європі, і вони будуть трохи різні. Якщо ми аналізуємо людини, яка живе в Європі, його більш розумно порівнювати з європейським еталоном, а не з африканським еталоном.
 
 Олександр Астапенко: Або в Росії.
 
 Ігнатій Колесніченко: Або в Росії. Ну, Росія все-таки схожа на Європу в цьому сенсі. Тобто вони ближче, з Африкою небагато, наскільки я знаю, далі. Але все одно там відмінності несуттєві і можна порівнювати. Той геном стандартний, який скрізь використовується, він зібраний за типом 100 або 1000 абсолютно різних людей. Взяли 100 або 1000 різних людей, всіх їх проаналізували і разом з усіх їхніх даних зібрали такий загальний геном. Якщо ми візьмемо одного конкретного людини, то у нього може бути багато різних спадкових захворювань, які просто знаходяться в рецессивной формі або з якихось інших причин не проявляються, і тоді у нас не вийде справжній еталон. Щоб зібрати такий еталон, простіше взяти якомога більше людей. Якщо в кожній точці візьмемо більшість, то скоріше за все це більшість — популярна аллель в нашій популяції, популярна буква в нашій популяції, в цій точці. І, скоріше за все, вона хороша, правильна, а та, яка рідкісна — неправильна і може що-небудь викликати.

Давайте я розповім в чому полягає весь аналіз, тому що це тільки перша частина. Така перша складно-технічна частина, сірі дані, які видав прилад (секвенатор), що робить невеликі послідовності — прочитання. У цей секвенатор ти просто здаєш свою слину або кров — будь-яку пробу, туди всякі реактиви додатково запихаються. Він працює, не знаю, 12 годин і на жорсткий диск тобі пише прочитання. Їх багато-багато, з великим покриттям. Типовий для екзонів аналізу (аналізу генів людини) обсяг даних — від 2 — 3 до 30 Гбайт.

Олександр Астапенко: Я в якомусь з твоїх відео зустрічав цифру 200 Гбайт.

Ігнатій Колесніченко: 200 Гбайт — це взагалі повний геном. Але повний геном, насправді, в практичному застосуванні мало кому цікавий. Він, скоріше, цікавий чисто в науковому сенсі.

Олександр Астапенко: Тобто в реальному житті це від 2 до 30 Гбайт, десь так?

Ігнатій Колесніченко: Більш-менш, так. Коли ми робили сервіс, нам хотілося з повним геномом теж вміти працювати, бо хіба мало хто захоче…

Добре, знайшли ми зміни в геномі: наприклад, в еталонному геномі у нас буква А, а у мене чомусь буква G в цьому місці. Інформація, яка абсолютно незрозуміла. Що з нею робити? Далі знову починається складна частина, яка з наукової точки зору поки тільки в самому-самому зародженні — розуміння мутації, до яких захворювань вона може привести, чи буде працювати білок, за який вона відповідає чи ні.

Так, давайте трохи розповім про білки, власне. От у нас є ці гени, що таке гени? З точки зору ДНК — це підпослідовність. Що вона робить? Вона кодує білок. Білок ж складається з амінокислот — це окремі молекули, і кожна амінокислота кодується такими умовними трьома буквами з цієї послідовності нашої, поспіль йдуть. Тобто у нас є послідовність довжини 30, ми розбиваємо її на підряд йдуть трійки, і кожна трійка відповідає за одну амінокислоту. Потім ці 10 амінокислот вже утворять деякий білок. Зазвичай їх не 10, ген — це, не знаю, 600 нуклеотидів і 200 амінокислот. Білки виконують в нашому організмі величезну роль. Вони відповідають за всяку регуляцію, за роботу клітини. Тобто в нашій клітці плаває безліч білків, вони беруть участь у різних реакціях як каталізатори та багато-багато всього роблять. Якщо у нас білок зламався, а як зламався? Сталася якась мутація, тому в білку одна амінокислота стала не такою, як інша. Білок згортається, тобто у нього важливо те, як він згорнеться, те, яка у нього буде тривимірна структура. Він згорнеться як-небудь неправильно, і все не буде працювати.

І здається, що якщо у нас відбулася мутація, то все зламається і нічого не буде працювати, але організм штука хитра і тут є мільйон шарів захисту, щоб ось одна якась конкретна мутація ні до чого не приводила. Взагалі для розуміння: у кожної людини мутацій, не пам'ятаю точно, близько 1%. І тим не менше всі люди живуть якось і не паряться. Це тому що дуже багато шарів захисту. Перший шар: якщо у нас в одній хромосомі щось помінялося, друга (парна) хромосома все одно може продовжувати кодувати цей білок, і все буде працювати. Другий шар захисту: припустимо, у нас в обох аллелях білок зламався, перестав працювати, а у цього білка є, скажімо, 5 різних його братів, які більш-менш ту ж саму функцію виконують. Вона, може бути, буде виконуватися трохи гірше, повільніше. Але в цілому все продовжить працювати. Є ще більш високий рівень. Навіть якщо зламалася ціла якась ланцюжок, то, швидше за все, організм може просто без цього жити, йому буде не так добре, але він все одно буде існувати.

Олександр Астапенко: Ми зараз про кластер говоримо якомусь або поки про людину?

Ігнатій Колесніченко: Ні, ми про людину зараз говоримо.

Олександр Астапенко: Окей, продовжуй!

Ігнатій Колесніченко: Ця область знань — як зрозуміти чи відбулася у нас мутація і призведе вона до якому-небудь спадкового захворювання — дуже складна. Знання людства, науки дуже обмежені. Ми знаємо, може, кілька тисяч спадкових захворювань, якісь взаємозв'язки, але ці знання дуже вузькі. Очевидно, що загальна область таких знань у 100 разів більше, ніж те, що зараз вивчено.

Ну, і що ми робимо? Ми беремо те, що людство знає і просто застосовуємо це до нашого аналізу. Є багато баз, в яких дані знання представлені в різних форматах, по-різному і в різних лабораторіях отримані. Ми їх намагаємося найкращим чином агрегувати і, власне, надати інформацію про те, до яких спадкових захворювань можуть привести поточні знайдені мутації.

Що ми робимо для лікаря в кінцевому підсумку? Лікар в поліклініці замовляє аналіз з використанням секвенатор, отримані дані заливаються в хмару. Далі він каже: «О, хлопці, дивіться, у мене тут є дані про ось цю людину, давайте ви їх проаналізуєте!» Ми їх аналізуємо і далі лікаря видаємо наступну інформацію: знайшли, наприклад, 200 найцікавіших, важливих мутацій, і за що кожна з цих мутацій може відповідати. Це те, що зараз ми робимо. Але ми думаємо піти трохи далі, власне, багато лікарів так і досліджують. Лікарю нецікаво всі ці 200 мутацій дивитися, тому що у нього зараз є конкретний пацієнт, і він вивчає у нього певне захворювання, наприклад, печінки. І він припускає, що ось це захворювання має спадкові причини. А спадкових причин може бути, припустимо, 10 різних, і він не знає яка саме. Тому ми зараз доробляємо таку систему, в якій лікар може сказати: «Я хочу дивитися на ось цю групу захворювань». Або «У мого пацієнта такі от симптоми, а ви знаєте які у нього мутації. Давайте з цих симптомів і мутацій зрозуміємо яке ж буде захворювання у цієї людини ». Ну, і також є такі бази, які асоціюють захворювання з різними мутаціями. Цю інформацію потрібно просто разом зібрати, щоб користувачеві, лікаря показати і щоб було зрозуміло чому ми зробили такий висновок, наскільки він правильний. Ось. Вийшло трохи сумбурно, але якось так.

Олександр Астапенко: Насправді досить все зрозуміло. І ще один момент, поки ми остаточно не перейшли на технічну складову. Ось знаходиться, наприклад, пара сотень мутацій, не всі з яких цікаві лікаря. Який відсоток помилки може сюди закрадатися? Одна справа, коли хлопці шукають якісь особливості, аналізуючи продаж-купівлю цінних паперів на біржі — там великі гроші, але не життя людини. Тут же мова йде про діагностування серйозних хвороб і будь-яка з цих помилок набагато вагоміше, ніж у тій же біржовій торгівлі. Розкажи про ймовірність таких помилок, і чи є якісь рішення, щоб скоротити їх кількість.

Ігнатій Колесніченко: Так, помилок досить багато. Помиляється і сам секвенатор і це доводиться якось виправляти. Помиляємося і ми з точки зору алгоритмів. Ось, скажімо, знаходимо ми 200 якихось критичних мутацій, які виглядають страшно. А в реальному житті людина здорова і у нього проблеми тільки з печінкою.

Олександр Астапенко: І ви говорите «ні». У морг — значить в морг! Так?

Ігнатій Колесніченко: Ці 200 мутацій… У багатьох випадках ми просто не розуміємо чому вони насправді не приводять до певних захворювань. Тому для лікаря це, швидше, рекомендаційна інформація. Він скористався нашим сервісом, дізнався, що є такі-то мутації і вони призводять до конкретному захворюванню, яке він припускав чи ні. Лікар думає: «Добре, ось захворювання, швидше за все те, що потрібно. В принципі я можу йти і моєму пацієнтові прописувати ліки, щоб його лікувати ». Але лікар не дурень і теж просто так нам не вірить. Умовно кажучи, він от знайшов цей ланцюжок-взаємозв'язок від мутацій і до того, що ми йому сказали, і може перевірити чи це так.

Ми намагаємося повністю розповісти якими базами ми користувалися і що ми знайшли, щоб лікар цей ланцюжок бачив. Якщо він буде бачити весь цей ланцюжок, він може піти і ручним способом перевірити ще раз. Лікарю для конкретного захворювання цікаві, наприклад, 3 мутації, які ми привели. Перевірити 3 мутації — нескладно. Це і не просто, звичайно, але цілком можливо. Лікар може перевірити ще раз, і тоді він вже впевнений: так, дійсно, ці 3 мутації зв'язуються з даним захворюванням. Ну, і потім він бере на себе відповідальність і починає лікувати пацієнта.

У тій же Америці у технології NGS (New Generation Sequencing) немає схвалення FDA, тобто це просто додаткова інформація для лікаря. Лікар її використовує, щоб краще лікувати свого пацієнта. Як кажуть: «Why not?». Далеко не всі лікарі це використовують і, наскільки я розумію, багато хто з них цього не довіряють. Ясна річ, що в майбутньому точність технологій зростатиме і в якийсь момент лікаря вже не доведеться все перевіряти. Просто методи стануть точними, а кількість знань — достатнім.

Я б це порівнював з програмуванням часів 70-х років минулого століття. Тоді люди могли спокійно стверджувати, наприклад, що неможливо бути хорошим програмістом і при цьому не знати як працює якесь залізо, як влаштований mainframe, не знати мови Assembler. Дійсно, в ті часи це було так. Якщо ти не знаєш якихось базових речей, то робити тобі нічого, тому що пам'яті мало, процесора мало, потрібно все це оптимізувати, добре розуміти і знати. Але минуло 30 — 40 років і зараз 90% програмістів не знають, що таке Assembler, і досить слабо собі уявляють як це все всередині працює. Вони на програмування дивляться з високої точки зору і вирішують свої завдання на тому рівні, на якому потрібно їх вирішувати, і не заглиблюються в різні деталі та області.

Я вірю, що в біоінформатики та біотехнології, в області спадкових захворювань теж таке станеться. Просто зараз ми знаходимося в самому-самому початку і наші знання дуже мізерні. Лікар-генетик, по-хорошому, повинен знати весь ланцюжок і розуміти як це влаштовано, інакше він може зробити помилку.

Павло Павлов: Скажи, а зі свого боку як ви знаходите і відстежуєте помилки секвенатор?

Ігнатій Колесніченко: перше, є різні автоматичні методи. Але взагалі ми намагаємося брати справжні аналізи. Ми приходимо в поліклініку або лабораторію, у яких вже є людина з яким-небудь захворюванням, вони його проаналізували, знайшли певні мутації і ці мутації перевірили. Ми беремо вже перевірену інформацію і з'ясовуємо наскільки наш алгоритм цим перевіреним знань відповідає. Якщо не відповідає, то чому? Як полагодити?

Зараз люди, в принципі, вміють робити те ж, що й ми. Тільки в чому проблема? Проблема в тому, що для цього лабораторії доводиться тримати у себе біоінформатика, який всі ці алгоритми сам, руками десь на машинці запустить, 12:00 почекає поки все це виконається. Потім він сам шукає по різних базах і сайтам потрібну інформацію. Наша мета, по-перше, робити швидко те, що люди вже вміють, а по-друге, всю інформацію агрегувати, в красивому вигляді показати, намалювати різні статистики, в цілому все це обернути в розумний продукт.

Олександр Астапенко: Добре, а якщо ми поговоримо безпосередньо про процедуру, як це все відбувається? Наприклад, я лікар і у мене є якісь секвенований дані. У якому форматі ці дані є у мене (скажімо, 30 Гбайт)? І як у реальному житті відбувається передача даних вам, щоб ви могли почати аналізувати і шукати мутації?

Ігнатій Колесніченко: У реальному житті у користувача вони вже є або на диску, або він ці 30 Гбайт викачує собі звідки-. І потім просто заливає до нас на сайт, вони потрапляють у в S3. І далі, як тільки користувач їх залив, він може розпочати аналіз.

Олександр Астапенко: А заливати через веб-інтерфейс ці 30 Гбайт?

Ігнатій Колесніченко: Так, ми заливаємо через інтерфейс. Але це, власне, було однією з непростих технічних завдань: реалізувати таку можливість, щоб якщо обірвалося з'єднання, можна було продовжити.

Продовження текстової версії подкасту — у найближчі дні.

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.