plip

Protein-Ligand Interaction Profiler - Analyze and visualize non-covalent protein-ligand interactions in PDB files according to πŸ“ Adasme et al. (2021), https://doi.org/10.1093/nar/gkab294

https://github.com/pharmai/plip

Science Score: 49.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • β—‹
    CITATION.cff file
  • βœ“
    codemeta.json file
    Found codemeta.json file
  • βœ“
    .zenodo.json file
    Found .zenodo.json file
  • βœ“
    DOI references
    Found 2 DOI reference(s) in README
  • β—‹
    Academic publication links
  • βœ“
    Committers with academic emails
    7 of 20 committers (35.0%) from academic institutions
  • β—‹
    Institutional organization owner
  • β—‹
    JOSS paper metadata
  • β—‹
    Scientific vocabulary similarity
    Low similarity (10.4%) to scientific vocabulary

Keywords

bioinformatics docker openbabel pdb plip protein-structure python-bindings scientific-computing singularity
Last synced: 6 months ago · JSON representation

Repository

Protein-Ligand Interaction Profiler - Analyze and visualize non-covalent protein-ligand interactions in PDB files according to πŸ“ Adasme et al. (2021), https://doi.org/10.1093/nar/gkab294

Basic Info
Statistics
  • Stars: 560
  • Watchers: 16
  • Forks: 118
  • Open Issues: 54
  • Releases: 35
Topics
bioinformatics docker openbabel pdb plip protein-structure python-bindings scientific-computing singularity
Created about 11 years ago · Last pushed 8 months ago
Metadata Files
Readme Changelog License

README.md

Protein-Ligand Interaction Profiler (PLIP)

PLIP Build GitHub GitHub All Releases Docker Pulls Docker Image Size (tag)

Analyze noncovalent protein-ligand interactions in 3D structures with ease.

PLIP Logo

| Use Case | Web Server | Docker | Singularity | Python Module | Colab | |---------------------------------------------------------------------------|--------------------|--------------------|--------------------|--------------------|--------------------| | "I want to analyze my protein-ligand complex!" | :heavycheckmark: | :heavycheckmark: | :yellowcircle: | :x: | :heavycheckmark: | | "I want to analyze a billion protein-ligand complexes!" | :x: | :yellowcircle: | :heavycheckmark: | :yellowcircle: | :x: | | "I love the Linux command line and want to build a workflow around PLIP!" | :x: | :heavycheckmark: | :heavycheckmark: | :yellowcircle: |:x: | | "I'm a Python programmer and want to use PLIP in my project!" | :x: | :yellowcircle: | :yellowcircle: | :heavycheckmark: | :yellowcircle: | | "I want to analyze large complexes!" | :x: | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | :heavycheck_mark: |


Quickstart

Docker

If you have Docker installed, you can run a PLIP analysis for the structure 1vsn with the following shell command:

On Linux / MacOS: bash $ docker run --rm \ -v ${PWD}:/results \ -w /results \ -u $(id -u ${USER}):$(id -g ${USER}) \ pharmai/plip:latest -i 1vsn -yv

On Windows: bash $ docker run --rm \ -v ${PWD}:/results \ -w /results \ -u $(id -u ${USER}):$(id -g ${USER}) \ pharmai/plip:latest -i 1vsn -yv

Singularity

The equivalent command for our pre-built Singularity image for Linux (available under Releases) is as follows:

bash $ ./plip.simg -i 1vsn -yv

Singularity allows to use PLIP with ease in HPC environments. Note that you need to have Singularity installed on your base system.

Google Colab

PLIP is available as a Google Colab to be used without the need to install it locally. It can be used without constraints in terms of PDB file and protein sizes.


Usage

This README provides instructions for setup and using basic functions of PLIP. For more details, see the Documentation.

1. Install PLIP

Containerized Image (recommended)

