Relion-1.3 软件使用流程
这里将会详细的介绍Relion软件使用的流程,每个任务具体的参数设定参考官网relion13_tutorial,这里主要介绍蛋白质3D重构的过程。
Relion提供了简单的GUI来方便使用,GUI是使用的fltk-1.3.0来设计的。其GUI界面如下:
下面将采用从官网下载的数据relion13_tutorial.tar.gz来做3D 结构重构。
##第一步:数据预处理
###1.1 初始数据
给的初始数据是15张电镜下拍到的原始大图片,格式是.mrc
的,其次还包含15个.mrcs
的movie图片。Relion中单张图片是以.mrc
存储的,多张图片是以.mrcs
存储。
原始的.mrc
中单张图片33_35显示如下:
原始的.mrcs
中movie的图片33_35如下,可以暂时不管这个movie的图片:
###1.2 准备数据
####1.2.1 STAR 文件格式简介
Relion的输入数据采用STAR格式,一个简单的STAR文件如下:
data_images
loop_
_rlnImageName
_rlnDefocusU
_rlnDefocusV
_rlnDefocusAngle
_rlnVoltage
_rlnAmplitudeContrast
_rlnSphericalAberration
000001@/lmb/home/scheres/data/VP7/all_images.mrcs 13538 13985 109.45 300 0.15 2
000002@/lmb/home/scheres/data/VP7/all_images.mrcs 13293 13796 109.45 300 0.15 2
000003@/lmb/home/scheres/data/VP7/all_images.mcrs 13626 14085 109.45 300 0.15 2
data_
代表了一个data block的开始,STAR文件可以包含多个 data block。loop_
后面接多个labels,相当于列的名称。_rlnImageName
,_rlnDefocusU
等等这几个以_
开头的代表了 Label name. Relion有一套自己定义的一些Label name,可以通过命令relion_refine --print_metadata_labels
来察看其定义的一些Label name的含义。
最后面的3行数据就代表了各个labels的值。
1.2.2 转换为STAR文件
使用Relion 中Micrograph inspection
功能,设置好各种参数后就可以run执行,其对应的command如下:
> `which relion_manualpick` –i “Micrographs/*.mrc” –o all_micrographs.star –pickname manual –scale 0.2 –sigma_contrast 3 –black 0 –white 0 –lowpass 20 –angpix 3.5 –ctf_scale 1 –particle_diameter 200 &
输出文件:all_micrographs.star
1.3 CTF 参数估计
Relion是直接调用软件CTFFIND3来并行的计算每一个micrographs的 Contrast Transfer Function的参数。其对应的command命令如下:
$ `which relion_run_ctffind` –i “all_micrographs.star” –o “all_micrographs_ctf.star” –ctfWin -1 –CS 2 –HT 300 –AmpCnst 0.1 –XMAG 40000 –DStep 14 –Box 512 –ResMin 100 –ResMax 7 –dFMin 5000 –dFMax 50000 –FStep 500 –dAst 0 –ctffind3_exe “/home/nej/wf/ctffind/ctffind –omp-num-threads 1 –old-school-input”
输入: all_micrographs.star
输出: all_micrographs_ctf.star
耗时: 单进程 27min
1.4 颗粒挑选
1.3.1 人工挑选
Relion提供了人工挑选的功能,其次还支持其他软件挑选结果的格式支持,例如:
1.3.2 半自动挑选[^autopick]
半自动挑选的简单流程如下:
- 人工挑选一定数量的粒子
- 对人工挑选出来的粒子做 2D classification,即聚类,取每个类 averaged image 作为 Auto-picking的 templates
- 按一定的相似性比较来自动挑选
step1:
人工挑选,上一步已做。
step2:
采用上一步manual pick的粒子,进行 2D classification.
- Input:particles_manual.star
- Number of Classes: 10
- Number of particles: about 1000
- time cost: 18 min (i7-4930k,3.4GZ,1 cpu,6 cpu cores,12 processors),MPI 采用11个进程,每个进程采用1个线程。
产生的10个类average图如下:
从中挑选较好的类作为模版。
step3:
在进行全局的启动挑选之前,需要优化两个auto-picking所需的参数:
Picking threshold:
Minimum inter-particle distance:
选取少量有代表性的Micrographs来对这两个参数进行评估优化。选择*_33_35_0.mrc和*_57_34_0.mrc。
初始值 Picking threshold = 0.8
,Minimum inter-particle distance = 200
. 并且 Write FOM map ? Yes
- input: _33_35_0.mrc and _57_34_0.mrc
- time cost : 4 min
因为有IO 读写,所以这里只能单线程的跑,以防指IO 冲突错误。
结果如下:
Picking threshold = 0.8 , Minimum inter-particle distance = 200
number(*_33_35) = 175
number(*_57_34) = 212
调节 Picking threshold = 0.92 , Minimum inter-particle distance = 200,
number(*_33_35) = 170
number(*_57_34) = 175
调节 Picking threshold = 0.4 , Minimum inter-particle distance = 110,
number(*_33_35) = 610
number(*_57_34) = 685
调节好参数后就可以对所有的Micrographs来进行挑选,这个时候就不需要将FOM maps写下来了。只需跑一次就完了。
对所有的图片进行Auto-picking.设置参数:Picking threshold = 0.4 , Minimum inter-particle distance = 110。这里可以多进程跑,但是最大的MPI进程数就是Micrographs的数量。也就是说这里并行的策略是基于文件级别的。
- input: all_micrographs_ctf.star
- time cost: 6.2 min (15 process)
然后再根据生成的粒子坐标文件将粒子提取出来。
1.5 颗粒排序(可选过程)
对已经挑出来的粒子particles_autopick.star
进行排序,排序的reference是manual_7classes.star
,应该是对粒子与那写模版做一个距离比较,然后按照此距离来排序。通过这个步骤可以进一步的对颗粒进行挑选,剔除距离远的粒子。最后挑选出来的粒子存储在:Particles_autopick_sort.star,其图片显示如下:
第二步: Reference-free 2D class averaging
2.1 2D class averaging 的作用
虽然前面数据预处理部分花了很大的精力来挑选好的颗粒,剔除 bad particles,使用 manually supervising the auto-picking results and sorting the particles.但是还是有一些bad particles.采用2D classification 来进一步剔除这些粒子图片,因为这种bad particles在进行聚类时会被聚到相对粒子数较少的类,且average出来的结果并不很好。
2.2 运行时“exceeds stack size”错误及解决办法
使用2D classification
功能,设置成process =11 , thread =1 memory=1GB/thread和 process = 5 , thread =1 memory=2GB/thread都报错如下:
Estimating initial noise spectra
000/??? sec ~~(,_,"> [o 2/ 60 sec ..~~(,_,">readMRC: Image number 600 exceeds stack size 557
File: ./src/rwMRC.h line: 189
--------------------------------------------------------------------------
MPI_ABORT was invoked on rank 2 in communicator MPI_COMM_WORLD
with errorcode 1.
从上面错误内容来看,貌似是应为内存不够导致读取图片的时候内存溢出。不管在呢么设置,即使设置成单进程线程也报错。仔细查了下数据,发现教程给的sort之后的数据和我自动扣取下来不匹配,例如在particles_autopick_sort.star
中现实有超过600个颗粒是从44_07和55_40中提取的,结果我察看自己自动提取的这两个star文件,发现,44_07只有578个颗粒,55_40只有593个颗粒,所以这个都去数据是就会有溢出的错误。
解决办法是采用它提供的自动pick出来的star坐标文件,再重新提取一下颗粒,自己auto-pick可能中间哪设置错了导致提取的和它不同。
2.3 运行2D classification
- input: particles_autopick_sort.star (颗粒图片数量9120)
- class number: 100
- time cost: 11h30min (MPI processor= 12,threads=1,memory = 1GB/thread)
聚类后生成了100个类,从这些类中挑选出所有 nice-looking classes, 将这些good classes 包含的所有粒子都存储到particles_autopick_sort_class2d.star
中。这个过程可以多次跑来剔除bad particles.
100个类的average图如下:
剔除不好的类之后(9120 -> 8914 particles)得到的particles图片如下:
第三步: Unsupervised 3D classification
3.1 目的
3.2 运行结果
首先是需要一个初始的3D 模型toturial中给了一个beta-galactosidase的低分辨率模型3i3e_lp50.mrc,该模型是由其高分辨率的crystal structure产生的。
input: particles_autopick_sort_class2d.star(8914 particles)
Number of Classes : 4
Reference map: 3i3e_lp50.mrc
Number of iteration: 25
迭代25次后生成了4个3d model类,可以看其2D slices图或3D model图。
其四个类对应的slices图如下:
class001
class002
class003
class004
其四个类对应的3D modle图如下:
3D model class001
3D model class002
3D model class003
3D model class004
此时类似于2D聚类一样需要从中挑选较好的类来继续做3D 重构。class average图片如下,挑选第一类和第三类,将其包含的particles(8194 -> 6495 particles) 存储到particles_autopick_sort_class2d_class3d.star:
下面将class1,2,3,4 的3d model 结合在一起 以及将class 1,3结合在一起显示如下:
第四步:High-resolution 3D refinement
4.1 目的
4.2 运行结果
当按照以上步骤挑选出来了 a subset of suffient homogeneity 后,就可以进行 3D auto-refine procedure.采用 gold-standard Fourier Shell Correlation(FSC)来计算最后的重构结果,同时防止过拟合。
input: particles_autopick_sort_class2d_class3d.star(6495 particles)
reference: class003 or 3i3e_lp50A
MPI并行的策略是 1个进程作为master,其他进程分成两部分,分别来处理两部分Random分开的数据集,使用FSC策略。所以最好MPI进程数目为奇数。
数据初始迭代的时候会分为两部分单独的进行3D重构,到最后一次迭代时连个模型会joined together,然后明显的提高精度。下面将dispaly最后一次迭代之前的两部分产生的模型,将依次展示:half1的模型,half2的模型,half1&half2的模型
最后一次迭代后生成的模型class001-model以及其slices图class001-slices如下:
第五步: Postprocessing
第六步: Local-resolution estimation
[^autopick]: Sjors H.W. Scheres, Semi-automated selection of cryo-EM particles in RELION-1.3, Journal of Structural Biology, Volume 189, Issue 2, February 2015, Pages 114-122, ISSN 1047-8477
[^ximdisp]: J M Smith. Ximdisp–a visualization tool to aid structure determination
from electron microscope images. Journal of structural biology, 125(2-
3):223–228, May 1999.
[^xmipp]: Sjors H W Scheres, R. Nunez-Ramirez, C. O. S Sorzano, J. M Carazo,
and R. Marabini. Image processing for electron microscopy single-particle
analysis using XMIPP. Nature Protocols, 3(6):977–90, 2008.
[^e2boxer]: Guang Tang, Liwei Peng, Philip R Baldwin, Deepinder S Mann, Wen Jiang,
Ian Rees, and Steven J Ludtke. EMAN2: an extensible image processing
suite for electron microscopy. Journal of Structural Biology, 157(1):38–46,
January 2007.