Русский
Русский
English
Статистика
Реклама

Биотех

Представлен первый в мире энкодер ДНК для телефона

08.12.2020 00:17:38 | Автор: admin
Ученые лаборатории Колд-Спринг-Харбор (CSHL) разработали первый в мире мобильный анализатор последовательности генома новое приложение для iPhone под названием iGenomics. Соединив iPhone с портативным секвенатором ДНК, пользователи могут создать мобильную генетическую лабораторию, напоминающую трикодер из Звездного пути. Приложение iGenomics полностью работает на устройстве iOS, что снижает потребность в портативных компьютерах или крупном оборудовании в полевых условиях, что полезно для работников, занимающихся вспышками болезней в развивающихся странах.




Медицинский трикодер имеет отделяемый датчик-зонд, портативный блок развертки, который посылает данные по жизненно важным показателям к Трикодеру. Он может проверить все жизненно важные функции органа, выявить наличие опасных организмов и физиологических проблем человека. Его банки данных также содержат информацию о не-человеческих расах, известную Объединённой Федерации планет, что позволяет лечить другие формы жизни.

Это то, как представляли себе будущее биотехнологий в 60-х. Теперь, ученые из лаборатории в Колд Спринг Харбор создали прототип трикодера в реальности. Как сообщается, алгоритм iGenomics может быстро отображать последовательности ДНК вирусных патогенов, определять мутации, важные для диагностики и лечения различных заболеваний.

Авторами исследования являются Аспин Палатник, который который работал над iGenomics в течении 8 лет, начиная с четырнадцатилетнего возраста, и его научный руководитель Майкл Шац. Майкл надеется, что это устройство поможет как полевым работникам, так и обычным ученым:
Сегодня все мы носим в карманах профессиональные фотоаппараты, поэтому нетрудно представить, что в ближайшие пару лет у всех нас также будут свои собственные секвенаторы ДНК на своих смартфонах.


Предполагается, что данное устройство будет использоваться учеными в полях, например в отделённых местах Африки или Латинской Америки, где затруднен доступ к полноценному медицинскому оборудованию. Пользователи могут посредством AirDrop связывать данные друг с другом, обеспечивая анализ ДНК в самых удаленных местах, даже в тех, где нет доступа к Интернету.
Предполагается, что в будущем, при заражении каким-либо вирусом, паразитами, бактериями, человек сможет использовать подобный секвенатор, что бы определить своё заболевание, и максимально оперативно предоставить данную информацию своему лечащему врачу для подбора адекватного вида лечения.
Подробнее..

Всё-таки я не зря учился! Как клёвые алгоритмы и школьные формулы помогают создавать инновационные лекарства

21.07.2020 18:12:25 | Автор: admin

image


Введение


Меня зовут Александр Садовников, я выпускник корпоративной магистерской программы ИТМО и JetBrains Разработка программного обеспечения и по совместительству старший разработчик биоинформатического ПО в департаменте вычислительной биологии компании BIOCAD.


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


Понять, как взаимодействуют две молекулы, можно, если предсказать структуру комплекса, который они формируют в природе. Предсказание структуры молекулярного комплекса по-научному называется задачей докинга. Частого использования этого термина я, к сожалению, избежать не смогу. Главная новость заключается в том, что задачу докинга человечество уже умеет с переменным успехом решать с помощью компьютерного моделирования. Это стало возможным, в частности, за счёт использования довольно известных за пределами биоинформатики алгоритмов и математических подходов. На их примере я покажу, как очень частные знания, которые мы получаем на протяжении многих лет учёбы в школе и вузе, оказываются полезными на практике, причём зачастую не самым очевидным образом.


Хочется верить, что данный материал будет интересен и полезен любому читателю, однако, чтобы понять всю техническую сторону вопроса, потребуются некоторые знания в области математики и алгоритмов.


Зачем нужно предсказывать структуру молекулярного комплекса


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


image
Структура антитела


