Stephen.Hearnshaw@uea.ac.uk wrote: > I require some guidance with a modelling problem I am having. I am > attempting to model a short 11 residue sequence around a template taken > from the small molecule database: > > ATOM 1 SG CYS A 1 4.774 5.927 9.587 1.00 0.00 > ATOM 2 CB CYS A 1 4.175 7.673 9.917 1.00 0.00 > ATOM 3 SG CYS A 2 5.091 3.544 6.534 1.00 0.00 > ATOM 4 CB CYS A 2 6.560 3.252 7.614 1.00 0.00 > ATOM 5 SG CYS A 3 1.160 3.172 6.513 1.00 0.00 > ATOM 6 CB CYS A 3 0.028 2.178 7.542 1.00 0.00 > ATOM 7 SG CYS A 4 0.936 5.818 9.617 1.00 0.00 > ATOM 8 CB CYS A 4 -0.419 4.795 10.238 1.00 0.00 > ATOM 9 SG CYS A 5 2.942 2.405 9.819 1.00 0.00 > ATOM 10 CB CYS A 5 4.547 1.918 10.664 1.00 0.00 > ATOM 11 SG CYS A 6 2.713 6.590 6.171 1.00 0.00 > ATOM 12 CB CYS A 6 2.800 5.754 4.601 1.00 0.00 > HETATM 13 CU CU1 A 7 2.896 4.649 9.731 1.00 0.00 > HETATM 14 CU CU1 A 8 4.201 5.454 7.463 1.00 0.00 > HETATM 15 CU CU1 A 9 3.182 2.965 7.621 1.00 0.00 > HETATM 16 CU CU1 A 10 1.497 5.188 7.518 1.00 0.00 > END > > I require the first 4 CYS residues of the template structure to align with > 4 CYS residues from my query sequence (as shown in the following > alignment), and for the orientation of these residues around the copper > cluster to be maintained > >> P1;TemplateTest > Structure:templatetest:1:A:10: : : : : > C-C-----C-CCC....* >> P1;Ace1 > Sequence:Ace1: : : : : : : : > CRCDEGEPCKC--....* > > I have performed an unrestrained alignment that produced a model, but was > unable to keep the CYS residues in the correct orientation and moved the > polypeptide 80A away from the copper cluster!
See http://salilab.org/modeller/9v6/manual/node65.html for the restraints Modeller generates on ligands. The main protein-ligand restraints are on ligand-CA distances and your template has no CA atoms, so none of these will be restrained. You will have to add your own restraints, either manually or by using Restraints.make_distance().
> Attempts to restrain the system, by putting distance restraints between > the SG atoms of the CYS residues and coppers have been unsuccessful. The > following is an example of the commands I have been trying as a distance > restraint. > > rsr.add(forms.upper_bound(group=physical.xy_distance, > feature=features.distance(at['CU:7:A'], > at['SG:1']), > mean=2.28, stdev=0.01))
It's hard to say what your problem is without seeing your full script, but what I can say is that unless you have done something very unusual, that restraint won't work! By default Modeller numbers residues sequentially starting from 1 in the model (it does not use the template numbering) and if you have only a single chain, by default it gives it no chain ID. So there is no 'CU:7:A' atom in the model - your Cu resides will be labeled 12 through 15.
Given that you are presumably running this script without seeing any errors, that suggests that your restraints are not being added. Maybe you have made a "MyModel" subclass but are mistakenly using the regular automodel rather than your new MyModel class later in the same script?
Ben Webb, Modeller Caretaker