我想知道是否可以使用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


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

最佳答案

你快到了;您的格式应为:

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


您有太多的零和冗余的1

您还需要记住,不包含范围内的停止值,因此要获得数字1-5,需要在stop参数上加1:

for i in range(1, 6):

关于python - 使用python中的range选择文件范围,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15735694/

10-13 07:52
查看更多