Rosetta 简易手册

这部手册的基本思路(如何使用我)

Rosetta入门  这一部分,我记录了Rosetta能够解决的生物问题及其使用的抽样策略,主要包括:如何将你的问题转化为Rosetta可以理解的生物问题?Rosetta可以解决哪些生物问题?如何分析Rosetta给出的结果?我需要哪些生物物理学知识(以使用Rosetta)?

随后,在接下来的四个部分中,将分别将 Rosetta建模 、 Docking 、 蛋白质改造和设计 以及 使用特殊的抽样模型 的简要原理及方法(使用的命令),你可以直接跳转到特定部分,使用已经标注好的命令来执行你的任务

在最后一部分,我将记录一些来自Rosetta社区的使用案例或者最新的开发进展。

Rosetta入门(基础知识)

Rosetta的基本架构和官方文档地址:

Rosetta官方文档:从这里开始了解Rosetta的开发者们如何介绍他们的工作

https://www.rosettacommons.org/docs/latest/getting_started/Getting-Started

简单来说,我们下载到本地的Rosetta文件实际上是一个文件夹,这个文件夹中包含了Rosetta运行所需要的生物物理学数据库、所有的Rosetta方法的程序以及一些其他的配置文件,当我们使用Rosetta时,只需要按顺序进行以下几个步骤

明确自己要解决的生物学问题,了解对应的Rosetta Protocol甚至自行编写Protocol;

准备好我们所需要操作的Input文件:比如蛋白质结构的PDB文件,相关的参数列表;

查看对应的Protocol文档,明确该Protocol的原理、参数和命令格式;

运行你的任务,等待结果,然后去看Rosetta官方文档中关于结果分析的攻略;

部分Protocol会提供详尽的结果,而大部分则需要你自行分析结果,大部分时候你需要指定恰当的聚类中心和距离进行聚类;

如果你的结果还需要进一步完善,不妨回到第一步重新进行下一轮。

因此,你首先需要做的就是了解Rosetta能够解决的生物学问题——如图所示,Rosetta可以完成下图(蛋白质计算生物学)中几乎所有的内容,只是,这些方法Protocol被独立地存放在Rosetta的方法库中,需要你对你的课题有完善且清晰的架构后再去使用。

相对比地,如果说Rosetta是蛋白质设计领域最值得推荐的工具库,那么Schoedinger就是药物设计领域最值得推荐的工具库,只不过前者开源免费不易上手,后者简单易上手但收费——这两种软件或者其他的你所擅长使用的 Bioinformatics 的软件都可以互为补充,只要你能够熟练地掌握他们之间互通的各种文件格式作为桥梁(比如PDB、SDF、Mol2)——同样,这更加需要实验者清楚地认识到建立一个框架然后按照需求去使用对应的领域中最好的工具或编写符合自己需求的工具,而不是简单Follow一种工具包。

下面是Rosetta为我们提供的所有工具包的介绍:

Rosetta能够解决的生物学问题:

基本Rosetta组件:

Protein Structure Prediction

De Novo Modeling 从头建模

Ab initio Modeling Tutorial

Tutorial on protein folding using the Broker 

Ab initio

Comparative Modeling (Homology Modeling) 同源建模

Comparative Modeling Tutorial

Comparative Modeling (potentially out of date) 

Comparative Modeling via RosettaScripts (uses RosettaScripts)

Specialized Protocols

Symmetric folding and docking of homooligomeric proteins.

Homology modeling of antibody variable fragments.

Ab initio modeling of membrane proteins.

Protein–Protein Docking

Docking Prepare:

preparing structures

pre-packed 

Docking:

docking protocol

relax protocol

Protein - Protein Docking整体策略:

 introductory tutorialon protein-protein docking

同源寡聚体:

Symmetric Docking

symmetry file

蛋白质-肽 Docking:

protein–peptide docking 

Protein–Ligand Docking:

RosettaLigand

