In [1]:
import os
import sys
import random
import time
from random import seed, randint
import argparse
import platform
from datetime import datetime
import imp
import numpy as np
import fileinput
from itertools import product
import pandas as pd
from scipy.interpolate import griddata
from scipy.interpolate import interp2d
import seaborn as sns
from os import listdir

import matplotlib.pyplot as plt
import seaborn as sns
from scipy.interpolate import griddata
import matplotlib as mpl
# sys.path.insert(0,'..')
# from notebookFunctions import *
# from .. import notebookFunctions
from Bio.PDB.Polypeptide import one_to_three
from Bio.PDB.Polypeptide import three_to_one
from Bio.PDB.PDBParser import PDBParser
from pyCodeLib import *
from small_script.myFunctions import *
from collections import defaultdict
%matplotlib inline
# plt.rcParams['figure.figsize'] = (10,6.180)    #golden ratio
# %matplotlib notebook
%load_ext autoreload
%autoreload 2

In [2]:
plt.rcParams['figure.figsize'] = [16.18033, 10]    #golden ratio
plt.rcParams['figure.facecolor'] = 'w'
plt.rcParams['figure.dpi'] = 100
plt.rcParams.update({'font.size': 22})

In [7]:
r_min = 2
dr = 0.1

In [13]:
r_min = 2
r_max = 10
min_seq_sep = 6

In [9]:
r = 4.8
int((r-r_min)/dr)


Out[9]:
27

In [58]:
pdb_list = glob.glob("/Users/weilu/Research/database/Alpha-helical_polytopic/*.pdb")

In [59]:
len(pdb_list)


Out[59]:
3433

In [97]:
r_min = 2
r_max = 10
min_seq_sep = 6

dr = 0.1
r_table = np.arange(r_min, r_max+10, dr)
n = len(r_table)
parser = PDBParser(QUIET=1)
cb_cb_table = np.zeros((20, 20, n))
count = 0

for pdb in pdb_list[:100]:
    pdbName = pdb.split("/")[-1][:-4]
    one_cb_cb_table = np.zeros((20, 20, n))
    count += 1
    print(pdb)
    structure = parser.get_structure('X', pdb)
    res_list = get_res_list(structure)
    neighbor_list = get_neighbor_list(structure)
    try:
        cb_density = calculate_cb_density(res_list, neighbor_list)
    except:
        print(f"problem pdb: {pdb}, skip")
        continue
    for res1globalindex, res1 in enumerate(res_list):
        res1index = get_local_index(res1)
        res1chain = get_chain(res1)
        rho_i = cb_density[res1globalindex]
        for res2 in get_neighbors_within_radius(neighbor_list, res1, r_max+2.0):
            res2index = get_local_index(res2)
            res2chain = get_chain(res2)
            res2globalindex = get_global_index(res_list, res2)
            rho_j = cb_density[res2globalindex]
            if res2index - res1index >= min_seq_sep or (res1chain != res2chain and res2globalindex > res1globalindex):
                res1type = get_res_type(res_list, res1)
                res2type = get_res_type(res_list, res2)
                rij = get_interaction_distance(res1, res2)
                position = int(np.rint((rij-r_min)/dr))
                if position < 0 or position >= n:
                    print(res1index, res2index, rij, "outside the table")
                else:
                    one_cb_cb_table[res1type][res2type][position] += 1
                    one_cb_cb_table[res2type][res1type][position] += 1
    np.save(f"/Users/weilu/Research/database/cb_cb_distance/{pdbName}.npy", one_cb_cb_table)


