Indiana University Bloomington
IUMSC   Indiana University Molecular Structure Center

Download shortep.exe

Original author: J. C. Huffman
Extensive modifications by W. E. Streib and J. C. Bollinger
based on code from ORTEP (Carroll Johnson)

Shortep is a general-purpose program for manipulating crystallographic models. It can read models in SDT or CIF format; perform distance and angle calculations, model rearrangement, and atom renumbering and relabelling; and write models in SDT, CRT, or CSSR format.

shortep [fname]

fname is either a standard IUMSC sdt, or a CIF file.

shortep.t21 (under some conditions)
other files as specified by the user at run-time

Shortep provides an interactive interface to many of the calculational and model-building features of Caroll Johnson's ORTEP program. A variety of additional features have been built into the same interface in response to local needs.

Back to Top

The Atom Designator Code
In order to specify particular atoms in the crystal (which may be related to an input atom by symmetry, but are not necessarily in the input list themselves) SHORTEP uses "atom designator codes" (ADCs). These are numeric codes consisting of five separate components concatenated together:

nn x y z mm
| | | | |__ The number of the symmetry operation applied to atom nn.
| | | | Numbers correspond to the sequence of the listing on the
| | | | input file.
| | | |
| | | |____ z - 5 is the number of unit cell translations applied along
| | | the c crystallographic axis.
| | |
| | |______ y - 5 is the number of unit cell translations along b
| |
| |________ x - 5 is the number of unit cell translations along a
|__________ The sequence number of the atom on the input list from which
this atom is derived.

Thus ADC 155501 specifies the first atom on the input list, transformed by the first symmetry operation (usually the identity). ADC 1466405 specifies the 14th atom on the input list, transformed according to the fifth symmetry operation, and then further tranformed by adding 1 to the fractional x and y coordinates and subtracting 1 from the fractional z coordinate.

Back to Top

Internal Lists
The program maintains two lists of positions, the input list and the atoms list. The input list contains the atoms in order, as read from the input (a very few instructions modify the atomic details on this list). The "nn" portion of every ADC is an index into this list. The atoms list is a list of ADCs. The contents of the atoms list are used in all output and restart instructions, and are modified in various ways by several instructions.

Back to Top

Model Input
Shortep attempts to identify the input file as either an SDT or a CIF by the content of the first few lines. An SDT must have "MSC" as the first three characters of the first nonempty line, and that line must be either the first or second. Input files not recognized as SDT are assumed to be CIF.

SHORTEP does a fairly good job with most syntactically valid CIFs, but it is not a truly general CIF interpreter. Because SHORTEP reads CIFs in one pass, it has a few limitations on the order of the data on the input CIF, and certain data are only handled correctly if looped, even if there is only one loop record. Some problems will be encountered if there is no loop containing atom type symbols, or if that loop does not come before the atoms list. Thermal parameters must come after coordinates, or in the same loop. SHORTEP will give unpredictable results if critical data are missing (such as unit cell parameters), even though a CIF without such would still be syntactically correct (if only of dubious value). SHORTEP correctly handles CIFs with multiple data blocks, offering each in turn to the user as the one to use until one is accepted or all blocks have been offered and rejected. SHORTEP does not handle save frames; otherwise, it is not confused by syntactically valid CIF items or loops which it does not use.

If any non-positive-definite thermal parameters are detected on the input file then the corresponding atom labels are reported to the user.

Previous versions of SHORTEP overwrote the input file under some circumstances; this one does not.

Back to Top

Interactive Input to SHORTEP
SHORTEP input consists of commands followed (often) parameters. All available commands have command numbers, and many of the more commonly used ones also have textual mnemonic codes. The Numbers and mnemonics may be used interchangably.

Back to Top

