Avogadro: egy fejlett szemantikus kémiai szerkesztő, vizualizációs és elemzési platform

A grafikus felhasználói felület

A legtöbb ember először az Avogadro alkalmazás fő ablakát fogja látni, amint az a 4. ábrán látható. Bináris telepítők állnak rendelkezésre Apple Mac OS X és Microsoft Windows operációs rendszerekhez, valamint csomagok az összes fontosabb Linux-disztribúcióhoz. Ez azt jelenti, hogy az Avogadro meglehetősen könnyen telepíthető a legtöbb operációs rendszerre. A legfrissebb forráskód lefordítására vonatkozó, könnyen követhető utasítások szintén megtalálhatók az Avogadro fő weboldalán a kalandvágyóbbak számára, vagy azok számára, akik olyan operációs rendszert használnak, amely még nem támogatott.

4. ábra
4. ábra

Az Avogadro grafikus felhasználói felület. Mac OS X operációs rendszeren készült, egy molekula szerkesztőfelületét mutatja.

A Qt eszközkészlet natív megjelenést biztosít az Avogadro számára a három fő támogatott operációs rendszeren – Linux, Apple Mac OS X és Microsoft Windows -. A molekulaképzőtől és -nézegetőtől elvárt alapvető funkciókat implementálták, valamint számos kevésbé elterjedt funkciót. Az új felhasználók számára nagyon egyszerű az Avogadro telepítése és az első molekulák percek alatt történő elkészítése. Az Open Babel könyvtárnak köszönhetően az Avogadro támogatja az általánosan használt kémiai fájlformátumok nagy részét. E funkciók túlnyomó többsége a plugin-írók számára elérhetővé tett interfész segítségével íródott, és futásidőben töltődik be. Ezeket a plugin interfészeket és a plugin típusok leírását később tárgyaljuk.

Szemantikus kémia

Az Avogadro már nagyon korán a CML-t használta alapértelmezett fájlformátumként; ezt választottuk más fájlformátumok helyett a CML által biztosított bővíthető, szemantikus struktúra és az Open Babelben elérhető támogatás miatt. A CML formátum számos előnyt kínál más, általánosan használt formátumokhoz képest, beleértve a formátum bővíthetőségét. Ez lehetővé teszi, hogy az Avogadro és más programok jövőállóak legyenek, és a későbbiekben egy fejlett szemantikájú szerkesztőhöz szükséges új információkat és funkciókat adjanak hozzá, miközben az Avogadro régebbi verzióival is olvashatóak maradnak.

Az Open Babel használata révén a fájlformátumok széles köre értelmezhető. Az Avogadro kiterjesztésekor, hogy nagyobb mennyiségű kvantumkódok kimenetét olvassa be, jelentős fejlesztési erőforrásokat kellett fordítani a kvantumkódok kimenetének megértésére és szemantikai jelentéssel való ellátására. Ezt a munkát egy bővítményben fejlesztették ki, amely később egy kis független könyvtárrá vált, OpenQube néven. A közelmúltban a Quixote projekt , a JUMBO-Converters és a Semantic Physical Science workshop nagy mennyiségű munkát végzett a kvantumkódok bővítése érdekében, hogy több ilyen adatot közvetlenül a kódból adjanak ki. Mivel a CML bővíthető, lehetséges a molekulaszerkezeti adatokra vonatkozó meglévő konvenciók újrafelhasználása, és új konvenciók hozzáadása a további kvantumadatokhoz.

Molekula felépítése: atomról atomra

Az Avogadro megnyitása után egy olyan ablak jelenik meg, mint a 4. ábrán látható. Alapértelmezés szerint a rajzoló eszköz van kiválasztva. Egyszerűen a kijelző fekete részén bal egérgombbal kattintva a felhasználó megrajzolhat egy szénatomot. Ha a felhasználó lenyomja az egér bal gombját és húzza, akkor egy kötött szénatom rajzolódik ki a kezdőpont és a végső pozíció között, ahol az egeret elengedte.