/Users/weilu/Research/database/Alpha-helical_polytopic/6ctd.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5tin.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6fkb.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5vpn.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/1qhj.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2mgy.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2zd9.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5vrf.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6dqn.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6hef.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4wis.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6ds0.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6cvl.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6f0u.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3pbl.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5xsz.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5d5a.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3gb7.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2htk.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4yk5.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6f10.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2zjs.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5hwy.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4rym.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5d57.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5c2t.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3g5u.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6mwg.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3wfb.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5oge.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3eml.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4lep.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3e8g.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6coy.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5svj.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5fn5.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5ah3.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3gww.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/1at9.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4r8c.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5x19.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6j21.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6cnj.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/1c8s.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2a06.pdb
need debug <Residue TRP het=  resseq=443 icode= >
problem pdb: /Users/weilu/Research/database/Alpha-helical_polytopic/2a06.pdb, skip
/Users/weilu/Research/database/Alpha-helical_polytopic/6mmi.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4u2q.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5sxv.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6d1s.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5xj9.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5vex.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5a3r.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4kly.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4pxk.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4knf.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4gx0.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4iu8.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2y5y.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3m77.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5gko.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3tlt.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3vvo.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2lzs.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3fps.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3dhw.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2uui.pdb
need debug <Residue ALA het=  resseq=150 icode= >
problem pdb: /Users/weilu/Research/database/Alpha-helical_polytopic/2uui.pdb, skip
/Users/weilu/Research/database/Alpha-helical_polytopic/2wli.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2uwv.pdb
need debug <Residue MET het=  resseq=303 icode= >
problem pdb: /Users/weilu/Research/database/Alpha-helical_polytopic/2uwv.pdb, skip
/Users/weilu/Research/database/Alpha-helical_polytopic/5y79.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3m6e.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2nop.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4dgf.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5ksd.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3aym.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6gxc.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6b3j.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2ih3.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5bzb.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3zmh.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3zo6.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4d1a.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3tt3.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4o6y.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4a98.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6bpl.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6euq.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3dqb.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2eil.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6n25.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6bqh.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4o6n.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2lor.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3zuy.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5uar.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/1p7b.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4mvq.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5u74.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4qe7.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/1rzz.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4xnx.pdb

In [99]:
r_min = 2
r_max = 10
min_seq_sep = 6

dr = 0.1
r_table = np.arange(r_min, r_max+10, dr)
n = len(r_table)
parser = PDBParser(QUIET=1)
cb_cb_table = np.zeros((20, 20, n))
count = 0

for pdb in pdb_list[105:500]:
    pdbName = pdb.split("/")[-1][:-4]
    one_cb_cb_table = np.zeros((20, 20, n))
    count += 1
    print(pdb)
    try:
        structure = parser.get_structure('X', pdb)
        res_list = get_res_list(structure)
        neighbor_list = get_neighbor_list(structure)
        cb_density = calculate_cb_density(res_list, neighbor_list)
    except:
        print(f"problem pdb: {pdb}, skip")
        continue
    for res1globalindex, res1 in enumerate(res_list):
        res1index = get_local_index(res1)
        res1chain = get_chain(res1)
        rho_i = cb_density[res1globalindex]
        for res2 in get_neighbors_within_radius(neighbor_list, res1, r_max+2.0):
            res2index = get_local_index(res2)
            res2chain = get_chain(res2)
            res2globalindex = get_global_index(res_list, res2)
            rho_j = cb_density[res2globalindex]
            if res2index - res1index >= min_seq_sep or (res1chain != res2chain and res2globalindex > res1globalindex):
                res1type = get_res_type(res_list, res1)
                res2type = get_res_type(res_list, res2)
                rij = get_interaction_distance(res1, res2)
                position = int(np.rint((rij-r_min)/dr))
                if position < 0 or position >= n:
                    print(res1index, res2index, rij, "outside the table")
                else:
                    one_cb_cb_table[res1type][res2type][position] += 1
                    one_cb_cb_table[res2type][res1type][position] += 1
    np.save(f"/Users/weilu/Research/database/cb_cb_distance/{pdbName}.npy", one_cb_cb_table)


