dingsir的个人博客分享 http://blog.sciencenet.cn/u/dingsir

博文

CAS数字的校验

已有 2650 次阅读 2020-3-14 17:14 |个人分类:其它兴趣|系统分类:论文交流| CAS, 校验, 检索

今天用Python写了一下CAS判断函数,没想到一次就成功了.比原来用VBA写的相比,简化了不少.

文本: 用到了正则表达式,因此上面要import re

2020-03-14 001.png

CAS是化学物质的通行证之一,搞化学的人都知道,相当于人的身份证.

它的结构是三节,用短横线分隔.它没有与化学结构挂勾,而是按次序编号,前两节的数字是真正的编号,最后一位是校验.比如VC的CAS号是872-36-6,实际上87236是编号,6是校验位,用于防止差错.

它的校验方法是这样,先去除校验位与短横线,得到一串数字,如87236.从右往左数,从1开始编号.

2020-03-14 002.png

将序号与数字相乘得到乘积,再相加得到总和,其个位数就是校验值.如果校验位与计算出来的校验值不同,说明有数字弄错了.就如上图所述.

根据上述规则可以发现,如果倒数第2位数字增加1,则校验位也相应增加1.所以你可能会看到如果CA为某一文献的的很多新物质连续编号,就会看到这种现象.

由于CAS编号是CA文摘社为新物质的顺序编号,它与物质结构没有联系.因此知道一个结构要查知它的CAS,最完整的途径是查CAS登记的记录,比如以前是非常厚的CAS索引手册,现在在SCIfinder或STN数据库中简单的输入一串数字就可以检索了,电子信息化大大简化了检索的过程.

如果这些也没有,网上其它单位建的一些数据库也往往收集了很多CAS号,可以查到一些.但要注意的是,国内的有些数据库收录的CAS号可能不严谨而存在错误.尤其要提醒的是百度百科,ChemicalBook这类免费网站, 上面有些数据存在着错误,取用时一定要多加审核.我个人常用www.chemexper.com.或是试剂公司的网站,如百灵威(链接),Sigma-Aldrich官网(链接),或是国外的公共服务网站Pubchem(链接)等,他们的数据比较严谨.

这里顺便把以前的VBA版本的也一起打包进来放在一起备忘.

CASisValid.rar



https://blog.sciencenet.cn/blog-1213210-1223495.html

上一篇:自定义EXCEL过程:体积比转换为质量比
下一篇:老贴再贴: 求任意自然数的任意自然数次方的结果个位数
收藏 IP: 112.17.247.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-3-29 14:18

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部