CryoSPARC教程

CryoSPARC是当前冷冻电镜单颗粒重构的主流软件之一,它的界面交互十分友好。本文采用一套铁蛋白apoferritin的数据作为testdata。我们服务器路径在/data/testdata/apoferritin下。有需要的可以通过网盘下载:

链接 提取码:CRYO。百度限速不方便的话去empiar数据库找一套铁蛋白(比如10200)下载几十张练手也是可以的,网速可能会快一点。

新建

这是CryoSPARC v4.4的主界面,CryoSPARC用户端通过Web网页访问。

点击上方绿色的New Project按钮可以新建Project。

Title输入你想取的名称,然后选择Project保存的路径(在数据盘里创建一个自己的文件夹),它会在选择的文件夹内创建一个”CS-Title”的文件夹,所有的运算结果都在这个文件夹下。点击Create新建。

进入Project之后,创建一个Workspace,取一个名字。不同worksparce之间是可以通过link job来互相访问计算的结果的,所以类似蛋白的不同数据可以放在一个Project里,方便引用模板匹配或者三维模型,分成不同Workspace方便分类和查找自己的任务。

右上角Detail显示Workspace或者Job的信息,锤子形状的按钮是Builder,可以新建所有类型的Job。

导入数据

冷冻电镜收集的原始图片一般是以Mutiframes Movies形式(比如tiff、eer格式)。

如果在收集的时候就做过Motion Corretion,或者在别的软件里比如RELION、MotionCor2等做过Motion Corretion,那么文件就是mrc格式的Micrograph,直接选择Import Micrograph就行。

这里我们从头开始,点击Builder,在里面选择Import Movies

点击Movie data path右边的文件夹图标,找到自己的原始数据位置,选择其中一张照片,然后在路径里改成*.tiff或者*.eer,回车。当前目录下全部Movies都被选中了。点击Select。

注意:*代表该文件夹下全部文件,为了防止一起导入当前路径下有gain或者其它文件,写*.tiff保证导入的都是以tiff后缀的Movies。

如果文件分布在许多子文件夹内,也可以用*来代替文件夹,比如EPU默认收回来的数据,可以选择类似输入

