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

Re: [modeller_usage] loops iterations and various DOPE scores



Starr Hazard wrote:
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.

Sounds OK so far.

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

You actually only need this routine if you're using Modeller 8v0. 8v1 can produce a profile from the 'assess_dope' routine (see below). Makes the script a bit more readable. ;)

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)

Presumably all of your loop models were built with the same Modeller inputs, so the sequence of every model should be the same. In this case, you can take all of this code outside of the loop, and just put the mdl.read call within it. That should give you the same results in less time.

1a) So, Is there a limit to ability of Modeller or python to handle long file name strings?

Python has no limit. Modeller (due to Fortran limitations) is in some cases limited to 600 characters, and will truncate file names if they're longer than this.

1b) Why am I not able to digest all 1000 loop models?

What's the error you get?

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?

There is no direct relationship, as the per-residue values are divided by the number of restraints acting on each residue.

	Ben Webb, Modeller Caretaker
--
             http://www.salilab.org/modeller/
Modeller mail list: http://salilab.org/mailman/listinfo/modeller_usage