Dear Ben, I'm re-sending the message below because it seems to me that you did not receive it. Sorry for duplication. Best regards Anna Marabotti
-----Messaggio originale----- Da: Anna Marabotti [mailto:anna.marabotti@isa.cnr.it] Inviato: lunedì 24 novembre 2008 13.47 A: 'Modeller Caretaker' Oggetto: R: R: [modeller_usage] question for a (putative?) disulfide bridge
Dear Ben, thank you for your continuous support. I'm attaching here the pdb file of the model in which I would like to create the disulfide bridge, and the scripts I used to do it. My knowledge of Python language is very very poor and so I'm doing a trial&error procedure, but at present I obtain only errors... If I understand well, I should only provide the PDB file to Modeller, since I don't see any request of alignment. The sequence then should be read from the PDB file, right? The PDB file I have attached is the one that I obtained using mutate_model: residue 55 was previously a Gly, and now is a Cys in both subunits.So, the number of the residue should be correct. I tried to model a disulfide bridge between Cys55 of the subunit A and Cys180 of the subunit B, and I tried:
1) model-patch_1.py (see attachment): here the error message:
Traceback (most recent call last): File "model-patch_1.py", line 19, in ? mdl = complete_pdb(env, code, special_patches=patches) File "C:\Programmi\Modeller9v5\modlib\modeller\scripts\complete_pdb.py", line 37, in complete_pdb special_patches(mdl) File "model-patch_1.py", line 15, in patches mdl.patch(residue_type='DISU', residues=(mdl.residues['55:'], File "C:\Programmi\Modeller9v5\modlib\modeller\coordinates.py", line 226, in _ _getitem__ (self.offset, self.length, self.suffix)) File "C:\Programmi\Modeller9v5\modlib\modeller\util\modutil.py", line 19, in h andle_seq_indx int_indx = lookup_func(*args) File "C:\Programmi\Modeller9v5\modlib\modeller\coordinates.py", line 283, in _ indxres raise KeyError("No such residue: %s" % indx) KeyError: 'No such residue: 55:'
2) model-patch_2.py (see attachment): here the error message:
Traceback (most recent call last): File "model-patch_2.py", line 19, in ? mdl = complete_pdb(env, code, special_patches=patches) File "C:\Programmi\Modeller9v5\modlib\modeller\scripts\complete_pdb.py", line 37, in complete_pdb special_patches(mdl) File "model-patch_2.py", line 15, in patches mdl.patch(residue_type='DISU', residues=(mdl.residues['55:A'], File "C:\Programmi\Modeller9v5\modlib\modeller\coordinates.py", line 226, in _ _getitem__ (self.offset, self.length, self.suffix)) File "C:\Programmi\Modeller9v5\modlib\modeller\util\modutil.py", line 19, in h andle_seq_indx int_indx = lookup_func(*args) File "C:\Programmi\Modeller9v5\modlib\modeller\coordinates.py", line 283, in _ indxres raise KeyError("No such residue: %s" % indx) KeyError: 'No such residue: 180:B'
3) model-patch_3.py (see attachment): here the error message:
Traceback (most recent call last): File "model-patch_3.py", line 19, in ? mdl = complete_pdb(env, code, special_patches=patches) File "C:\Programmi\Modeller9v5\modlib\modeller\scripts\complete_pdb.py", line 37, in complete_pdb special_patches(mdl) File "model-patch_3.py", line 15, in patches mdl.patch(residue_type='DISU', residues=(mdl.residues['A:55'], File "C:\Programmi\Modeller9v5\modlib\modeller\coordinates.py", line 226, in _ _getitem__ (self.offset, self.length, self.suffix)) File "C:\Programmi\Modeller9v5\modlib\modeller\util\modutil.py", line 19, in h andle_seq_indx int_indx = lookup_func(*args) File "C:\Programmi\Modeller9v5\modlib\modeller\coordinates.py", line 283, in _ indxres raise KeyError("No such residue: %s" % indx) KeyError: 'No such residue: A:55'
I also obtained the .log file, that I'm attaching here. I don't understand if there is only a problem in identifying the numbers of the residues or there are other supplementary problems, anyway the disulfide bridge is not forming, and I don't see any trivial error to correct.
Thank you for your help and best regards. Anna Marabotti
-----Messaggio originale----- Da: Modeller Caretaker [mailto:modeller-care@salilab.org] Inviato: venerdì 21 novembre 2008 19.02 A: Anna Marabotti Cc: modeller_usage@salilab.org Oggetto: Re: R: [modeller_usage] question for a (putative?) disulfide bridge
Anna Marabotti wrote: > thank you for your message, and sorry to bother you again. I tried to > use model.patch() to add the disulfide > bridge to my model, but I have a supplementary problem. In fact, my > protein is a homodimer and the disulfide > bridge should link two Cys residues in the two different subunits. I > tried to indicate "A" and "B" in the > script in this way: > > # Create the disulfide bond: > def patches(mdl): > mdl.patch(residue_type='DISU', residues=(mdl.residues['55:A.'], > mdl.residues['180:B'])) > > but it doesn't work.
What do you mean by "it doesn't work"? You get an error message (what is it?) or everything runs but the disulfide isn't created? In the latter case, I'd need to see the full script. In the former case, you probably have the wrong residue numbers and/or chains for your two Cys residues. The first residue should probably be '55:A' rather than '55:A.' but one way to check the numbers is to run modeling first without the patch, and look at the numbers in the generated model.
Ben Webb, Modeller Caretaker