/path/to/Supervisorxxxx/Image-Disc1/*/Data/*.tiff

然后,点击Gain reference path右边的文件夹图标,选中gain文件xxx.mrc。

CryoSPARC能用.gain或者.mrc后缀的gain文件。如果收集回来的gain文件是.dm4格式的,用eman2的e2proc2d.py脚本转化格式。

e2proc2d.py gainfile.dm4 gainfile.mrc

然后将电镜收集参数填完(这些参数在收集冷冻电镜数据的时候就要记下来)。

Rotate gain ref? 一般我们收的数据gain flip和rotate都不用管,都是正的。这套tutorial的数据需要旋转90度。输入1代表旋转一次90度。

Raw pixel size (A) 像素大小

Accelerating Voltage (kV) 加速电压

Spherical Aberration (mm) 球差系数

Total exposure dose (e/A^2) 总电子剂量

填好参数后点击点击Queue Job然后点击Queue

可以看到这就是我们的原始图像。点击窗格左上角显示这个Job详细信息。如果正在Build这个Job,右下角点击Stop Building可以退出,再点击Build可以继续调整参数。

漂移校正

点击Builder并选择Patch Motion Correction

然后在左边Workspace中点击Import Movies那个Job的左上角,这时显示Import Movies这个Job的详细信息,右边是MotionCorrection Job的Builder信息。

鼠标左键按住Import Movies Job右侧Output Groups中的Import Movies,此时右侧的Input框会变绿,拖住Import Movies并放入Input。

这种拖动操作在CryoSPARC中十分常用,下文不再重复。

在Parameters中将Output F-crop factor选为1/2。由于数据是以Super-resolution模式收集的,这个是bin2。如果实际收的数据没有用Super-resolution模式,可以不用管这个参数。

CryoSPARC-v4.0之后新增了一个Save results in 16-bit floating point的功能,将原来的float32结果保存为float16,从而节省50%的存储空间并加快运算速度,同时对结果几乎没有影响,推荐勾选上。

点击Queue Job然后点击Queue

计算CTF

点击Builder并选择Patch CTF Estimation

类似于上一步,点开Motion Correction的结果,将其OutputGroups中的Micrographs作为Input拖入Patch CTF Estimation的Inputs框内。参数默认就行。

Queue Job

筛选照片

在数据收集过程中可能会有一些冰污染严重、像散高、位置偏移等问题的照片,可以筛选剔除,保证后续计算质量。

点击Builder选择Manually Curate Exposures。将CTF estimated的Micrographs作为Input Exposures。Paticles那一栏可以不管,它写着Min:0就是允许没有Input。参数默认。

Queue Job

可以注意到在Builder页面中,Manually Curate Exposures右侧有一个的Interactive标签,Queue后就会显示成”waiting”的粉红色状态。这种Job就是需要交互的手动Job。点击Job左上角打开详细信息。

打开后会显示如下的交互界面。右边有三个选项Thresholds、Micrograph、Diagnostics。

Thresholds可以通过调整阈值来批量选择、丢弃照片。Micrograph会显示单张照片。一般电镜照片都是成千上万张,所以大部分时候会用Thresholds快速筛选明显有问题的照片。比如这里在CTF fit resolution里看到两个明显离群的照片,值异常大。鼠标放到上面显示照片就能看出这张照片明显有问题。一种方法是在左侧选中这张照片的行(Row),然后点击右上角Reject舍弃掉。另一种方法是在Thresholds里选中CTF fit resolution,设置阈值的范围在2Å-6Å然后点击Set Thresholds,这样两张异常的照片就都Excluded了(显示橙色)。

点击右上角Done完成。右侧Output就可以看到25张照片accepted,2张rejected。

颗粒挑选

挑选颗粒是选出颗粒的坐标,然后用Extract From Micrographs将其从一张大的照片中以一个小框扣出来。一般常用的有Manual Picker手动挑选,Blob Picker通过给定颗粒大小自动挑选,Template Picker以给定的二维模板来挑选颗粒。

颗粒的挑选以及分类往往决定了后续三维重构、分类、细化的质量和结果。CryoSPARC中还有一些别的颗粒挑选的方法,比如通过深度学习训练等新的方法。

Blob Picker非常简单,直接给颗粒大小就自动挑选,它会创建一些直径的圆并作为颗粒模板。点击Builder并选择Blob Picker。将Manually Curate Exposures里accepted的Micrographs作为Input。并且在Minimum particle diameterMaximum particle diameter参数里给出颗粒的大小范围(单位是Å)。如果你的颗粒不规则就要考虑到不同方向的投影可能大小不同。

Queue Job

Blob Picker的结果有的时候不一定尽如人意,有大量的坐标都是选择了空的位置或者碳膜上。

我们可以在这里用Inspect Particle Picks这个任务来调整一下。创建Job,然后将Blob Picker的结果输入进去并Queue。

可以看到在左下角有一个可以拖动的条Power Histogram,用来设置阈值。阈值的低值往上拉可以将大量空的位置筛选掉,阈值的高值往下拉可以将信号特别强的冰颗粒去掉。点击Done Picking。

颗粒提取

Pick输出的只是一个XY坐标,要后续进行计算需要颗粒的照片,需要通过这个坐标以及给定一个正方形框Box将颗粒提取成一张张小的照片。

点击Builder并选择Extract From Micrographs

前面Inspect Particle Picks结果里有两个Output Groups:Micrographs和Particles。分别作为Extract From Micrographs的Input Micrographs和Input Particles。

然后修改Extraction box size。这个参数代表提取颗粒的box大小,至少需要比你的颗粒直径大。比如我这里已知铁蛋白的大小是120 Å左右,pixel size是0.495×2=0.99 Å/pix。那么给个150-180 pix的box大小就足够了。注意单位,用你的pixel size参数来进行pix和Å之间的转化。

Save results in 16-bit floating point勾选上。能节省一半的存储空间并提高计算速度。

Queue Job

二维分类

点击Builder并选择2D Classification。将Particle Extraction的Output-Particle Extract作为Input输入。参数Number of 2D classes是要分的类数目。默认是50。如果颗粒多的话可以增加分类的数目来获得更好的效果,但是也会增加计算时间。

Queue Job。这步和Extract From Micrographs一样需要较长时间,可以在Extract From Micrographs还没做完的时候就把这个任务创建好并Queue上,它到时候会自动执行下一步。

点击Builder并选择Select 2D Classes。将刚刚的二维分类2D Classifications的两个Output(All particles和2D class averages)作为Input输入。

Queue Job。这也是个Interactive Job。

选择自己想要的二维平均,点击Done。

在实际的数据处理过程中,往往一轮二维分类无法达到好的效果。挑选好的二维类,然后用Selected Particles作为输入再进行二维分类。循环直到达到满意的效果。

(可选)用模板挑选颗粒

理论上有了Particle stack,就可以进行三维重构了。这里再展示另一种挑选颗粒坐标的方法。

我们有了刚刚二位分类结果的模板,就可以进行Template Picker了。点击Builder并选择Template Picker

将刚刚Select 2D Classes里Output-Templated Selected作为Template Input。

将Curate Exposure-accepted作为Micrograph Input。

然后输入颗粒大小Particle Diameter(铁蛋白120Å)。

Queue Job

然后和之前步骤类似,用Inspect particle剔除假阳性颗粒,提取颗粒Extract Particles,二维分类2D Classification,选择分类Select 2D Classes

除了这种挑选颗粒生成2D template,还有另一种方法生成template。如果你之前已经有了这个蛋白类似的3D map。点击Builder并选择Import Volume。然后用Create Template任务可以将3D Volume进行2D投影,从而生成2D Template。

三维重构及分类

Ab-initio可以从Particle stack从头开始生成初始三维模型,后续再用这个模型可以用来三维分类或者细化。

点击Builder并选择Ab Initio Reconstruction

将最后一轮Select 2D Classes作为Particle stacks输入。

Number of Ab-Initio classes可以填入想要生成几类不同的map,在v4.0版本之前的CryoSPARC中还没有3D Classification,Ab-Initio & Heterogeneous refinement本身也是三维分类的方法之一,可以分出构象差别较大的类,剔除二维分类中没有用的杂颗粒。

铁蛋白是高度对称的球体,我们在Symmetry给个对称性O。在处理自己的数据的时候,除非特殊情况,最好不要在前面就施加对称性,可以到最后refine再考虑。

Queue Job

点击Builder并选择Heterogeneous Refinement。将Ab-intio结果中每个class的Particle和Volume都拖进Input中,至少需要两个Volume来进行分类。

现在CryoSPARC中有Quick Action的功能,鼠标右键点击Ab-intio的结果,会有一个Build Heterogeneous Refinement的选项,一步到位。其他的任务右键点击也有自己的对应的快捷创建任务,可以都去试试。

Queue Job

注意!在Ab-intio从头生成3D map过程中,可能会出现生成的map手性错误的现象,可以用Volume ToolsFlip hands可以将Volume的手性翻转。然后用正确手性的map替代掉那个错误的map来做Heterogeneous Refinement

Refinement

Heterogeneous Refinement为了分类而限制最高分辨率以达到良好的分类效果。3D Refinement能够将分辨率进一步提升。

常用的有两个Job,经典的Homogeneous RefinementNon-uniform RefinementNon-uniform Refinement是对小蛋白和膜蛋白是可以有更好的优化效果。

这里我们选择Homogeneous Refinement,一般而言速度会比Non-uniform refinement快。选择Heterogeneous Refinement结果中较好的class,Particle stack颗粒集和对应的Volume map作为Input。

同样Symmetry给个O对称性。

由于铁蛋白本身是个标准蛋白,又给了高对称性,所以很容易就到了2.5A的高分辨率。

点击Output里一个云和一个箭头的图标可以下载结果。

map就是获得的密度图。

map_sharp是sharpen后的map,在job的详细信息Guinier Plot里可以看到map sharpen BFactor。

map_half A/B是half map。软件会把颗粒随机分成两部分计算,根据相关系数来判断分辨率,就是详细信息里的GSFSC Golden Standard Fourier Shell Correlation。常见的有用0.143或者0.5作为阈值衡量分辨率。现在上传pdb数据库已经必需上传half map了。

局部CTF优化

Local CTF Refinement会对每一个颗粒的局部CTF做一个校正,有可能进一步提高分辨率。将Refinement的Particle和Volume输入Local CTF Refinement。然后将Local CTF Refinement输出的校正过的Particle stack和前面Homogeneous Refinement的Volume作为输入重新做一次Homogeneous Refinement。这里并没有提高分辨率,可能已经到极限了。但是在实际运算过程中这一步往往都能提高不少分辨率。

评估结果

发表文章中可能需要一些数据和图片来对结果进行评估。比如Local resolutiont,将最终Refinement的结果输入。在结果中选择那个叫做map_locres的下载,在ChimeraX等软件中可以展示。下载后同时打开map_sharp和map_locres。上方工具栏选择Tools-Volume Data-Surface Color。弹出工具栏后Color surface选择map,选择by volume data value,using map选择locres。颜色输入对应分辨率。点击color。具体的ChimeraX软件操作详见ChimeraX的操作指南,这里不细说。

还可能需要3DFSC histogram,4.0以后的新版的CryoSPARC将ThreeDFSC删除了,但是有Orientation Diagnostics。将最终Refinement的Volume作为输入就可以。

 

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注