Новосибирский институт органической химии им. Н.Н. Ворожцова СО РАН

Лаборатория изучения механизмов органических реакций

conformers

Usage: conformers [-logfile] [-option=string] file.ext [file1.ext ...]

Dependencies: Perl, [MOPAC2009, babel, cxcalc, tinker, vconf].

Анализ конформеров. 

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

По умолчанию -- инпут с конформерами в формате xyz, при этом babel и
генераторы конформеров (cxcalc, tinker, vconf) не нужны.
Если расширение файла не .xyz, то будет попытка конвертации его в
xyz с помощью babel.

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

Опции:

-logfile  вывод информации о работе скрипта будет не на консоль, в файл 
          с названием, основанным на имени input-файла и расширением ".log"
          
-no_mopac   Вычисления MOPAC'ом не производятся. Только удаление дублей из 
        предоставленного в качестве инпута или из вычисленного молекулярной
        механикой набора конформеров. Эта опция необходима, например, для 
        объединения уже посчитанных MOPAC'ом результатов после разных
        генераторов конформеров.

-method=RM1|PM6|PM7|AM1|PM3|MNDO  Минимизация геометрии будет выполнена mopac'ом
            По умолчанию -method=RM1
-method=QM  Вместо MOPAC будет Природа со своим новым полуэмпирическим
            методом (медленнее, чем MOPAC)
-QM_SP      Добавлять во 2-ю строку Energy_SP - энергию неоптимизированной
            структуры
-method=MMFF94|UFF|MMFF94s|Ghemical|Gaff Минимизация геометрии будет выполнена
        молекулярной механикой программой obminimize (openbabel).
-obminimize_n  default 10000

-method=tinker  Минимизация геометрии будет выполнена молекулярной механикой 
        tinker'ом (по умолчанию программа /usr/local/lib/tinker/bin/newton,
        силовое поле mmff, rms 0.0001). 
        Эти параметры заданы в начале скрипта.
-tinker_rms  default 0.00001

-mopac_key='string'   Добавочные ключевые слова для mopac. 
        См. help по MOPAC http://openmopac.net/manual/index.html
        Несколько слов -- через пробел в общих для всей строки кавычках.

-keep_out  Don't delete inputs and outputs of mopac and Priroda
        
-charge=number         Заряд (для mopac и для Природы)
        По умолчанию charge=0 или 1 (вычисляется с учетом значения -mult)

-mult=number    Мультиплетность (для mopac и для Природы)

-np=number   Число ядер (тредов) для mopac и для Природы (-np=1 default)

-MM_key='string' Параметры для obminimize. -ff MMFF94, остальные умолчаемые.

-energy=number  минимальная разница энергий конформеров, 
                которые будут считаться неидентичными.
        Если эта опция не задана, конформеры будут сравниваться каждый с каждым.
        Если энергия в хартри, рекомендуется -energy=0.001 (~0.6 kcal/mol)
        
-ellips=number  Число знаков после запятой у каждой из осей эллипсоида инерции.
        Длины осей объединяются в строку типа 1.65_1.31_1.17 и сравниваются. 
        Если эти строки у двух сравниваемых структур отличаются, то структуры 
        считаются считаются различными. Рекомендуется -ellips=2
        Если эта опция не задана, конформеры будут сравниваться каждый с каждым.

-RMS=number  минимальное значение RMS, при котором конформеры будут считаться
        идентичными. RMS = sqrt(sum(m*r**2)/sum(m)). По умолчанию 0.1

-sort_RMS  значение RMS, при котором будет проводится перенумерация атомов
        текущего конформера по предыдущему. Нужно задавать в явном виде, иначе
        перенумерации не будет.

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

-cxcalc конформеры генерирует консольная утилита MarvinSketch.
        Нужна академическая лицензия на MarvinSketch (?).
        См. /usr/local/lib/MarvinBeans/bin/cxcalc conformers -h
        Если формат файла такой, в котором есть информация о связях и 
        который понимает MarvinSketch (mol, mol2, mrv, pdb, sdf, syb)
        то babel не нужен.

