Комп'ютерне молекулярне моделювання

Комп'ютерне молекулярне моделювання (англ. computer-assisted molecular modeling) — Охоплює всі методи, теоретичні та обчислювальні, використовувані для моделювання або імітування поведінки молекул. Ці методи використовуються в області обчислювальної хімії, розробки ліків, обчислювальної біології та науки про матеріали для вивчення молекулярних систем, починаючи від невеликих хімічних систем до великих біологічних молекул і комбінацій матеріалів. Найпростіші розрахунки можуть бути виконані вручну, але важкі обчислення виконуються на комп'ютерах, необхідні для виконання молекулярного моделювання. Загальна риса методів молекулярного моделювання є описом атомистического рівня молекулярних систем. Це може включати в себе обробку атомів як найменший окремої одиниці (молекулярно механічний підхід), або в явному вигляді моделювання електрона кожного атома (квантово хімічний підхід).

Молекулярна механіка

Молекулярна механіка є одним з аспектів молекулярного моделювання, так як воно відноситься до застосування класичної механіки (механіки Ньютона), щоб описати фізичну основу за моделями. Молекулярні моделі зазвичай описують атоми (ядра і електрони колективно) у вигляді точкових зарядів з відповідною масою. Взаємодії між сусідніми атомами описуються як пружиного типу(які мають хімічний зв'язок) і Ван-дер-Ваальса. Леннард-Джонс зазвичай використовується для опису останнього. Електростатичні взаємодії обчислюються на основі закону Кулона. Атомам присвоюються координати в декартовій системі координат або в внутрішніх координатах, а також можуть бути призначені швидкостями в динамічних моделях. Атомні швидкості пов'язані з температурою системи, макроскопічної величини. Колективний математичний вираз називається потенційною функцією і пов'язаний з системою внутрішньої енергії (U), термодинамічної величини, яка дорівнює сумі потенційної і кінетичної енергій. Методи, які зводять до мінімуму потенційну енергію, називаються методами мінімізації енергії (наприклад, найшвидшого спуску і пов'язані градієнти), в той час як методи, що моделюють поведінку системи з поширенням часу, називається молекулярна динаміка

Ця функція, трактується як potential function, обчислює молекулярну потенційну енергію як суму енергетичних термінів, що описують відхилення довжин зв'язків, валентних кутів і торсіонних кутів від рівноважних значень, плюс точки для Несвіт занних пар атомів, що описують ван-дер-Ваальса і електростатичних взаємодій.

Методи

3D-RISM

3D розподіл функцій взаємодії сайтів навколо розчиненої молекули визначається з 3D-RISM інтегрального рівняння

де - трьохвимірна повна та пряма кореляційні функції (TCF та DCF) сайту навколо молекули відповідно; - "сайт-сайт"-об'ємна сприйнятивість розчинника; індекси - сорти взаємодіючих сайтів розчинника[1].

Програмне забезпечення

AmberTools

AmberTools складається з декількох модулів, які можуть працювати незалежно. У можливості входить моделювання молекулярної динаміки[2][3]. Пакет AmberTools є безкоштовним.

Chimera

UCSF Chimera - програма для інтерактивної візуалізації та аналізу молекулярних структур із пов'язаних із ними даних, включаючи карти щільності, траєкторії й вирівнювання послідовностей. Можуть бути створені високоякісні зображення та анімація. Химера є безкоштовною із відкритим програмним кодом.

ChemDraw

ChemDraw - дуже зручний професійний редактор хемічної графіки. Входить до пакету ChemOffice, від CambridgeSoft.

Можливості:

  • Створення й редактування хемічних структур й обладнання.
  • Розширені графічні функції (3D).
  • Можливість конвертації назви сполуки у структуру, та навпаки, назва сполуки по структурі (за IUPAC).
  • Симуляція ЯМР-спектрів.
  • Засоби перевірки хемічних формул та структур.
  • Зручна база шаблонів часто застосовуваних макроструктур та обладнання.
  • Модуль ChemDraw/Excel.
  • Плагін ActiveX для браузера із можливість пошуку у онлайн-базі даних хемічних сполук CambridgeSoft.

