[modeller_usage] loops iterations and various DOPE scores
To:
Subject: [modeller_usage] loops iterations and various DOPE scores
From: Starr Hazard <>
Date: Tue, 06 Dec 2005 17:12:42 -0500
Folks,
I am having several difficulties with analysis of my loops.
I built a model and selected a region to refine as a loop.
I have successfully created 1000 loop files.
Based on the model_energies.py file from the examples, I am attempting to
scan the 1000 loop model files. So far the script manages to read only
about 250 of the set.
Here's the script. The file "loop.list" has the names of the 1000 files,
one per line:
___________________________
from modeller.automodel import * # Load the automodel class
log.verbose() # request verbose output
env = environ() # create a new MODELLER environment to build this model in
env.libs.topology.read(file='$(LIB)/top_heav.lib') # read topology
env.libs.parameters.read(file='$(LIB)/par.lib') # read parameters
# directories for input atom files
env.io.atom_files_directory = './:../atom_files'
def dope_profile(mdl, file):
# DOPE energy parameters
edat = energy_data(contact_shell=15.0, dynamic_modeller=True,
dynamic_lennard=False, dynamic_sphere=False,
excl_local=(False, False, False, False))
# DOPE group restraints
oldgprsr = mdl.group_restraints
if not model.dope_restraints:
model.dope_restraints = \
group_restraints(classes='${LIB}/atmcls-mf.lib',
parameters='${LIB}/dist-mf.lib')
mdl.group_restraints = model.dope_restraints
molpdf = mdl.energy(output='SHORT', file=file,
edat=edat, residue_span_range=(1, 9999),
normalize_profile=True, smoothing_window=10)
mdl.group_restraints = oldgprsr
return molpdf
filename = 'loop.list'
in_file = open(filename,"r")
while 1:
# read model file
code = in_file.readline()
mdl = model(env)
mdl.read(file=code)
aln = alignment(env)
# generate topology
aln.append_model(mdl, atom_files=code, align_codes=code)
aln.append_model(mdl, atom_files=code, align_codes=code+'-ini')
mdl.generate_topology(aln, sequence=code+'-ini')
mdl.transfer_xyz(aln)
if info.version_info == (8,0):
dope_profile(mdl, code+'.profile')
else:
mdl.assess_dope(output='ENERGY_PROFILE NO_REPORT',
file=code+'.profile',
normalize_profile=True, smoothing_window=15)
_____________________________________
Here are the first five lines of an output profile:
__________________________________________________________
# Energy of each residue is written to: ABC31_HUMAN.BL00010001.pdb
.profile
# The profile IS normalized by the number of restraints.
# The profiles are smoothed over a window of residues: 13
# The sum of all numbers in the file: -15.0456
___________________________________________________
The actual profile file name looks like this
"ABC31_HUMAN.BL00010001.pdb?.profile"
1a) So, Is there a limit to ability of Modeller or python to handle long
file name strings?
1b) Why am I not able to digest all 1000 loop models?
2) In the log file that's produced I see a line like this for the first
loop model:
DOPE score :-51270.746094
What is the relationship between the summed per residue values from the
profile output (ie -15.0456) and this DOPE score from the log file?