We have developed a new algorithm to normalize solvent accessibility (ASA) of a residue taking its N- and C-terminal residue contexts into account and using native-structure-derived Highest Observed ASA (HOA) of tripeptides as reference states. Reference state data was generated from entire PDB (high quality structures selected), using more than 8 million residue data. This normalization has been observed to outperform usual extended-state-ASA (ESA)-based normalization in terms of ASA prediction and enrichment of binding sites in exposed residues. is a perl implementation to convert absolute ASA values (two column format) into relative ASA values using optional critereon for normalization (ESA or HOA) and vice versa. Implementations in other programing langauges will also be provided here in future. HOA data will also be updated regularly as version upgrades. In future input formats like DSSP and NACCESS formats will also be accepted. A Perl script for calculating relative solvent accessibility (RSA) and to convert RSA to Absolute ASA.


Absolute to relative (using HOA data in HOA.txt): -r -i ASA/RSA.txt -h HOA.txt
Relative to absolute (using HOA data in HOA.txt): -a -i ASA/RSA.txt -h HOA.txt

OVERVIEW is a Perl program for calculating RSA or Absolute ASA for each of the amino acids.

REQUIREMENTS can run on most systems where Perl is installed.


-i < path to text file you wish to calculate. > This file should contain one amino acid and RSA/ASA value per line.
   Do not separate the lines with commas. See the example in the NOTES section. 

-r < Convert to relative solvent accessibility (RSA) >

-a < convert RSA to Absolute ASA >

-h < path to HOA.txt file (using HOA values to normalized ASA) >
If "-h" is not provided, usual normalization by extended state ASA (ESA) values will be used.


1) Please note that this program will write the output to STDOUT.

2) This program will normalized ASA value of each amino acids by Ala-X-Ala (Shandar et al., 2004) by default.

3) The text file should contain the amino acids and RSA/ASA value one per line as follows:

	  A	10
          C	50
          D	87

The characters should be in upper case.


Example 1: Calculate RSA of the file located on the same directory that the program is located in.

        % -r -i file.txt 

Example 2: Calculate RSA of the file located on the same directory that the program is located in using HOA values.

        % -r -i file.txt -h HOA.txt


This documentation refers to version 1.0 of

Version history:

  Version  Date        Comments
  1.0      2008-11-28  First release


If your perl location happens to be different from /usr/local/bin/perl, simply run the program as


DOWNLOAD -- download page for this script and documentation

NEW (December 2011): A python implementation has been kindly provided for public distribution by Mark Evans (Monogram Biosciences).
The same is provided as such (Please contact him at for details on this implementation)

Download Python implementation


Y.H.Singh ( )

Project copyright

Shandar Ahmad ( )