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

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

subst

Usage: subst [-ijk=i,j,k] [-IJK=I,J,K] core.xyz substitutent.xyz [> core_subst.xyz]

Dependencies: Perl

Совмещает молекулы и выбрасывает совпадающие атомы.
Совмещение происходит по тройкам атомов из опций -ijk и -IJK.
По умолчанию -ijk=1,2,3 и -IJK=1,2,3.
-ijk относится к замещаемой молекуле/молекулам (core.xyz), 
-IJK - к заместителю (substitutent.xyz или последняя из структур). 

При совмещении происходит переориентация:
      x     y     z
 i:  0.00  0.00  0.00    Атом i в центре координат
 j:        0.00  0.00    Атом j на оси x
 k:              0.00    Атом k в плоскости xy

Опции:
-ijk=i,j,k  номера тройки атомов в замещаемых молекулах
-IJK=I,J,K  номера тройки атомов в заместителе (последней структуре)
-rm_in_core  накладывающиеся атомы удаляются в остове, а не в заместителе
-rm_dist=0.8 расстояние-признак накладывающихся атомов (ангстремы)

Использование в режиме аннелирования:
subst -ijk=2,3,12 -IJK=1,2,3 Indole.xyz Benzene.xyz > Benzindole.xyz

Использование в режиме замещения:
subst -ijk=2,11 -IJK=8,2 Indole.xyz Benzene.xyz > Phenylindole.xyz
В режиме замещения номера k и K можно не указывать, и если они не указаны
(по крайней мере, K в заместителе), то будет действовать опция -rot. 

-R=substitutent  subst -ijk=i,j,k -R=Me core.xyz
   Из __DATA__ зачитывается заместитель и помещается на место атома i.
   Расстояние между атомом j и первым атомом заместителя - сумма их 
     ковалентных радиусов.
-rot=degrees   Если задано, то заместитель поворачивается на degrees градусов.
   Одновалентность замещаемого атома не проверяется.
   
   Вместо -ijk можно задать -ii (только замещаемый атом), тогда j и k будут 
     определены автоматически. Дополнительные возможности -ii:
     -ii=m,n,... означает, что будут замещены атомы номер m,n,...
     -ii=element - будут замещены все элементы. Например, перфторировать:
     ./subst -ii=H -R=F cores.xyz > coresF.xyz
 
-R (без указания заместителя) - будет напечатан список заместителей, 
    определенных в __DATA__, и сразу после этого выход.
    
-make_R=name  Сделать из молекулы заместитель. Нужно задать -ijk=i,j,k
   i - одновалентный атом, который потом будет удален из молекулы
   j - замещающий атом, к которому присоединен i
   k - еще какой-нибудь атом, задающий плоскость xy
   Например, subst -make_R=Ph -ijk=7,1,2 Benzene.xyz
   Результат сохранить, записав его в __DATA__ (в конец файла программы subst ).


  
Последняя модификация: Thu Jan 26 13:24:45 2023

Download

Source