SOMO - Solution Modeler (Bead Modeler for NMR and X-ray structures):
Last updated: March 2010
The SOMO (SOlution MOdeller) module of UltraScan is a bead modelling
utility that was originally developed by the Rocco and Byron labs,
respectively at the Istituto Nazionale per la Ricerca sul Cancro (IST,
Genova, Italy) and at the University of Glasgow (Glasgow, Scotland,
UK). The original code was mainly written by B. Spotorno, G. Tassara,
N. Rai and M. Nollmann. SOMO is based on a reduced representation of
a biomacromolecule, starting from its atomic coordinates (PDB format), as a set of
non-overlapping beads of different radii, from which the hydrodynamic
properties can be calculated using the Garcia de la Torre-Bloomfield rigid-body
approach (García de la Torre and Bloomfield, Q. Rev. Biophys. 14:81-139,
1981). The reduced representation is afforded by grouping together atoms
and substituting them with a bead of the same volume, appropriately
positioned. Importantly, the volume of the water of hydration
theoretically bound to each group of atoms can be then added to each
bead. The overlaps between the beads are then removed in sequential
steps, but preserving as much as possible the original surface envelope
of the bead model. The method has been fully validated and reported in the
literature (Rai et al., Structure 13:723-734, 2005; Brookes et al., Eur. Biophys. J., 39:423-435, 2010;
Brookes et al., Macromol. Biosci., in press, 2010). Among the main advantages of this method over shell-modelling
and grid-based procedures are a better treatment of the hydration water and the preservation of a
direct correspondence between beads and original residues. For instance,
the latter feature could be used to include flexibility effects into
the computations. Furthermore, by identifying and excluding from the
hydrodynamic computations beads that are buried and thus not in contact
with the solvent, a large span in the size of the structures that can
be analysed with this method without loss of precision is obtained:
currently, structures from 5K to 250K have been successfully studied. Recently,
we have also improved the original AtoB grid method (Byron, Biophys. J. 72:408-415, 1997),
which was already included within US-SOMO, by adding the theoretical hydration,
accessible surface area screening, and a better preservation of the original surface.
The improved AtoB could be very useful to study large structures and complexes.
Finally, within this new release you will find the nucleus of what wll be a fully functional
Small-Angle X-ray or Neutron Scattering (SAXS/SANS) simulator, which will work on either the original atomic
structure, or on a bead model. Presently, only the pairwise-distance distribution function P(r) vs. r computation is operational.
The program main window contains an upper bar from which all the options
governing its operations can be controlled, and a main panel for program
execution. However, due to its high level of sophistication, properly setting all
the available options can be non-trivial for the general user. Therefore,
the SOMO module is distributed with pre-defined default options that should
allow the direct conversion of a PDB-formatted biomacromolecular structure
file into a bead model, and the computation of its hydrodynamic properties,
without the need of accessing the advanced options menus.
In particular, the SOMO approach is based on properly defining the atoms and
residues found in PDB files, and the rules allowing their conversion
into beads. The SOMO distribution includes the definition of all the standard
amino acids, nucleotides, carbohydrates, and common prosthetic groups and
co-factors, but this list is by no means exhaustive, and the need to code for
"new" residues is not a remote possibility. As this operation can be demanding,
notwithstanding the user-friendly GUI governing it, the pre-defined set of options
includes approximate methods to deal with either missing atoms within coded residues,
and/or not yet coded residues. The available options are to skip non-coded
residues and/or coded residues with missing atoms (not the default option),
or to generate a single bead for each non-coded residue using average
parameters. For coded residues with missing atoms, since most often this is due to
lack of crystallographic data, there's the option of using the complete residue's
bead(s), appropriately positioned. Obviously, there's no cure for completely
missing residues, which will have to be built in the original structure for reliable
results, since the structure should contain all residues and atoms that are present
in the "real" macromolecule studied in solution. Therefore, for best performance all
residues should be properly coded in the SOMO tables (see below).
These functions control the execution of the SOMO program, whose progress is
recorded in the right-side main window (in the picture above, a snapshot of the
messages during the model building phase of the 8RAT.pdb structure is shown). They are
divided in three subpanels controlling operations that deal with the primary PDB file
(PDB Functions:), operations relating the generation of bead models (Bead Model
Functions:), and the computation of the hydrodynamic parameters (Hydrodynamic Calculations:).
On launching, US-SOMO will automatically load the last used lookup table (default: somo.residue),
where all the informations needed to convert the residues present in atomic structures into beads are stored.
To select a different lookup table, click on Select Lookup Table. You can create multiple
lookup tables for different conditions.
The lookup table needs to contain all atoms and residues present in the (macro)molecule
to be loaded in the next step. By default, SOMO will automatically load the last used *.residue table.
Two alternative options are available to load an atomic structure, such as those derived from NMR or X-ray
crystallography data, the new Batch Mode Operation (see here),
or the standard Load Single PDB File.
Selecting a PBD file will also automatically call the molecular visualization program RasMol
(Sayle RA, Milner-White EJ. RasMol: biomolecular graphics for all. Trends Biochem. Sci. 20:374-376, 1995)
which will display the structure(s) in a pop-up window. For Linux-based systems, RasMol needs to be installed in
$ULTRASCAN/bin for 32 bit machines, and
for 64 bit platforms. You can get a copy of RasMol from
http://www.umass.edu/microbio/rasmol/ or from
Besides visualizing the structure, the HEADER and TITLE fields of the PDB file
will be displayed in the progress window, followed by the residues list. If problems are encountered with the selected PDB file,
like the presence of non-coded residues or missing atoms within coded residues, they will be
reported in the progress window either as warnings or errors. In the latter case,
the program execution will be also halted, waiting for corrective action to be taken. The original
PDB file can be viewed and, if necessary, edited by clicking on the "View/Edit PDB File
The PDB file can contain multiple models and if so, multiple models will be displayed by
RasMol and in the list box. In this case, you can select just a single model,
or multiple models by holding the crtl key while clicking on the models' names (crtl-A selects
all models). If multiple models are selected, all subsequent operations (except the SAXS/SANS options)
are carried out sequentially on the selected models. The SAXS/SANS Functions button will also become
active, allowing the SAXS- or SANS-related simulations to be carried out on the selected PDB structure. Presently (March 2010),
the SAXS/SANS module is under development. (see here)
Bead Model Functions:
Once one or multiple models are selected, the Build SoMo Bead Model and
Build AtoB (Grid) Bead Model buttons will also become active, the last two offering
alternative ways of generating a bead model.
In the Bead Model suffix field you can enter a tag that will be added to the bead model filename,
which is automatically generated from the PDB filename by adding "_1" and the extension ".bead_model".
In addition, if the Add auto-generated suffix checkbox is selected, the corresponding field above it is
populated with a series of alphanumeric characters specifying the main options chosen. These characters
will be also added to the bead model filename, to allow for a quick identification of the options used in its
generation. Thus, "A20" stands for a residues' ASA cutoff threshold of 20 A (default), "R50" stands for a bead's
ASA re-check cutoff threshold of 50% of its total surface area (default), "hi" signifies hierarchical overlap
reduction in all stages (alternatively, "sy" stands for synchronous overlap reduction), and "OT" means
that the outward translation option during overlap removal of exposed side-chain beads is active. The "-so" suffix
is added if the Build SoMo Bead Model button is then pressed, while the "-a2b" suffix is instead
added if the Build AtoB (Grid) Bead Model button is pressed. In this case, the suffix symbols
also include "Gn" for the grid resolution, with n the actual value, and "hy" if the atomic-level
hydration option is active. Upon loading a PDB file and if the Add auto-generated suffix checkbox is selected,
the corresponding field will show the two current strings available for SoMo and AtoB bead models. If any of the
options coded in the strings are changed, the field will be automatically updated. The final string will appear once
a bead model generation operation is launched.
Note that you can keep processing a loaded PDB file after changing any of the various model-building options
(see below). If the Overwrite existing filenames checkbox is selected, existing filenames will be
overwritten without a warning. Otherwise, a pop up menu will instead appear offering alternative options
(see here). The Overwrite existing filenames
checkbox is automatically selected for batch mode operations. A third button, Build Grid Bead Model,
will operate the Grid routine on a previously generated bead model. This button is not available
until a PDB file has been processed with either one of the two bead modeling primary options (see above),
or until a previously-generated bead model file has been loaded (see below). If this operation is launched,
the "-a2bg" suffix is automatically added to the filename of the new bead model.
Since model building can take some time, depending on the settings
and especially for large structures, selecting the Automatic Calculate Hydrodynamics
checkbox will allow the direct computation of the hydrodynamic parameters as soon as the model(s)
generation has been completed. If this checkbox is not selected (default option), at the
end of the model building phase the progress bar will be at 100% and the bead model(s) can be
visualized with RasMol by clicking on Visualize Bead Model (recommended,
comparing the original structure with the bead model could reveal previously unforeseen problems).
The results of the accessible surface area (ASA) computations (see below) can also be visualized
in a pop-up window by clicking on the View ASA Results button; this file also includes the
computation of the radius of gyration (Rg) directly from the atomic coordinates of the structure.
A just-generated or previously-generated bead model file can also be opened inside a text editor by pressing
the View Bead Model File button.
Alternatively, you can load one or multiple previously-generated bead model by clicking
on either the Batch Mode Operation (see here)
or the Load Bead Model File buttons from the menu. In these cases, and if the model(s)
was (were) generated/saved in the SOMO format, the various settings/parameters used in model generation will be displayed in
the right-side main window. Note that you can decrease the number of beads used, and thus the
resolution of the model, by applying a grid procedure on a previously-generated bead model with the
Build Grid Bead Model option (see above). This could be useful when large structures are analyzed,
although using the improved AtoB routine on the original PDB file while increasing the grid size (Build Grid Bead Model)
seems to produce much better results. The SAXS/SANS Functions button present in this subpanel will allow
to perform SAXS-or SANS-related simulations directly on the currently loaded bead model. (see here)
The hydrodynamic parameters can then be determined by clicking on Calculate Hydrodynamics.
A partial list of parameters can be seen in a pop-up window as soon as the calculations are completed by
clicking on Show Hydrodynamic Calculations. The pop-up window
will also list the solvent type, temperature and its associated density and viscosity, as set in the
Hydrodynamic Calculations options module. A full list of
all the parameters is also available as a text file, which can be opened from the results' pop-up window.
Such a list from a previously analyzed model can be opened also from the Open Hydrodynamic Calculations File
The new Select Parameters to be Saved button will open a pop-up window
(see here) where characterizing/computed parameters can be selected
for saving in a comma-separated file for easy import into spreadsheets. Selecting the Save parameters to file
checkbox will generate such file, with extension .csv.
The black bar at the bottom of the progress window will instead report the detailed advancement of some of the
steps in the various phases, like the current slice and atoms (or beads) involved in the ASA routine,
and the iterations in the supermatrix inversion in the hydrodynamic computations. For small structures,
these numbers will be barely flashing by in the box, but for large structures they will allow a more in depth
monitoring of the various stages.
Operations can be halted at any moment by clicking on the Stop button. To avoid inadvertendly
loosing data, the Close button will not immediately close SOMO, but confirmation will be required
in a pop-up window.
Four pull-down menus are presently available to access the various SOMO options:
From this pull-down menu, you can call four different sub-menus controlling
the four tables containing the definitions of the atoms and residues found in
PDB files, and their SAXS coefficients.
More in detail, you can define/edit the hybridizations, atoms and residues
that need to be interpreted as beads in the bead model generation.
These parameters are collected in different tables that are used
as the components from which the bead sizes and positions are calculated.
PDB structures can then be converted to bead models based on the bead
parameters defined here. For SAXS simulations you also need the atomic
scattering factors coefficients (five exponentials plus a constant) and the
associated excluded volumes.
Add/Edit Hybridization: Use this function to modify the hybridization table. In this file you need to list all
hybridizations (as defined in Tsai et al., J. Mol. Biol. 290:253-266, 1999)
that will be used for the definitions of all atoms. Each hybridization
requires a name, a molecular weight (given by the sum of the mw of the
atom being defined plus that of the hydrogen atoms bound to it) and a radius
(in Angstrom units). In addition, the neutron scattering length in H2O,
the number of exchangeable protons, and the total number of electrons are entered
in this module, because they are needed by the SAXS/SANS simulator module. Load the hybridization
file first if one exists, and then the SAXS Coefficients File. This is required because
the hybridization table contains also the atom identifiers linking each atom type to its X-ray
scattering coefficients. The use of this module is described in
this help file.
Add/Edit Atom: Use this function to modify the atom table. In this file the atomic groups present
in PDB files are defined, together with their parameters (molecular weight and
radius) loaded from the hybridization table. In addition, for SAXS simulation
this table is also linked to the SAXS coefficients table, and the excluded volume
for each atomic group can be defined in alternative to that of the bare non-hydrogen atom
taken from the SAXS coefficient table. The use of this module is described in
this help file.
Add/Edit Residue: Use this function to modify the residue table. This module is used to define all residues
that can be found in PDB files. In this module, you can also define the rules
which are used to convert them into beads. You can add new residues or modify
the properties of the existing ones. The use of this module is described in
this help file.
Add/Edit Saxs Coefficients: Use this function to modify the SAXS coefficients table. In this module, you can add/edit
the atomic SAXS coefficients that will be used in the SAXS curve simulator. For each atom, the scattering
factor is approximate by a sum of four exponentials requiring eight coefficients and
a constant. The values in the somo.saxs_atoms are taken from the International Tables of
Crystallography, but can be edited at will. The use of this module is described in
this help file.
From this pull-down menu, you can access various panels where you can set all
the available options for different steps in the program. These options are saved
in a system wide config file
Every time you close the SOMO program, the currently defined options will be saved in
where they will be reloaded from upon startup.
ASA Calculation: Use this function to modify the options for
the accessible surface area calculation, which can be done with two
alternative methods, SurfRace (Tsodikov OV, Record MT Jr, Sergeev YV.
Novel computer program for fast exact calculation of accessible and
molecular surface areas and average surface curvature. J. Comput. Chem.
23:600-609, 2002) or ASAB1 (based on Lee B, Richard FM. The interpretation
of protein structures: estimation of static accessibility. J. Mol. Biol.
55:379-400, 1971). The second method is also employed for optionally
re-checking the accessibility of the beads in the final model. A detailed
description of this module can be found here.
SoMo Overlap Reduction: This module allows you to change the options
and handle the various issues related to bead overlap elimination in the SoMo
direct correspondence method. A detailed description of this module can be found here.
AtoB (Grid) Overlap Reduction: This module allows you to change the options
and handle the various issues related to bead overlap elimination in the AtoB (Grid) method.
A detailed description of this module can be found here.
Hydrodynamic Calculations: This module allows you to change
the options for calculating the hydrodynamic parameters of the bead
models. A detailed description of this module can be found here.
Miscellaneous Options: This module allows you to either automatically
compute from the composition or manually enter the partial specific volume
of your molecule, and to define the volume used for the hydration water
molecules (water of hydration has different properties than "bulk" water).
Another option controls the disabling of the peptide bond rule used by
the SoMo method to place the main-chain beads. In addition, this module contains
the "average" parameters used by the Automatic Bead Builder to generate
a single bead for non-coded residues (see here).
A detailed description of this module can be found here.
Bead Model Output: This module allows you to control the options for
saving the model(s) in a file (or files). A detailed description of this module can be
Grid Functions (AtoB): This module allows you to change the options
to be used during the bead model generation with the grid function (based on
the original program AtoB; Byron O. Construction of hydrodynamic bead models
from high-resolution X-ray crystallographic or nuclear magnetic resonance data.
Biophys. J. 72:408-415, 1997). The Grid module accepts as input either PDB files
or previously-generated bead models. A detailed description of this module can
be found here.
SAXS/SANS Functions: This module will control the setting of the SAXS/SANS curve
and P(r) vs. r generator that is currently under development. A detailed description
of this module can be found here.
From this pull-down menu, you can access two panels controlling the options for
parsing the PDB file and for the model(s) visualization by RasMol.
Parsing: This module allows you to change the options to be used during
the parsing of a PDB file, like how to deal with solvent molecules, explicit hydrogen
atoms, alternate conformations, and with missing atoms/residues. A detailed description
of this module can be found here. (Remark: some of the
options listed are not presently active).
Visualization: This module allows you to select alternative visualization modes
used by RasMol. A detailed description of this module can be found here. (Remark: some of the options listed are not presently active).
Load Configuration: This button allows you to retrieve a particular
set of options previously saved in a user-specified configuration file (see below).
Save Current Configuration: This button allows you to save the currently
selected options for all modules in a user-specified configuration file different
from the standard one in which all current parameters are saved when exiting from
Reset to Default Options: Click on this button to reset all
options to default values. The defaults values are stored in a file
(somo.defaults), but are also hard-coded in the program. If the
somo.defaults file is either missing or doesn't have the right
format, US-SOMO will automatically use the hard-coded default values.
When exiting just after clicking on this button will reset the standard
configuration file as well to default options.
Advanced Configuration: Clicking on this button will open a pop-up panel allowing
the settings of various additional options.
www contact: Borries Demeler
This document is part of the UltraScan Software Documentation
Copyright © notice.
The latest version of this document can always be found at:
Last modified on March 12, 2010.