A fast Protein Chain / Ligand Extractor and organizer.

Overview

mainicon

Are you tired of using visualization software, or full blown suites just to separate protein chains / ligands ? Are you tired of organizing the mess of molecules into separate folders ?

PDBaser does this for you !

What does it do ?

PDBaser reads raw .pdb and .ent files as downloaded from the pdb, extracts pure protein chains and heteroatoms (ligands and others) and removes water molecules, and then saves everything in a directory named as the original input filename.

Who is this for ?

This tool is perfect for RMSD reliability test preparation, where a large number of proteins and their ligands are needed. It can also help people who are not very accustomed to command line interfaces, and aren't willing to pay a (usually high) premium for other software.

Installation

Windows

For Windows users, PDBaser has a precompiled version, it can be found in the releases category, and can be installed on windows 7 SP1 / 8 / 8.1 / 10 and only requires Microsoft visual C++ 2015 x86.

Linux / MacOS and other Unix / Unix-like systems

There are 2 possible ways to run PDBaser in this case :

  1. Using Wine

    The quickest way to get PDBaser running on those systems is by using Wine (Tested on Wine 6.0.1, works only on a 64bit prefix for some reason),

    • 1 - Download and install the windows msi package and install it.
    • 2 - open a terminal window where you installed PDBaser and run wine PDBaser_GUI.exe.
  2. Building from source

    PDBaser is not OS dependant, and will probably run on any operating system provided the environment is correctly setup. However, since software distribution on Linux is a nightmare, and i do not have a mac system to package PDBaser for, you will have to either use Wine, or deal with setting up the environment from scratch.

    • 1 - First, you need a working python environment with support for Tkinter (i'm looking at you, Arch Linux)
    • 2 - Install BioPython and Pygubu from pip (pip install biopython / pip install pygubu)
    • 3 - You need to build openbabel 3.1.1 with depiction support (Cairo) and python bindings from source, and then install it from pip (pip install openbabel==3.1.1).

    If everything is setup correctly, running GUI/Build/PDBaser_GUI.py should work.

Features

  • Folder organization (Outputs are organized in a single folder named as the pdb file name).
  • Support for compressed pdb / ent files.
  • 2D Depiction and PNG/SVG output.
  • Outputs residues in most popular formats (pdb, sdf, mol2, smiles).
  • Multiple residue extraction at once is possible, chain only extraction with no residues is also possible.
  • Hydrogen generation for extracted residues is available (Except for SMILES format).
  • Support for downloading proteins from the PDB directly.

Screenshot

Limitations

  • No metadata extraction (Header, comments etc ...), only atom 3D poses with the molecule code in the PDB.
  • Only .pdb / .ent inputs and their compressed (.gz) form are supported, this is done by design as most proteins come only in pdb and ent formats, however residue outputs can have different formats (pdb, mol2, sdf, smiles).
  • there is a known bug where extracting a ligand in SMILES format does not generate a name for it, i'm gonna fix it as soon as i finish some work on my studies.

Downloads

For Windows x86/x64 : A binary setup is available in releases section.

For Unix/Unix-like(Linux/MacOS etc..) : Source is available in releases section, although i recommend installing the windows version and using it through Wine.

Citations

PDBaser relies on Biopython's BIO.PDB module, openbabel's pybel module and OASA.

BIO.PDB : Hamelryck T and Manderick B (2003) PDB file parser and structure class implemented in Python. Bioinformatics, 22, 2308-2310

openbabel's pybel : O'Boyle, N.M., Morley, C. & Hutchison, G.R. Pybel: a Python wrapper for the OpenBabel cheminformatics toolkit. Chemistry Central Journal 2, 5 (2008).

If this software helped you making a scientific publication, please cite it using the citation below :

M. A. Abdelaziz, “PDBaser, A python tool for fast protein - ligand extraction”, https://github.com/mimminou/PDBASER

Command line (Deprecated)

NOTE : CLI version is a very early release and is now DEPRECATED, and probably won't be supported anymore.

for this module to work, you need at least python 3.6.5 as well as Biopython.

from the date i'm writing this, i've been experiencing some issues regarding Biopython when running python 3.9, therefore i suggest users to download any iteration of python from 3.6.5 to 3.8.5 instead.

You can download and install python from the official website (3.6.5 recommended).

Biopython can be installed from pip.

Usage

Very straightforward, all you have to do is put this script in the folder containing the PDBs that need to be treated, run it from command line / terminal then follow instructions for each iteration.

There exists only 3 commands :

  • SKIP : command that skips the mentioned step.
  • Inserting data : normal usage.
  • Leaving blank field : will either default to chain A or extract all residues in the selected chain, depending on where the user left the input blank.
You might also like...
Unofficial TensorFlow implementation of Protein Interface Prediction using Graph Convolutional Networks.
Unofficial TensorFlow implementation of Protein Interface Prediction using Graph Convolutional Networks.

[TensorFlow] Protein Interface Prediction using Graph Convolutional Networks Unofficial TensorFlow implementation of Protein Interface Prediction usin

A denoising diffusion probabilistic model (DDPM) tailored for conditional generation of protein distograms
A denoising diffusion probabilistic model (DDPM) tailored for conditional generation of protein distograms

Denoising Diffusion Probabilistic Model for Proteins Implementation of Denoising Diffusion Probabilistic Model in Pytorch. It is a new approach to gen

7th place solution of Human Protein Atlas - Single Cell Classification on Kaggle

kaggle-hpa-2021-7th-place-solution Code for 7th place solution of Human Protein Atlas - Single Cell Classification on Kaggle. A description of the met

Graph-based community clustering approach to extract protein domains from a predicted aligned error matrix
Graph-based community clustering approach to extract protein domains from a predicted aligned error matrix

Using a predicted aligned error matrix corresponding to an AlphaFold2 model , returns a series of lists of residue indices, where each list corresponds to a set of residues clustering together into a pseudo-rigid domain.

Replication attempt for the Protein Folding Model

RGN2-Replica (WIP) To eventually become an unofficial working Pytorch implementation of RGN2, an state of the art model for MSA-less Protein Folding f

A geometric deep learning pipeline for predicting protein interface contacts.
A geometric deep learning pipeline for predicting protein interface contacts.

A geometric deep learning pipeline for predicting protein interface contacts.

A package to predict protein inter-residue geometries from sequence data

trRosetta This package is a part of trRosetta protein structure prediction protocol developed in: Improved protein structure prediction using predicte

A Protein-RNA Interface Predictor Based on Semantics of Sequences
A Protein-RNA Interface Predictor Based on Semantics of Sequences

PRIP PRIP:A Protein-RNA Interface Predictor Based on Semantics of Sequences installation gensim==3.8.3 matplotlib==3.1.3 xgboost==1.3.3 prettytable==2

Uni-Fold: Training your own deep protein-folding models

Uni-Fold: Training your own deep protein-folding models. This package provides an implementation of a trainable, Transformer-based deep protein foldin

Comments
  • PDBaser 2.0 Patch 1

    PDBaser 2.0 Patch 1

    • Added multiprocessing support, brings huge benefits to batch extraction.
    • Fixed an issue where PDBaser would crash if it tries to protonate a chain in a pdb file that isn't of peptidic nature ( exp : oligosaccharides ), PDBaser will now ignore the protonation step of these chains, but will still extract them properly.
    • Removed PMW, raises a lot of issues with python 3.10, replaced with a custom tk widget class ( Credits in the file ).
    • Added QUIET option to the PDB parser, now only propka and pdb2pqr generate noise ( i'll try to remove that as well )
    • removed some unnecessary code and optimized some function calls.
    opened by mimminou 0
  • Hovering over items results in an Error when using python 3.10

    Hovering over items results in an Error when using python 3.10

    I'm aware of this problem, It turns out that the PMW library I'm using to display tooltips has dependencies or legacy code that were not updated to support python 3.10. Will be fixed in the next patch.

    bug 
    opened by mimminou 0
Releases(2.0.1)
  • 2.0.1(May 23, 2022)

    • Added multiprocessing support, brings huge benefits to batch extraction.
    • Fixed an issue where PDBaser would crash if it tries to protonate a chain in a pdb file that isn't of peptidic nature ( exp : oligosaccharides ), PDBaser will now ignore the protonation step of these chains, but will still extract them properly.
    • Removed PMW, raises a lot of issues with python 3.10, replaced with a custom tk widget class ( Credits in the file ).
    • Added QUIET option to the PDB parser, now only propka and pdb2pqr generate noise ( i'll try to remove that as well )
    • removed some unnecessary code and optimized some function calls.
    Source code(tar.gz)
    Source code(zip)
    PDBaser_2.0_SETUP.exe(37.24 MB)
  • 2.0(May 17, 2022)

    PDBaser 2.0 🔥

    PDBaser is now 1 year old ! To celebrate PDBaser's first anniversary, new features have been implemented !

    • New powerful CLI interface added to bring automation and to support batch workloads.
    • PDBaser is now able to do titration states prediction and protonation for proteins (Using PROPKA through PDB2PQR).
    • Huge performance increases for batch workloads, with multiprocessing support coming in the upcoming patch.
    Source code(tar.gz)
    Source code(zip)
    PDBaser_2.0_SETUP.exe(37.47 MB)
  • 1.9(Mar 2, 2022)

    Optimizations :

    • Optimized some functions.
    • Updated to python 3.8.5.
    • Updated all dependencies.

    New Features :

    • Added an option to generate and extract binding site from select ligand position ( can vary between 1 and 10 Angstroms ).
    • Added an option to keep water molecules when extracting chains.
    • Hugely improved UI element placement on Linux, with some minor improvements on Windows.
    Source code(tar.gz)
    Source code(zip)
    PDBaser_1.9_SETUP.zip(35.10 MB)
  • 1.8(Oct 31, 2021)

    New PDBaser updated ❗ Changes :

    • Milestone Change : PDBaser is now Compiled with MSVC 14.0 instead of interpreted, Hugely thanks to the Nuitka Compiler, this will provide much quicker opening times and overrall better performance.
    • Switched from Openbabel depiction API to pure OASA (You can find it here https://gitlab.com/oasa/oasa, or install it from pip using pip install oasa3).
    • Added SVG output support, upscaled PNG output and removed the white default background.
    • Setup is now compiled with InnoSetup instead of Advanced installer, VCredist2015 is embedded in the setup, installation is optional.
    • Molecular weight of residues is now shown in the depiction.
    • New logo.

    Fixes :

    • Fixed interference issues when PDBaser was installed in a system where open babel 3.1.1 was installed and had BABEL_DIR in environment variables.
    • Fixed a huge memory leak when selecting residues.
    Source code(tar.gz)
    Source code(zip)
    PDBaser_Setup_1.8.exe(40.89 MB)
  • 1.6(Jun 9, 2021)

    The 1.6 release of PDBaser brings a few new features and some under the hood performance improvement, especially when dealing with very big molecules. new features are :

    • Downloading from the PDB directly is now possible.
    • Adding hydrogen to outputed residues has been added.
    • Added a new progress bar, can be usefull to track progress when downloading a large database from the PDB.
    • Names of outputed molecules has been fixed, especially for mol2 files (Fixed name generating as *****).
    • Some bug fixes and improvements, mainly UI side.
    Source code(tar.gz)
    Source code(zip)
    PDBaser_Win_x86_1.6.msi(26.62 MB)
  • 1.5(May 29, 2021)

  • 1.2(May 13, 2021)

  • v1.0(May 6, 2021)

Owner
Amine Abdz
the product of a biochemist discovering smart rocks that think with lightning.
Amine Abdz
A Python Package for Convex Regression and Frontier Estimation

pyStoNED pyStoNED is a Python package that provides functions for estimating multivariate convex regression, convex quantile regression, convex expect

Sheng Dai 17 Jan 08, 2023
OpenPose: Real-time multi-person keypoint detection library for body, face, hands, and foot estimation

Build Type Linux MacOS Windows Build Status OpenPose has represented the first real-time multi-person system to jointly detect human body, hand, facia

25.7k Jan 09, 2023
Deep motion generator collections

GenMotion GenMotion (/gen’motion/) is a Python library for making skeletal animations. It enables easy dataset loading and experiment sharing for synt

23 May 24, 2022
Forecasting directional movements of stock prices for intraday trading using LSTM and random forest

Forecasting directional movements of stock-prices for intraday trading using LSTM and random-forest https://arxiv.org/abs/2004.10178 Pushpendu Ghosh,

Pushpendu Ghosh 270 Dec 24, 2022
Official code of paper "PGT: A Progressive Method for Training Models on Long Videos" on CVPR2021

PGT Code for paper PGT: A Progressive Method for Training Models on Long Videos. Install Run pip install -r requirements.txt. Run python setup.py buil

Bo Pang 27 Mar 30, 2022
curl-impersonate: A special compilation of curl that makes it impersonate Chrome & Firefox

curl-impersonate A special compilation of curl that makes it impersonate real browsers. It can impersonate the four major browsers: Chrome, Edge, Safa

lwthiker 1.9k Jan 03, 2023
Allows including an action inside another action (by preprocessing the Yaml file). This is how composite actions should have worked.

actions-includes Allows including an action inside another action (by preprocessing the Yaml file). Instead of using uses or run in your action step,

Tim Ansell 70 Nov 04, 2022
Aesara is a Python library that allows one to define, optimize, and efficiently evaluate mathematical expressions involving multi-dimensional arrays.

Aesara is a Python library that allows one to define, optimize, and efficiently evaluate mathematical expressions involving multi-dimensional arrays.

Aesara 898 Jan 07, 2023
GNEE - GAT Neural Event Embeddings

GNEE - GAT Neural Event Embeddings This repository contains source code for the GNEE (GAT Neural Event Embeddings) method introduced in the paper: "Se

João Pedro Rodrigues Mattos 0 Sep 15, 2021
Official Implementation for the "An Empirical Investigation of 3D Anomaly Detection and Segmentation" paper.

An Empirical Investigation of 3D Anomaly Detection and Segmentation Project | Paper Official PyTorch Implementation for the "An Empirical Investigatio

Eliahu Horwitz 55 Dec 14, 2022
face2comics by Sxela (Alex Spirin) - face2comics datasets

This is a paired face to comics dataset, which can be used to train pix2pix or similar networks.

Alex 164 Nov 13, 2022
Source code for the GPT-2 story generation models in the EMNLP 2020 paper "STORIUM: A Dataset and Evaluation Platform for Human-in-the-Loop Story Generation"

Storium GPT-2 Models This is the official repository for the GPT-2 models described in the EMNLP 2020 paper [STORIUM: A Dataset and Evaluation Platfor

Nader Akoury 27 Dec 20, 2022
Discord bot for notifying on github events

Git-Observer Discord bot for notifying on github events ⚠️ This bot is meant to write messages to only one channel (implementing this for multiple pro

ilu_vatar_ 0 Apr 19, 2022
Testbed of AI Systems Quality Management

qunomon Description A testbed for testing and managing AI system qualities. Demo Sorry. Not deployment public server at alpha version. Requirement Ins

AIST AIRC 15 Nov 27, 2021
PyTorch implementation for paper StARformer: Transformer with State-Action-Reward Representations.

StARformer This repository contains the PyTorch implementation for our paper titled StARformer: Transformer with State-Action-Reward Representations.

Jinghuan Shang 14 Dec 09, 2022
An implementation of MobileFormer

MobileFormer An implementation of MobileFormer proposed by Yinpeng Chen, Xiyang Dai et al. Including [1] Mobile-Former proposed in:

slwang9353 62 Dec 28, 2022
Implementation of the federated dual coordinate descent (FedDCD) method.

FedDCD.jl Implementation of the federated dual coordinate descent (FedDCD) method. Installation To install, just call Pkg.add("https://github.com/Zhen

Zhenan Fan 6 Sep 21, 2022
A Light in the Dark: Deep Learning Practices for Industrial Computer Vision

A Light in the Dark: Deep Learning Practices for Industrial Computer Vision This is the repository for our Paper/Contribution to the WI2022 in Nürnber

Maximilian Harl 6 Jan 17, 2022
You can draw the corresponding bounding box into the image and save it according to the result file (txt format) run by the tracker.

You can draw the corresponding bounding box into the image and save it according to the result file (txt format) run by the tracker.

Huiyiqianli 42 Dec 06, 2022
[ICCV 2021] Deep Hough Voting for Robust Global Registration

Deep Hough Voting for Robust Global Registration, ICCV, 2021 Project Page | Paper | Video Deep Hough Voting for Robust Global Registration Junha Lee1,

Junha Lee 10 Dec 02, 2022