RosettaCommons / PyRosetta.notebooks

Jupyter Notebooks for learning the PyRosetta platform for biomolecular structure prediction and design
https://rosettacommons.github.io/PyRosetta.notebooks/
MIT License
447 stars 145 forks source link

How to deal with the error: Too many tries in fill_missing_atoms? #92

Closed JonasLi-19 closed 10 months ago

JonasLi-19 commented 10 months ago

I am using pyrosetta to mutate specific amino acids to output a new protein file, but I encounter the following trouble when it comes to (pdbid 3V4T) which contains HETATM IAS :

core.conformation.Conformation: [ WARNING ] missing heavyatom:  OXT on residue GLU:CtermProteinFull 418
core.conformation.Conformation: [ WARNING ] missing heavyatom:  OXT on residue GLU:CtermProteinFull 836
core.conformation.Conformation: [ WARNING ] missing heavyatom:  OXT on residue GLU:CtermProteinFull 1254
core.conformation.Conformation: [ WARNING ] missing heavyatom:  OXT on residue GLU:CtermProteinFull 1672
core.conformation.Conformation: [ WARNING ] missing heavyatom: N on residue pdb_IAS 1673
core.conformation.Conformation: [ WARNING ] missing heavyatom: CA on residue pdb_IAS 1673
core.conformation.Conformation: [ WARNING ] missing heavyatom: C on residue pdb_IAS 1673
core.conformation.Conformation: [ WARNING ] missing heavyatom: O on residue pdb_IAS 1673
core.conformation.Conformation: [ WARNING ] missing heavyatom: CB on residue pdb_IAS 1673
core.conformation.Conformation: [ WARNING ] missing heavyatom: CG on residue pdb_IAS 1673
core.conformation.Conformation: [ WARNING ] missing heavyatom: OD1 on residue pdb_IAS 1673
core.conformation.Conformation: [ WARNING ] missing heavyatom: OD2 on residue pdb_IAS 1673
core.conformation.Conformation: [ WARNING ] Rebuilding missing atom (HXT) from residue pdb_IAS 1673 from faked coordinates, due to too few atoms being present.
This probably means that this residue should be further optimized...

ERROR: too many tries in fill_missing_atoms!
ERROR:: Exit from: /home/benchmark/rosetta/source/src/core/conformation/Conformation.cc line: 1933
Traceback (most recent call last):
  File "/data2/rjli/ROSETTA_SCRIPTS/Disable_H-bond.py", line 15, in <module>
    pose = pose_from_pdb(protein_file)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data2/rjli/mambaforge/envs/rosetta/lib/python3.11/site-packages/pyrosetta/io/__init__.py", line 20, in pose_from_pdb
    return pose_from_file(filename)
           ^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: 

File: /home/benchmark/rosetta/source/src/core/conformation/Conformation.cc:1933
[ ERROR ] UtilityExitException
ERROR: too many tries in fill_missing_atoms!
roccomoretti commented 10 months ago

IAS is L-aspartic acid, but linked as a beta amino acid. Right now, Rosetta is trying to load the residue parameterization from the wwPDB's Chemical Components Dictionary, but it's having issues with the beta connectivity annotation.

If you want to use the residue as-is, you're likely going to have to generate your own parameter file for it. Failing that, you could potentially use one of the other B-amino acid parameters which are already in the database (e.g. database/chemical/residue_type_sets/fa_standard/residue_types/beta-peptide/B3D.params), either as a template for the params file, or just as is. For the latter you would likely have to edit the input PDB to change atom name and residue specifications.