/Users/weilu/Research/database/Alpha-helical_polytopic/4v7i.pdb
problem pdb: /Users/weilu/Research/database/Alpha-helical_polytopic/4v7i.pdb, skip
/Users/weilu/Research/database/Alpha-helical_polytopic/1ezv.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4v6m.pdb
need debug <Residue ARG het=  resseq=49 icode= >
problem pdb: /Users/weilu/Research/database/Alpha-helical_polytopic/4v6m.pdb, skip
/Users/weilu/Research/database/Alpha-helical_polytopic/3zux.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2nww.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3f3c.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2los.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/1p49.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5ywd.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6et5.pdb
need debug <Residue ALA het=  resseq=333 icode= >
problem pdb: /Users/weilu/Research/database/Alpha-helical_polytopic/6et5.pdb, skip
/Users/weilu/Research/database/Alpha-helical_polytopic/6n24.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2eim.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4h33.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4x5n.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4qh1.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3aoa.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5wuc.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6n3q.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6n30.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3spj.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6g9l.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2wwb.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4zyr.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3qjq.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4myh.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3fi1.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5kpi.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2yn9.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3zmi.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/1be3.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2nlj.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6nq2.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5y78.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2uww.pdb
need debug <Residue MET het=  resseq=303 icode= >
problem pdb: /Users/weilu/Research/database/Alpha-helical_polytopic/2uww.pdb, skip
/Users/weilu/Research/database/Alpha-helical_polytopic/2wlh.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4j2t.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5gky.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3coc.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2uuh.pdb
need debug <Residue LEU het=  resseq=146 icode= >
problem pdb: /Users/weilu/Research/database/Alpha-helical_polytopic/2uuh.pdb, skip
/Users/weilu/Research/database/Alpha-helical_polytopic/2lzr.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3vvn.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3m76.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/1l0v.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5y50.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3tlu.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4iu9.pdb
need debug <Residue LEU het=  resseq=452 icode= >
problem pdb: /Users/weilu/Research/database/Alpha-helical_polytopic/4iu9.pdb, skip
/Users/weilu/Research/database/Alpha-helical_polytopic/4gx1.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6hqb.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5xhq.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5a3s.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5xjy.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5xj8.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3u2y.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2hn2.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4gyc.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6mmh.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4u2p.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/1c8r.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6cnk.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5hcj.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5tsa.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5vke.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3leo.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6j20.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5fn4.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2ahz.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3wqj.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5svk.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3gwv.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/1vvk.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3e8f.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2fyu.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5t15.pdb
problem pdb: /Users/weilu/Research/database/Alpha-helical_polytopic/5t15.pdb, skip
/Users/weilu/Research/database/Alpha-helical_polytopic/3wfc.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3p5n.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6cx0.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4pb2.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4p79.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5d6l.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5d56.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6his.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2jln.pdb
need debug <Residue PRO het=  resseq=471 icode= >
problem pdb: /Users/weilu/Research/database/Alpha-helical_polytopic/2jln.pdb, skip
/Users/weilu/Research/database/Alpha-helical_polytopic/5hwx.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2mi2.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6f11.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5mke.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6qee.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5osa.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/1ds8.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5vrg.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4i7z.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6fkc.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/1qkp.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5dn6.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6drc.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5tj5.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5tio.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6fka.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4brb.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5j4i.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6dqz.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6dra.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5doq.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4pov.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3kzi.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6fk7.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6fj3.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5vre.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4nef.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6f13.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5t1a.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6o9g.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6hiq.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5xsy.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5osc.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5d5b.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2j8c.pdb
need debug <Residue MET het=  resseq=303 icode= >
problem pdb: /Users/weilu/Research/database/Alpha-helical_polytopic/2j8c.pdb, skip
/Users/weilu/Research/database/Alpha-helical_polytopic/6f0v.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6mvw.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6mwd.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2xq9.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4wfh.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6qd5.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4ryn.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2cfq.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4il9.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5vkp.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/1t9y.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4rng.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5tr1.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/1oyd.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6dho.pdb
problem pdb: /Users/weilu/Research/database/Alpha-helical_polytopic/6dho.pdb, skip
/Users/weilu/Research/database/Alpha-helical_polytopic/3rlf.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4l35.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5vdh.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4npp.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3nsb.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6mmj.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2q6h.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5sxu.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2h8a.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/1ott.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4ea3.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5a3q.pdb
need debug <Residue THR het=  resseq=866 icode= >
problem pdb: /Users/weilu/Research/database/Alpha-helical_polytopic/5a3q.pdb, skip
/Users/weilu/Research/database/Alpha-helical_polytopic/5mpm.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4m5c.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5y5s.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3tlw.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4z7f.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/1ixf.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4zbm.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3m74.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6el1.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5wo9.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4tnv.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2wlj.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2uwu.pdb
need debug <Residue MET het=  resseq=303 icode= >
problem pdb: /Users/weilu/Research/database/Alpha-helical_polytopic/2uwu.pdb, skip
/Users/weilu/Research/database/Alpha-helical_polytopic/1gu8.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3m7b.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3m9i.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/1pxs.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3ayn.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/1kme.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6nq0.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3s38.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6e7p.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/1py6.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5g2d.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3t6d.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5g36.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4d1b.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2ksy.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6e59.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3zot.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2uxm.pdb
need debug <Residue MET het=  resseq=303 icode= >
problem pdb: /Users/weilu/Research/database/Alpha-helical_polytopic/2uxm.pdb, skip
/Users/weilu/Research/database/Alpha-helical_polytopic/6b2z.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3sfe.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4mm9.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/1yq4.pdb
need debug <Residue SER het=  resseq=141 icode= >
problem pdb: /Users/weilu/Research/database/Alpha-helical_polytopic/1yq4.pdb, skip
/Users/weilu/Research/database/Alpha-helical_polytopic/5l75.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4v82.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6nd1.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5wtr.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3sph.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5ul7.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5bn2.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5uni.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3qjs.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5prc.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4o6m.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6n26.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5wua.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5nx2.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4al0.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3aoc.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5nv9.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4mvr.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3cxh.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3f3a.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3tx3.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4o9u.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5lnk.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5e1j.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4zud.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5wzy.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3zum.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5llu.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3om3.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5ir6.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5u76.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4o9t.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3jqo.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4mvs.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2rdd.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6g72.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/1ry5.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2lop.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5b5e.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3fgo.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4al1.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/1nek.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2rh1.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3aob.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4hea.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2bl2.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4x5m.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/1brx.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6n27.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2ein.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3qjr.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5unh.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2l6x.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3aou.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3tt1.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6g9o.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2wwa.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3fh6.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3spi.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3zmj.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4mm8.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6ebm.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3sfd.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/1bgy.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4xtc.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4d1c.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5nm2.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2ks9.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5kpj.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2uxl.pdb
need debug <Residue MET het=  resseq=303 icode= >
problem pdb: /Users/weilu/Research/database/Alpha-helical_polytopic/2uxl.pdb, skip
/Users/weilu/Research/database/Alpha-helical_polytopic/3s3x.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3s39.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6nq1.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3t6e.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4ov0.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2ih1.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3t4z.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2wcd.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4c7r.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/1pxr.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5gkz.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2w8d.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4xyd.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3m7c.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4atv.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4tnw.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5wo8.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2uwt.pdb
need debug <Residue MET het=  resseq=303 icode= >
problem pdb: /Users/weilu/Research/database/Alpha-helical_polytopic/2uwt.pdb, skip
/Users/weilu/Research/database/Alpha-helical_polytopic/2wlk.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3tlv.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3cll.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3jd8.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3m75.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5lxg.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3dh4.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3dkn.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2i1x.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4m5b.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4rai.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/1s00.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/1otu.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6dg7.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5xjm.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2agv.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4gx2.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3r65.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6mmk.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5okd.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3eam.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4npq.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5vdi.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4r50.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5sy1.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2q7m.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/1t7d.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5jwy.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5jtb.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3e83.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5xdq.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5tsb.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4uis.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/1t9x.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3bhs.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/1oye.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5vkq.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3gwu.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/1zcd.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2ahy.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5x33.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4wd7.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5zhp.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5cfy.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2cfp.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4ryo.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4pb1.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2xq8.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3lsv.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5c1m.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/1q16.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5mju.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5mkf.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4g7v.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5osb.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6mvv.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6f12.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4p6h.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5mg3.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5zgh.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4rws.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2zfe.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6fk6.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5tj6.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6ctf.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4rwd.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5hxc.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4p9p.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/7prc.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/1oco.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3usg.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3rvz.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2qto.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6dr2.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5d92.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4wib.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6fkd.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2m3g.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3usp.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5jag.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3wfd.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6mwa.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2ziy.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5d6k.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4nh2.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6a70.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6f16.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3nka.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4gby.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4pa9.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6ffc.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4g7r.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5hcm.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5vhy.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4lde.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5ofp.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5f8u.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5x0m.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5svl.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5fn3.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6qpc.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6djb.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4rcr.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5mrw.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6m96.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2qb4.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6mm9.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6mmx.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/6ayg.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/5syt.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4pxz.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4bey.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2i21.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2wlo.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/1ldi.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3fpb.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3t9n.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4tll.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2ycx.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/2i35.pdb
need debug <Residue GLU het=  resseq=332 icode= >
problem pdb: /Users/weilu/Research/database/Alpha-helical_polytopic/2i35.pdb, skip
/Users/weilu/Research/database/Alpha-helical_polytopic/3cod.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/1kb9.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3cn6.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3qs5.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/3m71.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4c9j.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4qry.pdb
/Users/weilu/Research/database/Alpha-helical_polytopic/4cbj.pdb

