文章目录
  1. 1. 1.2.2 转换为STAR文件
  • 1.3 CTF 参数估计
  • 1.4 颗粒挑选
    1. 1. 1.3.1 人工挑选
    2. 2. 1.3.2 半自动挑选[^autopick]
  • 1.5 颗粒排序(可选过程)
  • 第二步: Reference-free 2D class averaging
    1. 2.1 2D class averaging 的作用
    2. 2.2 运行时“exceeds stack size”错误及解决办法
    3. 2.3 运行2D classification
  • 第三步: Unsupervised 3D classification
    1. 3.1 目的
    2. 3.2 运行结果
  • 第四步:High-resolution 3D refinement
    1. 4.1 目的
    2. 4.2 运行结果
  • 第五步: Postprocessing
  • 第六步: Local-resolution estimation
  • 这里将会详细的介绍Relion软件使用的流程,每个任务具体的参数设定参考官网relion13_tutorial,这里主要介绍蛋白质3D重构的过程。
    Relion提供了简单的GUI来方便使用,GUI是使用的fltk-1.3.0来设计的。其GUI界面如下:
    Relion GUI
    下面将采用从官网下载的数据relion13_tutorial.tar.gz来做3D 结构重构。

    ##第一步:数据预处理

    ###1.1 初始数据
    给的初始数据是15张电镜下拍到的原始大图片,格式是.mrc的,其次还包含15个.mrcs的movie图片。Relion中单张图片是以.mrc存储的,多张图片是以.mrcs存储。
    原始的.mrc中单张图片33_35显示如下:
    14-33-35-0-mrc
    原始的.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提供了人工挑选的功能,其次还支持其他软件挑选结果的格式支持,例如:

    • coordinate file formate for Jude Short`s Ximdisp^ximdisp
    • XMIPP-2.4^xmipp
    • Steven Luditke`s e2boxer.py^e2boxer

    1.3.2 半自动挑选[^autopick]

    半自动挑选的简单流程如下:

    1. 人工挑选一定数量的粒子
    2. 对人工挑选出来的粒子做 2D classification,即聚类,取每个类 averaged image 作为 Auto-picking的 templates
    3. 按一定的相似性比较来自动挑选

    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.

    文章目录
    1. 1. 1.2.2 转换为STAR文件
  • 1.3 CTF 参数估计
  • 1.4 颗粒挑选
    1. 1. 1.3.1 人工挑选
    2. 2. 1.3.2 半自动挑选[^autopick]
  • 1.5 颗粒排序(可选过程)
  • 第二步: Reference-free 2D class averaging
    1. 2.1 2D class averaging 的作用
    2. 2.2 运行时“exceeds stack size”错误及解决办法
    3. 2.3 运行2D classification
  • 第三步: Unsupervised 3D classification
    1. 3.1 目的
    2. 3.2 运行结果
  • 第四步:High-resolution 3D refinement
    1. 4.1 目的
    2. 4.2 运行结果
  • 第五步: Postprocessing
  • 第六步: Local-resolution estimation