USPTO-50k化学反应数据csv格式.zip

作品简介

数据文档

核心概念理解:

  • Reaction SMILES (反应SMILES串): 一种用文本表示化学反应的方式,通常格式为 Reactants>>Products。反应物和产物内部的分子用 . 分隔。
  • Atom Mapping (原子映射): 在反应SMILES中,用 :数字 标记原子,表示反应物中的某个原子在反应后变成了产物中的哪个原子。例如 [CH3:1][NH2:2]>>[CH3:1][NH3+:2] 表示甲基的碳原子1还是碳原子1,氮原子2还是氮原子2。准确的原子映射对于理解反应机理和训练模型至关重要。
  • Indigo Toolkit / NameRxn / IndigoAutoMapperKNIME: 这些都是化学信息学中用于处理化学结构、反应、进行原子映射的工具或算法的名称。

文件内容推测:

  1. dataSetA.csv
  • 第一行数据: 1 US07678803B2 [H-].[CH3:1]...>>...[Br:19] set([1, 3])
  • 推测列含义 (从左到右):
  1. ID (例如: 1): 可能是数据集中的一个唯一索引或行号。
  2. PatentID (例如: US07678803B2): 反应来源的美国专利号。
  3. ReactionSMILES_AtomMapped (例如: [H-].[CH3:1]...>>...[Br:19]): 这是一个带有原子映射的反应SMILES串。[CH3:1] 表示这个甲基碳原子被标记为1号原子。>> 左边是反应物,右边是产物。中间可能还有试剂(在 > 和 >> 之间,但这里没有显示)。
  4. ReactionClass (例如: set([1, 3])): 表示该反应的分类。set() 里的数字可能是反应类型的编码,具体含义需要参照 rxnClasses.pickle 文件。一个反应可能属于多个类别。
  • 用途: 这可能是数据集的主要部分之一,包含了核心的反应信息和分类。
  1. dataSetB.csv
  • 表头: rxn_Class patentID rxnSmiles_Mapping_NameRxn reactantSet_NameRxn NameRxn_Mapping_Complete rxnSmiles_Mapping_IndigoTK reactantSet_IndigoTK IndigoTK_Mapping_Complete rxnSmiles_IndigoAutoMapperKNIME reactantSet_IndigoAutoMapperKNIME IndigoAutoMapperKNIME_Mapping_Complete
  • 第一行数据 (对应表头): 6 US05849732 C.CCCCCC...>>...[OH:27] set([3, 4]) TRUE C(OC(...)...>[ClH:40] set([0, 2]) TRUE C.CCCCCC...>>...[ClH:47] set([3, 4]) TRUE
  • 推测列含义 (从左到右):
  • rxn_Class: 反应分类编码 (例如: 6),同样可能对应 rxnClasses.pickle。
  • patentID: 专利号 (例如: US05849732)。
  • rxnSmiles_Mapping_NameRxn: 由 "NameRxn" 工具生成的带有原子映射的反应SMILES。
  • reactantSet_NameRxn: 可能是 "NameRxn" 工具识别出的反应物集合的一些属性或分类 (例如: set([3, 4]))。注意,这里不是反应物的SMILES,而更像是对反应物组合的某种数字标签集合。
  • NameRxn_Mapping_Complete: 布尔值 (TRUE/FALSE),指示 "NameRxn" 的原子映射是否完整或成功。
  • rxnSmiles_Mapping_IndigoTK: 由 "Indigo Toolkit" 生成的带有原子映射的反应SMILES。
  • reactantSet_IndigoTK: 类似 reactantSet_NameRxn,但来自 "Indigo Toolkit" (例如: set([0, 2]))。
  • IndigoTK_Mapping_Complete: 布尔值,指示 "Indigo Toolkit" 的原子映射是否完整或成功。
  • rxnSmiles_IndigoAutoMapperKNIME: 由 "IndigoAutoMapperKNIME" (KNIME工作流中的Indigo自动映射工具) 生成的带有原子映射的反应SMILES。
  • reactantSet_IndigoAutoMapperKNIME: 类似地,来自 "IndigoAutoMapperKNIME" (例如: set([3, 4]))。
  • IndigoAutoMapperKNIME_Mapping_Complete: 布尔值,指示 "IndigoAutoMapperKNIME" 的原子映射是否完整或成功。
  • 用途: 这个文件似乎是用来比较不同原子映射工具(NameRxn, IndigoTK, IndigoAutoMapperKNIME)在同一批反应上的表现。它提供了每个工具生成的映射结果和映射完整性的标志。这对于评估原子映射算法的质量非常有用。
  1. incompleteIndigoMappings_dataSetB.csv
  • 表头 (推测): 文件名本身以及第一行数据 0 31 C=[C:2]... 暗示了其结构。
  • 第一行数据: 0 31 C=[C:2]1[C:3](=[CH2:4])[CH:5]2[O:6][CH:7]1[C:8](=[CH2:9])[C:10]2=[CH2:11].C=[CH:13][C:14]([CH3:15])=[O:16]>ClC(Cl)Cl.Oc1ccc(O)cc1.[Cl-].[Cl-].[Zn+2]>C1[CH2:2][C:3]2=[C:4](C[CH:13]1[C:14]([CH3:15])=[O:16])[CH:7]1[O:6][CH:5]2[C:10](=[CH2:11])[C:8]1=[CH2:9]
  • 推测列含义 (从左到右):
  1. Original_Index_in_dataSetB (例如: 0): 这可能是 dataSetB.csv 中原始行的索引(或者是这个不完整列表的内部索引,但第一种可能性更大)。
  2. idx_from_dataSetB (例如: 31): 这个 31 非常重要,它很可能对应 dataSetB.csv 中的某一行(可能是其自身的ID列,或者就是行号,如果 dataSetB.csv 有一个从0或1开始的ID列的话)。
  3. smiles (例如: C=[C:2]...): 这是一个反应SMILES。文件名 "incompleteIndigoMappings" 表明这是 Indigo 工具未能成功或完整地进行原子映射的反应。
  • 用途: 这个文件列出了 dataSetB 中那些 Indigo 工具未能很好处理的反应。
  1. incompleteIndigoMappings_dataSetB_results.csv
  • 第一行数据: 31 C=[C:2]1[CH:7]...=[O:16])[O:6]3
  • 推测列含义 (从左到右):
  1. idx_from_dataSetB (例如: 31): 这个 31 应该与 incompleteIndigoMappings_dataSetB.csv 中的 idx_from_dataSetB (即第二列) 以及 dataSetB.csv 中的某条记录对应。
  2. Corrected_or_Alternative_SMILES (例如: C=[C:2]1[CH:7]...): 这是针对 incompleteIndigoMappings_dataSetB.csv 中对应索引的反应的“结果”。这个结果可能是手动校正后的原子映射,或者是通过其他方法得到的更好的映射,或者是某个流程处理后的输出。
  • 用途: 这个文件提供了对 incompleteIndigoMappings_dataSetB.csv 中列出的“问题反应”的处理结果或修正后的版本。
  1. rxnClasses.pickle
  • 文件类型: .pickle 文件是 Python 用来序列化和反序列化 Python 对象结构的文件。
  • 推测内容: 根据文件名 rxnClasses 以及在 dataSetA.csv 和 dataSetB.csv 中看到的 set([1, 3]) 或 6 这样的反应类别编码,这个 pickle 文件几乎肯定包含了一个 Python 字典 (dict) 或类似的数据结构。这个结构会将数字编码映射到人类可读的反应类别名称。
  • 例如,它可能包含类似这样的内容:{1: "Heteroatom alkylation and arylation", 2: "Acylation and related processes", 3: "C-C bond formation", ...} 或者是一个类别列表,其中索引对应编码。
  • 用途: 用于查找 dataSetA.csv 和 dataSetB.csv 中反应类别编码的具体含义。你需要用 Python 的 pickle 模块来加载和查看它的内容。
import pickle

with open('rxnClasses.pickle', 'rb') as f:
    reaction_classes_map = pickle.load(f)
print(reaction_classes_map)

文件间关系总结:

  1. dataSetA.csv 和 dataSetB.csv 是主要的反应数据来源。dataSetA 可能是一个经过筛选或特定用途的子集,而 dataSetB 则包含了用不同工具进行原子映射的比较数据。
  2. rxnClasses.pickle 是一个辅助文件,用于解释 dataSetA.csv 和 dataSetB.csv 中的反应类别编码。
  3. incompleteIndigoMappings_dataSetB.csv 指出了 dataSetB.csv 中 Indigo 工具原子映射不佳的反应子集(通过 idx 列关联)。
  4. incompleteIndigoMappings_dataSetB_results.csv 提供了对 incompleteIndigoMappings_dataSetB.csv 中列出的这些问题反应的处理结果或修正(通过 idx 列关联)。


创作时间: