1

我想知道有没有办法使用 python range 命令选择一系列文件,实际上我正在运行 modeler 9.11 进行蛋白质同源性建模?

这是python脚本:

from modeller import *
from modeller.scripts import complete_pdb

log.verbose()    # request verbose output
env = environ()
env.io.atom_files_directory = './Build_models'
env.libs.topology.read(file='$(LIB)/top_heav.lib') # read topology
env.libs.parameters.read(file='$(LIB)/par.lib') # read parameters

for i in range(1, 5):
    # read model file
    code = "Brn3a.B99990000%00d1.pdb" % i
    mdl = complete_pdb(env, code)
    s = selection(mdl)
    s.assess_dope(output='ENERGY_PROFILE NO_REPORT', file='Brn3aloop.profile',
                  normalize_profile=True, smoothing_window=15)

我想读取一组保存在 Build_models 目录中的蛋白质结构:

  • Brn3a.B99990001
  • Brn3a.B99990002
  • Brn3a.B99990003
  • Brn3a.B99990004
  • Brn3a.B99990005

可执行文件的输出如下所示

pdbnam_____E> Filename for PDB code not found: Brn3a.B9999000011.pdb
              Directories: ./Build_models

那么我如何设置范围以选择上述列表?

4

1 回答 1

2

你快到了;你的格式应该是:

code = "Brn3a.B9999000%d.pdb" % i

你有太多的零和多余的1.

您还需要记住,范围内的停止值包括在内,因此要获得数字 1 - 5,您需要将 1 添加到停止参数:

for i in range(1, 6):
于 2013-03-31T23:27:17.503 回答