Molekulární vizualizace hraje zásadní roli při vytváření databází a úložišť, přípravě výchozích struktur pro kvantové a molekulárně dynamické výpočty a analýze souřadnic trajektorií v reálném čase. Vizualizace a interaktivní úpravy struktury molekul mohou účinně snížit práh simulace a zvýšit účinnost. Nedávný vývoj v oblasti vysoce výkonných počítačů (HPC) a cloud computingu vedl ke vzniku mnoha online výpočetních platforem. Například MatCloud , rescale , WebMO a MolCalc poskytují webové služby pro materiálové a chemické výpočty. Tyto webové nástroje umožňují vzdálené ovládání výpočetních zdrojů a díky své dostupnosti a kompatibilitě jsou velmi populární. V současné době je běžné používat webové nástroje pro 3D strukturní vizualizaci a editory pro generování modelových struktur a přípravu vstupních souborů pro simulace.
Moderní vizualizační software v oblasti výpočetní chemie je vyvíjen především v prostředí stolních počítačů, například Avogadro , Materials Studio a VESTA . S rostoucí poptávkou po vizualizaci na webu se objevilo několik relevantních nástrojů. Například 3Dmol , JSmol a Web3DMol obsahují výkonné vizualizační funkce, ale funkce pro úpravu struktury chybí. Další nástroje, například ChemdoodleWeb , Kekule.js , JSME , umí editovat pouze dvourozměrné (2D) struktury. V literatuře jsou uváděny také nástroje pro editaci 3D struktur (např. ChemMozart , CH5M3D ). Tyto nástroje se však zaměřují na modelování organických molekul a nepodporují zpracování krystalové struktury. ChemMozart je navíc implementován pomocí frameworku node.js a nelze jej používat pouze jako odlehčenou knihovnu.
Pro zpracování chemických informací na webovém serveru jsme vyvinuli pokročilý chemický vizualizační a editační program s následujícími funkcemi. Zaprvé lze interaktivně vizualizovat, sestavovat a upravovat neperiodické organické molekuly i krystalové struktury. Za druhé je k dispozici široká škála chemicko-informačních algoritmů pro krystalovou strukturu, jako je štěpení povrchů, vytváření vakuových vrstev a vytváření supercel. Zatřetí se jedná o lehkou knihovnu implementovanou pomocí JavaScriptu, kterou lze snadno použít k poskytování webových služeb samostatně nebo integrovat do jiných webových platforem. A konečně, počáteční vstupní soubory pro VASP a Gaussian lze generovat interakcí s dialogovými okny.
Implementace
Stejně jako většina programů s grafickým uživatelským rozhraním (GUI) pro výpočetní chemii , se 3DStructGen zaměřuje na generování počáteční molekulární geometrie. Jak ukazuje obr. 1, základní moduly molekuly, krystalu a povrchové desky se skládají z několika metod pro práci s neperiodickou molekulou, periodickým krystalem, respektive i systémem povrchových desek. Centrálním modulem pro zobrazení 3D struktur a propojení všech ostatních modulů je plátno HTML5. Modul myši poskytuje uživatelům řadu interaktivních operací pomocí myši. V modulu IO jsou podporovány metody zpracování obecných formátů chemických souborů (XYZ, SD, MOL, CIF) a pomocí modulu rozhraní lze vytvořit výchozí vstupní soubor pro VASP a Gaussian. Modul průzkumníka vypisuje interaktivní informace (např. název souboru, parametr mřížky, vzdálenost atomů, souřadnice atomů atd.) pro uživatele v reálném čase. ChemKit API navíc poskytuje rozšíření 3DStructGen integrací dalších cheminformatických nástrojů.
Element, atom a molekula
Parametry prvků (např, atomové číslo, symbol prvku, atomová hmotnost, barva, kovalentní poloměry atd.) jsou definovány jako seznam ve funkci „element ()“. Funkce „addElem ()“ slouží k přidání prvku zadaného uživateli a příslušný model atomu se vizualizuje na plátně. Všechny prvky jsou zobrazeny stejnou barvou jako v programu VESTA. Při inicializaci programu 3DStructGen se na plátně zobrazí molekula metanu. Ve výchozím nastavení je použita „kulová“ reprezentace struktur s velikostí atomů na základě jejich kovalentních poloměrů. Kromě toho mohou uživatelé zadat i modely typu „tyč a čára“.
Funkce „addAtom ()“ a „delAtom ()“ slouží k přidání nového atomu, respektive k odstranění stávajícího atomu v molekule. Ve výchozím nastavení se přidá vhodný počet atomů vodíku podle pravidla oktetové teorie a vazebným úhlům se přiřadí hodnota na základě hybridizace orbitalů (ve výchozím nastavení sp3) zvolené uživatelem.
Při přidání nového atomu se vytvoří vazba v rámci její hodnoty součtu kovalentních poloměrů vázaných atomů. Spojení mezi dvojicemi atomů lze přidat pomocí operací myší voláním funkce „addBond ()“, definované v souborech nebo vypočtené programem 3DStructGen. Funkce „createBond ()“ podrobně popisuje vazebné pravidlo: nejprve se sestaví seznam možných vazebných atomů na základě vazebného valenčního modelu a poté se vypočítá vzdálenost pro tyto možné vazebné atomy. Vazba je vytvořena, pokud vzdálenost spadá do intervalu 0,5 až 1,2 násobku součtu kovalentních poloměrů pro tyto vazebné atomy. Vzdálenost 0,5násobku se zde používá proto, aby se zabránilo vzniku vazeb mezi uzavřenými atomy (možná překrývajícími se atomy). Funkce „bondMatrix ()“ definuje veřejnou rutinu pro uložení a vrácení seznamu vazeb. Algoritmus označování grafů (pseudokód na obr. 2) používaný pro rozpoznávání rámce a hosta (včetně molekuly rozpouštědla) je vyvinut pro práci s kovově-organickými rámci (MOF) v databázi Cambridge structural database (CSD). Naše vazebná metoda prokázala pro tuto úlohu uspokojivé výsledky a výsledky vizualizace naleznete v části „Vizualizace struktury“.
Při vytváření struktury lze atom nebo skupinu atomů vybraných uživatelem posouvat směrem nahoru, dolů, doleva a doprava o vzdálenost zadanou uživatelem. Hrubá optimalizace geometrie je podporována pro neperiodické molekuly optimalizací vazebných délek, vazebných úhlů a dihedrál podle stejné metody v CH5M3D . Volitelnou optimalizaci geometrie založenou na metodě force filed poskytuje také použití rozhraní ChemKit API, které je podrobněji vysvětleno v části „ChemKit API“.
Krystal a povrchová deska
Funkce „buildCrystal ()“ slouží k sestavení struktury krystalové mřížky. Kliknutím na dialogové okno „build crystal“ mohou uživatelé interaktivně vybírat nebo upravovat prostorové skupiny symetrie (celkem 230), parametry mřížky, typy atomů a souřadnice. Po dokončení všech operací se na plátně zobrazí krystalová struktura.
Supercelulární deska je strukturní model používaný při simulacích kvantové nebo molekulární dynamiky ke studiu povrchových kinetických , termodynamických a elektronických vlastností. Funkce „cleaveSurf ()“ ukazuje algoritmus pro konstrukci povrchové desky s libovolnou orientací Millerova indexu z objemové jednotkové buňky libovolné Bravaisovy mřížky. Deska se dvěma povrchy je vložena s vakuovými oblastmi do superbuňky. Sun navrhl účinný algoritmus pro konstrukci povrchu desky a stejná metoda se používá k nalezení dvou bázových vektorů, které pokrývají danou orientaci povrchu, \(\varvec{v}_{1}\) a \(\varvec{v}_{2}\). Následují podrobné popisy:
Pokud Millerův index neobsahuje žádné nuly, bereme jako příklad (hkl):
Pokud Millerův index obsahuje jednu nulu, bereme jako příklad (hk0):
Pokud Millerův index obsahuje dvě nuly, bereme jako příklad (h00):
Pro krystalovou strukturu, která se skládá z jednotkové buňky, a soubor atomů je uspořádán tak, že se atomy periodicky opakují ve třech rozměrech na mřížce. Funkce „displayStyle ()“ poskytuje několik metod pro zobrazení opakujících se atomů a příslušné obrázky jsou uvedeny na obr. 3. V nástroji 3DStructGen lze zvolit následující možnosti:
-
„Asymetrický“: Uvádí se minimální podjednotka krystalu, která se skládá z jednoho nebo více atomů, iontů nebo molekul, jejichž geometrické uspořádání nesouvisí s krystalografickou symetrií.
-
„Původní“:
-
„V buňce“: Při použití tohoto stylu se každý atom zobrazí ve svém původním umístění spolu s kopiemi vytvořenými použitím každého z operátorů skupiny symetrie:
-
„Packing“: Zobrazí se kompletní molekuly a jejich symetrické kopie v mřížkové buňce v závislosti na geometrickém středu spojených množin atomů. Tím získáte zobrazení konvenční buňky pro většinu typů krystalové soustavy.
Výše uvedené styly umožňují uživatelům vizualizovat atomy požadovaným způsobem pro různé scénáře. „Asymetrický“ může být užitečný pro zaměření na detaily minimální struktury, když jsou všechny kopie neviditelné, zejména pro velké a složité modely. Styly „Original“ a „Packing“ poskytují kopie jednotek, které demonstrují symetrickou informaci krystalu. Styl „In-cell“ zachycuje pohled na všechny možné atomy v mřížkové buňce, což odpovídá skutečné scéně zkrácení mřížkové buňky z celé periodické soustavy.
.