[ s_alignment_rainbow | s_blastdbDir | s_editor | s_entryDelimiter | s_errorFormat | s_fieldDelimiter | s_helpEngine | s_icmhome | s_inxDir | s_icmPrompt | s_imageViewer | s_javaCodeBase | s_labelHeader | s_lib | s_logDir | s_out | s_pdbDir | s_pdbDirFtp | s_pdbDirWeb | s_projectDir | s_printCommand | s_prositeDat | s_psViewer | s_reslib | S_skipMessages | s_sysCp | S_sysLs | s_sysMv | s_sysRm | s_tempDir | s_translateString | s_userDir | S_usrlib | s_webEntrezLink | s_webViewer | s_xpdbDir ]
System string variables are predefined in the shell. New string variables can be created via assignments, e.g.
a = "What took you so long?"
txt = """
Once upon a time some evil dwarfs
filed a patent claiming the right to
paint shirts blue color
"""
, or the read string command or a function returning a string ( e.g. a = String(2.3) )
or created by a command as one of the output variables, eg s_out.
This variable now controls how alignments are colored automatically by properties like conservation or entropy. For example:
s_alignment_rainbow = "pink/white/white/lightyellow/yellow/yellowgreen/green"
Note: this variable does not influence the consensus-based coloring via tables
CONSENSUSCOLOR and CONSENSUS
$BLASTDB system shell variable.
The variable can also be explicitly defined in the user_profile.icm
or _startup file. In order to start using the $BLASTDB shell variable,
delete explicit assignment of the s_blastdbDir from your _startup file or
add
s_blastdbDir=Getenv("BLASTDB")
to your ~/.icm/user_startup.icm file.
The find database family of sequence/pattern search commands use the
s_blastdbDir directory.
Attention!!! Always use the call to the program which starts the program in the foreground. For example: use "jot -f" rather than just "jot", since the default is running in the background.
Examples:
s_editor = "vi" # good old vi, does not require a separate window
s_editor = "jot -f" # popular SGI editor
s_editor = "xedit" # simple and exists for X on every platform
s_editor = "notepad" # exists for PCs
database output of a table or a set of arrays,
generated by the show database or write database commands.
The %i specification at the end will be replaced by the current number
of the entry and carriage return.
Default: ("#____________________________ %i")
Example:
s_entryDelimiter="//\n" # EMBL-database delimiter
s_entryDelimiter="\n" # empty line
See also:
"<hr><h3>Error: %s</h3><hr>" .
Examples:
s_errorFormat="" # do NOT print error messages
s_errorFormat=" Error> %s" # standard error messages
s_errorFormat=" Erreur> %s" # French version
# html-padding
s_errorFormat="<hr><h3>%s</h3><hr>"
s_errorFormat=" Fehler> der Betrieb ist verboten"
# replace all the messages by this text
Field and Split functions, as well as by read column
and write table commands.
In "Split" and "read table" one can also specify the field
delimiter explicitly.
Important. If a character is duplicated in s_fieldDelimiter (e.g.
s_fieldDelimiter="::" ), then multiple occurrences of this character will be ignored.
Otherwise, EMPTY fields will be created between each pair of identical delimiter characters.
In write table s_fieldDelimiter is honored only if is a one-letter symbol, like "," or "\t".
See also the opposite operation, merging members of string array into one string:
Sum( S_, s_separator )
Examples:
s_fieldDelimiter="\t" # "aaa\t\t bbb" splits into "aaa",""," bbb"
s_fieldDelimiter="\t\t" # "aaa\t\t bbb" splits into "aaa"," bbb"
Default ( " \t\t" i.e. two blanks, two tabs, meaning skip
multiple blanks or tabs). Another reasonable possibility is
" \t\t\n\n" which means skip blanks,tabs and carriage returns.
s_helpEngine="icm", so you can use the simple internal ascii help-file viewer
more filter
('q' - to stop, '/' to find a string, 'Enter' - next screen).
If the desired help information is not found, just type help and then use
'/' plus the search pattern to perform the context search in the whole
help file.
Examples:
s_helpEngine="/usr/bin/netscape"
s_helpEngine="mozilla" # make sure you can start it in the UNIX shell
s_helpEngine="icm" # why would one need more?
s_userDir directory.
The Linux icm-rpm package creates
s_icmhome in /usr/icm directory.
s_inxDir is set to s_icmhome + "/data/inx/" .
See also: read index , write index .
- %o - name of the current molecular object
- %e - list of the active energy terms (see the set terms command)
- %t - time spent in ICM (may be convenient for scripts)
- %T - astronomical Time
- %% - % character
- %# - icm-command order number
terms
you are using by adding %e to the prompt string.
Examples:
s_icmPrompt="%## " # for minimalists
s_icmPrompt="" # for super-minimalists
s_icmPrompt="%T> " # for anxious paranoiac freaks
s_icmPrompt="MY_ICM/%o/%e/%T/%#> " # for the verbose
s_icmPrompt="Hi-hi|%e-^%o+%T> " # for the messy
s_icmPrompt="Icm command number %#> " # for the retarded
s_icmPrompt="Hey dude, type something" # for dudes
s_icmPrompt="%o/%e> " # for humble and wise researches
Default:
"icm/%o> "
tiff, png, targa and rgb formats)
if the display option is specified.
An alternative to the default is the "xv" program.
See also the
write image command.
Default for SGIs (
"imgview").
web or write html
commands with a chemical table.
Default:
"/Java/"
s_labelHeader=" "
Default ( "" - an empty string).
Default (
"icm").
_seslog.icm file is automatically
stored. If the s_logDir variable is empty, it is stored to the
s_userDir + "/log/" directory. However one can redirect it to the
current working directory ( "." ) or any other directory.
The same logic applies to the
_crashlog.icm file which is created
when ICM crashes.
Examples:
s_logDir = "." # _seslog.icm stored in the current working directory
s_logDir = "" # to the current working directory
printf
read database
read string,
read table,
and
read unix,
Default (
"is where the string/text is stored" ).
pdbDirStyle from 1 to 5
(the ftp and http styles are controlled by a different variable).
These files can also
be easily downloaded directly from the PDB site if the variables are
set as in the example below.
PDB distributions can exist in several styles (all files in the same directory,
or divided etc.).
The style is defined by the pdbDirStyle preference.
The pdb directory also contains the
derived_data subdirectory with useful
files ( pdb sequences, index files etc. )
Attention! Note that if the pdbDirStyle is set to 6 or 7 this variable is NOT USED.
Variables s_pdbDirFtp and s_pdbDirWeb are used instead! (it was hard coded until version 3.5-2)
Example:
s_pdbDir ="ftp://ftp.rcsb.org/pub/pdb/data/structures/divided/pdb/"
pdbDirStyle = "ab/pdb1abc.ent.Z"
s_pdbDir = "/data/pdb/"
read sarray s_pdbDir+"/derived_data/index/source.idx"
source = Tolower(Trim(Field(source,1)))
for i=1,Nof(source)
read pdb source[i]
# do some analysis
delete a_*.
endfor
Default ( "/data/pdb/"). It is usually redefined in the _startup file.
If pdbDirStyle is set to 6 (for the ftp access), the location of the ftp site is controlled
by this variable.
Example:
pdbDirStyle=6
s_pdbDirFtp = "ftp://ftp.rcsb.org/pub/pdb/data/structures/divided/pdb/" # an old site
read pdb "1crn"
If pdbDirStyle is set to 7 (for the http access), the location of the web site
and the request format is controlled by this variable.
Example:
pdbDirStyle=7
s_pdbDirWeb = "http://www.rcsb.org/pdb/files/%s.pdb.gz" # an old web site
read pdb "1crn"
s_userDir directory.
print option is specified in the
write image postscript or
write postscript commands.
Customize this string.
Default ( "lp -c" ).
Example:
s_printCommand = "lp -c -d ColorPrn22"
write image postscript print # save image and print
prosite
database of protein patterns. This file is not large and is distributed
with ICM. If you have your own copy of prosite, redefine the variable and
delete prosite.dat in the $ICMHOME directory to avoid redundancy.
Default (
"prosite.dat" ). It is usually redefined to
s_icmhome+"prosite.dat" in the
_startup
file.
unix $s_psViewer </tt><i>your PostScript file name</i>
Default is system specific.
icm residue library that contains discriptions of
chemical residues.
The file will be loaded from the $ICMHOME directory.
To create a new residue use the write library command.
Default ( "icm").
" Warning> [123] .. " ).
You may specify a set of message numbers which you want to suppress.
While the messages are suppressed the error code can still be returned with the Error(number) function.
Example:
a = 1
if = 2 # deliberately generate error
Error> [2073] illegal IF: wrong condition in if=2
s_skipMessages = "[2073]"
if = 2 # now no message is generated
if Error(number)==2073 quit
a = yes # generates another error
Error> [696] wrong assignment or name conflict
s_skipMessages = "[2073][696]"
a = yes # hides the error message
234*2352352532
Warning> [147] number 2352352532 is too big for an integer (>2147483647)
0
s_skipMessages = "[2073][696][147]" # suppress the warning
234*2352352532
0
See also:
errorAction , s_errorFormat .
Default (
"[3000][3012]" just to show an example).
string containing the copy file command for the current operating system.
It is advised to use this variable in scripts for cross-platform portability.
automatically filled out string containing the list file command (or list files sorted by modification time)
for the current operating system.
It is advised to use this variable in scripts for cross-platform portability. Example:
sys $s_sysLs # to list files in the current directory
sys $s_sysLtt # to list files in the current directory
automatically filled out string containing the move or rename file command for the current operating system.
It is advised to use this variable in scripts for cross-platform portability.
automatically filled out string containing the delete or remove file command for the current operating system.
It is advised to use this variable in scripts for cross-platform portability.
Default ( "/usr/tmp/").
String function and the show map command.
Default (
".:*0#" ).
The suggested _startup file sets this variable to a subdirectory
.icm
of the user $HOME directory ( $USERPROFILE for Windows),
but you may set it anywhere you want.
Default (
"$HOME/.icm/").
icm residue libraries
uses the
LIBRARY.res sarray.
You can generate the entries using the
write library
command.
Default (
"usr").
See also:
webEntrezOption,
Default ( "http://www3.ncbi.nlm.nih.gov/htbin-post/Entrez/query?db=s&form=6&uid=%s&Dopt=%c").
An obsolete variable. Web browser is defined by OS default.
Here we compare the execution times for the pdb and xpdb files:
eos:/home/ruben/icm> time ./icm -s -e 'read object "/data/xpdb/1ffk.ob"'
0.450u 0.090s 0:00.54 100.0%
eos:/home/ruben/icm> time ./icm -s -e 'read pdb "/data/pdb/ff/pdb1ffk.ent.Z"'
38.800u 0.430s 0:42.11 93.1%
An xpdb directory can be in a remote location, e.g.
s_xpdbDir = "http://ablab.ucsd.edu/xpdb/"
read binary pdb "1crn"