Some STC Programmer Notes

This section tries to look inside the blackbox of the STC package, what the programs are, how they work, and how they are all tied together. The resident wish program executes a tcl/tk script in stc-v5.0/tcl/main.tcl, this is a graphics front-end for the stc suite. After gathering all required input from the user, it eventually calls thermo which is a c program which performs all the thermodynamic calculations. Thermo is the independent back-end of stc and a user could type thermo and be prompted for all the input files required to perform the calculations. Thermo produces two output files, a short version which stc displays in a window and a verbose file.

Of course, getting input files ready for thermo is a fairly complex chore in itself. A shell script called calc_asa takes the user's input pdb files and calculates the accessible surface area files needed by thermo. The main program to do this is called access which is a fortran program also used in vadar. I have compiled access with the Fortran libraries built in as not all machines have resident fortran libraries.

Getting pdb files into acc format involves the following. This is convoluted of course and perhaps one day someone may wish to clean this section up.

  1. fix_pdb, check and reformat pdb files. Discrepancies in naming convention are delt with here.
  2. convert pdb format to diamond format. (pdbtodia)
  3. use a program modified by William Wilcox to add standard van der waals (addradii).
  4. modify the addradii output to have van der waals which match the amino acid library instead (edpdb).
  5. call access with edpdb output to calculate accessible surface area.

When building executables for sgi's, you have to keep in mind the processor type, the version of Irix and the compiler flags you set. I have compiled this software on on an Octane R10000 running Irix 6.5. I seem to have less trouble with the Irix cc compiler so I am sticking with that. I have had people tell me I can get more efficient executables by including flags such as -mips3 but then other people complain the executables don't work anymore on their system (so i'm staying generic as possible).


Back to main stc page

This file last updated:

Questions to: bionmrwebmaster@biochem.ualberta.ca