MOLASTRIA · CODE DESK
开源代码台Code Desk
计算化学的开源代码,从“找到”到“跑起来”:给一个分子写好各个程序的输入,读懂算完的输出,查清一个软件能不能放心用,再到全世界的公开代码里找实现。全部在你的浏览器里完成,输入的分子和输出不会上传。
分子
在你的浏览器里搭几个构象、补齐氢,用 MMFF94 力场各自优化,按力场能量排好,填进下面的坐标框。第一次要从 jsDelivr 下载约 2.5 MB 的 OpenChemLib。力场结构只是起点,正式计算前请先用 xTB 或 DFT 优化。
运行:
程序输出
把输出文件贴进来,或者选一个文件。认得 xTB、ORCA、Psi4、Gaussian、PySCF、NWChem、CP2K 和 Q-Chem;只在浏览器里读,不上传。除了能量和收敛,还读出每一步的结构(xTB、ORCA、Psi4、Gaussian、NWChem、Q-Chem):可以 3D 查看优化轨迹、下载 XYZ,或者把最后的结构送回“写输入”。
读到的结果
还没有输出。
两个能量相减
思路借鉴开源的 cclib (BSD-3,Python 库,能读十几种程序),这里的读法是为网页另写的、只取最常用的几项;每一步的结构和 SCF 能量对照 cclib 读同一批真实输出的结果核对过。要做批量分析,请直接用 cclib。NWChem(7.2.2)和 CP2K(2026.2)的读法用本页生成的输入真跑出来的输出核对过,Q-Chem 的用 cclib 收的 Q-Chem 5.4 和 6.0 真实输出核对。CP2K 默认输出里没有 HOMO–LUMO 能隙,这一项不读。
分子列表
一行一个分子:先写 SMILES,空一格再写名字(可以不写)。最多 200 个,在你的浏览器里用 RDKit 算,不上传。
描述符、子结构匹配和 Morgan 指纹(半径 2,2048 位)都由 RDKit.js (BSD-3)在浏览器里算,第一次要从 jsDelivr 下载约 7 MB。cLogP 是 Crippen 的原子贡献法估算,不是实验值。
一个分子
算完后点表格里的一行,这里显示它的结构、InChI 和全部描述符。
描述符表
同一张表的 RDKit Python 脚本(pip install rdkit pandas):适合几千个分子的批量计算或接进自己的流程。
| 还没有计算。 |
Lipinski 五规则:分子量 ≤ 500、cLogP ≤ 5、氢键供体 ≤ 5、受体 ≤ 10,最多违反一条算通过(Lipinski 2001);Veber 规则:可旋转键 ≤ 10 且 TPSA ≤ 140 Ų(Veber 2002)。两条都是口服药的经验规则,不适用于天然产物、抗生素和许多新药类型。
按结构搜 PubChem
画一个结构或写一个 SMILES,在 PubChem 的一亿多个化合物里找相似的、含有这个子结构的,或者就是它本身。浏览器直接问 PubChem,不经过本站;本站只把结果整理成表,再用 RDKit 算一遍相似度。
| 还没有搜索。 |
“相似结构”按 PubChem 自己的 881 位二维指纹(PubChem fingerprint)的 Tanimoto 筛选,PubChem 不返回具体分数;表里的“Morgan 相似度”是 RDKit 在你的浏览器里用 Morgan 指纹(半径 2,2048 位)重算的,表格按它从高到低排。两种指纹看的东西不一样,过了 PubChem 的下限、Morgan 值却不高是正常的。“含有这个子结构”最多列 20 个,PubChem 不保证是哪 20 个。
查一个软件
数据来自 PyPI、OSV 、Software Heritage 和 GitHub 的公开接口,由你的浏览器直接去问;哪一家没回答,就只显示链接。许可证的结论是给 MolAstria(MIT 许可、有 Pro 收费)这样的项目的一般性说明,不是法律意见。
许可证速查
“公开可见”不等于“随便用”。下表是各类许可证在五种用法下的一般结论:可以、有条件、不行。
在公开代码里找实现
研究一个开源项目时看什么
- 别只看 README:还要看核心实现、测试(数值有没有对照)、示例能不能跑,以及文档里的理论和参数说明。
- 记下确切的版本:标签或提交哈希,最好再加 Zenodo DOI 或 Software Heritage 的 SWHID;不要只记一个会变的 main 分支链接。
- 读一读 LICENSE 和 CITATION.cff:模型权重和数据集常有自己的许可证。
- 从软件包反查源码:PyPI、conda-forge 的页面上都有“源代码”链接。
- 从论文反查代码:论文的“代码可用性”一节、补充材料和作者主页。