You are here

ΔG Calculation with PyRosetta

2 posts / 0 new
Last post
ΔG Calculation with PyRosetta

I have been reading some post looking for an anwer to my question but I still not complitely sure about it. I understand that for a complex, what rosetta gives you is a score that it is no exacly the DG. I would like to know if with the next code, using the standard score funcion, I can calculate for a comple of 2 chain the DG with the formula:

DG= Score_complexe - (Score_chain_A + score_chain_B)

I am building an scoring function to predict DG for a protein-protein complexes and I want to compare its performance with the performance of RosettaDock in a blind test. 

#!usr/bin/env python

from pyrosetta import *

from pyrosetta.teaching import *
scorefxn = get_fa_scorefxn()

f = "complexe.pdb"

pose = pose_from_pdb(f)

score_c = scorefxn(pose)
pose_A = pose_from_pdb(f[0:4]+"_A.pdb")
score_A = scorefxn(pose_A)

pose_B = pose_from_pdb(f[0:4]+"_B.pdb")
score_B = scorefxn(pose_B)

DG = score_c - (score_A + score_B)
print DG

Post Situation: 
Tue, 2019-05-21 00:26

That's close to the general approach used to evaluate binding energy calculations in Rosetta.

Often, though, we don't try to score the individual chains as separate poses, but instead move the chains very far apart from each other and then rescore. That should be equivalent to scoring the different chains in separate Poses and then summing the results, though. (*)

Simply separating the chains is sometimes not all you want to do, though. Often you'll want to reoptimize the chains in the apo state, to allow for some apo-state relaxation. How much optimization you do in the complex state versus apo state is a bit of a black art, though, and depends a bit on what sort of thing you're attempting to test, and what your personal philosophy is.

You may want to take a look at the InterfaceAnalyzer mover to see the typical way people do binding energy calculations in Rosetta.

*) There's some issues with things like inter-chain disulfides, or inter-chain or absolute position constraints which can mess things up, but so long as you are using the standard scorefunction and don't have any inter-chain covalent bonds you should be alright.

Mon, 2019-06-24 12:47