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

Re: [modeller_usage] Restrain problem



Hey Flávio,

It's a Python syntax problem. You have a leading space before those lines (all starting with rsr.add). Remember that in Python, white-space is important. Removing that space will make it work.

Cheers,

João [...] Rodrigues
http://nmr.chem.uu.nl/~joao



On Sat, Jun 18, 2011 at 8:01 PM, flavio seixas <">> wrote:
Hi,

I had sucessfull modelled a protein without restrains.

However, when I put alpha helix restrains in the script below I face this problem:


File "model-restriction-single.py", line 21
   rsr.add(secondary_structure.alpha(self.residue_range('47:', '57:')))
                                                                       ^
IndentationError: unindent does not match any outer indentation level


I saw the script too many times and I am not able to see where the problem is.

Could anyone help-me?


from modeller import *

from modeller.automodel import *



log.verbose()

env = environ()



env.io.hetatm = True



# directories for input atom files

env.io.atom_files_directory = ['.', '../atom_files']





class MyModel(automodel):

   def special_restraints(self, aln):

       rsr = self.restraints

       at = self.atoms



# Add some restraints from a file:



# Residues 47 through 57 should be an alpha helix:

 rsr.add(secondary_structure.alpha(self.residue_range('47:', '57:')))



# Residues 130 through 140 should be an alpha helix:

 rsr.add(secondary_structure.alpha(self.residue_range('130:', '140:')))



# Residues 182 through 184 should be an alpha helix:

 rsr.add(secondary_structure.alpha(self.residue_range('182:', '184:')))



# Residues 191 through 195 should be an alpha helix:

 rsr.add(secondary_structure.alpha(self.residue_range('191:', '195:')))







a = MyModel(env, alnfile='MODEL-TemplateA.ali',

             knowns='TemplateA', sequence='MODEL',

             assess_methods=(assess.DOPE, assess.GA341))

a.starting_model = 1

a.ending_model = 5
0
a.make()





# Get a list of all successfully built models from a.outputs

ok_models = filter(lambda x: x['failure'] is None, a.outputs)





# Rank the models by DOPE score

key = 'DOPE score'

ok_models.sort(lambda a,b: cmp(a[key], b[key]))







# Get top model

m = ok_models[0]



print "Top model 1: %s (DOPE score %.3f)" % (m['name'], m[key])

m = ok_models[1]



print "Top model 2: %s (DOPE score %.3f)" % (m['name'], m[key])

m = ok_models[2]



print "Top model 3: %s (DOPE score %.3f)" % (m['name'], m[key])

m = ok_models[3]



print "Top model 4: %s (DOPE score %.3f)" % (m['name'], m[key])

m = ok_models[4]



print "Top model 5: %s (DOPE score %.3f)" % (m['name'], m[key])




_______________________________________________
modeller_usage mailing list
">
https://salilab.org/mailman/listinfo/modeller_usage