Comments (6)
Ugh, this is a protein preparation / bonding issue. pdb2pqr
adds terminal atoms to GLN 227 during the protein preparation but the distances are probably a bit off for atom 3514 so the bonds are not guessed correctly for it and it's not considered "protein" anymore.
In [8]: prot = prepareProteinForAtomtyping(prot)
In [11]: prot.atomselect('not protein', indexes=True)
Out[11]: array([3514], dtype=int32)
In [12]: prot.get('resname', sel='not protein')
Out[12]: array(['GLN'], dtype=object)
In [13]: prot.get('resid', sel='not protein')
Out[13]: array([227])
If that atom is not close to any site of interest I would suggest removing it with prot.remove('index 3514')
and continuing with the voxelization. A bit of an extreme solution but sometimes you really can't win with such complex protocols and external software.
If it occurs in many other cases feel free to report them and I will check if anything can be done about it.
from moleculekit.
I catch the reason. Hmmmmm...
Actually I met the error several times, and thus far I avoided those by downloading atomtyper.py and voxeldescriptors.py and modified notallowed = ~(protsel | metalsel)
to notallowed = ~(protsel | metalsel | stdaasel)
(there is an another reason to decide modify atomtyper.py: some protein has PB, BA, and other metals, btw).
Actually, I utilized preprocessed PDB files, thus I could not guarantee which PDB record raise the error in original state. If you want, I will check it for original PDB files of interest.
from moleculekit.
But my second thought is that below code is probably more robust:
prot = Molecule("pdb1e2x.ent.gz")
prot.filter("protein or ions") # remove H2O and SO4
prot = prepareProteinForAtomtyping(prot)
prot.filter("protein or ions") # remove isolated atoms
prot_vox, prot_centers, prot_N = getVoxelDescriptors(prot, buffer=1)
Is it valid way to avoid the issue for you?
from moleculekit.
from moleculekit.
Okay I understand! I will monitor the numbers.
from moleculekit.
I will close the issue for now. If you have any further questions feel free to comment here or open a new one
from moleculekit.
Related Issues (20)
- Add support for preparing non-canonical residues with backbone modifications HOT 1
- Small molecule CIFs can have ? coordinates HOT 1
- Wrapping bug puts water atoms way outside the box in a small set of frames HOT 1
- Finding difference between voxels of two different protein HOT 1
- PIP incompatibility: filename has '1.2.0', but metadata has '0' HOT 5
- Protein atoms regarded as nonprotein atoms by atomselect() HOT 2
- Add sasa option to the atom selection language HOT 2
- Update getFingerprint in moleculekit HOT 2
- SmallMolLib unexpected behaviour HOT 4
- atomselect fails on resnames that start with number HOT 3
- Syntax error with atomselect HOT 6
- ImportError HOT 3
- Conda package contains `.h` and `.cpp` HOT 7
- `atomselect` doesn't recognize `numbonds` HOT 1
- Failed to parse selection resid<200 HOT 3
- ValueError: Unable to debump biomolecule. Biomolecular structure is incomplete: Found gap in biomolecule structure for atom ATOM HOT 6
- Editing velocity files HOT 2
- numpy version, infinite loop when calling Molecule HOT 2
- `atomselect` improvements
- Fix issue with terminal histidine protonation HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from moleculekit.