Nagy erőfeszítéseket tettek egy intuitív eszköz létrehozására a kis molekulák rajzolásához. A gyakori kémiai elemek kiválaszthatók egy legördülő listából, vagy a kevésbé gyakori elemek kiválasztásához megjeleníthető a periódusos rendszer. Egy meglévő atomra kattintva az éppen kiválasztott elemre változik, húzással az atom visszaváltozik az előző elemre, és egy új atomot rajzol az eredetihez kötve. Ha a kötéseken balra kattintunk, akkor a kötéssorrend ciklikusan változik az egyszerű, a kettős és a hármas kötés között. Gyorsbillentyűk is rendelkezésre állnak, például az atomszimbólum (pl. “C-o” a kobalt esetében) beírása megváltoztatja a kiválasztott elemet, vagy az “1”, “2” és “3” számok beírása megváltoztatja a kötéssorrendet.

Az atomokra vagy kötésekre való jobbklikk törli azokat. Ha a “Hidrogének beállítása” jelölőnégyzet be van jelölve, az egyes atomokhoz kötött hidrogének száma automatikusan kiigazításra kerül, hogy megfeleljen a valenciának. Alternatív megoldásként ez a szerkesztési munkamenet végén is elvégezhető az építés menü “Hidrogének hozzáadása” bővítményének használatával.

A rajzolóeszközön kívül két eszköz áll rendelkezésre a meglévő molekulákban lévő atomok helyzetének beállítására. Az “Atomközpontú manipulálás” eszközzel egy atom vagy a kijelölt atomok egy csoportja mozgatható. A “kötésközpontú manipuláció” eszközzel egy kötést lehet kiválasztani, majd az összes atom pozícióját a kiválasztott kötéshez képest különböző módon beállítani (pl. a kötéshossz, a kötésszögek vagy a diéderes szögek megváltoztatásával). Ez a három eszköz nagyfokú rugalmasságot tesz lehetővé a kis molekulák interaktív felépítésében a képernyőn.

Amikor a molekulaszerkezet elkészült, az erőtér-bővítéssel geometriaoptimalizálás végezhető. A “Bővítések” és a “Geometria optimalizálása” gombra kattintva gyors geometria-optimalizálás történik a molekulán. Az erőtér és a számítási paraméterek beállíthatók, de az alapértelmezett értékek a legtöbb molekulához megfelelőek. Ez a munkafolyamat jellemző, amikor kis molekulaszerkezeteket építünk fel kvantumszámítások inputjaként vagy publikációs minőségű ábrákhoz.

Egy alternatíva az “Automatikus optimalizálás” eszköz és a rajzoló eszköz kombinálása. Ez egy egyedülálló módját jelenti a molekula megformálásának, miközben a geometria folyamatosan minimalizálódik a háttérben. A geometria optimalizálása animáltan történik, és a kötéssorrendek megváltoztatásának, új csoportok hozzáadásának vagy csoportok eltávolításának hatása interaktívan megfigyelhető.

A molekula tulajdonságairól való tájékoztatáshoz és a paraméterek, például a molekulában lévő atomok kartéziánus koordinátáinak pontos módosításához számos párbeszédpanel van implementálva.

Molekulaépítés: töredékekből

A molekulák atomról atomra történő építése mellett a felhasználók a szokásos molekulák, ligandumok vagy aminosav-szekvenciák előre elkészített töredékeit is beilleszthetik, amint azt az 5. ábra mutatja. A töredék beillesztése után minden esetben az atomközpontú manipuláció eszköz van kiválasztva, így a töredék könnyen áthelyezhető vagy elforgatható.

5. ábra
figure5

Dialogok az előre elkészített töredékek beillesztéséhez. A bal oldalon a molekulák, a jobb oldalon pedig az aminosav szekvenciák láthatók.

A felhasználók egy SMILES karakterláncot is beilleszthetnek egy molekulához. Ebben az esetben egy durva 3D geometria generálódik az Open Babel és egy gyors erőtér-optimalizálás segítségével.

