International Chemical Identifier
The IUPAC International Chemical Identifier is a textual identifier for chemical substances, designed to provide a standard way to encode molecular information and to facilitate the search for such information in databases and on the web. Initially developed by IUPAC and NIST from 2000 to 2005, the format and algorithms are non-proprietary.
The continuing development of the standard has been supported since 2010 by the not-for-profit InChI Trust, of which IUPAC is a member. The current software version is 1.05 and was released in January 2017.
Prior to 1.04, the software was freely available under the open-source LGPL license,
but it now uses a custom license called IUPAC-InChI Trust License.
Overview
The identifiers describe chemical substances in terms of layers of information — the atoms and their bond connectivity, tautomeric information, isotope information, stereochemistry, and electronic charge information.Not all layers have to be provided; for instance, the tautomer layer can be omitted if that type of information is not relevant to the particular application.
InChIs differ from the widely used CAS registry numbers in three respects: 1) they are freely usable and non-proprietary; 2)they can be computed from structural information and do not have to be assigned by some organization; and 3) most of the information in an InChI is human readable.
InChIs can thus be seen as akin to a general and extremely formalized version of IUPAC names. They can express more information than the simpler SMILES notation and differ in that every structure has a unique InChI string, which is important in database applications. Information about the 3-dimensional coordinates of atoms is not represented in InChI; for this purpose a format such as PDB can be used.
The InChI algorithm converts input structural information into a unique InChI identifier in a three-step process: normalization, canonicalization, and serialization.
The InChIKey, sometimes referred to as a hashed InChI, is a fixed length condensed digital representation of the InChI that is not human-understandable. The InChIKey specification was released in September 2007 in order to facilitate web searches for chemical compounds, since these were problematic with the full-length InChI. Unlike the InChI, the InChIKey is not unique: though collisions can be calculated to be very rare, they happen.
In January 2009 the final 1.02 version of the InChI software was released. This provided a means to generate so called standard InChI, which does not allow for user selectable options in dealing with the stereochemistry and tautomeric layers of the InChI string. The standard InChIKey is then the hashed version of the standard InChI string. The standard InChI will simplify comparison of InChI strings and keys generated by different groups, and subsequently accessed via diverse sources such as databases and web resources.
Format and layers
Every InChI starts with the string "InChI=" followed by the version number, currently 1. This is followed by the letter S for standard InChIs, which is a fully standardized InChI flavor maintaining the same level of attention to structure details and the same conventions for drawing perception. The remaining information is structured as a sequence of layers and sub-layers, with each layer providing one specific type of information. The layers and sub-layers are separated by the delimiter "/" and start with a characteristic prefix letter. The six layers with important sublayers are:- Main layer
- * Chemical formula. This is the only sublayer that must occur in every InChI.
- * Atom connections. The atoms in the chemical formula are numbered in sequence; this sublayer describes which atoms are connected by bonds to which other ones.
- * Hydrogen atoms. Describes how many hydrogen atoms are connected to each of the other atoms.
- Charge layer
- * proton sublayer
- * charge sublayer
- Stereochemical layer
- * double bonds and cumulenes
- * tetrahedral stereochemistry of atoms and allenes
- * type of stereochemistry information
- Isotopic layer
- Fixed-H layer ; contains some or all of the above types of layers except atom connections; may end with "o" sublayer; never included in standard InChI
- Reconnected layer ; contains the whole InChI of a structure with reconnected metal atoms; never included in standard InChI
Structural formula | standard InChI |
InChI=1S/C2H6O/c1-2-3/h3H,2H2,1H3 | |
InChI=1S/C6H8O6/c7-1-25-34612-5/h2,5,7-8,10-11H,1H2/t2-,5+/m0/s1 |
InChIKey
The condensed, 27 character InChIKey is a hashed version of the full InChI, designed to allow for easy web searches of chemical compounds. The standard InChIKey is the hashed counterpart of standard InChI. Most chemical structures on the Web up to 2007 have been represented as GIF files, which are not searchable for chemical content. The full InChI turned out to be too lengthy for easy searching, and therefore the InChIKey was developed. There is a very small, but nonzero chance of two different molecules having the same InChIKey, but the probability for duplication of only the first 14 characters has been estimated as only one duplication in 75 databases each containing one billion unique structures. With all databases currently having below 50 million structures, such duplication appears unlikely at present. A recent study more extensively studies the collision rate finding that the experimental collision rate is in agreement with the theoretical expectations.InChIKey consists of hyphen-separated three parts, of 14, 10 and one character, respectively, like
XXXXXXXXXXXXXX-YYYYYYYYYY-Z
. The first 14 characters result from a hash of the connectivity information of the InChI. The second part consists of 8 characters resulting from a hash of the remaining layers of the InChI, a single character indicating the kind of InChIKey and a single character indicating the version of InChI used. At last, a single character indicates protonation.Example
has the structure shown on the right. The standard InChI for morphine isInChI=1S/C17H19NO3/c1-18-7-6-17-10-3-5-131621-15-124-2-98-1118/h2-5,10-11,13,16,19-20H,6-8H2,1H3/t10-,11+,13-,16-,17-/m0/s1
and the standard InChIKey for morphine is
BQJCRHHNABKAKU-KBQPJGBKSA-N
.