“化学信息”类档案

ChemSpider预沉积过滤器

马克·阿奇博尔德写的。

在上一篇文章中(在ChemSpider幕后)我们讨论了世界上最大的化学数据库之一在维护数据质量方面面临的一些挑战。当处理的记录远远超出人类的合理处理能力时,我们将自动过滤确定为一个关键工具。在这篇文章中,我们将更详细地讨论过滤是如何工作的,挑战是什么,以及人工干预所起的作用。

为了执行这个过滤,我们使用了一个开源数据处理平台KNIME。由活跃的化学信息社区开发的广泛KNIME节点允许我们对我们处理的数据提出化学特定的问题。新利手机客户端简单地说,与我们的标准匹配的输入化学结构被传递到下一个节点,而那些不匹配的化学结构则被写到错误文件中。在处理完所有结构之后,结果是一个已成功通过所有筛选器的结构文件,以及由于各种原因而被拒绝的多个(通常较小)结构文件。

结构进行过滤。被举报的结构进行审查,并通过结构被添加到ChemSpider。

不可能完全检查所有生成的文件,因为这将消除自动处理的省时优势。但是,会抽查所有类型的输出文件的准确性,并迭代地改进筛选条件。某些输出文件具有很高的误报可能性,因此我们将对它们进行全面检查。

格式和标识符

提交的文件可以是几种不同格式之一。最常见的是SDF(结构数据文件,包含多个结构和相关数据字段的化学结构格式)。这种格式的优点是它包含二维或三维结构,因此我们可以立即开始处理文件,而不必将标识符转换为结构。这意味着我们所存放的最终结构更有可能与原始结构完全匹配。SDF格式的缺点是它是专门的,许多用户可能不熟悉它,或者没有软件来创建和显示文件。

我们还收到不同的电子表格格式(excel、csv、tsv),其结构编码为基于文本的符号系统,如SMILESINCHI.这种格式的优点是不需要专门的软件(前提是提交者对化合物有SMILES或InChIs),缺点是结构在加工和沉积到ChemSpider之前需要转换成SDF。此外,这些格式包含有关原子及其连接性的信息,但缺少布局信息。这可能会引入错误,因为不同的结构绘图包对这些结构的解析略有不同,从而导致对最终沉积结构的更改。

筛选条件

根据我们的经验和化学知识,我们判断化学结构的标准是确定的化学规则和不太明确的“经验法则”的混合。下面是这两种情况的例子。

空结构,查询原子和错误的价

第一个过滤器是最简单的——ChemSpider是一个以结构为中心的数据库,因此不可能存放任何缺少结构的输入条目。

类似地,每个ChemSpider记录都需要一个单独定义的化学结构,因此我们排除使用查询原子来表示变量原子或附着点的任何内容。

另一个简单的过滤器是排除原子具有无效价的结构。

电荷不平衡

一般来说,ChemSpider中的条目应该表示真实世界中的可分离化合物。这意味着我们过滤掉总电荷为非零的结构。然而,我们对某些例子做了例外,在这些例子中,反离子通常不重要,仅考虑带电物种是有用的,例如胆碱(ChemSpider记录).

含有未定义立体中心的结构

光是未定义的立体中心并不代表化学误差。然而,像下面所示的结构(没有任何确定的立体中心的胆固醇)经常出现,虽然化学上有效,但它们极不可能代表预期的结构。

胆固醇骨架没有定义的立体新利手机客户端

胆固醇骨架无立体新利手机客户端

因此,我们有一个经验法则,排除含有两个以上未定义立体中心的结构。这不是一条硬性规定,而是试图在排除上述结构和包括未定义立体中心是有意和正确的结构之间取得平衡。

未定义立体中心的计数(通过检查InChI确定)有时包括常规排除立体化学楔子的情况。实例包括核酸与磷酸没有楔和金刚组没有明确的立体 - 这是不寻常的绘制这些化合物与楔子,而用户很少会在其搜索中使用挖起杆。新利手机客户端这些潜在的误报被筛选出来并进行人工审查。然后馆长可以决定是否将其列入沉积,提高了过滤器的整体精度。

包含许多组件结构

这是经验的另一个规则 - 有一个正确的描述化学物质能有多少独立的组件没有上限。然而,从经验中我们发现,不包括结构与四个以上的独立组件去除大部分明显荒谬的条目(例如试图描绘了合金),同时保留了大部分正确的条目。