Bemeneti adatok előkészítése kvantumkódokhoz

Az Avogadrohoz több olyan bővítményt is kifejlesztettek, amelyek segítik a felhasználót a népszerű kvantumkódok, például a GAMESS-US, NWChem, Gaussian, Q-Chem, Molpro és MOPAC200x bemeneti fájljainak előkészítésében. A grafikus párbeszédpanelek bemutatják az alapvető kvantumszámítások futtatásához szükséges funkciókat; néhány példa a 6. ábrán látható.

6. ábra
6. ábra

Kvantumkódok bemeneti adatainak létrehozására szolgáló párbeszédpanel. A Q-Chem, NWChem, Molpro és MOPAC200x kódok inputjának generálására szolgáló párbeszédpanelek. Megjegyzendő, hogy a párbeszédpanelek felülete hasonló, így a felhasználók több számítási kémiai csomagot is használhatnak.

A bemeneti fájl előnézete az egyes párbeszédpanelek alján az opciók módosításakor frissül. Ez a megközelítés segíti a kvantumkódok új felhasználóit abban, hogy megtanulják a különböző kódok bemeneti fájljainak szintaxisát, és a tanulás során gyorsan létrehozzanak hasznos bemeneti fájlokat. A bemenet kézzel is szerkeszthető a párbeszédablakban, mielőtt a fájlt elmentjük és elküldjük a kvantumkódnak. A MOPAC kiterjesztés közvetlenül a MOPAC200x programot is képes futtatni, ha az elérhető a felhasználó számítógépén, majd a kimeneti fájlt a számítás befejezése után visszatölteni az Avogadróba. Ezt a funkciót az Avogadro jövőbeli verzióiban más kvantumkódokra is ki fogják terjeszteni.

A GAMESS-US bővítmény az egyik legfejlettebb, amely egy alapvető párbeszédpanelt tartalmaz, amely a legtöbb más bemeneti fedélzetgenerátorban is jelen van, valamint egy fejlett párbeszédpanelt, amely számos szokatlanabb és összetettebb számítási típust tár fel. A fejlett párbeszédpanel mellett a bemeneti pakli inline szerkeszthető, és rendelkezik a szoftverfejlesztőknek szánt számos népszerű szerkesztőprogramban használt szintaxis-kiemeléssel (7. ábra). Ez jelezheti a kulcsszavak egyszerű gépelési hibáit, valamint a nehezebben észrevehető szóközhibákat, amelyek egyébként a GAMESS-US által történő beolvasáskor a kézzel szerkesztett beviteli fedélzet hibáját okoznák.

7. ábra
7. ábra

A GAMESS-US input deck generátora. Ez a bemeneti generátor fejlett panellel és szintaxis-kiemelővel rendelkezik.

Az igazítás és mérések

A standard Avogadro-disztribúcióban található egyik speciális eszköz az igazítási eszköz. Ez az egérrel működő eszköz megkönnyíti a molekulaszerkezet összehangolását a koordináta eredetével, ha egy atom van kijelölve, illetve a megadott tengely mentén, ha két atom van kijelölve. Az igazítási eszköz kombinálható a mérési, kiválasztási és manipulációs eszközökkel, hogy olyan kvantumkódok bemeneteit hozza létre, ahol a molekula helyzete és orientációja fontos. Egy példa erre az olyan számítások, ahol a molekulára külső elektromos mezőt alkalmazunk. Az ilyen típusú számításoknál a molekula igazítása nagy hatással lehet. A 8. ábra a mérőeszközt mutatja működés közben, a bal alsó sarokban látható az igazítási eszköz konfigurációs párbeszédpanelével.

8. ábra
8. ábra

A mérőeszköz. A kötésszögek és -hosszok mérésére használt mérőeszköz (Linuxon KDE 4 operációs rendszerrel).