RosettaLigand via RosettaScripts

Docking Approach using Ray Casting (DARC)

Protein Design:

生成自定义的Rosetta脚本:Rosetta scripting interfaces

关于残基文件(准备好的蛋白质才能用于蛋白质设计):resfiles

蛋白质重设计:

优化Sidechain:fixed backbone design

优化Sidechain以优化疏水表面: fixed backbone design can be run with consideration of hydrophobic surface patches

其他应用:

scanning for stabilizing point mutations,

specificity prediction and library design with sequence tolerance

multistate design of different functions in different contexts

RosettaRemodel is a generalized framework for flexible backbone design

More RosettaRemodel documentation

improving solubility and reversibility of folding with surface charge

improving hydrophobic packing by void identification and packing

Protein Interface Design

Anchored Design Peptide Design

Enzyme Design

Enzyme Design

Protein Loop Modeling

Modeling Loops in Regions of Low Electron Density

loops from density  and  用于输入细化晶体学数据  here

Modeling Loops in Regions of Low Homology or with No Secondary Structure

最快速但不精准的方法:CCD cyclic coordinate descent

最广为接受的:NGK next-generation KIC and KIC with fragments

最慢速的:stepwise loop modeling:for proteins and RNA

See the Kortemme Lab benchmark server for a comparison.

特殊的蛋白质结构:FloppyTaidl

Nucleic Acids modeling

ERRASER  for RNA

解析晶体结构和核磁结构

晶体结构:

For explicit refinement of crystallography data, see here.

mr_protocols

核磁结构:

Chemical shift files 处理文件

CS-ROSETTA 处理结构

Sample X组件:

见附录1;

接下来的内容是关于Rosetta的具体使用及一个小小的使用实例,结合使用实例我们将介绍Rosetta的工具调用,结果分析和生物物理学基础:

Rosetta使用-在线Sever、本地安装及配置:

Rosetta有多种使用方式,包括在线的Sever、及本地安装的Py与命令行模式的Rosetta,你可以从这里了解它们:

https://www.rosettacommons.org/software

https://www.rosettacommons.org/software/ways-to-use

你可以从这里直接注册学术版用户并下载Rosetta:

https://www.rosettacommons.org/software/license-and-download

下载后,可以从这里按照建议安装:

https://www.rosettacommons.org/docs/latest/build_documentation/Build-Documentation

在Ubuntu系统下,假如你下载的是编译后的文件(大约13G),则直接使用即可,若是编译前的文件(大约3G),你只需要解压下载到的文件,随后进入Rosetta/main/source目录下,运行命令:./scons.py -j2 bin (注意这里的-j2指的是用两个核)即可安装Rosetta,随后,记得在bashrc中添加你的Rosetta文件夹的路径,这样会为后面的工作节省很多时间。

Rosetta——入门示例:如何进行蛋白质的稳定性突变扫描?

Rosetta本身可以作为一个黑箱来使用,但是正如它的官方文档中所阐述的那样,如果你仅仅将Rosetta作为一个黑盒来使用,那对于你的科学研究将是一种莫大的伤害。然而,本手册的目的却看起来与之相悖,因此需要着重强调的是,这份手册可以作为你使用Rosetta的入门参考和接触蛋白质设计领域的起点,但绝不应该成为你使用Rosetta的终点。

使用Rosetta进行生物物理学问题的分析思路大概如下图所示:

首先你要有一个结构,这个结构的可信度越高越好,当然,你可以使用Rosetta根据电子云密度图、蛋白质序列信息等来生成这个结构;

你要选择能够帮助你解决问题的Rosetta方法,以及针对不同Rosetta方法所采用的结果分析的方法(一般来说,结果需要使用者自行分析);

计算资源——你需要充足的计算机资源,Rosetta是针对超级计算机编写的,当然它也可以适用于不同的尺度,不过充足的计算资源会让你更快得到结果。


在本次实例中,我们将使用一个简单的Rosetta方法来进行介绍。

