ICM

From MarcsHomepage

Introduction

ICMlite is an OpenGL-based molecular modelling package with many functions and a powerful menu-based user interface. It has been derived from ICM, developed by Molsoft, originally for the UNIX-platform, and has been ported to Windows.

User Interface

Icmlite1.jpg

The program consists of a main window which is separated into a viewing area (at the top) and a command-line prompt (at the bottom), all windows can be resized.
In addition, there are two button-bars and pull down-menus at the top, like in every good GUI-program. ICMlite comes with a powerful and complex command-language which can also be accessed through pull down- and pop up-menus. Imho the language is -regarding complexity and ease of use- comparable to the Molmol-approach, i.e. it isn´t easy to use for the first time molecular modeller. Due to the fact, that ICMlite -like most of the other entries in our little review- uses OpenGL as graphics and display interface, it is slow if you want to manipulate complex renderings (let´s say a CPK-view of a larger molecule) in real time. To my subjective impression it seems to be slower than Molmol and WebLabViewer, comparable to gOpenmol. The image quality is -like every other OpenGL-app -very good, and ICMlite has several possibilities to change the appearance, color and structure of a molecule.
Like Rasmol, and WebLab Viewer Lite, ICMlite is only a viewing-tool -there are no possibilities for molecule manipulation of any kind. You have to buy the fully-featured ICM if you are looking for that.

Features

Taken from the ICM Browser-homepage

ICMlite is a powerful tool for five different application areas:

  • Molecular Graphics
  • Mathematics
  • Data Analysis, Plotting and Statistics
  • Programming and Web Development
  • Structure Analysis
Molecular Graphics

ICMlite has all the standard features of a graphics program (CPK, solid ribbon, balls-and-sticks, wire, dot surfaces, coloring by property, etc). The extra features of the ICMlite graphics as compared to a popular program RasMol are as follows:

  • manual docking;
  • interactive model building;
  • any number of objects can be simultaneously loaded and displayed;
  • selection of atom/residues/molecules by types and/or numbers and/or name patterns, accessible surface, distance cutoff, secondary structure, screen position;
  • hardware stereo;
  • perspective;
  • easy interactive zoom;
  • independent control of clipping planes;
  • eight switchable and combinable image buffers;
  • flexible secondary structure assignment;
  • chemical bond types or topological tree;
  • annotation of the generated images
Mathematics
  • operations, functions and expressions for numbers, vectors and matrices !
  • a large set of built-in mathematical functions: Abs, Acos, Acosh, Asin, Asinh, Atan, Atan2, Atanh, Ceil, Corr, Cos, Cosh, Det, Distance, Exp, Error, Floor, Integral, Length, Log, Matrix, Max, Mean, Min, Mod, Nof, Power, Remainder, Rmsd, Rot, Sign, Sin, Sinh, Sqrt, Sum, Tan, Tanh, Trace, Transpose, Vector;
  • matrix and vector operations, linear algebra, solution of linear equations;
  • numerical integration and differentiation;
  • numerical minimization of one-dimensional analytical functions
Data Analysis and Visualization
  • frequency distribution, random numbers, linear regression and correlation, eigenvalues and eigenvectors, principal component analysis, clustering;
  • 2D plotting: lines, symbols, bars, plots, histograms, scatter and shaded area plots in a variety of styles and colors;
  • PostScript output;
  • on-line data editing
Programming and Web Development
  • flexible and intuitive language operating on numbers, strings, logicals, arrays, vectors, matrices and tables ;
  • exhaustive set of flow controls (if-then-else, for and while loops, break, continue, goto, error- and interrupt-handling);
  • specialized, built-in functions operating with string, array and tables (sorting, searching, string-related transformation, concatenation, type conversion, etc.);
  • SQL expressions for database searches (e.g. d = (a.b >=3 & a.c !="ok") );
  • parsing of the HTML-form output;
  • string functions and operations for string variables and string arrays: splitting, replacing, length, number of elements, formatted input/output, character/substring position, concatenation, trimming, changing to lower/upper case, etc.
  • flexible user-defined macros ;
  • operating system interface commands and built-in functions; history mechanism; aliases
Structure Analysis
  • automated determination of secondary structure;
  • 3D structure global or local superposition with optional sequence alignment;
  • calculate and display interatomic distances, angles, torsions;
  • Ramachandran plots;
  • calculate and display accessible surface area and volume of any atom/residue/molecule selection;
  • for a given atoms/residues/molecules selection set/get electric charges, temperature factors, occupancy parameters, etc.