d18133ce160359adeb9a4dfe5fba86f01f9cd420
macro_lactone_toolkit
macro_lactone_toolkit 是一个正式可安装的 Python 包,用于 12-20 元有效大环内酯的识别、环编号、侧链裂解和简单拼接回组装。
核心能力
- 默认自动识别 12-20 元有效大环内酯,也允许显式指定
ring_size - 环编号规则固定为:
- 位置 1 = 内酯羰基碳
- 位置 2 = 环上的酯键氧
- 位置 3-N = 沿统一方向连续编号
- 侧链裂解同时输出两套 SMILES:
fragment_smiles_labeled,例如[5*]fragment_smiles_plain,例如*
- dummy 原子与连接原子的原始键型保持一致
- 提供正式 CLI:
macro-lactone-toolkit analyzemacro-lactone-toolkit numbermacro-lactone-toolkit fragment
环境
推荐使用 pixi,项目已固定到 Python 3.12,并支持 osx-arm64 与 linux-64。
pixi install
pixi run pytest
pixi run python -c "import macro_lactone_toolkit"
Python API
from macro_lactone_toolkit import MacroLactoneAnalyzer, MacrolactoneFragmenter
analyzer = MacroLactoneAnalyzer()
valid_ring_sizes = analyzer.get_valid_ring_sizes("O=C1CCCCCCCCCCCCCCO1")
fragmenter = MacrolactoneFragmenter()
numbering = fragmenter.number_molecule("O=C1CCCCCCCCCCCCCCO1")
result = fragmenter.fragment_molecule("O=C1CCCC(C)CCCCCCCCCCO1", parent_id="mol_001")
CLI
单分子分析:
pixi run macro-lactone-toolkit analyze --smiles "O=C1CCCCCCCCCCCCCCO1"
pixi run macro-lactone-toolkit number --smiles "O=C1CCCCCCCCCCCCCCO1"
pixi run macro-lactone-toolkit fragment --smiles "O=C1CCCC(C)CCCCCCCCCCO1" --parent-id mol_001
CSV 批处理:
pixi run macro-lactone-toolkit fragment \
--input molecules.csv \
--output fragments.csv \
--errors-output fragment_errors.csv
默认读取 smiles 列;若存在 id 列则将其作为 parent_id,否则自动生成 row_<index>。
Legacy Scripts
scripts/ 目录保留为薄封装或迁移提示,不再承载核心实现。正式接口以 macro_lactone_toolkit.* 与 macro-lactone-toolkit CLI 为准。
Languages
Jupyter Notebook
99.5%
Python
0.5%