ICM Manual v.3.8
by Ruben Abagyan,Eugene Raush and Max Totrov
Copyright © 2019, Molsoft LLC
Jun 9 2022
[ Graphics | Simulations | Sequence | Modules ]
Let us go through the short overview of the ICM application areas.
[ Views | Skin | RNA/DNA | Combos ]
ICM and ICM-derived plugins provide a viewing environment for large a small molecules and
general three-dimensional objects with or without textures. Various types of enhancements including stereo, anti-aliasing, graphical layers, on-the-fly generation of shadows, occlusion shading, custom backgrounds, depth cueing and simple rotation, translation, zooming, clipping, picking, continuous movements, separate
Versatile surface and structure views to elucidate protein function
The views include
- binding and active site surfaces with mapped properties
- automatic identification and views of cavities and open binding pockets
- electrostatic surfaces
Analytical molecular surface (skin)
The contour-buildup algorithm calculates the smooth and accurate
analytical molecular surface in seconds. This surface can be saved
as a geometrical object, saved as a vectorized postscript file.
The skin is used in the REBEL algorithm to solve the Poisson
equation, as well as in the molecular surface analysis routines
(e.g. a projection of physical properties on the receptor surface ).
Also ICM can build and draw a solvent-accessible surface ( see surface )
* a Gaussian molecular density which can be contoured
at different levels and to generate different smooth molecular envelopes
and enclosed pockets and cavities:
build string "HEK" ; display a_ xstick # tripeptide
make map potential Box( a_ 3.)
make grob m_atoms exact 0.5 solid
display g_atoms smooth transparent
Schematic representations of DNA and RNA
PDB entry: 101d
PDB entry: 4tna
color ribbon a_N/* Count(Nof(a_N/*))
Complex combined representations
Molecular representations include wire models, ball-and-stick models,
ribbons, space filling models, and skin representation.
Simplified molecular representations are built automatically
(e.g. the protein-dna complex is shown with one command: nice "1dnk" ).
You can combine different types of molecular representations
with solid or wire geometrical objects.
[ Peptides | Homology | Design | Symmetry | Protein-Protein Docking | Pockets | Docking & VLS | 3D chemical editing | Electrostatics ]
Prediction of peptide structure from sequence
You will also
get a trajectory file of your peptide folding up which can be
interactively watched. Just type the
peptide sequence in the _folding file and go ahead.
Take a peptide sequence and predict its three-dimensional
structure. Of course, success is not guaranteed,
especially if the peptide is longer than about 25 residues
but some preliminary tests are encouraging.
High quality models by homology
ICM has an excellent record in building accurate models by
homology. The procedure will build the framework, shake
up the side-chains and loops by global energy optimization.
You can also color the model by local reliability to identify
the potentially wrong parts of the model.
ICM also offers a fast and completely automated method to
build a model by homology and extract the best fitting loops
from a database of all known loops (see
build model and
montecarlo fast). It just takes a few seconds
to build a complete model by homology with loops.
Loop modeling and protein design
ICM was used to design two new 7 residue loops and in both cases the designs
were successful. Moreover, the predicted conformations turned out to be exactly right
(accuracy of 0.5A) after the crystallographic structures of the designed proteins
were determined in Rik Wierenga's lab.
Use the _loop script to predict loop conformations and
calcEnergyStrain to identify the strained parts of the design.
ICM has a database of loops compiled from PDB structures. To search a fragment against the database and load the conformers into a session (eg into a stack), use the following command:
build loop stack rs_fragment .
The display stack command will allow to view the conformers. You may also load the stack into the object with the
load stack a_ command.
ICM has a full set of commands and functions to generate
symmetry related molecules and generate "biological units".
Docking two proteins reliably is still an unsolved problem.
However, there has been a considerable progress. In some cases
(e.g. beta lactamase and its protein inhibitor) the ICM
docking procedure predicted the binding geometry correctly
based only on the global energy optimization.
ICM will generate a number of possible solutions using
both the explicit atom model of the receptor and the receptor
grid potential and
refine them by explicit global optimization of the surface side-chains.
Even though success is not guaranteed, the generated solutions
can be useful, especially if any additional information about the
binding is available.
Finding pockets and docking a flexible ligand to a receptor
As demonstrated in several recent papers, short flexible peptides
can be successfully docked ab initio to their receptors.
This method is a blend of the peptide folding with the
grid potentials representing the receptor. A similar method
can be applied to any chemical. A chemical can be built from
a 2D representation and optimized.
The "druggable" pockets can be predicted with an algorithm
based on the contiguous grid energy densities.
Scanning a database of flexible ligands
In virtual screening the flexible docking is applied to hundreds of thousands of individual ligands.
This version of docking is fast and requires an accurate relative binding
or ranking function to discriminate between the true ligands
and hundreds of thousands of potential false positives.
The ligand sampling and docking procedure is a combination of the
genuine internal coordinate docking methodology with a
sophisticated global optimization scheme.
Accurate and fast potentials and empirically adjusted scoring functions
have led to an efficient virtual screening methodology in
which ligands are fully and continuously flexible.
Interactive docking and focused library design
ICM allows one to draw a molecule directly in 3D with full undo/redo support and check its fit to a protein binding pocket.
This environment is called a 3D ligand editor. The editor functionality is described in the User Manual.
Calculating electrostatic potential
ICM incorporates a very fast and accurate boundary element solution of the
Poisson equation to find the electrostatic free energy of
a molecule in solution. This algorithm (abbreviated as REBEL )
can be used dynamically during conformational search.
The components of the electrostatic free
energy are used to calculate the binding energy and evaluate
the transfer energy between water and organic solvents.
ICM uses generalized Born approximation to
calculate the electrostatic solvation energy and its gradient
dynamically during local and global conformational searches.
The electrostatic potential can be projected on a molecular surface
for the identification of possible binding sites.
[ Genomics | Dotplot | Alignment | Multi-alignment | Trees,clusters,evolution | Searches | Plotting ]
Handling gigabytes of genomic sequence, fast cross-comparison of
millions of sequences was another challenge solved in the ICM program.
ICM can identify a unique subset of millions of sequences,
assemble sequences from Unigene clusters into alignments (
SIM4 program is used a part of the procedure).
Similarity dotplot: alternative alignments and repetitive subdomains
It looks like this:
Using the plotSeqDotMatrix macro:
read sequence s_icmhome + "zincFing.seq"
plotSeqDotMatrix 2drp_d 3znf_m \
"Two z-finger peptide" "Human Enhancer Domain" 5 20
(if the macro complains about s_psViewer , set it in Preferences/Directories , or reassign, e.g. s_psViewer = "display" )
Here the color shows the local significance of the alignment. You can
change the method to calculate probability, color scheme and
residue comparison matrices and calculate it interactively or in batch.
Pairwise sequence alignment and its significance
Make a pairwise sequence alignment and evaluate the probability
that the two aligned sequences share the same structural fold.
The alignment is performed with the Needleman and Wunsch algorithm
modified to allow zero gap-end penalties (so called
ZEGA alignment). The ZEGA probability is a more sensitive
indicator of structural significance than the BLAST P-value.
The structural statistics was derived by
Abagyan and Batalov, 1997:
read sequence s_icmhome + "sh3.seq"
show Align(Fyn Spec) # the probability will be shown
You can change residue comparison matrices, gap penalties and do many alignments in batch.
The ICM alignment functions and commands are summarized in the alignment section.
Multiple sequence alignment
Read any number of sequences in fasta or swissprot formats and
automatically align the sequences, interactively or in a batch.
It will look like this:
# Consensus ...#.^.YD%..+~..-#~# K~-.#~##.~~..~WW.#. ~~.~G%#P.
# nID 7 Lmin 56 ID 11.5 %
#MATGAP gonnet 2.4 0.15
read sequence s_icmhome + "sh3.seq"
group sequences sh3
The gui version of ICM also has a multiple alignment viewer
with dynamic coloring according to conservation tables CONSENSUS and
CONSENSUSCOLOR. It will automatically show secondary structure and other features.
The ICM alignment functions and commands are summarized in the alignment section.
The multiple sequence alignment is produced using hierarchical clustering of the sequences based on sequence similarity calculated with the ZEGA alignment (a modification of the Needleman and Wunsch algorithm permitting zero gap-end penalties, ZEGA alignment) and Gonnet et al., residue substitution matrix [gon92]. The branches are then aligned in the tree order to form profiles that are progressively aligned to other profiles or sequences to form multiple sequence alignment.
Evolutionary trees, 2d and 3d sequence clustering
Relationships between sequences can be presented in three
- as evolutionary trees (ICM uses the neighbor-joining method for tree construction);
- as 2D distribution of sequences using the two main principal axes (use plot2Dseq macro);
- as 3D distribution. This can be analyzed in stereo using controls of
molecular graphics (use ds3D macro: ds3D Distance(alig) Name(alig) ).
Sensitive Sequence Similarity Search, ZEGA
Search your sequence (interactively or in batch) through any database and
generate a list of possible homologs which are sorted and evaluated by
probability of structural significance.
The ZEGA alignment (full dynamic programming with zero end gaps) is used
for each comparison and an empirical probability function described in JMB,1997 is used to assign a P-value to each hit.
This search may give you more homologs that a BLAST search!
The output may presented in a linked table form:
Table of hits
||fyn tyrosine kinase
||phospholipase c-gamma (sh3 domain)
Take a matrix and represent it in 3D in a variety of forms.
View it in stereo, color, label, transform with the mouse.
read matrix s_icmhome + "def"
make grob def solid color
ICM is distributed in the following packages:
ICM is distributed for the following three main platforms:
- ICM-browser and ICM-browser-pro (distributed from a single package)
- ICM-chemist and ICM-chemist-pro (distributed from a single package)
- ICM-pro with options including bioinformatics, Poisson electrostatics, chemistry and cheminformatics, homology modeling, docking, virtual ligand screening (VLS).
There is a full ICM file compatibility between the platform. Also, the appearence of the GUI is identical.
ICM command language contains around one hundred commands and one thousand functions
operating on 20 different types of objects.
- Linux and Unix
The modules have the following features:
- shell for molecules, numbers, strings, vectors, matrices, tables, sequences, alignments, profiles, 3D maps, 3D graphical objects, 2D chemical tables/spreadsheets, images
- ICM-language and macros
- graphics, stereo
- imaging and vectorized postscript
- animation and movies
- mathematics, statistics, plotting
- presentation of the results in html format
- user-defined and automated interpretation of web links
- HTML-form-output interpretation
- pairwise and multiple sequence alignments, evolutionary trees, clustering
- secondary structure prediction and assignment, property profiles, pattern searching
- superpositions, structural alignment, Ramachandran plots
- protein quality check
- analytical molecular surface
- calculations of surface areas and volumes
- cavity analysis
- symmetry operations, access to 230 space groups
- database fragment search
- identification of common substructures in PDB
- read pdb, mol2, csd, build from sequence
- energy, solvation, MIMEL, side-chain entropies, soft van der Waals, tethers, distance and angular restraints
- local minimization
- ab initio peptide structure prediction by the Biased Probability Monte Carlo method
- loop simulations
- side-chain placement
- electrostatic free energy calculated by the boundary element method
- coloring molecular surface by electrostatic potential
- binding energy (electrostatic solvation component)
- maps of electrostatic potential and its isopotential contours
- indexing of chemical databases in SD, mol2 and csd format
- searching and extracting from the indexed databases
- fast grid potentials
- scripts for flexible ligand docking
- scripts for protein-protein docking
- 2D (SMILES) to 3D conversion, type and charge assignment,
mmff geometry optimization, low-energy rotamer generation
- refinement in full atom representation
ICM chemistry (also, see here)
- scripting access to the internal chemical spreadsheets and external chemical databases in MySQL (via molcart) and SQL lite.
- Various operations on chemical tables (see below)
- integration with the docking engine and interactive ligand editing
Operations on chemical tables:
- Calculate various properties and descriptors from 2D chemical table
- Standardize chemical structure (change ambiguous depictions of some functional groups to a standard form according to user defined tables)
- Build QSAR type prediction models from a chemical spreadsheet and apply those models to new chemical tables
- Convert Smiles to 2D and the opposite operation
- Generate 2D Depiction from a 3D or 0D chemical
- Convert a 2D chemical to 3D
- Generate 3D Conformers
- Generate Tautomers
- Generate Stereoisomers, assign and manipulate stereo centers
- Align/Color By 2D Scaffold
- Cluster chemicals by either fingerprint similarity or external distance matrices
- Compare two chemical sets for common elements
- Sort a table and select duplicate rows in a table
- Create/Modify Markush objects
- Enumerate a combinatorial chemical library from scaffold and R-groups
- R-Group Decomposition of a chemical spreadsheet
- Enumerate a chemical library by reaction(s) and reactants
- Various forms of multiple chemical superposition (both 2D and 3D)
- fast comparison and redundancy removal of millions of genomic or protein sequences
- multiple EST clustering, alignment and consensus derivation
- database indexing and manipulations
- functions to evaluate sequence-structure similarity
- scripts to recognize remote similarities in the protein sequence and PDB databases
- search a pattern through a database
- searching profiles and patterns from the Prosite database through a sequence
- HTML representation of the search results with interpretation of links
- interactive editor of sequence-structure alignment
- automated building of models by homology with loop sampling and side-chain placement (fast homology model building combined with the database loop search is a separate module which is ICM Homology).
As a method for structure prediction, ICM
offers a new efficient way of global energy optimization and versatile modeling
operations on arbitrarily fixed multimolecular systems.
It is aimed at predicting large structural rearrangements in biopolymers.
The ICM-method uses a generalized description of biomolecular structures in which bond lengths,
bond angles, torsion and phase angles are considered as independent variables.
Any subset of those variables can be fixed. Rigid bodies formed after
exclusion of some variables (i.e. all bond lengths, bond angles and
phase angles, or all the variables in a protein domain, etc.) can be
treated efficiently in energy calculations, since no interactions within
a rigid body are calculated. Analytical energy derivatives are calculated
to allow fast local minimization. To allow large scale conformational
sampling and powerful molecular manipulations ICM employs a family of
new global optimization techniques such as:
Biased Probability Monte Carlo ( Abagyan and Totrov, 1994),
pseudo-Brownian docking method ( Abagyan, Totrov and Kuznetsov, 1994)
and local deformation loop movements ( Abagyan and Mazur, 1989 ).
- sequence-structure alignment (threading)
- ultra-fast automated homology model building with a database loop search
- loop modeling and refinement, side-chain placement
- surface analysis
A set of ECEPP/3 energy terms is complemented with the parameters for
rare atoms and atom types, as well as the solvation energy terms,
electrostatic polarization energy
and side-chain entropic effects ( Abagyan and Totrov, 1994),
making the total calculated energy a more realistic approximation
of the true free energy.
The MMFF94 force field has also been implemented.
Powerful molecular graphics, the ICM-command language,
and a set of structure manipulation tools and penalty functions (such as
multidimensional variable restraints, tethers, distance restraints) allow
the user to address a wide variety of problems concerning biomolecular