应用介绍
RELION(REgularised LIkelihood OptimisatioN) 是一个用于低温电子显微镜(cryo-EM)结构确定的独立软件包,采用经验贝叶斯方法。这个项目在Sjors Scheres领导的MRC分子生物学实验室开发。RELION是基于GPLv2许可证分发的,保证了其开放性,适用于包括商业用途在内的所有场景。核心编程语言主要是 C++, 同时包含了一定比例的 CUDA、C 和少量的 Python、CMake 及其他辅助技术。
关键技术和框架
低温电子显微镜(cryo-EM) 技术处理。
贝叶斯优化算法 用于3D重建和2D类平均的最大后验概率(Maximum A Posteriori, MAP)精炼。
MPI (Message Passing Interface) 支持并行计算,提升处理速度。
FFTW (Fastest Fourier Transform in the West) 库用于快速傅里叶变换,关键在于图像处理。
集成了 FLTK 图形界面库以提供用户交互体验。
利用 CMake 进行构建系统管理,简化跨平台编译安装过程。
提交作业
若集群#SBATCH 有必须的选项,则要额外加上,如计费项目组等。
准备作业脚本run.sh,内容如下:
#!/bin/bash
#SBATCH --job-name=relion_job
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=4
#SBATCH --output=%j.out
#SBATCH --error=%j.err
## 加载环境变量
## 使用gcc -v查看下版本,需要保持gcc版本为9以上,9版本以下需要添加下面的命令
export PATH=/opt/app/gcc/9.5.0_gcc4.8.5/bin:$PATH
export LD_LIBRARY_PATH=/opt/app/gcc/9.5.0_gcc4.8.5/lib64:$LD_LIBRARY_PATH
## 添加 CUDA 环境变量(可选)
export PATH=/opt/app/cuda/current/bin:/opt/app/nvidia/current/bin:$PATH
export CUDA_PATH=/opt/app/cuda/current
## 加载intel环境变量 或者 使用module load添加
## source /opt/intel/oneapi/setvars.sh
module load mpi/intel/2020
## 把relion添加到环境变量中,加完后可以直接执行relion命令
export PATH=/opt/app/relion/5.0/bin:$PATH
## 添加fftw环境变量 (可选)(报错缺失该文件时添加)
export LD_LIBRARY_PATH=/opt/app/fftw/3.3.10/lib:$LD_LIBRARY_PATH
### 示例命令
relion --help
## mpirun -n 4 relion_motion_refine_mpi --help
relion_motion_refine_mpi --help 可以换成自己的命令
使用sbatch run.sh
命令提交作业。
常见问题
Q:提交作业时遇到如下错误?

A: 在作业脚本中添加申请gpu的命令