# !sudo apt install -yq openbabel
# !wget https://github.com/gnina/gnina/releases/download/v1.0.3/gnina #check the latest version please
# !chmod +x gnina
# !./gnina
gnina docking
Setup
Setup gnina
Below are the commands to setup
Alternatively, use python script to setup:
setup_gnina_local
setup_gnina_local (version='v1.3')
Download and install gnina in the current directory
# setup_gnina_local('v1.1')
def delete_gnina(gnina_path="gnina"):
"Remove gnina after finish"
=Path(gnina_path)
pathif path.exists() and path.is_file():
path.unlink()print('Deleted!')
else: print('Not exist!')
# delete_gnina()
Deleted!
If local is not successful, use docker
setup_gnina_docker
setup_gnina_docker ()
Pull gnina docker image
# setup_gnina_docker()
Pulling GNINA Docker image: gnina/gnina
GNINA Docker image is ready.
Get protein and ligand
# #nature medicine paper, mrtx
# !wget http://files.rcsb.org/download/7T47.pdb
# # get ligand
# !grep 6IC 7T47.pdb > lig.pdb
# # get protein
# # !grep ATOM 7T47.pdb > rec.pdb #not as good as the one below
# !grep -v 6IC 7T47.pdb > rec.pdb
Gnina affinity
extract_gnina_dock
extract_gnina_dock (gnina_output)
Extract values from gnina output
gnina_dock
gnina_dock (receptor, ligand, autobox_ligand, output='docked.sdf', seed=0, exhaustiveness=None)
Type | Default | Details | |
---|---|---|---|
receptor | receptor file | ||
ligand | ligand file | ||
autobox_ligand | ligand file isolated from the complex | ||
output | str | docked.sdf | output file (sdf or sdf.gz) to be saved |
seed | int | 0 | set seeds |
exhaustiveness | NoneType | None | number of MC chains, default is 8 if None, the higher the better (16,32); for whole protein, use 64 |
# df = Data.get_g12d_dedup()[:10]
gnina_dock
gnina_dock (df, ID_col='ID', smi_col='SMILES', output_dir='gnina_docked')
# out = gnina_dock_df(df)
TODO: make it parallel