VVenv programs

BMERC : needle tools : Programs : VVenv programs


The programs documented below are used to compute and reformat "visible volume" statistics and environments. See also the "VVenv file formats" page.

Note: These programs are not distributed as part of needle tools; they are still "work in progress" and are not available except by special arrangement.

Table of contents

  1. VVenv programs
    1. Table of contents
    2. calculate-vv.pl
    3. calculate-vv-all
      1. calculate-vv-all atom radius rules
    4. vv-bb-singl.pl
    5. los.pl
    6. make-los-depends.pl
      1. make-los-depends.pl file types
    7. make-vvenv-depends.pl
      1. make-vvenv-depends.pl file types
      2. make-vvenv-depends.pl "weighted" scores


calculate-vv.pl

The calculate-vv.pl script is a wrapper that runs
filter-pdb-atoms.pl, calculate-vv-all, and los.pl to produce two singleton visible volume files (a "near" set and a "far" set), and a "line-of-sight" file, given an input PDB file.

Usage:

	calculate-vv.pl

General arguments:

-step step
specifies the distance resolution in Ångstroms at the maximum radius; default is 0.1 Å.
-norm method
specifies the normalization method. The only choice for method is: Needless to say, this is the default.
-pdb-file pdb-file-name
name of the PDB file to use as input; defaults to the standard input.
-seg-file seg-file-name
specifies the name of a segment format file for the input PDB file; defaults to none. [but this will fail; should be a required argument. -- rgr, 14-Jun-99.]
-chain chain-spec
passed as the -chain argument of filter-pdb-atoms.pl; defaults to none.
-include-hetatms [ HET . . . ]
specifies that some or all heterogen atoms (on HETATM records) are to be included in the output. By default, no HET atoms are included. See the filter-pdb-atoms.pl -include-hetatms discussion for more details.
-exclude-hetatms [ HET . . . ]
specifies that heterogen atoms for all but the specified HET groups are to be included in the output. By default, no HET atoms are included. See the filter-pdb-atoms.pl -include-hetatms discussion for more details.
-pair-file pair-file-name
Defaults to the standard output. [finish this. -- rgr, 18-Dec-98.]
-raw-pair-file raw-pair-file-name
if specified, supplies the name of the raw pair file produced by calculate-vv-all. If this is left unnamed, as it is by default, the file is treated as temporary and is deleted when calculate-vv.pl exits.

Shell definition arguments:

-near-shell dist
-far-shell dist
defines the radius for the "near" or "far" shell. The near shell radius defaults to 7.5 Ångstroms, and the far shell radius defaults to 14 Ångstroms.
-near-radius dist
-far-radius dist
synonym for -near-shell and -far-shell.
-near-sing near-singleton-file-name
-far-sing far-singleton-file-name
if specified, names the VV singleton format file for the near or far radius shell. If these are left unnamed, they are treated as temporary files to be used only for the production of the line-of-sight file.
-near-raw-sing near-raw-singleton-file-name
-far-raw-sing far-raw-singleton-file-name
names the near or far raw singleton file (format not documented). [These arguments are used solely for debugging; there is no call for the raw singleton format any more. -- rgr, 14-Jun-99.]

Atom radius definition arguments:

-atom-radius atom [ res ] radius
defines an exceptional radius value to use for selected atoms, where:
  • atom is an atom name (e.g. CB).
  • res is an optional three-character residue name; if omitted, the radius value applies to the indicated atom of all residues.
  • radius is a number specifying the radius in Ångstroms to use for matching atoms.
Note that atom and res are case-sensitive, and must be in upper case to have an effect. The -atom-radius argument may be repeated to define multiple exceptions. [This argument is intended to correspond to the
-radius argument of efa.pl; one or both may need to change in order to bring them closer. -- rgr, 8-Jun-99.]
-default-radius species radius
defines the standard radius value to use for "unexceptional" atoms, where: See [somewhere] for a table of default values.
-show-atom-radii
passed to calculate-vv-all, where it causes tables of atom values to be printed in the order in which they are searched on the standard error stream after all -atom-radius and -default-radius arguments are processed.

Miscellaneous arguments:

-quiet
disables all output messages except error messages (this is the default).
-show
enables normal (non-verbose) output messages.
-verbose
enables debugging output. If repeated, enables copious debugging output.

