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
Official Pytorch implementation of RePOSE (ICCV2021)

RePOSE: Iterative Rendering and Refinement for 6D Object Detection (ICCV2021) [Link] Abstract We present RePOSE, a fast iterative refinement method fo

Shun Iwase 68 Nov 15, 2022
No-reference Image Quality Assessment(NIQA) Algorithms (BRISQUE, NIQE, PIQE, RankIQA, MetaIQA)

No-Reference Image Quality Assessment Algorithms No-reference Image Quality Assessment(NIQA) is a task of evaluating an image without a reference imag

Dae-Young Song 26 Jan 04, 2023
Official PyTorch implementation for FastDPM, a fast sampling algorithm for diffusion probabilistic models

Official PyTorch implementation for "On Fast Sampling of Diffusion Probabilistic Models". FastDPM generation on CIFAR-10, CelebA, and LSUN datasets. S

Zhifeng Kong 68 Dec 26, 2022
Python wrapper of LSODA (solving ODEs) which can be called from within numba functions.

numbalsoda numbalsoda is a python wrapper to the LSODA method in ODEPACK, which is for solving ordinary differential equation initial value problems.

Nick Wogan 52 Jan 09, 2023
Animate molecular orbital transitions using Psi4 and Blender

Molecular Orbital Transitions (MOT) Animate molecular orbital transitions using Psi4 and Blender Author: Maximilian Paradiz Dominguez, University of A

3 Feb 01, 2022
Image augmentation library in Python for machine learning.

Augmentor is an image augmentation library in Python for machine learning. It aims to be a standalone library that is platform and framework independe

Marcus D. Bloice 4.8k Jan 07, 2023
QilingLab challenge writeup

qiling lab writeup shielder 在 2021/7/21 發布了 QilingLab 來幫助學習 qiling framwork 的用法,剛好最近有用到,順手解了一下並寫了一下 writeup。 前情提要 Qiling 是一款功能強大的模擬框架,和 qemu user mode

Yuan 17 Nov 17, 2022
Official Pytorch Implementation of Unsupervised Image Denoising with Frequency Domain Knowledge

Unsupervised Image Denoising with Frequency Domain Knowledge (BMVC 2021 Oral) : Official Project Page This repository provides the official PyTorch im

Donggon Jang 12 Sep 26, 2022
Small little script to scrape, parse and check for active tor nodes. Can be used as proxies.

TorScrape TorScrape is a small but useful script made in python that scrapes a website for active tor nodes, parse the html and then save the nodes in

5 Dec 04, 2022
Codes and pretrained weights for winning submission of 2021 Brain Tumor Segmentation (BraTS) Challenge

Winning submission to the 2021 Brain Tumor Segmentation Challenge This repo contains the codes and pretrained weights for the winning submission to th

94 Dec 28, 2022
AOT (Associating Objects with Transformers) in PyTorch

An efficient modular implementation of Associating Objects with Transformers for Video Object Segmentation in PyTorch

162 Dec 14, 2022
Code associated with the paper "Towards Understanding the Data Dependency of Mixup-style Training".

Mixup-Data-Dependency Code associated with the paper "Towards Understanding the Data Dependency of Mixup-style Training". Running Alternating Line Exp

Muthu Chidambaram 0 Nov 11, 2021
Pytorch implementation of "ARM: Any-Time Super-Resolution Method"

ARM-Net Dependencies Python 3.6 Pytorch 1.7 Results Train Data preprocessing cd data_scripts python extract_subimages_test.py python data_augmentation

Bohong Chen 55 Nov 24, 2022
This repo is customed for VisDrone.

Object Detection for VisDrone(无人机航拍图像目标检测) My environment 1、Windows10 (Linux available) 2、tensorflow = 1.12.0 3、python3.6 (anaconda) 4、cv2 5、ensemble

53 Jul 17, 2022
This is the formal code implementation of the CVPR 2022 paper 'Federated Class Incremental Learning'.

Official Pytorch Implementation for GLFC [CVPR-2022] Federated Class-Incremental Learning This is the official implementation code of our paper "Feder

Race Wang 57 Dec 27, 2022
RoboDesk A Multi-Task Reinforcement Learning Benchmark

RoboDesk A Multi-Task Reinforcement Learning Benchmark If you find this open source release useful, please reference in your paper: @misc{kannan2021ro

Google Research 66 Oct 07, 2022
Official repository for "Exploiting Session Information in BERT-based Session-aware Sequential Recommendation", SIGIR 2022 short.

Session-aware BERT4Rec Official repository for "Exploiting Session Information in BERT-based Session-aware Sequential Recommendation", SIGIR 2022 shor

Jamie J. Seol 22 Dec 13, 2022
PyTorch implementation of Weak-shot Fine-grained Classification via Similarity Transfer

SimTrans-Weak-Shot-Classification This repository contains the official PyTorch implementation of the following paper: Weak-shot Fine-grained Classifi

BCMI 60 Dec 02, 2022
Learning Representational Invariances for Data-Efficient Action Recognition

Learning Representational Invariances for Data-Efficient Action Recognition Official PyTorch implementation for Learning Representational Invariances

Virginia Tech Vision and Learning Lab 27 Nov 22, 2022
AdamW optimizer and cosine learning rate annealing with restarts

AdamW optimizer and cosine learning rate annealing with restarts This repository contains an implementation of AdamW optimization algorithm and cosine

Maksym Pyrozhok 133 Dec 20, 2022