Egyedi feladatokra összetettebb igazítóeszközöket lehetne létrehozni. Az igazító eszköz néhány óra alatt készült el egy konkrét kutatási projekthez. Ez egy kiváló példa arra, hogy a bővíthetőség nagyon fontos volt egy grafikus számításos kémiai eszközzel végzett kutatás elvégzéséhez. Nem érné meg a befektetést egy új alkalmazás létrehozása csak a molekulaszerkezetek egy tengelyhez való igazításához, de egy bővíthető projekthez egy bővítmény létrehozása nem ésszerűtlen.

Vizualizáció

Az Avogadro alkalmazás OpenGL-t használ a molekuláris ábrázolások interaktív megjelenítéséhez a képernyőn. Az OpenGL egy magas szintű, platformokon átívelő API-t kínál a háromdimenziós képek hardveresen gyorsított grafikával történő megjelenítéséhez. A renderelő kód nagy részében az OpenGL 1.1-es vagy annál újabb verziót használjuk, így az Avogadro régebbi vagy modernebb gyorsított grafikával nem rendelkező számítógépes rendszereken is használható. Képes kihasználni az OpenGL 2.0-ban elérhető néhány újabb, alább ismertetett funkciót, de ezt a molekulaszerkezet újszerű vizualizációjánál opcionális extra funkciónak tartottuk.

Standard ábrázolások

A kémiában a molekulaszerkezetnek számos standard ábrázolása létezik, amelyek eredetileg a fizikai modellekkel lehetséges ábrázolásokon alapulnak. Az Avogadro alkalmazás a 2. ábrán látható reprezentációk mindegyikét plugin formájában valósítja meg. Ezek az egyszerű drótvázas ábrázolástól kezdve a pálcika/licorice, a gömb és pálca, valamint a Van der Waals-gömbök ábrázolásán keresztül terjednek.

Az is lehetséges, hogy több ábrázolást kombináljunk, például a gömb és pálca gyűrű ábrázolással (2. ábra (d)), valamint egy félig átlátszó Van der Waals térkitöltő ábrázolás pálcika ábrázolással a molekuláris gerincvonal megvilágítására (2. ábra (f)).

Kvantumszámítások és elektronszerkezet

A kvantumkódokat eredetileg vonalnyomtatókhoz fejlesztették ki, és sajnos azóta a szabványos naplófájlokban kevés változás történt. Számos formátumot fejlesztettek ki más kódokban való használatra és kifejezetten vizualizációra és elemzésre, de a számításos kvantumkémiai közösségben alig van megállapodás bármilyen szabványos fájlformátumról. Az Avogadroban egy bővítményt fejlesztettek ki a különböző kvantumkódok kimenetének vizualizálására, és az adatok megfelelő formátumba juttatására a további vizualizáció és elemzés céljából.

Az Open Babelben kezdetben támogatást adtak hozzá és bővítették ki a Gauss-kocka fájlok számára. Ez a formátum atomkoordinátákat és egy vagy több skalárértékekből álló szabályos távolságú rácsot ad meg. Ez beolvasható, és az olyan technikák, mint a marching cubes algoritmus, felhasználhatók például az izofelületek háromszöghálóinak kiszámítására az elektronsűrűség értékeinél. Miután kifejlesztettük a kódot ezeknek az izofelületeknek a megjelenítésére, világossá vált, hogy hasznos lenne, ha ezeket a kockákat menet közben is ki lehetne számítani, méghozzá különböző részletességgel, a tervezett felhasználástól függően.

Az első formátum, amely a fejlesztés idején némileg dokumentált volt, a Gauss-formátumú ellenőrzőpont-formátum. Ezt a formátumot sokkal könnyebb elemezni, mint a program futása közben keletkező naplófájlokat, és minden olyan részletességet megad, amely a molekuláris orbitális vagy elektronsűrűség skalárértékének kiszámításához szükséges a tér bármely pontján. Miután a Gauss-típusú orbitálok számára kifejlesztettünk egy osztályszerkezetet, a megközelítést kiterjesztettük több más népszerű kimeneti fájlformátum beolvasására, beleértve a Q-Chem, GAMESS-US, NWChem és Molpro formátumokat. A MOPAC200x támogatást később adták hozzá, az AUX formátum és az abban a kódban használt Slater típusú orbitálok támogatásával együtt. Mindezek a kódok a végső konfigurációikat az atomi pályák szabványos lineáris kombinációjával adják ki, ami azt jelenti, hogy a párhuzamosítás rendkívül egyszerű.

