Для построения структур азулена и нафлена использовали команды описанные в прошлом практикуме:
#запуск на kodomo
export PATH=${PATH}:/home/preps/golovin/progs/bin
export MOPAC_LICENSE=/home/preps/golovin/progs/bin
#запуск на kodomo
echo 'C1=CC=C2C=CC=C2C=C1 Azulene' > az.smi
echo 'c1ccc2ccccc2c1 Napthalene' > nap.smi
obgen az.smi -ff MMFF94 > az.mol
obgen nap.smi -ff MMFF94 > nap.mol
Полученные из SMILES описания .mol файлы открыли в PyMol:
from xmlrpclib import ServerProxy
from IPython.display import Image, display
cmd = ServerProxy(uri="http://localhost:9123/RPC2")
import time
cmd.reinitialize()
cmd.load('az.mol')
cmd.set("opaque_background", 'off')
cmd.set("ray_trace_mode","1")
cmd.set('antialias','2')
cmd.set('stick_radius','0.1')
cmd.bg_color('white')
cmd.set('valence','on')
cmd.show('sticks')
cmd.orient('az')
cmd.zoom('az')
cmd.do('''rotate y, 80''')
cmd.ray(600,600)
cmd.png('az_1.png')
Image(filename='az_1.png')
cmd.reinitialize()
cmd.load('nap.mol')
cmd.set("opaque_background", 'off')
cmd.set("ray_trace_mode","1")
cmd.set('antialias','2')
cmd.set('stick_radius','0.1')
cmd.bg_color('white')
cmd.set('valence','on')
cmd.show('sticks')
cmd.save('nap.pdb')
cmd.zoom('nap')
cmd.do('''rotate y, 80''')
cmd.ray(600,600)
cmd.png('nap_1.png')
Image(filename='nap_1.png')
Как видно, в силовом поле \(MMFF94\) структура азулена не лежит в одной плоскости, поэтому проведем оптимизацию в другом силовом поле, а именно в \(UFF\).
#запуск на kodomo
obgen az.smi -ff UFF > az_1.mol
Полученный .mol откроем в PyMol:
cmd.reinitialize()
cmd.load('az_1.mol')
cmd.set("opaque_background", 'off')
cmd.set("ray_trace_mode","1")
cmd.set('antialias','2')
cmd.set('stick_radius','0.1')
cmd.bg_color('white')
cmd.set('valence','on')
cmd.show('sticks')
cmd.orient('az_1')
cmd.zoom('az_1')
cmd.save('az_1.pdb')
cmd.do('''rotate y, 80''')
cmd.ray(600,600)
cmd.png('az_2.png')
Image(filename='az_2.png')
С помощью openbabel переформатировали координаты в mol формате во входной файл для Mopac и задали тип параметризации "PM6", и оптимизоровали с помощью MOPAC.
#запуск на kodomo
babel -ipdb az_1.pdb -omop az_1.mop -xk "PM6"
babel -ipdb nap.pdb -omop nap.mop -xk "PM6"
MOPAC2009.exe az_1.mop
MOPAC2009.exe nap.mop
#запуск на kodomo
babel -imopout az_1.out -ogamin az_1.inp
babel -imopout nap.out -ogamin nap.inp
Заголовок переформатированных файлов должен выглядеть так:
$CONTRL COORD=CART UNITS=ANGS SCFTYP=RHF RUNTYP=OPTIMIZE $END
$BASIS GBASIS=N31 NGAUSS=6 $end
$system mwords=2 $end
$DATA
Затем оптимизируем геометрию азулена и порфирина с помощью GAMESS.
#запуск на kodomo
gms nap.inp 1 >& nap.log
gms az_1.inp 1 >& az_1.log
Из полученных \(.log\)-файлов составили новые входные файлы для расчёта энергии, а именно, построили два файла на каждую молекулу, соответвующих расчётам по методу Хартри-Фока и теории функционала плотности. Эти файлы получали при переформатировании \(.log\)-файла в \(gamin\) и заменили заговолок файла.
метод Хартри-Фока | теория функционала плотности |
$CONTRL COORD=CART UNITS=ANGS SCFTYP=RHF RUNTYP=ENERGY $END $BASIS GBASIS=N31 NGAUSS=6 POLAR=POPN31 NDFUNC=1 $END $GUESS GUESS=HUCKEL $END $system mwords=2 $end $DATA |
$CONTRL COORD=CART UNITS=ANGS dfttyp=b3lyp RUNTYP=ENERGY $END $BASIS GBASIS=N31 NGAUSS=6 POLAR=POPN31 NDFUNC=1 $END $GUESS GUESS=HUCKEL $END $system mwords=2 $end $DATA |
#запуск на kodomo
babel -igamout az_1.log -ogamin az_2.inp
babel -igamout nap.log -ogamin nap_2.inp
В полученных файлах после отлимизации GAMESS нашли значения "TOTAL ENERGY =" и заполнили таблицу:
Вещество | ENaptalene | EAzulene | ΔE , Hartree | ΔE, kCal/mol |
Хартри-Фок | -383,3549061523 | -383,2823969231 | 0,0725092292 | 45,5002301606774 |
DFT | -385,6401306541 | -385,5856282901 | 0,054502364 | 34,200751182458 |
nl = Image(filename='lumo_nap.png')
nh = Image(filename='homo_nap.png')
al = Image(filename='low_az.png')
ah = Image(filename='homo_az.png')
display('Napthalene - LUMO', nl, 'Napthalene - HOMO', nh, 'Azulene - LUMO', al, 'Azulene - HOMO', ah)
Выше представлены полученные с помощью программы Gabedit HOMO и LUMO орбитали азулена и нафталина.