You are here

Ligand Docking with RosettaScripts gives a ParsedProtocol exception

3 posts / 0 new
Last post
Ligand Docking with RosettaScripts gives a ParsedProtocol exception
#1

I am trying to run a ligand docking simulation, and am running into a few technical limitations. I am trying to follow the tutorial form the Meiler lab (only with a different starting pdb and ligand).

I am running the command:

rosetta_scripts.linuxgccrelease -database $ROSETTA_DATABASE -in:file:s /inputs/4XXX_model.pdb /inputs/MyLigand.pdb -in:file:extra_res_fa /inputs/MyLigand.params -nstruct 3 -parser:protocol /scripts/xml/dock.xml -mistakes:restore_pre_talaris_2013_behavior true

where: 4XXX_model.pdb is a single chain receptor after running clean_pdb.py.  MyLigand.pdb and MyLigand.params are both outputs from molfile_to_params.py.

However, I am running into the error:

protocols.jd2.PDBJobInputter: PDBJobInputter::pose_from_job
protocols.jd2.PDBJobInputter: filling pose from saved copy /inputs/MyLigand.pdb
protocols.rosetta_scripts.ParsedProtocol: =======================BEGIN MOVER Transform - transform=======================
ERROR:: Exit from: src/core/pose/util.cc line: 2267
[0x312d151]
...
[0x95250d]
protocols.rosetta_scripts.ParsedProtocol: Exception while processing procotol:
protocols.jd2.JobDistributor: 

[ERROR] Exception caught by JobDistributor for job MyLigand_0001

[ERROR] EXCN_utility_exit has been thrown from: src/core/pose/util.cc line: 2267

 

There doesn't seem to be any more information. And since my input files - to me - look okay, I am at a loss.

My dock.xml the same as the tutorial, only the InterfaceScoreCalculator native term has been removed (however, I also tried it with the term included):

<ROSETTASCRIPTS>

		<SCOREFXNS>
			<ligand_soft_rep weights=ligand_soft_rep>
			</ligand_soft_rep>
			<hard_rep weights=ligand>
			</hard_rep>
		</SCOREFXNS>

		<LIGAND_AREAS>
			<inhibitor_dock_sc chain=X cutoff=6.0 add_nbr_radius=true all_atom_mode=false/>
			<inhibitor_final_sc chain=X cutoff=6.0 add_nbr_radius=true all_atom_mode=false/>
			<inhibitor_final_bb chain=X cutoff=7.0 add_nbr_radius=false all_atom_mode=true Calpha_restraints=0.3/>
		</LIGAND_AREAS>

		<INTERFACE_BUILDERS>
			<side_chain_for_docking ligand_areas=inhibitor_dock_sc/>
			<side_chain_for_final ligand_areas=inhibitor_final_sc/>
			<backbone ligand_areas=inhibitor_final_bb extension_window=3/>
		</INTERFACE_BUILDERS>

		<MOVEMAP_BUILDERS>
			<docking sc_interface=side_chain_for_docking minimize_water=false/>
			<final sc_interface=side_chain_for_final bb_interface=backbone minimize_water=false/>
		</MOVEMAP_BUILDERS>

		<SCORINGGRIDS ligand_chain="X" width="15">
			<classic grid_type="ClassicGrid" weight="1.0"/>
		</SCORINGGRIDS>

		<MOVERS>
			<Transform name="transform" chain="X" box_size="7.0" move_distance="0.2" angle="20" cycles="500" repeats="1" temperature="5"/>
			<HighResDocker name=high_res_docker cycles=6 repack_every_Nth=3 scorefxn=ligand_soft_rep movemap_builder=docking/>
			<FinalMinimizer name=final scorefxn=hard_rep movemap_builder=final/>
			<InterfaceScoreCalculator name=add_scores chains=X scorefxn=hard_rep />
		</MOVERS>

		<PROTOCOLS>
			<Add mover_name=transform/>
			<Add mover_name=high_res_docker/>
			<Add mover_name=final/>
			<Add mover_name=add_scores/>
		</PROTOCOLS>

</ROSETTASCRIPTS>

 