Gamess (General Atomic and Molecular Electronic Structure System)

Gamess (General Atomic and Molecular Electronic Structure System) — програмний пакет, призначений для розрахунку енергії, геометрії й структури молекул, фізичних характеристик наноструктур й опису механізмів хемічних реакцій (наприклад, дисоціація, синтез).

За допомогою програми реалізується множина алгоритмів для різних обчислювальних методів квантової хемії, які мають різний ступінь точності й обчислювальної навантажуваності, починаючи від більш простих й швидких напівемпіричних методів AM1 та PM3 до більш точних, але вимагаючих більших обчислювальних ресурсів PCQDPT, MP4(SPTQ).

Програмування

Python

namespace MolecularStructure{
class atom_element {
    public:
        enum AS{
            H,D=1, T=1, He,
            Li,B,C,N,O,F,Ne,
            Na,Mg,Al,Si,P,S,Cl,Ar,
            K,Ca,Sc,Ti,V,Cr,Mn,Fe,Co,Ni,Cu,Zn,
            Ga,Ge,As,Se,Br,Kr,
            Rb,Sr,Y,Zr,Nb,Mo,Tc,Ru,Rh,Pd,Ag,Cd,
            In,Sn,Sb,Te,I,Xe,
            Cs,Ba,La,
            Ce,Pr,Nd,Pm,Sm,Eu,Gd,Tb,Dy,Ho,Er,Tm,Yb,Lu,
            Hf,Ta,W,Re,Os,Ir,Au,Hg,Tl,Pb,Bi,Po,At,Rn,
            Fr,Ra,Ac,
            Th,Pa,U,Np,Pu,Am,Cm,Bk,Cf,Es,Fm,Md,No,Lr,
            Rf,Db,Sg,Bh,Hs,Mt,Ds,Rg,
            Uub,Uut,Uuq,Uup,Uuh,Uus,Uuo
        };          //символи атомів
        static float bondRadius(atom_element);
        static float bond Length(atom_element, atom_element);
    private:
        static enum MolecularStructure::atom_element::AS AtomNumber(const char *name);
        AS as;      //атомарний номер
    public:
        explicit atom_element(const char *name): as(AtomNumber(name)){}
        explicit atom_element(int i): as(AS(i)){}
        atom_element(AS a): as(a){}
        const char *name() const;
            int number() const {
            return int(as);
            }
        floas mass() const;     //атомарна вага
        bool ifMetal() const;
        long hash() const {return number(); }
        bool operator == (const atom_element &a) const {return as == a.as;} 
        bool operator != (const atom_element &a) const {return as != a.as;}
        bool operator < (const atom_element &a) const {return as<a.as;}
        bool operator <= (const atom_element &a) const {return as <= a.as;}
        bool operator > (const atom_element &a) {return as > a.as;}
        bool operator => (const atom_element &a) {return as => a.as;}
};
inline std::ostream & 
operator<<(std::ostream &os, const atom_element &a) {
    os << a.name();
    return os;
}
}


Див. також

Посилання

Примітки

  1. Crystal Nguyen,Takeshi Yamazaki,Andriy Kovalenko,David A. Case,Michael K. Gilson ,Tom Kurtzman ,Tyler Luchko - A molecular reconstruction approach to site-based 3D-RISM and comparison to GIST hydration thermodynamic maps in an enzyme active site, https://doi.org/10.1371/journal.pone.0219473 .
  2. Luchko T, Gusarov S, Roe DR, Simmerling C, Case DA, Tuszynski J, et al. Three-Dimensional Molecular Theory of Solvation Coupled with Molecular Dynamics in Amber. J Chem Theory Comput. 2010;6: 607–624. pmid:20440377.
  3. Kovalenko A. Multiscale Modeling of Solvation. In: Breitkopf C, Swider-Lyons K, editors. Springer Handbook of Electrochemical Energy. Springer Berlin Heidelberg; 2017. pp. 95–139. https://doi.org/10.1007/978-3-662-46657-5_5.

Література

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.