You are here

ERROR: unrecognized element Rp when using pose_from_pdb

4 posts / 0 new
Last post
ERROR: unrecognized element Rp when using pose_from_pdb

Hi, I am new to PyRosetta and I have just installed it.

I want to load a pose using 'pose_from_pdb' but the following error occured:

>>> pose = pose_from_pdb('test.pdb')
core.chemical.GlobalResidueTypeSet: {0} For ResidueTypeSet fa_standard there is                                           no exclude_pdb_component_list.txt file to list known PDB ids.
core.chemical.GlobalResidueTypeSet: {0}     This will turn off PDB component loa                                          ding for ResidueTypeSet fa_standard
core.chemical.GlobalResidueTypeSet: {0}     Expected file: /home/xtal/PyRosetta.                                          ScientificLinux-r56316.64Bit/rosetta_database/chemical/residue_type_sets/fa_stan                                          dard/exclude_pdb_component_list.txt

ERROR: unrecognized element  Rp
ERROR:: Exit from: /scratch/benchmark/W.hojo-2/rosetta.Hojo-2/_commits_/main/sou                                          rce/src/core/chemical/ line: 41
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/cltam/miniconda3/lib/python3.7/site-packages/pyrosetta/io/__init__                                          .py", line 20, in pose_from_pdb
    return pose_from_file(filename)

File: /scratch/benchmark/W.hojo-2/rosetta.Hojo-2/_commits_/main/source/src/core/                                          chemical/
[ ERROR ] UtilityExitException
ERROR: unrecognized element  Rp

May I know if you have a similar experience?

The attached is my the 'test.pdb' I wanted to load.

Thank you very much.

test.pdb66.38 KB
Post Situation: 
Thu, 2020-07-09 02:53

What happens if you add '-load_PDB_components false' as an extra argument during your first init? Your PDB is fine and contains no ligands with the element RP —I tried it on my machine:

import pyrosetta
import nglview

pyrosetta.init(extra_options='-no_optH false -mute all')
pose = pyrosetta.pose_from_pdb('../../Downloads/test.pdb')

And I got a nice IG fold protein.PDB component list is blamed at the top of yours and it is an atomtype, not residue type, so no unparameterised ligand anyway.

Actually, there is no element called RP and Rosetta goes up to "Meitnerium" (109).

I suspect a newly added PDB has a residue RB that is an ion but instead of RB as RP in its element column. Did you just install Pyrosetta (if not what does `pyrosetta.version()` say?)



Thu, 2020-07-09 06:50

The message "For ResidueTypeSet fa_standard there is no exclude_pdb_component_list.txt file to list known PDB ids." is very odd to me. fa_standard should have an exclusion list, if you're using a properly formated recent version of the PyRosetta database.

My initial thought is that you're not using the appropriate Rosetta database for your version of PyRosetta. You are either picking up an "off" version of the database somehow, or you (or someone using the same PyRosetta install you are) have deliberately modified the database and neglected to mention it.

When you call init(), it should print out information about where the database it's using is located. What does that print out? Does the location make sense with respect to the location where you have installed that particular version of PyRosetta? (Note that the database is intimately tied to the version of (Py)Rosetta - you can't necessarily expect the database from one version of (Py)Rosetta to work with a different version of (Py)Rosetta.)

Thu, 2020-07-09 08:26

Acutally, the database location is being printed in your error message. It's looking at /home/xtal/PyRosetta.ScientificLinux-r56316.64Bit/rosetta_database/  Is this the version of PyRosetta you're using? r56316 is rather old  ... like, over 6 years old, and well predates the exclude_pdb_components mechanism -- I'm highly suspecting you have a PyRosetta code/database mismatch here.

I'm not sure why it's picking up that rather ancient version of the database. What is your init() command? You aren't manually passing a `-database` option, are you?

What does init() print? That should give more info about how PyRosetta is picking up the database path.

You may also want to do a `env | grep ROSETTA` at the shell (BASH) command line. This should give us info about what environment setting you have, and if you're manually setting the database path via an environment variable.


Thu, 2020-07-09 08:35