DAT
DAT Volume 文件格式详解 —— 兼容 gnuplot dat 的文本型体积数据格式,可直接被 MolStar 读取并渲染为三维标量场 / 等值面。
概述
DAT(也称 gnuplot .dat)是一种纯文本的体积数据存储格式,广泛用于:
- 自由能面(FES) 数据
- 分子动力学 密度场
- 电子密度 / 静电势 格点数据
- 任何以
(x, y, z) → 标量值形式组织的三维标量场
其特点是:
- ✅ 人类可读,可直接用文本编辑器打开
- ✅ 格式极简,易于程序生成
- ✅ MolStar 原生支持,无需转换即可可视化
- ✅ 兼容 gnuplot,方便绘制二维切片 / 等高线图
文件结构
一个 DAT 文件由 两大部分 组成:
┌─────────────────────────────────────────────┐
│ 第 1 行:#! 魔数行(可附带 FIELDS 说明) │
├─────────────────────────────────────────────┤
│ 第 2 行起:x y z value (空格 / Tab 分隔)│
│ ... │
│ ...(每行一个格点) │
└─────────────────────────────────────────────┘结构示意
text
#! FIELDS x(Å) y(Å) z(Å) fes(kJ/mol) ← 第 1 行:魔数 + 可选字段说明
34.2033 22.2959 23.0983 450 ← 第 2 行起:每行一个格点
34.2033 22.2959 24.0498 450
34.2033 22.2959 25.0012 450
...
67.7498 57.3589 70.6716 450 ← 最后一个格点字段详解
第 1 行:魔数行
| 字段 | 说明 |
|---|---|
#! | 必须以 #! 开头,MolStar 据此识别 DAT 格式 |
| 后续内容 | 任意文本,通常用 FIELDS 注明各列含义与单位 |
示例:
text
#! FIELDS x(Å) y(Å) z(Å) fes(kJ/mol)💡 即使不写
FIELDS,只要首行以#!开头即可被识别。
数据行:x y z value
| 列 | 名称 | 说明 | 单位 |
|---|---|---|---|
| 第 1 列 | x | X 坐标 | Å(埃) |
| 第 2 列 | y | Y 坐标 | Å(埃) |
| 第 3 列 | z | Z 坐标 | Å(埃) |
| 第 4 列 | value | 标量值(密度 / 能量 / 电势等) | 任意,由 FIELDS 注明 |
数据行变体:x y z zlow zhigh
某些情况下,第 4、5 列表示 误差范围 / 置信区间:
text
x y z zlow zhigh| 列 | 名称 | 说明 |
|---|---|---|
| 第 4 列 | zlow | 标量下界 |
| 第 5 列 | zhigh | 标量上界 |
⚠️ MolStar 主要使用 4 列格式(
x y z value),5 列格式视具体版本支持情况而定。
完整文件示例
以下是一段 自由能面(FES) 数据的 DAT 文件:
text
#! FIELDS x(Å) y(Å) z(Å) fes(kJ/mol)
34.2033 22.2959 23.0983 450
34.2033 22.2959 24.0498 450
34.2033 22.2959 25.0012 450
34.2033 22.2959 25.9527 450
34.2033 22.2959 26.9042 450
34.2033 22.2959 27.8556 450
34.2033 22.2959 28.8071 450
34.2033 22.2959 29.7586 450
34.2033 22.2959 30.7100 450
......
67.7498 57.3589 66.8657 450
67.7498 57.3589 67.8172 450
67.7498 57.3589 68.7687 450
67.7498 57.3589 69.7201 450
67.7499 57.3589 70.6716 450解读:
- 共 N 个格点,每个格点记录空间位置
(x, y, z)和对应的自由能值fes - 坐标范围约
x: 34~68 Å、y: 22~57 Å、z: 23~71 Å - 所有格点的 FES 值均为
450 kJ/mol(示例为平坦势能面)
格式速查表
| 属性 | 值 |
|---|---|
| 文件类型 | 纯文本 |
| 魔数 | #!(首行必须) |
| 分隔符 | 空格 / Tab |
| 坐标单位 | Å(埃) |
| 数据布局 | 每行一个格点,无固定列数限制 |
| 注释行 | 首行 #! 为魔数;数据区 # 开头行会被跳过 |
| 典型用途 | FES 自由能面、电子密度、静电势、MD 密度场 |
| MolStar 支持 | ✅ 原生读取 |
| gnuplot 兼容 | ✅ 可直接 splot "file.dat" with pm3d |
注意事项
首行必须以
#!开头 这是 MolStar 识别 DAT 格式的关键标志,缺少会导致加载失败。
坐标单位默认为 Å 如果你使用其他单位(如 nm),请在
FIELDS中注明,并在 MolStar 中手动缩放。
数据量不宜过大 纯文本格式的空间效率较低,建议格点数控制在 10⁶ 以内。超大规模数据建议使用 CUBE 或 MRC 格式。
列之间用空格或 Tab 分隔 不要使用逗号(CSV 风格),否则解析会出错。
避免空行 数据区中的空行可能导致某些解析器提前终止读取。
相关资源
- MolStar Viewer — 在线可视化工具