In [ ]:
r_min = 2
r_max = 10
min_seq_sep = 6

dr = 0.1
r_table = np.arange(r_min, r_max+10, dr)
n = len(r_table)
parser = PDBParser(QUIET=1)
cb_cb_table = np.zeros((20, 20, n))
count = 0

for pdb in pdb_list[500:]:
    pdbName = pdb.split("/")[-1][:-4]
    one_cb_cb_table = np.zeros((20, 20, n))
    count += 1
    print(pdb)
    structure = parser.get_structure('X', pdb)
    res_list = get_res_list(structure)
    neighbor_list = get_neighbor_list(structure)
    try:
        cb_density = calculate_cb_density(res_list, neighbor_list)
    except:
        print(f"problem pdb: {pdb}, skip")
        continue
    for res1globalindex, res1 in enumerate(res_list):
        res1index = get_local_index(res1)
        res1chain = get_chain(res1)
        rho_i = cb_density[res1globalindex]
        for res2 in get_neighbors_within_radius(neighbor_list, res1, r_max+2.0):
            res2index = get_local_index(res2)
            res2chain = get_chain(res2)
            res2globalindex = get_global_index(res_list, res2)
            rho_j = cb_density[res2globalindex]
            if res2index - res1index >= min_seq_sep or (res1chain != res2chain and res2globalindex > res1globalindex):
                res1type = get_res_type(res_list, res1)
                res2type = get_res_type(res_list, res2)
                rij = get_interaction_distance(res1, res2)
                position = int(np.rint((rij-r_min)/dr))
                if position < 0 or position >= n:
                    print(res1index, res2index, rij, "outside the table")
                else:
                    one_cb_cb_table[res1type][res2type][position] += 1
                    one_cb_cb_table[res2type][res1type][position] += 1
    np.save(f"/Users/weilu/Research/database/cb_cb_distance/{pdbName}.npy", one_cb_cb_table)

