ICM Manual v.3.9
by Ruben Abagyan,Eugene Raush and Max Totrov
Copyright © 2020, Molsoft LLC
May 17 2024

Reference Guide
 ICM options
 Alignment Editor
 Cgi programming with icm
 Xml drugbank example
 Tree cluster
 Flow control
 Energy Terms
 Chemical Functions
 Gui programming
 Icm shell functions
Command Line User's Guide
PrevICM Language Reference
ICM shell macro-like functions

[ AlignSS | ToxScore ]

AlignSS : sequence alignment guided by secondary structure and accessibility

AlignSS ( seq_1 seq_2 r_stickiness )

pairwise sequence alignment that takes into account two additional properties of sequence the secondary structure and the residue accessibility and allows to vary general 'stickiness' (0. by default) to prevent unalignment of dissimilar parts. The residue exposure (aka residue solvent accessibility) values are assigned to a sequence if it is extracted from a 3D object with secondary structure and pre-calculated surface area. Example:

read pdb "1crn" 
assign sstructure # makes correct assignment according to hydrogen bonds
show surface area
make sequence
show 1crn_a
 >1crn_a crambin; chain: a; engineered: yes
 4100336502 4405513775 2534500761 3024194673 386254  # compressed accessibility number. 0 - buried, 9 fully exposed
If the sequence does not contain the secondary structure it will be predicted using the built-in predictor.

The normal sequence alignment (see align or Align ) will then be biased according to two weights ( the R_weights array) for the alpha-alpha and beta-beta match accordingly. The default values, 1.6 and 1.8, were optimized on a structural alignment benchmark. The i_window parameter determines smoothing of the edges of the secondary structures with the Smooth function (see the code of the macro).


read pdb "2rh1" # beta 2 adrenergic
read pdb "1f88" # rhodopsin
delete a_*.!1   # leave only the main chains
show area surface a_1.
show area surface a_2.
assign sstructure a_*.
make sequence a_*.1
ali3d = AlignSS( 2rh1_a 1f88_a 0. )

See also:


ToxScore(X,l_addCovPenalty (yes),l_addProblematicPropertyName (no))

Structural alert SMARTS strings were collected from various source (Chemdiv, Enamine, ochem, etc). Due to the difference in severity, we calculated each SMARTS string's frequency of occurrence in approved drugs and use the frequency and labelled endpoint (e.g promiscuity vs acute toxicity) to assign a tox demerit score for each SMARTS string. Covalent groups (such as beta-lactam) can be either flagged as undesirable or tolerated by the l_addCovPenalty option. Option l_addProblematicPropertyName will add a second column to the table with the names of problematic properties.

For any test compound, the toxscore is the summation of the tox demerit score for that compound. About 20% of approved drugs have toxscore > 1. A limit of 1.5 may be useful for selection of compounds for virtual screening for a non-covalent binder.


add column t Chemical( {"COOCC","CCC#N"} )
add column t ToxScore (t.mol yes yes )  # simple static addition
  # now a fancy dynamic one:
add column t function="ToxScore(mol,yes,yes)" name="TS" append vector
The last line shows how to add the score dynamically so that if you change the chemical structure the tox fields could be recalculated.

Xyz axes

Copyright© 1989-2024, Molsoft,LLC - All Rights Reserved. Copyright© 1989-2024, Molsoft,LLC - All Rights Reserved. This document contains proprietary and confidential information of Molsoft, LLC. The content of this document may not be disclosed to third parties, copied or duplicated in any form, in whole or in part, without the prior written permission from Molsoft, LLC.