Антитело состоит из нескольких частей. Наиболее значимыми частями в контексте способности антитела взаимодействовать с другими молекулами являются его петли (на рисунке петли помечены как L1, L2, L3 и H1, H2, H3). Название этих частей антитела обусловлено их формой: посмотрите на рисунок действительно же петли какие-то! От структуры петель антитела зависит сила его связывания с поверхностью целевой молекулы и геометрические свойства данного взаимодействия. Поэтому при разработке лекарственных средств на основе антител наибольшее внимание уделяется именно петлям.


image
Пример взаимодействия антитела с мишенью. Зелёным цветом показана молекула антитела, жёлтым молекула мишени. Красным цветом обозначены петли антитела.


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


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


Принцип работы алгоритмов решения задачи докинга


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


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


image
Схема работы алгоритма докинга


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


Докинг на сетках


Этот этап является основным для алгоритма докинга. В ходе его работы происходит поиск некоторого количества положений молекул относительно друг друга, похожих на природные. В основе данного этапа лежит алгоритм 1992 года за авторством Эфраима Качальского-Кацира (который, помимо того, что был выдающимся учёным, также был четвёртым президентом Израиля).


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


Если высокоуровнево описать принцип работы алгоритма докинга на сетках, то получается совсем простой код:


complexes = []# перебираем все возможные вращения второй молекулы относительно первойfor rotation in rotations:     # перебираем все возможные смещения второй молекулы относительно первой    for shift in shifts:         # поворачиваем и сдвигаем вторую молекулы         # с учётом заданных вращения и смещения        moved_mol2 = rotate_and_shift(mol2, rotation, shift)         # создаём из молекул комплекс, в котором вторая         # молекула повёрнута и сдвинута        new_complex = (mol1, moved_mol2)         complexes.append(new_complex)# сортируем все полученные комплексы по их правдоподобиюcomplexes.sort(lambda candidate_complex: score_complex(candidate_complex)) 

Однако тут важны детали. А именно, нас интересует способ оценки правдоподобия молекулярного комплекса, то есть того, насколько вероятно существование этого комплекса в природе. Точное определение правдоподобия даже одного молекулярного комплекса задача достаточно трудоёмкая. Всего у нас получается $R \cdot S$ комплексов, где R число вращений второй молекулы, а S число её смещений. На практике $R \cdot S$ имеет порядок $10^5$. Определить правдоподобие такого большого числа комплексов за разумное с практической точки зрения время и в условиях ограниченности вычислительных ресурсов просто не представляется возможным.


В 1992 году, когда был изобретён алгоритм докинга на сетках, проблема производительности была ещё более актуальна. Поэтому его авторами был предложен следующий подход.


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


$\text{cell}_{ijk} = \begin{cases} 1, & \text{если на поверхности} \\ p, & \text{если внутри} \\ 0, & \text{в другом случае}. \end{cases}$


Значение 1 присваивается ячейкам сетки, которые содержат атомы, находящиеся на поверхности молекулы. Значение $p$, которое находится в промежутке от 0 до 1, присваивается ячейкам, которые содержат только атомы молекулы, не имеющие доступа к её поверхности. Значение 0 присваивается всем остальным ячейкам сетки. Пример построения сеток для двух молекул приведён ниже.


image
Пример построения двумерных корреляционных сеток для двух молекул


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


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


Однако в таком виде данная идея не даёт нам прироста производительности: корреляция двух сеток вычисляется за время $O(N^3)$, где N размер одного измерения сетки, и время работы алгоритма всё ещё будет составлять $O(R \cdot S \cdot N^3)$. Это много. Заметим, что теперь нам не надо искать смещение второй молекулы относительно первой. Смещение молекул мы описываем исключительно в терминах сеток и их корреляции, поэтому достаточно найти смещение сетки второй молекулы относительно сетки первой молекулы. По найденному смещению можно однозначно восстановить сдвиг второй молекулы относительно первой. Теперь можно более точно оценить время работы текущего алгоритма: оно получилось $O(R \cdot N^6)$. Но это очень много, учитывая, что приемлемая точность работы алгоритма достигается при N, имеющем порядок $10^2$.


