ICM Manual

[ alignment | all | alpha helix | amber | append | array | atom | axis ]

alignment

[ Alignment gap format ]

or sequence group. Individual sequences in the group may be just combined and left-justified (no insertions/deletions, e.g. as an output of group command) or actually aligned (or realigned) with either pairwise function Align ( seq1, seq2 ) or multiple alignment command align sequence_group
Pairwise sequence alignment is performed with the ZEGA (Zero End-Gap Alignment) algorithm. You can read, write, list, show, delete or edit an alignment. Flag l_showSstructure allows you to show the secondary structure string which belong to a participating sequence to be displayed. When you show the alignment, the consensus string appears on top. The meaning of consensus characters is explained below and the string can be extracted with the Consensus( ) function.
A table with relative amino acid numbers for all sequences in the alignment is returned by the Table( ali_ ) function. An array of mean scores for each column of a multiple sequence alignments is returned by the Rarray( ali [ exact ] ) function.
Coloring 3D models by local alignment strength. Space averaging
See: selectSphereRadius and ribbonColorStyle = "reliability"
Arithmetics:

Deleting some sequences from an alignment To delete a list of sequences from an alignment use the following command:
 delete alignmentName only seq1 seq2 ... 

To delete sequences selected via the graphics user interface from an alignment use the
 delete alignmentName only selection 
command.
Example
delete sh3 only Fyn 
  delete sh3 only selection

Alignment functions and macros: Commands:
Examples:
read alignment "globins.msf" 
 list alignments 
 glob_fragment = globins[10:36] 
 show glob_fragment 
 delete alignments

How to extract a sub-alignment?If you have a large alignment and you want to select a sub-alignment without realigning, use the Align( ali I_indexes ) function. The indexes in term can be returned by the Index( S_name .. ) function if you know the name pattern of interest. Example in which we create an alignment aln and then extract a sub-alignment with a,b,e :

make sequence 10 20  # makes rangomd sequences and names them a,b,c,..
 align sequence       # creates alignment aln
# preparations finished
 show Index( Name(aln) "[abe]" regexp all)  # indexes of sequences with names matching the expression
 aln_abe = Align(aln, Index( Name(aln) "[abe]" regexp all))

Displaying hidden alignment blocks in GUI.

GUI allows one to define how a hidden block is displayed. Two parameters can be specified directly from the Tools Panel in the alignment window:

  1. the "Hidden Block Format can use the following special symbols:
    • %l number of hidden chars
    • %L length of the hidden block
    • %f hidden from
    • %t hidden to
    e.g. " %f .. %t " or " %L "
  2. the "Hidden block width" which defines the total length of the hidden section.


all

an option used in several commands where whole list of items involved should be invoked (e.g. show terms).

alpha helix

alpha-helical conformation. Average angles (phi=-63.2,psi=-38.5). Referred to as 'a' in variable restraint names: e.g. alpha-zone for histidine is called "ha".
See also commands assign sstructure , set vrestraint and file icm.rst

amber

a force field for simulations of proteins and DNA in the Cartesian coordinate space.
See the reference.

append

used as option mostly in read and write commands, for example:
write matrix "fil.mat" append 
 read stack "mc12" append

arrays. ICM-shell allows 4 types of arrays: These arrays are legal elements of the ICM-shell.
iarray-constant looks like this: {2, 4, 67, -4}.
rarray-constant looks like this: {2.0, -4., .67, -4.3433}.
sarray-constant looks like this: {"a-word","b-word","c-word","..."} .

parray-constants do not exist, a parray can be created in ICM or read from a file.
Commas are optional unless you have negative elements in integer or real arrays. Array ICM-shell variables can be created by direct assignment: (e.g. a={2, 4, 67, -4} or b={"wow","oops","ouch"} ), read (e.g. read iarray "numb.iar" ), and written to a file (e.g. write numb "numb" ). You can specify a subset of an integer array (e.g. a[2:15]). Besides, there all kinds of operations and functions on the ICM arrays. There are many ways to create an array:



array

Arrays ( array ) may appear in ICM shell as a result of the read xml command. The following functions can be applied to arrays to convert them to a specific type

Index access to specific arrays (e.g. a={1,2,3,4,5,6} ):

atom

(Greek): indivisible; the smallest particle of a chemical element that can exist alone or in combination.

ICM functions related to atoms:



axis

an imaginary straight line passing through a point or a body.

Here is a recipe on how to create an object with carbons as Z-axis sampling points every Angstrom:

n = 30; z_shift = 15.
build smiles String("C",n)
strip a_ virtual
delete a_//h*
#
mxyz = Matrix(n,3) # x,y,z matrix initiallized 
for i=1,n
  mxyz[i,3]=z_shift + i - 1.
endfor
#
set a_// mxyz  # assign coordinates