calculate-vv.pl runs the following three programs:

  1. filter-pdb-atoms.pl is first used to filter the input PDB file, and "trim" all sidechains back to the beta carbon, "hallucinating" a beta carbon for each glycine. Visible volume is always calculated on a poly-alanine chain; it is not possible to change this (though one can always do this by running calculate-vv-all directly).
  2. calculate-vv-all next produces the visible volume values for the near and far shells, and the raw pairwise (line-of-sight) information. And finally,
  3. los.pl takes the segment definition file (specified with the -seg-file argument) and the three files produces by calculate-vv-all and generates a VV pairwise file.

If any of these programs gets an error (i.e. exits with nonzero status), calculate-vv.pl dies with an exit code of 255.

By default, the singleton files produced by calculate-vv-all are treated as temporary files, and are deleted after los.pl finishes; you must specify the -near-sing and/or -far-sing arguments if you want to keep either of these.


calculate-vv-all

The calculate-vv-all program computes singleton visible volume and "line-of-sight" values given a filtered PDB file. One must use
   filter-pdb-atoms.pl -hcb -output cb < in.pdb > filt.pdb
or something equivalent in order to give calculate-vv-all the appropriate set of atoms, and deal with variant locations, etc.

Usage:

	calculate-vv-all

General arguments:

-pdb-file pdb-file-name
name of a PDB file (must be filtered; see above), or "-" to explicitly specify the standard input (the default).
-step step
specifies the distance resolution in Ångstroms at the maximum radius; default is 0.1 Å.
-pair-file pair-file-name
This option is incompatible with the -residues option. [finish this. -- rgr, 18-Dec-98.]
-residues residue-index-file-name
if specified, this should be the name of a file that contains a list of residue indices, one per line for each selected residue. Visible volumes will be computed for only those residues explicitly named in the residue index file, in the order specified. The residue indices should be in the same format produced by the -residue-index-file option to filter-pdb-atoms.pl (q.v.). This option is incompatible with the -pair-file option.

Atom radius definition arguments:

-atom-radius atom [ res ] radius
defines an exceptional radius value to use for selected atoms, where:
  • atom is an atom name (e.g. CB).
  • res is an optional three-character residue name; if omitted, the radius value applies to the indicated atom of all residues.
  • radius is a number specifying the radius in Ångstroms to use for matching atoms.
Note that atom and res are case-sensitive, and must be in upper case to have an effect. The -atom-radius argument may be repeated to define multiple exceptions. [This argument is intended to correspond to the
-radius argument of efa.pl; one or both may need to change in order to bring them closer. -- rgr, 8-Jun-99.]
-default-radius species radius
defines the standard radius value to use for "unexceptional" atoms, where: See [somewhere] for a table of default values.
-show-atom-radii
causes tables of atom values to be printed in the order in which they are searched on the standard error stream after all -atom-radius and -default-radius arguments are processed, and before checking for the required -shell argument (in order to make it easy to use this option to debug atom radius definitions).

Shell definition arguments:

-shell dist
defines a new radius "shell" for which to compute visible volume. May be specified multiple times to compute a set of shells simultaneously, which is much faster than computing them separately for the same PDB input.
-radius dist
synonym for -shell.
-write-sing singleton-file-name
writes a VV singleton format file for the previously specified radius shell.
-write-raw-sing raw-singleton-file-name
write a raw singleton file (format not documented) for the previously specified radius shell. [This argument is used mostly for debugging; there is no call for the raw singleton format any more. -- rgr, 3-Jun-99.]

Miscellaneous arguments:

