用途:该技能用 3Dmol.js(WebGL 分子查看器)生成自包含 HTML,在浏览器中渲染分子结构、轨迹或振动模式,无需服务器、构建步骤或 Python 运行时即可查看。
主要能力:支持 xyz、pdb、sdf、mol2、cube、cif 等格式;提供 stick、sphere、line、cross、cartoon 等样式与按元素/链/残基着色;可加载多帧轨迹并用 addModelsAsFrames 播放;对带 dx/dy/dz 位移向量的模型用 model.vibrate 生成振动动画;支持 addSurface 分子表面与 addVolumetricData 轨道/电子密度等值面;可添加标签,并可用滑块绑定 interval 控制播放速度。
使用方式:随附 scripts/mol_viewer.py(仅用 Python 3 标准库),需先用文件工具将其读取并保存到工作目录再运行。示例:python3 mol_viewer.py ts_imaginary_mode_000.trj --mode trajectory --title "TS mode" --subtitle "-621.8 cm-1" --out ts_mode.html;静态结构:python3 mol_viewer.py mol.xyz --out mol.html。也可手写 HTML,加载 https://3Dmol.org/build/3Dmol-min.js,用 $3Dmol.createViewer 创建查看器,addModel 加载坐标字符串,setStyle 设样式,zoomTo 后 render。
适用场景:过渡态虚频振动模式动画、反应路径(IRC/NEB)或 MD 轨迹回放、蛋白-配体对接构象展示、Gaussian cube 轨道/密度等值面显示,以及交付单个可在任意浏览器打开的 HTML 文件。
限制:页面从 CDN 加载 3Dmol.js,打开时需联网,严格 CSP 环境可能显示空白;坐标须以字符串(建议 json.dumps 编码)嵌入而非 URL;动画速度用 interval(毫秒)控制,不要用 step;大轨迹(超过 500 帧或 5000 原子)建议抽帧;XYZ 无连接信息时用 stick/sphere 由距离推断键。Jupyter 内联查看可改用 py3Dmol,出版级静态图或重度结构编辑建议用 PyMOL/ChimeraX。