作为一名专业的冷冻电镜科研工作者,是不是会经常遇到以下情况:
在数据处理过程中,希望用不同的软件来处理,以便结合不同软件算法得到最好的结果;
由于不同软件的颗粒索引文件格式不一致,从而需要采用一些脚本来进行格式转换。例如,cryoSPARC文件导入到RELION中,需采用名为pyem的软件。但是,该软件的操作步骤繁琐,且背后逻辑较为复杂。
因此,在使用过程中,Single Particle 很多用户在格式转换时出现问题。为了方便用户快速上手,我们整理了pyem的详细操作步骤,您一定不要错过。
一. 假定以下cryoSPARC任务环境
a) cryoSPARC P2目录:/data/cryosparc/P2/
b) J7, Patch CTF
c) J49,Extract from micrograph
d) J60, Refine
e) cryoSPARC安装于CentOS 7.x系统
二.目标
a) 将J49的颗粒索引文件转换成RELION格式(针对于refine之前的job)
b) 将J60的颗粒索引文件转换成RELION格式(针对于refine及refine之后的job)
c) 将J7的micrograph索引文件转换成RELION格式(如果不需要在RELION里做ctf refine,则不需要做这一步)
划重点IMPORTANT
1. 根据实际情况,只需按照下文第四点“格式转换”中提到的其中一个流程转换即可;2. 在某些情况下(取决于cryoSPARC和pyem版本),refine及refine之后的job也需要用到“格式转换”中流程1的模式进行转换;
3. 转换时,需输入下文黑色方框内代码,本文以“$”开始,在实际输入命令时无需输入$符号。考虑到用户的不同查阅方式,移动端用户可滑动代码查看完整命令;
4. 使用该方法转换的颗粒索引文件,无法在RELION中进行polishing;如需进行polishing,需要做更多的转换工作,且需要根据实际情况进行调整。
三. 基本设置
a) 根据用户偏好,在合适位置创建RELION的启动目录
$ mkdir -p /data/relion/P2
b) 加载环境变量(对于某些机器来说,无需最后一步)
$ module load conda
$ module load pyem
$ conda activate pyem
c) 生成micrograph star文件(如果不需要在RELION里做ctf refine,则不需要做这一步)
$ cd /data/cryosparc/P2/J7
$ csparc2star.py exposures_ctf_estimated.cs P2_J7_passthrough_exposures.cs P2_J7_micrographs.star
$ mv P2_J7_micrographs.star /data/relion/P2/
d) 从micrograph star文件中获取必要信息(以下命令显示star文件的前100行,从中找到micrograph文件是属于/data/cryosparc/P2/
中哪个job,本案例是J7)
$ cd /data/relion/P2/
$ head -100 P2_J7_micrographs.star
e) 根据micrograph star文件信息,在RELION目录建立软链接
$ ln -s /data/cryosparc/P2/J7 ./J7
四. 格式转换
流程1. 将J49的颗粒索引文件转换成RELION格式(针对于refine之前的job)
a) 生成particle.star文件
$ cd /data/cryosparc/P2/J49
$ csparc2star.py extracted_particles.cs P2_J49_passthrough_particles.cs P2_J49_particles.star
$ mv P2_J49_particles.star /data/relion/P2/
b) 从particle star文件中获取必要信息(以下命令显示star文件的前100行,从输出信息的第一列找到particle图像是属于/data/cryosparc/P2/
哪个job,本案例是J49)
$ cd /data/relion/P2/
$ head -100 P2_J49_particles.star
c) 根据particles.star文件信息,在RELION目录创建颗粒所在目录,并建立软链接
$ cd /data/relion/P2/
$ mkdir -p J49/extract
$ ln -s /data/cryosparc/P2/J49/extract/*.mrc J49/extract
d) 修改particles.star里颗粒的后缀名
$ cd /data/relion/P2/
$ sed -i 's/particles.mrc/particle.mrcs/g' P2_J49_particles.star
e) 修改软链接后缀名
$ cd /data/relion/P2/J49/extract
$ rename mrc mrcs *.mrc
f) 然后就可以在/data/relion/P2/
目录启动RELION,并调用Class2D或其他任务中直接调用P2_J49_particles.star
流程2. 将J60的颗粒索引文件转换成RELION格式(针对于refine及refine之后的job)
a) 生成particle.star文件(注意,我们采用了J60中的cryosparc_P2_J60_007_particles.cs
,这是因为007是cs文件中数字最大的。对于用户自己的任务,需要选取数字最大的cs文件)
$ cd /data/cryosparc/P2/J60
$ csparc2star.py cryosparc_P2_J60_007_particles.cs P2_J60_007_particles.star
$ mv P2_J60_007_particle.star /data/relion/P2/
b) 从particle star文件中获取必要信息(以下命令显示star文件的前100行,从输出信息的第一列找到particle图像是属于/data/cryosparc/P2/
中哪个job,本案例是J49。注意,颗粒文件永远在Extract任务里!)
$ cd /data/relion/P2/
$ head -100 P2_J60_007_particles.star
c) 根据particles.star文件信息,在RELION目录创建颗粒所在目录,并建立软链接
$ cd /data/relion/P2/
$ mkdir -p J49/extract
$ ln -s /data/cryosparc/P2/J49/extract/*.mrc J49/extract
d) 修改particles.star里颗粒的后缀名
$ cd /data/relion/P2/
$ sed -i 's/particles.mrc/particle.mrcs/g' P2_J60_007_particles.star
e) 修改软链接后缀名
$ cd /data/relion/P2/J49/extract
$ rename mrc mrcs *.mrc
f) 然后就可以在/data/relion/P2/
目录启动RELION,并调用Class2D或其他任务中直接调用P2_J60_007_particles.star
总结
随着越来越多的数据解析软件的出现,需要互相转换数据文件格式的需求也将日益增加,在今后的实际应用中,我司的软件开发人员和设计人员也将为客户提供更多的应用解决方案,关注我们,下期更精彩!