Zaixi's picture
1
dcacefd
import binana
import sys
sys.path.append("..")
import rdkit
import rdkit.Chem as Chem
import copy
import pickle
from tqdm.auto import tqdm
import os
import numpy as np
import warnings
warnings.filterwarnings("ignore")
atoms = {}
cnt = 0
index_path = '../data/crossdocked_pocket10/index.pkl'
with open(index_path, 'rb') as f:
index = pickle.load(f)
for i, (pocket_fn, ligand_fn, _, rmsd_str) in enumerate(tqdm(index)):
if pocket_fn is None: continue
try:
path = '../data/crossdocked_pocket10/'
ligand_path = os.path.join(path, ligand_fn[:-3] + 'pdbqt')
pocket_path = os.path.join(path, pocket_fn[:-3] + 'pdbqt')
ligand, receptor = binana.load_ligand_receptor.from_files(ligand_path, pocket_path)
hbond_inf = binana.interactions.get_hydrogen_bonds(ligand, receptor)
atoms[pocket_fn[:-3]+ligand_fn[:-3]] = [int(bond[0][bond[0].find('(', 8)+1:-1]) - 1 for bond in hbond_inf['labels']]
cnt += 1
if cnt%10000==0:
np.save('atoms.npy', atoms)
except:
continue
print(cnt)
np.save('atoms.npy', atoms)