Тут нам наконец-то приходит на помощь университетская программа курса по алгоритмам. Оттуда мы знаем (или ещё только узнаем), что корреляция двух трёхмерных сеток может быть вычислена за время $O(N^3 \log N)$ для всех циклических сдвигов одной сетки относительно другой. Делается это с помощью алгоритма быстрого преобразования Фурье, более известного как FFT. При таком подходе время работы алгоритма докинга на сетках составляет $O(R \cdot N^3 \cdot \log N)$, что является намного более приемлемым результатом, чем время работы первоначального подхода.


Наконец-то мы можем записать финальную эффективную версию алгоритма докинга на сетках:


complexes = []# строим корреляционную сетку для первой молекулыgrid_for_mol1 = build_grid(mol1) # прямое преобразование Фурье для первой молекулыfft_mol1 = fft_3d(grid_for_mol1) # перебираем все возможные вращения второй молекулы относительно первойfor rotation in rotations:     # поворачиваем вторую молекулу с учётом заданного вращения    rotated_mol2 = rotate(mol2, rotation)     # строим корреляционную сетку для повёрнутой второй молекулы    grid_for_mol2 = build_grid(rotated_mol2)     # прямое преобразование Фурье для второй молекулы    fft_mol2 = fft_3d(rotated_mol2)     # поэлементно перемножаем преобразованные сетки. После этого     # применяем к результату перемножения обратное преобразование     # Фурье. И, казалось бы, магическим образом получаем корреляции     # для всех циклических сдвигов второй сетки относительно первой    correlations = ifft_3d(fft_mol1 * fft_mol2)     # создаём из молекул комплексы, в которых вторая     # молекула повёрнута и сдвинута    rotation_complexes = map(lambda shift_: (mol1, shift(rotated_mol2, shift_)))     # для каждого комплекса мы уже посчитали его правдоподобие     # с помощью быстрого преобразования Фурье    complexes += list(zip(rotation_complexes, correlations)) # сортируем все полученные комплексы по их правдоподобиюcomplexes.sort(lambda (candidate_complex, score): score) 

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


Улучшение докинга на сетках за счёт статистического потенциала


Алгоритм докинга на сетках бесконечно крут своей простотой и красотой, однако в том виде, в котором он описан выше, алгоритм имеет низкую точность. Дело в том, что на практике одной лишь геометрической совместимости поверхностей молекул не достаточно для того, чтобы делать выводы о правдоподобии формируемого ими комплекса.


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


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


$E_{SP} = \sum_{I \in N} \sum_{j \in M} SP_{ij},$


где $N$ и $M$ множества атомов молекул данного комплекса, а $SP_{ij}$ энергия взаимодействия атомов типов $i$ и $j$ в статистическом потенциале $SP$.


Это выражение можно представить в виде корреляции двух сеток, что позволяет повысить точность работы алгоритма докинга на сетках. Я был бы рад поделиться теоретическими выкладками о том, как это сделать, но хочется успеть рассказать вам о более интересных вещах. Просто поверьте (или проверьте), что для понимания этих выкладок не нужно ничего, кроме пары фактов из курса линейной алгебры.


Создание статистических потенциалов с разными свойствами представляет большой простор для исследований. Например, один только Piper использует два разных потенциала: DARS (Decoys as Reference State) и aADARS (asymmetric Antibody DARS). aADARS используется для докинга антител, а DARS для докинга остальных видов молекул.


В рамках своей магистерской работы я занимался созданием нового статистического потенциала, предназначенного именно для докинга антител. Изначально предполагалось просто обновить aADARS, пересчитав его на новых экспериментальных данных. Однако в ходе работы выяснилось, что сам подход к созданию потенциала может быть существенно улучшен за счёт учёта информации про электростатические взаимодействия атомов и петли антител. Это привело к созданию нового статистического потенциала WAASP (Widely Applicable Antibody Statistical Potential). Использование WAASP существенно увеличило точность алгоритма докинга HEDGE, разрабатываемого в департаменте, в котором я работаю:


image
Сравнение версий алгоритма докинга HEDGE, использующих разные статистические потенциалы


