From: Tran, Tran (
Date: Thu Jul 07 2016 - 23:46:37 CDT


My name is Tran, I'm using VMD to investigate the conformational change of insulin. I want to calculate the surface area of hydrophobic atoms (beta 0.0) on B-chain (segname P2), at which the conformational change occurs. I read through email list and found this script of sasa calculation.

I did some changes to the script so that it will only consider the surface area of the hydrophobic atoms on B-chain.

#calculate the hydrophobic surface area
puts -nonewline "\n \t \t Selection: "
gets stdin selmode
# selection
set sel [atomselect top "$selmode"]
set protein [atomselect top "protein and beta 0.000000"]
set n [molinfo top get numframes]
set output [open "SASA_$selmode.csv" w]
# sasa calculation loop
for {set i 0} {$i < $n} {incr i} {
molinfo top set frame $i
set sasa [measure sasa 1.4 $protein -restrict $sel]
puts "\t \t progress: $i/$n"
puts $output "$sasa"
puts "\t \t progress: $n/$n"
puts "Done."
puts "output file: SASA_$selmode.csv"
close $output

This is my first time using tcl command language to write a script, so there are some parts I couldn't understand. I hope you can help me.

what does "gets stdin selmode" mean? and when measure sasa is carried out, what part of the molecule is eliminated as $sel? after I command source to this script, selection appears, do you thing why the return values are different between selection of protein and segname P2?

Thank you so much!!! I'm looking forward to hearing from you soon.