氨基酸三维曲率计算公式
2022-09-23 本文已影响0人
晓柒NLP与药物设计
已知氨基酸X,Y,Z坐标
1. 利用切线,做小量近似,展开足够阶数
在三维坐标系中,对于两切线近似组成的平面,切线的方向向量为
设:
上式就等于:
小量展开:
其中:
并且:
故:
可得:
2. 利用方向向量
可得:
即最终结论:
for i in X_train:
x = i[:,1].cpu()
x1 = np.gradient(x)
x2 = np.gradient(x1)
y = i[:,2].cpu()
y1 = np.gradient(y)
y2 = np.gradient(y1)
z = i[:,3].cpu()
z1 = np.gradient(z)
z2 = np.gradient(z1)
r2 = np.sqrt((y1*z2-z1*y2)**2+(z1*x2-x1*z2)**2+(x1*y2-x2*y1)**2)/((np.sqrt(x1**2+y1**2+z1**2))**3)
# 直接莽