Maintainer documentation for the Atom Table Generators

The atom tables generators allow WWW users to create tables of atom properties for use when depositing data to BMRB. There are two generators currently available to generator chemical shift data: gen_aa for amino acids and gen_na for nucleic acids; a generator for J-couplings for amino acids is in development.

The atom table generators were developed at BMRB.

Each of the generator scripts consists of three parts: an HTML page, a CGI script, and one or more data files.

The HTML Pages

The HTML pages provide the user interface for the generators. Each page provides a text area to enter the macromolecule's primary sequence, sets of checkboxes and radio buttons to filter which atoms will appear in the tables, checkboxes to filter which monomers will appear, and a checkbox controlling whether or not to include ambiguity code descriptions in the output. The pages are /bmrb/htdocs/elec_dep/gen_aa.html and gen_na.html.

The Scripts

The scripts /bmrb/htdocs/cgi-bin/gen_atom_list and gen_nuc_atom_list are both written in PERL. Each script does some sanity checking on the user input and filters the the list of monomers before starting to generate the output HTML. It then builds the list of desired atoms, reads the data files to load internal lists of what atoms a monomer contains, and prints the document header, possibly containing the description of ambiguity codes. The script then loops through the primary sequence, printing desired atoms for desired monomers. Really exciting, isn't it?

The Data files

Each script has a file describing the atoms in each monomer. The files, nuc_atom and aa_atom, live in /bmrb/admin/atom_gen. The files are line-oriented and tab-delimited. The beginning of each file describes the fields it contains.

gen_aa also reads another file, /bmrb/admin/aa_abbrv, which maps 1-letter amino acid codes to 3-letter codes. This file is line-oriented, tab-delimited, and completely obvious in use.