Учебная страница курса биоинформатики,
год поступления 2019
Вычисление параметров для молекулярной механики
Отчёт по заданию должен появиться на сайте к следующему занятию. Отчёт должен иметь ссылки на файлы с результатами счёта.
Суть задания состоит в определении констант ковалентных взаимодействий для молекулярной механики на основе квантово-химических расчётов. Пример подобной работы представлен в статье о разработке поля gaff.
1 Если задание будет сделано с помощью ASE то двойной бал. https://wiki.fysik.dtu.dk/ase/dev/index.html
Для реализации задания на Google Colab:
Расчёт орбиталей в Psi4: информация об api https://psicode.org/psi4manual/1.4.0/api/psi4.core.cubeproperties
Основное задание
- Вам предоставлена оптимизированная структура этана в виде z-matrix :
Как вы видите, вместо значений длин и углов связей можно вставить значение. Наша цель состоит в том, что бы рассчитать 20 разных длинн связи с шагом 0.02 ангстрема для расчёта энергии в ORCA с разными значениями по длине одной из связей (C-C).
Конечно можно сделать эти файлы вручную, но ожидается, что вы сделаете это средствами python .
- Предлагаю следующую функцию по запуску Psi4
- Можно посмотреть
import py3Dmol view = py3Dmol.view() view.addModel(m.save_string_xyz_file(),'xyz')
У вас есть зависимость энергии молекулы от длины одной связи. Эту зависимость можно построить в Excel. Вам предлагается сделать это в matplotlib в Jupyter Notebook.
Для matplotlib:
1 # fake x array , replace with real one
2 x_o=np.arange(1,2,0.1)
3 # fake y array, replace with energies
4 y_o=-70+2*(x_o -1.58)**2
5
6 #function is f(x)=k(b-x)^2 + a
7 fitfunc = lambda p, x: p[0]*pow(p[1]-x,2) + p[2] # Target function
8 errfunc = lambda p, x, y: fitfunc(p, x) - y # Error function
9
10 p0 = [1,1, -79] # Initial guess for the parameters
11 p1, success = optimize.leastsq(errfunc, p0[:], args=(x_o, y_o))
12 print "Optimized params:", p1
13
14 #Plot it
15 plt.plot(x_o, y_o, "ro", x_o,fitfunc(p1,x_o),"r-",c='blue',alpha=0.5)
16 plt.xlim(1,2)
17 plt.show()
- Проделайте аналогичные операции для валентного угла HCС, его значения должны изменяться от 109.2 до 113.2. Сохраните полученные коэффициенты в отчёт. Примечание: не перезаписывайте файл со значениями энергий они Вам нужны для отчёта. Сравните полученные константы с данными из статьи о GAFF. Укажите возможные причины расхождений ваших результатов и публикацией.
- Проделайте аналогичные операции для торсионного угла CC, его значения должны изменяться от -180 до 180 c шагом 12. Сохраните изображение и укажите в отчёте количество минимумов функции.
- * Увеличьте шаг до 0.1 ангстрема при расчёте связи. Постройте зависимость. Укажите какой функцией можно было бы аппроксимировать наблюдаемую зависимость.
- * Установите psiresp и рассчитайте точечные заряды для этана.
mamba install -c conda-forge psiresp