关于 cellprofiler
cellprofiler 是用于定量显微图像分析的技能,面向需要可重复细胞核计数和荧光测量的研究者。它围绕单通道二维 TIFF 图像提供从清单准备、CellProfiler 批处理到结果检查的有限流程,并记录管线和输入校验信息。
主要功能
- 01准备图像清单与 LoadData 文件
- 02运行 CellProfiler 批处理管线
- 03测量细胞核数量、强度、面积和形状
- 04生成核边界叠加图用于检查
- 05校验结果表并记录图像与管线信息
适用场景
- 01批量统计显微图像中的细胞核
- 02测量细胞核 DNA 荧光与面积
- 03检查分割是否存在漏检或合并
- 04复核批次图像的饱和与计数分布
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ k-dense-ai/ scientific-agent-skills --skill cellprofiler安装后在 Claude Code 中输入/cellprofiler确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
assets/nuclei.cppipereferences/runtime-and-qc.mdscripts/nuclei_assay.py详细介绍
CellProfiler 定量显微成像
当用户需要可重复的 CellProfiler .cppipe、细胞核计数、细胞核荧光或批量显微测量时,请使用此技能。随附的分析流程每个视野接受 一个 2D 灰度 TIFF 细胞核通道,像素为黑即零(MINISBLACK),暗背景上为明亮细胞核。调色板和白色即零的 TIFF 需要显式转换。对于体积分割、多通道细胞 painting 或组织特异性模型,请设计单独的流水线并验证这些假设,而不是静默地投影或拆分图像。
官方应用和手册仍为 4.2.8。PyPI 发布的是 4.2.8.1;此处使用的七个模块以及内嵌的 Threshold 模块与 4.2.8 源码一致,但本次审查未执行该原生发行版。请将辅助环境与 CellProfiler 较旧的依赖栈分开;有关验证边界,请参阅运行时参考。
工作流
- 确定采集单元:板、孔、位点、时间点(如存在)、像素大小、细胞核通道标识、相机位深、曝光和生物学重复。保留原始图像强度。在使用此辅助工具之前,使用 Bio-Formats 显式转换专有格式。
- 创建下面的 CSV 清单。
image_path为绝对路径或相对于清单的路径;样本 ID 使用字母、数字、点、短横线或下划线;样本 ID 与板/孔/位点组合唯一。使用非数字样本 ID,例如sample_001:LoadData 会推断列类型,否则可能将001变为1。避免标识符前后有空白。TIFF 必须为 uint8 或 uint16、单平面/系列/分辨率且非常量。此辅助工具会拒绝 RGB、z-stack 和 float 图像,而不是猜测通道。 - 使用 assets/nuclei.cppipe 作为起始流水线:LoadData → IdentifyPrimaryObjects → 强度/大小测量 → 轮廓叠加 → CSV 导出。初始直径范围为 8–80 像素,使用全局 Otsu 阈值、无阈值平滑,并排除边界对象。在比较条件之前,请根据代表性图像和采集像素大小校准此范围。
- 运行一个小型试点,涵盖对照、低/高密度、暗图像和板边缘。检查保存的叠加图,查看是否有遗漏的细胞核、分裂、合并和边缘排除。在 CellProfiler 中调整阈值和去聚簇,导出调优后的
.cppipe,并传递--pipeline以保留它。不要为每种处理单独选择设置以使它们的计数一致。 - 冻结调优后的流水线并分析批次。检查输入饱和警告、零计数、计数/面积分布和对照行为。用于推断的聚合应在生物学重复层面进行;来自一个孔的数千个细胞不是独立的孔。
运行有界实验
在此技能目录中,创建 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。该视野的平均细胞核强度对每个细胞核赋予相同权重,而不是对每个像素赋予相同权重。
计数检查无法证明分割正确。检查叠加图和独立注释的视野;将边界排除和分割错误与生物学结果一起报告。可选的合成引擎测试针对一个已知的三细胞核示例,而不是在未见细胞类型上的实验性能。由于未配置引擎,它在当前审查中被跳过。
来源
- 官方示例流水线:选择一个特定于实验的起点。
- CellProfiler 4.2.8 手册:模块设置与解读。
- 无头批处理:命令行执行。
- 当前应用程序下载 和 PyPI 发行版:不同的发布目标。