作者马克·阿齐布尔德。
在以前的文章中(在ChemSpider幕后)我们讨论了在全球最大的化学数据库之一维持数据质量所面临的一些挑战。当处理远超过人类合理处理能力的记录时,我们将自动过滤视为一个关键工具。在这篇文章中,我们将更详细地讨论过滤是如何工作的,面临的挑战是什么,以及人为干预所扮演的角色。
为了执行这种过滤,我们使用KNIME,一个开源的数据处理平台。活跃的化学信息学社区开发的广泛的KNIME节点允许我们对我们处理的数据提出化学方面的具体问题。新利手机客户端简单地说,符合我们标准的输入化学结构将被传递到下一个节点,而不符合的则被写入错误文件。在处理完所有的结构之后,结果是一个结构文件,它已经成功地通过了所有的过滤器和几个(通常较小的)由于各种原因被拒绝的结构文件。
不可能全部检查所有生成的文件,因为这将消除自动处理的节省时间的优点。但是,对所有类型的输出文件进行抽查,以确保准确性,并迭代地改进过滤条件。某些输出文件有很高的误报可能性,因此我们全面检查它们。
格式和标识符
提交的文件可以有几种不同的格式。最常见的是SDF (结构数据文件,一种化学结构格式,包含多个具有相关数据字段的结构)。这种格式的优点是它包含2维或3维结构,因此我们可以立即开始处理文件,而不必将标识符转换为结构。这意味着我们最终存放的结构更有可能与原始结构完全匹配。SDF格式的缺点是它是专门的-许多用户将不熟悉它或没有软件来创建和显示文件。
我们还接收不同的电子表格格式(excel、csv、tsv),它们的结构用基于文本的符号系统编码,比如SMILES或INCHI。这种格式的优点是它不需要专门的软件(只要提交者对化合物有smile或InChIs)。缺点是这些结构在加工和沉积到ChemSpider之前需要转换成SDF。此外,这些格式包含关于原子及其连接性的信息,但缺少布局信息。这可能会引入错误,因为不同的结构图包对这些结构的解析略有不同,从而导致最终沉积结构的更改。
过滤条件
根据我们的经验和化学知识,我们判断化学结构的标准是确定的化学规则和不太明确的“经验规则”的混合物。下面是两个例子。
空结构,查询原子和不正确的原子价
第一个过滤器是最简单的——ChemSpider是一个以结构为中心的数据库,因此不可能存放任何缺少结构的输入条目。
类似地,每个ChemSpider记录需要一个单独定义的化学结构,因此我们排除了使用查询原子表示可变原子或附附点的任何内容。
另一种简单的过滤方法是排除原子中原子价无效的结构。
电荷不平衡
通常,ChemSpider中的条目应该表示一个真实的、可隔离的化合物。这意味着我们过滤掉了总电荷非零的结构。然而,在某些情况下,反离子通常是不重要的,但我们有例外,只考虑带电的种类是有用的,如胆碱(ChemSpider记录)。
包含未定义的立体中心的结构
未定义的立体中心本身并不代表化学误差。然而,如下图所示的结构(没有任何确定的立体中心的胆固醇)经常出现,尽管从化学上来说是有效的,但它们极不可能代表预期的结构。
因此,我们有一个经验法则,即排除包含两个以上未定义的stereocentres的结构。这不是一个硬性的规则,而是试图在排除像上面这样的结构和包括那些有意且正确的未定义的体中心结构之间取得平衡。
未定义的立体中心的数量(通过检查InChI确定)有时包括常规排除立体楔形物的情况。例如在磷酸盐和金刚烷基上没有楔形物的核酸,如果没有明确的立体化学——用楔形物画这些化合物是不寻常的,用户在搜索时很少使用楔形物。新利手机客户端这些潜在的假阳性将被过滤掉并手动审查。然后,馆长可以决定是否将它们包括在沉积中,从而提高过滤器的整体精度。
包含多个组件的结构
这是另一个经验法则——一种正确描述的化学物质可以含有多少个独立成分没有上限。然而,从经验中我们发现,排除包含四个以上独立成分的结构会删除最明显的无意义条目(例如试图描绘合金)同时保留大部分正确的条目。
在应用这一规则时,药物分子是假阳性的主要来源,因为它们通常是具有多种反离子的多种水合物和/或盐(例如。盐酸伊立替康三水)。排除在外的结构是水合物或含有常见的药物盐类被标记为人类审查。
同义词筛选
此筛选器将指定给给定结构的同义词与其分子式进行比较,并执行一些“常识”检查。例如,一个相对常见的错误是将盐形式的名称关联起来(例如,mozavaptan盐酸盐)自由基结构(mozavaptan)。在这种情况下,过滤器会删除包含“盐酸盐”的同义词,因为分子式不包含Cl。
聪明的
聪明的(维基百科页面)是描述一般化学结构的一种方法。它是基于smiles的,但是有额外的特性允许指定可变链长、键的数目、氢的数目、可变键的顺序,或者一个位置上的多个潜在元素。
我们使用智能识别结构中常见的错误特征。其中包括:
- 与五价氮描绘叠氮化物和重氮基
- A“浮动”烷烃未连接到主结构上(可能由意外点击在绘图程序引起的)
- 金属羧酸盐描绘为质子化的羧酸与元素金属原子
- 六氟磷酸盐(以及类似的物质)描绘为五氟化磷和一个单独的氟离子
傻笑
微笑是微笑的进一步延伸,用来描述反应。我们不使用它来表示真实的反应,而是定义结构转换——允许我们修复简单的结构错误,这些错误可以通过破坏和创建键来解决。
一个例子是连接电荷分离格氏试剂,以给出更准确的描述:
有机金属
用机器可读格式对有机金属结构进行编码的困难是有据可查的(J.化学。天道酬勤。模型。51,12,3149-3157)。有一个正在进行的iupac项目延长INCHI的功能但目前,挑战依然存在。
每一个chemspider记录基本上都基于inchi,因此我们受到当前限制的约束。这意味着我们不能描述配位键或非整数级键-任何键被解释为一个标准共价键,每个原子贡献一个电子。
虽然我们通常不能以人类化学家所希望的方式来表示有机金属结构,但我们仍然试图从各种可能的妥协中选择“最不错误”的结构。
二茂铁是这个问题的典型例子,说明了我们必须考虑的几个问题。以下是几种常用的二茂铁绘图方法(还有很多)。
所示的大多数结构利用了化学绘图包的扩展功能,以一种吸引人的方式来表示二茂铁的键合,并且对人类化学家来说易于理解。不幸的是,一旦转换成简单但通用的MOL格式,这些特性中的一些就会丢失,从而导致无意义的结构。尽管结构d没有改变,但这种表征还存在其他问题:fe上的价态不正确,环戊二烯配体的芳香性没有表征。
我们可以在Chemspider中描绘二茂铁及其相关结构的方法有限,但没有一种方法能准确地描述键合或给出一种能使无机化学家满意的观点。但是,我们可以从可能的妥协中选择“最不坏的”,并允许机器可读性:
尽管这个结构(ChemSpider记录)没有捕捉到二茂铁的触觉,单个碳上的电荷定位是不准确的,它保留了正确的总电荷和价态,没有显示配体是sigma键合的。
更一般地,我们应用一些规则和变换来标准化有机金属结构的表示。根据金属和配体的性质,许多规则都涉及到选择是将金属-碳(或金属-杂原子)描述为共价还是离子。同样,当在机器可读结构的限制下工作时,妥协是必要的,但是我们试图将“更多的离子”和“更多的共价”键分类。以下是一些例子:
- 来自组1和2族的金属氧断开
- 连接氧气所有金属
- 选自钠,钾和钙断开碳
- 连接碳基团11和12族金属,p区的金属和准金属的一些
正如所料,像这样的一般规则在某些情况下会失败。因此,我们有额外的、更具体的规则来覆盖异常,我们迭代地完善这些规则。
但这些错误仍然出现在Chemspider中!
目前,所述过滤仅适用于进入Chemspider的新数据。全ChemSpider数据库,建立了多年,当然包含这里描述的每一个错误的例子。要解决这些遗留的错误,我们打算通过相同品质的过滤器来运行整个数据库。这是一些具体的挑战显著的任务:将文件需要人工审核成为数值较大的订单,处理时间和内存/ CPU开销高,大的数据集就越有可能我们会遇到误报。为了应对这些挑战,我们都抽出时间来完善新的沉积我们的流程,并通过我们的过滤器运行完整ChemSpider数据库的子集定期检查我们的进步。我们知道您需要访问你可以信任的数据,所以我们要确保我们得到这个权利。我们将继续为这一项目的进展更新您,敬请期待!