对 Eleven Qualities of The Perfect Line Notation for the Web 这篇文章作一个笔记,翻译其中片断。
Line Notation ,一般来讲是指用ASCII文本表示事务的标记方法,通常用在在化学命名法中。从网上来看,对这个词的翻译各种各样。尤其是”Line”,大多数翻译成“线性的”,甚至是“线段的”。我想能够理解成“一行内表示的”(区别于复杂论述)就足够了。不过的确不太好翻译。
具体的讲,就是用一行文本来表达化学结构式方法体系。我认为广义来说,就是一种编解码的体系。化学家在140多年前 就开始研究线性标记法了,那个时候还没有计算机的概念。
目前,最重要、常用的集中线性记法是:
IUPAC Nomenclature历史最久,应用最为广泛。
SMILES是在IUPAC Nomenclature之后出现的方法。它将三维的化学结构式转化成生成树,然后采用纵向优先遍历树算法将其生成文本。SMILES便于计算机索引和搜索。可以使用通配符进行搜索,并且可以进行子图的搜索,而不仅仅是字符串的比较。普遍认为,SMILES与InChI相比更具有可读性。
InChI似乎在Web上的应用最广泛,比如InChIMatic就是把分子结构式转换成InChI之后再通过Google去搜索的一个应用;还有W3C的这样一个报告 Googling for INChIs; A remarkable method of chemical searching 。
那么,满足Web应用的,最理想的化学标记法因该满足那些要素呢?
- 对人来说是可读的,人能理解和编写这种标记方法。
- 同样,计算机也能编码、解码并且理解这种标记方法。
- 只使用URI-Safe的字符。
- 可以对所有的分子结构编码。
- 简短。
- 对所有分子结构都是唯一的。
- 对氢原子显示编码。
- 具有继承性的结构。
- 平坦的结构。
- 有开源的软件实现。
- 没有专利的约束。
这11条我并不都很理解。而且,有些要素之间肯定存在矛盾要有所取舍的(比如5和7,8和9)。正是考虑到了3和5,我的ChemPedia 才采用了CAS作为分子的标示方法,并且嵌在URL中以实现对搜索引擎友好的URL。