From: Robert C. <rob...@qu...> - 2007-11-23 17:00:18
|
On Thu, 22 Nov 2007 22:43:27 -0800 (PST), JJ <jos...@ya...> wrote: > > >> > From: Robert Campbell <robert.campbell@qu...> - > 2007-11-22 21:56 > > Rather than use PyMOL's surface, I've used the > triangulated surface output > by Michel Sanner's msms program. << > > Thanks much Rob. Can you please tell me why it might > be better to use msms to calculate surface points > rather than the pymol algorithm. Are there advantages > to one or the other? Simply that the msms program already could write out a file of the vertices. It was easier than trying to sift through the PyMOL code. And later John wrote: > I should have also asked in my original post, is there a way in pymol to > determine the solvent-accessible surface for a particular atom? Or more > to the point, identify the atoms that shape the solvent-accessible > surface and the percent of the surface attributed to each? That's what I use my "msms_pymol.py" script for. It creates a temporary PDB file from an object, pipes that through a pdb_to_xyzrn awk script (I modified the original msms version to include chain IDs) and feeds that to msms to create a file containing areas for each atom. The msms_pymol.py script can include a selection, such that the total area for just that selection is calculated (e.g. for looking at interfaces). You can also pre-calculate the area file with msms and feed that file to msms_pymol.py with the "file_name" option. E.g. After using: PyMOL> run msms_pymol.py to load the script into pymol, type: PyMOL> calc_msms_area object_name, file_name=object.area, selection=resi PyMOL> 10-20 This will report the area for residues 10-20 from the pre-calculated file "object.area" Another example: PyMOL> calc_msms_area enzyme, enzyme within 5 of inhibitor will take the "enzyme" object, create a PDB file, feed that to msms and then sum up the area only for the atoms of the "enzyme" object that are within 5A of the atoms of the "inhibitor" object. It is important in this case to have the enzyme and inhibitor as two object, so that the surface at the interface between them is calculated (true for both msms and PyMOL's own surface calculation). Get this from: http://pldserver1.biochem.queensu.ca/~rlc/work/pymol/msms_pymol.py http://pldserver1.biochem.queensu.ca/~rlc/work/pymol/pdb_to_xyzrn My surface complementarity/similarity scripts are now up at: http://pldserver1.biochem.queensu.ca/~rlc/work/scripts/ They are in python because it is easy for me, but they would no doubt run much faster if written in C. If anybody wants to do that, I'd be happy to hear about it! Cheers, Rob -- Robert L. Campbell, Ph.D. Senior Research Associate/Adjunct Assistant Professor Botterell Hall Rm 644 Department of Biochemistry, Queen's University, Kingston, ON K7L 3N6 Canada Tel: 613-533-6821 Fax: 613-533-2497 <rob...@qu...> http://pldserver1.biochem.queensu.ca/~rlc |