HLPWWW (Version 8.7) JESS copyright (C) 1985-2019
Licensee : Webmaster, Murdoch University, Australia
Welcome. Monday, 24-Jun-24  5:15
A wide range of general facilities have emerged during the
development of JESS either because they were required behind the
scenes to achieve the objectives of the system or because they seem
useful and have been relatively easily developed with the available
computer code. Some have been produced in the search for the most
appropriate techniques to use in JESS and others for testing purposes.
The outcome has been that JESS now includes a variety of programs
which are not specifically involved in the main purposes of JESS
but which may, nevertheless, be helpful to you in your everday work.
You can find out about these facilities by searching the index
for "miscellaneous".

Various facilities exist within JESS which utilize an (English) dictionary. You can inspect the dictionary using program VEWDIC. You can have a file of text checked for spelling using program CHKWRD. The dictionary information for these purposes is held in a JESS Indexed File (JIF) called ENGDIC.USE and usually located in the JESS directory VEWDTA/. This JIF is created from a sequential file of words held in the JESS directory DEVDTA/ using program MNTDIC. Program UPDDIC is used to extend and correct the dictionary. However, neither MNTDIC nor UPDDIC are generally used by anyone except us, the JESS developers. Note that the dictionary is taken from the public domain and that it is thus deficient in certain respects, lacking particularly in technical vocabulary.
Supplied with JESS are three thesuari covering the fields of chemistry, mathematics and computer science. They contain terms that are relevant or related to solution chemistry and JESS in particular - no attempt is made to be completely general in any of the three subject areas. The main purpose of the JESS thesauri is to standardize the use of keywords for our literature reference database and to define certain relationships between the keywords. Consult the index searching for "keywords" to obtain further details. You can inspect these three thesauri by using programs WRTTHS and VEWJTF (or PRTJTF). This involves the production of an intermediate file in your current working directory. This may be a simple (one column) ASCII file (which can, of course, be viewed or printed directly). However, it is generally more convenient to have WRTTHS generate a JESS Pre-formatted file, that can then be viewed using VEWJTF or converted into a file for printing using PRTJTF. Consult the index searching for "text + format" (without quotes) to obtain more details about the pre-formatted file approach. The thesauri information for these purposes is held in JESS Indexed Files (JIFs) called CHMTHS.USE, MTHTHS.USE and CPSTHS.USE. These JIFs are usually located in the JESS directory VEWDTA/. They are created from sequential files of data held in the JESS directory DEVDTA/ using program MNTTHS. Program UPDTHS is used to extend and correct the thesauri. However, modifications to the existing JESS thesauri in chemistry, mathematics and computer science are only made by us, the JESS developers. The JIFs should be located in VEWDTA/ at the time JESS is installed and, again, should normally not concern you. Search the index for "thesaurus development" for information about how you to develop your own thesauri if you wish to do so.
JESS supports a number of thesauri (in chemistry, mathematics and computer science) and it has facilities to develop these and others in the future. You may create and manage your own thesauri. The JESS management system automatically updates all the reciprocal relations established in the thesaurus whenever a new term is entered or an existing term is modified. The sub-system comprises seven programs: CRETHS - to create a new thesaurus file UPDTHS - to insert new terms and modify existing ones WRTTHS - to produce a file of output to print or display MNTTHS - to mount the thesaurus JIF from a *.ARC seq. file DMTTHS - to dismount the JIF, producing a *.ARC seq. file FIXTHS - to "unlock" the JIF after premature program termination CHKTHS - to check the integrity of the thesaurus JIF These programs conform to the general approach used for all JESS databases. Consult the index searching for "database housekeeping" (without quotes) to obtain more information if required. Building a thesaurus requires many decisions to be made and recorded which lead to an internally consistent and sensible structure. This, in turn, requires standardization. Consult the index searching for "thesaurus + rules" (without quotes) for details about how to accomplish this.
Terms should be selected for inclusion in a thesaurus based on your judgement of how useful they are in communication, indexing and retrieval of information. Consider the relative frequency with which they are used, their relationships to terms that have previously been selected and their scientific/technical precision and acceptability. These factors tend to be interdependent so need to be addressed simultaneously. Our standard approach attempts to adhere to the following rules. * Try to keep the terms short (less than 28 characters is best!) * Use nouns wherever possible; never use verbs. * Use the singular except with general nouns for things that are countable. * Use the natural order of words (rather than re-arranging this to emphasise categories) * Avoid punctuation. * Avoid abbreviations Relationships amongst terms in a thesaurus are manifested by cross-references of the following types. Cross-references Symbol Preferred Term PT Used For UF Broader Term BT Narrower Term NT Related Term RT
You can correct formation constants and solubility products from one temperature to another (in the range 0-100C) and from one ionic strength to another using the program FCCUTL. These methods are also used implicitly during the GEM stage calculations when the universal correction coefficients (UCCs) are evaluated. Program FCCUTL also allows activity coefficients to be calculated and it provides Debye Hueckel parameters (A/ln(phi) and B) as a function of temperature and pressure. Program TSTH2O gives values of A/lg(gamma) and B for both the molar and molal concentration scales. Temperature corrections If an enthalpy is known and is assumed to be constant over the range of temperature, the integrated form of the van't Hoff equation can be used. ln{K(T2)/K(T1)} = dH0.{1/T1 - 1/T2}/R Alternatively, if the heat capacity change dCp0 is constant and dH0 is known at T1, then ln{K(T2)/K(T1)} = dH0.{1/T1 - 1/T2}/R + dCp0{T1/T2 - 1 - ln(T1/T2)} Ionic Strength corrections If you only know the equilibrium constant at a single ionic strength you must rely on one of the Debye-Huckel models in order to estimate the constant at another ionic strength. This is of limited value but is the only practical option available. If more than one constant is known, a least squares analysis can be performed and the required estimate then obtained by interpolation or extrapolation. Two formulae are used for these purposes. The first is linear and is applied to species in solution that are electrically neutral or classified as "ion pairs". This has the form -lg(gamma) = cI where c is an empirical constant selected as follows Species type c value General neutral species empirical Neutral binary-univalent ion pair -0.1 Neutral binary-bivalent ion pair -0.5 General neutral non-ion pairs -0.1 General neutral ion pairs -0.3 Unit charged ion pair -0.3 The second formula is an extended form of the Debye-Huckel equation. -lg(gamma) = {A.z**2.(I)**0.5}/{1 + B.a0.(I)**0.5} + cI A and B are the fundamental Debye-Hueckel constants. Suitable choices of "a0", the distance of closest ionic approach, and the empirical parameter "c" provide a variety of forms that can be used. Keiland has suggested values for a large number of ions. Other approaches encompassed by this form of the eequation are as follows. a0 value c value Equation 0 0 Debye-Hueckel limiting law emp 0 Debye-Hueckel 1/B 0 Guntelberg 1/B 0.3Az**2 Davies emp emp Hueckel / Murray-Linder z+3 -0.041 Helgeson In correcting equilibrium constants for ionic strength during the GEM stage calculations, the JESS default is to use the linear formula for neutral solution species and the Murray-Linder equation for other solution species. Consult the index searching for "UCC" (without quotes) and for "activity + coefficient" to obtain more detail on this topic.
You can perform a variety of general procedures in mathematics and numerical analysis using program MTHUTL. Consult the description of the program by searching for "MTHUTL" (without quotes) to obtain further details. The preferred methods for solving equations in JESS are as follows. Linear equations - Crout factorization (LU decomposition) or Singular value decomposition (SVD) as appropriate Non-linear eqns. - Gauss-Newton method (when function derivatives are available) or Nelder-Mead method (if not). These seem satisfactory for our purposes but may not be optimal - see "Numerical Recipes" by W.H. Press et al., 2nd Edn., Cambridge Univ. Press, 1992 for a comprehensive discussion.
You can obtain a variety of general information in chemistry using program CHMUTL. Mostly, this is based on the Periodic Table (chemical symbols, molecular masses etc.) but it also includes Debye-Hueckel limiting law slopes as functions of temperature and pressure (e.g. A-phi for osmotic coef.) Consult the description of the program by searching for "CHMUTL" (without quotes) to obtain further details.
You can perform a specific calculation of the molecular formula and molecular mass of peptides using program PEPTID. Consult the description of the program by searching for "PEPTID" (without quotes) to obtain further details.
For all but the most advanced users, interactions with resident data are carried out transparently (e.g. by the GEM stage programs). However, a sub-system to manipulate resident data independently also exists. This comprises five programs: CRERSD - to create a new resident data file set UPDRSD - to modify an existing resident data file set MNTRSD - to mount resident data from a seq. file ALLRSD.ARC DMTRSD - to dismount resident data producing ALLRSD.ARC FIXRSD - to "unlock" after premature program termination Avoid using these programs unless you are a true, blue JESS expert!
The data objects stored in resident data exist in a hierarchy known as a tree structure. (This can be a little confusing since such trees are often pictured upside down, starting at the top and branching downwards! However, the orientation is unimportant: concern yourself only with the relationships between the "nodes" of the tree, i.e. the points of intersection of the branches.) Starting from the origin (called the root), each node may (or may not) branch outwards to "descendents", of which there can be several. However, apart from the root (which obviously has none), each node has but a single parent. It is this property of the tree structure which makes it easy to find your way around the data: at each level the child nodes represent how the remaining information has been divided and classified. Node names In the JESS resident data, each node is identified by a name that establishes its position in the tree hierarchy. Nodes can be specified in two ways, either relative to the current node or relative to the root. The latter names are said to be "absolute". In both cases, as one branches outward, each successive node is associated with an identifier (any alphanumeric string) that is unique at that level, i.e. unique amongst that node's siblings. Thus, node names comprise successive identifiers separated by oblique characters. When entering these identifiers, you can abbreviate them by truncation in the usual JESS manner (except, of course, when you are creating a data object and hence specifying the node name for the first time). If such abbreviations are ambiguous, the first match is assumed. Each oblique character in the name represents a change of level, as the tree is traversed away from the root. For example, September/19/Message A would refer to a node name three levels down from the current node. "September" is the identifier of the child node; "19" is the identifier of the grandchild node; and, "Message A" is the identifier of the greatgrandchild node. Absolute node names are prefixed by an oblique character. In the above example, if the current node was called "1986" and was itself just one level below the root, the same greatgrandchild node could be referenced by /1986/September/19/Message A Note that the root can be referenced directly by using a single oblique character. This has the same effect regardless of the current node status. Since the identity of parent nodes is always unambiguous, it is possible to reference them without explicitly specifying their names. This is indicated by prefixing a relative node name with an appropriate number of "less than" characters, <. Hence another way to specify the root in the above example would be as "<". This method of referring to parent nodes is especially useful when one wishes to specify a node on another branch of the tree. Thus if the current node had the following absolute name /1986/September/19 it would be possible to specify the node corresponding to a day one calender month earlier as <<Aug/19 The first < implies "from 19 go back to September" and the second < "go back to 1988"; then "select August and finally 19". An advantage of this means of referencing is that the identifier of the parent need not be known. Attempts to use this mechanism to address (non-existent) nodes above the root are not permitted!
JESS makes use of a special set of commands for text formatting. These are imbedded in the files of output produced by many JESS programs. (These commands all begin with a period in the first column followed by three uppercase letters.) The advantage of this approach is that the output file can then be processed in general ways, either to be displayed interactively at a VDU or printed. Differences in the size of VDU screens and of printed pages make it difficult to generate aesthetic output otherwise. Files of output which contain these formatting commands are called "pre-formatted" files. They always have the name extension ".TXT". You should not display or print these files directly (unless you choose to ignore the imbedded format commands - yeech!) but instead use program VEWJTF to view the file interactively or program PRTJTF to produce a file (with file extension ".OUT") that is suitable for printing. Consult the index searching for "set + lines" (without quotes) to find out how the number of lines of output, printed or displayed interactively, can be controlled by you.
Molecular masses are specified throughout JESS by a string of element symbols each immediately followed by the stoichiometric number for that element in parentheses. For example, 'H(3)N(1)' for ammonia. Alphabetic casing is not important. Coefficients in parentheses are mandatory (even if the coefficient = 1). You may enter molecular masses with the elements in any order and even specified more than once. However, a standardised arrangement is used by JESS for output and (internal) searching purposes. No element then appears more than once; the order follows the Hill system (JACS,1900, 22(8),478-94): (a) For C-containing compounds - C first, followed by H (if present), then the remaining element symbols alphabetically. (b) For compounds without C - alphabetically by element symbol. You may enter (i) isotopes in the form of the element symbol immediately followed by the mass number (e.g. C13) (ii) integral or real coefficients (+ or -) and (iii) up to 20 different elements/isotopes. By convention, the electron is entered as a species comprising the imaginary element 'E'. This imaginary element may also be used for species with indeterminate molecular masses such as proteins or humic substances.
Pourbaix (Eh-pH) diagrams are often used to represent the redox transformations of chemical systems, particularly of elements, as functions of redox potential (Eh) and pH. JESS has two facilities to help with this task. Consult the documents provided in the ...\JesDoc\Manuals\Users\Useful folder.