当应用此规则,药物分子代表的假阳性的主要来源,因为它们往往是多重的水合物和/或具有多个抗衡离子的盐(例如盐酸伊立替康三水).是水合物或包含公共药用盐排除的结构标记为人工审核。

过滤器的同义词

该过滤器相比较分配给给定的结构与它的分子式和执行某些“常识”检查同义词。例如,一个相对频繁的误差相关联的盐形式的名称(例如,mozavaptan盐酸盐)与游离碱的结构(mozavaptan).在这种情况下,过滤器去除含有“盐酸”,因为分子式不包含氯的同义词。

SMARTS

SMARTS(维基百科页面)是描述一般化学结构的一种方式。它基于SMILES,但是具有附加的特征允许可变的链长,键的数量,氢的数目,可变键序,或者在一个站点一个以上的潜在元素的规范。

我们使用SMARTS识别的结构共同的错误功能。这些包括:

  • 叠氮化物,并用五价氮描绘重氮基
  • A“浮动”烷烃未连接到主结构上(可能由意外点击在绘图程序引起的)
  • 描绘为质子化羧酸与元素金属原子金属羧酸盐
  • 六氟磷酸盐(以及类似的物质)描绘为五氟化磷和一个单独的氟离子

傻笑

假笑是SMILES的进一步延伸到描绘反应。我们不会用它来代表真实的反应,但定义的结构转换 - 让我们来解决,可以通过打破和创造债券来解决简单的结构错误。

一个例子是连接电荷分离格氏试剂,得到更准确的描述:

重新连接断开的格氏试剂

重新连接格氏试剂

金属有机化合物

以机器可读格式编码的有机金属结构的困难是有据可查的(J.化学。天道酬勤。模型。51,12,3149-3157).有一个持续的IUPAC项目延长INCHI的功能但就目前而言,挑战依然存在。

每ChemSpider记录基本上是基于一个INCHI,所以我们是通过电流限制的约束。这意味着我们可以不描绘的配位键或具有非整数顺序债券 - 绘制被解释为与一个电子贡献的每个原子的标准共价键的任何键。

虽然我们一般不能代表方式有机金属结构人类化学家愿意,我们还是尝试选择从各种可能的妥协“至少错”结构。

二茂铁是这个问题的一个典型的例子,并说明了几个我们要考虑的问题。二茂铁显示在下面一些常见的方式吸引用户(还有更多)。

的二茂铁失去结合信息共同描绘当转换为摩尔文件

转换的二茂铁结构,以摩尔格式可以引入分子式中的错误,键级或价

为了大多数的化学绘图程序的扩展功能所示结构趁代表的方式,是有吸引力的,容易理解的人化学家二茂铁的粘接。不幸的是,一旦转移到简化,但普遍摩尔格式,其中的一些功能将丢失,从而导致无意义的结构。虽然结构d是不变的,这表示具有其他的问题:对Fe化合价不正确并且没有环戊二烯基配的芳香性表示。

我们的方法,使我们能够描绘二茂铁和相关结构在ChemSpider,其中没有一个得到接合的精确表示,或者将满足无机化学家的视图的数量有限。然而,我们可以选择的可能妥协的“最不坏”,让机器可读性:

Fe2 +和(C5H5-)2

我们妥协

虽然这种结构(ChemSpider记录)不捕获二茂铁的哈普托数和在单个碳的电荷定位不准确,它保留正确整体费用和化合价而没有示出的配位体如σ-键连接的。

更一般地,我们运用一些规则和转换,以规范有机金属结构的表示。许多的这些规则涉及选择是否描绘了金属 - 碳(或金属 - 杂原子),为共价或离子,这取决于金属和配体的性质。此外,机器可读结构的限制范围内工作时,妥协是必要的,但我们试图“更离子”和“多价”的债券进行分类。下面是一些例子:

  • 来自组1和2族的金属氧断开
  • 连接氧气所有金属
  • 选自钠,钾和钙断开碳
  • 连接碳基团11和12族金属,p区的金属和准金属的一些

正如预期的那样,这样的一般规则无法在某些情况下。因此,我们要盖例外,这是我们反复改进额外的,更具体的规则。

但是,这些错误仍然会出现在ChemSpider!