:exclamation: We ship PLIP as pre-built containers for multiple architectures (amd64/ARM), available on the Docker Hub or as pre-built Singularity image under Releases. See the quickstart section above for usage instructions.

Dependencies

If you cannot use the containerized bundle or want to use PLIP sources, make sure you have the following requirements installed: - Python >= 3.6.9 - OpenBabel >= 3.0.0 with Python bindings - PyMOL >= 2.3.0 with Python bindings (optional, for visualization only) - ImageMagick >= 7.0 (optional)

Python: If you are on a system where Python 3 is executed using python3 instead of just python, replace the python and pip commands in the following steps with python3 and pip3 accordingly.

OpenBabel: Many users have trouble setting up OpenBabel with Python bindings correctly. We therefore provide some installation help for OpenBabel below.

From Source

Open a terminal and clone this repository using bash $ git clone https://github.com/pharmai/plip.git

Either set your PYTHONPATH environment variable to the root directory of your PLIP repository or run the following command in it

bash $ python setup.py install

Via PyPi

We deploy the PLIP package to PyPi. You can install PLIP as Python module with:

bash $ pip install plip

Note: Be aware that you still have to install the above mentioned dependencies and link them correctly.

2. Run PLIP

Command Line Tool

Run the plipcmd.py script inside the PLIP folder to detect, report, and visualize interactions. The following example creates a PYMOL visualization for the interactions between the inhibitor NFT and its target protein in the PDB structure 1vsn.

Note: If you have installed PLIP with python setup.py install or PyPi, you will not have to set an alias for the plip command.

```bash

Set an alias to make your life easier and create and enter /tmp/1vsn

$ alias plip='python ~/plip/plip/plipcmd.py' $ mkdir /tmp/1vsn && cd /tmp/1vsn

Run PLIP for 1vsn and open the resulting visualization in PyMOL

$ plip -i 1vsn -yv $ pymol 1VSNNFTA_283.pse ```

Python Module

In your terminal, add the PLIP repository to your PYTHONPATH variable. For our example, we also download a PDB file for testing. bash $ export PYTHONPATH=~/plip:${PYTHONPATH} $ cd /tmp && wget http://files.rcsb.org/download/1EVE.pdb $ python In python, import the PLIP modules, load a PDB structure and run the analysis. This small example shows how to print all numbers of residues involved in pi-stacking:

```python from plip.structure.preparation import PDBComplex

mymol = PDBComplex() mymol.loadpdb('/tmp/1EVE.pdb') # Load the PDB file into PLIP class print(mymol) # Shows name of structure and ligand binding sites mybsid = 'E20:A:2001' # Unique binding site identifier (HetID:Chain:Position) mymol.analyze() myinteractions = mymol.interactionsets[mybsid] # Contains all interaction data

Now print numbers of all residues taking part in pi-stacking

print([pistack.resnr for pistack in my_interactions.pistacking]) # Prints [84, 129] ```

3. Investigate the Results

PLIP offers various output formats, ranging from renderes images and PyMOL session files to human-readable text files and XML files. By default, all files are deposited in the working directory unless and output path is provided. For a full documentation of running options and output formats, please refer to the Documentation.

Versions and Branches

For production environments, you should use the latest tagged commit from the master branch or refer to the Releases page. Newer commits from the master and development branch may contain new but untested and not documented features.

Contributors

PLIP Web Server

Visit our PLIP Web Server on plip-tool.biotec.tu-dresden.de.

License Information

PLIP is published under the GNU GPLv2. For more information, please read the LICENSE.txt file. Using PLIP in your commercial or non-commercial project is generally possible when giving a proper reference to this project and the publication in NAR.

Citation Information

If you are using PLIP in your work, 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

or

Salentin,S. et al. PLIP: fully automated protein-ligand interaction profiler. Nucl. Acids Res. (1 July 2015) 43 (W1): W443-W447. doi: 10.1093/nar/gkv315

FAQ

