今天我们聊一下SMILES,下面是Wikipeida里的解释,但是请不要看它,因为这个解释实在太复杂了。
SMILES(Simplified molecular input line entry specification),简化分子线性输入规范,是一种用ASCII字符串明确描述分子结构的规范。SMILES由Arthur Weininger和David Weininger于20世纪80年代晚期开发,并由其他人,尤其是日光化学信息系统有限公司(Daylight Chemical Information Systems Inc.),修改和扩展。
由于SMILES用一串字符来描述一个三维化学结构,它必然要将化学结构转化成一个生成树,此系统采用纵向优先遍历树算法。转化时,先要去掉氢,还要把环打开。表示时,被拆掉的键端的原子要用数字标记,支链写在小括号里。
SMILES字符串可以被大多数分子编辑软件导入并转换成二维图形或分子的三维模型。转换成二维图形可以使用Helson的“结构图生成算法”(Structure Diagram Generation algorithms)。
这个SMILES是怎么回事呢?一堆牛人在很久很久以前就开发了一套牛X的化学信息系统,但是怎么输入分子结构还是个比较大的问题。就是要用画的,也不是人人都有鼠标啊(我们把时间设置在SMILES还没发明的80年代初)。但是每个有计算机的人都有键盘吧,于是大家就要想想怎么用键盘输入分子结构。
拿这玩意来说吧,
,乙醇分子,大家都认识。我要在纸上画我可以画出来这么一个玩意。高中化学,大家都上过,有时候老师就给留那么一个空,你画图还不好画,你会怎么写呢?对了,就是CH3CH2OH了。这个结构用SMILES标示就是CCO,你发现了什么?这帮牛人太懒了,H都懒得写。反正有机分子都是要配成符合价键规则的,该有几个H大家都清楚,省了就省了。
然后是这个玩意,
,现在我告诉你它的SMILES表示是C=CCO。
现在你可以告诉我,你学会了SMILES了。我给你讲个笑话,说的是从前有个地主,他有个儿子,地主给他儿子请了个先生叫他认字,先生教了“一”字,然后先生又教了“二”字,然后地主儿子就说我学会写字了,结果呢地主让他儿子去写请帖,碰巧人家姓“万”,好冷啊 -.-!
地主儿子还好,他可以画一万横,不过你就是把键盘上的按键都拔下来也找不到那个键上有三个横,于是
这个其实是C#CCO。
现在你会用SMILES表示所有的长链分子了,那么这个怎么办?

这个我们这样表示,C=C(C)CO,分支的地方加个括号就好了。我想你肯定看懂了,接下来我们来点有难度的,环。
这个就是环己烷了,用SMILES表示是C1CCCCC1。简单来说,就是把环给砍断成链了,砍的地方做个标记(这里是1)。然后我只要记住C1和C1是连起来的就是把这个SMILES还原成环了。挺Easy不是?然后我们来看看取代基。
这个是个间甲基苯酚,环上一个羟基取代一个甲基取代。用SMILES表示就是CC1CCCC(O)C1。同样的道理,C1和C1相连,然后跟在某个环内的C后面有个(O),表示这里有个分支。脑子里想象一下,这串SMILES是可以动的,然后C1跟C1接一下,是不是就是上面的图?这里有点复杂了,多给两个例子,自己看看吧。
CC1CCCCC1(N)
CC1CCC(CC1)C(C)=O
然后我们开看看苯环,你想写成C1=CC=CC=C1,这个也太傻了,太烦了,创造SMILES的那帮牛人们不喜欢,于是他们这样写c1ccccc1。用小写字母表示共轭结构,这样更接近分子的真实结构。(虽然我们习惯上还是使用Kekule式)芳环的问题解决了,接下来我们看一下比较考验你脑筋的。
考验你脑筋的时候到了,它的SMILES表示是C1CCc2cnccc2(C1),看明白了吗?看明白就看明白了,没看明白就算了,因为你手里有一个鼠标,还去理这种80年的输入方法干啥?下面就谈到了SMILES的意义了。虽然SMILES设计的时候是用作输入的,因为它便于人类理解,但是现在SMILES常常用于在计算机中储存分子结构,因为它简单,它基于字符。至于输入的活,既然我们已经有了鼠标,那就点点画画吧,直观、方便。但是了解SMILES是很有意义的哦,当然它的意义不仅仅和(你看你就会用Windows,我还会点DOS命令)一样。
另外要说的是,除了SMILES之外,线性编码还有WLN、InChi等,但是现在就不做介绍了,因为它们现在远远没有SMILES应用广泛,WLN已经快老死了,InChi还没有长大。
计算机里的分子 – 1a篇到此完结,下面进行节目预告:
计算机里的分子 – 1b将介绍如何用JChemPaint画分子结构、生成SMILES,以及一点Java,用CDK来读取SMILES的一点Java代码。
EOF
Tags: 化学信息学
科学家们说(以下来源于百度百科,实际还是来自G老的《化学信息学教程》)
化学信息学是一个广义性的名词,它将包含化学信息的设计,制造,组织,处理,检索,分析,传播,和使用。
——G.Paris (美国化学会 1999年8月会议)
应用信息技术和信息处理方法已成为药物发现过程中的一个很重要的部分。化学信息学实际上是一种信息源的混合体。它可将数据转换为信息,再由信息转换为知识,从而使我们在药物先导化合物的识别和组织过程的决策变得更有效。
——Brown,Medicinal Chemistry, 1998
用废话来说,所谓的化学信息学就是研究化学信息的学问。
在计算机刚刚被发明的那个时代,计算机的作用主要就是算算弹道啊,算算核弹爆炸啊之类的,真正拿计算机来处理信息,那已经是计算机民用化之后的事情了。在1964年,我们正在忙于阶级斗争的时候,MIT的Cyrus Levinthal已经开始搞出来了右面这么一套玩意了。这个是什么东西呢,这是世界上第一个基于计算机的分子结构模型,在Project MAC提供的强大性能(虽然还不及现在的手机性能强大)的帮助下,这个叫做“晶体球”东西诞生了。它有什么作用呢,似乎只能显示一个蛋白质3D模型。在那个时候,这已经足够引起轰动了,要知道那个所谓的显示器其实是一个示波器。就这么一套显示分子结构模型的系统花掉了美国纳税人2000000美元,然而现在呢,一台随便什么样子的电脑(500美元)再加上Jmol(0美元),都可以做的比晶体球好的多。可惜Cyrus Levinthal并没有活到今天,1990年,他不幸逝世了。在他走之前,留下了一段手稿,详细讲述了当时那段光辉历程。
上面只是一个故事,把它放在这并不是说这就是化学信息学“蛋生”的标志,只是它长得比较像蛋罢了。没法精确的说化学信息学到底是什么时候产生的,一个大概的数字是,上个世纪60年代,分子结构数据库、定量结构与活性关系(QSAR)、分子结构可视化、自动图谱解析、计算机辅助合成设计这些化学信息学的主要研究领域就已经产生了。化学信息学几乎和现代计算机于同一时间开端,所以我说它是一门古老的交叉学科。
现在我们所说化学信息学这个名词,覆盖的范围非常的广,从化学结构的表征到化学数据库,再到分子力学、量子力学,再到化学计量学、化学数据分析,一直到化合物性质预测、反应设计、药物设计,化学信息学这个名词覆盖了化学研究的各个领域。除了化学信息学之外,还有另外一个名词叫做生物信息学。从习惯上来说,一般把小分子的研究归于化学信息学,而对蛋白质、DNA、RNA等的研究则归于生物信息学。实际上,化学信息学和生物信息学之间并没有明确的界限。就拿现在最赚钱的一个领域来说吧,药物的研究,这个领域的研究非常关注小分子和大分子的相互作用,那你说这个应该归于化学信息学还是生物信息学?不知道。于是人们发明了一个词,就叫Bio(Chemo)informatics.
To be continued.
Tags: 化学信息学
很早以前就有个想法,把我对于化学信息学的理解写出来。国内化学信息学的教科书已经够多了,但是它们实在太操蛋了。不是写的让人看不懂(其实我是说某些人啊,比如Gasteiger的书还是不错的),就是翻译让人看不懂(其实啊,我是觉得梁逸曾老师的学生翻译的还是很有问题的)。
我倒是挺想跟着这些书一起操蛋一下,可是又总有这样那样的借口不去动手(还是怕水平太低了被人骂)。直到把ChemHack的中英文版给分离了,我决定从今天开始(主要是吧,今天去抽风了一圈。),每天一点,没有计划,没有期限,写多少是多少。我会尽我的努力不出现数学公式和符号,尽可能多画一些图(对我这样的懒人有点要命),让这个所谓的《操蛋的化学信息学》更操蛋些。
《操蛋的化学信息学》的目标:
鉴于本人驾驭长篇的能力极差,如有跑题行为,请留言提醒。
鉴于本人虎头蛇尾的能力较强,如有太监行为,请邮件提醒。
Tags: 化学信息学