mcpField
C
cellprofiler

cellprofiler

github.com/k-dense-ai数据与数据库55.1k272 次安装2 天前更新
代码仓库

关于 cellprofiler

cellprofiler 是用于定量显微图像分析的技能,面向需要可重复细胞核计数和荧光测量的研究者。它围绕单通道二维 TIFF 图像提供从清单准备、CellProfiler 批处理到结果检查的有限流程,并记录管线和输入校验信息。

主要功能

  1. 01准备图像清单与 LoadData 文件
  2. 02运行 CellProfiler 批处理管线
  3. 03测量细胞核数量、强度、面积和形状
  4. 04生成核边界叠加图用于检查
  5. 05校验结果表并记录图像与管线信息

适用场景

  1. 01批量统计显微图像中的细胞核
  2. 02测量细胞核 DNA 荧光与面积
  3. 03检查分割是否存在漏检或合并
  4. 04复核批次图像的饱和与计数分布

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/k-dense-ai/scientific-agent-skills --skill cellprofiler

安装后在 Claude Code 中输入/cellprofiler确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

assets/
nuclei.cppipe
references/
runtime-and-qc.md
scripts/
nuclei_assay.py

详细介绍

CellProfiler 定量显微成像

当用户需要可重复的 CellProfiler .cppipe、细胞核计数、细胞核荧光或批量显微测量时,请使用此技能。随附的分析流程每个视野接受 一个 2D 灰度 TIFF 细胞核通道,像素为黑即零(MINISBLACK),暗背景上为明亮细胞核。调色板和白色即零的 TIFF 需要显式转换。对于体积分割、多通道细胞 painting 或组织特异性模型,请设计单独的流水线并验证这些假设,而不是静默地投影或拆分图像。

官方应用和手册仍为 4.2.8。PyPI 发布的是 4.2.8.1;此处使用的七个模块以及内嵌的 Threshold 模块与 4.2.8 源码一致,但本次审查未执行该原生发行版。请将辅助环境与 CellProfiler 较旧的依赖栈分开;有关验证边界,请参阅运行时参考。

工作流

  1. 确定采集单元:板、孔、位点、时间点(如存在)、像素大小、细胞核通道标识、相机位深、曝光和生物学重复。保留原始图像强度。在使用此辅助工具之前,使用 Bio-Formats 显式转换专有格式。
  2. 创建下面的 CSV 清单。image_path 为绝对路径或相对于清单的路径;样本 ID 使用字母、数字、点、短横线或下划线;样本 ID 与板/孔/位点组合唯一。使用非数字样本 ID,例如 sample_001:LoadData 会推断列类型,否则可能将 001 变为 1。避免标识符前后有空白。TIFF 必须为 uint8 或 uint16、单平面/系列/分辨率且非常量。此辅助工具会拒绝 RGB、z-stack 和 float 图像,而不是猜测通道。
  3. 使用 assets/nuclei.cppipe 作为起始流水线:LoadData → IdentifyPrimaryObjects → 强度/大小测量 → 轮廓叠加 → CSV 导出。初始直径范围为 8–80 像素,使用全局 Otsu 阈值、无阈值平滑,并排除边界对象。在比较条件之前,请根据代表性图像和采集像素大小校准此范围。
  4. 运行一个小型试点,涵盖对照、低/高密度、暗图像和板边缘。检查保存的叠加图,查看是否有遗漏的细胞核、分裂、合并和边缘排除。在 CellProfiler 中调整阈值和去聚簇,导出调优后的 .cppipe,并传递 --pipeline 以保留它。不要为每种处理单独选择设置以使它们的计数一致。
  5. 冻结调优后的流水线并分析批次。检查输入饱和警告、零计数、计数/面积分布和对照行为。用于推断的聚合应在生物学重复层面进行;来自一个孔的数千个细胞不是独立的孔。

运行有界实验

在此技能目录中,创建 images.csv:

sample_id,image_path,plate,well,site
control_A01_1,images/control_A01_1_DAPI.tif,Plate1,A01,1
python scripts/nuclei_assay.py prepare images.csv load_data.csv
python scripts/nuclei_assay.py run images.csv results --executable cellprofiler
python scripts/nuclei_assay.py summarize results

run 需要一个全新/空的输出目录,并使用 -c -r、一份保存的流水线副本、--data-file、输出文件夹以及 --done-file 执行 CellProfiler。成功需要退出码为零、一个 Complete 标记以及有效的测量表。它在执行前将命令、流水线校验和、输入图像校验和以及样本 QC 记录到 assay_qc.json,如果执行或输出验证失败,则保留 failed 状态和错误信息。CellProfiler 输出写入 cellprofiler.log。在新的输出文件夹中重新运行。summarize 独立检查 CSV 内容;它并不能证明引擎运行已完成。

自定义流水线必须保留 DNA、Nuclei、Metadata_Sample、整数 dtype 缩放,以及无前缀的单对象 Image.csv/Nuclei.csv 导出契约。保留所需的强度/面积测量。重命名的对象集或不同的强度尺度需要相应的辅助适配,而不是未经检查的 --pipeline 替换。

可执行文件也可以是 CellProfiler 应用程序启动器或本地容器启动器;有关容器目标、文件系统映射和验证证据,请参阅 references/runtime-and-qc.md。prepare 和 summarize 无需 CellProfiler 即可运行。

解读输出

  • Image.csv:每个图像/视野一行,包括 Count_Nuclei 和采集元数据。
  • Nuclei.csv:每行一个被接受的对象,包含平均/积分 DNA 强度、面积和形状。
  • *_nuclei.png:输入图像上的绿色细胞核边界,用于视觉 QC。
  • pipeline.cppipe 和 cellprofiler.done:精确的流水线副本和引擎完成标记。
  • assay_qc.json:运行状态、唯一图像/对象键、精确计数、有限的平均/积分强度与正面积检查、以像素为单位的视野平均面积,以及存储饱和标志。

在此资产中,LoadData 忽略相机元数据进行缩放,并除以整数存储最大值:uint8 → 255,uint16 → 65535。因此,存储在 uint16 中的 12 位相机的最大值接近 0.0625。在没有明确校准的情况下,不要比较不同位深、曝光、增益或染色批次的强度。饱和图像可能通过分割,但其强度测量不可用。光照校正和背景减除是特定于实验的附加项;此入门工具两者都不做。

饱和比例仅统计处于 存储最大值 的像素。12 位检测器可能在 4095 处饱和,而 uint16 存储最大值为 65535;请单独检查已知的采集上限。积分强度对像素值求和,可能超过 1;只有逐像素平均强度被限制在 0–1。该视野的平均细胞核强度对每个细胞核赋予相同权重,而不是对每个像素赋予相同权重。

计数检查无法证明分割正确。检查叠加图和独立注释的视野;将边界排除和分割错误与生物学结果一起报告。可选的合成引擎测试针对一个已知的三细胞核示例,而不是在未见细胞类型上的实验性能。由于未配置引擎,它在当前审查中被跳过。

来源

评论

支持 Markdown