结晶信息框架

[CIF2徽标] 

资本投资基金2

CIF2是一种新的替代文件格式,用于晶体信息框架,补充了20世纪90年代初开发的原始CIF格式(“CIF1”)。CIF2为复杂数据类型引入了Unicode字符集和扩展。在最终调整后,CIF2于2014年8月正式获得了中国商投委的批准。最近的一份出版物描述了CIF2标准:Bernstein,H.J.、Bollinger,J.C.、Brown,I.D.、Gražulis,S.、Hester,J.R.、McMahon,B.、Spadaccini,N.、Westbrook,J.D.和Westrip,S.P.(2016)。“晶体信息文件格式规范,2.0版”J.应用。克里斯特。 49细节

带注释的ISO 14977 EBNF规范也可以使用.

常见问题

CIF2如何改进CIF1?

CIF2允许使用Unicode字符,矩阵和表格都可以作为数据值。它提供了更熟悉的三重引号(''')替代分号作为多行字符串分隔符,它不允许在分隔字符串中嵌入引号,从而简化了解析。

我不需要那些新东西。我不能坚持使用CIF1吗?

当然可以。CIF1是作为一种档案格式开发和推广的,IUCr致力于永久支持CIF1,领先的晶体数据库服务,如蛋白质数据库(wwPDB)、CCDC、COD和ICSD。您的软件最终采用的方法取决于CIF供应商和CIF消费者的生态系统。

哪些工具可用于CIF2?

John Bollinger开发的即将推出的C语言CIFAPI实现完全熟悉CIF1和CIF2。一旦与流行编程语言的绑定可用,它将是许多项目的一个好选择。此软件和其他熟悉CIF2的软件的链接列于本页.

我可以用我的CIF1解析器读取CIF2格式文件吗?

由于在CIF2中添加了unicode字符和新类型的数据值(表、列表、额外的字符串分隔符),因此使用CIF1解析器读取CIF2文件并不总是成功的。

但是,如果CIF2文件中不存在任何新功能,则CIF1解析器将成功。CIF数据文件,仅包含当前字典中定义的数据名,不使用'''“”“因为只要没有以开头的不受限制的数据值,分隔符就会正确读入[{.

我可以写一个同时读取CIF1和CIF2文件的解析器吗?

是的,因为CIF2文件需要以字符开头#\#资本投资基金2.0。您可以根据此字符串选择要使用的分析规则集。

我可以用严格的CIF2解析器读取CIF1格式的文件吗?

不,由于上面提到的头字符串,请参阅下一个问题的答案。

我可以用自由的CIF2解析器读取CIF1格式的文件吗?

如果忽略上面提到的头字符串,则很可能能够正确读取CIF1文件。需要注意的关键区别是带有嵌入分隔符的字符串,如“不会”,这在CIF2中是禁止的,以及以开头的非分隔字符串{字符,用于启动CIF2“表”数据值。这两种类型的数据值都不是特别常见的。

如何使我的软件CIF2就绪?

有关特定任务的信息,请参阅下面的问题。

我的软件输出CIF1文件。输出CIF2文件时应进行哪些更改?

首先,你应该以字符串开始你的文件#\#资本投资基金2.0然后,您应该调整字符串数据值输出,以便在大多数情况下使用分隔符。将来,当字典定义矩阵或表值数据名时,您应该准备好用正确的语法输出它们。

我的软件读取CIF文件。如何准备好CIF2?

您需要增强旧的CIF1解析器,使其能够读取(可能是嵌套的)矩阵和表数据结构,识别三引号字符串,并接受Unicode。