Rosetta入门必读FAQ
本文将以FAQ的形式来迅速浏览常见的Rosetta入门最主要最关心的问题。
补充阅读材料-官方FAQ: https://www.rosettacommons.org/docs/latest/getting_started/FAQ
Q1 我应该选择哪个Linux系统来运行Rosetta比较好?
目前已有的Linux发行版有很多,但是Rosetta发布前只会在Ubuntu和CentOS7下进行编译测试(from Sergey Lyskov)。因此在选择系统时,应该优先选择这两个发行版。相对于Ubuntu,CentOS7的开发环境更加稳定,因此我建议尽量安装CentOS7,可以减少不必要的麻烦。
具体的CentOS7科学环境配置请参考本人的博文:https://awakenwu.github.io/2019/05/09/CentOS7配置科学计算环境/
Q2 我该如何安装和配置Rosetta?
Rosetta的安装方式主要有两种,一种是通过源代码编译安装,一种是直接下载Rosetta开发者预编译好的二进制版本(内含源代码)。对于新手入门,我建议直接下载预编译的版本,缺点就是下载包比较大,约~7GB。对于Linux比较熟悉的朋友可以选择自行编译安装Rosetta。
具体的Rosetta编译配置方法请参考本人的博文:https://awakenwu.github.io/2019/01/28/Rosetta安装教程/
Q3 我可以用Rosetta解决什么问题?
Rosetta是计算生物学皇冠上的一颗璀璨明珠(State of Art),也是人类通往全新蛋白设计的巴别塔。整个套件内设有各种分析、打分和建模的方法。
主要涉猎的领域:
- 从头蛋白质设计(Hot*);
- 蛋白结构预测、同源建模、结构修复;
- 冷冻电镜、NMR结构解析;
- 酶、金属蛋白、抗体、膜蛋白设计改造;
- 分子、多肽对接;
Rosetta可以解决什么样的问题: https://www.rosettacommons.org/docs/latest/getting_started/Solving-a-Biological-Problem
参考Rosetta手册,app列表: https://www.rosettacommons.org/docs/latest/application_documentation/Application-Documentation
具体每个用法和模块可以参考2019年最新文献:https://www.preprints.org/manuscript/201904.0263/v1
Q4 我可以在哪里找到Rosetta应用?
在Rosetta整个框架内,每个经过测试的Protocol都会被整合成app,这些app跟我们手机上的应用是一样的,需要哪个就用哪个,每个app都具有独立的功能。大部分的app位于$ROSETTA/main/source/bin/这个文件夹里面。值得注意的是,app的命名与编译环境和方式有关系,app的通用命名规则是app.[mpi].system+complier+version的形式。
比如我在Mac系统下使用clang来编译,使用的并行版本。那么app的命名就是relax.mpi.macosclangrelease. relax是app的名字,mpi代表并行版本,macos是系统名,clang是编译器,release代表稳定发行版本的意思。如此类推,如果我在CentOS7下使用gcc编译,使用的串行版本,那么,app的命名就是relax.linuxgccrelease。
如果你是根据我的安装教程来配置Rosetta的话,可以通过以下命令来查询
ls $ROSETTA/main/source/bin/
运行结果:
查找app.pngQ5 我该如何去执行Rosetta app程序?
Rosetta不是exe应用,并不能像在windows系统下,双击后打开界面,然后用鼠标操作,我们所有操作必须通过命令行来执行。而一条执行命令主要包括应用和输入文件。
举个例子: 我现在需要根据Relax app的官方教程对某个晶体结构进行结构优化和能量最小化。我就需要打开终端或则命令行工具,并进入工作文件夹:
# 首先进入工作目录,以demo为例:
cd $ROSETTA/demos/tutorials/Relax_Tutorial/
然后就可以开始运行relax app(如果不是demo,那么你就需要额外准备必要的输入文件)此处的含义-s
代表我们输入的蛋白质结构文件(pdb格式),@
符号代表告诉Rosetta我的执行参数文件,我的参数文件名为'general_relax_flags'
# 运行relax app
relax.mpi.macosclangrelease -s 1ubq.pdb @general_relax_flags
此时就可以发现Rosetta relax app正在运行:
running relax.png如果我们需要进一步控制realx app的行为,我们就需要修改'general_relax_flags'中的参数:
- -nstruct 代表进行几次relax计算
- -relax:default_repeats 代表relax过程中,算法进行多少次退火模拟
- -out:path:pdb 代表在哪个文件夹中输出结果文件(pdb格式)
- -out:path:score 代表在哪个文件夹中输出打分结果文件
# 以Demo为general_relax_flags文件例,其中包括以下内容:
-nstruct 2
-relax:default_repeats 5
-out:path:pdb ./tutorial_output
-out:path:score ./expected_output
如果需要进一步控制每个app的行为,我们一定要去阅读开发者给出的输入选项解释,我们可以在app文档中找到对应的解释。只有需要必要的选项,我们才应该写在参数文件当中。如果参数使用不当,会对结果产生影响。
参数解释.pngRosetta APP文档:https://www.rosettacommons.org/docs/latest/application_documentation/
Q6 我该如何分析和利用Rosetta输出的结果?
Rosetta的结果分析是一个非常复杂的话题,这关乎到你所采用的计算方法、打分函数以及结构生物学的直觉。
原则上我们应该先首先参考原文献作者对结果的分析方法,因为没有人比开发者更懂这个程序。
其次,Rosetta大多采用的是随机算法,我们应该提供足够的计算资源来保证采样充分,切不可以对小规模的采样结果就轻易对生物问题下结论,甚至我们需要对结果进一步的进行聚类分析、多次重复计算,并从中提取有价值的信息。
再次,我们应该谨慎地对待Rosetta的打分输出结果,Rosetta的打分并不等于实际的能量值,并且很有可能存在"假阳性"值,我们需要仔细对模型、计算参数进行检查,多选几个模型总是好的。
最后,在实验上尽可能多的验证我们所作出的预测结果。(金标准)
参考1: https://www.rosettacommons.org/docs/latest/getting_started/Analyzing-Results
参考2: https://www.rosettacommons.org/demos/latest/tutorials/scoring/scoring
Q7 如果我遇到了问题,我该如果求助?
-
你可以尝试在RosettaCommon论坛(官方)https://www.rosettacommons.org/forum发帖求助,但是这个论坛仅对学术开放。
-
你也可以直接向开发者发送邮件(都比较nice~最好提前把问题的思路整理清楚,错误输出的log等。),如果确定是程序的Bug, 请立即向开发者反馈,一般修复时间都在一个晚上左右(个人多次report bug的经验,他们是真的神速)。
-
也可以在Rosetta中文社区(http://148.70.210.81 or rosettastudy.cn)进行发帖求助
-
加入Rosetta中文社区微信群讨论。