Shortep Instructions

  • 100-Series (Structure Analysis)

    10x s1 s2 t1 t2 d

    x=1: Interatomic distances
    Lists all distances less than d from atoms between s1 and s2 (inclusive) to atoms between t1 and t2 (inclusive).

    x=2: Interatomic angles
    Lists angles around all atoms s between s1 and s2 (inclusive) to pairs of atoms both between t1 and t2 and closer to s than distance d.

    x=3: Principal axes of thermal motion
    Lists the lengths of the principal axes of atoms between s1 and s2. Parameters t1 t2 and d are ignored.

    s1 and t1 default to 1 if absent, s2 and t2 default to NATOMS (the last atom), and d defaults 2.0.

    "Distance" is a mnemonic for 101, "angle" is a mnemonic for 102, and "listrms" is a mnemonic for 103.

    Back to Top

  • 200-Series (Input Listing)

    2xy i1 i2

    For any x and y, list the atoms i1 through i2 from the input file. If i1 is missing or less than 1 then it defaults to 1. If i2 is less than zero then the absolute value is used; if i2 is missing or zero then the end of the list is used.

    "List" and "atoms" are both mnemonics for 200.

    Back to Top

  • 300-Series (Shortep Options)

    300 (or "offadc") Turn off ADC listing for 100-series instructions.
    301 (or "onadc") Turn on ADC listing for 100-series instructions.

    Back to Top

  • 400-Series(Atoms List Manipulation)

    401 n1 n2 ... nn
    411 n1 n2 ... nn

    n1...nn are ADCs or atom numbers to add to (401) or remove from (411) the atoms list. Atom numbers are distinguished from ADCs by their magnitude; they are converted to ADCs by appending "55501" and then treated just as any other ADCs. If a positive ADC or is followed by a negative one then the pair designate a range of ADCs to add or remove. It is invalid to specify two consecutive negative atom numbers or ADCs.

    402 Display input list statistics

    404 s1 s2 t1 t2 d1 d2 d3
    414 s1 s2 t1 t2 d1 d2 d3

    For each atom from s1 to s2, generate a "box of enclosure" centered on that atom -- a parallelepiped with faces parallel to the unit cell faces and edges of length 2*d1*a, 2*d2*b, and 2*d3*c along the a, b, and c directions respectively. Those atoms from t1 to t2 which lie within any of these boxes are added to the atoms list (404) or
    removed from it (414).

    For example, given a 25 atom model and a dummy atom number 26 at .5 .5 .5,

    404 26 26 1 25 .5 .5 .5

    would generate the complete unit cell.

    405 s1 s2 t1 t2 d
    415 s1 s2 t1 t2 d

    For each atom s from s1 to s2 ALREADY IN THE ATOMS LIST, any symmetry copy of any atom from t1 to t2 which is within d Angstroms of s is added to (405) or removed from (415) the atoms list.
    Caveat: a source atom is only removed if it is too close to another source atom which occurs earlier in the atoms list.

    Back to Top

    406 s1 s2 t1 t2 d

    This instruction is the same as instruction 405, except that after it completes one pass through the original atoms list, it starts another through the new atoms list. It continues until no new atoms are added. This can be used for building up an entire molecule at once. The distinction between 405 and 406 is only relevant if the source and target ranges overlap.

    416 s1 s2 t1 t2 d',

    This instruction is the same as instruction 415, except that if it removes one symmetry copy of a target atom then it removes all symmetry copies of that atom. As with 415, a source atom is only removed if it is too close to another source atom which occurs earlier in the atoms list. Note that this instruction is not a close opposite of 406.

    407 d

    Builds up an atoms list such that no two atoms are closer together than d Angstroms (in any symmetry combination). Atom 1 is automatically added; thereafter, each atom is considered in sequence and added if it satisfies the distance criterion with respect to the atoms already in the list.


    Prevent atom duplication


    Allow atom duplication


    Clear the atoms list

    "Addatom" is a mnemonic for 401, "remove" is a mnemonic for 411, "box" and "boxin" are mnemonics for 404, "expand" is a mnemonic for 405, "nodup" is a mnemonic for 408, "dupok" is a mnemonic for 409, and "clear" is a mnemonic for 410.

    Back to Top

  • 500-Series (Restart)

    5xy [n [i [j]]]

    Constructs a new SDT and then restarts the program using the new SDT as the input.

    If x is --
    0 then no special action
    1 then reset hydrogen atom thermal parameters to 1.0
    2 then reset nonhydrogen atom thermal parameters to 0.5
    3 then reset both hydrogen and nonhydrogen atom thermal parameters
    4 then resequence some or all of the atoms (see below)

    If x < 4 and y is --
    0 or 1 then no special action
    > 1 then append alphabetic symmetry codes to the atom labels

    n: if x < 4 then causes the atoms to be sorted prior to writing; otherwise n is the initial number to use in renumbering

    i: index (in the atoms list) of the first atom to renumber

    j: index (in the atoms list) of the last atom to renumber

    The new SDT constructed by a 500-series instruction is stored in file "shortep.t21". That file is overwritten each time a new 500-series instruction is executed.

    defaults: n=0 if x < 4, n=1 otherwise, i=1, j=latom (last atom)

    "Restart" is a mnemonic for 500.

    Back to Top

  • 600-Series (Symmetry Card Operations)

    600 [n]

    Add (n=0, default) or modify ( a symmetry card. If nonzero, n is the number of the card to modify. The symmetry data entered with this instruction are short form -- only the translations and the diagonal elements of the rotations: tx,rxx,ty,ryy,tz,rzz

    601 [n1 [n2]]

    Display symmetry cards n1 through n2. n1 defaults to 1, n2 defaults to the number of symmetry cards.

    609 [n]

    As for 600, add or modify a symmetry card. This version reads the full symmetry card format.

    Back to Top

  • 700-Series (Thermal Parameter Manipulation)

    704 [n1 [n2]]

    Converts the specified atoms' anisotropic thermal parameters to the equivalent isotropic thermal parameters. n2 defaults to n1 if n1 is positive, or to the end of the list if n1 is missing or nonpositive.
    IMPORTANT: n1 and n2 refer to the input list, not the atoms list. This change cannot be reversed without rereading the input file.

    Back to Top

  • 900 (Help)

    900 [n]

    Requests help. If n is missing or nonpositive then an index is displayed, otherwise the system attempts to provide help for instruction or help option n.

    "Help" is a mnemonic for 900.

    901 (Atom Relabelling)

    901 [i1 [i2]]

    If i1 is present but i2 is missing then i2 defaults to i1. If i1 is missing then it defaults to 1 and i2 defaults to the number of input atoms. The user is prompted for a new chemical symbol; a blank response cancels the renumbering. If a chemical symbol is entered then the user is prompted for a new primary scattering factor; if the response is blank then atomic scattering factors will not be modified. Once the user has responded, the program changes the chemical symbols and (if selected) the primary scattering factor numbers of atoms i1 through i2.

    IMPORTANT: The changes applied by instruction 901 can only be reversed by rereading the input file.

    Back to Top

  • 1000-Series (Analyze and Build)


    1050 [n]

    Both perform comparisons of the input empirical formula to the formula implied by the current model and display the results on the console. The build instruction adds atom number n to the list, then iterates 405 instructions* until no more nonhydrogen atoms are added, then performs one more 405 to add the hydrogen atoms.

    n defaults to 1 if not specified.

    "Analyze" is a mnemonic for 1000, and "build" is a mnemonic for 1050.

    *This routine uses a special internal version of 405 which takes atomic
    radii into account.

    Back to Top

  • 1200-Series (Model Output)

    12xy [n [i [j]]]

    The 1200-series instructions contain all the same subcodes and options as the 500-series instructions, differing only in that they write the model output to a persistant, user-specified, external file. In addition, the 1250 instruction writes the contents of the the current atoms list to a user-specified CRT-format file, and the 1260 instruction writes the entire contents of the input SDT to a CSSR-format file "sdt.cssr".

    "Newsdt" is a synonym for 1201; "newsdtx" is a synonym for 1202; "cart"',
    is a synonym for 1250; and "cssr" is a synonym for 1260.

    Back to Top

  • Origin

    SHORTEP contains partial support for "atom 0" being identified with the origin. It is possible to add, e.g., "55501" to the atoms list, and this will be labeled as "ORIGIN" on any output SDT. Full support of this feature is not assured, but it has stepped up from "undocumented behavior" to "partially supported."

    Back to Top

Indiana University
Indiana University Molecular Structure Center. Chemistry, A421, Indiana University, 800 E, Kirkwood Ave., Bloomington, IN 47405-7102, 812.855.6821
Privacy Policy | ©2021 The Trustees of Indiana University, Copyright Complaints