|
|
本帖最后由 wxyhgk 于 2025-1-18 16:57 编辑
说明:
系统:Ubuntu 22.04
CPU:AMD EPYC 7k62
声明:文章由 ChatGPT+Claude+Notion AI 辅助完成
0. 说明
我们先来看这样的一个场景:
假设我们用 Gaussian 这个计算化学软件来运行某个任务,计算完成后,我们需要对输出文件进行数据的提取,然后保存分析。
问题在于,如果运行了很多任务,那么短时间内你可能还记得数据的含义,但时间一长,你可能就不记得当时做了什么计算、为什么要做这些计算。而且这些数据后期也不好查询。
有些时候我们需要对计算任务有个整体把控,比如知道多少个原子的分子进行什么任务需要多长时间,内存消耗是多少,这样心里才有底。
原则上,我们可以手动复制粘贴到 Excel 进行数据保存和分析,这是个不错的方法。但问题在于手动复制粘贴太麻烦了,一旦任务多起来就很容易出错,也很耗时间。
现在我们有个更好的解决方案:
通过 Notion API 把计算数据自动保存到 Notion 数据库里。这样不仅省去了手动复制粘贴的麻烦,数据的备份和查找也变得特别方便。
比如我们想查之前某个分子的计算结果,或者想看看不同大小的分子计算耗时情况,在Notion里搜索一下就能找到。需要的时候还能直接导出成 Excel ,这样管理计算数据就轻松多了。
现在 Notion AI(需要氪金每个月 5 美元) 集成了 RAG 技术,可以直接问 ai 搜到已经计算的数据,如图
目前是一个比较粗糙的版本,很多我自己想搞的功能,我都还没放上去,只能一点点开发。
为了方便数据提取,目前是会提取下面的所有的数据
整个项目的文件说明如下,这个是早期版本,后面会修改
| 文件名 | 描述 | |
| | .env | 包含 Notion API 的 token 和 DataBase 的 id | |
| | cclib_data.py | | | | get_electronic_structure_and_properties.py | | get_energies_and_thermodynamics.py | | get_optimization_and_dynamics.py | | get_spectra_and_transitions.py | | | | | | | 从cclib 上面的提取部分获取数据导出为 md 文件 | |
| | notion_begin_status.py | | | | | | | | | | |
| | md2notion.py | |
目前实现的效果:
数据库会保存当前计算状态、计算文件夹位置、计算开始日期,以及每个计算任务及其子任务的开始时间和数据提取结果
1. 准备工作
1.1 Notion API 的获取
到这个网站
https://www.notion.so/profile/integrations
新建一个 integrations
然后
配置相关的设置
然后按照我下面的操作
会得到类似于这种 :ntn_3068615*****qYJnVTX0vd18gkUZOCTEvDcuU1KG
保存这个 api token 后面我们要用
1.2 复制数据库 id
打开我这个链接
https://www.notion.so/Notion-API ... fa4e7ba168be?pvs=21
保存数据库后,然后获取database key
然后得到下面 database id
记住这个 database id,后面要用
1.3 数据库链接 api
然后还需要链接我们 1.1 中建立的 integrations
上面图中 ③ 中的名字是 1.1 步骤中的这个地方名字,下面的 ①
1.4 服务器设置
首先确认你的服务器的 Python 版本是 Python 3.7 以上
安装 cclib Python 包
1.5 SLUM 安装
可以看我这个博客
https://wxyhgk.com/article/ubuntu-slurm
3. 运行任务
3.1 移动文件到服务器
文件下载
https://pan.wxyhgk.com/d/local/tmp/Calc2Noiton.7z
Calc2Noiton.7z
(8.47 KB, 下载次数 Times of downloads: 6)
|
评分 Rate
-
查看全部评分 View all ratings
|