Chemické formáty
Bedřich Košata
SMILES ●
● ●
●
Simplified Molecular Input Line Entry Specification Navržen pro použití lidmi Podobná normálnímu zápisu chemických struktur Umožňuje ale nevyžaduje kanonickou formu
Pravidla pro SMILES ●
Symboly atomů se píšou do hranatých závorek spolu s počtem vodíků, specifikací isotopu a nábojem:
[CH4], [CH3]-[CH3], [C], [Pb], [Zn++], [Zn2+], [14CH3-],[2H+] ●
Prvky běžné v organické chemii patří do tzv. "organic subset" – "organické podmnožiny". U těch není třeba používat hranaté závorky a uvádět počet vodíků explicitně – mají implicitní vaznost. Patří sem [B, C, N,O, P, S, F, Cl, Br, I]
SMILES - vazby ●
Vazby –
Jednoduchá "-"
–
Dvojná "="
–
Trojná "#"
–
Čtverná "$"
–
Aromatická ":"
–
Nulová "." ● ●
Pro vyjádření solí, komplexů, apod. Např. [Na+].[Cl-] místo [Na]Cl, CC(=O)[O-].[NH4+], apod.
SMILES - atomy ●
●
Mezi atomy se předpokládá jednoduchá vazba: "CCC" = "C-C-C" Aromatická vazba mezi atomy z "organic subset" je implikovaná pokud je symbol zapsán malými písmeny: "C:1:C:C:C:C:C:1" = "c1ccccc1"
SMILES – větvení ●
●
Větvení se zapisuje pomocí závorek: CC(C) (C)CCl je 1-chlor-2,2-dimethylpropan Větvení lze rekurzivně vkládat do sebe, ve větvích lze používat čísla pro vytváření kruhů: CC(C(C(C)C)C)CC
SMILES – kruhy ●
●
●
Kruhy se vytváří pomocí čísel za symbolem atomu. Odpovídající čísla se spojí vazbou. Čísla, která se jednou spojí lze recyklovat: "C1CC1C2CC2" = "C1CC1C1CC1" Čísla jsou pouze jednociferná "C12" neznamená jeden kruh s číslem 12, ale dva s čísly 1 a 2
SMILES – cis-trans isomerie ●
Pro vyjádření isomerie na dvojných vazbách se používají odlišné symboly pro jednoduchá vazby - "\" a "/"
●
"\" značí směr dolů, "/" směr nahoru
●
C\C=C\C – trans-but-2-en
Molfile ● ●
Rodina formátů CTFile Základem je connection table (CT, spojovací tabulka)
Molfile – Connection table comment comment comment 12 12 0 134.6302 157.3151 180.0000 180.0000 134.6302 157.3151 202.6908 225.3777 202.6948 248.0685 111.9394 89.2525 3 4 1 3 7 1 5 6 1 4 6 2 8 10 1 11 12 1 7 9 2 5 11 1 1 5 2 2 3 2 7 8 1 1 2 1 M END
0
0 0 0 181.9725 195.0787 181.9725 155.8114 155.8114 142.7052 195.0684 181.9656 221.2673 195.0616 142.7154 155.8183 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
0 0999 V2000 0.0000 C 0 0 0.0000 C 0 0 0.0000 C 0 0 0.0000 C 0 0 0.0000 C 0 0 0.0000 C 0 0 0.0000 C 0 0 0.0000 C 0 5 0.0000 O 0 0 0.0000 C 0 0 0.0000 O 0 0 0.0000 C 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
O
O
Rodina CTFile Molfile Rnxfile SDFile RDFile XDFile
Struktura ano ano ano ano ano
Reakce ne ano ne ano ano
Víc kusů Popis ne ne ano ano ano založený na XML
InChI ●
Velice mladý formát (~2005)
●
Produkt spolupráce IUPAC a NIST
●
Kanonický formát
●
Vysoký stupeň normalizace
●
Vrstevnatá struktura –
●
Umožňuje porovnávat struktury na různých úrovních detailu
V roce 2009 vzniklo tzv. Standardní InChI, které neumožňuje nijak nastavovat parametry výstupu, jako to uměla předchozí verze. Označuje se “1S/” na začátku InChI.
InChI - struktura ● ●
Vrstvy jsou oddělené lomítkem Čísla atomů jsou přiřazená v pořadí sumárního vzorce –
Např. 1-11 = C, 12 = N, 13,14 = O 14
6
O
11
O
10
7
verze
13
1
5 9
3 4
8
HN12 H 2
InChI=1S/C11H15NO2/c1-8(12-2)5-9-3-4-10-11(6-9)14-7-13-10/h3-4,6,8,12H,5,7H2,1-2H3/t8-/m1/s1 sumární vzorec
konektivita
vodíky
stereochemie
InChI - struktura OH 1S/C5H8O/c1-2-3-4-5-6/h6H,2,5H2,1H3
1S/C6H10/c1-3-5-6-4-2/h3-4H2,1-2H3
1S/C6H10/c1-6-4-2-3-5-6/h4H,2-3,5H2,1H3
1S/C6H10/c1-6-4-2-3-5-6/h2,4,6H,3,5H2,1H3
InChI – normalizace ●
Tautomery mají stejné InChI –
InChI neukládá řády vazeb, takže tautomery se liší pouze umístěním atomů vodíku
–
Vrstva popisující vodíky obsahuje u tauteomerů informaci typu "2 atomy vodíku rozprostřené po 3 atomech kyslíku".
–
Standardní InChI defaultně obsahuje tzv. FixedH, což způsobí přidání další vrstvy, která popisuje skutečné umístění vodíků OH
O H3C
H3C OH
O
InChI=1/C2H4O2/c1-2(3)4/h1H3,(H,3,4)
InChI – normalizace OH
O
N N
NH OH
N H
O
InChI=1/C4H4N2O2/c7-3-1-2-5-4(8)6-3/h1-2H,(H2,5,6,7,8) /f/h7-8H
/f/h5-6H
Vrstva pro zafixované vodíky
InChI bez zafixovaných vodíků
InChI – cvičení ●
Pokuste se nakreslit následující sloučenin podle jejich InChI: –
InChI=1/C3H8O/c1-2-3-4/h4H,2-3H2,1H3
–
InChI=1/C4H4O/c1-2-4-5-3-1/h1-4H
–
InChI=1/C3H8O3S/c1-2-3-7(4,5)6/h2-3H2,1H3, (H,4,5,6)/f/h4H
–
InChI=1/C4H10O3/c5-1-3-7-4-2-6/h5-6H,1-4H2
–
InChI=1/C5H5NO/c7-5-3-1-2-4-6-5/h1-4H,(H,6,7)
–
InChI=1/C9H11NO/c1-3-7-6-8(10)4-5-9(7)11-2/h36H,1,10H2,2H3
InChIKey ●
Hash konstantní délky založená na InChI
●
Skládá se ze tří částí
●
–
14 znaků pro strukturu
–
10 znaků pro stereo, fixedH, a další
–
1 znak pro protonaci/deprotonaci (N=0,M=-1,O=+1)
Ukázky –
WPYMKLBDIGXBTP-UHFFFAOYSA-N (kyselina benzoová)
Zajímavé InChIKey (starší formát) ●
●
●
●
609021 | 2-phenyl-5-propan-2-yl-1,3-thiazole | DIBUSZLHFVADTN-UHFFFAOYAR 23409537 | N-(3-chloro-4-methylphenyl)-2-(2methyl-3-oxo-1,4-benzoxazin-4-yl)acetamide | KLIMTWNPOCEKDX-UYBDAZJACN 23023269 | (dicyclohexylamino) phenyl phosphate | CECHVCXOELQOQUCDOZQSGQCX 24264883 | 2-(pyridin-3-ylmethyl)butanoic acid | PRASEVZRVWVPGQ-XWKXFZRBCR
CML ● ●
●
XML formát Bohužel implementace pokulhává za nápady autorů Z hlediska XML obsahuje problematický design –
●
x2,y2 vs. x3,y3,z3
Jako standard má také některé záporné stránky –
Přílišná volnost v oblastech kde by jediný způsob vyjádření stačil
–
Atribut convention umožňuje použít definice z jiných standardů, např. convention="MDL" umožňuje označit stereochemii podle specifikace Molfile
CML
<molecule id="molecule57132"> O O NH2
CDX a CDXML ●
Formáty ChemDraw
●
CDX = binární formát
●
CDXML = XML podoba CDX
●
http://www.cambridgesoft.com/services/documenta
●
●
Nejedná se o nezávislý standard, ale jeho dokumentace umožňuje použití mimo ChemDraw Jediný z prezentovaných formátů, který řeší I zobrazení struktury, např. barvy apod.
Konverze formátů ●
OpenBabel http://openbabel.org/wiki/Main_Page –
free software
–
umožňuje konvertovat několik desítek formátů
–
umožňuje i filtrovat struktury
–
má bindingy do Pythonu, Ruby, Perlu, C# a dalších