-vconf[='vconf options']  конформеры генерирует Vconf. 
        -vconf='-ns 200' ограничиться ~200 конформерами.
        Нужна академическая лицензия. Если формат mol, то babel не нужен.

-tinker[='parameters']  конформеры генерирует tinker.
        parameters - это строка вида 'mm2 0 5 100 0.0001' 
        (либо без последних членов, вплоть до 'mm2'), где
        mm2 - это имя файла в директории /usr/local/lib/tinker/params.
        По умолчанию силовое поле mmff (MMFF94), но для этого нужна
        программа sdf2tinkerxyz из пакета sdf2xyz2sdf и tinker v.6. 
           Если формат txyz (родной формат tinker'а), то babel не нужен.
        Если tinker надолго задумается, то можно убить скрипт (^C). При этом
        найденные конформеры останутся в виде файлов. При повторном запуске
        скрипта (с теми же опциями) tinker уже не будет запускаться, 
        скрипт обработает файлы конформеров и пойдет дальше.
-tinker_rot_bonds  только зачитать кол-во вращабельных связей и закончить
        
-confab[='confab options']  конформеры генерирует confab. 
        confab не выдает энергий получившихся конформеров (ротамеров). Потому, 
        если не задана опция -no_confab_energy, получившиеся конформеры 
        оптимизируются obminimize (MMFF94).

-no_confab_energy  confab отрабатывает очень быстро, энеггии ротамеров считаются 
        гораздо дольше. Эта опция предотвращает расчет энергий.

-CC=number             Номер атома - карбокатионного центра
        Когда babel делает txyz для tinker'а, он может обозначить 
        карбокатионный центр как sp3-гибридный. Эта опция превращает его
        в более подходящий для данного случая sp2-гибридный.
        
-only_gen  Не проводить сравнение конформеров и не запускать mopac.
        Эта опция уместна для tinker'а, когда конформеров очень много,
        чтобы получить их в xyz-формате и отсортированные по энергиям.
        conformers -only_gen multi-mol.xyz : просто сортировка.
        
-no_cf  Не проводить сравнение конформеров, но считать их и сортировать.

-AW  Задает другие атомные веса. Нужно, чтобы более точно различать конформеры,
     отличающиеся только расположением легких атомов. -AW is -AW=H,6

-help   То же самое, что и -h плюс некоторые комментарии.


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

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

Список бесплатных генераторов конформеров.
Marvin         http://www.chemaxon.com/product/conformer.html
Vconf          http://www.verachem.com/products/vconf/
TINKER         http://dasher.wustl.edu/tinker/
Frog           http://bioserv.rpbs.jussieu.fr/cgi-bin/Frog2
Balloon        http://users.abo.fi/mivainio/balloon/
OMEGA          http://www.eyesopen.com/products/applications/omega.html
Multiconf-DOCK http://dock.compbio.ucsf.edu/Contributed_Code/multiconfdock.htm
confab         http://code.google.com/p/confab/
RDKit          http://www.rdkit.org/

Некоторые особенности генераторов конформеров, основанные на моем опыте:

  Marvin (плагин Marvin Sketch или cxcalc conformers) имеет сложности с 
генерированием конформеров соединений циклогексанового ряда с фиксированным 
положением (R,S) заместителей. Разработчики обещают это исправить; пока 
рекомендую слежующий алгоритм: найти конформеры нарисованного соединения, 
сделать из него оптический изомер, найти его конформеры, сделать им reflect,
объединить оба набора конформеров. Marvin способен выдавать "конформеры",
которые нельзя получить без разрыва связи (например,  цис- и транс-декалины), 
но можно и зафиксировать конфигурацию и получить что-то одно. Используется либо
примитивное силовое поле Дрейдинга (нет никаких ограничений на элементы и
очень мало - на типы связей), либо MMFF94 (получается вполне реалистично, 
но не все). У Marvin'а  из всех опробованных мной генераторов
наиболее широкий охват всевозможных структур (правдоподобность полученных
энергий, конечно сомнительна, но она и не очень важна, все равно потом
оптимизировать полуэмпирикой). Предварительный набор конформеров проще всего
получать именно с помощью этой программы, через графический интерфейс
MarvinSketch (Tools - Conformation - Conformers. Это иногда долго. Нужна
академическая лицензия, но она нежесткая, переносится на другие машины.)

  Tinker (программа scan из его состава) не может генерировать конформеры
циклогексана, декалина. У него очень хорошо получается конформационный анализ
открыто-цепных и макроциклических соединений. Tinker -- Open Source.
Использует честные силовые поля, отсюда и ограничение: как только молекула
содержит что-то чуть не стандартное, так ошибка (отсутствие  параметров).
В этом отношении MMFF94 лучше MM2.
Tinker не сохраняет конфигурацию двойной связи и R/S.

  vconf считает хорошо и очень быстро. Использует силовое поле UFF,  
"всеядность" его по-меньше, чем у Marvin'а, и конформеров, как правило, выдает
по-меньше. Можно зафиксировать конфигурацию при двойной связи и/или у
тетраэдрического углерода. Основной недостаток vconf - жесткая академическая
лицензия, только на год и привязанная к MAC-адресу.

  confab - свободный систематический генератор, находит открыто-цепочечные 
конформеры (ротамеры), но не трогает циклы и гетероатом-Н.
Не делает оптимизации геометрии получившихся конформеров (поэтому начальную
структуру нужно брать "хорошую"). 
Конформеров получается меньше, чем у tinker'а.

  К этим четыем генераторам конформеров в скрипте есть интерфейс. 

  Frog работает через web-интерфейс. Конформеров находит мало.
  Multiconf-DOCK работает, но конформеров находит мало.
  OMEGA несмотря на труднопредолимые сложности с получением академической
        лицензии, конформеров находит мало.
  Другие генераторы я не пробовал.

Программа рассчитана на использование MOPAC2009 
http://openmopac.net/Download_MOPAC_Executable_Step2.html
Для него нужна академическая лицензия, действующая 1 год, но автоматически
продлевающаяся после установки новой версии MOPAC. Главное преимущество
MOPAC2009 перед mopac7 - имеются параметризации RM1, в которой мало элементов,
но параметры для них очень хорошо подобраны, и PM6, охватывающая чуть ли не
всю периодическую таблицу.  Эти параметризации являются "продолжетелями" 
AM1 и PM3. Оптимизация геометрии идет в декартовых координатах -- это дольше, 
чем с z-матрицей, но зато надежнее, что очень важно для автоматической работы.

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

Еще некоторые замечания.

  Вместо conformers -logfile file.xyz на linux можно использовать
conformers file.xyz | tee file.log
  
  Обычно в файле есть энергии конформеров (генераторы их вычисляют). Если
конформеров очень много (100 и больше), сравнение их похожести занимает
длительное время. Чтобы ускорить процесс, можно задать опцию -energy, тогда
конформеры,  энергии которых различаются больше чем на заданную величину, 
сразу будут считаться непохожими.

  MOPAC, как и любая квантовая химия, должен знать правильные заряд и
мультиплетность. Если у вас нейтральное соединение или катион в синглетном
состоянии, то ничего указывать не нужно,  вычислится автоматически из
брутто-формулы. В противном случае следует задать заряд опцией -charge и
мультиплетность через -mopac_key

  Параметризация в MOPAC. Лучше всего показала себя RM1. Но в ней очень мало
элементов. Поэтому, если параметризация не задана явно через -method, будет 
RM1, но если есть отсутствующие в ней элементы, то PM6.

Результат работы программы -- наборы нумерованных в соответствие с энергией xyz-
и arc-файлов. В xyz-файлах во 2-й строке, кроме энергий (в ккал/моль) содержатся
еше определенные MOPAC'ом группы симметрии, длины полуосей эллипсоидов инерции,
а также номера конформера в первоначальном наборе. Эти номера фигурируют и в 
output'е программы.

Разработка этой программы поддержана РФФИ (грант 13-03-00427a).


  
Последняя модификация: Wed Aug 1 09:21:01 2018

Download

Source