当前位置: 首页 > java >正文

facebook的Open Molecules 2025 (OMol25) 数据集、评估与模型开源速读

Open Molecules 2025 (OMol25) 数据集、评估与模型
一、引言
Open Molecules 2025(OMol25)代表着目前最大规模的高质量分子密度泛函理论(DFT)数据集。该数据集涵盖了生物分子、金属复合物、电解质以及社区数据集等多个领域。OMol25数据集是在ω B97M-V/def2-TZVPD理论水平下生成的,为分子科学研究提供了宝贵的资源。详细信息可在相关arxiv论文中查阅。
二、数据集详情
OMol25数据集提供了训练和验证的分割版本,数据文件以ase-db LMDBDatabase对象形式编写。数据集规模庞大,包含超过1亿个分子结构,存储容量高达456GB。数据集分为中性分子和带电分子部分,验证集规模相对较小,便于模型验证。
数据集采用CC-BY-4.0许可协议,允许在遵守协议的前提下自由使用。
三、数据读取方法
研究者可通过fairchem库访问OMol25数据集。安装fairchem库的命令如下:

pip install git+https://github.com/facebookresearch/fairchem.git@fairchem_core-2.0.0#subdirectory=fairchem

读取数据集的示例代码:

from fairchem.core.datasets import AseDBDataset
dataset_path = "/path/to/omol/dir/train_4M"
dataset = AseDBDataset({"src": dataset_path})
atoms = dataset.get_atoms(0)  # 通过索引获取原子对象

四、数据属性
每个分子结构包含DFT总能量(eV)和力(eV/Å)标签。此外,atoms.info还包含其他重要属性和元数据,包括:

数据源和内部标识符
分子电荷、自旋状态
原子数量、电子数量
HOMO能量、HOMO-LUMO间隙
Mulliken、Lowdin、NBO电荷分布
分子组成等信息

五、基线模型
研究者提供了在完整OMol25数据集上训练的基线模型检查点,包括不同配置的eSEN模型:

eSEN-sm-direct
eSEN-sm-conserving
eSEN-md-direct
eSEN-lg-direct(即将推出)

模型检查点采用FAIR Chemistry许可协议,可通过fairchem仓库中的自定义ASEcalculator便捷使用。
六、模型应用示例
以下为使用模型进行分子动力学模拟的示例代码:

from ase import units
from ase.io import Trajectory
from ase.md.langevin import Langevin
from ase.build import molecule
from fairchem.core import FAIRChemCalculatorcalc = FAIRChemCalculator(checkpoint_path="/path/to/esen_sm_conserving_all.pt", device="cuda")
atoms = molecule("H2O")
atoms.calc = calcdyn = Langevin(atoms,timestep=0.1 * units.fs,temperature_K=400,friction=0.001 / units.fs,
)
trajectory = Trajectory("my_md.traj", "w", atoms)
dyn.attach(trajectory.write, interval=1)
dyn.run(steps=1000)

七、支持与资源

研究者可在以下平台寻求支持或反馈问题:

  • Hugging Face Discussions

  • GitHub Issues

fairchem仓库还提供了额外的教程和文档资源,帮助用户更好地利用OMol25数据集和模型。

核心技术汇总

在这里插入图片描述

http://www.xdnf.cn/news/6968.html

相关文章:

  • Mysql数据库之集群进阶
  • 从ThreadLocal到Scoped Values:Java高效数据共享机制的革命性演进
  • 代码随想录算法训练营第四十二四十三天
  • (保姆级)Win10 安装Oracle Developer Suite教程
  • OpenCV 特征检测全面解析与实战应用
  • C++学习:六个月从基础到就业——C++11/14:auto类型推导
  • 解读 TypeScript 枚举Enum
  • 深入理解 Java 字节码操作码
  • 数据存储与容灾:构建企业级数据安全的全栈解决方案
  • Springboot构建项目时lombok不生效
  • 【鸿蒙开发避坑】使用全局状态变量控制动画时,动画异常甚至动画方向与预期相反的原因分析以及解决方案
  • 新的节能技术和一体化解决方案,推动工厂智能升级和产业转型
  • BG开发者日志517:demo数据分析与修改方向
  • 【SpringBoot】关于MP使用中配置了数据库表前缀的问题
  • C++类与对象--2 对象的初始化和清理
  • 英汉 “语言” 初印象:符号背后的文化底色​
  • Java中调用外部命令:Runtime.exec() vs ProcessBuilder
  • 【基于栈的 Vue3 路由历史管理:优雅处理多系统间的导航】
  • 磁盘I/O子系统
  • 【VSCode】快捷键合集(持续更新~)
  • GJOI 5.15 题解
  • FTP与NFS服务实战:从配置到应用
  • 考公知识总结
  • 怎么用Origin画出MATLAB效果的3D时频图
  • [ctfshow web入门] web77
  • Python基于Django的校园招聘系统【附源码、文档说明】
  • 寻找树的中心(重心)
  • Mysql 索引概述
  • 通过多线程同时获取H264和H265码流
  • 本地缓存更新方案探索