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

博文

CAL脚本,自用备忘

已有 278 次阅读 2019-7-15 14:16 |个人分类:软件杂谈|系统分类:教学心得| ChemFinder, CAL, 脚本, CAL, CAL

"搜索无CAS记录.cfs", 保存到 "\ChemOffice安装目录\ChemFinder\System\"下面.


*搜索 CAS为空的记录,因为有中文,保存的CFS文件要用ASCII编码保存,否则乱码.

*关闭追加模式

append off

*进入搜索查询状态,这里执行的是菜单命令

search enter query

*在CAS_NUMBER字段中输入 NOT *, 表示是这个字段是空的.不能什么都不输入,那样是"无搜索限制".

putdata CAS_NUMBER NOT *

*在Chinese_Name字段输入 NOT 空白,表示这个字段不是"空白"这两个字(我的数据库上默认都有"空白"两字,除非你改为其它的)

putdata ChineseName NOT 空白

*开始搜索,这个也是菜单命令.

search find



------------------

第二个文件,存为消除问题,用于去除SCI Finder中带来的0x3F特殊字符.


*判断脚本所在的数据库名称是否正确,已注释掉.

setval 1 $DTBA_NAME_SHORT

if $V1 <> "LISUB4" 

msg this script only work for Lisub4

exit 

endif


*初始化变量

setval 2 ""

setval 3 ""

setval 4 1

*将EnglishName放到变量1.

getdata 1 EnglishName


msg $V1 


loop

*这个函数substr很不可靠,当字符串有多个特殊字符时,会出错.

substr 2 $V1 $V4-1 $V4

increment 4

*msg $V2 for debug


if $V2 = "" 

goto theEnd

endif



if $V2 = "?" 

* 碰到问号(特殊字符)不作处理,即忽略.

else

*正常的字符就追加到变量3中.

appendval 3 $V2

endif


endloop


:theEnd

msg $v3

*将变量3再存回到字段.相当于消除了特殊字符.

putdata EnglishName $V3



第三个文件. 将SMILES转化为结构. 不用打开ChemDraw来绘制,更快一点.

*Generate SMILES for Structure

*判断是否存在结构式,没有就弹出对话框,输入结果后,选中Structure字段(存储结构的字段),用from_smiles将SMILES转化为结构.

*如果结构不是很复杂,用这种方式比打开ChemDraw来绘制结构式要快不少.

------------------------

IF $has_mol = 0

input 1 Input SMILES here

*msg $v1

Select Structure

from_smiles $V1

endif


记得,CFS文件要用ASCII编码保存.



http://blog.sciencenet.cn/blog-1213210-1189603.html

上一篇:一个检验CAS号是否有效的CAL脚本
下一篇:利用SMILES快速输入结构的几点小技巧

0

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

数据加载中...

Archiver|手机版|科学网 ( 京ICP备14006957 )

GMT+8, 2019-9-23 15:01

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部