Hi!
How can I read parameters of several metal ions, solvent molecules or ligands?
When I try to run this:
from rosetta import *
init()
params_list=Vector1(['SO4.params','K.params','MG.params'])
res_set = generate_nonstandard_residue_set(params_list)
I get the following error:
...
In [4]: res_set = generate_nonstandard_residue_set(params_list)
core.chemical.ResidueTypeSet: Finished initializing fa_standard residue type set. Created 7533 residue types
ERROR: Residue names must be unique!
ERROR:: Exit from: src/core/chemical/ResidueTypeSet.cc line: 358
---------------------------------------------------------------------------
RuntimeError Traceback (most recent call last)
/data/mcm/henricsn/sysmolab/results/2011-07_LmPYK/ in ()
/scratch/mcm/henricsn/lib/PyRosetta/rosetta/__init__.pyc in generate_nonstandard_residue_set(params_list)
206 res_set.read_files(params_list, ChemicalManager.get_instance().atom_type_set("fa_standard"),
207 ChemicalManager.get_instance().mm_atom_type_set("fa_standard"),
--> 208 ChemicalManager.get_instance().orbital_type_set("fa_standard"),
209 )
210 return res_set
RuntimeError: unidentifiable C++ exception
The paramfiles MG.params SO4.params K.params are in the same directory (attachment).
Thanks for your help.
Stefan
Attachment | Size |
---|---|
![]() | 527 bytes |
![]() | 526 bytes |
![]() | 647 bytes |
Well, as it says, residue names must be unique. One of your added ones is clashing with an existing one, or you're managing to add them twice.
I would guess it's magnesium, given that that's already in the default residue type set. My second guess would be that it's a K-potassium versus K-lysine conflict.
The problem of reading metal ions was coming from the spacing in the PDB file. The same problem was already posted in http://www.rosettacommons.org/content/some-application-troubles-when-usi...
Here is a sample script and a test pdbfile with correct spacing:
from rosetta import *
init()
params_list=Vector1(['SO4.params'])
res_set = generate_nonstandard_residue_set(params_list)
p=Pose()
pose_from_pdb(p, "test.pdb")