I try to run PLIP, but I'm getting an error message saying: ValueError: [...] is not a recognised Open Babel descriptor type

Make sure OpenBabel is correctly installed. This error can occur if the installed Python bindings don't match the OpenBabel version on your machine. We don't offer technical support for installation of third-party packages but added some installation help for OpenBabel below. Alternatively you can refer to their website.

I'm unsure on how to run PLIP and don't have much Linux experience.

You should consider running PLIP as Docker image, as we describe above.

PLIP is reporting different interactions on several runs!

Due to the non-deterministic nature on how hydrogen atoms can be added to the input structure, it cannot be guaranteed that each run returns exactly the same set of interactions. If you want to make sure to achieve consistent results, you can:

  • protonate the input structure once with PLIP or your tool of preference
  • run PLIP with --nohydro

How does PLIP handle NMR structures?

By default PLIP uses the first model it sees in a PDB file. You can change this behavior with the flag --model.

Installing OpenBabel

As many users encounter problems with installing the required OpenBabel tools, we want to provide some help here. However, we cannot offer technical support. Comprehensive information about the installation of OpenBabel for Windows, Linux, and macOS can be found in the OpenBabel wiki and the OpenBabel Docs. Information about the installation of OpenBabel Python bindings can also be found there.

Using Conda, HomeBrew or the binary Windows Installer

Install OpenBabel using the binary from GitHub or with ```bash

For Conda users

$ conda install openbabel -c conda-forge

On macOS

$ brew install open-babel Install the Python bindings with bash $ pip install openbabel ``` Note: If you have trouble, make sure the OpenBabel version matches the one for the python bindings!

Using your Package Manager (Example for Ubuntu 20.04)

bash $ apt-get update && apt-get install -y \ libopenbabel-dev \ libopenbabel6 \ python3-openbabel \ openbabel

From Source (Example for Ubuntu 18.04)

Clone the OpenBabel repository into the /src directory bash $ git clone -b openbabel-3-0-0 \ https://github.com/openbabel/openbabel.git

Within /src/openbabel create end enter a directory /build and configure the build using bash $ cmake .. \ -DPYTHON_EXECUTABLE=/usr/bin/python3.6 \ -DPYTHON_BINDINGS=ON \ -DCMAKE_INSTALL_PREFIX=/usr/local \ -DRUN_SWIG=ON From within the same directory (/src/openbabel/build) compile and install using bash $ make -j$(nproc --all) install

Contact / Maintainer

As of April 2020 PLIP is now officially maintained by PharmAI GmbH. Do you have feature requests, found a bug or want to use PLIP in your project? Commercial support is available upon request.

Please get in touch: hello@pharm.ai

Owner

  • Name: PharmAI GmbH
  • Login: pharmai
  • Kind: organization
  • Email: hello@pharm.ai
  • Location: Dresden, Germany

We accelerate your drug discovery project.

GitHub Events

Total
  • Create event: 2
  • Release event: 2
  • Issues event: 16
  • Watch event: 109
  • Issue comment event: 24
  • Push event: 16
  • Pull request review event: 2
  • Pull request event: 25
  • Fork event: 20
Last Year
  • Create event: 2
  • Release event: 2
  • Issues event: 16
  • Watch event: 109
  • Issue comment event: 24
  • Push event: 16
  • Pull request review event: 2
  • Pull request event: 25
  • Fork event: 20

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 430
  • Total Committers: 20
  • Avg Commits per committer: 21.5
  • Development Distribution Score (DDS): 0.502
Past Year
  • Commits: 3
  • Committers: 2
  • Avg Commits per committer: 1.5
  • Development Distribution Score (DDS): 0.333
Top Committers
Name Email Commits
Sebastian Salentin s****n@b****e 214
fkaiser c****t@f****o 71
lkagami l****i@u****r 46
Sebastian Salentin s****n@t****e 30
Florian Kaiser k****r@p****i 14
Xavier Robin x****n@u****h 9
Melissa Adasme m****e@b****e 8
Katja Linnemann k****4@w****e 8
Philipp Matthes g****b@p****s 6
Alex Mestiashvili a****x@b****e 5
Joachim Haupt j****t@b****e 5
Xavier Robin x****b@x****e 5
김성은 s****k@g****l 2
Francois Berenger 7****e 1
deepsource-autofix[bot] 6****] 1
CharlesHahn 3****5@q****m 1
Francois Berenger u****e@s****g 1
Joachim Haupt j****t@t****e 1
invik r****z@g****m 1
zrt z****q@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 95
  • Total pull requests: 51
  • Average time to close issues: 5 months
  • Average time to close pull requests: 1 day
  • Total issue authors: 71
  • Total pull request authors: 16
  • Average comments per issue: 2.22
  • Average comments per pull request: 0.45
  • Merged pull requests: 42
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 12
  • Pull requests: 19
  • Average time to close issues: 28 days
  • Average time to close pull requests: 1 day
  • Issue authors: 11
  • Pull request authors: 5
  • Average comments per issue: 0.5
  • Average comments per pull request: 0.05
  • Merged pull requests: 14
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • xrobin (6)
  • fkaiserbio (4)
  • koyurion (4)
  • jaimergp (3)
  • navanchauhan (3)
  • kalinni (3)
  • ssalentin (2)
  • zhangshd (2)
  • snbolz (2)
  • baoilleach (2)
  • momarzouksobeh (2)
  • UnixJunkie (2)
  • CtrlShanya (2)
  • TH1052638958 (1)
  • eschoo (1)
Pull Request Authors
  • fkaiserbio (13)
  • mestia (10)
  • kalinni (9)
  • snbolz (6)
  • PhiCMS (5)
  • CtrlShanya (3)
  • CharlesHahn (2)
  • QY0831 (2)
  • xrobin (2)
  • gmrandazzo (2)
  • sungekim (1)
  • CoryKornowicz (1)
  • cleberecht (1)
  • nrontsis (1)
  • navanchauhan (1)
Top Labels
Issue Labels
enhancement (16) bug (11) improve PDB handling (3) conda (1)
Pull Request Labels
enhancement (1)

Packages

  • Total packages: 3
  • Total downloads:
    • pypi 796 last-month
  • Total dependent packages: 1
    (may contain duplicates)
  • Total dependent repositories: 7
    (may contain duplicates)
  • Total versions: 80
  • Total maintainers: 1
proxy.golang.org: github.com/pharmai/plip
  • Versions: 44
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.5%
Average: 5.7%
Dependent repos count: 5.9%
Last synced: 6 months ago
pypi.org: plip

PLIP - Fully automated protein-ligand interaction profiler

  • Versions: 26
  • Dependent Packages: 0
  • Dependent Repositories: 6
  • Downloads: 796 Last month
  • Docker Downloads: 0
Rankings
Docker downloads count: 1.5%
Stargazers count: 3.4%
Forks count: 4.6%
Dependent repos count: 6.0%
Average: 6.1%
Dependent packages count: 10.1%
Downloads: 11.0%
Maintainers (1)
Last synced: 6 months ago
conda-forge.org: plip

Protein-Ligand Interaction Profiler - Analyze and visualize non-covalent protein-ligand interactions in PDB files according to memo Salentin et al. (2015)

  • Versions: 10
  • Dependent Packages: 1
  • Dependent Repositories: 1
Rankings
Forks count: 19.6%
Stargazers count: 22.8%
Average: 23.9%
Dependent repos count: 24.4%
Dependent packages count: 29.0%
Last synced: 6 months ago

Dependencies

.github/workflows/action.yml actions
Dockerfile docker
  • ubuntu 18.04 build
requirements.txt pypi
  • lxml *
  • numpy *
  • openbabel *
  • pymol *
setup.py pypi
  • lxml *
  • numpy *
  • openbabel *