Что важно, прирост точности является существенным не только относительно версии алгоритма, не использующей статистические потенциалы, но и относительно версий, использующих DARS и aADARS.


Если вам интересно узнать побольше про применение статистических потенциалов в контексте задачи докинга, то на сайте нашей магистратуры есть запись моей защиты (вообще говоря, не только моей). Всего 7 минут, и ваш кругозор расширится необратимым образом!


Кластеризация


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


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


Разбиение множества элементов на группы по принципу сходства элементов называется кластеризацией. Каждая полученная группа называется кластером. В нашем случае в качестве разбиваемого на группы множества выступает множество результатов работы алгоритма докинга на сетках. В качестве метрики сходства элементов множества выбирается классическая для задач структурной биоинформатики метрика RMSD (Root-Mean-Square Deviation). RMSD между двумя молекулярными комплексами вычисляется как среднеквадратичное отклонение координат атомов одного комплекса от координат атомов другого.


Определив множество, которое мы хотим разбить на группы, и метрику похожести его элементов, мы можем воспользоваться любым существующим алгоритмом кластеризации, чтобы решить поставленную задачу. Опять же, чему нас учили в вузе: если не знаешь, какой алгоритм кластеризации взять, возьми иерархическую кластеризацию точно не прогадаешь. Действительно, данный алгоритм очень прост для понимания и гибок в плане настройки своих параметров. Правильную комбинацию параметров можно подобрать при условии наличия выборки, на которой можно произвести настройку алгоритма. На практике оказывается, что алгоритм иерархической кластеризации действительно хорошо подходит для разбиения на группы множества молекулярных комплексов.


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


Минимизация


image
Минимизация структуры молекулярного комплекса


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


Сначала давайте поймём, что такое энергия комплекса с точки зрения структурной биоинформатики. Возьмём две молекулы, которые формируют данный комплекс, и разведём их на бесконечное расстояние друг от друга. После этого давайте отпустим эти молекулы и понаблюдаем за нашей системой. Если молекулы слиплись в комплекс сами собой, то это значит, что его образование им выгодно. Если молекулы так и остались болтаться, никак друг с другом не взаимодействуя, то можно прицепить их друг к другу, используя внешнее воздействие (например, наши руки, которыми мы уже умудрились раздвинуть молекулы на бесконечное расстояние друг от друга!). Однако это означает, что в природных условиях данные молекулы в комплекс не объединятся.


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


Отсюда следует вывод, что чем меньше значение энергии комплекса, тем наиболее вероятно его существование в природе: мы так определили энергию. Из этого вывода мы можем почерпнуть две простые, но важные идеи.


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


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


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


Процесс поиска минимума функции называется минимизацией. Отсюда и название данного этапа работы докинга!


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


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


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


image
Пример ситуации, когда локальный минимум функции энергии не является глобальным


Нюанс тут заключается в том, что данный минимум является локальным. В некоторой окрестности данной точки действительно нет набора параметров, при котором значение функции было бы меньше. Но это верно лишь для данной окрестности: где-нибудь подальше очень легко может найтись значение функции, которое меньше данного (пример такой ситуации изображён на соответствующем рисунке). И это, несомненно, проблема. Обычно её решают за счёт добавления в процесс минимизации функции некоторой случайности, которая помогает выйти из локального минимума и продолжить поиск минимума глобального.


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


Всё, процесс работы всего алгоритма докинга завершён!


Заключение


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


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


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


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

Подробнее..

Предиктивная медицина или как дожить до 120 лет опыт запуска биотех стартапа Longevity InTime Biotech

17.02.2021 04:19:54 | Автор: admin
В 2018 году я дошел до создания биотехнологической компании. К тому времени я занимался разным бизнесом: инвестициями в кинопроизводство, рекламой, основал сеть кинотеатров в региональных городах. Но в конечном итоге осознал, что хочу вкладывать свое время не просто в деньги, а в продукт, которым потом воспользуюсь сам контроль за продолжительностью своей жизни и жизни близких. Ниже моя история о том, что удалось построить за полтора года без инвесторов и командой из 11 стран за долю в бизнесе.