In [75]:
rough = np.argmax(cb_cb_table>=1, axis=2)
size = 20
interaction_matrix = np.zeros((size, size))
for i in range(size):
    for j in range(size):
        index1 = hydrophobicity_map[inverse_res_type_map[i]]
        index2 = hydrophobicity_map[inverse_res_type_map[j]] 
        interaction_matrix[index1][index2] += rough[i][j]

In [76]:
fig = plt.figure()
ax = fig.add_subplot(111)
cax = ax.pcolor(interaction_matrix, cmap="RdBu_r")
fig.colorbar(cax)

# put the major ticks at the middle of each cell
ax.set_yticks(np.arange(interaction_matrix.shape[0]) + 0.5, minor=False)
ax.set_xticks(np.arange(interaction_matrix.shape[1]) + 0.5, minor=False)

_ = ax.set_xticklabels(hydrophobicity_letters)
_ = ax.set_yticklabels(hydrophobicity_letters)



In [79]:
parser = PDBParser(QUIET=1)
structure = parser.get_structure('X', "/Users/weilu/Research/database/Alpha-helical_polytopic/2a06.pdb")
res_list = get_res_list(structure)
neighbor_list = get_neighbor_list(structure)

In [91]:
try:
    cb_density = calculate_cb_density(res_list, neighbor_list)
