Token导航 LogoToken导航TokenDH.com
待分类需要联网github未标认证来源可访问许可证需确认审计提醒

pdf-dft-extractorPDF DFT extractor 命令行

Agent Skill

pdf-dft-extractor 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

233

周安装

10

GitHub Stars

44

下载量

82
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:pdf-dft-extractor(PDF DFT extractor 命令行)
来源仓库:https://github.com/internscience/chemclaw
仓库路径:skills/pdf-dft-extractor
安装命令:
npx skills add https://github.com/internscience/chemclaw --skill pdf-dft-extractor
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/internscience/chemclaw --skill pdf-dft-extractor

简介

pdf-dft-extractor 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息。

  • 适合在 Codex、Claude、Cursor、Gemini CLI 中围绕仓库状态、代码变更或协作事项进行整理。
  • 通过 npx skills add 命令从指定仓库安装,需结合 README 核验具体用法。
  • 安装前建议确认权限范围、维护状态及是否会触发联网或文件读写操作。
  • 当前分类为待分类,暂无更多功能说明。

SKILL.md

PDF DFT Extractor | DFT坐标提取器

Extract DFT calculation coordinates from PDF files (especially supplementary materials) and generate Gaussian input files (.gjf). Supports batch processing with separate output folders for each PDF. 从PDF文件(特别是论文支撑材料)中提取DFT计算坐标,生成Gaussian输入文件(gjf)。支持批量处理,每个PDF文件单独生成一个输出文件夹。

功能特性

  • 📄 PDF转Markdown: 使用MinerU API将PDF转换为结构化Markdown
  • 🧮 自动提取DFT坐标: 从计算化学部分自动识别和提取分子坐标
  • 📁 批量处理: 支持同时处理多个PDF文件
  • 📂 独立输出: 每个PDF文件生成单独的输出文件夹
  • ⚙️ 可配置参数: 支持自定义CPU核数、内存、计算方法等

快速开始

命令行使用

# 单个PDF文件
python extract_dft.py paper.pdf

# 批量处理整个目录
python extract_dft.py ./pdfs/

# 指定输出目录和计算参数
python extract_dft.py ./pdfs/ -o ./output/ --cpu 64 --mem 128GB

Python API使用

from extract_dft import process_pdf, batch_process

# 处理单个PDF
result = process_pdf(
    pdf_path="paper.pdf",
    output_dir="./output/paper1",
    cpu=64,
    mem="128GB",
    method="B3PW91/def2TZVP em=d3bj"
)

# 批量处理
results = batch_process(
    pdf_dir="./pdfs/",
    output_base_dir="./output",
    cpu=64,
    mem="128GB"
)

参数说明

参数默认值说明
-o, --output./dft_output输出目录
--cpu64CPU核数
--mem128GB内存
--methodB3PW91/def2TZVP em=d3bj计算方法和色散校正
--solventSMD(toluene)溶剂模型
--charge0电荷
--multiplicity1自旋多重度
--keywordsopt freq计算关键词
--keep-tempFalse保留临时文件

关于Gaussian计算方法的写法

在Gaussian中,色散校正需要单独使用em=关键词指定,不要写成B3PW91-D3(BJ)的形式。

✅ 正确写法:

# B3PW91/def2TZVP em=d3bj opt freq

❌ 错误写法:

# B3PW91-D3(BJ)/def2TZVP opt freq   ← 这种写法Gaussian不识别

常用色散校正关键词:

色散校正关键词
D3 with Becke-Johnson dampingem=d3bj
D3 with zero dampingem=d3 or em=gd3
D3(BJ) for DFT-D3em=d3bj
Grimme's GD3em=gd3
GD3BJem=gd3bj

示例对比:

# B3PW91 with D3BJ
--method "B3PW91/def2TZVP em=d3bj"

# B3LYP with GD3
--method "B3LYP/6-31G(d) em=gd3"

# PBE0 with D3BJ
--method "PBE1PBE/def2TZVP em=d3bj"

# ωB97X-D (已内置色散,无需额外添加)
--method "wB97XD/def2TZVP"

输出目录结构

output/
├── paper1/                        # 每个PDF一个独立文件夹
│   ├── README.txt                 # 文件说明和统计
│   ├── 01_molecule_b3pw91.gjf    # 生成的gjf文件
│   ├── 02_molecule_b3pw91.gjf
│   └── ...
├── paper2/
│   ├── README.txt
│   └── ...
└── ...

生成的gjf文件格式

%chk=molecule.chk
%mem=128GB
%nprocshared=64
# B3PW91/def2TZVP em=d3bj nosymm int=ultrafine SMD(toluene) opt freq

molecule_name

0 1
C      -1.46713000   0.31261700   0.00075400
H      -1.10131700   0.82908900  -0.88608000
...