Долголетие как идея продукта


Я загорелся темой продления жизни еще в 2012 году. Как и любой человек старше 30-35 лет, я испытал страх смерти. До этого в полной мере не осознаешь, что смертен. А потом начинаешь замечать примеры со стороны: Пол Аллен (партнер Билла Гейтса) умер в 65 лет, Стив Джобс в 56, мать Билла Гейтса в 64, на самом деле список длинный.

Я начал погружаться в тему и узнал, что, по мнению ученых, максимальный возраст человека в своем теле 120 лет. Начал пробовать на себе новые технологии. Попробовав технологию, связанную с осветлением крови с помощью лазера, я вообще не болел несколько лет. А если заболевал, то часов на 18-20.

И я понял, что не хочу, чтобы мой сын умер в 80-90 лет. Это было одной из мотиваций при создании проекта Longevity InTime. Как говорит один из наших экспертов Вадим Гладышев, директор медицинской школы Гарварда: есть две мотивации, по которым ученые входят в проект. Первая фундаментальные исследования, которые можно использовать для лабораторных испытаний, чтобы потом переходить на клинические испытания на людях, а вторая это личная мотивация. Думаю, эти две мотивации можно привести не только в отношении ученых.

Я собрал команду ученых, которые в разное время направляли проект в нужное русло. Одним из первых присоединились академик Андрей Лисица и уважаемый ученый в области longevity Алексей Москалев. Он сформулировал для нас основные биомаркеры, которые влияют на продолжительность жизни. В процессе к нам присоединились профессор Tokyo Medical University Hospital Хайк Аракелян, ведущий эксперт в области искусственного интеллекта Роман Душкин, заведующий лаборатории ФМБА Михаил Ключников, профессор Алексей Молодченков и американский физик, специалист в области машинного обучения Александр Скарлат.

В итоге получился продукт, который будет комплексно исследовать топ-20 смертельных болезней по 400 биомаркерам и давать персональные рекомендации, основанные на алгоритмах машинного обучения.

Есть миллиарды сценариев развития заболеваний, для каждого сценария есть свой запрос на поиск подтвержденных клиническими испытаниями данных. Никакой человеческий ресурс не может в реальном времени формулировать запрос и получать релевантные ответы, то есть искать в неструктурированных источниках информацию и размечать ее по требуемым критериям. Каждый день в медицинские базы типа Pubmed и Mimic загружаются сто тысяч статей на разные темы, а это новые запросы. Поэтому мы используем нейронные сети, которые обучаются в процессе выполнения таких сложных задач.

Допустим, мы хотим рассчитать для конкретного человека с кучей индивидуальных физических параметров, какое влияние уровень глюкозы или холестерина имеет на ожирение и вероятность инфаркта, инсульта, диабета и некоторых видов онкологии. Для этого дистанционно измеряем у клиента уровень глюкозы и холестерина. Это персонализированные параметры, на которые влияют очень многие факторы. Пока рекомендаций на основе персонального трекинга нет, приходится работать с тем что есть. Отталкиваться от общих исследований и на них строить будущую траекторию. Если такое исследование есть, искусственный интеллект найдет эту информацию, сопоставит с вашими параметрами и скажет, что, скорее всего, у вас такая-то траектория жизни.

Чтобы снимать показания биомаркеров, мы разрабатываем портативный контейнер для дистанционного сбора пяти видов биоматериалов. В нем они будут отправляться для дальнейших исследований в масс спектрометр лаборатории. Для сравнения, сейчас австралийская компания Atomo Diagnostic, финансируемая государством, выпускает контейнер по забору крови. Мы же будем забирать пять видов биоматериалов.

В нашем roadmap мы заложили год на то, чтобы отслеживать 20 основных заболеваний, сокращающих жизнь на 20-30 лет. Наверное, нам потребуется чуть больше времени, чтобы сделать столько расчетов и проверить их у ученых.

Фитнес-трекеры как способ выйти на массовый рынок


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

