MSMS documentation
msms(1) manual page
Synopsis
msms [-if filename] [-of filename] [-af filename] [-probe_radius radius]
[-density density] [-no_area] [-surface <tses,ases>] [-socket servicename]
[-sinetd] [-noh] [-no_rest_on_pbr] [-no_rest] [-free_vertices]
[-all_components] [-one_cavity #atoms at1 [at2] [at3]] [-no_header]
Description
For a given set of spheres S and a probe radius rp, MSMS computes the reduced surface and the analytical model of the solvent excluded surface (SES). The SES can then be triangulated with a given vertex density.
The program runs in standalone mode or in server mode. In server mode, the only required option is the name of the socket used to communicate with the client application (-socket servicename or -sinetd).
Options
Options may appear in any order and may be abbreviated. If an abbreviation matches several options, the first match is used.
Input and output
-if filename-
The file from which the sphere set S is read. Each line holds the center (x, y, z) and the radius r of one sphere, in free format. Lines starting with
#are comments and are skipped. This is the only required option in standalone mode. Since version 2.6.2, spheres with identical centers are merged: MSMS keeps the largest one and prints a warning for each sphere it merges. Output files still use the numbering of the input file. -of filename-
The files in which to store the triangulated solvent excluded surface. Two files are created, one for vertices and one for faces. For component 0 the files are
filename.vertandfilename.face. For other components the component number is inserted in the name; for component 3, for example, the files arefilename_3.vertandfilename_3.face.Face file. Three header lines, then one triangle per line. The first header line holds a comment and the file name of the sphere set. The second describes the content of the third. The third gives the number of triangles, the number of spheres in the set, the triangulation density and the probe sphere radius. On each triangle line, the first three numbers are (1-based) vertex indices. The next field is 1 for a triangle in a toric reentrant face, 2 for a triangle in a spheric reentrant face and 3 for a triangle in a contact face. The last number is the (1-based) face number in the analytical description of the solvent excluded surface. Format:
"%6d %6d %6d %2d %6d".Vertex file. Three header lines (like those of the
.facefile), then one vertex per line: the coordinates (x, y, z) and the normal (nx, ny, nz), followed by the number of the face (in the analytical description of the surface) the vertex belongs to. Vertices of the analytical surface have 0 in that field, and vertices lying on edges of this surface have negative values. The next field is the (1-based) index of the closest sphere. The last field is 1 for vertices of toric reentrant faces (including vertices of the analytical surface), 2 for vertices inside reentrant faces and 3 for vertices inside contact faces. Format:"%9.3f %9.3f %9.3f %9.3f %9.3f %9.3f %7d %7d %2d". -af filename- The file in which to store solvent excluded and solvent accessible surface areas. The areas in each surface component are listed for every atom.
-no_header-
Do not write the 3-line header into the
.faceand.vertfiles (written by default).
Surface calculation
-probe_radius radius- Changes the probe sphere radius (default 1.5 Å). The value is not checked. MSMS fails to compute the triangulation template sphere for radii that are too small or too large; values from 0.5 to 10 should pose no problem.
-density density- Changes the triangulation density (default 1.0 vertex/Å2). The value is not checked. Typical values are 1.0 for large molecules (more than 1000 atoms) and 3.0 for smaller molecules.
-no_area- Turns off the surface area computation.
-surface <tses,ases>-
Which surface to compute:
tsesfor the triangulated solvent excluded surface,asesfor the analytical solvent excluded surface. The default is the triangulated surface. This option is mainly used to skip triangulation, for instance when only surface areas are needed. -noh- Skips atoms with radius 1.2.
Components
-free_vertices- Search for free vertices of the reduced surface (not done by default).
-all_components-
Compute all components of the molecular surfaces (reduced and solvent excluded). By default only the external component is computed. With
-of filename, a.vertand a.facefile are written for each component. Since version 2.6.2, part of this computation runs in parallel; theOMP_NUM_THREADSenvironment variable sets the number of threads (by default, all cores). The output is the same for any number of threads. -one_cavity #atoms at1 [at2] [at3]- Compute one specific component of the molecular surfaces by giving 1, 2 or 3 atoms the probe should initially touch: first the number of atoms, then their (0-based) indices.
Error recovery
-no_rest_on_pbr-
Badly handled singular cases or numerical instability can make the triangulation fail. By default MSMS then restarts the computation, up to five times, after increasing the radius of the atoms causing the problem by 0.1 Å. This option prevents the restart when problems occur while triangulating spherical reentrant faces (which often points to singularities). The resulting triangulated surface will not be correct and may have holes (see also
-no_rest). -no_rest-
Never restart the computation (see also
-no_rest_on_pbr).
Server mode
-socket servicename- Starts MSMS in server mode, listening on the given Unix domain socket for clients requesting this service. When a client connects, MSMS receives the computation parameters and the spheres over the socket, and sends back the triangulated surface when the calculation is done. Values are not encoded in a portable way (such as XDR), so this works only on a limited set of architectures.
-sinetd- Puts MSMS in server mode when it is started by the internet daemon, so that MSMS starts whenever a client program requests it.
Examples
Triangulate the solvent excluded surface of a set of spheres and save the triangulation in myset.vert and myset.face:
msms -if myset.xyzr -of mysetCompute all components of the surface for a probe radius of 1.4 Å and triangulate them with a density of 3.0. The external component is written to myset.vert and myset.face, and each other component n to myset_n.vert and myset_n.face:
msms -if myset.xyzr -de 3.0 -prob 1.4 -all_components -of mysetSee also
pdb_to_xyzr(1)
Known bugs
- If all the vertices of a component of the reduced surface also belong to another component, MSMS fails to find this component. As a workaround, give the first face of that component explicitly with
-one_cavity. - The genus of the reduced surface is sometimes wrong.
- Singular edges forming full circles are not treated.
- Normal vectors of singular vertices point arbitrarily to the center of one of the probes they belong to.
- MSMS crashes or produces wrong results if a sphere of S lies entirely inside another sphere of S.