-quiet
disables all output messages except error messages (this is the default).
-show
enables normal (non-verbose) output messages.
-verbose
enables debugging output. If repeated, enables copious debugging output.
-norm-NCACO
specifies normalization of VV values to the volume that is not shadowed by the backbone atoms (this is preferred). The default is to use only the alpha carbon shadow in the normalization term.
-standard-tet
specifies "traditional" tetrahedral normalization. [don't use this. -- rgr, 18-Dec-98.]

Compatibility arguments:

These are deprecated; use -shell or the indicated synonym instead.

-distance dist
maximum radius for which to compute visible volume.
-alt_distance alt-dist
minimum radius for which to compute visible volume; if not specified, only a single "shell" is done.
-alt_step alt-step
delta radius for which to compute visible volume; if not specified, two "shells" (one for the minimum and one for the maximum) are done.
-norm-NCOCA
synonym for -norm-NCACO.
-locus string
prefix for default output file names. The default locus is simply "vv". It is not necessary to specify this unless you wish to use the default output file names.
-output string
synonym for -locus.
Singleton data is generated for each shell specified by the -shell argument, into either the file named by the -write-sing or -write-raw-sing argument specified immediately following. If neither -write-raw-sing nor -write-sing is specified for a given shell, calculate-vv-all assigns the default -write-raw-sing name of "locus_vv" (for the first shell) or "locus_vv_n" (for all subsequent shells n). However, since the raw singleton format is obsolescent, one should always use -write-sing explicitly.

Raw pairwise data (also known as "line-of-sight" data) may also be produced; this is written by default to the "locus_vv_cnt" file. [finish. -- rgr, 3-Jun-99.]

calculate-vv-all atom radius rules

The radii for atoms found in the PDB file with a given atom name atom and belonging to a given residue res are computed as follows:
  1. First, if an -atom-radius has been given that specifies both atom and res, then that radius is used. (There are no such radius values defined by default.)

  2. Failing that, if an -atom-radius has been given that specifies only the atom, then that radius is used. The initial set of role name to radius rules are as follows:
    Atom name Radius
    ' N  ' 1.35 Å
    ' CA ' 1.65 Å
    ' C  ' 1.50 Å
    ' O  ' 1.35 Å
    ' CB ' 1.65 Å
    Note that atom role names are always four characters; if a name with fewer than four characters is supplied to -atom-radius, it is padded with up to one blank on the left, followed by up to two blanks on the right.

  3. Finally, the "default" default atom radius of 1.5 Ångstroms is used for atoms not covered above. At present, it is not possible to change this value from the command line.

Known bugs:

  1. If you specify radii in any order other than greatest to least, the inner shell(s) are done wrong, both for atom counts and for VV values. -- rgr, 18-Dec-98. [this does not seem to be the case any more, but I don't recall exactly when it was fixed. -- rgr, 3-Jun-99.]


vv-bb-singl.pl

The vv-bb-singl.pl program transforms the raw singleton output produced by the -write-raw-sing argument of
calculate-vv-all into the VV singleton format. Since one can now use -write-sing instead to produce this format directly, vv-bb-singl.pl is now obsolescent, and may disappear in the near future.

Usage:

	vv-bb-singl.pl [-dssp-file dssp-file-name]
                < raw-vv-sing-file > vv-bb-singl-file

Arguments:

-dssp-file dssp-file-name
name of an optional abbreviated DSSP format file. If not specified, the secondary structure field is left with the historic "*" values. No other code requires these fields to be filled out, so the DSSP file is never needed.
raw-vv-sing-file
specifies the source of the raw VV singleton data (file format not documented).
vv-bb-singl-file
VV singleton output, in VV singleton format.
If no DSSP file is given, then the vv-bb-singl.pl script just massages the input fields slightly. With a DSSP file, the DSSP state assignment is also filled in, "trimmed" to three states (H, E, or L).


los.pl

The los.pl program transforms the raw pairwise output from
calculate-vv-all together with one or two VVenv singleton files into the "line-of-sight" (VV pairwise or "hyperenv") format.

Usage:

	los.pl [-seg-file seg-file-name]
               [-vv-sing vv-sing-file]
               [-use-old-format] [-use-new-format]
               < raw-vv-pair-file > los-file

Arguments:

-seg-file seg-file-name
supplies the name of segment file to use for secondary structure definitions. If a -vv-sing file was specified that includes secondary structure codes (see the -dssp-file option to vv-bb-singl.pl), then this argument is optional; otherwise, it is required. If -seg-file is specified, then any -vv-sing secondary structure information is ignored.
-vv-sing vv-sing-file
specifies a VV singleton file. Must be specified at least once. If specified twice, both files must describe identical residues; the total VV fields come from the first vv-sing-file specified, and the remaining per-window fields come from the second vv-sing-file specified.
-use-new-format
requests new format for residue identification fields. This is the default.
-use-old-format
requests the original format (without chain ID) for residue identification fields.
raw-vv-pair-file
raw pairwise output from the calculate-vv-all program (format undocumented).
los-file
VV line-of-sight environment output, in hyperenv file format.
-verbose
enables debugging output. If repeated, enables copious debugging output.
Some source of secondary structure information is required, as los.pl filters the raw pairwise contact information based on secondary structure, in the following way:
  1. Both residues must be in either a helix or strand (i.e. neither can be a loop), and
  2. If both residues are in the same segment, then
  3. Otherwise, residues in different segments are considered to interact if and only if they "see" each other, as computed by the calculate-vv-all program using the "line-of-sight" algorithm and transmitted through the raw-vv-pair-file input.

To construct standard BMERC line-of-sight files, one must supply the DSSP secondary structure definitions in the -seg-file argument, and specify the -vv-sing argument twice: first with a 14Å singleton file, then with a 7.5Å singleton file.


make-los-depends.pl

The make-los-depends.pl script takes a list of core names and produces on the standard output the appropriate rules that tell the Unix make utility how to create the raw "visible volume" [need hyperlink] singleton and pairwise data files. ("LOS" stands for "line-of-sight", which is another name for the pairwise file.)

Like make-mrf-depends.pl, make-los-depends.pl bristles with options, so that every aspect of file generation can be customized, but using the defaults works well for most cases. The important arguments are -core-list-file, which is identifies the model set; and -search-path, which allows make-los-depends.pl to find files in other directories.

Arguments:

make-los-depends.pl does not support any idiosyncratic arguments. See the "Dependency file generator arguments" section for details of common arguments.

make-los-depends.pl file types

The following table contains an alphabetical listing of all file types supported by make-los-depends.pl, together with their default prefix, suffix, and macro name values. Note that make-los-depends.pl needs to know about segment definition files because they are required for constructing "hyperenv" (line-of-sight) files, though they are expected to be found in another directory on the search path.

File Type File name prefix/suffix/macro/make state args & defaults Description (with file format)
Invocation macro name and default(s)
abbrev-dssp -abbrev-dssp-file-prefix ''
-abbrev-dssp-file-suffix '.ent.out'
-abbrev-dssp-macro abbrev-dssp-files

-path-abbrev-dssp-files
Abbreviated DSSP file; file naming is based on the PDB entry.
GENERATE-DSSP = generate-dssp
core -core-file-prefix ''
-core-file-suffix '.core'
-core-macro core-files

-path-core-files
Core file.
MAKE-CORE = make-core.pl
MAKE-CORE = make-domain-core.pl
exposure -exposure-file-prefix ''
-exposure-file-suffix '.nexp'
-exposure-macro exposure-files

-path-exposure-files
Eisenberg "fat ALA" exposure (.nexp) file.
GENERATE-EXPOSURE = efa.pl
GENERATE-EXPOSURE = generate-exposure
gmt-env -gmt-env-file-prefix 'singleton_environments_MRF_'
-gmt-env-file-suffix '.dat'
-gmt-env-macro gmt-environments

-path-gmt-env-files
GMT environment file (singleton environment format).
MRF-GMT-ENVS = mrf-envs
hyperenv -hyperenv-file-prefix 'env_'
-hyperenv-file-suffix '.pair'
-hyperenv-macro line-of-sight-files

-make-hyperenv-files
Line-of-sight pairwise contact information (for VVenv); file naming is based on the PDB entry and chain ID.
LOS = los.pl -use-old-format
pdb -pdb-file-prefix ''
-pdb-file-suffix '.ent'
-pdb-macro pdb-files

-path-pdb-files
PDB file.
seg -seg-file-prefix ''
-seg-file-suffix '.dssp'
-seg-macro segment-files

-path-seg-files
Segment definition file.
MAKE-SS-DESIGNATIONS = make-ss-designations
seq -seq-file-prefix ''
-seq-file-suffix '.seq'
-seq-macro sequence-files

-path-seq-files
Sequence (IG) file.
MAKE-SEQ-FILE = make-seq-file.pl
MAKE-SEQ-FILE = pdb-domain-seq.pl
vv-data -vv-data-file-prefix ''
-vv-data-file-suffix '_vv'
-vv-data-macro vv-data-files

-local-vv-data-files
Raw "line-of-sight" pairwise contact information (for VVenv); file naming is based on the PDB entry and chain ID.
VV-DATA = calculate-vv-all ${NORMALISATION} -distance ${DISTANCE} . . .
vv-singleton -vv-singleton-file-prefix ''
-vv-singleton-file-suffix '_bb.singl'
-vv-singleton-macro vv-singleton-files

-make-vv-singleton-files
VVenv singleton definitions; file naming is based on the PDB entry and chain ID.
VV-BB-SINGL = vv-bb-singl.pl


make-vvenv-depends.pl

The make-vvenv-depends.pl script takes a list of core names and produces on the standard output the appropriate rules that tell the Unix make utility how to create the VVenv [need hyperlink] score and environment files.

Like make-mrf-depends.pl, make-vvenv-depends.pl bristles with options, so that every aspect of score/environment file generation can be customized, but using the defaults works well for the simplest case of producing scores for a new core library. See elsewhere for a simple example of make-mrf-depends.pl usage. The important arguments are -core-list-file, which is identifies the model set; and -search-path, which allows make-vvenv-depends.pl to find files in other directories. For more complicated cases, one can either (a) modify one of the examples [give link]; (b) pipe the output of make-mrf-depends.pl through (e.g.) a sed or awk script that makes the required changes; or (c) hand-edit the results of running with default parameters (though this does make it more difficult to change the model set).

Arguments:

See the "Dependency file generator arguments" and "MRF-specific dependency generator arguments" sections for details of common arguments.

-use-pairwise-envs
-use-pair-envs
makes counts from pairwise (unfiltered) line-of-sight environments.
-use-count-envs
makes counts from "counting" (filtered) line-of-sight environments (this is the default).
-use-weighted-scores
specifies that pairwise scores are to be made from a weighted version of filtered and nonfiltered counts. See below for details.

make-vvenv-depends.pl file types

The following table contains an alphabetical listing of all file types supported by make-vvenv-depends.pl, together with their default prefix, suffix, and macro name values.

File Type File name prefix/suffix/macro/make state args & defaults Description (with file format)
Invocation macro name and default(s)
abbrev-dssp -abbrev-dssp-file-prefix ''
-abbrev-dssp-file-suffix '.ent.out'
-abbrev-dssp-macro abbrev-dssp-files

-path-abbrev-dssp-files
Abbreviated DSSP file; file naming is based on the PDB entry.
GENERATE-DSSP = generate-dssp
core -core-file-prefix ''
-core-file-suffix '.core'
-core-macro core-files

-path-core-files
Core file.
MAKE-CORE = make-core.pl
MAKE-CORE = make-domain-core.pl
count-env -count-env-file-prefix 'vvenv_ce_'
-count-env-file-suffix '.dat'
-count-env-macro counting-environments

-local-count-env-files
Singleton environment file.
VV-COUNT-ENVS = vv-envs.pl -ss6 \
    -contact-defs env6-04apr98.pcv
counts -counts-file-prefix ''
-counts-file-suffix '-vvenv.cnt'
-counts-macro core-counts

-local-counts-files
Counts file.
MRF-COUNTS = mrf-counts
edge-env -edge-env-file-prefix 'vvenv_ee_'
-edge-env-file-suffix '.dat'
-edge-env-macro edge-environments

-make-edge-env-files
Edge environment file (pairwise environment format).
VVENV-PAIR-SCORES = vvenv-pair-scores.pl -ss6 -contact-defs ${contact-def-file}
edge-score -edge-score-file-prefix 'vvenv_es_x_'
-edge-score-file-suffix '.dat'
-edge-score-macro edge-scores

-make-edge-score-files
Edge score file (pairwise score format).
VVENV-PAIR-SCORES = vvenv-pair-scores.pl -ss6 -contact-defs ${contact-def-file}
exposure -exposure-file-prefix ''
-exposure-file-suffix '.nexp'
-exposure-macro exposure-files

-path-exposure-files
Eisenberg "fat ALA" exposure (.nexp) file.
GENERATE-EXPOSURE = efa.pl
GENERATE-EXPOSURE = generate-exposure
gmt-env -gmt-env-file-prefix 'singleton_environments_MRF_'
-gmt-env-file-suffix '.dat'
-gmt-env-macro gmt-environments

-path-gmt-env-files
GMT environment file (singleton environment format).
MRF-GMT-ENVS = mrf-envs
gmt-score -gmt-score-file-prefix 'singleton_scores_x_MRF_'
-gmt-score-file-suffix '.dat'
-gmt-score-macro gmt-scores

-local-gmt-score-files
GMT score file (singleton score format).
MRF-GMT-SCORES = mrf-scores \
    -gmt-marginal-file mrf.msd \
    -min-pair-count 4
hyperenv -hyperenv-file-prefix 'env_'
-hyperenv-file-suffix '.pair'
-hyperenv-macro line-of-sight-files

-path-hyperenv-files
Line-of-sight pairwise contact information (for VVenv); file naming is based on the PDB entry and chain ID.
LOS = los.pl -use-old-format
loop-score -loop-score-file-prefix 'vvenv_ls_x_'
-loop-score-file-suffix '.dat'
-loop-score-macro loop-scores

-make-loop-score-files
Loop score file.
MRF-LOOP-SCORES = mrf-scores -poisson -normalize
pairwise-env -pairwise-env-file-prefix 'vvenv_pe_'
-pairwise-env-file-suffix '.dat'
-pairwise-env-macro pairwise-environments

-local-pairwise-env-files
Pairwise environment file.
VV-PAIR-ENVS = vv-envs.pl -ss6 \
    -contact-defs env6-04apr98.pcv
pairwise-score -pairwise-score-file-prefix 'vvenv_ps_x_'
-pairwise-score-file-suffix '.dat'
-pairwise-score-macro pairwise-scores

-local-pairwise-score-files
Pairwise score file.
MRF-PAIR-SCORES = mrf-scores -pair-poisson 1
pdb -pdb-file-prefix ''
-pdb-file-suffix '.ent'
-pdb-macro pdb-files

-path-pdb-files
PDB file.
seg -seg-file-prefix ''
-seg-file-suffix '.dssp'
-seg-macro segment-files

-path-seg-files
Segment definition file.
MAKE-SS-DESIGNATIONS = make-ss-designations
seq -seq-file-prefix ''
-seq-file-suffix '.seq'
-seq-macro sequence-files

-path-seq-files
Sequence (IG) file.
MAKE-SEQ-FILE = make-seq-file.pl
MAKE-SEQ-FILE = pdb-domain-seq.pl
singleton-env -singleton-env-file-prefix 'mrf-se-10efa-2ss-'
-singleton-env-file-suffix '.dat'
-singleton-env-macro singleton-environments

-local-singleton-env-files
Singleton environment file.
MRF-SING-ENVS = mrf-envs
MRF-SING-ENVS = sing-envs.pl
singleton-score -singleton-score-file-prefix 'vvenv_ss_x_'
-singleton-score-file-suffix '.dat'
-singleton-score-macro singleton-scores

-make-singleton-score-files
Singleton score file.
MRF-SING-SCORES = mrf-scores -poisson -normalize
vv-data -vv-data-file-prefix ''
-vv-data-file-suffix '_vv'
-vv-data-macro vv-data-files

-path-vv-data-files
Raw "line-of-sight" pairwise contact information (for VVenv); file naming is based on the PDB entry and chain ID.
VV-DATA = calculate-vv-all ${NORMALISATION} -distance ${DISTANCE} . . .
vv-singleton -vv-singleton-file-prefix ''
-vv-singleton-file-suffix '_bb.singl'
-vv-singleton-macro vv-singleton-files

-path-vv-singleton-files
VVenv singleton definitions; file naming is based on the PDB entry and chain ID.
VV-BB-SINGL = vv-bb-singl.pl

make-vvenv-depends.pl "weighted" scores

[this was introduced on 8-Jul-98, but has proved not to be useful, so will probably be removed in the future. -- rgr, 25-Aug-98.]

If -use-weighted-scores is specified, the "los-counts" file type is also defined, and the defaults for the -pairwise-score-file-prefix is modified.

File Type File name prefix/suffix/macro/make state args & defaults Description (with file format)
los-counts -los-counts-file-prefix ''
-los-counts-file-suffix '-los-vvenv.cnt'
-los-counts-macro core-los-counts

-local-los-counts-files
"Line-of-sight" counts file.
pairwise-score -pairwise-score-file-prefix 'vvenv_ps_wt_x_'
-pairwise-score-file-suffix '.dat'
-pairwise-score-macro pairwise-scores

-local-pairwise-score-files
Pairwise score file.


Bob Rogers <rogers@darwin.bu.edu>
Last modified: Mon May 1 20:29:24 EDT 2000