В апреле мы запустили приложения по ранней диагностике ожирения AntiObesity и BMIObesity в App Store и Google Play. Во время синхронизации с фитнес-браслетами приложение получает данные для анализа (сердечный ритм, давление и др.), а AI-алгоритмы формируют прогноз вероятности возникновения заболеваний вместе с персональными рекомендациями по предотвращению или минимизации последствий их развития. Пока это бета-версия, но мы готовимся выпустить обновленную версию в начале августа.

Мы решили проверить, можно ли будет монетизировать приложение за счет встроенных покупок. Пока гипотеза такая: 99 центов будет стоить один сгенерированный отчет по рискам появления смертельных заболеваний и по рекомендациям снижения этих рисков. Бесплатно первые две недели или если риски и рекомендации не меняются. Данный отчет будет эквивалентен визиту к врачу или дополнительным мнением, учитывая, что в мире в среднем 25-30 % всех смертей происходит из-за врачебных ошибок. В России приём доктора стоит от 1000-1500 рублей, мы же будем продавать понятные результаты и рекомендации в 15 раз дешевле. Будем проверять реакцию рынка.

Также в связи с ситуацией с коронавирусом мы запустили тест основного продукта приложение AntiCoronaVirus. Это приложение скорее для общественного блага, мы не пытались на нем заработать и никак не продвигали. Хотим сначала его усовершенствовать.
Разработка при нулевых инвестициях и вложениях
Я проспал то время, когда всем стартапам подряд раздавали деньги. А учитывая ситуацию с коронавирусом, многие инвесторы легли в спячку и ждут, когда нормализуются рынки.

У нас была классная идея, наработки, но не было денег. Мне же хотелось собрать хорошую команду как можно быстрее. Поэтому мы начали оценивать стоимость работы в час каждого члена команды (или партнера). Раз в месяц мы подписываем акт, по которому конвертируем выполненный объем работы в долю компании. Сейчас я раздал своим партнерам около 0,2 % акций компании. За эти две десятые процента специалисты сделали продукт, который стоил бы десятки миллионов рублей. И я их не потратил, но уже протестировал команду и гипотезы. Когда в проект будет заходить инвестор, он будет покупать уже опробованный кейс.

Мотивация моего партнера-сотрудника в следующем: сегодня из текущей стоимости компании он продал час своей работы условно за 50$, а если компания будет стоить в 10 раз дороже, то пропорционально увеличится и стоимость его работы. А если бы мы платили деньгами, то сколько бы не стоила компания, стоимость часа была бы такой же. Возможно, был бы бонус, но в любом случае партнер не получил бы за свою работу в 10 раз больше. Безусловно, у партнера такой системы мотивации есть риск, что компания не подорожает, но риск есть и в компании, которая платит зарплату. Когда сотрудник работает за зарплату, у него меньше мотивации, чтобы компания стоила в 10 раз больше. Короче говоря, главный мотиватор для всех участников сделки быстрое увеличение капитализации компании.

Отсутствие денег творит чудеса. Пока мы не нашли крупных инвесторов, но преуспели в другом. Google нам выделил 100 тыс. $ кредитами на серверные мощности, этого хватит на пару лет. Подали патентную заявку в США за 70$ стоимость пошлины. Готовил заявку алгоритм искусственного интеллекта компании AI Legal из Казахстана, проверял патентный юрист из Индии. Домены купили за 0,88$ за штуку. Компанию зарегистрировали за 300$ сами напрямую.

Сейчас это работает, но мы хотели бы ускориться. Например, найти партнеров, которые помогут создать компанию стоимостью в 100 млрд.$ в течении 2-3 лет. Сумма это скорее индикатор полезности обществу, чем самоцель.

Международная команда


Я собрал команду из 11 стран: Россия, Казахстан, Азербайджан, Белоруссия, Украина, Индии, Нигерии, Индонезии и США. Есть консультанты из США, Финляндии и Великобритании. Русскоговорящих ребят я нашел благодаря Хабр Карьера.

