|||
今天用Python写了一下CAS判断函数,没想到一次就成功了.比原来用VBA写的相比,简化了不少.
文本: 用到了正则表达式,因此上面要import re
CAS是化学物质的通行证之一,搞化学的人都知道,相当于人的身份证.
它的结构是三节,用短横线分隔.它没有与化学结构挂勾,而是按次序编号,前两节的数字是真正的编号,最后一位是校验.比如VC的CAS号是872-36-6,实际上87236是编号,6是校验位,用于防止差错.
它的校验方法是这样,先去除校验位与短横线,得到一串数字,如87236.从右往左数,从1开始编号.
将序号与数字相乘得到乘积,再相加得到总和,其个位数就是校验值.如果校验位与计算出来的校验值不同,说明有数字弄错了.就如上图所述.
根据上述规则可以发现,如果倒数第2位数字增加1,则校验位也相应增加1.所以你可能会看到如果CA为某一文献的的很多新物质连续编号,就会看到这种现象.
由于CAS编号是CA文摘社为新物质的顺序编号,它与物质结构没有联系.因此知道一个结构要查知它的CAS,最完整的途径是查CAS登记的记录,比如以前是非常厚的CAS索引手册,现在在SCIfinder或STN数据库中简单的输入一串数字就可以检索了,电子信息化大大简化了检索的过程.
如果这些也没有,网上其它单位建的一些数据库也往往收集了很多CAS号,可以查到一些.但要注意的是,国内的有些数据库收录的CAS号可能不严谨而存在错误.尤其要提醒的是百度百科,ChemicalBook这类免费网站, 上面有些数据存在着错误,取用时一定要多加审核.我个人常用www.chemexper.com.或是试剂公司的网站,如百灵威(链接),Sigma-Aldrich官网(链接),或是国外的公共服务网站Pubchem(链接)等,他们的数据比较严谨.
这里顺便把以前的VBA版本的也一起打包进来放在一起备忘.
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-25 15:50
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社