目前滤波描述仅适用于新的数据进入ChemSpider。经过多年构建的完整ChemSpider数据库当然包含这里描述的每个错误的示例。为了修复这些遗留错误,我们打算通过相同的质量过滤器运行整个数据库。这是一个具有一些特定挑战的重要任务:需要人工检查的文件变得大了几个数量级,处理时间和内存/CPU开销很高,数据集越大,我们越有可能遇到误报。为了应对这些挑战,我们正在花时间对新取证的过程进行改进,并通过过滤器定期运行完整的ChemSpider数据库的子集来检查进展情况。我们知道你需要访问你可以信任的数据,所以我们想确保我们做对了。随着项目的进展,我们将继续更新您的信息,请继续关注!

在ChemSpider中添加RSC CIFS

作者:戴爱玲。

我们很高兴地宣布,我们刚刚进口了1047 CIFs ChemSpider之前报道的晶体结构在RSC文件(和作为应急服务国际公司提供)ChemSpider相关化合物,并联系那些回到原来的文章和中国疾控中心的webCSD,如。例如具有RSC文章CIF化合物(见CIF信息栏)由于每个上传到ChemSpider的CIF都必须与ChemSpider化合物相关联,因此这项任务的难点是计算出一个2D分子结构(in.MOL文件格式对于每个3D晶体结构(in.CIF文件格式) -这是特别困难的,因为CIFs只包含每个原子位置的信息,而不包含原子在晶体中是如何相互结合的,或者它们是否带电。
最后,我们希望这个CIF到mol的转换(和整个上传)是在没有人工干预的情况下通过编程方式执行的。然而,目前还没有可靠的方法来做到这一点——尽管有像这样的项目OpenBabel可用于提取mols从每个CIF,这种转换的可靠性不是100%。
因此,作为我们今年夏天在南安普顿大学的一个学生实习项目(与之并行)在南安普敦大学另一名学生实习项目在ChemSpider份额论文数据)我们使用OpenBabel(2.3.2版本,从命令行运行的选项我cif inputfilename.txt - o摩尔- m独特- d -AddPolarH)提取摩尔的CIFs RSC归档(超过43000文件截至2013年6月)和招募Julija Kezina(如下所示),这些转换的结果进行审核,以确保只有良好的结构和cif双ChemSpider沉积,并且更好的理解转换过程中存在的问题,以修复。成为明显的一个问题是,由于所获得的二维结构只是一个投影的三维结构沿着细胞轴,这并不总是显示了分子最明显的取向,即使他们确实有写化学原子之间的连接,所以所有摩尔结构运行通过OpenEye的清洁算法之前进行审查。

Julija Kezina  - 南安普敦大学实习生谁检查CIF到分子转换

Julija Kezina - 南安普敦大学实习生谁检查CIF到分子转换

Julija将输出mol文件中的每个结构与原始CIF文件中的结构进行比较,判断转换是否准确。另外,作为额外的检查,所有的输出mol结构都提交给了ChemSpider验证和标准化平台过滤出有结构问题的分子立体化学,价新利手机客户端电子或拥塞问题)。
总的来说,Julija检测到的大约30%的CIF到mol的转化是良好的,原子和离子的连接是正确的(尽管其中大约30%需要重新定位原子位置来清洁或整理结构,可以手动或使用ChemDraw的清洁功能)。1047个只含有一个分子(不含溶剂分子或共晶等)的分子是与相应的CIFs一起沉积在ChemSpider中的分子。
转化率最高的期刊是分子生物系统(57%),MedChemComm(51%),有机和生物分子化学新利手机客户端(44%)和绿色化学新利手机客户端(44%) -一般是关于小有机分子的期刊。
茱莉亚在全国晶体服务办公室在南安普顿大学,在西蒙·科尔斯教授的共同监督下,我们非常感谢他们对CIF文件格式细节的帮助和建议。

不成功的CIF到mol的转换

在如此庞大和多样的结构集上运行和评估OpenBabel,为我们提供了一个有用的机会来识别和分类所遇到的最常见问题。在这里,我们将分享这些并提供一些示例,这些示例将使您能够识别管道中的一些容易的修复程序,这些修复程序可能会使整个社区受益,并在这样做时用作测试用例。我们将报告这些错误OpenBabel论坛因为OpenBabel是开源的,所以希望通过与其他开发人员的合作,在未来至少解决其中的一些问题。

下面的OpenBabel bug看起来是最容易修复的:

