Glossary

Available commands: $(Pn) , command interpretation , {subcommand} , Special characters , unix_version and array dimensions .

$(Pn)

$(Pn) is not a command. One can use $(P1), ... $(P8) as virtual parameters when writing a macro (.edp) file. While calling a macro file, one may supply the parameters after the file name. The first parameter will substitute $(P1), and so on. In this way $(p1), $(p2) ... $(p8) can be defined. An alternative way to define $(Pn) is to use the PARAMETER command. A $(Pn) definition will hold until being re-defined.

One predefined parameter, file1, is initially defined to be the name of the (1st) input PDB file by EDPDB. Other parameters can be defined with the PARAMETER command.

On the terminal, one can see how the $(parameter) is substituted with the real parameter within a macro. A comma following a space can be used to retain the old definition of a parameter while other parameters are being changed. A text string enclosed within a pair of single quotation marks (' ') is considered as a single parameter.

$(Pn) can only be used in a macro.

See also: PARAMETER and @macro_file

Examples:
1) The following commands form a macro file. It can be used to calculate the chi-I angle of any amino acid residue which has a CG atom.

      ! chi_cg.edp
      initial
      dfabcd n ca cb cg 0 0 0 0 t t t t -180. 180.
      residue $(p1)
      abcd
For example, it can be used to calculate the chi-I angles of all Leu residues or all Phe residues. Note that $(p1) is substituted with leu and phe, respectively.
      @chi_cg leu
      @chi_cg phe

command interpretation

1) An input EDPDB command is first converted into lower case text string, unless the environmental parameter tolower has been set to off explicitly by the user.

2) For each input line, the command input is terminated by the first occurred semicolon (;), the exclamation mark (!) or .

3) If the command is read from a macro file, the $(Pn) is substituted with the real parameter if proper. The substitution is repeated until there is no $(Pn) in the input statement or the number of substitution exceeds nine (9). It is recommended to not use cross reference among the $(P1) ... $(P8). If the command is read from the system input device, this step is skipped.

4) The leading keyword is checked against the user-defined keyword list, followed by keyword-alias substitution if proper. This step is repeated until the first keyword is not in the list of user-defined keywords.

5) It is checked whether a macro file is to be called. If yes, $(Pn) parameters may be defined using the input that follows the macro file name. Then the macro file is opened, and the command interpretation finishes. If the answer is no, it continues.

6) The keyword is checked against the built-in dictionary, and a command is issued if proper.

7) The command will be hung up if a {subcommand} is met where it is proper.

8) The subcommand will go through steps 4-7. When the subcommand finishes, it returns the control to its parent command, and the parent command continues.

9) After the command finishes or some error is encountered, the program is ready for the next input.


{subcommand}

A subcommand is usually a selection command. The combination of a subcommand and its parent-command is called a nested command. The selection result of the subcommand is piped to its parent command. For most parent commands, the effect of records piped from a subcommand is the same as the effect of all input records on the non-nested command. A logic AND selection can be made from this kind of nested command. The exceptions are the GROUP and MORE commands; for these two commands, the records piped to them act the same as the ON atoms do to the non-nested GROUP and MORE.

Syntax:
parent_command FROM {subcommand}

Note:
1) A subcommand should be enclosed with a pair of braces ({ }). The subcommand connects with its parent_command through a keyword FROM.The keyword FROM plus a subcommand is one form of so called FROM phrases. In other forms of FROM phrases, a group_id or zone information can be used to replace the subcommand. The information input after the keyword FROM in a FROM phrase will be interpreted as a group_id first; if the corresponding group does not exist, it will be interpreted as zone information; if unsuccessful, it will be interpreted as a subcommand.
2) A subcommand may have its own subcommand. The maximum number of nest levels is 10.
3) A subcommand is completely independent of the current ON atoms, while the top level parent command may modify the ON atom buffer.
4) A subcommand can not repeat *any* of the upper level commands, otherwise the result of the recursive commands is unpredictable.

See also: GROUP

Examples:
1) Select Ca atoms of Gly residue.

      Ca from { residue gly }
  or
      initial
      residue gly
      group tmp
      initial
      ca from tmp
2) Define the backbone atoms as a group named bb.
      group bb from { main }
  or
      initial
      main
      group bb

3) Select all amino acid residues. more from { ca } or initial ca more

4) Select ca atoms from the group tmp.
      ca from tmp
  or
      ca from { load tmp }

5) Select Cb atoms from residues a1 through a99. atom cb from a1 - a99 ; the input of a1 - a99 is interpreted ; as zone information, assuming that ; there is no group called a1. or atom cb from { zone a1 - a99 } or initial zone a1 - a99 group tmp initial atom cb from tmp

6) Select the sulfur atoms of Methionine which are of B < 20.0.
      atom S* from { residue Met from { B < 20.0 }}
  or
      initial
      b < 20.0
      group tmp
      initial
      residue Met from tmp
      group tmp
      initial
      atom s* from tmp

Special characters

@
executing a macro file.

:
define a single character symbol for a residue (see DFRES ); define a label statement.

'
delimiter of a parameter.

< and >
less than and greater than in X,Y,Z, W and B commands.

\
end of a command used to separate multiple commands on one line.

|
used as a part of the pipe mechanism.

{ }
used as a part of the pipe mechanism ; or enclose a subcommand.

/?
ask for HELP on a specific command.

=
define PARAMETER.

:=
assignment (define ALIAS).

* and %
wildcard in the selection command ATOM and VMS on-line help.

; and !
start comment.

$(...)
virtual parameter.

-
a hyphen, short cuts for ` TO ' in the zone information; used as a decrement sign in a PARAMETER command.

+
specify an unusually large search radius in the MMIG command; used as an incremental sign in a PARAMETER command; used in a relative or a complex residue_ID.

_
an underscore. It is used to replace a space, eg. within an atom name or in a complex zone definition. In a READ statement, in the position of a chain name, an underscore deactivates the corresponding chain name substitution.


unix_version

The unix version of EDPDB (u95a) runs differently from the VMS version (V95A) in the following aspects.

1) In the unix version, to input a file name of upper case letters, the environmental parameter tolower should be to off.

2) There is no automatic job mode checking in the unix version. The default job mode is interactive.

3) Some unix systems do not allow creating a sub-propress. On these systems, commands HELP, C, SYSTEM will not work.


Array dimensions

maximum number of atoms
	max_atom= 40 000	
maximum number of residues
	max_res= 8 000		
maximum number of symmetry operators
	max_symm=48
maximum number of groups
	max_gr=40
maximum number of vectors
	max_vector=20
maximum number of zones selected in one command line
	max_num_zones=32
maximum number of characters input in one line
	max_num_chars=132
maximum dimension of the map section used by the VOLUMN command
	max_map=256
maximum dimension of the matrix used by the CLIQUE command
	max_l=300
maximum number of atoms defined as main chain atoms
	max_m=20	
maximum number of parameters
	max_param=20
	max_reserved_param=8
maximum number of user-defined keywords
	max_udks=10

Copyright 1995, Cai X.-J. Zhang, All Rights Reserved.