소스 정보
- 저장소
- InternScience/ChemClaw
- 최근 소스 활동
- 2026년 3월 27일 02:05
- 감지된 SKILL.md 언어
- 중국어
- 스타
- 52
- 포크
- 11
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/InternScience/ChemClaw --skill pka-predictor명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | pka_predictor |
| description | 预测小分子的 pKa,支持 custom 启发式后端和 Uni-pKa 单文件权重后端(Bohrium notebook 路线)。 |
| trigger | ["pKa","酸度常数","电离常数","acidic pKa","basic pKa","macro pKa","microstate","protonation","deprotonation","质子化","去质子化"] |
预测小分子的 pKa,支持两类后端:
cd skills/pka-predictor
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
使用 Hugging Face CLI(推荐):
# 安装 huggingface_hub(如果尚未安装)
pip install huggingface_hub
# 下载模型权重文件
mkdir -p skills/pka-predictor/assets/Uni-pKa/uni-pka-ckpt_v2
hf download Lai-ao/uni-pka-ckpt_v2 t_dwar_v_novartis_a_b.pt \
--repo-type model \
--local-dir skills/pka-predictor/assets/Uni-pKa/uni-pka-ckpt_v2
# 下载模板文件(如果本地没有)
hf download Lai-ao/uni-pka-ckpt_v2 smarts_pattern.tsv \
--repo-type model \
--local-dir skills/pka-predictor/assets/Uni-pKa/uni-pka-ckpt_v2
hf download Lai-ao/uni-pka-ckpt_v2 simple_smarts_pattern.tsv \
--repo-type model \
--local-dir skills/pka-predictor/assets/Uni-pKa/uni-pka-ckpt_v2
或手动下载:
访问 https://huggingface.co/Lai-ao/uni-pka-ckpt_v2 下载以下文件到 assets/Uni-pKa/uni-pka-ckpt_v2/ 目录:
t_dwar_v_novartis_a_b.pt(~571MB,模型权重)smarts_pattern.tsv(SMARTS 模板)simple_smarts_pattern.tsv(简化 SMARTS 模板)# 测试 custom 后端
./scripts/run_with_venv.sh --smiles "CC(=O)O" --name "乙酸" --backend custom
# 测试 unipka 后端
./scripts/run_with_venv.sh --smiles "CC(=O)O" --name "乙酸" --backend unipka --cpu
当用户有以下需求时适合调用:
.smi / .txt / .csv / .json)适合本地快速使用,不依赖 Uni-pKa 环境。
输出主要是启发式 strongest acidic/basic pKa。
基于 Bohrium notebook 单权重流程,而不是 GitHub 仓库中 infer_pka.sh 的 5-fold 推理流程。
它的基本逻辑是:
因此,unipka 输出中最重要的是:
dominant_neutral_to_anion_pkadominant_cation_to_neutral_pkaall_predictions(每一步 from_charge -> to_charge)CC(=O)O一键安装(首次使用):
# 运行安装脚本(自动下载模型和模板文件)
./scripts/setup_models.sh
使用虚拟环境(推荐,支持 UniPKA 后端):
# 使用包装脚本(自动激活虚拟环境)
./scripts/run_with_venv.sh --smiles "CC(=O)O" --name "乙酸"
# unipka 后端(使用默认单文件权重与模板)
./scripts/run_with_venv.sh --smiles "CC(=O)O" --name "乙酸" --backend unipka --cpu
# 显式指定模型与模板
./scripts/run_with_venv.sh \
--smiles "CC(=O)O" \
--name "乙酸" \
--backend unipka \
--model "assets/Uni-pKa/uni-pka-ckpt_v2/t_dwar_v_novartis_a_b.pt" \
--template "assets/Uni-pKa/uni-pka-ckpt_v2/smarts_pattern.tsv" \
--cpu
直接运行(仅 Custom 后端):
# custom 后端
python3 scripts/predict_pka.py --smiles "CC(=O)O" --name "乙酸" --backend custom
方案 1:虚拟环境(推荐)
cd skills/pka-predictor
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
方案 2:Conda 环境
conda create -n pka-predictor python=3.12
conda activate pka-predictor
pip install -r requirements.txt
| 错误 | 解决方案 |
|---|---|
No module named 'pandas' | pip install pandas |
No module named 'scipy' | pip install scipy |
No module named 'torch' | pip install torch |
| RDKit 导入失败 | pip uninstall rdkit && pip install rdkit |
启用详细输出:
./scripts/run_with_venv.sh --smiles "CC(=O)O" --verbose
交互式调试:
from scripts.backends.custom_backend import CustomBackend
backend = CustomBackend()
result = backend.predict("CC(=O)O", "乙酸")
print(result)
检查依赖版本:
python3 -c "import rdkit, pandas, torch; print(rdkit.__version__, pandas.__version__, torch.__version__)"
基础测试:
# custom 后端
./scripts/run_with_venv.sh --smiles "CC(=O)O" --backend custom
# unipka 后端
./scripts/run_with_venv.sh --smiles "CC(=O)O" --backend unipka --cpu
批量测试:
cat > test_compounds.smi << EOF
CC(=O)O 乙酸
c1ccccc1O 苯酚
CCO 乙醇
EOF
./scripts/run_with_venv.sh --input test_compounds.smi --output results.json