From: Mgr. Lubos Vrbka (
Date: Wed Mar 01 2006 - 00:44:11 CST

> Just to clarify, are you asking for a script that gives you a list
> of atoms which have a non-zero solvent accessible surface area?
> In general, if you have an atom selection for which you want to retrieve
> the atom names and coordinates, you can do this:
> set sel [atomselect top "protein"]
> set namesandcoords [$sel get { name x y z }]
> If rather than just using "protein" as your selection critera, you wanted
> to select by solvent accessible surface area, you'd need to build a list of
> per-atom SASA values, then select those that have values greater than zero
> (or some other cutoff), and then use that list in a subsequent selection.
> That's a more sophisticated script, and you'll want to read the User's Guide
> about the "measure sasa" command.
maybe this script might be of some use to you... it's maybe a little too
complicated for your needs, but it could give you a good start...


Mgr. Lubos Vrbka
Center for Biomolecules and Complex Molecular Systems
Institute of Organic Chemistry and Biochemistry
Academy of Sciences of the Czech Republic
Prague, Czech Republic

SASA All Residue Calculator 1.1

REQUIREMENTS: VMD Version 1.8.3 or greater

        1.1 fixed some wrong variable names
        Script for detailed SASA analysis. Calculates SASA for every residue
        of a given selection (e.g. protein) ad prints it out. It can be used
        to identify residues more/less exposed to the solvent. Works also
        for whole trajectories, were it calculates average SASA value.

        Takes one frame after another. Splits given selection to single residues
        and calculates SASA for each of them by using
        measure sasa _radius_ _whole_sel_ -restrict _residue_
        This procedure can be very time consuming (360 residue protein, 2000 frames
        trajectory = 7 hours on 3GHz Athlon).
        See the script itself for more information.

        getAllResSASA - main procedure

        getAllResSASA "selection" probe_radius <startframe <endframe>>
        Optional startframe/endframe parameters define range of frames from
        the trajectory, that should be analyzed. If omitted, whole trajectory
        is parsed.
        source _sasa_res.tcl
        getAllResSASA "protein" 1.5 1 100
        This performs the analysis on frames 1 to 100 of the trajectory and
        prints average SASA values for every residue of the protein to file
        res_sasa.dat using following format
            residue resname SASA
            0 GLU 195.54
            1 THR 140.93
            2 THR 66.38
            3 ALA 7.58
            4 LEU 0.51
            5 VAL 0.59

        Lubos Vrbka (shnek (at) tiscali (dot) cz)