International Chemical Identifier: Różnice pomiędzy wersjami

[wersja przejrzana][wersja przejrzana]
Usunięta treść Dodana treść
Wipur (dyskusja | edycje)
m drobne redakcyjne
Wipur (dyskusja | edycje)
m różne poprawki
Linia 3:
 
== Historia ==
Począwszy od lat 60. XX wieku, rozwój informatyki spowodował potrzebę opracowania metody komputerowego opisu struktur chemicznych i jednoznacznej identyfikacji substancji chemicznej. Do końca wieku powstało wiele takich metod, z których najczęściej stosowanymi okazały się m.in. [[SMILES]] czyoraz [[numer CAS]] (powiązany z bazą CAS Registry). Duża liczba powstałych standardów i rozwiązań miała jednak pewne ograniczenia: nie były one zez sobą w żaden sposób powiązane, część była wykorzystywana jedynie w wąskim zakresie, a wiele było standardami własnościowymi, tj.to znaczy opracowanymi przez prywatne przedsiębiorstwa i wymagającymi od użytkowników np. opłat licencyjnych<ref name="Heller2013">{{cytuj|tytuł=InChI – the worldwide chemical structure identifier standard |autor=Stephen Heller, Alan McNaught, Stephen Stein, Dmitrii Tchekhovskoi, Igor Pletnev |czasopismo=Journal of Cheminformatics |data=2013 |wolumin=5 |s=7 |doi=10.1186/1758-2946-5-7 |pmid=23343401 |pmc=PMC3599061 |język=en}}</ref>.
 