A bővítményt úgy fejlesztettük ki, hogy kihasználja a QtConcurrent által kínált map-reduce megközelítést az összes rendelkezésre álló processzormag kihasználása érdekében. Ez szinte lineáris skálázást kínál, mivel a rács minden egyes pontja az összes többi ponttól függetlenül kiszámítható, amelynek eredményei a 9. ábrán láthatók. A molekuláris orbitálisok számításának alternatív megközelítését egy második pluginban fejlesztették ki, amely azóta egy különálló projektbe, az “OpenQube” projektbe vált ki. Az “OpenQube” könyvtár a 2011-es Google Summer of Code során opcionális háttértárként is bekerült a VTK-ba, ami számos kimeneti fájlformátum támogatását és olyan kockafájlok kiszámítását teszi lehetővé, amelyek később fejlettebb adatpipelinekbe táplálhatók.

9. ábra
9. ábra

Molekuláris pályák és felületek. Egy molekuláris orbitális izo-felület (balra) és egy elektrosztatikus felületi potenciál megjelenítése az elektronsűrűségre leképezve (jobbra).

A kvantumkimenethez szabványos API-val rendelkező osztályhierarchia áll rendelkezésre. Az új kódok támogatásának hozzáadása egy új parser kifejlesztését és a Gauss- vagy Slater-készlet megfelelő rendezéssel és az elvárt normalizálási sémával való feltöltésének biztosítását jelentette. Az s, p és d típusú Gauss-orbitálisok támogatottak, és tervben van az f és g támogatás, hogy támogassuk az egyre növekvő számú számításokat, amelyek ezeket a magasabb rendű orbitálisokat használják. Az EMSL által üzemeltetett Báziskészlet-csere hozzáférést biztosít az általánosan használt báziskészletekhez, bár jelenleg ezeket az alapkészleteket általában közvetlenül a kimeneti fájlokból olvassák be. Több kapcsolódó projekt is létezik az ilyen típusú kimenetek szemantikus jelentéssel való ellátására, köztük a JUMBO-Converters projekt és a Quixote. Remélhetőleg a jövőben több kód is átveszi a szemantikus kimenetet, közös formátumot használva, hogy az adatok cseréje, validálása és elemzése könnyebbé váljon több kód között. Ez volt a témája egy nemrégiben tartott találkozónak, amelyen több számításos kémiai kód kezdte el használni a FoX-ot a CML kimenethez. Megkezdődött a CML-kimenet beolvasására szolgáló kódok fejlesztése, akár közvetlenül a kódokból, akár más formátumok Open Babel vagy a JUMBO-konverterek segítségével történő átalakításával. Ha a CML-hez elegendő szemantikai struktúrát lehet hozzáadni, és a konverterek a kimenet elég széles skáláját támogatják, akkor ez kiválthatja az OpenQube-ban lévő elemző kód nagy részét. A szemantikai jelentés az egyik legnehezebben kinyerhető a naplófájlokból, és a közösségként való összefogás segíteni fogja az Avogadro-hoz hasonló projekteket abban, hogy több jelentést nyerjenek e kódok kimeneteiből.

Szekunder biológiai szerkezet

Az Avogadro az Open Babel PDB olvasóját használja a másodlagos biológiai szerkezet beolvasására. Két plugin létezik ennek az információnak a feldolgozására és megjelenítésére. Az első egy olyan plugin, amely egy egyszerű csövet renderel a biomolekula gerincének atomjai között. A második, fejlettebb plugin az alfa-hélixek és béta-lapok hálóit számítja ki. Míg az első plugin sokkal gyorsabb, a fejlett plugin pontosabban adja ki a terepen elvárt kimenetet. Ez rugalmasságot biztosít a felhasználók számára a másodlagos biológiai struktúrák megjelenítésében.