对于单一Rosetta任务,你需要给出:

Input文件,通常是蛋白质结构;

命令,其中包括调用的Protocol的位置、各种参数以及一些其他的内容;

只有两点,如此简单。

那么,对于home目录下我们保存的一个pdb文件,使用Rosetta的蛋白稳定性改造扫描的Protocol,我们应当按照这样的流程来完成整个分析过程:

1:准备好要使用的结构文件,最好是存放在一个特定目录下;

因此,我们将这个文件放到home目录下的一个叫Rosetta_task的文件夹下,这个文件夹将成为本手册所使用的规范化文件夹,假定每次任务时都要清空这个文件夹再放入我们要使用的各种文件,同时结果也会输出到这个文件夹,input文件命名为in_n,结果文件命名为out_n,n为序号。那么此时,我们的蛋白文件路径为:~/Rosetta_task/in_1.pdb

2:打开对应Protocol的文档,查看相关信息,尤其是Protocol的适用目标、命令的参数信息、范例、原理等;

打开相应文档:https://www.rosettacommons.org/docs/latest/application_documentation/design/pmut-scan-parallel

了解到关键信息:

input文件命令:-s 给出要进行的结构列表,pdb格式;-l 给出文本文件包含所有要进行的结构的文件名,一行一个;

-database 指定path/to/rosetta/main/database;

指定任务设置:

-double_mutant_scan        双突变         

-mutants_list <file>            只做指定的特殊突变

-output_mutant_structures  输出突变后的结构 

-DDG_cutoff                        设定仅输出ddG优于此限制的突变

(其他信息略)

3:确认要使用的代码,记录下来并到终端运行。

我们使用的代码是(此时在Rosetta目录下):

./main/source/bin/pmut_scan_parallel.linuxgccrelease -database ./database -s ~/Rosetta_task/in_1.pdb -ex1 -ex2 -extrachi_cutoff 1 -use_input_sc -ignore_unrecognized_res -no_his_his_pairE -multi_cool_annealer 10 -mute basic core > ~/Rosetta_task/out_1

指定方法的路径,是一个目录;

指定Rosetta的数据库的位置;

指定蛋白结构文件的位置;

指定任务的生物物理学相关参数;

结果输出到对应的路径下,并创建一个文本记录;

4:查看结果文件,进行分析

这次任务输出的结果是这样的:

mutation mutation_PDB_numbering average_ddG average_total_energy

A-P55S A-P64S -64.671 305.99

A-P55R A-P64R -63.541 307.12

A-P55H A-P64H -63.462 307.19

A-P55T A-P64T -63.232 307.42

A-P55K A-P64K -62.909 307.75

A-P55N A-P64N -62.753 307.9

A-P55Q A-P64Q -62.628 308.03

……

很显然,我们需要对结果进行排序并选出更好的,因此,我们可以用Excel打开此文本,并指定空格为分列符,随后进行排序即可。

你还可以参考以下内容了解如何更进一步使用Rosetta:

https://www.rosettacommons.org/docs/latest/getting_started/Analyzing-Results

https://www.rosettacommons.org/docs/latest/getting_started/Determining-what-a-problem-is

https://www.rosettacommons.org/docs/latest/getting_started/Resources-for-learning-biophysics-and-computational-modeling

https://www.rosettacommons.org/docs/latest/rosetta_basics/Incorporating-Experimental-Data

Rosetta-建模:

Rosetta-Docking:

Rosetta-蛋白质改造与设计:

Rosetta-特殊抽样模型:

Rosetta-社区专题摘录:

附录1 SampleX 组件

Structure determination via fragment substitution

AbscriptLoopCloserCM

handles loop closure in ab initio relax circumstances

AbscriptMover

Structure generation

BackboneGridSampler

BuildSheet

BundleGridSampler

PerturbBundle

PerturbBundleHelix

MakeBundle

MakeBundleHelix

MakePolyX

