Select Git revision
pystack.ipynb
test2.py 897 B
import Bio.PDB
import Bio.PDB.Atom
import numpy as np
def main():
structure = Bio.PDB.PDBParser().get_structure("4pqv", "tests/4pqv_A.pdb")
residues = list(structure.get_residues())
res1 = residues[8]
res2 = residues[3]
atoms1 = list(res1.get_atoms())
atoms2 = list(res2.get_atoms())
min_dist = 999
min_atom1 = Bio.PDB.Atom.Atom("dummy", np.zeros(3), 0, 1, 1, "dummy", 0)
min_atom2 = Bio.PDB.Atom.Atom("dummy", np.zeros(3), 0, 1, 1, "dummy", 0)
for a1 in atoms1:
for a2 in atoms2:
if np.linalg.norm(a1.get_coord() - a2.get_coord()) < min_dist:
min_dist = np.linalg.norm(a1.get_coord() - a2.get_coord())
min_atom1 = a1
min_atom2 = a2
print(
f"Minimal distance: {min_dist:.2f}, Coordinate1: {min_atom1}, Coordinate2: {min_atom2}"
)
if __name__ == "__main__":
main()