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 分