BackboneSampler

FitSimpleHelix

InsertPoseIntoPoseMover pose combination

build_Ala_pose

SetupForSymmetry Necessary before doing anything else symmetrically

AddHydrogens adds and optimizes missing hydrogens

SymmetricAddMembraneMover

GrowPeptides

From electron density:

IdealizeHelices

RecomputeDensityMap

CartesianSampler

Residue Insertion and Deletion

AddChain

AnchoredGraftMover

CCDEndsGraftMover

CutOutDomain

DeleteRegionMover

InsertPoseIntoPoseMover

KeepRegionMover

MotifGraft

ReplaceRegionMover

Splice

SwitchChainOrder

Structure optimization

IdealizeMover

Replace every residue with a version with bond lengths and angles from the database. Add constraints to maintain original hydrogen bonds. Then, minimize every side-chain and backbone dihedral (except proline phi) using dfpmin.

FinalMinimizer

SaneMinMover

TaskAwareMinMover

Symmetrizer

Functionally an optimization mover; will take a pose with sufficiently small deviations from symmetry and resolve them.

TaskAwareSymMinMover

SymMinMover

minimize with symmetry

LocalRelax

FastRelax

Repeatedly repack sidechains and minimize sidechains and backbone while ramping the repulsive weight up and down. Respects resfiles, movemaps, and task operations.

RepackMinimize Like a single cycle of relax, with a constant repulsive weight.

MinPackMover

EnzRepackMinimize

MinMover

MinimizationRefiner

NormalModeMinimizer

Ensemble generation

FastRelax

Backrub

ParallelTempering

CanonicalSampling

BBGaussian

GenericSimulatedAnnealer

GeneralizedKIC

Backbone degrees of freedom

Backrub

BackrubDD

BackrubSidechain

ShortBackrubMover

A particular form of backbone movement intended to coordinate with maintaining particular side chain positions.

Small Make small perturbations to a backbone degree of freedom

Shear Make small perturbations to one dihedral of a residue and contravarying perturbations to the other dihedral, to avoid a "lever arm effect"

SetTorsion

Either set a torsion to a value or perturb a torsion by a value (with the perturb flag)

MinimizeBackbone

Just minimize the backbone

RandomOmegaFlipMover Flip a random omega angle; most useful for peptoids

BackboneTorsionPerturbation

BackboneTorsionSampler

BBGaussian

Sidechain degrees of freedom

SetChiMover

SymRotamerTrialsMover

PackRotamersMover

RotamerTrialsMinMover

RotamerTrialsMover

RotamerTrialsRefiner

Sidechain

SidechainMC

RepackTrial

RepackingRefiner

BoltzmannRotamerMover

PackRotamersMoverPartGreedyMover

Prepack

SymPackRotamersMover

PerturbRotamerSidechain

DnaInterfacePacker

PerturbChiSidechain

Any conformational degree of freedom

RandomTorsionMover

Perturbs a random torsion selected from a movemap

Loop conformational sampling

AnchoredGraftMover

a composite mover that does a lot of loop modeling followed by repacking to graft in residues

KicMover

LegacyKicSampler

SmallMinCCDTrial

ShearMinCCDTrial

LoopBuilder

LoopCM

LoopCreationMover

LoopFinder

LoopHash

LoopHashDiversifier

LoopHashLoopClosureMover

The LoopHash algorithms constitute a very rapid way to draw on loop conformations from fragment libraries that could achieve a given closure

LoopLengthChange

LoopModeler

LoopMoverFromCommandLine

LoopMover_Perturb_CCD

LoopMover_Perturb_KIC

LoopMover_Perturb_QuickCCD

LoopMover_Perturb_QuickCCD_Moves

LoopMover_Refine_Backrub

LoopMover_Refine_CCD

LoopMover_Refine_KIC

LoopMover_SlidingWindow

LoopProtocol

LoopRefineInnerCycleContainer

LoopRelaxMover

