跳转到正文

DScribe

DScribe 是一个 Python 库,可将原子结构转换为数值描述符,用于机器学习、可视化和相似性分析,并支持批处理和原子位置导数。

条目更新 ·

概览

DScribe 为材料科学中的原子尺度工作流提供特征表示。它将原子结构转换为固定大小的数值指纹,可作为机器学习、可视化或相似性分析的输入。它的作用是生成描述符,而非提供属性预测模型:研究人员可以在单独的下游分析或学习工作流中使用生成的特征。

README 展示了使用 ASE 构造输入的示例,其中以 H2O、NO2 和 CO2 为例。先配置描述符对象,再将结构传递给其创建方法。CoulombMatrix 示例指定了最大原子数和一种排序选项,而 SOAP 示例定义了化学元素种类、截断距离和展开参数。输出可以是 NumPy 数组或稀疏数组。SOAP 计算可以针对选定的原子中心,包括从多个结构中选取的氧原子;批次也可以通过多个进程处理。

文档所述的描述符包括 Coulomb、Sine 和 Ewald 矩阵;原子中心对称函数(ACSF);原子位置平滑重叠(SOAP);多体张量表示(MBTR);局部多体张量表示(LMBTR);以及 Valle-Oganov 描述符。README 列出了上述八种描述符对原子位置导数的支持,并展示了同时返回 SOAP 导数和描述符的示例。来源摘录无法证明预测准确性、基准运行速度,也无法确定针对特定科学问题的最佳描述符设置。因此,描述符的选择与配置仍需针对预期用途,使用有代表性的结构进行评估;链接的文档提供了进一步教程和安装详情的入口。

主要功能

  • 从原子结构生成数值指纹,输出可以是 NumPy 数组或稀疏数组。
  • 实现八类描述符:Coulomb 矩阵、Sine 矩阵、Ewald 矩阵、ACSF、SOAP、MBTR、LMBTR 和 Valle-Oganov。
  • 支持在选定的原子中心计算 SOAP,包括为多个结构提供中心选择。
  • 为单个结构或批次生成描述符,并通过 n_jobs 控制多进程处理。
  • 提供关于原子位置的导数;SOAP 示例会同时返回导数和描述符。

使用场景

  • 预期评估:比较不同描述符系列,作为独立的分子或材料性质预测模型的输入特征。
  • 预期评估:为一组原子结构生成指纹,用于可视化或相似性分析。
  • 预期评估:检查多个结构中选定的、具有特定元素类型的原子中心的 SOAP 表示。
  • 预期评估:在需要关注原子位置变化敏感性的下游工作流中使用描述符导数。

使用方式

  1. 从官方文档入手,查找适用于你的结构的描述符和教程。应将 README 示例视为起点,而非已针对你的应用验证过的设置。
  2. 按照安装指南操作,并在 README 记载的 pip、conda 或源码安装方式中选择。所提供的软件包元数据声明 Python >=3.9;这是一个要求,并不能证明已经测试过兼容性。
  3. 查看仓库示例,了解基于 ASE 的结构准备方式。整理具有代表性的结构,并确定需要描述的原子中心(如有)。
  4. 配置描述符。对于 CoulombMatrix,检查最大原子数和置换设置;对于 SOAP,检查元素种类、截断距离和展开参数。先生成单个结构的输出,再处理批次。
  5. 评估批次创建、可选的多进程处理,以及需要时的原子位置导数。在将指纹用于预测、可视化或相似性分析之前,应使用自己的数据检查输出维度和下游适用性。

相关资源

ChemML

开源工具

ChemML 是一套用于化学与材料数据分析、挖掘和建模的 Python 工具,采用模块化设计,并有关于图神经网络、AutoML 和可解释性的工作记录。

开源Python

分子性质预测 · 材料发现

MEGNet

模型

MEGNet 是一个已弃用的 TensorFlow 图网络实现,包含预训练的分子和晶体性质模型、训练工具,以及可迁移的元素嵌入。

开源Python

分子性质预测 · 材料发现

ALIGNN

模型

ALIGNN 提供用于材料性质预测的原子图神经网络,并包含训练工作流、预训练预测器和用于结构优化的 ALIGNN-FF 力场。

开源Python

材料发现

Allegro

模型

Allegro 在 NequIP 框架中作为扩展实现 E(3)-等变原子间势,并提供文档说明的 GPU 加速选项,以及用于 LAMMPS 模拟的独立插件。

开源Python

计算化学 · 材料发现

computational-chemistry-agent-skills 集合中的 ASE 路由 Skill,将工作流准备与计算器配置分开,并将执行委托给其他环节。

计算化学 · 材料发现

CGCNN

模型

CGCNN 实现了晶体图卷积神经网络,可根据晶体结构学习材料性质,并支持使用自定义数据训练模型以及使用预训练模型进行预测。

开源Python

材料发现

相关指南

模型

QM9 分子性质预测:如何正确评估

明确 QM9 目标和单位,区分分子图与几何输入,防止评估泄漏,并保留原始数据与处理过程的来源记录。