You are here

PyRosetta surface docking not working

7 posts / 0 new
Last post
PyRosetta surface docking not working
#1

Hi all,
I want to use the RosettaSurface algorithm and I first want to try to run surface_docking.py on the osteocalcin example given in demos (/demos/protocol_capture/2013/surface_docking/PyRosetta surface docking/).

I got this error:
ERROR: unrecognized aa CGU
ERROR:: Exit from: src/core/io/pdb/file_data.cc line: 1584
Traceback (most recent call last):
File "/media/storage/a/software/rosetta_src_2015.02.57538_bundle/demos/protocol_capture/2013/surface_docking/PyRosetta surface docking/scripts/surface_docking.py", line 145, in <module>
pose_from_pdb(start_pose, input)
RuntimeError: unidentifiable C++ exception

So I tried to change CGU into GLU and got the following error:
can not find a residue type that matches the residue GLU_p:carboxylatedat position 17

ERROR: core::util::switch_to_residue_type_set fails

ERROR:: Exit from: src/core/util/SwitchResidueTypeSet.cc line: 312
Traceback (most recent call last):
File "/media/storage/a/software/rosetta_src_2015.02.57538_bundle/demos/protocol_capture/2013/surface_docking/PyRosetta surface docking/scripts/surface_docking.py", line 208, in <module>
switch_low.apply(pose)
RuntimeError: unidentifiable C++ exception

I then tried to change CGU into GLU_p and got another error:
ERROR: Assertion failure: runtime_assert( ( begin + size - 1 ) <= pose.total_residue() );
ERROR:: Exit from: src/protocols/simple_moves/FragmentMover.cc line: 307
Traceback (most recent call last):
File "/media/storage/a/software/rosetta_src_2015.02.57538_bundle/demos/protocol_capture/2013/surface_docking/PyRosetta surface docking/scripts/surface_docking.py", line 215, in <module>
abinitio.apply(pose)
File "/media/storage/a/software/rosetta_src_2015.02.57538_bundle/demos/protocol_capture/2013/surface_docking/PyRosetta surface docking/scripts/movers.py", line 50, in apply
self.abinitio.apply(pose)
RuntimeError: unidentifiable C++ exception

Does anyone have an idea what is going wrong?
Thanks,
Camille

Category: 
Post Situation: 
Mon, 2015-03-16 05:45
cgautier

Hi Camille,

First off, you shouldn't have to change anything in your input PDB. Carboxylated glutamic acid should be recognized by PyRosetta using only the 3 letter code "CGU" just as you have. Are you using the latest version of PyRosetta and the PyRosetta database? The parameters for CGU should be included in the PyRosetta database as of 2013 (so if you have the protocol capture directory you should also have the ability to read CGU).

To check if you have the parameters for CGU go into your PyRosetta directory and open the file "database/chemical/residue_type_sets/fa_standard/patches.txt" and see if glu_carboxylated.txt is listed there *without* a "#" symbol in front of it. If you don't have this file listed in your patches.txt then PyRosetta won't know how to handle CGU. If you obtain the latest version of PyRosetta I'm confident CGU should work perfectly out of the box. Let me know if this helps!

Mike

Mon, 2015-03-16 11:27
mpacella

Hi Mike,
Thank you for your answer. I have checked patches.txt and glu_carboxylated is listed without the # symbol. I have the latest version of PyRosetta so I don't understand why it does not work...
Camille

Tue, 2015-03-17 03:08
cgautier

Hmm. OK, within the database/chemical/residue_type_sets/fa_standard/patches directory is there a file named glu_carboxylated.txt? If that file exists and is listed in patches.txt you shouldn't have trouble loading in CGU. The fact that you are seeing errors that involve "GLU_p:carboxylated" is why I am concerned you may not have the latest version. A few months ago there was a change in the code that removed the underscore character from the residue type names, so the fact that you are seeing an underscore may indicate that there is something wrong with your version of PyRosetta (or at least the PyRosetta database). Let me look through the surface docking code and double check that it isn't doing anything that involves an old nonstandard residue typeset somehow.

Mike

Tue, 2015-03-17 08:27
mpacella

Hi,
I have downloaded PyRosetta on the 27/01/15, http://graylab.jhu.edu/download/PyRosetta/archive/release/monolith.linux.... I tried to download it again today but it seems there is a problem in the files:

#tar -xvjf PyRosetta.namespace.linux.release:48.tar.bz2
tar (child): Cannot connect to PyRosetta.namespace.linux.release: resolve failed

bzip2: Compressed file ends unexpectedly;
perhaps it is corrupted? *Possible* reason follows.
bzip2: Invalid argument
Input file = (stdin), output file = (stdout)

It is possible that the compressed file(s) have become corrupted.
You can use the -tvv option to test integrity of such files.

You can use the `bzip2recover' program to attempt to recover
data from undamaged sections of corrupted files.

tar: Child returned status 128
tar: Error is not recoverable: exiting now

Same error with:
# tar -vjxf PyRosetta.monolith.linux.release:48.tar.bz2

Camille

Wed, 2015-03-18 06:45
cgautier

I'd guess the colon in the file name is confusing tar, it thinks you're trying to access a remote archive (i.e. - it's treating PyRosetta.namespace.linux.release as a hostname, like when you do scp or rsync). Wasn't aware tar could do that. Simplest solution is to add the --force-local flag to tar, which overrides this behavior, but removing the colon from the filename will work too. Be advised you'll have similar issues later on: the PyRosetta directory has a colon in the name and all of the *PATH environment variables are colon-delimited (on a *nix environment, at least); again, renaming the directory to remove the colon is probably the best solution.

Wed, 2015-03-18 10:14
pitmand

Camille - thank you for letting us know! I will make sure to remove colon from file names in future releases.

Wed, 2015-03-18 11:22
Sergey