我有3个输出文件分别包含x,y,z坐标从文本文件中写入文本文件python
file1.txt(仅包含x) file2(Y)| file3(Z)
2.113
3.023
-7.234
...
和一个包含坐标数据的父pdb文件。我只想从pdb文件中提取与来自file1,file2,file3的x,y,z坐标匹配的那些行。这些pdb文件行是;
ATOM 1 O5' G A 93 -12.706 19.299 0.129 1.00 0.00ö
黑体值将是我匹配的标准拷贝的整行。
1-我如何合并三个输出文件来创建一个文件,这个文件可以在一行中给我x,y,z坐标以与我的脚本一起工作。
final_file = [file1,file2,file3]?
2-我如何在匹配标准上提取点;
def read_convex_points(final_file,parent_pdb):
with open("output.txt","w") as f1:
with open(final_file) as f2:
with open(parent_pdb) as f3:
for line1 in f2:
for line2 in f3:
if line1 in line2:
f1.write(line2)
return
final_file = "file1.txt"
parent_pdb = "original.pdb"
read_convex_points(final_file,parent_pdb)
我写了功能类似的东西,但如果条件不工作。
您的描述有点不清楚。独立文件中的坐标是什么?例如,file1中的X坐标,file2中的Y坐标,file3中的Z坐标。 – 2015-02-10 03:41:05
是的,你是对的。 – 2015-02-10 03:49:23
你有2个问题,他们可能应该在单独的职位。但无论如何,如果你在Unix或Linux上,将3个文件加入1的最简单方法是使用'paste'。正如彼得的回答所显示的那样,用Python来完成工作很容易。你想在同一个程序中进行粘贴测试吗?我认为在一个单独的程序中执行它可能是一个好主意,尤其是当您需要对数据进行多次传递时。 – 2015-02-10 04:21:13