Pravděpodobně každý krystalograf se dostal jednou do situace, kdy potřeboval
porovnat dvě nebo více krystalových
struktur organických nebo organokovových látek a hledal způsob a nástroj, jak to provést, aniž by nad tím zbytečně
strávil čas navíc. Všechen ten čas uplynulý před
monitorem, kdy se krystalografové pomocí ručního otáčení modelů krystalových struktur snažili mezi nimi najít
podobnost, je němým svědkem toho, že nějaký nástroj pro tento účel je vhodné
si osvojit.
V minulosti bylo publikováno několik metod pro porovnávání krystalových struktur [1–6]. Mezi uživatelsky přívětivé nástroje bych zařadil
funkci Crystal Packing Similarity v programu Mercury [7], a programy
COMPSTRU [8], xPac [9] a CrystalCMP
[10]. Nástroj
Crystal Packing Similarity je zpřístupněn uživateli jen v placené verzi programu
Mercury. Program COMPSTRU je vytvořen jako online nástroj na stránkách Bilbao
Crystallographic Server a programy xPac a CrystalCMP lze volně stáhnout.
Nástroje
Crystal Packing Similarity, xPac a CrystalCMP používají podobný přístup pro porovnání pakování molekul v krystalových strukturách. Programy vyberou u každé porovnávané struktury reprezentativní molekulární klastr, kde je možné zvolit např.
jen jeden typ molekuly (obvykle
té největší ve struktuře). Následně provedou porovnání na základě
rozdílů pozic molekul v obou klastrech. Jednotlivé implementace se liší ve způsobu porovnávání
obou klastrů a v rychlosti porovnání. Metoda porovnání použitá programem COMPSTRU se od zbylých třech metod
výrazně liší. Její přístup bych
nazval jako více krystalografický. Program najde nejlepší transformaci základních buněk porovnávaných struktur a pak provede porovnání pozic atomů v základní buňce.
Uvedené nástroje určené pro porovnávání krystalových struktur se mezi sebou liší použitou
metodou, uživatelským rozhraním a dostupností. Je tedy jen na
uživateli, který z nich si nakonec
vybere.
Jak už bylo zmíněno, metoda programu CrystalCMP je založena na porovnávání reprezentativního molekulárního klastru, do kterého je možné zahrnout jeden typ molekuly, obvykle
té největší. Během porovnávání dojde k překrytí vygenerovaných molekulárních klastrů jednotlivých krystalových struktur a podobnost je spočítána jako odchylka středů
překrývajících se molekul a
úhlů natočení molekul od sebe. Výsledná podobnost (v tomto případě spíš
rozdílnost) je dána vztahem:
kde Dc je
průměrná vzdálenost (v
Å) středů překrývajících
se molekul a Ad reprezentuje
odchylku natočení překrývajících se molekul v prostoru. Hodnota w je
volena uživatelem a reprezentuje váhu mezi Dc a Ad.
Větší váha je ve výchozím
nastavení programu kladena na rozdíl
natočení molekul v prostoru. Je to z toho důvodu,
že stejné pakování není ani tak podmíněno stejnou
pozicí molekul v prostoru, jako spíš jejich stejným
natočením, viz. obr. 1. Pomocí takto definované
funkce Psa,b je
umožněno porovnávání molekulárních struktur, které byly změřeny
za různých teplot. Objemová změna struktury má totiž
na změnu Psa,b funkce malý vliv.
Lze tedy porovnávat pakování molekul ve strukturách,
jejichž expanze je způsobena např. přítomností molekul solventů či koformerů
různých velikostí, jako je tomu např.
v tzv. solvatomorfních
řadách.
Výsledkem porovnání programem
CrystalCMP je podobnostní matice a z ní vypočtený dendrogram, který seskupuje jednotlivé látky podle podobnosti
v čitelné podobě. Samotné porovnání krystalových struktur je provedeno buď automaticky,
nebo za interakce uživatele. Porovnání dvou krystalových struktur je v průměru provedeno během 0.5 s
(reference), což umožňuje během několika minut porovnat desítky krystalových struktur mezi sebou.
Program je napsán
v jazyce C/C++, využívá
knihovny OpenBabel [11] pro
generování SMILES definic a
pro grafické rozhraní používá wxWidgets a OpenGL.
Program je volně ke stažení na adrese http://sourceforge.net/projects/crystalcmp/,
kde lze také
nalézt jeho zdrojový kód.
Tento příspěvek byl financován projektem LO1603 v rámci Národního programu udržitelnosti Ministerstva školství, mládeže a tělovýchovy České republiky,