Ov13 Notes (101122)

Under construction

O-related Links

Home

  1. A-Z of O

  2. O to Go

  3. Master Menus

  4. How to O

  5. Ov13

 
 

What & Where

O version 13 (1010xx) is on my server in the ov13 directory on our ftp server. Instructions for installing O are described elsewhere (O to Go). The O v13 distribution includes the following items:

* Zip and tar archives of the O data directory (with an appropriate date in the file name).
* Zip archive of the O job directory (with an appropriate date in the file name).
* Executable binary file for each OS that I support.

So far, I have only produced versions for Apple OS X Leopard (should work on all Intel-based Macs), Ubuntu 10.4 (should work on all recent 32 and 64-but versions of Linux), Microsoft Windows (I only have access to XP but expect no problem with Vista, 7), and Silicon Graphics X-windows. If there are any OS X users with PPC processors, please let me know.

I use OSX and do most of my testing on this platform. If you find a bug on any platform, but especially the others, please let me know.

The binary names are not dated. When a program is run, it outputs a version number and date. The first release is 13.0.0, then bug fixes will appear with release IDs 13.0.1 etc. The bug fixes may need changes in one or more files in the O data directory, and usually I will put these files on the server rather than new archives.

New Commands

  1. HKL_set - O’s HKL system works with logical entities to define things like structure factor amplitudes but since the current set of commands don’t need to told these, it is transparent. This command, however, allows you to assign a real vector of data to a logical name

  2. HKL_write - create a formatted HKL file

  3. HKL_sharpen - applies a temperature factor sharpening function to a vector of structure factors. This is part of the averaging master-menu system, for example.

  4. HKL_outliers - remove reflection from map calculations with theirFo/Fc do not fit.

  5. HKL_xFour - trigonometric explicit Fourier, for TAJ use only. I write this to make sure there’s no problem with my FFT.

     HKL_solvent - do not use, for TAJ use only.

     HKL_Babinet - do not use, for TAJ use only.

  1. SST_remove - remove a particular SST segment from the TRACE

  2. SST_undo - undo last SST-related operation (5 levels of undo)

  3. SST_split - split an SST segment into 2 parts The identified residue is removed in the process. ID an atom in the TRACE or sst_split trace <res>

  4. Error_exit - exit a macro if a certain sorts of errors occur. So far, I have limited the scope to master-menu related error conditions: defining a molecule name, using the HKL-system, some NCS commands (averaging and mask making) and some of the water  commands (Water_profile, Water_add, Water_peak).

Decor_easy - totally new replacement for a command of the same name, both faster and better. Allows a user to define start-end points in connected skeletonised density and then automatically built a poly-ala TRACE, activate the Decor-system for threading the sequence onto the TRACE. This command removes the complexity of working with SSTs, sprouting, decorating etc. Once the user has a connected skeleton, this command, therefore , goes directly to an RSR-fitted poly alanine, with Decor_slider left running for you to modify the thread.

Decor_step_1 - subset of Decor_easy : goes from connected skeleton->TRACE (not RSR-ed)

Decor_step_2 - subset of Decor_easy TRACE ->Decor-system

  1. Sprout_easy - equivalent algorithm to Decor_easy for generating the SSTs but applied to whole skeleton

  2. Loop_setup - Loop commands allow the user to quickly access non-secondary structure portions of their protein. Best used in the master-menu skeleton system. The command does a YASSPA, makes an object of the first loop in the structure called LOOP, makes another <mol>_CA, decorates the LOOP object with residue info, and makes 2 symbols .LOOP_MOL and .LOOP_ZONE

  3. Loop_text draw the text info within a user defined zone; default is the loop zone

  4. Loop_next go to next loop in the molecule. Start-end residues in each loop correspond to the end or start of secondary structure unless the loop is at the start/end of the molecule or we have non-AA/NA

  5. Loop_define let the user define a 'loop'. This is useful if one has a badly built bit of structure that you want to tear apart and correct.

  6. Graph_property - make a graph of atom or residue properties. This is a terminal equivalent of the pull-down command

  7. Fm_line - interpolate electron density along a line (somebody wanted it)

  8. Grab_zone - all atoms in the zone are grabbed even if just a CA object is identified.

  9. Refi_alternate - generate stereo-chemical data for a molecule that is a collection of alternate conformations. The restraints are generated for each separate residue, with no links to other residues. Alternate conformations in O are treated as residues in separate but similarly named molecules. A molecule named M1 would have second conformations in M1B, third conformations (if they exist) in M1C, for example. Restraints for M1 should be made with Refi_gener, but those for M1B (& M1C, if it exists) with Refi_alternate.


New Functionality

