Если вы можете использовать biopython Bio.PDB
, чтобы получить эти атомы, то вы можете получить расстояние между 2 атомами, просто вычитая два атома distance = atom1 - atom2
.Если вы действительно хотите получить расстояние самостоятельно, то это также просто, используя формулу d = sqrt((x2 - x1)**2 + (y2 - y1)**2 + (z2 - z1)**2)
.
. Вам просто нужно выполнить цикл, чтобы получить матрицу расстояний, используя один из методов distance
.выше:
dist=[[0]*len(array[0])]*len(array)
for i in range(len(array)-1):
for j in range(i+1,len(array)):
dist[i][j]=distance(array[i],array[j])