I'm made parameters for a carboxylated lysine residue as well as parameters for a fluorinated phenylalanine. Both sets of parameters work fine in Rosetta. But PyRosetta throws the following errors when I try to use them or when I add the parameters to the database (whether I use them or not).
>>> res_set = generate_nonstandard_residue_set(['KCX.params','PFF.params'])
core.chemical.ResidueTypeSet: Finished initializing fa_standard residue type set. Created 8524 residue types
ERROR: Unable to convert 'CARBOXY' to a bond type description.
ERROR:: Exit from: src/core/chemical/Bond.cc line: 47
Traceback (most recent call last):
File "./get_phe.py", line 20, in <module>
pose_from_pdb(p, f)
RuntimeError: unidentifiable C++ exception
ERROR: Unable to convert 'ARO' to a bond type description.
ERROR:: Exit from: src/core/chemical/Bond.cc line: 47
Traceback (most recent call last):
File "./get_phe.py", line 20, in <module>
pose_from_pdb(p, f)
RuntimeError: unidentifiable C++ exception
It's strange that Rosetta accepts these params but PyRosetta does not.
How can I get these to work?
Thanks for any help.
-Leif
It's a version issue - Recognition of CARBOXY and ARO as bond type descriptions are a rather recent addition. I'm guessing you have a version of Rosetta that is more recent than that addition, whereas your PyRosetta version predates that addition.
In your params files, simply replace CARBOXY and ARO on the BOND_TYPE lines with the numeral "4", which should work for both older and more recent Rosetta and PyRosetta runs.
That solved the problem. You were right on both accounts; it turns out I was using an older version of PyRosetta and changing CARBOXY and ARO to '4' also works for that older version. Thanks!