注意: 色散校正em=d3bj是单独的关键词,不是方法名的一部分。这是Gaussian的标准写法。

完整示例

示例1: 处理单个PDF

python extract_dft.py 41557_2026_2096_MOESM1_ESM.pdf \
    -o ./output \
    --cpu 64 \
    --mem 128GB \
    --method "B3PW91/def2TZVP em=d3bj" \
    --solvent "SMD(toluene)"

生成的关键词行:

# B3PW91/def2TZVP em=d3bj nosymm int=ultrafine SMD(toluene) opt freq

注意: em=d3bj是独立的Gaussian关键词,用于启用Grimme的D3色散校正(Becke-Johnson阻尼),不是方法名的一部分。

输出:

./output/
├── README.txt
├── 01_trifluoroethane_b3pw91.gjf
├── 02_khmds_dimer_b3pw91.gjf
├── 03_khmds_monomer_b3pw91.gjf
└── ... (174个gjf文件)

示例2: 批量处理多个PDF

# 将多个PDF放入一个目录
mkdir -p ./papers
cp paper1.pdf paper2.pdf paper3.pdf ./papers/

# 批量处理
python extract_dft.py ./papers/ -o ./all_outputs

输出:

./all_outputs/
├── paper1/
│   ├── README.txt
│   └── *.gjf
├── paper2/
│   ├── README.txt
│   └── *.gjf
└── paper3/
    ├── README.txt
    └── *.gjf

示例3: 不同DFT方法的写法

# B3PW91 with D3BJ (最常用的色散校正DFT)
python extract_dft.py paper.pdf --method "B3PW91/def2TZVP em=d3bj"

# B3LYP with GD3
python extract_dft.py paper.pdf --method "B3LYP/6-31G(d) em=gd3"

# PBE0 with D3BJ
python extract_dft.py paper.pdf --method "PBE1PBE/def2TZVP em=d3bj"

# ωB97X-D (长程校正泛函,已内置色散)
python extract_dft.py paper.pdf --method "wB97XD/def2TZVP"

# M06-2X (Minnesota泛函,已内置色散)
python extract_dft.py paper.pdf --method "M062X/def2TZVP"

# TPSSh with D3BJ (meta-GGA)
python extract_dft.py paper.pdf --method "TPSSh/def2TZVP em=d3bj"

示例4: Python API调用

from extract_dft import process_pdf

# 自定义所有参数
result = process_pdf(
    pdf_path="supplementary_material.pdf",
    output_dir="./my_output",
    cpu=32,
    mem="64GB",
    method="B3LYP/6-31G(d) em=gd3",
    solvent="SMD(water)",
    charge=0,
    multiplicity=1,
    keywords="opt freq scrf"
)

if result["success"]:
    print(f"提取了 {result['molecule_count']} 个分子")
    print(f"输出目录: {result['output_dir']}")
else:
    print(f"错误: {result['error']}")

支持的计算方法

脚本会自动识别PDF中使用的计算方法,包括但不限于:

  • B3PW91, B3LYP, PBE0, ωB97X-D, M06-2X, M06-L, BP86
  • 支持各种色散校正 (D3, D3BJ, GD3, etc.)

重要: 在Gaussian输入文件中,色散校正必须通过独立的em=关键词指定,而不是作为方法名的一部分。

原文中的写法Gaussian正确写法
B3PW91-D3(BJ)B3PW91/def2TZVP em=d3bj
B3LYP-D3B3LYP/6-31G(d) em=gd3
PBE0-D3BJPBE1PBE/def2TZVP em=d3bj
ωB97X-DwB97XD/def2TZVP (已内置色散)
M06-2XM062X/def2TZVP (已内置色散)

依赖要求

  • Python 3.8+
  • MinerU PDF Converter (会自动调用)

注意事项

  1. 大文件处理: 超过600页的PDF会自动分批处理
  2. 每日限制: MinerU API每日免费额度2000页
  3. 网络要求: 需要联网调用MinerU API
  4. 文件名过滤: 会自动过滤掉包含HTML标签或非法字符的分子名称
  5. 坐标验证: 会自动过滤原子数超过10000的异常结构

故障排除

问题: 未找到分子坐标

  • 确保PDF中包含"Computed coordinates"或类似的坐标部分
  • 检查PDF是否为扫描版(需要可搜索的文本)

问题: MinerU API调用失败

  • 检查网络连接
  • 可能是API限额已满,请等待或联系管理员

问题: 生成的gjf文件不完整

  • 使用 --keep-temp 参数保留临时文件进行调试
  • 检查PDF中的坐标表格格式是否标准

相关SKILL

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

34.48%
按下载量换算28

Claude

29.94%
按下载量换算25

Cursor

19.7%
按下载量换算16

Gemini CLI

9.51%
按下载量换算8

安全审计

Gen Agent Trust Hub

通过

Socket

可疑

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills