You can add your own restraints to the restraints file, with the homology-derived restraints, by redefining the 'special_restraints' routine (by default it does nothing). This can be used, for example, to add information from NMR experiments. The example below enforces an additional restraint on a single CA-CA distance.
# Addition of restraints to the default ones from modeller.automodel import * # Load the automodel class log.verbose() env = environ() # directories for input atom files env.io.atom_files_directory = './:../atom_files' class mymodel(automodel): def special_restraints(self, aln): rsr = self.restraints # Add some restraints from a file: # rsr.append(file='my_rsrs1.rsr') # Restrain the specified CA-CA distance to 10 angstroms (st. dev.=0.1) # Use a harmonic potential and X-Y distance group. rsr.add(atom_ids=('CA:35', 'CA:40'), restraint_parameters=(3, 1, 1, 27, 2, 2, 0, 10.0, 0.1)) a = mymodel(env, alnfile = 'alignment.ali', # alignment filename knowns = '5fd1', # codes of the templates sequence = '1fdx') # code of the target a.starting_model= 1 # index of the first model a.ending_model = 1 # index of the last model # (determines how many models to calculate) a.make() # do homology modelling