我的数据集看起来像:
atom 01 B HEL A1001 -1.09 32.90 22.99
atom 02 C ARG A1002 -3.22 22.89 12.00
atom 03 C1 ARG A1003 -2.99 18.32 22.13
atom 04 CW2AARG A1004 -2.22 19.99 29.84
atom 05 WS HEL A1005 -3.22 18.33 14.21
...
我正在寻找的是更正第三行缩进问题或在AARG之前添加“空格”或创建空格列。它最终应该看起来像..
atom 01 B HEL A1001 -1.09 32.90 22.99
atom 02 C ARG A1002 -3.22 22.89 12.00
atom 03 C1 ARG A1003 -2.99 18.32 22.13
atom 04 CW2 AARG A1004 -2.22 19.99 29.84
atom 05 WS HEL A1005 -3.22 18.33 14.21
用for line in map(str.split, inp): x=line[2]
我试图通过选择列说line[2]
我得到一个错误的列选择,因为CW2AARG
未来的单列条目没有CW2
对line[2]
和AARG
线路line[3]
。
关于如何更改方法的任何想法...
假设在进行此列连接时您的氨基酸ID为四个字符长,并且这是唯一有问题的列,则此代码应该起作用:
pdb_data = []
for line in open('input.txt'):
line = line.split()
if len(line)<8:
pre = line[0:2]
post = line[3:]
col3 = line[2][:-4]
col4 = line[2][-4:]
new_line = pre+[col3,col4]+post
pdb_data.append(new_line)
else:
pdb_data.append(line)
如果长度不总是四个字符,则可以尝试应用一些基本规则来分割字符串:如果字符串中的字符达到一个数字:则在那里分割。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句