从 461 个 X、Y 和 Z 坐标列表中,我使用 SciPy 创建了一个距离矩阵,如下所示
[[ 0. 3.78112691 6.55159315 ... 63.40661118 62.2923149
64.71125443]
[ 3.78112691 0. 3.76986434 ... 60.79913069 59.55251531
61.87364432]
[ 6.55159315 3.76986434 0. ... 61.12392086 59.65959803
61.94572052]
...
[63.40661118 60.79913069 61.12392086 ... 0. 3.8003808
5.63044026]
[62.2923149 59.55251531 59.65959803 ... 3.8003808 0.
3.82889361]
[64.71125443 61.87364432 61.94572052 ... 5.63044026 3.82889361
0. ]]
我还编写了代码,允许用户从距离矩阵中提取小于或等于某个值的值,然后将其写入文本文件
radius = int(input("Enter the radius threshold for contact (Angstrom): "))
###########This code will extract every pair <= radius##################
f = open('contact.txt', 'w')
for i in distance_matrix:
for j in i:
if j <= radius:
if j != 0:
f.write(str(j) + '\n')
print("File contact.txt written")
#########################################################################
文本文件 (contact.txt) 只是一长串值 <= 到用户指定的值。有没有办法也写出这些值来自哪一对索引?例如,如果在 x 轴上的索引 b 和 y 轴上的值 c 的交点处找到值“a”,是否可以将其添加到输出文本文件中?
翻过高山走不出你
慕后森
当年话下
随时随地看视频慕课网APP
相关分类