细节
  • 类别:坏硝基
  • 频率:233
  • 描述:有不同的方式来表示硝基结构抽屉-OpenBabel目前是通过生产一个分子与五价氮。在ChemSpider中,我们选择使用电荷分离的硝基来避免这种情况。
  • 解决方案:允许OpenBabel有一个不同的输出选项供硝基输出,如修正的mol文件所示。

  • 类别:坏的
  • 频率:434
  • 描述:尽管OpenBabel运行了–unique选项(应该根据其inchis过滤掉重复的分子),但结果的mol文件中仍新利手机客户端然存在重复的分子(完全相同,包括立体化学)
  • 解决方案:使用–unique选项运行时修复OpenBabel,使其工作正常。

  • 类别:分子的BADI错配部分
  • 频率:724
  • 说明:部分分子缺失
  • 原因:OpenBabel不理解晶体对称性——只有CIF中明确列出位置的原子才包含在结果的mol文件中,而那些由对称性推断出来的原子则不包含。
  • 解决方案:让OpenBabel根据CIF文件中的对称性生成完整的分子,或者建议在OpenBabel之前运行一个脚本/程序,该脚本/程序可以处理CIF以生成另一个包含所有原子的CIF。

  • 类别:坏人部分占有
  • 频率:432
  • 描述:CIF文件中特定atom的多个站点的部分占用
  • 原因:在CIF文件中,有时多个站点的位置被指定为占用率小于1–OpenBabel无法识别这一点,并假设所有站点的占用率都是1,因此mol文件中存在一些原子或片段的重复。
  • 解决方案:在原子原子占有率小于1的情况下,将原子组合成相互替代的类型(通过类型、接近度和加起来占总占有率的1),并且只选择其中一个包含在最终的MOL文件中(即占有最高的占有率,或者如果两个具有相等的占有率)。0.5然后随机选择一个)。请注意,需要保持一致性,这样,如果例如a C被丢弃,那么所有具有部分占用的相邻H也将被丢弃,但是与C相连的那些被包括在内(如所附示例)。

