All Projects → pharmai → Plip

pharmai / Plip

Licence: gpl-2.0
Protein-Ligand Interaction Profiler - Analyze and visualize non-covalent protein-ligand interactions in PDB files according to 📝 Salentin et al. (2015), https://www.doi.org/10.1093/nar/gkv315

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Plip

Ugene
UGENE is free open-source cross-platform bioinformatics software
Stars: ✭ 112 (-8.94%)
Mutual labels:  bioinformatics
Blacklist
Application for making ENCODE Blacklists
Stars: ✭ 119 (-3.25%)
Mutual labels:  bioinformatics
Gosl
Linear algebra, eigenvalues, FFT, Bessel, elliptic, orthogonal polys, geometry, NURBS, numerical quadrature, 3D transfinite interpolation, random numbers, Mersenne twister, probability distributions, optimisation, differential equations.
Stars: ✭ 1,629 (+1224.39%)
Mutual labels:  scientific-computing
Fqtools
An efficient FASTQ manipulation suite
Stars: ✭ 114 (-7.32%)
Mutual labels:  bioinformatics
Dna2vec
dna2vec: Consistent vector representations of variable-length k-mers
Stars: ✭ 117 (-4.88%)
Mutual labels:  bioinformatics
Openmole
Workflow engine for exploration of simulation models using high throughput computing
Stars: ✭ 120 (-2.44%)
Mutual labels:  scientific-computing
Biofast
Benchmarking programming languages/implementations for common tasks in Bioinformatics
Stars: ✭ 112 (-8.94%)
Mutual labels:  bioinformatics
Deepecg
ECG classification programs based on ML/DL methods
Stars: ✭ 124 (+0.81%)
Mutual labels:  bioinformatics
Hicexplorer
HiCExplorer is a powerful and easy to use set of tools to process, normalize and visualize Hi-C data.
Stars: ✭ 116 (-5.69%)
Mutual labels:  bioinformatics
Pybinding
Scientific Python package for tight-binding calculations in solid state physics
Stars: ✭ 123 (+0%)
Mutual labels:  scientific-computing
Cooler
A cool place to store your Hi-C
Stars: ✭ 112 (-8.94%)
Mutual labels:  bioinformatics
Ngless
NGLess: NGS with less work
Stars: ✭ 115 (-6.5%)
Mutual labels:  bioinformatics
Circlator
A tool to circularize genome assemblies
Stars: ✭ 121 (-1.63%)
Mutual labels:  bioinformatics
Bio4j
Bio4j abstract model and general entry point to the project
Stars: ✭ 113 (-8.13%)
Mutual labels:  bioinformatics
Kmer Cnt
Code examples of fast and simple k-mer counters for tutorial purposes
Stars: ✭ 124 (+0.81%)
Mutual labels:  bioinformatics
Bioconvert
Bioconvert is a collaborative project to facilitate the interconversion of life science data from one format to another.
Stars: ✭ 112 (-8.94%)
Mutual labels:  bioinformatics
Freud
Powerful, efficient particle trajectory analysis in scientific Python.
Stars: ✭ 118 (-4.07%)
Mutual labels:  scientific-computing
Sarek
Detect germline or somatic variants from normal or tumour/normal whole-genome or targeted sequencing
Stars: ✭ 124 (+0.81%)
Mutual labels:  bioinformatics
Krakenuniq
🐙 KrakenUniq: Metagenomics classifier with unique k-mer counting for more specific results
Stars: ✭ 123 (+0%)
Mutual labels:  bioinformatics
Scgen
Single cell perturbation prediction
Stars: ✭ 122 (-0.81%)
Mutual labels:  bioinformatics

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
"I want to analyze my protein-ligand complex!" ✔️ ✔️ :yellow_circle:
"I want to analyze a billion protein-ligand complexes!" :yellow_circle: ✔️ :yellow_circle:
"I love the Linux command line and want to build a workflow around PLIP!" ✔️ ✔️ :yellow_circle:
"I'm a Python programmer and want to use PLIP in my project!" :yellow_circle: :yellow_circle: ✔️

Quickstart

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

On Linux / MacOS:

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

On Windows:

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

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

$ ./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.

Usage

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

1. (optional) Clone the repository

Open a new system terminal and clone this repository using

$ git clone https://github.com/pharmai/plip.git

2. Install PLIP

Containerized Image (recommended)

❗️ We ship PLIP as a pre-built containers for multiple architectures (amd64/ARM), available on the Docker Hub or as pre-built Singularity image under Releases.

From Source

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
  • PyMOL >= 2.3.0 with Python bindings (optional, for visualization only)
  • ImageMagick >= 6.9 (optional)

Set your PYTHONPATH environment variable to the root directory of this repository.

Via PyPi

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

$ pip install plip

Note: Be aware that you still have to install all other dependencies and link them correctly.

3. 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.

$ alias plip='python ~/pliptool/plip/plipcmd.py'
$ mkdir /tmp/1vsn && cd /tmp/1vsn
$ plip -i 1vsn -yv
$ pymol 1VSN_NFT_A_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.

$ 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:

from plip.structure.preparation import PDBComplex

my_mol = PDBComplex()
my_mol.load_pdb('/tmp/1EVE.pdb') # Load the PDB file into PLIP class
print(my_mol) # Shows name of structure and ligand binding sites
my_bsid = 'E20:A:2001' # Unique binding site identifier (HetID:Chain:Position)
my_mol.analyze()
my_interactions = my_mol.interaction_sets[my_bsid] # 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]

4. 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.biotec.tu-dresden.de/plip-web.

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

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. For an instruction how to install Open Babel, please 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.

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: [email protected]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].