У нас не было задачи собрать мультинациональную команду. Все вышло само собой. Когда мы вели переговоры с некоторыми инвестфондами в Великобритании и США, они сказали, что не сотрудничают с компаниями, в которых работает большая часть выходцев из русскоговорящих стран. Причем там также работают русские. По большому счету они не смогут проверить реальное физическое нахождение сотрудника. Тем не менее, мы честно пишем, что у нас 30% команды работает из России, 70% за территорией России.

Сейчас у нас 50 контрактов со специалистами, из них сейчас постоянно работает 30 человек, 20 по разным причинам пока поставили проект на паузу. Но мы со всеми расстались хорошо, некоторых сотрудников я планирую вернуть, когда появится финансовая возможность.

Вся команда работает part-time. Это не влияет на качество работы, но иногда приходится сдвигать дедлайны. Мы все время на связи, раз в неделю у нас общий конференц-колл. Все текущие задачи обсуждаем в Slack, используем трекер задач Trello и Jira, базу знаний храним в Gitlab.

Раньше в чатах мы пытались общаться на английском. Но зачем, если все понимают русский? С приходом сотрудников из других стран, мы перешли на английский в чатах, где есть иностранные коллеги. Но там, где их нет, по-прежнему говорим на русском. Тестируем разные варианты взаимодействия.

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

Личный опыт Вжух и ты в биотехе. Как устроиться на работу в отрасли, которая вдохновляет

12.03.2021 16:12:58 | Автор: admin

Неразлучная троица требования/условия/обязанности успела набить всем оскомину. Звучит совсем некак описание вакансии мечты. Кажется, самое главное найти томесто, которое подходит лично вам иотвечает вашим ценностям изапросам. Нокак?

Поговорили сPython-разработчиком, который заинтересовался биотехнологиями игенетикой. Ещё четыре года назад повсей России нельзя было отыскать ниодной вакансии для разработчика вбиотехе новот оннедавно вышел вBostonGene. Казалосьбы, событие простое. Нокак, всё-таки, классно выйти наработу вкомпанию втой индустрии, которая вдохновляет. Размышляем отом, как искать идеальную команду икак понять, скаким менеджером непопути. Передаём слово Сергею :)





Почему явообще искал работу


Привет, насвязи Сергей Гаврилов. Недавно явышел нашестое посчёту место работы запоследние 5лет. Компанию, скоторой буду совпадать поцелям иинтересам, искал очень долго. Говорят, что часто перескакивать сместа наместо неочень хорошо, нокак помне, восстанавливать разрушенное здоровье из-за стресса втоксичной команде ещё хуже. Искал интересные задачи понимаю, это субъективный критерий. Ноесли приходя вофис каждый раз придумываешь, как убить день, или попадаешь вкруговорот унылых ибестолковых задач, которые спускают сверху что-то явно идёт нетак. Именно этого подхода кпроцессам вкоманде япытался избежать.

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

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



Советы изличного опыта: как понять, что будет формальный подход кработе


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

    Обычно пишешь код только 5070% рабочего дня, иэто очень производительно. Ноименно оставшиеся30% решают, как долго тызадержишься вкомпании 7месяцев или два года.
  2. Если работа бредовая
    Японимаю, что при выборе позиции люди пользуются разной оптикой: может быть важнее извлекаемый ресурс (деньги, удалёнка, время впути, наличие ДМС) или самореализация взадачах. Первый подход мне неблизок.

    Антрополог Дэвид Грэбер в2013 году опубликовал эссе, где рассматривал современный мир сточки зрения распределения игенерации бесполезный работы.

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

    Как определить, открылили позицию для галочки? Насобеседовании язадаю вопрос, что должен буду делать. Ответ вдухе разрабатывать такой-то продукт меня настораживает. Это звучит очень размыто изначит, что хорошей, чёткой цели нет.

    Чтобы глубже оценить масштабы проблемы, спросите, чем занимался предыдущий человек наэтой позиции. Если отвечают, что его небыло, иотдел сформировался два месяца назад, тодальше начинается игра врусскую рулетку: может повезти, аможет нет, именеджеры стимлидами будут сражаться забюджет, нанимать людей итолько потом придумывать имработу. Азадачи должны решать проблемы бизнеса.
  3. Если говорят только про продуктивность
    Тонны контента отом, как эффективно работать, которые окружают нас повсюду очень деструктивная вещь. Для меня разговоры про продуктивность при обсуждении очередного невыстрелившего проекта кажутся попыткой избежать решения реальных проблем: проще сказать, что команда непродуктивна, чем разбираться впричинах. Безусловно, каждый ответственен сам засебя, новсё-таки командная работа это работа команды. Поэтому хочется, чтобы книжками про эффективность незатыкали тех, кому что-то ненравится.


Советы изличного опыта: как яузнаю менеджера, скоторым будет тяжело работать


  1. Менеджеру плохо известен продукт
    Для меня тревожный звоночек, если насобеседовании работодатели звучат так, будто незанимались проектом никогда. Такие менеджеры часто бесцветно говорят опродукте, который надо разрабатывать команде, без каких-либо деталей. употрябляют местоимения, всё безличное: они сделали то-то ито-то. Для меня это выглядит, как перекладывание ответственности инезнание продукта опять формальный, отстранённый подход.
  2. Онничего незнает потехнической части
    Возможно, вывод контринтуитивный. Нотакой менеджер невовлечён вто, чем вызанимаетесь. Аведь именно унего есть власть добыть ресурсы для команды, объяснять начальству, что изачем выделаете, выбивать зарплату, защищать новые позиции иразрешать конфликты вкоманде.

    Плохо, если онвообще непришёл насобеседование значит, менеджера увас скорее всего нет. Возникают вопросы: кто будет ставить задачи, кто будет заниматься развитием проекта?

    Ещё важно убедиться, что тот, кто вас собеседует, будет вами ируководить. Вмоём опыте были интервью, куда приходили собеседовать люди вне команды. Получается опять кот вмешке.
  3. Человек просто неприятен
    Очень важно, чтобы будущие коллеги просто по-человечески нравились. Хочется работать вкоманде, где неприходится себя заставлять заговорить сколлегами, где тебя уважают.

    Если кандидата насобеседовании прерывают, относятся пренебрежительно идти туда нестоит.


Что яискал


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

Яуспел поработать вразных продуктах: вфинтехе, наброкеров, вдиджитале, даже пилил прототип для строительного стартапа. Понял, что для меня самое главное чтобы отрасль увлекала. Сами посебе технологии неинтересны. Главная цель IT помогать. Любую программу пишут, чтобы автоматизировать, азначит или уменьшить какому-то живому человеку количество скучной работы, или дать ему инструмент для того, чтобы ионсмог создавать что-то новое, какую-то ценность для компании икоманды.

Поэтому вэтот раз ярешил искать работу вобласти биотеха. Почему? Запоследний год рынок биотехнологических стартапов показал рост ничуть нехуже IT-стартапов, что наложилось намой давний интерес ктеме.




Источник

Как ятеперь помогаю BostonGene лечить людей


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


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

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


Мой поиск работы был трудным, потому что стояла задача найти биотех-компанию софисом ипозицией для человека без опыта вобласти.


Янезнал, какие компании представлены, какие набирают разработчиков икак попасть вту, которая незабросит меня вобычную IT-команду. Для такого лучше всего подходит просто выставление резюме навсех доступных джоб-бордах, ноHR-специалисты совершенно незнакомы спредпочтениями пообласти, ивсё равно завалят десятками совершенно ненужных позиций. Разве кто-то читает краткое описание врезюме? Но, посчастью, ещё полгода назад янаткнулся насвежий стартап g-mate, который предлагает персонализированный хайринг иготов рассматривать ваши предпочтения, анеработодателя. Для меня лучше всего сработал именноон. Потому всем советую.



Бонус для тех, кому интересен биотех: счего можно начать знакомство сбиологией


  1. Готовился тут: онлайн-курс Основы генетики
  2. Молекулярная биология клетки
  3. Единственный нормальный курс побиоинформатике наСтепике
  4. Бонус: вэтом канале периодически посматриваю, кто что регистрирует. Если повезёт, можно выгодно закупиться акциями.
Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru