cmxflow

io.github.b-shields由 GitHub 账号 b-shields 发布v0.4.0更新于 Oct 24, 2026

Composable, tunable cheminformatics workflows: library preparation, clustering, docking, and more.

已验证STDIO仅桌面数据与分析AI 与机器学习

概览

AI 生成的概览

cmxflow 是一个本地 MCP 服务器,让助手构建、运行并调优化合物信息学工作流,如配体准备、聚类、对接和虚拟筛选。

可以做什么
用可组合模块搭建工作流,涵盖分子来源、转换、过滤、聚类、评分和对接,并在分子库上运行以生成准备好的或对接后的结构文件。通过贝叶斯优化端到端调整工作流参数并比较结果。通过序列化保存、加载和复用工作流。安装 PyMOL 后可查看分子的三维结构。
适用场景
适合希望以对话方式组装并执行计算化学流程的场景,例如为对接准备配体、对同系列化合物进行对接,或调优基于配体的虚拟筛选,而无需自己编写流程代码。
运行要求
作为本地进程通过 stdio 运行,从 PyPI 安装 cmxflow,并用 cmxflow-mcp 命令启动,例如通过 uvx。需要 Python 环境。三维结构查看工具额外需要 PyMOL(pymol-open-source)。未声明账户、API 密钥或请求头。
安装前请注意
工作流会写出准备好的或对接后的结构文件等输出文件,优化过程会运行多次试验,可能消耗较多算力。三维查看工具依赖可选的 PyMOL 安装。在重要数据上运行前请检查生成的工作流。

安装

在 SourceWeft 中

  1. 打开 控制台中的 cmxflow,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

cmxflow 🧪

[Docs] [CI] [codecov] [Python 3.11+] [Code style: black] [License: MIT]

Build cheminformatics and computational chemistry pipelines with composable blocks. Tune end-to-end with Bayesian Optimization. Or ask an LLM agent to do it.

Quick examples

Prepare ligands for docking

python
from cmxflow import Workflowfrom cmxflow.sources import MoleculeSourceBlockfrom cmxflow.operators import (    MoleculeStandardizeBlock,    IonizeMoleculeBlock,    EnumerateStereoBlock,    ConformerGenerationBlock,)from cmxflow.sinks import MoleculeSinkBlock
# Standardize → ionize (pH 6.4–8.4) → enumerate stereo → generate 3D conformersworkflow = Workflow()workflow.add(    MoleculeSourceBlock(),    MoleculeStandardizeBlock(),    IonizeMoleculeBlock(),    EnumerateStereoBlock(),    ConformerGenerationBlock(),    MoleculeSinkBlock(),)workflow("library.smi", "prepared.sdf")

Dock a congeneric series

Pure-Python docking. Free docking is the default (index_poses=False); scaffold-indexed mode caches poses by Bemis–Murcko scaffold for ~3× faster throughput on congeneric series with consistent pose alignment.

python
from cmxflow import Workflowfrom cmxflow.sources import MoleculeSourceBlockfrom cmxflow.operators import ConformerGenerationBlock, MoleculeDockBlockfrom cmxflow.sinks import MoleculeSinkBlockfrom cmxflow.utils.parallel import make_parallel
workflow = Workflow()workflow.add(    MoleculeSourceBlock(),    ConformerGenerationBlock(),    make_parallel(        MoleculeDockBlock(            receptor="receptor.pdb",            site_reference="crystal_ligand.sdf",            index_poses=True,  # omit for free docking        )    ),    MoleculeSinkBlock(),)workflow("library.smi", "docked.sdf")

Tune a ligand-based virtual screen

python
from cmxflow import Workflowfrom cmxflow.sources import MoleculeSourceBlockfrom cmxflow.operators import MoleculeSimilarityBlockfrom cmxflow.scores import EnrichmentScoreBlockfrom cmxflow.opt import Optimizer
# Rank a library by 2D similarity to a known active, then tune the# fingerprint end-to-end to maximize enrichment AUC.workflow = Workflow()workflow.add(    MoleculeSourceBlock(),    MoleculeSimilarityBlock(queries="crystal_ligand.sdf"),    EnrichmentScoreBlock(target="active"),)
opt = Optimizer(workflow, "benchmark.csv")opt.optimize(n_trials=30, direction="maximize")
print(f"Best enrichment AUC: {opt.best_score:.3f}")print(opt.best_params)# Best enrichment AUC: 0.836# {'fingerprint_type': 'morgan', 'similarity_metric': 'sokal', 'radius': 2, 'nbits': 2545}

The four fingerprint parameters above are searched automatically — every block exposes its mutable parameters to the optimizer.

Or build it conversationally via an LLM agent

bash
claude mcp add cmxflow -- cmxflow-mcp

"How many of the molecules in library.csv pass Lipinski's rules?"

"I need to build a ligand-based virtual screening workflow. I'm not sure if 2D or 3D is better. Can you optimize two workflows?"

"Dock the molecules in hits.csv against receptor.pdb with crystal_ligand.sdf as a reference."

The agent can build, run, and optimize workflows. See Using with Claude for full transcripts.

What's in the box

  • 15+ blocks for sourcing, transforming, filtering, clustering, scoring, and docking molecules
  • Bayesian optimization of pipeline parameters via Optuna
  • Parallel execution for compute-heavy blocks (conformer generation, docking)
  • Workflow serialization for save / load / reuse
  • An MCP server with five tools: build_workflow, run_workflow, optimize_workflow, manage_workflows, view_structures

Install

bash
pip install cmxflow

MCP server

bash
claude mcp add cmxflow -- cmxflow-mcp

Optional: PyMOL

Required only for the view_structures MCP tool (3D visualization):

bash
conda install -c conda-forge pymol-open-source

Documentation

Project

MIT licensed. See CONTRIBUTING.md and RELEASING.md.

来源:README.md,提交 c2960bc

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.4.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分