Home Icon  Home  Legal Icon  Legal Note  Contact Icon  Contact 
IMP Bioinformatics Group Leftlogo IMP Bioinformatics Group Rightlogo
A S C    The Analytic Surface Calculation Package



S C R I P T     2



This Script is used to read a PDB protein structure file and calculates the surface burial analytically between two structural segments.

Each substructural segment is described by a segment identifier. It consists of two parts separated by a colon and @.

The first number is the the molecule number (e.g., number 1 for chain A and number 2 for chain B in structure 2zta, the leucine zipper). It can be ommitted if only one chain is present.

The second part after the colon describes the range of residues to be considered (e.g. 0-31 for all residue including the blocking acetyl residue in the case of leucine zipper).
Examples for valid segment identifiers are "1:@2-12", "3:@0-31", or ":@2-12".


The current status of script 2:

ch_env workdir "/var1/www/htdocs/SURFACE/tmp" 
ch_env objdir "/var1/www/htdocs/SURFACE/tmp" 
ch_env commdir "/var1/www/htdocs/SURFACE/tmp"
include "std.def"   # standard definitions
r_lib
sf_set em86         # surface parameters of McLachlan and Eisenberg 1986
time 1
echo "wk_obj(1)" , wk_obj(1) 
echo "wk_obj(2)" , wk_obj(2) 
echo "wk_obj(3)" , wk_obj(3) 

r_pdb wk_obj(1), heavy, _nohyd
double surf_h1, surf_h2, surf_all;
surf_all = asc();
active_at wk_obj(2) 
surf_h1 = asc();
active_at wk_obj(3) 
surf_h2 = asc();
echo(" ");
echo("surface of first object         : ", surf_h1);
echo("surface of second object        : ", surf_h2);
echo("surface of both objects         : ", surf_all);
echo("surface burial due to docking   : ", surf_h1+surf_h2-surf_all);
quit

Commentaries:

# version 2.1  (April 1995)
#
# Author: Frank Eisenhaber
#
#
# example command script to read PDB-file with protein, calculate
# surface burial analytically between two helices

ch_env workdir "/booby1/adm_bork/www/htdocs/ASC_2.12/" 
ch_env objdir "/data/pdb/" 
ch_env commdir "/booby1/adm_bork/www/htdocs/ASC_2.12/"

# The above environment settings have to be included whenever you
# submit a script to the EMBL;
# that's because ASC started by the WWW server won't run in it's
# default directory.
#
# If you run ASC at your site, the settings have to be:
# 
#    workdir: the directory to copy the output to
#    objdir : the location of your pdb-files
#    commdir: where you place your scripts and the file "std.def"
#

include "std.def"   # standard definitions

r_lib
sf_set em86         # surface parameters of McLachlan and Eisenberg 1986
time 1

# input of two helices

r_pdb "2zta.brk"

#
# If strings are required as parameters of commands, the user may
# apply the wk_obj-string array:
#
#   1) Prior to invoking asc, issue the command
#
#             setenv wk_obj1 2zta.brk
#
#      if 2zta.brk is the required string.
#
#   2) The corresponding command in the script asc_start would be
#
#             r_pdb wk_obj(1), heavy, _nohyd
#
# The number (1) may be replaced by any digit from 0-9, there are 10
# predefined strings wk_obj() available. This option is useful, if
# many structures have to be treated in a similar manner and asc is
# called as system call from another program or a csh-script.
#
# !!! this is only for the use at your site !!!
# 
# !! never set one of the wk_obj(n) when submitting a job to the EMBL !!
#

double surf_h1, surf_h2, surf_all;

#
# By default, all input atoms are activated.
#
# calculate surface of current selection of active atoms
# (all heavy atoms of both helices)

surf_all = asc();

#
#
# all heavy atoms of the first helix - activate first molecule

active_at "1:@0-31"

# calculate surface of current selection of active atoms

surf_h1 = asc();

#
#
# all heavy atoms of the second helix - activate second molecule

active_at "2:@0-31"

# calculate surface of current selection of active atoms

surf_h2 = asc();

#

echo(" ");
echo("surface of first helix         : ", surf_h1);
echo("surface of second helix        : ", surf_h2);
echo("surface of both helices        : ", surf_all);
echo("surface burial due to docking  : ", surf_h1+surf_h2-surf_all);

# end of command script, further input of commands from keyboard
# Finish the session with quit or exit.
#

quit


SCRIPT 2 Output

Below, you see the corresponding output for the above example.
The lines starting with 'asc >' respond to the script input, all the others are produces by ASC.

Start of Package ASC - Analytical Surface Calculation
*****************************************************
Copyright 1992-1994 by Frank Eisenhaber
All rights reserved
 
Time of program execution    : Mon May 22 17:42:24 1995
non-default command file     : dock_and_bury
default protocol file        : asc_prot.22May95_1742
operating system             : SGI IRIX64
program version              : 2.10
 
asc > {
asc > ch_env workdir "/booby1/adm_bork/www/htdocs/ASC_2.12/"
asc > ch_env objdir "/data/pdb/"
asc > ch_env commdir "/booby1/adm_bork/www/htdocs/ASC_2.12/"
asc > include "std.def"
asc > {
asc > define COMMDIR commdir()
asc > define WORKDIR workdir()
asc > define LIBDIR  libdir()
asc > define OBJDIR  objdir()
asc > define PI      (atan(1.)*4.)
asc > }
asc > r_lib
rwlb_ps_e: 58 atom parameters read (periodic system of elements)
rwlb_retp: std.topology of 32 residues with 390 atoms is read
rwlb_sfty: 9 set(s) with 56 pairs of surf.energy parameters read
asc > sf_set em86
sel. sf_set: em86 (equiv.we92);  2.80 <= 6 radii <=  3.30
asc > time 1
asc > r_pdb "2zta.brk"

rw_pdb: new independent object(No.  1): 2zta.brk   , selection code 013
rw_pdb: selection of 524 atom(s), 64 residue(s) and 2 molecule(s)
pdb_lbre: include standard residue information for object 1
pdb_lbre: mode=2,i.e. check PDB-order and completeness(heavy atoms)
asc > double surf_h1, surf_h2, surf_all;
asc > surf_all = asc();
asc > active_at "1:@0-31"
select: 262 active atom(s)
asc > surf_h1 = asc();
asc > active_at "2:@0-31"
select: 262 active atom(s)
asc > surf_h2 = asc();
asc > echo(" ");
echo:  
asc > echo("surface of first helix         : ", surf_h1);
echo: surface of first helix         :  3306.94540
asc > echo("surface of second helix        : ", surf_h2);
echo: surface of second helix        :  3392.43091
asc > echo("surface of both helices        : ", surf_all);
echo: surface of both helices        :  4938.15162
asc > echo("surface burial due to docking  : ", surf_h1+surf_h2-surf_all);
echo: surface burial due to docking  :  1761.22469
asc > }
asc > quit
Normal Termination of ASC.