许多问题都是由输入CIFs中的特性或错误引起的,但是这些问题总体上并没有被OpenBabel很好地处理(例如,而是在大多数情况下进入无限循环,程序挂起。因此,由于OpenBabel转换是更长的脚本的一部分,所以所有OpenBabel作业都必须使用一个任意的超时来运行,这样,如果在超时之后仍在运行,它们就会被杀死,这可能会丢弃一些有效但长时间运行的OpenBabel作业。我们将研究是否有一个可以在CIFs上自动执行的验证程序来过滤出有这些问题的验证程序(类似于该CCDC的EnCIFer但是,当OpenBabel遇到这些问题时,它可以很好地退出,这样就不需要预先验证,从而使OpenBabel更加可靠。这些问题列在下表:

细节
  • 类别:到岸价
  • 频率:378
  • 描述:cif不包含任何坐标
  • 原因:某些CIFs包含例如。粉末衍射细化数据,不含坐标。
  • 解决方案:OpenBabel已经发出一个错误:“CIF错误:没有找到atom!(在数据块:XXX中)“–如果发现此问题,只需中止程序(而不是尝试继续)。
  • 类别:CIF物流
  • 频率:85
  • 描述:cif未命中“loop_u”行
  • 解决方案:在尝试进行转换之前,请执行初始检查,确保预期位置至少有一个循环线。

  • 类别:CIF注释字段
  • 频率:36
  • 描述:如果CIF的注释部分中有一个CIF字段名,OpenBabel不会忽略它并进入一个infinte循环
  • 解决方案:确保OpenBabel忽略被注释掉的CIF字段名(在一对分号之间)是很简单的。

下面的OpenBabel bug是最常见的,但是很难修复。它们的问题是,CIF格式没有记录原子/离子的电荷或它们之间的bong类型,所以OpenBabel需要解决这些问题,这很难正确地做到。

细节
  • 类别:BAD_CHARGEMISSING
  • 频率:830
  • 描述:分子中的一个或多个离子在生成的mol文件中的电荷错误

  • 类别:不良协调
  • 频率:747
  • 描述:分子中的一个或多个原子或离子配位错误-在金属离子、硫、磷、硒和硼中观察到问题

  • 类别:BAD_BONDMISSING
  • 频率:587
  • 描述:分子中的一个或多个键顺序错误,例如。单键而不是双键。

  • 类别:不良债券
  • 频率:452
  • 说明:单键/双键顺序错误。

  • 类别:BAD_NOCOORDL
  • 频率:52
  • 描述:与配体没有配位。

  • 类别:坏消息
  • 频率:18
  • 描述:缺少氢。

还有一些问题摩尔文件生成,要么无法被OpenBabel固定(因为他们导致错误或限制输入的CIF文件不能固定回顾性)或太难以修复和/或太频繁发生是值得的:

    • 有237箱子那里有在CIF溶剂分子(其中有许多缺氢,分子或分子部分等的部分占据),其向杂散氧产生,分子的片段和原子团在所得摩尔文件 (see CIF:CCDC 213787和ChemSpider记录:68005706).这些案件148要么与丢失或脱离的氢原子只是水溶剂分子。中的溶剂分子的差定义为CIF文件从衍射的限制,因此不可能对OpenBabel,以更好地在从它们衍生的输出摩尔定义它们。然而,使用-r选项运行OpenBabel删除所有,但最大的连续片段是相当成功的,因此无需采取进一步的行动来处理这个问题,此选项将通过我们在未来可以用于去除这些有问题的溶剂分子。
    • 有81例的至少一个在所述原始CIF缺少氢(或3例,所有的氢丢失),那里有 - 见CCDC 259871.
    • 一些的CIF包含对应于连续的网络,而不是小分子的晶体结构(例如聚合物,MOFs材料,沸石,杂多酸),其不能有意义地在摩尔格式被捕获 - 见CCDC 206593.
    • 有其中在获得的摩尔文件中的立体化学定义错误数(24)的情况。新利手机客户端然而,由于对立体深受OpenBabel解释,这些情况相对较少新利手机客户端,这可能是不值得打乱苹果车调查这些进一步的 - 见CCDC 238611ChemSpider 9419187.

更多的六边形在平面上

作者Colin Batchelor。

最近我听说有人从约翰·奥格罗茨骑了1400公里到达终点,一路上都是逆风,因为从地图上看好像是下坡,所以比较容易。我很感激尼尔Swainston)。

你可能认为页面上的“down”在3D空间中不太可能是“down”,但有一个有趣的例外,至少对于“down”的某些解释是这样的。

前一段时间我给了谢菲尔德演讲的预告片,现在已经在网上了这里这里.这次演讲的数学核心是在小分子中重新绘制糖环,以便它们能被化学信息系统正确索引。这个难题展示了六边形的分类,所以我们可以知道该应用哪些规则。

六边形的事实证明,我们看到大部分在实践中,这是六边形的椅子上,霍沃思六边形,至少如果六角本身有其长轴大致水平在页面上,如果一个页面上的“向下”键点,当我们重绘的六角从“上面”,然后债券仍将向下冲债券需要重绘。同样,比照,指向“向上”的债券。

到目前为止,一切都很简单。有时任务真的比看起来容易。不过,还有两件事需要处理。一种方法很简单,涉及到在给定结构中绘制多少个stereobond的众所周知的规则(我以前也提到了这一点).另一个是整理分子,这样布局算法就不会破坏你所有的工作。这是一个有点棘手的问题,我需要多看看已经有什么工具来做这个。

平面上的六边形

作者Colin Batchelor。

我将在7月的谢菲尔德化学信息学第六届联合会议上发表演讲验证和一般分子结构的标准化和糖尤其是.这是一个品尝者。

特别是糖

化学结构算法的一个大问题是,一般来说,它们不能处理化学家习惯的画糖分子的方法。它们会失去糖环周围的立体化学结构,d -葡萄糖会坍新利手机客户端缩成l -葡萄糖,更不用提allose altrose gulose等等。

(我应该指出,ChemDraw可以很好地解释椅子音响,但它是个例外。)

确定一个椅形原子的正确立体化学的第一步是识别一个椅形六边形。新利手机客户端这就是本文的主题。

你曾经坐过和卫星导航一样的车吗(美国读者:这和GPS一样)?虽然人类航海家会给出一般的指令,比如“直走所有的环形路,直到我们到达红狮”,但卫星导航只会给出单一的、局部的指令。在环形交叉路口,从第三个出口出去。“100米后左转。”” Machine structure perception is rather like this.这个算法需要一个原子一个原子地,一个键一个键地,绕过这个结构,而不是像你我一样,瞬间就能理解六边形是一把椅子还是一条船。

识别我们所处理的六边形类型的窍门是看在每个原子上是向左转还是向右转。如果我们一直沿着相同的方向转一圈,就得到了正六边形。如果我们向一个方向转一次,然后向另一个方向转两次,然后向第一个方向转一次,然后向另一个方向转两次,那么我们就有了一把椅子。你还可以画六种六边形,它们都在下面的相应的旋转序列旁边。

其中有些很熟悉,比如船,扭曲的船和信封。其他的,不那么。

六角形
当我们确定椅子上的原子后会发生什么?我很快会更详细地讨论这个问题,但同时这里是在新奥尔良举行的ACS春季会议的幻灯片:

楔子,大麻和一份杂烩

作者Colin Batchelor。

不(这不是一篇关于碳水化合物的文章,尽管标题是!)

不可靠的立体化学是一个长新利手机客户端期存在的问题。即使有人知道一个特定分子中所有的立体中心,他们也不一定能用机器,甚至人都能理解的方式画出来。关于键的尖端或钝端是否表示立体中心,有一些规则,令人惊讶的是,你经常会看到它们做错了。

今天我要谈的是IUPAC关于绘制立体中心的一个特别的建议,乍一看可能会让人惊讶,这个规则是在给定的立体中心上只能有一个立体键。如果你有一个楔形键连接到一个原子,你不能有一个哈希键连接到同一个原子。以及反之亦然.

为什么是这样?

您可能会认为,当您提供更多信息时,您使图表更易于解释。然而,你直接违背了正常的沟通原则。你的信息量超过了要求,这给读者敲响了警钟。你想说什么?如果你问过路人时间,他们说“嗯,现在是格林威治标准时间六点半”,你有权问他们为什么要引用时区。也许他们是想搞笑。

Paul Grice在20世纪70年代对这个问题进行了思考,提出了一套四条原则,概括在格言中,听众(或读者)认为演说者在遵循。它们是:

  • 是真实的。不要说你相信什么是假的。不要说对你缺乏足够的证据。

让我们希望这一个是隐含在任何化学绘图!

  • 作出需要您知识性贡献。不要让你的贡献比需要更多的信息。

如果一个原子上有两个甲基,不要做一个楔形和一个哈希。你没有添加新信息!

除非你的目标读者是小学生,否则不要用字母C标记碳粉。

  • 有关:

在大尺度上:不要用任何旧分子来说明文章,确保所提到的分子确实是相关的。

然而,在绘图本身的尺度上:例如,如果你有三个关于普通p-块原子的键,确保它们彼此成120度角。如果他们不是,例如,如果他们两个在直角,读者会推断出一些奇怪的事情正在发生。

  • 清楚:

确保你所有的双键看起来像双键,而不是一个平行于另一个单键的单键。我怀疑ChemDraw的成功很大程度上要归功于它能产生吸引人的、清晰的化学绘图。

人们是否曾经藐视故意的格言?

哦,是的。人们在试图搞笑时,或在政治采访中,常常藐视格言。类似地,在你在专利中看到的化学绘图中也有各种违反格里斯定律的情况:键并没有完全延伸到原子,R基团标记为Y(特别危险,因为Y是钇!)或Q或W(也是钨)或其他一些不寻常的字母等等。这一现象之所以在专利领域比在期刊文章中发生得更频繁,具体原因留给读者作为练习。

正确看待糖

作者Colin Batchelor。

你可能不这么认为,但你很擅长绘制二维图形,并将其转换为三维形状。不,真的,你是。

半乳糖透视

图。一半乳糖透视

拿图中加拉托斯的画。一即使你不是化学家,你也能分辨出环的哪一部分在前面和后面,哪一个键指向上,哪一个键指向下。如果你真的是一个化学家,你已经被训练运用这种几何直觉来计算出在五个立体中心中的每一个发生了什么。

然而,如果你问InChI算法关于这个分子的立体化学,它会说,那里没有立体化学,你在看一个无立体的描述,哪个原子与新利手机客户端哪个原子相连。由于我们使用InChI算法来判断两个记录是否描述了同一个分子,这使我们陷入了一个窘境,ChemSpider中有成千上万的条目来自这样一个图形,因此缺乏立体化学。新利手机客户端

(更多…)