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