• The PDB format defines residue names with a single letter insert code, 4 letter numeral and an insert code. Up to this release, therefore, residue names (things like 101, or A101) have been restricted to 6 characters. Time marches on, and our community now tackles structures that break this limit. The PDB have come up with a solution for the problem where they split the structure into separate files. I think this is silly and have no plans to support this solution. Axel Brunger and colleagues have been using 4 characters (in ‘rows’ 73-76 of the ATOM ‘card’, long live the IBM 29 card punch - Google it) for what is essentially chain information for many years, the so-called SEGID. In an attempt to satisfy people working with many chains, this release of O can also use SEGID information as a part of the residue name. If this data exists in a PDB file, PDB_read can now combine it with the usual 6 PDB defined characters for a so-call long residue name. This is best shown by example, and these are from a PDB file provided  by Martin Laurberg of a 70S ribosome crystal structure that contains 2 complete particles in the asymmetric unit:

ATOM  A2WU0  O2' CYT   273E    -63.885 -33.385 122.373  1.00168.55      B23S O

This atom would be in residue B23S_273E in O, while

ATOM  A3FLO  P   GUA  1400       1.086 -53.745  23.230  1.00115.09      B23S P

is in residue B23S_1400

Changing the size of the residue name has a large number of consequences. I’ve modified the code of my ‘core’ routines to check if I’m accessing them with the wrong length variable. If you get ‘ET call home’ warnings like this:

New> Residue length warning in resinf, call Alwyn

New> getseq length warning in zonatm, call Alwyn

please let me know.The long residue names will be unscrambled correctly by PDB_write.

• Since I’ve made these dramatic (to me at least) changes to basic O data structures, I have also increased the length of object names to 12 characters and molecule names to 6.

  1. The Linux release of O is now built with more up-to-date compiler tools, which makes it possible to run this version on 32-bit or 64-bit OS releases. It is developed on 32-bit Ubuntu 10.04 .

  2. Stencil-stereo support for Zalman Monitors under OSX, and Linux (101022 lin_ono and later)

The following commands have changes:

  1. HKL_read reads all data described on SF_field line. Allows a format definition. Recognizes reflection by HKL text or spaces in first 3 characters. If no reflections, user can force the generation of fake reflection records for all data in a P1 hemisphere,

  2. Water_tidy if molecule has segment or chain IDs, and all are non-blank, waters that are associated with a chain will get the ID else Z.

  3. Lsq_chain_op allow user to generate a new molecule of NCS asymmetric unit plus NCS-operators.

  4. FastMap fitting commands have new minimizers

  5. Bone_CA_ID now works with ‘Central Atom’ (defined for each residue in the stereo_chem.odb dictionary) rather than CA atoms. This allows the command to be used with nucleic acids as well as proteins. A text object is generated to show what has been built (residue name & 1 letter code), and the <mol>_CA object kets updated as you work. As usual, this command works with Bone_repeat and Bone_skip to build a rough representation of a molecule by identifying skeleton atoms as CA atoms. The command can be paused by setting .bones_integer entry 12 to a non-zero value (d_s_d .bones_integer 12 12 1), and re-activated by setting it to zero (d_s_d .bones_integer 12 12 0). I have resurrected this command since it can be used to build bits where the Decor system has a problem.

  6. Build_init is now more general. The stereo_chem.odb file has been updated so that relevant residues now have both 3 and 1 letter codes. Since a number of different residues now have the same 1 letter code, Build_init now prompts the user to explicitly define which 3 letter code is relevant.

  7. Decor_slider can now be used without the goodness-of-fit data (this is the data where each kind of amino-acid is evaluated at each residue on the TRACE). It is then up to the user to decide on the threading by correct use of Decor_fix. The residues in the TRACE before the first and after the last secondary structure segment are now built on accepting the threading. The Decor_fix is not allowed to fix a segment that extends beyond the sequence of the molecule to be built. If consecutive segments were fixed, the second one was ignored. If the last segment was fixed, there was a possible array boundary problem. Now if 2 consecutive segments are fixed, no account of the slack between stretches is made, i.e. one can have path differences > 2

  8. Skeleton editing commands now have 5 levels of undo.

  9. Secondary Structure Template (SST) using commands now have 5 levels of undo.

  10. Qds_write generates an internal ODB entry named <res_type>_bonds_angles as well as an external file of stereochemistry data.

  11. Refi_generate now checks for a stereo-chemistry entry in the user’s ODB if the residue data does not exist in the usual ODB (.bonds_angles - which is usually created by reading the ODB file stereo_chem.odb). This new entry is named <res_type>_bonds_angles and would be automatically generated by the QDS system, for example.

Updating Existing O User Files

There are changes to the length of some ODB entries so that when Ov13 reads in a user binary database created with older versions of the paper, the program will will automatically take on my preferred defaults. There will be a breakdown in backwards compatibility in user binary databases once a user updates to the V13 version.

To update a file created with an older version of O, set up the new data directory as usual, start the new O release, read in your old file, and then do the following:

O > db_kill *ogl*
O > read menu.odb
O > read stereo_chem.odb
O > save

After reading menu.odb into the database, the user menu will change to the following:


This easily allows the user to activate the new master-menu system by clicking on the text ‘Master Menu’.