Morganov algoritmus

**Morganov algoritmus** je algoritmus používaný v chemoinformatike na porovnávanie a jednoznačnú identifikáciu molekulových grafov. Jeho hlavným cieľom je na základe 2D topológie určiť, či dva grafické zápisy molekúl reprezentujú tú istú chemickú štruktúru a to nezávisle od spôsobu kreslenia alebo očíslovania atómov. Algoritmus priraďuje atómom hodnoty založené na ich topologickom okolí a tieto hodnoty iteratívne spresňuje, čím vytvára invarianty charakteristické pre danú štruktúru. Princíp Morganoveho algoritmu je základom mnohých metód používaných pri práci s molekulovými množinami a v chemických databázach kde je potrebné vylúčiť duplicitné štruktúry. Príkladom je registrácia látok v Chemical Abstracts Service (CAS). V modernom drug discovery sa princípy Morganovho algoritmu používajú aj ako základ pre niektoré typy molekulových fingerprintov (napr. ECFP), ktoré sa uplatňujú pri vyhľadávaní podobných molekúl a virtuálnom screeningu.

## História
Morganov algoritmus bol vyvinutý v 60. rokoch 20. storočia v rámci Chemical Abstracts Service (CAS), ktorá budovala jeden z prvých rozsiahlych počítačových systémov na správu chemických informácií. Hlavným cieľom CAS bolo vytvoriť registračný systém chemických látok, v ktorom by bola každá jedinečná chemická štruktúra uložená iba raz a prepojená so všetkými dostupnými informáciami, ako sú vedecké publikácie a experimentálne údaje.

Algoritmus publikoval H. L. Morgan v roku 1965 v článku *The Generation of a Unique Machine Description for Chemical Structures*: *A Technique Developed at Chemical Abstracts Service*. Morganov algoritmus sa stal jedným z prvých prakticky použiteľných riešení problému ekvivalencie molekulových grafov v chemických databázach. Princípy zavedené Morganom sa postupne uplatnili v ďalších metódach štandardizácie chemických štruktúr, vrátane algoritmov na generovanie kanonických lineárnych zápisov molekúl a moderných molekulových fingerprintov. Samotný Morganov algoritmus bol v priebehu času rozšírený a nahradený sofistikovanejšími postupmi, no jeho koncept rozšírenej konektivity (extended connectivity) zostáva jedným zo základných stavebných prvkov súčasných nástrojov na prácu s chemickými štruktúrami a databázami.

## Algoritmus
Morganov algoritmus pracuje s molekulou reprezentovanou ako molekulový graf, ktorý je v počítači uložený vo forme tzv. connection table, ktorá predstavuje tabuľkový zápis atómov a ich vzájomných väzieb. Takáto reprezentácia umožňuje jednoznačný zápis chemickej štruktúry, no v závislosti od číslovania atómov môže existovať viacero ekvivalentných zápisov tej istej molekuly.

### Extended connectivity (rozšírená konektivita)
Kľúčovým prvkom Morganovho algoritmu je pojem extended connectivity, teda iteratívne rozširovanie informácie o lokálnom topologickom okolí atómu.

Algoritmus pracuje v nasledujúcich krokoch:

# **Inicializácia hodnôt atómov:** Každému atómu sa priradí počiatočná hodnota, ktorá zodpovedá jeho konektivite, teda počtu priamo viazaných nevodíkových atómov. Tát hodnota je invariantná voči číslovaniu atómov.
# **Iteratívna aktualizácia hodnôt:** V každej iterácii sa nová hodnota atómu vypočíta ako súčet hodnôt jeho susedných atómov z predchádzajúceho kroku. Týmto spôsobom sa do hodnoty atómu postupne premieta informácia o čoraz širšom topologickom okolí.
# **Zastavenie iterácie:** Iterácia pokračuje dovtedy, kým sa počet rôznych hodnôt v grafe ďalej zvyšuje. Výsledné hodnoty predstavujú topologické invarianty, ktoré sú charakteristické pre danú molekulovú štruktúru a nezávislé od jej pôvodného číslovania

náhľad|736x736bod|Obr. 1 Princíp rozšírenej konektivity. V každej iterácii algoritmu sa hodnota každého uzla nahradí súčtom hodnôt jeho susedných uzlov z predchádzajúceho kroku. Po každej iterácii sa sleduje počet rôznych hodnôt v grafe (''k''), ktorý vyjadruje mieru topologického rozlíšenia uzlov. Iterácia pokračuje dovtedy, kým sa hodnota ''k'' zvyšuje. Ak sa v nasledujúcom kroku už nezvýši, proces sa ukončí a za výsledok sa považujú hodnoty z predchádzajúcej iterácie.

Na základe vypočítaných hodnôt rozšírenej konektivity algoritmus zavádza čiastočné usporiadanie atómov. Atómy s vyššími hodnotami majú pri číslovaní prednosť pred atómami s nižšími hodnotami. Tento krok výrazne zmenšuje množinu možných číslovaní atómov, ktoré je potrebné zohľadniť. Namiesto generovania všetkých teoreticky možných zápisov molekuly algoritmus pracuje len s obmedzenou podmnožinou kandidátov, ktoré sú konzistentné s daným usporiadaním.

### Výber kanonickej reprezentácie
Z redukovanej množiny kandidátnych zápisov sa následne vytvoria príslušné connection tables. Tieto tabuľky sa porovnávajú lexikograficky ako reťazce symbolov v pevne definovanom poradí (väzby, uzly, typy atómov a pod.). Ako kanonická reprezentácia sa vyberie tá tabuľka, ktorá je podľa tohto poradia „najmenšia“.

## Význam a využitie
Morganov algoritmus položil základy pre:

* registračné systémy chemických látok (napr. CAS Registry),
* generovanie kanonických lineárnych zápisov molekúl (napr. SMILES),
* moderné molekulové fingerprinty založené na rozšírenej konektivite (ECFP).

## Referencie

Kategória:Chemoinformatika