Computing a triangulated surface with MSMS

MSMS will compute a triangulated surface which can be visualized by an external program such as dino. As input, MSMS takes data in x,y,z,r format. This is simply the x, y, z coordinates and radius for each atom in your molecule, and can be generated from PDB files with one of the programs pdb_to_xyzr or pdb_to_xyzrn. For example:

% pdb_to_xyzr crambin.pdb > crambin.xyzr

The pdb_to_xyzr and pdb_to_xyzrn programs differ in that pdb_to_xyzrn appends the atom names to the end of the line. If present, MSMS will append these names to the vertices in the surface and area output files.

The pdb_to_xyzr and pdb_to_xyzrn programs both rely on the file /sb/apps/msms/atmtypenumbers to translate incoming PDB atom names into Connolly numeric codes and atomic radii. Some pdb files contain atoms or residues that atmtypenumbers is not aware of. In these cases, you will need to make private copies of pdb_to_xyzr and atmtypenumbers to customize them for your purposes. If this has you completely stumped, contact me (email below).

Once you have the xyzr file in hand, you can run MSMS and generate the surface:

% msms -if crambin.xyzr -of crambin

The above command will create the files crambin.face and crambin.vert, which contain the triangulated surface faces and vertices, respectively.

If you want the surface area on a per-atom basis, you can use the -af option:

% msms -if crambin.xyzr -of crambin -af crambin

This command creates an additional file crambin.area, which contains the surface area on a per-atom basis. Here is where the atom names appended by pdb_to_xyzrn would come in handy...