In [2]:
os.environ['PATH']=os.environ['PATH']+'/home/preps/golovin/progs/bin'
os.environ['MOPAC_LICENSE'] ='/home/preps/golovin/progs/bin'
os.environ['MOPAC_LICENSE']='/home/preps/golovin/progs/bin'
In [3]:
%%bash
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/home/preps/golovin/progs/lib
In [4]:
from xmlrpclib import ServerProxy
from IPython.display import Image
import os, sys
import scipy as sp
from scipy import constants
from scipy.constants import codata
import numpy as np
import __main__
__main__.pymol_argv = [ 'pymol', '-cp' ]
import pymol
pymol.finish_launching()
from pymol import cmd
In [5]:
%%bash
echo 'C1=CC=C2C=CC=C2C=C1' >  azulene.smi
In [6]:
%%bash
echo 'c1ccc2ccccc2c1' >  naphthalene.smi
In [7]:
%%bash 
obgen azulene.smi -ff UFF > azulene.mol
In [8]:
%%bash 
obgen naphthalene.smi -ff UFF > naphthalene.mol
In [49]:
cmd.delete('all')
cmd.load('azulene.mol')
In [96]:
cmd.refresh()
cmd.do('''
bg_color black
as sticks, all
orient, all
show sticks
set valence, on
set valence_mode, 3
set stick_ball, on
set stick_ball_ratio, 3
set stick_radius, 0.12
set valence_mode, 2
set ray_trace_mode, 3
rotate x, -10
ray
png pic1.png
''')
In [98]:
Image(filename='pic1.png')
Out[98]:

Молекула азулена плоская

In [52]:
cmd.delete('all')
cmd.load('naphthalene.mol')
In [84]:
cmd.refresh()
cmd.do('''
bg_color black
as sticks, all
orient, all
show sticks
set valence, on
set valence_mode, 3
set stick_ball, on
set stick_ball_ratio, 3
set stick_radius, 0.12
set valence_mode, 2
set ray_trace_mode, 3
rotate x, 10
ray
png pic2.png
''')
In [85]:
Image(filename='pic2.png')
Out[85]:

Молекула нафталена также плоская

In [64]:
cmd.save('azulene.pdb')
In [65]:
cmd.save('naphthalene.pdb')

Далее сделал оптимизацию молекул с помощью MOPAC

In [99]:
%%bash 
babel -ipdb azulene.pdb -omop azulene.mop -xk "PM6"
In [100]:
%%bash 
babel -ipdb naphthalene.pdb -omop naphthalene.mop -xk "PM6"
export PATH=${PATH}:/home/preps/golovin/progs/bin export MOPAC_LICENSE=/home/preps/golovin/progs/bin export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/home/preps/golovin/progs/lib /home/preps/golovin/progs/bin/MOPAC2009.exe naphthalene.mop /home/preps/golovin/progs/bin/MOPAC2009.exe azulene.mop
In [101]:
%%bash 
babel -imopout azulene.out -omol azulene_new.mol
In [102]:
%%bash 
babel -imopout naphthalene.out -omol naphthalene_new.mol
In [103]:
%%bash 
babel -imol azulene_new.mol -ogamin azulene_opt.inp
In [104]:
%%bash 
babel -imol naphthalene_new.mol -ogamin naphthalene_opt.inp

Далее, в полученных файлах надо изменить шапки, как написано на сайте с заданиями

In [2]:
%%bash 
gms azulene_opt.inp  1 >& azulene_opt.log 
gms naphthalene_opt.inp  1 >& naphthalene_opt.log
In [3]:
%%bash 
babel -igamout azulene_opt.log -ogamin azulene_opt_hart.inp
babel -igamout naphthalene_opt.log -ogamin naphthalene_opt_hart.inp
1 molecule converted
17 audit log messages 
1 molecule converted
17 audit log messages 

Далее, в полученных файлах надо изменить шапки, как написано на сайте с заданиями

Получилось 4 файла: azulene_opt_hart.inp azulene_opt_plotn.inp naphthalene_opt_hart.inp naphthalene_opt_plotn.inp

Для каждого из них сделан рассчет по энергиям:

In [4]:
%%bash 
gms azulene_opt_hart.inp  1 >& azulene_opt_hart_final.log 
gms naphthalene_opt_hart.inp  1 >& naphthalene_opt_hart_final.log
In [5]:
%%bash 
gms azulene_opt_plot.inp  1 >& azulene_opt_plot_final.log 
gms naphthalene_opt_plotn.inp  1 >& naphthalene_opt_plotn_final.log
Вещество E Naphthalene E Azulene ΔE,Hartree ΔE, kCal/mol Хартри-Фок -383.3548300253 -383.2824600253 0.0723700 45.46547 DFT -385.6401468213 -385.6400784874 0.0683339 34.17715

Из эксперимента известно, что энергия изомеризации нафталина в азулен составляет 35.3±2.2 kCal/mol, таким образом, значение, полученное по теории функционала плотности (DFT), ближе к экспериментальному значению, чем значение, полученное методом Хартри-Фока