Git Product home page Git Product logo

Comments (6)

fkaiserbio avatar fkaiserbio commented on August 17, 2024

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.

DSuveges avatar DSuveges commented on August 17, 2024

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.

DSuveges avatar DSuveges commented on August 17, 2024

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.

DSuveges avatar DSuveges commented on August 17, 2024

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.

fkaiserbio avatar fkaiserbio commented on August 17, 2024

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.

DSuveges avatar DSuveges commented on August 17, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.