[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[modeller_usage] loops iterations and various DOPE scores



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?



Thanks,

Starr