使用python中的范围选择一系列文件

时间:2013-03-31 23:21:31

标签: python iteration range

我想知道有没有办法使用python range命令选择一系列文件,实际上我正在使用建模器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

那么我如何设置范围来选择上面提到的列表?

1 个答案:

答案 0 :(得分:2)

你几乎在那里;你的格式应该是:

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

你有一些零和一个多余的1

您还需要记住范围中的停止值是而不是,因此要获得数字1 - 5,您需要将1添加到停止参数:

for i in range(1, 6):