Idea utworzenia publicznie dostępnego standardu reprezentacji struktur chemicznych zrodziła się w NIST w 1999 i miała na celu powiązanie zez sobą związków chemicznych w różnych bazach danych zarządzanych przez NIST<ref name="Heller2013" /><ref name="InChI Trust">{{cytuj|url=http://web.archive.org/web/20180116110824/http://www.inchi-trust.org:80/about-the-inchi-trust/ |tytuł=About the InChI Trust |opublikowany=InChI Trust |język=en |data dostępu=2018-11-05}}</ref>. W 2000 roku IUPAC rozpoczęła pracęprace nad opracowaniemnowym nowego sposobusposobem opisu substancji chemicznych, który w przeciwieństwie do [[nomenklatura chemiczna|nazewnictwa chemicznego]], mógłby być stosowany zarówno w publikacjach papierowych, jak i w systemach informatycznych (mógłby być odczytywany maszynowo). Założeniami nowego identyfikatora była możliwość generowania go na podstawie powszechnie stosowanych zasad przedstawiania struktur chemicznych opracowanych przez IUPAC i przy użyciu publicznie dostępnego ([[otwarte oprogramowanie|''openpublicznie source''dostępnego algorytmu]]) algorytmu oraz niezależność od jakiejkolwiek bazy danych struktur chemicznych. Innymi słowy, dwustronna konwersja między strukturą chemiczną a identyfikatorem mogłaby być dokonana przez każdego użytkownika<ref name="Heller2013" />. Projekt utworzenia nowego identyfikatora substancji chemicznych oficjalnie rozpoczął się z początkiem 2001, przy współpracy IUPAC, NIST i wielu innych podmiotów. W 2009 został utworzony InChI Trust, brytyjska [[organizacja non-profit]], której zadaniem jest wspieranie i rozwijanie standardu InChI<ref name="Heller2013" />, a której członkami są zarówno przedsiębiorstwa związane z branżą chemiczną, jak i instytucje publiczne czy organizacje chemiczne<ref name="InChI Trust" />.
 
Pierwsza wersja (1.00) InChI została opracowana w 2005, trzy lata później udostępniono InChIKey, [[funkcja skrótu|haszowaną]] wersję InChI, która ma zawsze tę samą liczbę znaków i jest łatwiejsza do użycia, na przykład przy wyszukiwaniu substancji chemicznych. Z uwagi na możliwość generowania różnych InChI dla takiej samej struktury (w zależności od pożądanego stopnia szczegółowości), w 2009 utworzono wersje standardowe InChI i InChIKey (oznaczane czasem jako StdInChI i StdInChIKey), które mają z góry ustalony poziom szczegółowości (tzn.czyli z danej struktury chemicznej zostanie wygenerowany zawsze taki sam identyfikator). Najnowszą wersję (1.05; stan na listopad 2018) opublikowano w 2017, wraz z RInChI (identyfikatorami dla reakcji chemicznych)<ref name="InChI Trust" />, jednak wiele projektów związanych z rozszerzeniem zakresu InChI (m.in. na [[mieszanina|mieszaniny]], [[związki nieorganiczne]] i [[związki metaloorganiczne|metaloorganiczne]], [[biomolekuła|biomolekuły]], [[tautomeria|tautomery]], [[rotaksany]], [[struktura Markusha|struktury Markusha]] czy zastosowanie [[kod QR|kodów QR]] dla InChI) jest wciąż nieukończonych<ref name="Heller2017">{{cytuj|tytuł=InChI Trust Project Director’s Report |autor=Steve Heller |data=2017-07 |opublikowany=InChI Trust |język=en |data dostępu=2018-11-05 |url=http://web.archive.org/web/20181105193923/https://www.inchi-trust.org/wp/wp-content/uploads/2017/10/InChITrust-Newsletter-July-2017.pdf}}</ref>.
 
== InChI ==
InChI jest identyfikatorem generowanym na podstawie struktury chemicznej, narysowanej zgodnie ze standardami przedstawiania takich struktur opracowanymi przez IUPAC. Natomiast na podstawie już wygenerowanego InChI możliwe jest odtworzenie takiej struktury. Długość identyfikatora wzrasta wraz z wielkością struktury chemicznej, z której jest generowany, przy czym maksymalna liczba atomów w strukturze nie może przekroczyć 1000<ref name="Heller2013" />.
 
Podstawą InChI jest pewien rdzeń strukturalny, tj.to znaczy struktura bez określonej tautomerii i stereochemii, o naturalnym składzie izotopowym i w stanie neutralnym. Na identyfikator składa się kilka warstw i podwarstw informacji, z których każda określa dany aspekt struktury chemicznej; przedstawiana struktura jest więc pochodną rdzenia strukturalnego o cechy wskazane przez kolejne warstwy i podwarstwy informacji. Możliwe jest generowanie identyfikatorów z określonym poziomem szczegółowości (np. bez rozróżnienia tautomerów), a więc w efekcie otrzymanie różnych InChI dla takiej samej struktury chemicznej. Z tego powodu istnieje również standardowy InChI – identyfikator, który generowany jest zawsze w identyczny sposób, bez względu na preferencje użytkownika, a więc stanowi identyfikator unikalnyunikatowy dla danej struktury chemicznej. Identyfikatory takie rozpoczynają się od prefiksu <code>InChI=1S/</code> zamiast <code>InChI=1/</code>. Kolejne warstwy i podwarstwy oddzielane są za pomocą ukośnika <code>/</code>. Po prefiksie następuje pierwsza warstwa informacji będąca [[symbolika chemiczna|wzorem sumarycznym]]. Następnie umieszczone są kolejne warstwy, z których część może nie występować w danym identyfikatorze, jeżeli nie ma znaczenia dla danej struktury chemicznej:
* <code>/c</code> – połączenia między atomami tworzącymi strukturę cząsteczki
* <code>/h</code> – miejsca przyłączenia atomów wodoru
Linia 23:
 
== InChIKey ==
InChI jest identyfikatorem o różnej, często bardzo dużej liczbie znaków, a przy tym zawierającym wiele znaków nie będącychniebędących cyframi bądźani literami. Z tego względu jego użycie do wyszukiwania struktur chemicznych w wielu bazach danych lub wyszukiwarkach jest ograniczone. Z tego powodu wraz z InChI generowany jest również InChIKey, tj.to znaczy InChI [[funkcja skrótu|zhaszowany]] przy użyciu [[SHA-2|SHA-256]], mający zawsze 27 znaków. Ogólny format InChIKey to <code>AAAAAAAAAAAAAA-BBBBBBBBFV-P</code> i zawiera pięć bloków informacji:
* 14-znakowy człon <code>AAAAAAAAAAAAAA</code> określa ogólną strukturę cząsteczki
* 8-znakowy człon <code>BBBBBBBB</code> zawiera dodatkowe informacje strukturalne, na przykład stereochemię cząsteczki lub skład izotopowy
Linia 29:
* <code>V</code> to oznaczenie wersji (<code>A</code> dla wersji 1)
* <code>P</code> określa protonowanie/deprotonowanie (przy czym <code>A</code> oznacza wartość mniejszą od −12 lub większą od +12, <code>B</code> do <code>M</code> to wartości od −12 do −1, <code>N</code> oznacza 0, a litery od <code>O</code> do <code>Z</code> oznaczają wartości od +1 do +12).
 
Z InChIKey nie jest jednak nigdy możliwe odtworzenie ani InChI, ani wyjściowej struktury chemicznej<ref name="Heller2013" /><ref name="Heller2015" />. Metoda generowania InChIKey sprawia ponadto, że wystąpienie [[kolizja (kryptografia)|kolizji]] (tzn.czyli przypisania dwóm identyfikatorom InChI takiego samego InChIKey) jest nieuniknione, choć prawdopodobieństwo wystąpienia takiego zdarzenia jest niewielkie<ref name="Pletnev2012">{{cytuj|tytuł=InChIKey collision resistance: an experimental testing |autor=Igor Pletnev, Andrey Erin, Alan McNaught, Kirill Blinov, Dmitrii Tchekhovskoi, Steve Heller |czasopismo=Journal of Cheminformatics |data=2012 |wolumin=4 |numer=39 |doi=10.1186/1758-2946-4-39 |pmc=PMC3558395 |pmid=23256896 |język=en}}</ref>.
 
== Uwagi ==