Созадние в ручную файлов с дополнительными параметрами для моделирования (*.itp, *.mdp, *.top) для любой версии Gromacs. Директивы define и include.
Назад к оглавлению : руководство по Gromacs
*.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. Если статья была вам полезна проголосуйте в опросе блога, этим вы скажите СПАСИБО Автору, также можно обсудить её на Форуме.
; Позиционное ограничение для каждого атома кислорода в молекуле воды
[ 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
Привет, меня зовут Леша. У меня к тебе такой вопрос: как в активном сайте в котором находится АТФ или АДФ укрепить Mn2+ или Mg2+? Эти ионы должны стабилизировать положения лиганда (АТФ) в активном сайте, но их связь слабее, чем подвижность фосфо конца...я думал искусственно прицепить PULL distance, думал вписать в топологию АТФ или bonded.itp...а сейчас подумал, можно ли прописать такую связь, типа OPО-Mg2+ (то есть между кислородом фосфата и магнием) в nonbonded.itp?? поле charmm27. Спасибо
ОтветитьУдалитьИдея со связью в nonbonded.itp и топологией для bonded.itp хорошая, но главное там не спутать порядок и значения величин.
ОтветитьУдалитьВ пакете есть программа genion, которая позволяет встраивать в ячейку различные ионы, обновляя геометрию и топологию системы, с ней работал?
Если получится с *bonded.itp пришли пожалуйста алгоритм.
Мда, с genion работал ) но дело в том, что создавая атом Mg2+ в месте, которое определено координатами pdb файла, я получаю абсолютно рабочую систему, проблема заключается в том, что силы взаимодействий не хватает, чтобы ион держался на месте и, тем более, стабилизировал положение АТФ )) к примеру, ионы цинка я закрепляю в белке изменяя протонирование CYS на CYM без проблем...поэтому цинк не уползает в МД... тут же ничто не может удержать Mg2+. Поэтому я и подумал отдельно создать связь, энергию и расстояние в nonbonded.itp (так более натурально получается, чем в bonded.itp). В результате я рассчитываю получить, что-то типа constraints...
ОтветитьУдалитьБыл рад, обнаружив этот блог. Но вижу сообщения датированы 2011 годом, позже нет. Проект не работает?
ОтветитьУдалитьДа, в данный момент эта тематика находится в таком состоянии.
УдалитьСам пакет, Gromacs, развивается и растет далее.
Я когда-то сам написал МД програму для ионных кристаллов, работал с коммерческими МД пакетами, но уже более 10 лет ими не занимался и вот опять подвернулся проект, нужно запустить МД моделирование для новых полимерных молекул, и что то у меня идет со скрипом, отвык. А как дела у молодёжи? В каком направлении работаете сейчас?
ОтветитьУдалитьДля меня вся эта тематика полностью осталась в первой половине 2011 года, более не занимался этими вопросами. Сфера интересов далеко отошла от молекулярного моделирования, вернее сказать ушла из этой области. Сейчас меня интересуют совсем другие направления: экономика, техника, инновационные проекты и инвестиции.
УдалитьВы знаете, были идеи описать глобальные экономико-производственные системы по идейному принципу молекулярной динамики: производственно-экономическая единица - атом, производствено-экономические отношения - что-то вроде сил или энергий парного взаимодействия атомов. Не знаю, вылились ли эти идеи в реальное программное обеспечение, но как-то и что-то в экономике, конечно, тоже считают. Вы как-то связаны с этим, или решаете сугубо практические вопросы? У меня сосед по дому - физик-теоретик, закончивший МФТИ, кажется, работает программистом в каком-то банке. Когда-то брали физиков в экономику, надеясь перенести опыт разработки теоретических моделей из физики в экономику, но, как он говорит, он такие задачи не решает. Интересно, ведь есть программы-роботы, которые играют на фондовой бирже. Вот где, наверное , переплелись теория и практика. Какие специалисты разрабатывают математическое обеспечение для таких программ?
ОтветитьУдалитьНет, я с такими механизмами еще не сталкивался, не подозревал о таких идеях. Есть какие либо законченные работы, чтобы почитать на досуге?
УдалитьНа моей взгляд, я хоть и не много еще сталкивался с роботизированной торговлей на бирже, но там математический алгоритм достаточно жестко формализован на основе технического анализа с применением какими-то своим "авторским" алгоритмом поведения. Внести и описать языком программирования теоретические и практические аспекты экономики достаточно сложно, в плане реализации робота. На мой взгляд большинство для этих задач берет трейдера и аналитика с большим опытом работы. А физиков-теоретиков берут на работу в банковскую или смежную с ней сферу, т.к. у них в нужном объеме развит "головной аппарат" позволяющий достаточно хорошо и быстро принимать правильные решения, обучаться, писать и использовать ПО.