GLSL, újszerű vizualizáció

Az OpenGL 2.0 specifikációban szereplő OpenGL 2.0, azaz OpenGL Shader Language egy C-szerű szintaxis, amely grafikus kártyákon futtatható kód fejlesztésére használható. A játékiparban, valamint az adatvizualizáció számos területén nagyszerűen használják. Több közelmúltbeli cikk is kiemeli a kémia területén rejlő lehetőségeket, például a QuteMol a képek mélységének hozzáadásához olyan funkciók támogatásával, mint az ambient occlusion.

Az Avogadro támogatja a vertex és fragment shader programokat, és számos példát is mellékeltek a csomaghoz. Ha a felhasználó grafikus kártyája alkalmas, ezek a programok futásidőben betölthetők, és nagyszerűen használhatók a struktúra megjelenítésére. Ezek közül néhány olyan összefoglaló technikákat tartalmaz, mint például az izosurface renderelés, ahol csak a nézetsíkra merőleges élek láthatók, így sokkal jobban megjeleníthető mind a molekuláris, mind az elektronszerkezet (10. ábra).

10. ábra
10. ábra

Molekuláris pályák renderelése GLSL shaderek segítségével. Egy molekuláris orbitális izo-felület renderelése két GLSL árnyékoló használatával a felületek széleinek kiemelésére. A röntgenhatás (balra) és a pozitív és negatív molekuláris orbitális alakzatok piros és kék (jobbra) megjelenítése.

Ray tracing

Az Avogadro egy festő absztrakciót használ, amely sokkal könnyebbé teszi a fejlesztők számára új megjelenítési típusok hozzáadását. A renderelőt is absztrahálja, lehetővé téve alternatív háttértárak támogatásának hozzáadását. Jelenleg csak az OpenGL és a POV-Ray támogatott. Az absztrakciónak köszönhetően képesek vagyunk a sugárkövetőkben elérhető implicit felületeket használni a molekulaszerkezetek nagyon nagyfokú tisztaságú rendereléséhez, a szabványos OpenGL renderelt képeken előforduló háromszög-artifaktumok nélkül. A sokkal jobb minőségű átláthatóság és tükröződés lehetővé teszi azt is, hogy a képeket posztereken és szóbeli előadásokon, valamint kutatási cikkekben is felhasználjuk (11. ábra).

11. ábra
11. ábra

Ray-traced HOMO isosurfaces of varying cube density. Egy molekuláris orbitális izo-felület renderelése POV-Ray használatával, alacsony (balra) és magas (jobbra) sűrűségű kockákkal.

Ez a funkció egy kiterjesztésben van megvalósítva, egy további, az alaposztályból származtatott festő osztály és egy párbeszédpanel segítségével, amely lehetővé teszi a felhasználó számára az alapvető renderelési vezérlők szerkesztését. A POV-Ray bemeneti fájl is megtartható és szerkeszthető összetettebb képek előállításához, vagy a renderelési folyamat sokkal finomabb vezérlésére, ha szükséges.

Az Avogadro könyvtár használata

Az Avogadro könyvtár első felhasználása az Avogadro alkalmazás volt, amelyet szorosan követett a KDE szoftvergyűjtemény részét képező Kalzium periódusos rendszer program. Ezt a kezdeti munkát részben a Google Summer of Code program finanszírozta 2007-ben, és az Avogadro könyvtár számos más funkcióval való kiegészítését is eredményezte a Kalzium és a molekulaszerkezet általános vizualizációjának és szerkesztésének támogatása érdekében (12. ábra).

12. ábra
12. ábra

A Kalzium alkalmazás a KDE-ben az Avogadro segítségével a molekulaszerkezetek megjelenítésére.

