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