The Discover Program - Introduction and Overview
Click to jump to:
Using the Discover Program through
the Insight Interface
- Specific Methodology - general procedures for using the
Discover program in the Insight environment (please see
the printed User Guide).
- Tutorial -
demonstration of how to use the Discover program in a series of
lessons.
- Complete Command Descriptions - the help files are accessible via
the help icon in the
Insight interface.
Running the Discover Program in
Standalone Mode
A Discover run can be set up in a standalone manner, completely
outside the Insight environment. To do this, you need three
files:
- An input file (run_name.inp, where run_name is your
name for the calculation) containing BTCL commands to control the
calculation.
- Two files describing the molecular system (run_name.mdf
and run_name.car).
The molecular system files specify system periodicity (nonperiodic, 2D
periodicity, 3D periodicity), system symmetry (if any), atoms, atom
types, atom coordinates, and bonds.
The documentation includes:
The BTCL Language
What is BTCL?
BTCL is a general-purpose script language which supports BTCL commands
and user scripts.
How is BTCL Used?
BTCL commands are used to set up and control Discover
simulation runs. They are based on procedures in the BTCL language
which access Discover functionality. For more detail and
examples see:
Overview of BTCL Commands
The primary BTCL commands are calculation commands: energy, minimize, and dynamics. As the names suggest,
energy performs a single energy and energy derivative
evaluation, minimize modifies atom coordinates to minimize
energy, and dynamics performs a simulation of molecular
dynamics.
Commands for Calculation Setup and
Analysis
Calculations are set up through the use of commands for input (begin, readFile, reset), output (output, print, writeFile), and control (atomMovability, energyContribution, forcefield, restraint, pseudoAtom). Analysis commands
(analysis, diffraction, vibrationalAnalysis)
allow you to perform additional analysis of output results. The peek command can be used to monitor
the progress of minimization and dynamics calculations.
The BTCL commands begin, readFile, and reset all
read information into the Discover program from external files.
The begin command is generally
placed at the start of a run_name.inp file to read in the
molecular data files and a forcefield file (see printed User Guide for
forcefield discussion). The readFile command is used to read
in a data file created by a previous Discover or Insight
run (e.g., a coordinate snapshot from an archive file). It also allows
you to work with multiple systems. The reset command is used to reread the
molecular data files and forcefield. All information associated with
the current molecular system (e.g., coordinates, energy expression) is
lost with this command. However, the settings of command defaults
(e.g., for dynamics) are
unchanged.
The output command specifies
amount of output desired. The print command (which must be part of
a minimize or dynamics command) generates
output of system properties to various file types. The writeFile command is used to
write a data file that can be read by subsequent Discover or
Insight runs.
The atomMovability
command allows you to fix the position of an atom or disregard its
contribution to total energy throughout a calculation. The energyContribution
command allows you to specify energy contributions of your own design.
The forcefield command
allows you to select a forcefield and tailor the contributions of
built-in energy terms. In particular, it allows selection of a
specific nonbond method (e.g. cell multipole). The restraint command allows you to
impose distance, torsion, or angle restraints of various forms on
selected atoms. The pseudoAtom command allows you
to create collections of atoms which are to be treated as individual
atoms.
Defining and Using Your Own Procedures
One of the most useful features of BTCL version 95.0 is that you can
quickly define and use
your own procedures. Procedures defined in files named
filename and located in the current directory of the
Discover run are automatically accessible. Procedures defined
in any other files may be used by including:
source filename
in the run_name.inp file. Here, filename is the full
path to the procedure-definition file.
Interpretive script languages are convenient for user applications.
It is generally true, however, that they do not provide high
performance. To address this issue, BTCL provides low-level commands,
geometry and vector, that support
high-performance, low-level geometric and mathematical manipulations.
These commands operate on arbitrary lists of scalars or coordinates
with performance comparable to that of compiled code. This allows you
to construct your own analysis and energy terms for incorporation into
the Discover program. Vector operations currently employ a
function-call interface.
If you would like to avoid dealing with geometric and mathematical
details, a higher-level command (molGeom) allows you to work
directly with molecules, monomers, atoms, and their relationships.
molGeom employs some of the same performance enhancement
techniques as geometry and vector. There is a bit more
overhead involved in the use of molGeom, but its performance
should be fine for most purposes. You will probably want to work
first with molGeom, and employ the lower-level commands only as
necessary. The molGeom command can be used to get and set
geometric properties of molecules, such as the coordinates of atoms,
bond lengths, bond angles, etc.
Information that is read into the Discover program is organized
into databases for subsequent use.
Each distinct molecular system resides in a separate database with the
same name as the molecular system. You can make your own databases
and perform various operations on them (or on the system databases)
with the database
command and database handle
operations. The database command supports database
creation, deletion, and other high-level operations. (Use of the
database command to create or delete system databases is not
recommended.) The database handle operations are an extension of the
database command. They are used to access the data within a
particular database.
In addition to standard database search operations provided by the
database handle operations, there are special data acquisition
operations supported by the following commands:
- select - returns a list of
molecules, monomers, or atoms matching a specification that you
supply.
- subStructure -
returns a list of all the atoms connected to a given atom which are
not also bonded to a second given atom.
The subset command is used to
create or access subsets in a database. A subset is a particular type
of database table which is designed to be compatible with the
mechanism of the select command
as well as with standard database
operations.
The object command is used to
add information to or extract information from a BTCL object. A BTCL
object is, in essence, a list of entries of arbitrary type, for instance,
coordinates. BTCL
objects (of differing types) can be created with various commands,
including object, vector, geometry, molGeom, database, database handle operations, select, and subStructure. A
BTCL object is deleted when the BTCL variable used to store its
identity (or handle) is unset. As noted previously, objects are used
to avoid processing burdensome amounts of data at the BTCL level. The
object name is passed from BTCL to compiled code which deals with the
underlying data.
Exiting a BTCL Session
If you want to end a BTCL session without starting a Discover
run, enter exit, quit, or <Ctrl> d at the BTCL
prompt.
Annotated Outline of the Theory &
General Methodology Documentation
Main access page
Other access.
Copyright Biosym/MSI