# Macro Split 项目文档总结 本文档汇总了仓库中所有 Markdown 文件的内容摘要。 --- ## 1. README.md (项目主文档) **位置**: `/README.md` ### 项目简介 Macrolactone Fragmenter 是一个专业的大环内酯(12-20元环)侧链断裂和分析工具。 ### 主要特性 - **智能环原子编号** - 支持 12-20 元环,基于内酯结构的固定编号系统 - **自动侧链断裂** - 智能识别并断裂所有侧链 - **强大的可视化** - SVG + PNG 输出 - **多种导出格式** - JSON、CSV、DataFrame - **批量处理** - 支持 2000+ 分子的大规模分析 ### 安装方式 ```bash # 使用 Pixi(推荐) pixi install && pixi shell # 使用 Pip conda install -c conda-forge rdkit pip install -e . ``` ### 基本用法 ```python from src.macrolactone_fragmenter import MacrolactoneFragmenter fragmenter = MacrolactoneFragmenter(ring_size=16) result = fragmenter.process_molecule(smiles, parent_id="mol_001") ``` --- ## 2. CLEANUP_SUMMARY.md (清理总结) **位置**: `/CLEANUP_SUMMARY.md` ### 内容概要 记录了项目根目录的清理工作: - **保留的文件**: README.md, DOCUMENTATION_GUIDE.md, QUICK_COMMANDS.md - **归档的文件**: 14 个历史文档已移至 `archive/` 目录 - **清理前**: 17 个 MD 文件,约 120KB - **清理后**: 3 个核心 MD 文件 + 30+ 个文档系统文件 --- ## 3. DOCUMENTATION_GUIDE.md (文档系统指南) **位置**: `/DOCUMENTATION_GUIDE.md` ### 文档系统特性 - 使用 **MkDocs + Material 主题 + mkdocstrings** 构建 - 支持中文、深色/浅色模式 - 自动从代码生成 API 文档 - 支持数学公式(MathJax) ### 常用命令 ```bash # 本地预览 pixi run mkdocs serve # 构建静态网站 pixi run mkdocs build # 部署到 GitHub Pages pixi run mkdocs gh-deploy ``` ### 添加新文档步骤 1. 在 `docs/` 创建 `.md` 文件 2. 编辑内容 3. 在 `mkdocs.yml` 的 `nav` 部分添加链接 4. 运行预览验证 --- ## 4. IMPLEMENTATION_SUMMARY.md (实现总结) **位置**: `/IMPLEMENTATION_SUMMARY.md` ### MacroLactoneAnalyzer 封装 新增 `src/macro_lactone_analyzer.py` 模块,提供: #### 静态方法 - `detect_ring_sizes(mol)` - 识别环大小 - `is_valid_macrolactone(mol, size)` - 验证大环内酯 - `analyze_smiles(smiles)` - 单分子分析 - `dynamic_smarts_match(smiles, ring_size)` - 动态 SMARTS 匹配 #### 实例方法 - `get_single_ring_info(smiles)` - 单分子详细信息 - `analyze_list(smiles_list)` - 批量分析 - `classify_molecules(df)` - DataFrame 分类 ### 特性 - 高复用性、类型安全、详细错误处理 - 支持 12-20 元环分析 - 版本号更新至 2.0.0 --- ## 5. QUICK_COMMANDS.md (快速命令参考) **位置**: `/QUICK_COMMANDS.md` ### 文档命令 ```bash pixi run mkdocs serve # 启动文档服务器 pixi run mkdocs build # 构建静态文档 pixi run mkdocs gh-deploy # 部署到 GitHub Pages ``` ### 安装命令 ```bash pixi install && pixi shell # Pixi 方式 pip install -e . # 开发模式 ``` ### 开发工具 ```bash pixi run black src/ # 格式化代码 pixi run flake8 src/ # 检查代码质量 pixi run pytest # 运行测试 ``` --- ## 6. notebooks/README_analyze_ring16.md (Notebook 说明) **位置**: `/notebooks/README_analyze_ring16.md` ### 文件说明 - **Notebook**: `analyze_ring16_molecules.ipynb` - **输入**: `../output/ring16_match_smarts.csv` (307个分子) ### 分析内容 1. **分子基本性质**: 分子量、LogP、QED、TPSA 等 2. **侧链断裂分析**: 使用 MacrolactoneFragmenter 类 3. **分布图绘制**: 4x4 子图布局,位置 3-16 的分布 ### 输出文件 - `ring16_molecular_properties_distribution.png` - `atom_count_distribution_ring16.png` - `molecular_weight_distribution_ring16.png` - `ring16_fragments_analysis.csv` ### 延伸分析建议 - LogP/QED/TPSA 分析 - SAR 分析(如有活性数据) - 碎片多样性分析 - 聚类分析 --- ## 7. scripts/README.md (脚本使用说明) **位置**: `/scripts/README.md` ### 脚本列表 #### batch_process_ring16.py - 处理 16 元环分子(1241个) - 输入: `ring16/temp_filtered_complete.csv` - 输出: `output/ring16_fragments/` #### batch_process_multi_rings.py - 处理 12-20 元环的所有分子 - 自动按环大小分类 - 检测并剔除含多个内酯键的分子 ### 输出文件格式 ```json { "parent_id": "ring16_mol_0", "parent_smiles": "...", "fragments": [ { "fragment_smiles": "CC(C)C", "cleavage_position": 5, "atom_count": 4, "molecular_weight": 58.12 } ] } ``` ### 日志文件 - `processing_log_*.txt` - 处理过程 - `error_log_*.txt` - 错误记录 - `multiple_lactone_log_*.txt` - 多内酯键分子 --- ## 项目结构概览 ``` macro_split/ ├── src/ # 核心源代码 │ ├── macrolactone_fragmenter.py # 高级封装类 │ ├── macro_lactone_analyzer.py # 环数分析器 │ ├── ring_numbering.py # 环编号系统 │ ├── ring_visualization.py # 可视化工具 │ └── fragment_dataclass.py # 碎片数据类 ├── notebooks/ # Jupyter Notebook 示例 ├── scripts/ # 批量处理脚本 ├── docs/ # 文档目录 ├── tests/ # 单元测试 ├── pyproject.toml # 项目配置 ├── setup.py # 打包脚本 ├── pixi.toml # Pixi 环境配置 └── mkdocs.yml # 文档配置 ``` --- ## 快速开始 1. **安装环境** ```bash pixi install && pixi shell ``` 2. **测试导入** ```python from src.macrolactone_fragmenter import MacrolactoneFragmenter fragmenter = MacrolactoneFragmenter(ring_size=16) ``` 3. **查看文档** ```bash pixi run mkdocs serve # 访问 http://localhost:8000 ``` --- *文档生成日期: 2025-01-23*