Как стать автором
Обновить

Комментарии 33

По содержанию отличная статья. Про форму умолчу.
К сожалению не смог выстроить полноценную структуру, чтобы при этом было более-менее понятно, потому просто описал последовательность действий с комментариями.
Часть, которая идет после воды, скорее приведена, чтобы показать проблемы при взятии молекулы «из головы» т.к. без нее может показаться, что все слишком просто.

2022 для актуализации приведу немного изменений:

сайт АТБ билдера на текущий момент https://atb.uq.edu.au/, для использования нужно в имеющихся ссылках подменить доменное имя с поддоменном на указанное тут т.е.

https://atb.uq.edu.au/molecule.py?molid=23661 -> https://atb.uq.edu.au/molecule.py?molid=23661

Документация теперь по адресу:
https://manual.gromacs.org/current/install-guide/index.html


«Электронагревательные приборы» — это компьютеры, на которых крутятся особо тяжёлые расчеты?
В принципе как и любые расчеты — съедает при позволении, все вычислительные мощности машины(включая видеокарту) ну соответственно очень не плохо греет.
Средняя научная группа из 30 человек, которая занимается структурным моделированием загружает кластер на ~100kW, последние пару лет сильно активизировался переход на GPU для MD, потому что performance/$ намного лучше. Загружали бы и больше, но кто ж денег даст :)
Загружали бы и больше, но кто ж денег даст :)

Скооперироваться с какими-нибудь американцами и подать заявку на INCITE :)
Тут все непросто. Мега-кластеров, которые предоставляют комп. время на самом деле хватает, не только в США. Пользоваться ими для MD на практике затруднительно. Тем не менее, когда подходящая под такие кластеры задача возникает, как правило с получением процессорного времени проблем нет, но это не заменяет on-cite кластер. Обычно пользуются и тем и тем, в зависимости от проекта.
  • Классическая мол. динамика плохо распараллеливается, большинство реальных симуляций нет смысла запускать более чем на 64х ядрах — быстрее не будет. На сегодняшний день 1 GPU выдает больше ns/day чем даже 64 самых быстрых CPU и ситуация с GPU ещё улучшается. Одну симуляцию почти нет смысла запускать более чем на 2х GPU, изредка на 4х.
  • При подаче проекта на мега-кластер есть минимальный порог выделяемого времени т.к. они не хотят размениваться на мелочёвку. В идеале они хотят что бы вы им сразу весь кластер загрузили, а это очень трудно. Как не смешно, в большинстве случаев задачи решаемые MD слишком мелкие для них.
  • Подача заявок на процессорное врямя на таких кластерах — трудоёмкий процесс с кучей бюрократии, а рабочее время тоже денег стоит и вообще, если можно этим не заниматсья — не будут.
  • На мега-кластере не всегда есть нужный софт и что-то сделать — это очень страшный геморрой
  • On-cite кластер даёт гораздо больше гибкость — не нужно письменно заверять каждый чих. Также можно на ходу корректировать параметры задач по ходу дела, останавливать и запускать другие и т.п., что на мега-кластере опять же не всегда удобно.

Группа, из 30 человек, которая может себе позволить иметь кластер на ~100kW — это довольно хорошо финансируемая группа по европейским меркам. На сколько я сталкивался, такие группы как правило также пользуются и мега-кластерами из ТОП 100 и ТОП 10, но это возможно только для некоторых, немногих, проектов.
Но ситуация меняется, возможно через пару лет сценарии использования поменяются.
Вопрос, с какой точностью будет моделироваться фолдинг белка. Наверное, с неприемлемой, раз это до сих пор супер-актуальная тема, кроме того проводятся соревнования по алгоритмам такой свёртки. Причина в отказе от учёта квантовых свойств?
На данный момент protein folding с помощью MD — задача концептуально полностью решенная (см. публикации David E. Shaw). Существует специальный компьютер (Anton), в котором используются CPU специально разработанные для MD, де факто это код gromacs в hardware :) (грубо говоря). На этом компьютере достижимые времена симуляций (в лоб) порядка миллисекунд. Они на этом компе показали уже примеры сворачивания маленьких белков. Таким образом небольшие белки можно тупо в лоб уже сворачивать, при этом статистические и термодинамические характеристики будут корректные и т.п. Обычные компьютерные GPU-кластеры позволяют на сегодня делать симуляции (для аналогичных небольших белков) порядка десятка микросекунд, НО сейчас очень активно развиваются методы, которые позволяют корректно «склеивать» результаты независимых симуляция с разных GPU, таким образом эффективное реально достижимое время симуляций достигнет параметров Anton буквально в ближайшие пару лет.
Также есть уже давно методы фолдинга не в лоб, которые сложные, не всегда применимы, но позволяют тоже хороших результатов добиваться.
А что с большими белками?
Принципиальных ограничений нет. Но нужно понимать, что задача фолдинга ограниченный интерес представляет. К тому же в природе белки сворачиваются не в растворе соли в воде (как в MD), а при активном участии других белков (например шаперонов), которые природа специально «создала» что бы этот процесс регулировать. Многие белки свернуться в «пустой» воде тоже, но кому это интересно, время не то, термодинамика не та — сферический конь в вакууме выходит. Короче фолдинг большого белка сделают, как только более приоритетных задач не будет (то есть когда процессорное время подешевеет достаточно).
Shaw свернул очень маленькие белки, у которых фактически нет гидрофобного ядра, так что впереди у нас еще несколько концептуальных демонстраций.
Структуру белка обычно моделируют по аналогии с уже известными, и результаты иногда получаются очень хорошими, и часто — достаточно хорошими.
Всё зависит от задач. Homology modelling, о котором вы упомянули действительно очень успешно и широко используется, но есть целые классы белков, с которыми это не работает, потому что ни одного template нет. Даже в тех случаях, когда шаблоны есть, качество полученных структур часто бывает недостаточно, скажем, для structure-based drug design (разработки лекарств на основе структуры [белка/аминокислоты/комплекса]).
Кроме того для отрасли в целом интересна не сама структура, а функция (и механизм), для понимания которых важно также понимание и динамики, помимо знания конформации основного состояния. А ещё есть целые классы биомакромолекул без основного состояния и т.д. и т.п. Есть что изучать в общем :)
I-tasser и Rosetta тоже фактически моделируют на основе известных структур, собирая из маленьких кусочков.
Экспериментально полученной структуры тоже часто бывает недостаточно для structure-based drug design :)
Считается что для structure-based drug design нужно разрешение 2.0 Ангстрема и лучше, что обычно достижимо для современных методик NMR и X-ray crystallography.
Это я к тому что даже при наличии структуры с хорошим разрешением не всегда получается интересный результат.
Спасибо автору за статью, может кому-то и пригодиться, но всё же хочу спросить.
Зачем популяризировать MD (Molecular Dynamics)?
Вот интересно, зачем человеку, который не занимается MD в связи с профессиональной деятельностью, вообще MD может понадобится? Для получения любых полезных результатов не достаточно «установить и запустить» MD — нужно понимать все ограничения, подводные камни, применить и понимать статистический анализ и т.п. Этому всему учат в университете и долго. Если всего этого не пройти — нельзя будет по полученным симуляциям правильные выводы сделать (хотя некоторые и пытаются так поступать). Что бы заниматься MD с пользой нужно университет закончить и пройти несколько курсов, связанных с MD, затем обучаться около года как это делать, под пристальным руководством знающих людей и при этом продолжая много читать про MD и только после этого можно получить какой-то стоящий результат. О том, какие вычислительные ресурсы нужны на сегодняшний день что бы результаты всерьез восприняли при публикации и говорить нечего — минимум год процессорного времени на GPU уровня Nvidia GTX970. Если считать на CPU, то без кластера и вовсе не обойтись.
На мой взгляд, популяризировать MD в непрофессиональной среде — все равно что популяризировать флюоресцентную спектроскопию, например. MD — это всего лишь весьма специализированный и сложный инструмент, доступный только для профессионалов как по причине сложности использования, так и из-за дороговизны.
Необязательно этим профессионально заниматься, чтобы иметь интерес. Банальное развитие выч мощностей наводит на вопрос — а можно ли посчитать связи итп? На хабре возникали вопросы о том, кто — что может о громаксе рассказать. А так же иногда авторы ради интереса изобретать программы по моделированию, так что увы, но все же у человека не занимающегося этим профессионально может возникнуть интерес.
Преследуемая цель статьи — популяризировать Gromacs в широких кругах.

Зачем?
Затем же, зачем человек дома запустил рентгеновскую трубку, хотя у него ведь же даже детектора и гониометра нету, чтобы снять рентгенограммы — потому что это интересно.
В моем понимании для «старта» в области моделирования, показанного должно быть достаточно.

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

Потому что смысла нет. MD проходят на специальных курсах в универе/на воркшопах. Есть книги. Также как нет инфы типа «проектирование мостов за 14 дней»
Такими рассуждениями можно уничтожить любые идеи популяризации чего-либо. Формата: " Ардуйно — не нужно, потому что серьезного ничего не сделаешь без хорошего управления питанием, прерыванием, тактированием итп.", «Статьи по языкам не нужны, потому что там все кратко и не точно, а глубокого понимания это не даст, т.к. надо читать книги.».

Вы не правы. Кривая вхождения в Ардуино совершенно иная, тем более в контексте хабра можно ожидать, что большая её часть уже пройдена. Статья по ардуино может быть полезна для аудитории хабра — можно что-то интересное или полезное для себя сделать. С MD совершенно не так. Скажите, уместно было бы здесь написать статью о том, как получить карту плотности с помощью криоэлектронной микроскопии? С целью «популяризировать cryo-EM»? Вы примерно то же самое делаете.
Я не против того, что бы Вы писали статьи о MD, просто мне кажется, они получатся намного лучше, если представлять себе, зачем это делается.
Я почти уверен, что существуют задачи, не связанные на прямую с МД, где могут потребоваться знания о реализации внутримолекулярного взаимодействия или о реализации алгоритмов расчета, т.е. того, что используется уже в МД. Чем шире кругозор человека и его знания, хотя бы краткие, тем больше у него возможностей.
Если сравнивать с ардуйнкой, то тут тоже можно что-то сделать не большое и на это посмотреть.
Но это не имеет ничего общего с «популяризировать Gromacs в широких кругах»
А что, я бы с удовольствием прочитала про cryo-EM.
На самом деле эта тема для хабра может быть очень интересной, т.к. на сегодняшний день cryoEM уже больше IT чем физика :). К сожалению, я cryoEM лично не занимаюсь и знаком с методом и проблемами лишь поверхностно. Интересующиеся могут попробовать поискать Holger Stark Cryo-EM ribozyme.
Я работала с уже готовыми картами плотностями, в программе Chimera.
Действительно, как сказали выше, напишите подробнее и о cryo-EM, зачем он нужен итп, как обстоят дела с ним.Так же было бы интересно подробнее о делах с МД, какие мощности сейчас есть, что получают, привести примеры «долгих вычислений» — это интересно.
Постараюсь собраться с мыслями и что-то такое написать. Возможно для начала адаптирую какое-нибудь недавнее ревью по этой теме из хорошего журнала под формат ГТ.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации