Популярные сообщения

суббота, 29 января 2011 г.

Gromacs, example5 - Алгоритм включения файлов и переменных в процесс моделирования.

      Созадние в ручную файлов с дополнительными параметрами для моделирования (*.itp, *.mdp, *.top) для любой версии Gromacs. Директивы define и include.

      *.top файлы и вообще любые другие файлы можно создавать самому, не прибегая к услугам программ по генерации, таких как pdb2gmx и подобных ему. По больному счету любое силовое поле Gromacs`a есть просто набор определенных констант, которые лежат в файлах, подключающихся в определенном порядке и *.top - набор дополнительных параметров и ссылок. У Gromacs`a есть так называемый С препроцессор - cpp, который выполняет сканирование файлов для grompp и собирает все компоненты согласно дерективам. Любую величину в Gromacs можно переоперделить, объявив заново, использоваться в моделировании будет последняя объявленная. Если необходимо использовать при расчетах какие либо особоые величины не совпадающие с теми, что лежат в силовом поле Gromacs`a или добавить какие либо дополнительные данные к расчету, то можно написать/дописать свой файл *.itp. Для этого необходимо создать в нем конструкцию, например такого вида:
      #ifdef POSRES_WATER
      ; Позиционное ограничение для каждого атома кислорода в молекуле воды
      [ position_restraints ]
      ;  i funct       fcx        fcy        fcz
      1    1       1000       1000       1000
      #endif
в ней задается дефайнер (определитель) - все что стоит между #ifdef и #endif с именем POSRES_WATER и может быть вызвано.
Для того чтобы файл эту конструкцию увидел grompp, ее необходимо подлкючить директивой в *.top файле:
      #include "имя_файла.itp" // в этом случае будут искать по переменной окружения GMXLIB в */share/gromacs/top.
Для того чтобы задействовать дополнительные каталоги в поиске файлов, а не только GMXLIB необходимо их подлключить для grompp в *.mdp файле директивой, начинающейся с -I:
      include = -I/home/alex/my_file
      include = -I../more_lib
Для того чтобы воспользоваться данными из такой конструкции необходимо в *.mdp прописать директивой имя нашего дефайнера начинающееся с -D:
      define = -DPOSRES_WATER
Когда grompp будет собирать бинарник для mdrun, то он исполнит все как написано в подключенных файлах и конструкциях. 

P.S. Если статья была вам полезна проголосуйте в опросе блога, этим вы скажите СПАСИБО Автору, также можно обсудить её на Форуме. 

Назад к оглавлениюруководство по Gromacs

9 комментариев:

  1. Привет, меня зовут Леша. У меня к тебе такой вопрос: как в активном сайте в котором находится АТФ или АДФ укрепить Mn2+ или Mg2+? Эти ионы должны стабилизировать положения лиганда (АТФ) в активном сайте, но их связь слабее, чем подвижность фосфо конца...я думал искусственно прицепить PULL distance, думал вписать в топологию АТФ или bonded.itp...а сейчас подумал, можно ли прописать такую связь, типа OPО-Mg2+ (то есть между кислородом фосфата и магнием) в nonbonded.itp?? поле charmm27. Спасибо

    ОтветитьУдалить
  2. Идея со связью в nonbonded.itp и топологией для bonded.itp хорошая, но главное там не спутать порядок и значения величин.
    В пакете есть программа genion, которая позволяет встраивать в ячейку различные ионы, обновляя геометрию и топологию системы, с ней работал?
    Если получится с *bonded.itp пришли пожалуйста алгоритм.

    ОтветитьУдалить
  3. Мда, с genion работал ) но дело в том, что создавая атом Mg2+ в месте, которое определено координатами pdb файла, я получаю абсолютно рабочую систему, проблема заключается в том, что силы взаимодействий не хватает, чтобы ион держался на месте и, тем более, стабилизировал положение АТФ )) к примеру, ионы цинка я закрепляю в белке изменяя протонирование CYS на CYM без проблем...поэтому цинк не уползает в МД... тут же ничто не может удержать Mg2+. Поэтому я и подумал отдельно создать связь, энергию и расстояние в nonbonded.itp (так более натурально получается, чем в bonded.itp). В результате я рассчитываю получить, что-то типа constraints...

    ОтветитьУдалить
  4. Был рад, обнаружив этот блог. Но вижу сообщения датированы 2011 годом, позже нет. Проект не работает?

    ОтветитьУдалить
    Ответы
    1. Да, в данный момент эта тематика находится в таком состоянии.
      Сам пакет, Gromacs, развивается и растет далее.

      Удалить
  5. Я когда-то сам написал МД програму для ионных кристаллов, работал с коммерческими МД пакетами, но уже более 10 лет ими не занимался и вот опять подвернулся проект, нужно запустить МД моделирование для новых полимерных молекул, и что то у меня идет со скрипом, отвык. А как дела у молодёжи? В каком направлении работаете сейчас?

    ОтветитьУдалить
    Ответы
    1. Для меня вся эта тематика полностью осталась в первой половине 2011 года, более не занимался этими вопросами. Сфера интересов далеко отошла от молекулярного моделирования, вернее сказать ушла из этой области. Сейчас меня интересуют совсем другие направления: экономика, техника, инновационные проекты и инвестиции.

      Удалить
  6. Вы знаете, были идеи описать глобальные экономико-производственные системы по идейному принципу молекулярной динамики: производственно-экономическая единица - атом, производствено-экономические отношения - что-то вроде сил или энергий парного взаимодействия атомов. Не знаю, вылились ли эти идеи в реальное программное обеспечение, но как-то и что-то в экономике, конечно, тоже считают. Вы как-то связаны с этим, или решаете сугубо практические вопросы? У меня сосед по дому - физик-теоретик, закончивший МФТИ, кажется, работает программистом в каком-то банке. Когда-то брали физиков в экономику, надеясь перенести опыт разработки теоретических моделей из физики в экономику, но, как он говорит, он такие задачи не решает. Интересно, ведь есть программы-роботы, которые играют на фондовой бирже. Вот где, наверное , переплелись теория и практика. Какие специалисты разрабатывают математическое обеспечение для таких программ?

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

      Удалить

Ваш комментарий будет "принят к сведению" и пойдет на рассмотрение.