https://github.com/dptech-corp/uni-gbsa
An automatic workflow to perform MM/GB(PB)SA calculations from force field building, and structure optimization to free energy calculation.
Science Score: 36.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
-
✓DOI references
Found 3 DOI reference(s) in README -
○Academic publication links
-
✓Committers with academic emails
1 of 4 committers (25.0%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.8%) to scientific vocabulary
Repository
An automatic workflow to perform MM/GB(PB)SA calculations from force field building, and structure optimization to free energy calculation.
Basic Info
Statistics
- Stars: 115
- Watchers: 6
- Forks: 22
- Open Issues: 17
- Releases: 12
Metadata Files
README.md
Uni-GBSA: An Automatic Workflow to Perform MM/GB(PB)SA Calculations for Virtual Screening
Background
Calculating the binding free energy of a ligand to a protein receptor is a crucial goal in drug discovery. Molecular mechanics/Generalized-Born (Poisson-Boltzmann) surface area (MM/GB(PB)SA), which balances accuracy and efficiency, is one of the most widely used methods for evaluating ligand binding free energies in virtual screening. Uni-GBSA is an automatic workflow to perform MM/GB(PB)SA calculations. It includes several functions, including but not limited to topology preparation, structure optimization, binding free energy calculation, and parameter scanning for MM/GB(PB)SA calculations. Additionally, it has a batch mode that allows the evaluation of thousands of molecules against one protein target simultaneously, enabling its application in virtual screening.
Install
Install via Conda
To run uni-GBSA, you need to install several third-party softwares including acpype, gmxMMPBSA, lickit, etc. ```Bash conda create -n gbsa -c conda-forge acpype openmpi mpi4py gromacs "gmxmmpbsa>=1.5.6" conda activate gbsa pip install unigbsa lickit ```
Install by docker images
You can also build a docker image using this file or pull from the docker hub docker pull dockerymh/unigbsa
```Plaintext
FROM continuumio/miniconda3
1. create an environment
SHELL ["/bin/bash", "-c"] RUN conda create -n gbsa -c conda-forge acpype openmpi mpi4py gromacs "gmx_MMPBSA>=1.5.6" \ && echo 'conda activate gbsa' >> ~/.bashrc \ && rm -rf /opt/conda/pkgs/*
2. install unigbsa
RUN source ~/.bashrc \ && pip install unigbsa lickit \ && rm -rf ~/.cache/*
```
Usage & Example
Usage
```bash $ unigbsa-pipeline -h usage: unigbsa-pipeline [-h] -i RECEPTOR [-l LIGAND [LIGAND ...]] [-c CONFIG] [-d LIGDIR] [-f PBSAFILE] [-o OUTFILE] [-validate] [-nt THREADS] [--decomp] [--verbose] [-v]
MM/GB(PB)SA Calculation. Version: 0.1.6
optional arguments: -h, --help show this help message and exit -i RECEPTOR Input protein file in pdb format. -l LIGAND [LIGAND ...] Ligand files to calculate binding energy for. -c CONFIG Config file, default: /home/jochem/miniforge3/envs/gbsatest/lib/python3.9/site-packages/unigbsa/data/default.ini -d LIGDIR Directory containing many ligand files. file format: .mol or .sdf -f PBSAFILE gmxMMPBSA input file. default=None -o OUTFILE Output file. -validate Validate the ligand file. default: False -nt THREADS Set number of threads to run this program. --decomp Decompose the free energy. default:False --verbose Keep all the files. -v, --version show program's version number and exit ```
Example
```bash $ unigbsa-pipeline -i example/1ceb/1cebprotein.pdb -l example/1ceb/1cebligand.sdf -o BindingEnergy.csv
07/07/2024 15:56:01 PM - INFO - Build protein topology. 07/07/2024 15:56:02 PM - INFO - Build ligand topology: 1cebligand 07/07/2024 15:56:03 PM - INFO - Running energy minimization: 1cebligand 07/07/2024 15:56:04 PM - INFO - Run the MMPB(GB)SA.
07/07/2024 15:56:12 PM - INFO - Clean the results.
Results: Energy.csv Dec.csv
Frames mode delta_G(kcal/mole)
1 gb -20.1781
```
Other Tools
This packge contains several commands: unigbsa-scan, unigbsa-pipeline, unigbsa-traj, unigbsa-pbc, unigbsa-buildtop, unigbsa-buildsys, unigbsa-md.
unigbsa-scan
Perform an automatic parameter optimization prior to production MM/GB(PB)SA calculations. ```Bash $ unigbsa-scan -h usage: unigbsa-scan [-h] [-i RECEPTOR] [-pd PROTDIR] [-l LIGAND [LIGAND ...]] [-ld LIGDIR] -e E -c PARASFILE [-o OUTDIR] [-nt THREADS] [--verbose]
Perform an automatic parameter optimization prior to production MM/GB(PB)SA calculations.
optional arguments: -h, --help show this help message and exit -i RECEPTOR Input protein file in pdb format. -pd PROTDIR Directory containing many protein files. file format: .pdb -l LIGAND [LIGAND ...] Ligand files to calculate binding energy. -ld LIGDIR Directory containing many ligand files. file format: .mol or .sdf -e E Experiment data file. -c PARASFILE Parameters to scan -o OUTDIR Output directory. -nt THREADS Set number of threads to run this program. --verbose Keep all the files. ```
Example
Bash unigbsa-scan -i example/scan/protein.pdb -ld example/scan/ -e example/scan/ligands.csv -c example/scan/scan.json -o scan-demo -nt 4
unigbsa-pipeline
A simple, automatic pipeline to perform MM/GB(PB)SA calculations. You only need to provide a protein file (in the PDB format) and ligand files (in the MOL or SDF format). This function will perform an energy minimization then calculate the PBSA/GBSA values for the each input ligand.
- If you want perform energy minimization or MD simulation for the complex automatically, use the
unigbsa-pipelinefunction. ```Bash $ unigbsa-pipeline -h usage: unigbsa-pipeline [-h] -i RECEPTOR [-l LIGAND [LIGAND ...]] [-c CONFIG] [-d LIGDIR] [-f PBSAFILE] [-o OUTFILE] [-validate] [-nt THREADS] [--decomp] [--verbose] [-v]
MM/GB(PB)SA Calculation. Version: 0.1.6
optional arguments: -h, --help show this help message and exit -i RECEPTOR Input protein file in pdb format. -l LIGAND [LIGAND ...] Ligand files to calculate binding energy for. -c CONFIG Config file, default: default.ini -d LIGDIR Directory containing many ligand files. file format: .mol or .sdf -f PBSAFILE gmx_MMPBSA input file. default=None -o OUTFILE Output file. -validate Validate the ligand file. default: False -nt THREADS Set number of threads to run this program. --decomp Decompose the free energy. default:False --verbose Keep all the files. -v, --version show program's version number and exit ```
You can change the parameters for the MM/GB(PB)SA calculations by providing a config file (default.ini).
```
; parameters for simulation
[simulation]
; input pose process method:
; input - just use input pose to calculation
; em - run a simple energy minimizaion for the input poses
; md - run a md simulation for the input poses
mode = em
; simulation box type: triclinic, cubic, dodecahedron, octahedron boxtype = triclinic
; Distance between the solute and the simulation box boxsize = 0.9
; Specify salt concentration (mol/liter). This will add sufficient ions to reach up to the specified concentration conc = 0.15
; number of md simulation steps nsteps = 500000
; number of equilibrium simulation(nvt, npt) steps eqsteps = 50000
; number of structure to save for the md simulation nframe = 100
; protein forcefield (gromacs engine) proteinforcefield = amber03
; ligand forcefield (acpype engine) ligandforcefield = gaff ; ligand charge method: bcc, gas ligandCharge = bcc
; parameters for PBSA/GBSA calculation, support all the gmxMMPBSA parameters [GBSA] ; calculation name sysname = GBSA
; calculation mode, Separated by commas. gb,pb,decomposition modes = gb
; best parameters for PBSA/GBSA calculations obtained from Wang, Ercheng, et al. Chemical reviews 119.16 (2019): 9478-9508. igb = 2 indi = 4.0 exdi = 80.0 ```
unigbsa-traj
Perform a PBSA/GBSA calculation of a complex from a MD trajectory. Note: you need to prepare a gromacs
index.ndxfile which contains two groups namedRECEPTORandLIGAND.
```` $ unigbsa-traj -h usage: unigbsa-traj [-h] -i INP -p TOP -ndx NDX [-m MODE [MODE ...]] [-f MMPBSAFILE] [-t TRAJ] [-nt THREADS] [-D] [-v]
Free energy calcaulation by MM/GB(PB)SA method.
optional arguments: -h, --help show this help message and exit -i INP A pdb file or a tpr file for the trajectory. -p TOP Gromacs topol file for the system. -ndx NDX Gromacs index file, must contain receptor and ligand group. -m MODE [MODE ...] MM/GB(PB)SA mode -f MMPBSAFILE Input MM/GB(PB)SA file -t TRAJ A trajectory file containing many structure frames. File format: xtc, pdb, gro... -nt THREADS Set number of threads to run this program. -D DEBUG model, keep all the files. -v, --version show program's version number and exit
````
unigbsa-buildtop
Topology preparation for a protein receptor and ligand(s) using gromacs. ```Bash $ unigbsa-buildtop -h usage: unigbsa-buildtop [-h] [-p PROTEIN] [-l LIGAND] [-pf PROTFORCE] [-lf {gaff,gaff2}] [-o OUTDIR] [-c] [-nt THREADS] [-verbose] [-v]
Build topology file for input file.
optional arguments: -h, --help show this help message and exit -p PROTEIN Protein file or directory to build topology. -l LIGAND Ligand file or directory to build topology. -pf PROTFORCE Protein forcefield. -lf {gaff,gaff2} Ligand forcefield: gaff or gaff2. -o OUTDIR The output directory. -c Combine the protein and ligand topology. Suppport for one protein and more ligands. default:True -nt THREADS Number of threads to run this simulation. -verbose Keep the directory or not. -v, --version show program's version number and exit ```
unigbsa-buildsys
Build a simulation box for a protein-ligand complex. ```bash $ unigbsa-buildsys -h usage: unigbsa-buildsys [-h] -p PROTEIN [-l LIGAND] [-pf PROTFORCE] [-lf {gaff,gaff2}] [-bt BOXTYPE] [-box BOX BOX BOX] [-d D] [-conc CONC] [-o OUTDIR] [-nt THREADS] [-v]
Build MD simulation for input file.
optional arguments: -h, --help show this help message and exit -p PROTEIN Protein file for the simulation. -l LIGAND Ligand file or directory for the simulation. -pf PROTFORCE Protein forcefield. -lf {gaff,gaff2} Ligand forcefield: gaff or gaff2. -bt BOXTYPE Simulation box type, default: triclinic -box BOX BOX BOX Simulation box size. -d D Distance between the solute and the box. -conc CONC Specify salt concentration (mol/liter). default=0.15 -o OUTDIR The output directory. -nt THREADS Number of threads to run this simulation. -v, --version show program's version number and exit ```
unigbsa-md
Run a MD simulation of a protein-ligand complex. ```Bash $ unigbsa-md -h usage: unigbsa-md [-h] -p PROTEIN [-l LIGAND] [-pf PROTFORCE] [-lf {gaff,gaff2}] [-bt BOXTYPE] [-box BOX BOX BOX] [-d D] [-conc CONC] [-o OUTDIR] [-nsteps NSTEP] [-nframe NFRAME] [-nt THREADS] [-verbose] [-v]
Run MD simulation for input file.
optional arguments: -h, --help show this help message and exit -p PROTEIN Protein file for the simulation. -l LIGAND Ligand file or directory for the simulation. -pf PROTFORCE Protein forcefield. -lf {gaff,gaff2} Ligand forcefield: gaff or gaff2. -bt BOXTYPE Simulation box type, default: triclinic -box BOX BOX BOX Simulation box size. -d D Distance between the solute and the box. -conc CONC Specify salt concentration (mol/liter). default=0.15 -o OUTDIR The output directory. -nsteps NSTEP Simulation steps. default:2500 -nframe NFRAME Number of frames to save for the xtc file. default:100 -nt THREADS Number of threads to run this simulation. -verbose Keep all the files in the simulation. -v, --version show program's version number and exit ```
unigbsa-pbc
Process PBC condition for a MD trajectory. ```Bash $ unigbsa-pbc -h usage: unigbsa-pbc [-h] -s TPR -f XTC [-o OUT] [-n NDX] [-v]
Auto process PBC for gromacs MD trajectory.
optional arguments: -h, --help show this help message and exit -s TPR TPR file generated from gromacs or coordinate file. -f XTC Trajectory file to process PBC. -o OUT Results file after processed PBC. -n NDX Index file contains the center and output group. -v, --version show program's version number and exit ```
More Examples
Perform a MM/GB(PB)SA calculation on a ligand file with a protein receptor with
unigbsa-pipelineBash unigbsa-pipeline -i ./example/2fvy/protein.pdb -l ./example/2fvy/BGC.mol2Perform a MM/GB(PB)SA calculation of a complex from a MD trajectory with
unigbsa-trajBash unigbsa-traj -i example/3f/complex.pdb -p example/3f/complex.top -ndx example/3f/index.ndx -m pb gb -t example/3f/complex.pdbBuild topology for a protein receptor and a ligand using gromacs.
unigbsa-buildtopbash unigbsa-buildtop -p example/2fvy/protein.pdb -pf amber99sb -o topol # build gromacs topology for a single protein unigbsa-buildtop -p example/2fvy/protein.pdb -pf amber99sb -l example/2fvy/BGC.mol2 -lf gaff -o 2fvy_topol -c # build gromacs topology for protein and ligand complexBuild a simulation system with
unigbsa-buildsysRun a MD simulation with
unigbsa-mdProcess the PBC condition of a MD trajectory with
unigbsa-pbc
Citation
plaintext
Maohua Yang and others, Uni-GBSA: an open-source and web-based automatic workflow to perform MM/GB(PB)SA calculations for virtual screening, Briefings in Bioinformatics, 2023;, bbad218, https://doi.org/10.1093/bib/bbad218.
Owner
- Name: DP Technology
- Login: dptech-corp
- Kind: organization
- Location: China
- Website: https://www.dp.tech/en
- Repositories: 9
- Profile: https://github.com/dptech-corp
GitHub Events
Total
- Create event: 1
- Issues event: 3
- Release event: 1
- Watch event: 24
- Member event: 1
- Issue comment event: 25
- Push event: 1
- Pull request event: 4
- Fork event: 3
Last Year
- Create event: 1
- Issues event: 3
- Release event: 1
- Watch event: 24
- Member event: 1
- Issue comment event: 25
- Push event: 1
- Pull request event: 4
- Fork event: 3
Committers
Last synced: 7 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| MaohuaYang | m****y@h****m | 267 |
| Ally Bo | 4****o@u****m | 5 |
| zhengh | h****g@p****n | 4 |
| Jochem Nelen | 7****n@u****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 8 months ago
All Time
- Total issues: 25
- Total pull requests: 36
- Average time to close issues: 15 days
- Average time to close pull requests: 3 days
- Total issue authors: 17
- Total pull request authors: 4
- Average comments per issue: 2.48
- Average comments per pull request: 0.06
- Merged pull requests: 36
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 9
- Pull requests: 3
- Average time to close issues: 8 days
- Average time to close pull requests: about 11 hours
- Issue authors: 6
- Pull request authors: 2
- Average comments per issue: 3.78
- Average comments per pull request: 0.67
- Merged pull requests: 3
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- Tangbbmc (7)
- CNDOTA (2)
- davidoskky (1)
- AI-amateur (1)
- Chemwzd (1)
- alineobraga (1)
- mmagithub (1)
- ngchoikuen (1)
- krinoz (1)
- kdpan (1)
- blacktanktop (1)
- zaixizhang (1)
- lake-chao (1)
- almeida85 (1)
- sf-polaris (1)
Pull Request Authors
- Aunity (33)
- allybo (2)
- SerendipityPKU (1)
- Jnelen (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 148 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 8
- Total maintainers: 1
pypi.org: unigbsa
MMPB(GB)SA tools for calculate energy.
- Homepage: https://github.com/dptech-corp/Uni-GBSA
- Documentation: https://unigbsa.readthedocs.io/
- License: apache-2.0
-
Latest release: 0.1.7
published over 1 year ago
Rankings
Maintainers (1)
Dependencies
- acpype *
- gmx_MMPBSA >=1.5.6
- lickit *
- actions/checkout v2 composite
- docker/build-push-action v2 composite
- docker/login-action v1 composite
- actions/checkout v2 composite
- actions/checkout v3 composite
- actions/setup-python v3 composite
- pypa/gh-action-pypi-publish 27b31702a0e7fc50959f5ad993c78deac1bdfc29 composite
- continuumio/miniconda3 latest build