Comments (6)
Hi DSuveges,
thanks for reporting this, this is very interesting. 5ddp is a nucleotide structure, maybe OpenBabel has issues there. I think it is clearly not related to PLIP itself, because I cannot reproduce this when running in Docker with
OpenBabel 3.0.0
Python 3.6.9
PLIP 2.2.1
Docker command:
$ docker run --rm \
-v ${PWD}:/results \
-w /results \
-u $(id -u ${USER}):$(id -g ${USER}) \
pharmai/plip:v2.2.1 -yv -i 5ddp --dnareceptor
What you could try is to use the same Python, PLIP and OpenBabel version as in the Ubuntu 18.04 Docker image and see whether the problem occurs again. If you compiled OpenBabel yourself, it could be worth to check your build for errors as well.
Alternatively, you could submit a bug report for the OpenBabel project. I think this not an issue for PLIP, but I will keep it open for reference. Apparently, some version combinations of Python + PLIP + OpenBabel are unstable. Please let us know if you got updates.
from plip.
Hi @fkaiserbio , Thank you so much for the quick reply, really appreciated! It is kind of good sign that at least some combination of versions work. :) I'll give it a go. (I didn't compile babel, instead installed everything via conda.) I surely let you know how it goes.
from plip.
I installed an environment (on macOS Monterey) via conda. These are the components:
- openbabel=3.0.0=py36h8e5abb1_1
- plip=2.2.1=pyhd8ed1ab_0
- python=3.6.9=hce46be0_0_cpython
However I still got the segmentation fault. :(
In [1]: from plip.structure.preparation import PDBComplex
In [2]: mol_complex = PDBComplex()
In [3]: mol_complex.load_pdb('5ddp.pdb')
[1] 59868 segmentation fault ipython
OK, I was thinking let's try running the analysis on the command line. First time I got this:
plip -yv -i 5ddp --dnareceptor
2022-03-12 16:27:16,602 [ERROR] [plipcmd.py:285] plip.plipcmd: PyMOL is required for the --pics and --pymol option
Then I installed pymol and the command run successfully:
2022-03-12 16:34:54,550 [INFO] [plipcmd.py:124] plip.plipcmd: Protein-Ligand Interaction Profiler (PLIP) 2.2.1
2022-03-12 16:34:54,550 [INFO] [plipcmd.py:125] plip.plipcmd: brought to you by: PharmAI GmbH (2020-2021) - www.pharm.ai - [email protected]
2022-03-12 16:34:54,550 [INFO] [plipcmd.py:126] plip.plipcmd: please cite: Adasme,M. et al. PLIP 2021: expanding the scope of the protein–ligand interaction profiler to DNA and RNA. Nucl. Acids Res. (05 May 2021), gkab294. doi: 10.1093/nar/gkab294
Cannot find license file.
The license files (or license server system network addresses) attempted are
listed below. Use LM_LICENSE_FILE to use a different license file,
or contact your software provider for a license file.
Feature: PYMOL_MAIN
Filename: /Library/Application Support/Schrodinger/licenses
License path: /Library/Application Support/Schrodinger/licenses:
FlexNet Licensing error:-1,359. System Error: 2 "No such file or directory"
For further information, refer to the FlexNet Licensing documentation,
available at "www.flexerasoftware.com".
2022-03-12 16:34:55,374 [INFO] [plipcmd.py:99] plip.plipcmd: file downloaded as ./5ddp.pdb
2022-03-12 16:34:55,374 [INFO] [plipcmd.py:49] plip.plipcmd: starting analysis of 5ddp.pdb
2022-03-12 16:34:57,604 [INFO] [plipcmd.py:73] plip.plipcmd: generating visualizations in parallel on 8 cores
Executive: object "5ddpCartoon" created.
Executive: object 5ddpCartoon created.
Executive: object "5ddpCartoon" created.
Executive: object 5ddpCartoon created.
Executive: object "5ddpCartoon" created.
Executive: object 5ddpCartoon created.
Executive: object "5ddpCartoon" created.
Executive: object "5ddpCartoon" created.
Executive: object 5ddpCartoon created.
Executive: object 5ddpCartoon created.
Executive: object "5ddpCartoon" created.
Executive: object 5ddpCartoon created.
Executive: object "5ddpCartoon" created.
Executive: object 5ddpCartoon created.
Executive: object "5ddpCartoon" created.
Executive: object 5ddpCartoon created.
2022-03-12 16:34:58,177 [INFO] [plipcmd.py:163] plip.plipcmd: finished analysis, find the result files in the working directory
Quite strange. What do you think, what is different between the two use cases? When looking at the plipcmd file, it looks the same:
mol = PDBComplex()
mol.output_path = outpath
mol.load_pdb(pdbfile, as_string=as_string)
from plip.
OK, we have just realised the command line throws segmentation fault if you omit the --dnareceptor
switch. I can imagine how such a large protein/DNA complex can overload babel. We'll then need to investigate how to implement the effect of this switch in our script.
from plip.
Okay, that is a good clue! Strangely, the Docker command runs, even without the --dnareceptor
switch:
$ docker run --rm \
-v ${PWD}:/results \
-w /results \
-u $(id -u ${USER}):$(id -g ${USER}) \
pharmai/plip:v2.2.1 -yv -i 5ddp
2022-03-14 10:37:33,819 [INFO] [plipcmd.py:124] plip: Protein-Ligand Interaction Profiler (PLIP) 2.2.1
2022-03-14 10:37:33,819 [INFO] [plipcmd.py:125] plip: brought to you by: PharmAI GmbH (2020-2021) - www.pharm.ai - [email protected]
2022-03-14 10:37:33,819 [INFO] [plipcmd.py:126] plip: please cite: Adasme,M. et al. PLIP 2021: expanding the scope of the protein\u2013ligand interaction profiler to DNA and RNA. Nucl. Acids Res. (05 May 2021), gkab294. doi: 10.1093/nar/gkab294
2022-03-14 10:37:33,819 [INFO] [webservices.py:41] plip.exchange.webservices: downloading file from PDB
2022-03-14 10:37:34,797 [INFO] [plipcmd.py:99] plip: file downloaded as ./5ddp.pdb
2022-03-14 10:37:34,797 [INFO] [plipcmd.py:49] plip: starting analysis of 5ddp.pdb
2022-03-14 10:37:34,825 [INFO] [preparation.py:1351] plip.structure.preparation: 10 lines automatically fixed in PDB input file
2022-03-14 10:37:34,835 [DEBUG] [supplemental.py:397] plip.basic.supplemental: detected pdb as format, trying to read file with OpenBabel
2022-03-14 10:37:35,081 [DEBUG] [supplemental.py:414] plip.basic.supplemental: molecule successfully read
2022-03-14 10:37:35,090 [INFO] [preparation.py:1372] plip.structure.preparation: PDB structure successfully read
2022-03-14 10:37:35,090 [DEBUG] [preparation.py:1383] plip.structure.preparation: PyMOL name set as: 5ddp
2022-03-14 10:37:35,094 [DEBUG] [preparation.py:410] plip.structure.preparation: 143 ligand(s) after first filtering step
2022-03-14 10:37:35,096 [DEBUG] [preparation.py:271] plip.structure.preparation: 13 ligand kmer(s) detected for closer inspection
2022-03-14 10:37:35,137 [DEBUG] [preparation.py:298] plip.structure.preparation: finalizing extraction for ligand C:A:1 with 129 elements
2022-03-14 10:37:35,138 [DEBUG] [preparation.py:309] plip.structure.preparation: ligand classified as RNA+ION
2022-03-14 10:37:35,143 [DEBUG] [preparation.py:322] plip.structure.preparation: hetero atoms determined (n=2621)
2022-03-14 10:37:35,295 [DEBUG] [preparation.py:333] plip.structure.preparation: atom neighbours mapped
2022-03-14 10:37:35,304 [DEBUG] [preparation.py:358] plip.structure.preparation: renumerated molecule generated
I'm not familiar with Conda but maybe the shipped OpenBabel version is erroneous pre-compiled?
from plip.
Maybe, however if we apply the same configuration in our script it works:
from plip.structure.preparation import PDBComplex
from plip.basic import config
config.DNARECEPTOR = True
mol_complex = PDBComplex()
mol_complex = PDBComplex()
mol_complex.load_pdb('./5ddp.pdb')
No more segmentation fault. Although as you say it is not the complete resolution, as there's likely some problem with babel, however it now works for us and we don't really have the capacity to dig further. We consider the issue resolved.
Thank you so much for your input!
from plip.
Related Issues (20)
- XML filename shouldn't be `report.xml` HOT 2
- Openbabel package name conflict HOT 2
- python module stuck in loop with some pdb files
- Traceback (most recent call last): File "/plip/plip/plipcmd.py", line 16, in <module> from plip.basic import config, logger ModuleNotFoundError: No module named 'plip' HOT 1
- How to go about finding interacting Amino Acid Residues of ~1 billion compounds (In PDBQT) HOT 1
- Batch mode for protein-peptide
- pymol.CmdException: Error: Object not found
- << PLIP took forever >>
- Segmentation error with pdb files: HOT 1
- Calculate and report interactions for just one amino acid residue
- Generated RST file missing blank line after section titles
- Option not to add whitespace after trimming
- supplemental.py:90: RuntimeWarning: invalid value encountered in arccos
- The ligand structure is not visible.
- conf.NOHYDRO and aromatics
- MmCIF support HOT 1
- Extract interaction specifically for RNA-small molecule ligand and exclude other interactions in the output
- Incorrectly indexed interacting residues HOT 2
- Is there any parameters which can control the report results only include the lig interaction within protein instead of some residue interaction in protein? HOT 10
- How to get Information on sidechain/backbone hydrogen bond type in command options?
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 plip.