except:
    print("problem, skip")
r_min = 2
r_max = 10
min_seq_sep = 6

dr = 0.1
r_table = np.arange(r_min, r_max+10, dr)
n = len(r_table)

cb_cb_table = np.zeros((20, 20, n))

for res1globalindex, res1 in enumerate(res_list):
    res1index = get_local_index(res1)
    res1chain = get_chain(res1)
    rho_i = cb_density[res1globalindex]
    for res2 in get_neighbors_within_radius(neighbor_list, res1, r_max+2.0):
        res2index = get_local_index(res2)
        res2chain = get_chain(res2)
        res2globalindex = get_global_index(res_list, res2)
        rho_j = cb_density[res2globalindex]
        if res2index - res1index >= min_seq_sep or (res1chain != res2chain and res2globalindex > res1globalindex):
            res1type = get_res_type(res_list, res1)
            res2type = get_res_type(res_list, res2)
            try:
                rij = get_interaction_distance(res1, res2)
            except:
                break
            position = int(np.rint((rij-r_min)/dr))
            if position < 0 or position >= 100:
                print(res1index, res2index, rij, "outside the table")
            else:
                cb_cb_table[res1type][res2type][position] += 1
                cb_cb_table[res2type][res1type][position] += 1


need debug <Residue TRP het=  resseq=443 icode= >
problem, skip
---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-91-0cf514959f7e> in <module>
     21         res2chain = get_chain(res2)
     22         res2globalindex = get_global_index(res_list, res2)
---> 23         rho_j = cb_density[res2globalindex]
     24         if res2index - res1index >= min_seq_sep or (res1chain != res2chain and res2globalindex > res1globalindex):
     25             res1type = get_res_type(res_list, res1)

IndexError: index 643 is out of bounds for axis 0 with size 588

In [ ]:


In [87]:
list(res1.get_atoms())[0]


Out[87]:
<Atom N>

In [39]:
cb_cb_table.shape


Out[39]:
(20, 20, 180)

In [42]:
np.sum(cb_cb_table)


Out[42]:
14488.0

In [46]:
cb_cb_table[0][0]


Out[46]:
array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
       0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
       0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 2., 0.,
       0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 2.,
       0., 0., 0., 2., 0., 0., 0., 0., 2., 0., 0., 4., 0., 0., 0., 0., 0.,
       0., 0., 0., 0., 0., 2., 0., 0., 0., 2., 0., 2., 0., 0., 0., 0., 0.,
       0., 0., 0., 0., 0., 0., 0., 2., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
       0., 0., 2., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
       0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
       0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
       0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])

In [47]:
plt.plot(cb_cb_table[0][0])


Out[47]:
[<matplotlib.lines.Line2D at 0x1a1acce0f0>]

In [66]:


In [48]:
rough = np.argmax(cb_cb_table>=1, axis=2)

In [54]:
size = 20
interaction_matrix = np.zeros((size, size))
for i in range(size):
    for j in range(size):
        index1 = hydrophobicity_map[inverse_res_type_map[i]]
        index2 = hydrophobicity_map[inverse_res_type_map[j]] 
        interaction_matrix[index1][index2] += rough[i][j]

In [57]:
fig = plt.figure()
ax = fig.add_subplot(111)
cax = ax.pcolor(interaction_matrix, cmap="RdBu_r")
fig.colorbar(cax)

# put the major ticks at the middle of each cell
ax.set_yticks(np.arange(interaction_matrix.shape[0]) + 0.5, minor=False)
ax.set_xticks(np.arange(interaction_matrix.shape[1]) + 0.5, minor=False)

_ = ax.set_xticklabels(hydrophobicity_letters)
_ = ax.set_yticklabels(hydrophobicity_letters)



In [ ]:
index1 = hydrophobicity_map[inverse_res_type_map[i]]
index2 = hydrophobicity_map[inverse_res_type_map[j]]

In [53]:
rough - rough.T


Out[53]:
array([[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]])

In [ ]:


In [51]:
plt.imshow(rough)
plt.colorbar()


Out[51]:
<matplotlib.colorbar.Colorbar at 0x1a1b63f5c0>

In [ ]: