(应用化学专业论文)最多五项衍射谱图的计算机物相分析.pdf_第1页
(应用化学专业论文)最多五项衍射谱图的计算机物相分析.pdf_第2页
(应用化学专业论文)最多五项衍射谱图的计算机物相分析.pdf_第3页
(应用化学专业论文)最多五项衍射谱图的计算机物相分析.pdf_第4页
(应用化学专业论文)最多五项衍射谱图的计算机物相分析.pdf_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ab s t r a c t n o w a d a y s , i t i s d i ff i c u l t t o fi n d a p e r f e c t a n d r e l i a b l e c h i n a - d e v e lo p e d p r o g r a m f o r t h e i d e n t i f i c a t i o n o f c ry s t a l l in e m i x t u r e s b as e d o n x - r a y d i ff r a c t i o n s t a n d a r d d a t a b a s e . h o w e v e r , a ft e r c h i n a b e c o m e s a m e m b e r o f w t o , i t i s o f g r e a t s i g n i f i c a n c e f o r c h i n a t o h a v e s u c h a n i d e n t i f i c a t io n p r o g r a m w it h o u r o w n r i g h t o f p r o p e r t y . t h e p r e s e n t p r o g r a m t a k e s th e p d f - 2 d o c u m e n t s o f i c d d ( i n t e r n a t i o n a l c e n t e r f o r d i ff r a c t i o n d a t a ) a s i t s d a t a b as e , t h e mi c r o s o ft v i s u a l c + + 6 . 0 a s i t s t o o l f o r d e v e l o p m e n t , a n d w i t h t h e i n t e r f a c e o f w i n d o w s . t h e g u i d e - s t y l e o f t h e p r o g r a m in d e s i g n i n g e q u i p s i t w i t h t h e f u n c t i o n o f s p e c t r o g r a m d i s p l a y a n d t h e r e f o r e i t h a s a v o i d e d t h e d r a w b a c k s s h a r e d b y a l l o t h e r d o s p r o g r a m s o f i t s k i n d s u c h a s t h e u n p l e a s a n t n e s s o f i n t e r f a c e , s l o w s p e e d a n d i n a c c u r a c y i n m a t c h i n g e t c . a s t h e p re s e n t p r o g r a m h a s a d o p t e d th e m a n - m a c h i n e - c o n v e r s a t i o n m o d e i n q u i t e s o m e p l a c e s , t h e u s e r c a n e i t h e r g i v e a f r e e r e in to t h e p r o g r a m f o r i t t o a u t o m a t i c a l l y c a r ry o u t t h e i d e n t i f i c a t io n o r u s e h is o w n e x p e r i e n c e t o r a i s e t h e a c c u r a c y . t h e p r o g r a m m a i n l y e m p lo y s t h e m e t h o d s o f u s i n g 3 , 6 , o r 4 m o s t i n t e n s i v e p e a k s f o r p r e - f i l t e r i n g , a n d u s e s t h e e l e m e n t s m a t c h i n g a n d a ll p e a k s - m a t c h i n g m e t h o d s . a ft e r c a l c u l a t i o n a n d i d e n t i f i c a t i o n , th e p r o g r a m w i l l s h o w t h e re c o r d s o f a l l t h e m a t c h e d i n f o r m o f l i s t s o r f i g u r e s f o r t h e u s e r s r e f e r e n c e . i t w i l l a l s o u s e c o m p a t i b l e c o n c e p t s t o c o m b i n e t h e r e c o r d s o f t h e f i n a l l y m a t c h e d o n e s s o a s t o d e t e rmin e t h e c o m b i n a t i o n o f t h e c ry s t a l li n e m i x tu r e s , m a r k t h e r e s u l t s a n d c a l c u l a t e t h e r o u g h p e r c e n t a g e o f e a c h c o m p o n e n t i n t h e g r o u p ; a n d w o r k o u t t h e f i n a l r e s u l t s a n d s h o w t h e m u p i n f i g u r e s . t h e p r o g r a m p e r f o r m s it s d u t i e s q u i c k ly a n d c a n m a t c h a c c u r a t e l y . i t c a n c l e a r l y t e l l y o u t h e c o m p o s i t i o n o f t h e s a m p l e s , w h i c h i s b e y o n d t h e c a p a b i l it y o f o t h e r s i m i l a r s o ft w a r e . k e y w o r d s : i d e n t i f i c a t i o n m a n - m a c h i n e - c o n v e r s a t i o n , o f c ry s t a l l i n e m i x t u re s , p o w d e r d i ff r a c t i o n , m a t c h i n g , c o m p a t i b i l i t y 南开大学硕士论文 一 前 言 发展现状及研究意义 将晶体粉末进行 x 一 射线衍射实验,长期以来一直是鉴别物相组成的有效方 法, 在全世界范围内的许多领域广泛使用, 它对于化学、 物理、医药、 化工、 地 矿、石油等许多学科及研究部门来说都是十分重要的工具,并且已 经成为教学、 科研及生产活动中进行产品设计、开发及鉴定一个非常有效的手段。 回 顾其历史发展, 我们可以 追溯到2 0 世纪3 0 年代, 在1 9 3 8 年d o w c h e m i c a l 公司发布了大约 1 0 0 0多种不同物相的衍射数据 ( 采用的是cu k a) ,这些数据 是由h a n a w a lt , r i n n 和f r v e l 等人最初收集并且编录的, 数据存储介质采用的是 3 英寸 * s 英寸大小的卡片形式, 我们可以 将其看作是粉末衍射数据的基础, 并 且从此开始了多晶物相分析的新时代。 衍射数据发布后, 迅速引起了许多从事该 领域及相关领域科学家的极大关注,在实际应用中不断得到完善及发展。 到了1 9 4 1 年, a s t m即a m e r i c a n s o c ie t y f o r t e s t i n g a n d m a t e r ia l s ( 美国 材 料及实验学会)所建立的粉末衍射化学分析的联合委员会,出版发行了 p d f ( p o w d e r d i ff r a c t io n d a t a ) 数据库, p d f 数据库主要提供标准样品的分子式及相 应的d - i 数据。众所周知, 数据中的 面间距d 是由 衍射角算出的,而i 值为峰的 强度,由于数据中面间距d 值是由晶体的几何结构所决定, 而i 值又是由晶体的 元素组成及其排列决定, 所以这些数据相当 于该晶 体的“ 指纹” 一样, 记录着晶 体的独特信息。 这样一来通过在p d f数据库文件中 搜索与待测未知样品相匹 配 的d - i 值, 进而 在数据库中找到其所属的 标准样品, 就可以 确定未知样品的 物相 组成情况。 物相鉴定是p d f数据库的主要用途,同时科研人员也可以根据数据 库中 每一条记录所包含的大量信息展开进一步的研究。 总的说来, 该数据库形式 及内容比最初的数据库更加合理及完善,同时它对早期h a n a w a lt , r i n n等人设 南开大学硕士论文 计的搜索方案采取了 继承的方式, 在格式方面仍然采用3 英寸 巾 5 英寸的卡片形 式。为了便于用户的快速检索,其中该标准样品的索引行、三条最强衍射峰的 d - i 值数据位于卡片的顶端, 余下的d - i 值数据以及其它相关信息位于卡片的其它 地方,用户可以通过查询索引行来找到相应的记录。 其后,在1 9 4 5 年和1 9 4 9 年,科研人员 在前人工作的基础上又对p d f 数据 库中所含的物相在数目、 种类及内 容方面进行了很大的扩充, 增加了 许多新物相, 同时每条记 录所包含的内容也变得更加详尽。 其中1 9 4 9 年版的p d f 数据库中的 记录己经达到2 5 0 0 条,p d f 的扩充使得覆盖更加广泛,变得更为有用,但是旧 的数据编排格式的缺点也逐渐暴露, 随着记录数目 的迅速扩充, 搜索及查询工作 也 开始变得越来 越困 难。 到了1 9 5 0 年, w p w a v e y 针对这 种情况, 设计了 新的 格式,将以前的p d f重新设计成包括一行查找条目 及三个最强峰、分子式和物 相p d f编号的新型查询手册书的形式,使数据的编排更加合理, 从而大大加快 了检索的速度。 以后随着时间的 推移, p d f 数据库中的物相数目 仍然在不断增加, 到了1 9 5 5 年, p d f 已 经达到4 5 0 0 条记录, 所包含的 物相类型也更加广泛, 此时 也标志着p d f历史上第一段时期的结束。作为刚出现的数据格式,p d f的发展 经历了 很多困难, 其研究资金最初是由 工业界及科学界共同资助的, 一直到1 9 5 5 年该研究机构通过销售收入自 立,才脱离外界的资助。到了1 9 5 8 年该机构终于 从发起 p d f的志愿者小团体发展成 a s t m ( a m e ri c a n s o c i e t y f o r t e s t i n g a n d ma t e r i a ls ) 的一部分,并且从各方面收集粉末衍射数据。 在此之后, 为了满足科研人员的使用需要 p d f 数据库不断得到完善及扩充。 众所周知, 2 0 世纪5 0 , 6 0 年代,随着理论及制造技术的不断完善及进步,计算 机技术得到了飞速的发展,鉴于卡片形式的p d f数据库不利于使用及管理,同 时由于实验仪器及方法的改进, 对收集及存储数据的要求也逐渐提高, 这就更需 要 p d f数据库中存储的信息更加精确、数据的检索更加快捷。 在这一背景下, 科学家们开始考虑将计算机技术引入晶体粉末衍射数据分析中。1 9 6 2年,包括 物相的p d f 号码、 d 一值、 化合物分子式等信息的计算机版本的p d f 出现了( 我 们现在将其称为p d f - 1 ,以和后来的p d f - 2 加以区别) ,该版本的出现, 标志着 南开大学硕士论文 p d f 计算机时代的来临, 但是由于当时计算机内存大小及存储介质的限制 ( 当时 采用磁带的方式) ,文件中含有的信息十分有限,尽管如此,仍然具有划时代的 意义,数据库的电子化,为后来数据检索的计算机化铺平了道路。 自 从计算机技术用于 p d f后,其发展变得更加迅速。1 9 6 8年, j o h n s o n和 v a n d提出了新的思维方式,首次开发了粉末衍射谱图的计算机检索程序,该程 序可以利用当时的数据库进行数据的 搜索及匹配工作, 该程序尽管在今天看来十 分原始,但是它毕竟是第一次在粉末衍射谱图的识别中向计算机化迈进的第一 步,具有十分重要的意义。 值得一提的是最初收集数据的工作是由 少数志愿者提供的, 1 9 6 5 年, a s t m 组织分成财政、 技术和编辑三部分,同时联合会的会员已 经达到3 0 个,1 9 6 9 年 是p d f的一个主要转折点, 该组织的总部迁到另外一个城市, 而联合委员会则 作为一个企业机构留 在宾夕法尼亚州, 并从此更名为j c p d s ( j o in t c o m m i t t e e o n p o w d e r d i ff r a c t i o n s t a n d a r d s ) , j c p d s 继续从各方面收集粉末衍射数据,同时职 员和志愿者书目 也在不断增加。 到了1 9 7 8 年j c p d s 又更名为i c d d ( i n t e m a t io n a l c e n t e r f o r d i ff r a c t io n d a t a , 国际晶体粉末衍射中 心) 。 随 着新技术及设备的出 现, 迫切需要新的粉末衍射软件产品,这一也常常是技术会议所讨论的主题。1 9 9 5 年,p d f 共有4 5 套数据,总共7 1 0 6 7 条记录。 i c d d是一个非赢利性的国际机构,多年以来对收集及发展衍射数据活动提 供赞助,同时以各种形式 ( 如卡片、手册、磁带及光盘等)向全世界出版发行 p d f 文件 ( 粉末衍射文件) , 它是粉末x 一 射线衍射的标准数据库,目 前在众多领 域广为使用。 )发布了数据库及搜索匹配程序,并经过很多人的不断完善,后来 又 根据n i s t ( n a t i o n a l i n s t it u t e o f s t a n d a r d a n d t e c h n o lo g y ) 美国国 家标准局, 所 开发的n b s * a i d s 8 3 标准 ( n b s * a i d s 8 3 是一个大型的,动态的,而又是不断 进化发展的 程序,多年以 来,许多科学家都为修改和发展n b s * a i d s 8 3做出了 巨 大的贡献) , 对所有的p d f 数据重新进行了综合评价, 用更加精确的 数据取代 了 过时的数据, 从而产生了p d f - 2 , p d f - 2 的出 现彻底改变了原来的p d f - 1 , 所 一卜, 南开大学硕士论文 有信息都采用计算机可直接读取的格式, 在查询方式上采取了 对 p d f - 1查询方 式继承的方法。 最初的p d f - 2 同 样是采取磁带的形式, 后来随着硬盘容量的飞速扩充, 及后 来c d - r o w光盘的普及, 存储空间极大的增加, 使p d f 文件有了新的更加理想 的存储介质, p d f 文件中存储的信息更加详尽, 以本程序采用的1 9 9 9 年版p d f - 2 数据库为例,其中包括有机、无机、金属及合金、矿物、药物及聚合物等共有 1 2 4 , 5 6 4种标准样品的记录, 涉及范围十分广泛,是目 前世界上最大最全的x - 射线粉末衍射谱图的数据库。目 前每一个记录包括晶系、晶胞参数、 空间群、化 学式、 化合物名称、 矿物名、 结构式、 文献参考、评价、 面间距d 值及相应强度 i 值,以 及其它许多有用的信息。目 前在众多领域广为使用,目 前在世界范围内 被化学、 石油、 化工、 医药、 物理、 材料科学、 冶金、 地矿等众多领域作为国际 通行的标准数据而广泛的使用。同时它也是不同品牌多晶x射线衍射仪必备的 基本数据库。 综上所述, 随着计算机技术的发展及存储技术的 进步, p d f 从最初 的卡片形式逐渐演变为计算机可读并且查询的电子格式, 对未知物相的分析也从 卡片查询变为更为方便快捷的计算机匹配及识别,大大减轻了专业人员的工作 量,不仅提高了效率,而且提高了识别的准确度。 目前每年都有多所大学向i c d d提供新的标准数据, 南开大学中心实验室多 年来一直从事有关衍射数据库的工作,每年收集粉末数据提供给 i c d d添加到 p d f 衍射数据库中。 尽管计算机物相识别技术在国外使用己有较长时间, 但是在 国内,目前采用卡片查询的方式仍在使用, 工作速度极其缓慢, 往往查一个单一 物相的数据就需要半天到一天的时间, 而且由于数据繁多, 样品往往只提取几个 最强峰 ( 一般是3 个) ,再去查找卡片,由于只进行3 强峰匹配, 而其它峰大多 不予考虑, 这样一来, 准确度很低, 用户的经验等人为因素占 很大的比重, 非常 容易发生错误, 如果样品为多种物相的组合, 工作量更是惊人。目 前国内也有一 些单位采用计算机查询, 但是大多采用的是国外开发的软件。 本中心实验室针对 目 前国内 仍然依赖国外相关物相识别软件的现状, 积极开发拥有自 主知识产权的 x 一 射线衍射谱图的计算机物相识别技术, 并己 经取得实质进展, 本程序以i c d d 南开大学硕士论文 1 9 99年版的p d f- 2 文件为基础, 同时针对物相识别的 特点及考虑到速度的要求, 对该 数据库作了 适当 的 精简,目 前 采用 精简后的 数据库ne wpd 几作为主 数据 库, 根据该数据库生成2 级索引库in d e xl和inde xz 以及元素数字化信息库e le 毗nt, 程序使用上述4 个文件作为数据库,以mi crosoft v 污 u a l c +-+ 6 .0 为开发工具, 程 序为 w in d o ws 界面,采用向导式设计,具有谱图显示功能,改变了以 往一些同 类程序采用d o s 界面, 不友好、速度慢、匹配不够准确及其它诸多 缺点,并且 多处使用人机对话方式, 用户既可以让程序自 动识别又可以根据经验来人工参与 以便提高识别准确度。 在技术上, 本程序主要采用3 强峰匹配筛选, 元素及全谱 图对照等手段。 经程序计算与识别后, 会将所有匹配上的记录以列表及谱图形式 列出以 供使用者参考, 并且引入兼容性概念, 将最终匹配上的记录加以 组合, 以 确定物相组成, 并且进行评分及计算各组分的粗略百分比组成, 最终组合出结果, 同时以 谱图形式列出, 便于用户使用及参考。 该程序与一些同 类程序相比, 具有 速度快, 匹配准确等优点, 而且能够明 确指出 样品的 物相构成及各物相在其中所 占的百分比。这是许多其它同类软件所做不到的。 南开大学硕士论文 二p d f - 2 数据库的处理 2 . 1 9 9 年版的p d f - 2 数据库简介 p d f 即 p o w d e r d i ff r a c t i o n f i l e ) ,它是x 一 射线衍射物相识别中的标准数据 库,本程序目前使用的是i c d d 1 9 9 9 年版的p d f - 2 数据库,存贮介质为光盘形 式,该数据库包含了从 1 9 4 1 年起i c d d收集的7 0 , 0 0 0 多个粉末实验谱图,以 及来自i c s d数据库的 超过4 2 , 0 0 0 个计算图 样。 该库共有 1 2 4 , 5 6 4 条记录( 即 1 2 4 ,5 6 4 种化 合 物) , 每 一 条记 录 包 括 面间 距d 值, 相应的 强 度i 值和 密 勒指 数表, 及其它如化学式、 化合物名称、矿物名、结构式、晶系、物理数据、实验参数及 参考文献等。 主要涉及有机、 无机、 矿物、 金属四大类及十几种小类的 物相, 约 占硬盘空间为3 8 9 mb , 其中每条记录主要包括至少2 2 个记录卡 ( 只含有三组d - i 值时) ,如图 2 . 1 . 1 所示,图中显示的记录每行有8 0 列,实际在数据库文件中的 存储与其类似,但是在数据库中它是连续的。尽管如此,我们仍可将8 字节视 为一个单元,对其进行划分及处理。 2 .2 p d f - 2 数据库的简化 通过对物相识别过程中所采用的方法进行细致的分析, 我们可以发现对于本 程序所做的搜寻及匹配工作来说,主要只用到数据库中的数据类型 ( c a r d 5 ) 、 化 合 物分 子式 ( c a r d 7 ) , d - i tj ( c a r d i ) 及终 止 标记( c a r d k ) 等记录卡即 可, 在目 前的 情 况下,我们可以 将该数据库中的其它信息视为冗余信息 ( 如果将来需要 p d f数 据库中的其它信息, 或者因为其它原因需要直接使用该原始数据库, 也只需将程 序简单修改即可) 。为此,本人专门编写了转换工具 d b f o u n d e r ,该程序采用 w i n d o w s 对话框形式, 结构比 较简单, 该程序的功能主要是将需要的信息从总的 数 据 库中 提 取出 来 生 成精 简 后的 数 据 库n e w p d f 2 .d a t , 目 前9 9 年版 的p d f - 2 数 据 库经该程序精简后所占 硬盘空间为 2 2 1 m b ,节省了几乎一半空间,经过这一处 南开大学硕士论文 理, 在以后的物相识别过程中可以大大加快搜索及匹配的速度, 从而提高整个程 序对物相识别的速度。 精简数据库程序的部分代码如下) v o i d c d b fo u n d e r d ig :o n c h a n g e d b o ) 1 1 精 简 总 数据 库 笼 c f i l e fi l e ; c f i l e n e w fi l e ; c s t r i n g n e w i n l h a m ; i n t r e t v a l ; i n t le n g t h 二 i n f na m .g e t l e n g th q 刃 得到 包括路 径在内的 文件名的 长 度 w h i l叹 in fn a m 卜 l e n g t h l= v ) i / 副 掉文 件名, 只得到 路径 夏 n e w i n f n a m = i n f h a m .l e fi ( le n g t h ) ; n e w in fi i a m = n e w i n fn a m 十 l l + n e w p d f l .d a t 刃 精 简 后 的 数 据 库 名 r e t v a l = fi l e .o p e n ( i n f n a m , c f i l e : : m o d e r e a d ) ; i f ( r e t v a l = 0 ) a f x m e s s a g e b o x ( . 打开 文 件 错 误叹 r e t v a l = n e w fi l e . o p e n ( n e w i n f n a m , c f i l e : : n w d e c r e a t e lc f i l e : :m o d e w ri t e ) ; i f ( r e t v a l = 0 ) a fk m e s s a g e b 叫” 不能 建 立 新 文 件水 c h a r b u lf 8 0 ; w h i le ( ( le n g t h = fi l e .r e a d ( b u f, 8 0 ” 一 8 0 ) 1 1 以8 0 个字节为单 位, 读 取总数 据库中的 信息 笼 i 助峨7 9 1 = 5 ) 丁 i 坟 s ig n 一 0 ) 卿, n e w fi l e . w r i t e ( b u t l e n g th ) ; c o n t i n u e ; c a t c h ( c f i l e e x c e p t i o n e ) a fx m e s s a g e b o x ( ” 错误, 磁盘空间可能 满1.) ; c o n t i n u e ; i f ( ( b u f 7 9 一t ) ii ( b u f 7 9 1 =i ) ik b u $ 7 9 1 ) 一k ) i y 读取满 足条件的 数据卡中 信息 try. n e w fi le . w ri 城b u i; le n g t h ) ;l l将信息写 入新 数据库 南开大学硕几 七论文 c a t c h ( c f i l e e x c e p t io n e ) a fx m e s s a g e b o x ( 错误, 磁盘空间 可能 满,) f i l e .c l o s e ( ) ; n e w fl l e . c l o s e o ; a f x m e s s a g e b o x ( 转换总库 操作完成,); 从上可以 看出, 进入o n c h a n g e d b ( ) 函 数后首先 打开p d f - 2 数 据库文 件, 然 后根据该数据库中数据的组织特点, 采用循环手段以 0 字节为一组读出数据库 中的数据, 读出一组后即对该组第8 0 个字符进行判断 在p d f 数据库中, 每组 第8 0 个字符所在位置的信息,通常表示该组数据的类型) ,如果该字符为 5 . 7 、t, k 等字符时分别表示该条记录的物相类型、 化合物名称、 d - i 数据 对及结束信息 等, 这时 将该组字符写 入新 数据库文件n e w p d 已中, 由 于 新生成的 文件占用硬盘空间较大, 所以本函数也考虑了可能出现的一些错误, 如果出现错 误会及时报错引起用户注意。 南开大学硕士论文 4 . 7 5 0 1 2 . 9 1 0 ! f加1 1 2 4 3 r i a 3 a c d o 1 1 2 4 嫩 a - 3 t 1 6 7 2 4 . 0 2 2 2 3 3 , 4 3 d 0 1 1 2 4 3 r 3 r - 3 c 1 6 7 2 3 . 0 2 a 1 3 3 6 1 0 1 . 9 6 2 5 3 . 4 3 0 0 1 1 2 4 派4 i加1 1 2 4 3 1 5 a l t o i n ;m o x i d e p d 0 1 1 2 4 3 1 6 a 1 2 的d o 1 1 2 4 8 r 7 1 1 2 0 3 d o 上 坟4 3 ro a 1 . 0 0 0 . 0 0 0 , 0 0 1 0 , 0 0 1 . 0 0 0 . 0 0 1 0 . 0 0 0 . 0 0 1 . 0 0 a o l l 2 4 3 r c 4 . 1 5 0 4 . 9 5 0 5 . 1 2 0 6 2 . 3 6 6 2 - 3 6 6 0 , 的8 4 . 4 8 9 d o 1 1 2 4 3 3 t1 4 . 7 5 0 4 . 7 5 0 1 2 . 9 1 0 9 0 . 的 9 0 . 0 0 1 2 0 . 0 0 2 . 7 3 0 5 d 0 1 1 2 4 3 r e h o m 0 . 7 0 9 3 e 0 2 印.加1 1 2 4 3 r f f帕b , 9 0 . 0 1 1 1 9 3 0 6 . 2 1 . 2 8 0 d 0 1 1 2 1 拓 3 , 4 1 0 0 0 5 0 0 1 2 c 2 . 5 5 0 0 0 7 5 1 0 4 c 2 . 3 匆 加 3 0 1 1 o c i d 0 1 1 2 4 3 1 t 2 . 0 8 0 0 0 1 的i i 3 c 1 , 7 4 0 加 5 0 0 2枕 1 . 5 9 0 0 0 1 0 0 1 1印2 d o i 1 2 4 3 r i 1 , 5 4 0 0 0 5 2 1 i c 1 , 5 0 0 0 0 $ 0 1 8 c 1 , 4 0 0 的4 0 2 1 4 c 肋1 1 2 4 3 r i 1 . 3 1 0 0 0 5 0 3 0 o c 1 . 2 3 0 0 0 2 0 1 1 9 c 1 . 1 9 0 的 1 0 2 1 7 c 伽 1 1 2 4 3 1 1 1 , 1 4 0 0 0 5 1 3 i c 1 . 1 2 0 0 0 5 1 2 8 c 1 , 3 0 0 0 0 5 0 2l o c 枷 1 1 2 4 3 1 1 1 . 0 8 0 0 0 5 0 0 1 2 0 1 . 0 4 0 0 0 8 2 2 6 c 1 . 0 2 0 加 5 0 4 2 c 6 d o 1 1 2 4 3 r i 1 . 0 0 0 0 0 5 2 1 l o c, 的1 1 2 4 3 1 1 3 2 . 0 8 1 1 1 . 5 9 1 % 2 . 5 5 1 8 3 , 4 7 1 5 1 . 7 4 1 5 1 , 3 1 1 5 1 . 4 0 1 4 2 . 3 7 1 3 1 . 2 3 1 2 1 , 1 9 1 1 0 1 1 2 4 3 1 4 h 3 . 4 7 1 5 2 . 5 5 1 8 2 . 3 1 1 3 2 . 0 8 1 % 1 , 7 4 1 5 1 . 5 9 1 % 1 . 5 4 1 1 1 . 5 0 1 1 1 , 6 0 1 9 1 . 3 7 1 5 d 0 1 1 2 4 3 1 r 0 9 1 3 0 1 8 8 h r 9 5 1 1 1 3 1 3 0 1 0 9 4 1 0 $ 1 0 2加1 1 2 4 3 双 图 2 . 1 . 1 南开大学硕士论文 n e 帅d 几数据库中记录格式见图 2 . 2 . 1 , 1 足20 3 3 . 4 , o 0 05 00 1 2 c 之 . 0 日 0 0 o i q 0 几 1 3 c 15 门 0 0 0 万2 l l c 1 . 3 , 0 0 05 03 0 0 c 1 . 1 咤 0 0 0 51 3 l c 1 . 0 已 o 0 0 50 01 2 c le 0 0 0 公 52 1主 o c 0 9 / 3 o j 日 6k r 2 . 5 万 0 0 0 上 。 7 4 0 0 0 1 . 5 0 心 0 0 几 . 2 3 0 0 0 1 , 1 2 0 0 0 10 4 0 0 0 2 . 3 , 0 c o3 01 1 0 c 1 . 5 , 0 0 0 1 0 ol l ec 1 . 心 0 0 0 0砚 02 1 唯 c 1 . 1 , 0 0 01 oz 1 7 c 立 . 1 0 0 0 0 5 0 2王 o c 1 . 0 2 0 0 0 50 4 2 亡 枕代时鱿肚6c 目jj二 .1山月乙 叹甲丹0 9 5 17 1 3 又 3di og l / 0 , 1 0 2 d o l l 2 4 3 执 5 配上 1 2 4 3 执 , 又 d o i 几 2 们r l 2 优王 工 2 4 3 r i 3 p o 工 1 2 1 3 r i 4 d0几 1 2 心 3 r 工 5 d o l l 之 峨 r l 石 加1 1 2 吸 3 r 工 , d o i 飞 2 们r l d o l l 2 4 3 rk 爪u气吃.山.二 曰.止户u月jl人 呼门曰u、侧自川 叮j工气甘几 图 22 . 2 .3 in dexl 及in dexz 两个索引库的建立 程序d b fo unde r 的 另 外一个重要的 功能是 根据精 简后的 数据 库n e 认 , d 几生成 两级索引 库文件 in dexl 和 in d exz ,两级索引库的主要功能是可以让程序能够更 加快速而准确的在总数据库中排除无关信息, 找到相关的数据记录, 正因为如此, 两级索引库在物相识别过程中具有非常重要的作用。 这两个索引库都来源于数据 库n e 从 , dfz ,其中索引库in d exz直接来自n e 认 , 姐 。 而i n d e x i 则是根据i nde x z 中的数据生成的。 索引 库 建立的 具 体 步 骤是 将 新 数 据库ne w pd 几中 的 每 一 个 标 样的d 值 根 据公 式ps = 1 0 00 /d转 换为整 数ps值 ( ps值 在1 一1 4 00之间) , 根 据每一 个ps所对 应 的1 值 ( 峰 强 ) , 找出 每一 标 样的 前3 强 峰 所 对 应的ps值 (p 51 一p s 3), 以 每 一 个 标 样的 最强 峰 所对 应的ps值 ( 称为ps l 值) 为 准, 建 立ind e xl卜dat 和ind ex z d at 两个 索引 库, 其中in de xz.d at中 存放p sl 一p s 3( 即3 强 峰) 、 该条记录 在总 库中 的首地址、 记录号码p d f 、 分子式及该记录的类型 ( 如: 是有机、 无机、 矿物或 一 ,种户户,户种种户,一一一一 南开大学硕士论文 金属等) , 为了 加快以 后识别的 速度, 具 有相同p s l 值的 不同 标样占 据连续的 存 储空间。而i n d e x l .d a t 索引 库则 有1 4 0 0 条记录 ( 按p s 值而定 对应p s 值从1 到 1 4 0 0 ) , 每条记 录又分为两个部分, 分别存放in d e x 2 . d a t 中具有相同p s l 值的 标样 个 数, 及具 有该p s 值的 第一 个标样 在in d e x 2 h a t 中 的首地址。 ( 部分代 码及说明 如下) v o i d c d b f o u n d e r d l g : :o n 日 u tt o n i ( y j 生成索引 库的函 数,限于篇幅限 制,有较大省略 使数 组a d d r 1 4 0 0 1 3 的 所有初 值为0 d b .o p e n ( i n fr m ro , c f i le : : m o d e r e a d w r it e ) 刃 打开新的总数据库 i n d e x 2 d b . o p e n ( tt i n d e x 2 .d a t ,c f i l e : : m o d e c m a t e lc f i l e : : m o d e r e a d w r i t e ) ; in d e x i d b . o p e n ( t d n d e x l .d a t , c f i l e : :m o d e c r e a t e c f i l e : . m o d e r e a d w r i t e ) ; l l t t i n d e x ua t 存放每条记录的3 强峰、 化合物名称、 p d f 号, t t i n d e x l d a t 存放p s i 值、 相同该p s i 值的 记录个数、下一条记录的地址 ( 采用链表形式) 。 w h il e ( d b .r e a d ( t e m p ,8 0 ) =8 0 ) 11 从 总 数 据 库中以8 0 字 节为 单 位 读出 数据 笼 if ( t e m p 7 9 1 = s ) im到 数据类型的 相关 信息 夏 n a m e s o rt . f o r m a t ( %s ,t e m p ) ; t l o m a = n a m e s o r t . mi d ( 0 ,4 ) ; t s u b fi l e 0 = n a n te s o rt . mi d ( 5 ,3 ) ; t s u b fi l e t = n a r n e s o r t mid ( 9 , 3 ) ; t s u b fi l e 2 = n a m e s o r t . m i d ( 1 3 , 3 ) ; t s u b fi l e 3 = n a m e s o a t . mi d ( 1 7 , 3 ) ; t s u b fi l e 4 1 = n a m e s o rt . mi d ( 2 1 , 3 ) ; e l s e i t ( te m p 7 9 =t ) l l 找 到化合物信息所在的 行 ( / 得到 化合 物名称, 放到c s t r i n g 型 变量n a m e 7 中 e ls e if ( t e m p 7 9 =p ) l l 找到p s - 1 数 据所在的 行 f 将每组数据中的d 值换算为p s 值,找出 前 3 强峰所对应的6个数据存放于 n ma x p s o , m a x i 0 , m a x p s l , m a x i l , 叫2 , m a x i 2 e ls e if ( t e m p 7 9 一k ) l l 一条记 录结 束了, 开始斌值 冈f f o r r n a % s , te n 甲 ) ; 冈 f = p d f .m i d ( 7 2 ,6 ) ; m d a t a p s l = i n t ( m a x p s o l ) ; m d a t a .p s 2 = i n t ( m a x p s ( i l ) ; m 一 d a t a .p s 3 = i 叫m a x p s 2 ) ; m d a t a . i n d e x 2 a d d r =a d d r 2 ; 南开大学硕士论文 m 一 d a t a . e l e m e n t 二 n a m e 7 ; m es d a t a . p d f n o = p d f m 一 d a t a . l o m a = t o m a ; m - d a t a .s u b fi l e 0 = t s u b fi l e 0 ; m es d a t a . s u b fi le i = t s u b fi i 时 1 1 ; m d a t a . s u b fi l e 2 = t s u b fi l e 2 ; m中t a s u b fi l e 3 = ts u b fi l e 3 1 ; m d a t a . s u b fi l e 4 = t s u b fi l e 4 1 ; fi n d in d e x 二 fi n d p s ( m d a t a p s l ) v / 在“ d t 中 看是 否可以 找到该p s l 值 i f ( fi n d i n d e x = 0 y / 相当于找到了不同的p s i 值 笼 i n s e r tt( fi n d in d e x ,m d a t a ) j / 调用 插入函 数 e l s e a p p e n d t ( m ee d a t a ) 洲 调用添加的函数 关闭文件 c f i i e i n d e x 2 t ; c f i l e i n d e x i t ; c h a r b u ff 1 0 8 1 ; i 爪n e x t ; i n t in d e x 2 e n d ; i n d e x 2 d b .o p e n ( t fi n d e x2.d a t ,c f i l e : : m o d e r e a d w r it e ) ; in d e x 2 t . o p e n ( i n d e x 2 . d a t , c f i l e : : m o d e wr i 州c f i l e : :r n o d e c r e a t e ) ; i n d e x i t . o p e n ( i n d e x l . d a t , c f i le . m o d e wr i 叫c f i l e : :m o d e c r e a t e ) ; f o r ( i = l ; i e n a b l

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论