A Q-Chem csomag az Avogadro köré fejlesztette ki a “QUI – The Q-Chem User Interface”-t, eredetileg Avogadro kiterjesztésként. Ez az Avogadro-ban kifejlesztett inputgenerátor fejlettebb változata, sokkal szorosabb integrációval. A Molpro is közzétett néhány eredményt az Avogadro könyvtárat használó Molpro interfész fejlesztéséből .

Packmol

A Packmol egy harmadik féltől származó csomag, amelyet molekulák kezdeti “csomagolt” konfigurációinak létrehozására terveztek molekuladinamikai vagy más szimulációkhoz . Ilyen például egy fehérje körülvétele oldószerrel, oldószerkeverékek, lipid kettősrétegek, gömbmicellák, ellenionok elhelyezése, ligandumok hozzáadása nanorészecskékhez stb. Jellemzően a felhasználóknak kiegyensúlyozott “oldószerdobozai” lehetnek, amelyeket hosszú szimulációk során futtattak a megfelelő sűrűség, valamint az oldószer-molekulák közötti rövid és hosszú távú kölcsönhatások biztosítása érdekében. Az ilyen oldószerdobozok használata lehetővé teszi az oldott molekulák, például a fehérjék elhelyezését egy megközelítőleg helyes kezdeti szerkezetben, mint amilyen a 13. ábrán látható. Az oldott anyagot hozzáadjuk a dobozhoz, és az átfedő atomokkal rendelkező oldószer-molekulákat eltávolítjuk. Bár ezek a segédprogramok gyakran elegendőek, az összetett bemeneti fájlok létrehozása nem mindig egyszerű. Bonyolultabb rendszerek esetén a Packmol képes létrehozni egy kezdeti konfigurációt meghatározott sűrűségek, geometriák (pl. gömb, doboz stb.) és az elhelyezendő molekulák alapján. Egy Avogadro-fejlesztő írt egy külső bővítményt a Packmol használatának megkönnyítésére, beleértve a molekulák számának becslését egy adott térfogatban.

13. ábra
figure13

A PackMol lipidréteg a PackMol bővítmény által előállított módon.

A bővítmény jelenleg nem kerül terjesztésre az Avogadróval együtt, mint szabványos funkció, bár tervben van egy jövőbeli verzióban. Példaként szolgál arra, hogy az Avogadro hogyan könnyítheti meg a munkafolyamatot egy szövegorientált csomaggal (Packmol), beleértve a Packmol által igényelt PDB formátumú fájlok mentését, egy bemeneti fájl létrehozását és a kimenet olvasását a vizualizáció, elemzés és további szimulációk céljából.

XtalOpt

A XtalOpt szoftvercsomagot az Avogadro harmadik féltől származó C++ kiterjesztéseként valósították meg, és nagymértékben használja a libavogadro API-t. A bővítmény egy kristályszerkezet-előrejelzésre szabott evolúciós algoritmust valósít meg. Az XtalOpt fejlesztőcsapata az Avogadro-t választotta platformként a nyílt forráskódú licenc, a jól megtervezett API, a nagy teljesítményű vizualizációs eszközök és az intuitív felhasználói felület miatt. Az XtalOpt egy párbeszédablak formájában létezik (14. ábra), és az Avogadro fő ablakát használja a jelölt szerkezetek fejlődésének vizualizálására. Az API jól megfelel az XtalOpt igényeinek, mivel egyszerű mechanizmust biztosít a felhasználó számára a keresés során létrehozott struktúrák megtekintéséhez, szerkesztéséhez és exportálásához. Az Avogadro és függőségi rendszereinek platformokon átívelő képességeit kihasználva az XtalOpt elérhető Linux, Windows és Mac rendszerekre.

14. ábra
14. ábra

Az XtalOpt bővítmény. Az XtalOpt kiterjesztés a stabilitás és a keresés előrehaladásának grafikonját mutatja egy TiO2 szupercella esetében.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.