关于 relion
RELION 技能为单颗粒项目提供有限范围的精修、半图验证和后处理流程,面向使用 RELION 处理已提取粒子数据的研究者。它包含 STAR 元数据检查和独立半图 FSC 诊断,但不取代前处理或生物学解释。
主要功能
- 01检查 STAR 元数据与粒子堆栈
- 02运行金标准粒子精修
- 03计算未掩膜诊断 FSC
- 04使用软掩膜进行后处理
- 05记录命令、版本和日志
适用场景
- 01验证粒子文件与采集参数
- 02对选定粒子子集执行精修
- 03检查独立半图的 FSC
- 04使用软掩膜处理精修结果
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ k-dense-ai/ scientific-agent-skills --skill relion安装后在 Claude Code 中输入/relion确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/acquisition-and-restarts.mdruntime-and-validation.mdscripts/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。