-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OBBioMatchError #4
Comments
Hey, I'm having the same issue here, with a structure that works just fine on the web server, and fails with this package. I am using OpenMM's PDBFixer to clean an input file download from RCSB, attached here: clean_5lxr.pdb.zip Steps to reproduce:First download and unzip input file clean_5lxr.pdb.zip, then: conda create -n arpeggio-env python=3.7
conda activate arpeggio-env
conda install -c openbabel openbabel
pip install git+https://github.com/PDBeurope/arpeggio.git@master#egg=arpeggio
arpeggio clean_5lxr.pdb Full TracebackINFO//16:44:50.496//Program begin.
WARNING//16:44:50.496//No selection was perceived. Defaults into full structure!!
/Users/hippolyte/opt/miniconda3/envs/arpeggio-env/lib/python3.7/site-packages/Bio/PDB/StructureBuilder.py:92: PDBConstructionWarning: WARNING: Chain A is discontinuous at line 3359.
PDBConstructionWarning,
/Users/hippolyte/opt/miniconda3/envs/arpeggio-env/lib/python3.7/site-packages/Bio/PDB/StructureBuilder.py:92: PDBConstructionWarning: WARNING: Chain B is discontinuous at line 3367.
PDBConstructionWarning,
/Users/hippolyte/opt/miniconda3/envs/arpeggio-env/lib/python3.7/site-packages/Bio/PDB/StructureBuilder.py:92: PDBConstructionWarning: WARNING: Chain A is discontinuous at line 3368.
PDBConstructionWarning,
/Users/hippolyte/opt/miniconda3/envs/arpeggio-env/lib/python3.7/site-packages/Bio/PDB/StructureBuilder.py:92: PDBConstructionWarning: WARNING: Chain B is discontinuous at line 3411.
PDBConstructionWarning,
DEBUG//16:44:50.536//Loaded PDB structure (BioPython)
DEBUG//16:44:51.450//Loaded PDB structure (OpenBabel)
ERROR//16:44:51.451//An OpenBabel atom could not be matched to a BioPython counterpart.
Traceback (most recent call last):
File "/Users/hippolyte/opt/miniconda3/envs/arpeggio-env/lib/python3.7/site-packages/arpeggio/core/interactions.py", line 1995, in _establish_structure_mappping
biopython_atom = serial_to_bio[serial]
KeyError: 0
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/hippolyte/opt/miniconda3/envs/arpeggio-env/bin/arpeggio", line 8, in <module>
sys.exit(main())
File "/Users/hippolyte/opt/miniconda3/envs/arpeggio-env/lib/python3.7/site-packages/arpeggio/scripts/process_protein_cli.py", line 79, in main
run_arpeggio(args)
File "/Users/hippolyte/opt/miniconda3/envs/arpeggio-env/lib/python3.7/site-packages/arpeggio/scripts/process_protein_cli.py", line 89, in run_arpeggio
i_complex = InteractionComplex(args.filename, args.vdw_comp, args.interacting, args.ph)
File "/Users/hippolyte/opt/miniconda3/envs/arpeggio-env/lib/python3.7/site-packages/arpeggio/core/interactions.py", line 92, in __init__
self._establish_structure_mappping()
File "/Users/hippolyte/opt/miniconda3/envs/arpeggio-env/lib/python3.7/site-packages/arpeggio/core/interactions.py", line 1998, in _establish_structure_mappping
raise OBBioMatchError(serial)
arpeggio.core.exceptions.OBBioMatchError: 0 Thanks for your help, Hippolyte |
Hi Hippolyte, Strangely I have since run the python 2.7 version of this and it seems to work (with some warnings). I still have to clean up my structures before using them, but I get a result! |
Hi @kuraisle thanks for sharing, I've been as well using the py2.7 version, which works just fine with the structures that I have :) |
This is indeed a problem for ever PDB file (downloading the same CIF file from RCSB works). The issue is that the the
results in:
It seems to me that for the PDB file it is using "standard" OpenBabel functions for reading in the file, whereas an mmCIF file uses in-house written code. I haven't gone through the code in detail where the difference originates from, but this definitely needs to be fixed as running a PDB or mmCIF file should give the same result. |
Hi all, I have a somewhat dirty fix. My _establish_structure_mappping() method in arpeggio/core/interactions.py (starting at line 1981) now looks like this:
I'm happy to let the author fix it in a cleaner way, or let someone else do a proper pull request. |
Added bug fix as noted PDBeurope#4
Hi,
I'm trying to run a structure through arpeggio. It works fine on the web server. I've used the "clean_pdb.py" script from PDBTools on it and I still get the OBBioMatchError. None of my atoms have alternative locations and all of my atom serial numbers are unique. If there's anything else I could try, that would be great!
Thanks,
James
The text was updated successfully, but these errors were encountered: