Copyright 1997-2023, G. Ausiello, G. Cesareni and M. Helmer Citterich
Next Generation version by Alessandro Pedretti and Giulio Vistoli



1.0 Introduction


ESCHER Next Generation (NG) is an enhanced version of the original ESCHER protein-protein automatic docking system developed in 1997 by  Gabriele Ausiello, Gianni Cesareni and Manuela Helmer Citterich. The new release, with a totally reengineered code, includes some new features:

For more information about the method implemented in ESCHER, refer to the paper: G. Ausiello, G. Cesareni, M. Helmer Citterich, "ESCHER: a new docking procedure applied to the reconstruction of protein tertiary structure", Proteins, 28, 556-567 (1997) .



2.0 Installation


If you are using ESCHER NG included in the VEGA ZZ package, no installation is required. ESCHER can be executed by VEGA shell in command line mode or by VEGA ZZ by its nice graphic user interface. Starting from VEGA 3.0.0 for Linux, ESCHER NG is included in its package and for the installation you must follow the steps for VEGA.

If you have downloaded the standalone ESCHER NG package, follow these steps:


1. Unpack the archive.
If you already installed the VEGA package, copy the executable required by your system, the Catalog and the Data folder in the VEGA installation directory. Now go to the last installation step (4) if your system has a Unix-like operating system.


The following steps are for Unix-like operating systems only. They aren't  required for Windows and Amiga OS.


2. Set the VEGADIR and LD_LIBRARY_PATH  environment variables to the installation pathway. For csh/tcsh shell, you must type:


For sh/bash:

export VEGADIR

The LD_LIBRARY_PATH is required to inform your system where are the dynamic libraries needed by ESCHER NG. Itĺs strongly recommended to add the installation directory pathway in the command search variable path, defined in the shell startup script.

For example, if you installed ESCHER in the /usr/local/bin/escher directory, you must set the environment variables as follow (csh/tcsh):

setenv VEGADIR /usr/local/bin/escher
setenv LD_LIBRARY_PATH /usr/local/bin/escher

or (sh/bash):

export VEGADIR

3. Finally, you must change the file permissions:

chmod 755 $VEGADIR/escher

4. As option, edit the <INSTALLATION_PATH>/Data/esprefs file at the item <LANGUAGE> to select your preferred language. The automatic language selection isn't supported in Unix operating systems.


The Linux version couldn't work with Red Hat 9.0 distribution, because it introduces the Native Posix Thread Library (NPTL). Applications complied with older Red Had distributions (e.g. ESCHER NG and VEGA) are known to experience problems with this library. To work around this problem, you can use the old Linux threads implementation by setting the environmental variable LD_ASSUME_KERNEL. Set it to either 2.2.5 or 2.4.1.
If you are using c shell, you can enter one of the following at the LINUX prompt:

setenv LD_ASSUME_KERNEL 2.4.1


setenv LD_ASSUME_KERNEL 2.2.5

If you are using bash shell, you can enter one of the following at the LINUX prompt:

export LD_ASSUME_KERNEL=2.4.1


export LD_ASSUME_KERNEL=2.2.5

Only the Win32 version was tested in parallel mode (SMP) and the Amiga OS version doesn't work in SMP mode.



3.0 Usage


The required files to run ESCHER are the probe and the target in PDB format without hydrogens. Probe and target are the partners witch best orientation will be find by ESCHER maximizing the attractive forces and minimizing the repulsions. As shown in the original documentation, the probe should be oriented along an axis. Since ESCHER relies on a cylindrical symmetry, the interaction site must be exposed as parallel as possible to the Z axis. When the interaction site is not known, at least two orthogonal orientations of the target protein must be used. In order to perform this operation, you can use the VEGA ZZ software. When the probe is correctly oriented (using the mouse or the 3D control gadgets), you must select Edit Coordinates Apply transf. in VEGA ZZmain menu and save the molecule in PDB format.

The ESCHER NG command line syntax is:

ESCHER NG V1.2.0 - (c) 1997-2023, G. Ausiello, G. Cesareni, M. Helmer Citterich
NG release by A. Pedretti and G. Vistoli
Windows 32 bit version - Intel Pentium Pro
          -c[MIN_CHARGE] -d[DOTS] -i[PROBE_RAD] -l[SOLUTIONS]
          -p[CPU_NUM] -r[ROT_STEP] -s[SOLUTION_ID] -efgz

 a -> active surface color (default 120)
 b -> max bumps (default 200)
 c -> min charge (default -200)
 d -> surface dots for each atom sphere (default 420)
 e -> evaluate the electrostatic complementarity only
 f -> force the surface calculation
 g -> perform the solution clustering only
 i -> probe radius for surface calculation (default 1.8┼)
 l -> number of solutions (default 1000)
 p -> number of reserved CPUs (default all)
 r -> rotation step (default 10)
 s -> generate the PDB file from the solution
 z -> rotate the probe around Z axis only

Examples: escher protein ligand -r 20
          escher protein ligand -s 1

This help can be showed typing the escher command without arguments in the command shell. Please remember that the target and the probe pdb files must be in the same directory. 





TARGET and PROBE are the file names of the target and probe molecules. You must remember that they must be without extensions and you can use the full path. If the surface files aren't present, ESCHER NG calculates them automatically creating two .srf files in Insight format. To force the surface calculation when the .srf files are already present, use -f option.





The Insight surface files include the color information for each surface dot (from 0 to 255). In the default condition, ESCHER NG take in consideration the dots with color attribute set to  120 and  the others are discarded. With -a option it's possible specify the color code of the active surface dots.



3.3 -b[MAX_BUMPS]


This option sets the maximum number of collisions allowed during the bump-check. If a docking solution exceeds this number, it will be discarded during the cluster analysis. The default value is 200.



3.4 -c[MIN_CHARGE]


The cluster analysis is performed also setting a charge threshold. If a docking solution has a charge score less than minimum charge value, it will be discarded during the cluster analysis. The default value is -200.



3.5 -d[DOTS]


This option sets the number of dots for each atom sphere used in the surface calculation. Big values allow a better surface description, but increase the computational time. The default value is 430.



3.6 -e


This switch enables the only electrostatic evaluation of the solutions, neglecting the other score components.



3.7 -f


This switch forces the surface calculation when the surface files (.srf) are already present.



3.8 -g


This switch enables the solution clustering, skipping the docking procedure. The *_1.sol file must be present in the directory of the target file.



3.9 -i[PROBE_RAD]


The target and the probe PBD files should not include the hydrogens and so in order to consider their steric behavior the surface calculation should be performed using a probe. Changing its radius value (in ┼), it's possible to exalt or reduce the surface roughness and thus the steric sensitivity of the docking method. The default probe radius is 1.8 ┼.



3.10 -l[SOLUTIONS]


It sets the total number of the solutions calculated during the docking. The default value is 1000.



3.11 -p[CPU_NUM]


ESCHER NG can use one or more CPUs in multiprocessor systems. By this option, it's possible indicate the number of reserved CPUs that will be used to perform the docking calculation. By default, ESCHER NG uses the maximum number of installed CPUs for the best performances.



3.12 -r[ROT_STEP]


This is the most important docking parameter, because it sets the rotation step in degree to generate the solutions. The target and the probe are cut in slices and to generate a solution, the probe slices are rotated by this rotation step. Small values induce more precise orientations but require a bigger computational time. The allowed range is from 1 to 179 and the default value is 10.



3.13 -s[SOLUTION_ID]


This option allows to extract the solutions from the ESCHER output file (*_2.sol). The SOLUTION_ID is the solution number in the output file (see first column). Another way to analyze the solutions is the use of the VEGA OpenGL software that supports ESCHER NG outputs trough its trajectory analysis tools without extract the each solution from the output file.



3.14 -z


This switch forces the probe rotation rotation around the Z axis only.



4.0 The ESCHER NG outputs


ESCHER NG generates three types of output files that you can identify by the extension:

Extension Description

It's the solution extracted by -s option. It contains the probe only. Therefore, you must open the target and the extracted files in your preferred molecular graphic package if you want analyze the complex.


It's the output text file including the solutions. ESCHER NG creates two solutions files named *_1.sol and *_2.sol, where * is the name of the target and the probe separated by a dash (-). The first contains the all computed solutions, and the second contains the clustered solution, neglecting the out layered scores (see -b and -c options)


It's the surface file in Insight format. It can be output, but it can be input also.



4.1 The solution output file


The solution output file contains some sections. Each section begin with a keyword starting with the # character. The file format scheme is the following:

Section Description

It's file header and it's placed at the first line. This tag has got a version number that identifies the type of the ESCHER output. At this time, the allowed  version number is 1.


After the #ESCHER_VER tag the file can contain the date, user comments, etc without limits in the number of lines.


In this section are present some information about the docking:

- Target file name (with full path).
- Probe file name (with full path).
- Number of computed solutions.
- Rotation center (X, Y, Z).

Other information lines can be added in the future.


In this section are included the calculated solutions. The first two lines are the column labels for a best user readability. Each subsequent line is a solution and the meaning of each field is:


Column Description
Sol. Solution number.
Score Total score (high score = best complex).
Rms Root mean square.
Bumps Number of atom collisions between target and probe.
Chg. Total charge score.
Pos. Positive <-> negative charge score. 
Neg. Positive <-> positive and negative <-> negative charge score.
Apo. Apolar <-> apolar score.
Pol. Apolar <-> polar score.
RotX X rotation.
RotY Y rotation.
RotZ Z rotation.
TransX X translation.
TransY Y translation.
TransZ Z translation.

Using the rotation center of #DOCKING_INFO section and RotX, RotY, RotZ, TransX, TransY and TransZ fields it's possible to generate the complex of the solution.


This is an example of a solution file:

Tue Jun 03 14:05:16 2003
Target file name..: "DNA.pdb"
Probe file name...: "A.pdb"
Solutions.........: 1000
Center (x, y, z)..: -3.441995 -6.353000 3.789000
Sol. Score   Rms Bumps Chg. Pos. Neg. Apo. Pol. RotX RotY RotZ TransX TransY TransZ
   1   482  36.5     5  -19    0    0    1   20  -35   35   71   -6.4   28.4   -9.5
   2   480  26.3    91 -106    0    0    1  107  -35   75  284   -5.7    2.6    1.1
   3   479  26.7   113 -133    0    0    0  133  -35   75  276   -5.9    3.1    1.1
   4   479  25.1   259 -202    0    0    3  205  -35   55  252   -6.3    2.7   -0.0
   5   477  21.6     4   -5    4    0    0    9  -25   45  289   -6.1   -3.8   -2.9


5.0 The esprefs file


ESCHER NG reads a preference file in order to set the default parameters. This file is stored in Config directory, it's called esprefs and it's in ASCII format editable as a normal text file. Each entry has a keyword with one or more parameters. A semicolon (;) placed in the first column of a line indicates a remark. You must remember that ESCHER NG doesn't print any warning about incorrect parameter or syntax errors in the esrefs file. In the following table, all available keywords are reported:




Default language used for the messages. The argument can be AUTO to set automatically the preferred language (AmigaOS and Win32 only), or the language type to set it manually.

e.g. LANGUAGE italiano



6.0 History



7.0 Copyright and disclaimers


All trademarks and software directly or indirectly referred in this document, are copyrighted from legal owners. ESCHER NG is a freeware program that can be spread through Internet, BBS, CD-ROM and other electronic formats. The Authors of this program accept no responsibility for hardware/software damages resulting from the use of this package. No warranty is made about the software or its performance.

Use and copying of this software and the preparation of derivative works based on this software are permitted, so long as the following conditions are met:


is a software developed in 1997
by Gabriele Ausiello, Gianni Cesareni and Manuela Helmer Citterich
All rights reserved.

Manuela Helmer Citterich
Centro di Bioinformatica Molecolare - Dipartimento di Biologia
UniversitÓ di Roma Tor Vergata
Via della Ricerca Scientifica
I-00133 Roma - Italy
Tel. +39 06 7259 4314

is an enhanced version of the original ESCHER project
Copyright 2003-2023, Alessandro Pedretti & Giulio Vistoli
All rights reserved.

Alessandro Pedretti
Dipartimento di Scienze Farmaceutiche
UniversitÓ degli Studi di Milano
Via Mangiagalli, 25
I-20133 Milano - Italy
Tel. +39 02 503 19332
Fax. +39 02 503 19359