【问题标题】:Count the number of atoms of each element计算每个元素的原子数
【发布时间】:2021-10-30 07:03:57
【问题描述】:

我必须访问一个文件并计算每个元素的原子数。也就是统计最后一个字符出现的次数。

例如,我有一个名为 14ly.pdb 的文件,其中包含以下几行:

ATOM 211 N TYR A 27 4.697 8.290 -3.031 1.00 13.35 N

ATOM 212 CA TYR A 27 5.025 8.033 -1.616 0.51 11.29 C

ATOM 214 C TYR A 27 4.189 8.932 -0.730 1.00 10.87 C 

ATOM 215 O TYR A 27 3.774 10.030 -1.101 1.00 12.90 O

结果应该是:'N':1, 'C':2, 'O':1,即1个N型原子,2个C型原子和1个O型原子。

我有以下不完整的代码需要完成:

import os

def count_atoms(pdb_file_name):
  num_atoms = dict()
  with open(pdb_file_name) as file_content:

##Here should go the code I need## 

return num_atoms
result = count_atoms('14ly.pdb')
print(result)

【问题讨论】:

  • SO 不是免费的编码服务。你在这个上很幸运。您应该展示一些研究或算法尝试。

标签: python pdb


【解决方案1】:
number_of_atoms = dict()
with open("14ly.pdb", "r") as f:
    for line in f:
        line_words = line.split(" ")
        last_char = line_words[-1].rstrip('\n')
        if last_char in number_of_atoms.keys():
            number_of_atoms[last_char] += 1
        else:
            number_of_atoms[last_char] = 1
print(number_of_atoms)

我觉得应该够了

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2021-05-14
  • 2016-05-22
  • 2017-02-22
  • 2021-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-21
相关资源
最近更新 更多