Using the Cartesian_ddG method in PyRosetta to predict the binding free energy changes of single-point mutations in antigen-antibody complexes. #230
Unanswered
xianquzhe1
asked this question in
PyRosetta
Replies: 1 comment
-
|
跑一遍试试呗。(顺便问一下gearbind复现出来了么?我没复现出来,缺gearbingP的权重) |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hello everyone! I am a newcomer to PyRosetta and I am trying to use the Cartesian_ddG method in PyRosetta to predict the impact of single-point mutations on the binding free energy of antigen-antibody complexes. I don't care if it's extremely accurate; what I want is for this method to give energy change trends that are consistent with the real values measured experimentally. However, the results I obtained are not very consistent with the experimental trends, which confuses me. Below is the code I used for the prediction. Can anyone help me take a look to see if there are any issues?
from pyrosetta import *
from pyrosetta.rosetta import *
from pyrosetta.toolbox import *
from pyrosetta.teaching import *
from pyrosetta.rosetta.protocols.relax import FastRelax
init("-ignore_unrecognized_res 1 -ex1 -ex2 -flip_HNQ -relax:cartesian -nstruct 200 -crystal_refine -optimization:default_max_cycles 200")
#Parameter set up#
testPose= Pose()
testPose = pose_from_pdb("1A22.pdb")
scorefxnDDG=get_fa_scorefxn()
#Firstly relax the structure for later modificiation#
scorefxnRelax = pyrosetta.create_score_function("ref2015_cart")
relax = pyrosetta.rosetta.protocols.relax.FastRelax()
relax.constrain_relax_to_start_coords(True)
relax.coord_constrain_sidechains(True)
relax.ramp_down_constraints(False)
relax.cartesian(True)
relax.min_type("dfpmin_armijo_nonmonotone")
relax.min_type("lbfgs_armijo_nonmonotone")#for non-Cartesian scorefunctions use'dfpmin_armijo_nonmonotone'
relax.set_scorefxn(scorefxnRelax)
relax.apply(testPose)
s0=scorefxnDDG(testPose) #Record the energy score after cartesian_relax
#Energy minimization
min_mover = MinMover() #define a Mover in type of MinMover
mm=MoveMap()
mm.set_bb_true_range(28,36)
min_mover.movemap(mm)
min_mover.score_function(scorefxnDDG)
#min_mover.min_type("dfpmin")
min_mover.tolerance(0.01)
print(min_mover)
ddG=[]
def minimize_Energy(pose):
#Minimization#
min_mover.apply(pose)
#Point mutation#
AA=[18,21,22,25,26,29,42,45,46,48,51,56,61,62,63,65,68,153,156,157,160]
mp=Pose()
for i in AA:
mp.assign(testPose)
mutate_residue(mp,i,'A')
relax.apply(mp)#relax after minimization
minimize_Energy(mp)
#Output#
print("The energy after relax: ",s0)
print("The energy after mutex: ",s1)
print("The ddG: ")
print(ddG)
Beta Was this translation helpful? Give feedback.
All reactions