My input receptor PDB, ligand PDB, and params are also attached. Does anyone know what this generic error might mean? If anyone has any pointers, I would be forever indebted. I've been messing with this for far too long with no luck.

 

UPDATE:

I tried this with the input files taken directly from the Meiler lab's tutorial, and got the same result. So version differences maybe (I am using v3.7)? Next, I tried the same setup on the OSX build (on another maching obviously), and received the SAME error, BUT, it contained more stderr stacktrace information:

protocols.rosetta_scripts.ParsedProtocol: =======================BEGIN MOVER Transform - transform=======================
ERROR:: Exit from: src/core/pose/util.cc line: 2267
0   rosetta_scripts.macosclangrelease   0x0000000112321edb print_backtrace(char const*) + 59
1   rosetta_scripts.macosclangrelease   0x0000000112321ddc utility::exit(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) + 1100
2   rosetta_scripts.macosclangrelease   0x0000000110b0c6b5 utility::exit(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, int) + 37
3   rosetta_scripts.macosclangrelease   0x00000001110c1b2e core::pose::get_jump_id_from_chain_id(unsigned long const&, core::pose::Pose const&) + 142
4   rosetta_scripts.macosclangrelease   0x000000010fe3c577 protocols::ligand_docking::Transform::apply(core::pose::Pose&) + 103
5   rosetta_scripts.macosclangrelease   0x00000001109ee73d protocols::rosetta_scripts::ParsedProtocol::apply_mover(core::pose::Pose&, protocols::rosetta_scripts::ParsedProtocol::MoverFilterPair const&) + 1133
6   rosetta_scripts.macosclangrelease   0x00000001109e98de protocols::rosetta_scripts::ParsedProtocol::apply(core::pose::Pose&) + 1246
7   rosetta_scripts.macosclangrelease   0x0000000110b088c6 protocols::jd2::JobDistributor::run_one_job(std::__1::shared_ptr<protocols::moves::Mover>&, long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, unsigned long&, unsigned long&, bool) + 6582
8   rosetta_scripts.macosclangrelease   0x0000000110b0641b protocols::jd2::JobDistributor::go_main(std::__1::shared_ptr<protocols::moves::Mover>) + 331
9   rosetta_scripts.macosclangrelease   0x0000000110ae3c92 protocols::jd2::FileSystemJobDistributor::go(std::__1::shared_ptr<protocols::moves::Mover>) + 66
10  rosetta_scripts.macosclangrelease   0x000000010f4bb3c6 main + 502
11  libdyld.dylib                       0x00007fffb8a43235 start + 1
protocols.rosetta_scripts.ParsedProtocol: Exception while processing procotol:
protocols.jd2.JobDistributor: 

[ERROR] Exception caught by JobDistributor for job ETQ_0001

[ERROR] EXCN_utility_exit has been thrown from: src/core/pose/util.cc line: 2267

This is useless info to me, but it might be helpful for a dev here to see whats going on.

 

AttachmentSize
MyLigand.params.txt4.67 KB
MyLigand.pdb2.85 KB
4XXX_model.pdb325.38 KB
Category: 
Post Situation: 
Sun, 2017-05-14 17:51
brspurri

That cryptic error is Rosetta 3.7 trying to tell you that you don't have a chain X in your input structure. (The error messages have been made more useful in more recent versions of Rosetta.)

The issue is two-fold. First off, it doesn't look like you have quotes around the two input files. So you're doing a docking run on two separate systems once on /inputs/4XXX_model.pdb and another run on /inputs/MyLigand.pdb. Obviously, 4XXX_model.pdb doesn't have a chain X, and so the run fails. What you want to do is add quotes around the two structures, so -s "/inputs/4XXX_model.pdb /inputs/MyLigand.pdb" -- this tells the shell (and Rosetta)  to treat them as a single unit, rather than two separate inputs. ... except there's a bug in Rosetta 3.7 (specifically) which means it doesn't work with the quoted pair of inputs. Even if you are using the quotes, you'll get the same error.

What you need to do is manually concatenate the two PDBs into a single input PDB, and then pass that (single) PDB as the input to the docking run.

Mon, 2017-05-15 08:22
rmoretti

Yup, that did it. Thanks!

Mon, 2017-05-15 11:48
brspurri