LoopRemodel

LoophashLoopInserter

LoopmodelWrapper

CCDEndsGraftMover

CCDLoopCloser

CCDLoopClosureMover

DefineMovableLoops

GeneralizedKIC

An enormous, intricate system that largely operates on its own to perform kinematic loop closure on an arbitrary sequence of atoms.

Docking

DARC app

Via a ray casting algorithm particularly fast on GPUs

FlexPepDock

Concurrently samples backbone degrees of freedom on the peptide

SymDockProtocol

Symmetric oligomer docking

RigidBodyTransMover

manually manipulate the relative position of two bodies across a jump

RigidBodyPerturbNoCenter

UnbiasedRigidBodyPerturbNoCenter

UniformRigidBodyCM

Docking

DockingInitialPerturbation

DockingProtocol

DnaInterfaceMinMover

SymFoldandDockRbTrialMover

HighResDocker

DockSetupMover

DockWithHotspotMover

Chemical connectivity

ForceDisulfides

Given a list of residue pairs (for example, disulfides), repack residue shells around them but do not change the CYS-type residues themselves.

DisulfideInsertion

Mutates two residue positions to CYS:disulfide, link them conformationally, and add constraints to have good disulfide distance, angle, and dihedral to the pose. Intended for adding a disulfide to short potentially macrocyclic peptides.

DisulfideMover

Given two residue positions, mutate both to CYS:disulfide and link them conformationally; do no repacking or minimization

Disulfidize

Tries every possible pair of residues in a pose to try to introduce one or more new disulfides as long as they score well

Design

FastDesign

Controlling amino acid composition during design

CoupledMover

FastRelax mover that does design during repacking

RemodelMover

Extremely diverse function: can do design, repacking, complete backbone remodeling, disulfide construction, and so forth

enzyme design

EnzdesRemodelMover

PredesignPerturbMover

DesignMinimizeHbondsMover

GreedyOptMutationMover

ParetoOptMutationMover

MutateResidue

RandomMutation

ConsensusDesignMover

AntibodyDesignMover

AntibodyDesignProtocol

DesignProteinBackboneAroundDNA

MatDesGreedyOptMutationMover

FlxbbDesign

Can be given a blueprint file to extrapolate into a movemap; does design, can do some relaxation; converts your pose to alanine before designing

DnaInterfaceMultiStateDesign

NcbbDockDesign

docking and design of noncanonical backbones (peptidomimetics)

LigandDesign

Not design movers per se, but they bias the amino acid composition for a sequence and thus can contribute to a design protocol.

SetAACompositionPotential

FavorNativeResidue

FavorNonNativeResidue

FavorSequenceProfile

FavorSymmetricSequence

FindConsensusSequence

Analysis

InterfaceAnalyzerMover

ComputeLigandRDF

InterfaceScoreCalculator

MetricRecorder

LoadVarSolDistSasaCalculatorMover

LoadZnCoordNumHbondCalculatorMover

Symmetric interfaces

SymRotamerTrialsMover

SymPackRotamersMover

SymDockProtocol

Symmetric oligomer docking

Symmetrizer

Functionally an optimization mover; will take a pose with sufficiently small deviations from symmetry and resolve them.

TaskAwareSymMinMover

SymMinMover

minimize with symmetry

DetectSymmetry

GenericSymmetricSampler

fold and dock

SymFoldandDockMoveRbJumpMover

SymFoldandDockSlideTrialMover

SymFoldandDockRbTrialMover

Molecular dynamics codes

CartesianMD

HamiltonianExchange

Peptidomimetics

NcbbDockDesign

OopCreatorMover

OopDockDesign

Antibody Modeling and Design

AntibodyDesignMover

AntibodyDesignModeler

AntibodyDesignProtocol

CDRDihedralConstraintMover

ParatopeSiteConstraintMover

ParatopeEpitopeSiteConstraintMover

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343

推荐阅读更多精彩内容