You are here

PyRosetta Global Docking

3 posts / 0 new
Last post
PyRosetta Global Docking
#1

Dear All,

I am following the PyRosetta tutorial to learn how to preform global docking.
I wrote the following script:

def Global(pose , repeats):
	score = list()
	for nterm in range(repeats):
		pyrosetta.rosetta.protocols.docking.setup_foldtree(pose , 'A_B', Vector1([1]))		#Make chain A ridgid and chain B move
		pert_mover = pyrosetta.rosetta.protocols.rigid.RigidBodyPerturbMover(jump_num , rotation , translation)
		pert_mover.apply(pose)

		randomize_upstream = pyrosetta.rosetta.protocols.rigid.RigidBodyRandomizeMover(pose , jump_num , pyrosetta.rosetta.protocols.rigid.partner_upstream)
		randomize_upstream.apply(pose)

		randomize_downstream = pyrosetta.rosetta.protocols.rigid.RigidBodyRandomizeMover(pose , jump_num , pyrosetta.rosetta.protocols.rigid.partner_downstream)
		randomize_downstream.apply(pose)

		slide = pyrosetta.rosetta.protocols.docking.FaDockingSlideIntoContact(jump_num)
		slide.apply(pose)

		movemap = MoveMap()
		movemap.set_jump(jump_num , True)
		minmover = pyrosetta.rosetta.protocols.simple_moves.MinMover()
		minmover.movemap(movemap)
		minmover.apply(pose)

		score.append(scorefxn(pose))

	score.sort()
	for value in score:
		print(value)

But I get this error:

minmover.apply(pose)
RuntimeError: Caught an unknown exception!


 

 

The strange part is that I sometimes get this error, and sometimes the script works fine. It is a hot or miss.

 

 

 

I tried to ignore this error with try/except, following is my script:

def Global(pose , repeats):
	score = list()
	for nterm in range(repeats):

		try:
			pyrosetta.rosetta.protocols.docking.setup_foldtree(pose , 'A_B', Vector1([1]))		#Make chain A ridgid and chain B move
			pert_mover = pyrosetta.rosetta.protocols.rigid.RigidBodyPerturbMover(jump_num , rotation , translation)
			pert_mover.apply(pose)

			randomize_upstream = pyrosetta.rosetta.protocols.rigid.RigidBodyRandomizeMover(pose , jump_num , pyrosetta.rosetta.protocols.rigid.partner_upstream)
			randomize_upstream.apply(pose)

			randomize_downstream = pyrosetta.rosetta.protocols.rigid.RigidBodyRandomizeMover(pose , jump_num , pyrosetta.rosetta.protocols.rigid.partner_downstream)
			randomize_downstream.apply(pose)

			slide = pyrosetta.rosetta.protocols.docking.FaDockingSlideIntoContact(jump_num)
			slide.apply(pose)

			movemap = MoveMap()
			movemap.set_jump(jump_num , True)
			minmover = pyrosetta.rosetta.protocols.simple_moves.MinMover()
			minmover.movemap(movemap)
			minmover.apply(pose)

			score.append(scorefxn(pose))
		except:

	score.sort()
	for value in score:
		print(value)

But I get this different error

ERROR: No structure mods allowed during scoring!
ERROR:: Exit from: /home/benchmark/T/rosetta.Glass/_commits_/main/source/src/core/scoring/Energies.cc line: 748

 

 

 

Anyone can explain to me what I am doing wrong?

Category: 
Post Situation: 
Sat, 2017-08-26 03:31
ac.research

The `unknown exception!` error was fixed upstream recently. You will need to get a fresh PyRosetta build and re-run your script to see what exactly is wrong. Weekly releases with numbers 150+ should have this issue fixed. Could you please try to upgrading your PyRosetta install and post back results from new version?

Thanks,

Sat, 2017-08-26 09:43
Sergey

Also, usually these 'unknown exception!` is results of a hard failures from which recovery will be problematic so i would advise against trying to catching them.

Sat, 2017-08-26 09:45
Sergey