mcpField
R
relion

relion

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

关于 relion

RELION 技能为单颗粒项目提供有限范围的精修、半图验证和后处理流程,面向使用 RELION 处理已提取粒子数据的研究者。它包含 STAR 元数据检查和独立半图 FSC 诊断,但不取代前处理或生物学解释。

主要功能

  1. 01检查 STAR 元数据与粒子堆栈
  2. 02运行金标准粒子精修
  3. 03计算未掩膜诊断 FSC
  4. 04使用软掩膜进行后处理
  5. 05记录命令、版本和日志

适用场景

  1. 01验证粒子文件与采集参数
  2. 02对选定粒子子集执行精修
  3. 03检查独立半图的 FSC
  4. 04使用软掩膜处理精修结果

安装

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

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

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

包含的文件

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

references/
acquisition-and-restarts.md
runtime-and-validation.md
scripts/
spa_workflow.py

详细介绍

RELION 单颗粒精修

用于 RELION 单颗粒项目,尤其是提取后的颗粒 → 均一化筛选的颗粒子集 → 金标准精修 → 半图验证与后处理。随附的运行器从 已标注 CTF 的提取颗粒和一个初始 3D 参考 开始。它不替代运动校正、颗粒挑选、2D/3D 筛选,也不替代对密度图质量的生物学解读。对于断层成像、螺旋重构、Blush 或异质状态建模,请使用相应的上游工作流,而不要把这些数据强行纳入这个有边界的 SPA 运行器。

保留采集与坐标约定

当从电影帧开始或恢复任务时,请阅读 references/acquisition-and-restarts.md。确认像素尺寸以 Å/pixel 为单位、电压以 kV 为单位、球差以 mm 为单位、离焦以 Å 为单位、振幅衬度为分数,以及样品所支持的对称性。不要通过猜测单位来“修正”一个可疑的数值。

data_optics 描述采集/图像组;data_particles 通过 _rlnOpticsGroup 引用它们。颗粒文件名使用 从 1 开始 的 [email protected];像 [email protected] 这样的前导零是有效的。相对路径从 RELION 项目目录解析,而不是从 STAR 文件所在目录解析。合并或取子集 STAR 文件时请保留 optics groups。_rlnOriginXAngst/_rlnOriginYAngst 是以 Å 为单位的平移量,不是像素。

在此技能目录下运行,并传入真实项目的路径:

python scripts/spa_workflow.py validate-star project/particles.star --project project

这会打开被引用的图像栈,并检查 optics 成员关系、有限的采集/CTF 数值、索引、box 尺寸、重复的颗粒引用以及现有的半集分配。仅当图像栈确实不可用时才使用 --metadata-only;JSON 会记录 stack_checks_performed: false。它不会扫描每个颗粒像素以检查损坏,也不会确认图像归一化是否正确。物理范围警告是供复核的提示,并不证明异常的显微镜设置就是错误的。

精修选定的颗粒群体

运行之前,请检查代表性颗粒与二维类平均、离焦分布、CTF 拟合、颗粒取向分布以及初始参考。确保在任何降采样之后,密度图与颗粒的 box/像素尺寸一致。该运行器有意只支持跨 optics groups 使用单一有效 box/像素尺寸;对于异质采样,请通过显式的上游重采样工作流处理。请使用按常规方式提取、已归一化且尚未经过相位翻转或 Wiener 滤波的颗粒;此运行器不为这些特殊输入情况提供配置。

python scripts/spa_workflow.py refine \
  --star project/particles.star --reference project/initial.mrc \
  --project project --diameter 180 --symmetry C1 \
  --initial-lowpass 40 --mpi-ranks 3 --threads 2 --output project/RefinePilot

上面的直径和低通滤波是示例性的 Å 值。请使用适合样品的值。精修会以 --auto_refine、--split_random_halves、--ctf 和低通起始参考执行 mpirun -np 3 relion_refine_mpi。金标准分割需要 MPI;纯串行的 relion_refine 可执行文件无法执行此分割。请使用 ≥3 的奇数 rank 数(master 加上均衡的半集 worker),并搭配相应的 MPI 安装。CPU 命令适用于有边界的试点运行;对完整数据请选择有文档记录的 GPU/MPI 启动方式。

该运行器会把命令、原生版本和日志保存在新的输出目录中,记录一个显式的随机种子(默认为 1),呈现运行时警告,在进程失败时停止,并要求在报告成功之前得到已收敛的未滤波半图。它不会自动重试开销高昂的任务,也不会悄悄丢弃失败任务的产物。请保留 _optimiser.star、模型/采样 STAR 文件以及被引用的颗粒路径以便恢复。请使用原始任务的 optimiser,而不是从部分处理过的表格开始新的随机分割。

检查相互独立的半图

使用两个独立精修得到的未滤波半图,切勿使用组合并锐化后地图的两份副本。仅凭 header 一致无法确立统计独立性;独立的粒子分配与精修历史才能提供这一证据。除全局 FSC 曲线外,还应检查方向各向异性、择优取向和局部分辨率。

python scripts/spa_workflow.py fsc \
  project/RefinePilot/run_half1_class001_unfil.mrc \
  project/RefinePilot/run_half2_class001_unfil.mrc --output diagnostic-fsc.tsv

该脚本检查地图维度、有限值、像素尺寸、原点、轴顺序和重复地图,然后写入一个未加掩膜的诊断性 FSC。报告的 0.143 交叉点使用线性插值;null 表示未检测到向下交叉,而非无限分辨率。Nyquist 分辨率为 2 × 像素尺寸。该诊断仅适用于不大于 256³ 的偶数立方地图;更大的地图请使用 RELION 原生的 relion_image_handler --fsc。它不能替代掩膜校正后的 FSC。该辅助脚本要求实空间地图具有规范轴、MRC 起始索引为零且晶胞角正交。其他网格需显式转换并保留溯源信息;仅修改 header 可能导致密度错位。header 一致和 FSC 均无法确定绝对手性。

使用软掩膜进行后处理

从经过适当低通滤波的密度构建溶剂掩膜,边界外扩且边缘平滑。检查所有切片;过紧的掩膜可能虚高相关系数。避免使用由半图之间共享的高频噪声导出的掩膜。

python scripts/spa_workflow.py postprocess \
  --half1 project/RefinePilot/run_half1_class001_unfil.mrc \
  --half2 project/RefinePilot/run_half2_class001_unfil.mrc \
  --mask project/soft_mask.mrc --output project/PostProcessPilot

该辅助脚本检查 [0,1] 范围内的非常量掩膜、软边缘体素以及匹配的地图网格,然后使用显式的半图、掩膜和像素尺寸运行 relion_postprocess。RELION 会自行执行掩膜/随机化校正并写入 postprocess.star。该受限命令将 B-factor 保持为零(不自动估计 B-factor);只有在选择了合理的拟合范围并检查了地图质量之后,才添加自动/手动锐化。有效的范围和一些分数掩膜体素并不能证明掩膜在科学上是合适的。检查报告分辨率附近经相位随机化的加掩膜 FSC:若仍有残余相关性,则说明需要使用更平滑/更宽的掩膜并再次运行后处理。

有关经过测试的原生工具以及流水线执行与重建验证之间的区别,请参见 references/runtime-and-validation.md。

主要参考资料

评论

支持 Markdown