InChI

**InChI**(International Chemical Identifier)は、標準的かつ人間が読める方法で分子情報を提供し、またウェブ上でのデータベースからの情報の検索機能を提供する。元々、2000年から2005年にIUPACとNISTによって開発され、フォーマットとアルゴリズムは非営利であり、開発の継続は、IUPACも参画する非営利団体のInChI Trustにより、2010年までサポートされていた。現在の1.04版は、2011年9月にリリースされた。

1.04版の前までは、ソフトウェアはオープンソースのGNU Lesser General Public Licenseで無償で入手できたが、現在は、IUPAC-InChI Trust Licenseと呼ばれる固有のライセンスとなっている。

## 概要
識別子は、情報のレイヤーとして化学物質を記述する。レイヤーには、原子とその結合、互変異性情報、同位体情報、立体化学、電荷の情報がある。しかし全てのレイヤーが提供される訳ではなく、例えば互変異性のレイヤーは省略されることがある。

広く用いられているCAS登録番号とは、以下の点で異なる。
*自由に使え、非営利である。
*構造情報から計算でき、組織による割当が必要ない。
*ほとんどの情報は、人が読むことができる。

そのため、InChIは、IUPAC命名法を一般化、極端な定式化したものと見なすことができる。。原子の3次元配列の情報はInChIでは表せず、この目的のためにはPDB等のフォーマットが用いられる。

InChIアルゴリズムは、入力された構造情報を、正規化（冗長な情報の除去）、標準化（各原子に固有の番号を生成）、整列化（特徴の文字列を付与）の3段階の過程で固有の識別子に変換する。

**hashed InChI**とも呼ばれる**InChIKey**は、25文字の固定長であるが、デジタル表現なので人間には読むことができない。InChIKeyの仕様は、ウェブでの検索を可能にするために、2007年9月にリリースされた。InChIそのものとは異なり、InChIKeyは一意ではなく、非常に稀ではあるが重複が発生する。

2009年1月、InChIソフトウェアの最終の1.02版がリリースされた。これにより、いわゆる**standard InChI**の生成が可能となった。standard InChIは、InChI文字列と、異なったグループによって生成されたキーの比較を容易にし、データベースやウェブ資源等の広範な情報源からのアクセスを可能にした。

## フォーマットとレイヤー

全てのInChIは、`InChI=`という文字列から始まり、バージョン（現在は`1`）が続く。standard InChIでは、これに`S`の文字が続く。残りの情報は、レイヤーとサブレイヤーの配列として構造化され、各々のレイヤーは、1つの種類の情報を収める。レイヤーとサブレイヤーは、区切り文字 `/` で隔てられ、（メインレイヤーの化学式サブレイヤーを除き）固有の接頭文字で始まる。6つのレイヤーと各々の重要なサブレイヤーは、以下の通りである。

# メインレイヤー
#* 組成式（接頭文字なし） - 全てのInChIに現れる唯一のサブレイヤー元素はHill順位則、すなわち炭素C、水素H、他の元素をアルファベット順、で記述される
#* 原子の繋がり（接頭文字: `c`） - 組成式中の水素以外の元素には出現順に番号が付与される。このサブレイヤーでは、原子が他のどの原子と結合されているかを記述する。
#* 水素原子（接頭文字: `h`） - 各々の原子にいくつの水素原子が結合しているかを記述する。
# 電荷レイヤー
#*プロトンサブレイヤー（接頭文字: `p`）中性の系からプロトンを何個付加/除去するかを表す
#*電荷サブレイヤー（接頭文字: `q`）系の電荷を表す
# 立体化学レイヤー
#*二重結合とクムレン（接頭文字: `b`）
#*原子の四面体配置とアレーン（接頭文字: `t`, `m`）
#*立体化学の種類の情報（接頭文字: `s`）
# 同位体レイヤー（接頭文字: `i`, `h`、同位体立体化学に対しては `b`, `t`, `m`, `s`）
# 固定Hレイヤー（接頭文字: `f`） - 原子の繋がり以外の、上記の一部または全てのレイヤーを含む。`o`サブレイヤーで終わってもよい。InChI生成で構造を正規化する際に水素は除去されるため、互変異性体や双性イオンなどは同じInChIを与える場合がある。これらを区別するために水素が結合している原子を明示的に与える必要がある。
# 再接続レイヤー（接頭文字: `r`） - 金属原子と再接続する全ての構造のInChIを含む。standard InChIには含まれない。

区切り文字と接頭文字のフォーマットは、使用者が特定のレイヤーのみ合致する識別子を探すために容易にワイルドカード検索を実施できる点で優位性がある。

## 例

## 名前
このフォーマットは、元々**IChI**(IUPAC Chemical
Identifier)と呼ばれていたが、2004年7月に**INChI**(IUPAC-NIST Chemical Identifier)と改名され、同年11月に**InChI**(IUPAC International Chemical Identifier)に再改名され、IUPACの商標とされた。

## 開発の継続
InChIの管理は、IUPACのVIII小委員会で行われており、新しい標準の拡張のための調査等の経費は、IUPACとInChI Trustが負担している。InChI Trustは、InChIの発展、試験、文書整備のための資金を出している。現在の拡張では、重合体及び混合物、マルクーシュ構造、反応と有機金属の取扱いについて定義しており、VIII小委員会に承認されればアルゴリズムに加えられる。

## 採用
InChIは、ChemSpiderやPubChem等を含む大小様々なデータベースに採用されている。しかし、多くのデータベースで構造とInChIの食い違いが見られ、リンク用データベースの課題となっている。

## 関連項目
*Molecular Query Language
*SMILES記法
*構造式エディタ
*SYBYL line notation

## 出典

## 外部リンク

### ドキュメントとプレゼンテーション
* InChI Trust site
* IUPAC InChI site
* Unofficial InChI FAQ
* 
* https://www.youtube.com/watch?v=mpZj4b9elYE&feature=gv
* Description of the canonicalization algorithm
* Googling for InChIs a presentation to the W3C.
* , Google Tech Talk by Peter Murray-Rust, 13 Sept 2006
* , Google Tech Talk by Steve Heller and Steve Stein, 2 November 2006
* InChI Release 1.02 InChI final version 1.02 and explanation of Standard InChI, January 2009

### ソフトウェアとサービス
* NCI/CADD Chemical Identifier Resolver Generates and resolves InChI/InChIKeys and many other chemical identifiers
* ChemSpider InChI resolver
* Search Google for molecules (generates InChI from interactive chemical and searches Google for any pages with embedded InChIs). Requires Javascript enabled on browser
* ChemSketch, free chemical structure drawing package that includes input and output in InCHI format
* PubChem online molecule editor that supports SMILES/SMARTS and InChI
* ChemSpider Services that allows generation of InChI and conversion of InChI to structure (also SMILES and generation of other properties)
* MarvinSketch from ChemAxon, implementation to draw structures (or open other file formats) and output to InChI file format
* BKchem implements its own InChI parser and uses the IUPAC implementation to generate InChI strings
* CompoundSearch implements an InChI and InChI Key search of spectral libraries
* JNI-InChI Java library that wraps the InChI library
* the Chemistry Development Kit uses JNI-InChI to generate InChIs, can convert InChIs into structures, and generate tautomers based on the InChI algorithms
* Bioclipse generates InChI and InChIKeys for drawn structures or opened files