O 11.0.5 070605
This contains a number of bug fixes and a few improvements.
• A choice of fonts for the windowing system
The font is controlled by an entry in the ODB, the 10th element in .ogl_options
Values in the range 0-7 are allowed, and the default is 0. These corresponds to fonts Helvetica 12, fixed width 8 by 13, fixed width 9 by 15, Helvetica 10, Helvetica 12, Helvetica 18, Times Roman 10 and Times Roman 24. To get a larger Helvetica font, for example, do this:

O > d_s_d .OGL_OPTIONS 10 10 5

Fonts can also be controlled by reading in menu_fonts.odb to replace the user menu. Clicking on one of the macros then sets the font:

• Bug affecting some symmetry relationships in HKL_Fourier fixed
• Fix Density widow pull-down bug. Selecting an SST caused the overwriting of the 7th map name.
• Graph pull-down
There are quite a few detailed changes. Users will notice that the ODBs getting graphed are now listed in the pull-down. If you have a graph drawn and change the molecule or one of the ODBs, the graph gets updated if the ODBs exist in the molecule.
In the Ramachandran plot, a green cross is drawn for the central residue in the sequence-slider. If a plot is visible and the molecule is changed, the plot of the new molecule is drawn.
Defining the molecule on the Graph pull-down set the the molecule controlled by the Build_mol command. The Build_mol controls a number of things, including the sequence-slider pull-down, the insert pull-down, and the defaults used by many other commands accessed via the terminal.
• Pdb_read saves the space group text information (including spaces), and outputs it in Pdb_write.
• Bug in stereo_chemistry.odb for PHI torsion angle of GLY residue.
• Render command bug. Corrects treatment of instanced cylinders and spheres.
• ODAT text string to 80 characters
• ODL bug with missing line-feed/<return>. Unix systems are sensitive about the last line in a text file, so if an ODL file lacks a <return> on the final <end_object>, you got the object menu drawn in the 3D window amongst other things.
• Water_bsort centre of gravity information is updated after the temperature factor sort.

This release includes the following files:
• menu.odb
• stereo_chem.odb includes GLY torsion error, some new compounds
• menu_fonts.odb a simple User menu for defining screen fonts

The following versions are supported:
• Apple OS X 10.4 on Intel and IBM PPC cpus
• Linux Intel/AMD
• Microsoft Windows XP
• Sun Solaris (AMD cpu)
• SG X-version
• DEC AXP


O 11.0.4 070226
Another one, but this should not affect too many people. It is present in all earlier versions of Ov11. If in pdb_read you want CNS SEGIDs, do not want to concatenate the residue name and SEGID, and if the chain and SEGIDs are the same 1 character, THEN on pdb_write you will loose the chain ID character. The new release is dated 070221.
The pdb_read command now creates an entry in the ODB called <mol>_concat if you want to read in the SEGIDs and concatenate them. It is an integer entry of one number. There is one thing to consider when using this release. If you used an earlier release where you did elect to read in the SEGIDs and concatenate them with the chain ID, you will not have this entry in your ODB. Under these circumstances, you will have to make such an entry for things to work correctly in a future Pdb_read. If the molecule is called P2, for example, do this:

O > db_creat
Heap> Name of new data block: p2_concat
Heap> How many elements in data block: 1
Heap> Type of elements (T,C,[I],R): i


O 11.0.3 070221
I introduced a memory leak when programming the Render system. This was rather harmless under OSX but caused Linux oNo to crash. I’ve been working with this for 3 weeks without any memory-related oddity. This version also fixes a couple of bugs:
In the generation of Rossman & Blow style angles from the O rotation matrix. This bug also had the affect of incorrectly drawing the line representing the rotation axis. A second bug fix concerns this line. If a user called the LSQ-operator a very long name, it became impossible to delete the object that draws the equivalent line. In this version, the name of the object is restricted in size.
Both OSX versions support the 3D-Connexion ‘dial’ devices. An assignment is specified in an ODB called ‘.SPACEBALL_CODES’ for all 6 of the outputs generated by the device. I have only taken 2 of them as default:

 o > wr .SPACEBALL_CODES ;;
.SPACEBALL_CODES          T          6         25
rx DIAL_01        1.00000
ry                1.00000
rz DIAL_02        1.00000
tx                1.00000
ty                1.00000
tz                1.00000

This sort of device generates 3 rotations ( I call them rx, ry, rz) and 3 translations (tx, ty, tz) but I found that accepting more than 2 degrees of freedom was too much for me. With the default assignments, twisting the ‘dial’ causes a rotation about the vertical axis in the O graphics window, while ‘pushing’ on it causes a rotation about the horizontal axis. You might prefer other ways of interacting with these devices. As with the arcade codes, you can also assign inputs to grab rotations. So this might be an alternative assignment when using Grab_build:

o > wr .SPACEBALL_CODES ;;
.SPACEBALL_CODES          T          6         25
rx GRAB_ROT_X        1.00000
ry GRAB_ROT_Y        1.00000
rz GRAB_ROT_Z        1.00000
tx                1.00000
ty                1.00000
tz                1.00000

The float is a multiplicative scale factor. The action text must be capitals (oops, sorry).
N.B. You do not need to install any drivers for this device to work.
A Linux version soon.

The OSX versions also have some modifications in stereo support. Users were complaining of flashing when viewing mono images after specifying the stereo visual. I’ve modified the code so that use a stereo-separation of zero, to fake a kind of mono. This does not flash but causes some separation, sometimes, oddly enough. I think this is better then flashing so I leave it like this until I can find a better solution.


O 11.0.1
Over Christmas and New Year, I’ve updated some things that have been annoying me for years. This version is dated 070108 and contains these changes:

A new menu.odb that includes the Render command.
New command (Render) that replaces Plot, Plot_on and Plot_off commands. This command creates a plot file for rendering with MolRay. The meta-data is generated directly from the 3D objects that are visible. These objects could have been transformed by O RT-operators.
Support for 10 maps in the FastMap system
Longer file name support (up to 500 characters) in PDB_read, PDB_write, Fm_file, Read_format, Write_form
[N.B. these changes to the length of file names were made at the request of a user that used servers with very long names. I don’t have such systems to test against, so please let me know if there are still problems.]
Grab_build visibility of ‘BIT’ object corrected if this object exists already.
If the user has moved from the .active_centre by <ctrl>/mouse input, chipping to a new centre is now a smooth action.
Removed the following errors/features that I introduced in PDB_read in 11.0.0: no longer need the element data at the end of each ATOM card image, changed default of concatenation prompt if SEG IDs are present.
The Sequence-Slider window has been redesigned. There are now 3 levels of detail.
Major cleanup in the Graph pull-down system. If you graph an X_axis with the Index (i.e. the position along the sequence), you now get a window into the molecule. The location of this window in the sequence can be changed with the Sequence-Slider.


O 11.0.0
The O v11 distribution includes the following items:

• Zip archive 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).
• Zip compressed executive, binary file for each OS that I support. These are:

osx - PowerPC version for Apple Macintosh.
osx86 - Intel version for Apple Macintosh.
lin - Linux version on Intel/AMD processors.
sun86 - Sun Solaris version on AMD processors.
win - Microsoft Windows version on Intel/AMD processors.
sg_X - Silicon Graphics version, via X-windows.

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

In this release I am using zip files rather then unix compress’ed files. If this causes a problem, please let me know!

Ov11 has these new commands:
Lsq_axis - draw the position of a rotation axis already a part of the O DB.
Lsq_proper - make exact proper NCS operators from a set of RT operators that approximate the proper symmetry. The algorithm is general, but I can make operators for just 32, N and N2 proper symmetry, at the moment. I need to make exact operators for each proper symmetry and I prefer to make these available only after testing with something real. Let me know if you have something else.
Select_object - set selection codes ON/OFF of atoms in an object
Decor_easy - skeleton -> decorated TRACE in 2 IDs
NCS_add_maps - add 2 maps together
AutO_build - build a structure from a map, automatically.

New commands are described in detail elsewhere, as are bug fixes, and changes to existing commands.

There are changes to the length of the OGL ODB entries (see next section). If you use Ov11, save or create a user dataset and then read this with an older version of O, the image displayed in the old version of O will have the wrong fogging value (‘db_kill *ogl*’ to restore defaults).

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

Changes in OpenGL Variables
O has 2 ODB entries that affect the rendering of graphics primitives and the interaction with the user. In Ov11, these have been extended to give you better control of depth cueing, better mouse control, change the shape of the 3D viewing window, and control the behavior upon issuing centering commands.

O > db_kill *ogl*
Heap> Deleted .OGL_LIGHT
Heap> Deleted .OGL_OPTIONS
O > wr .OGL_LIGHT ;;
.OGL_LIGHT R 16 (8(1x,f8.4))
   0.0000   1.0000   1.0000   0.3000   0.0000  15.0000   0.0000   0.0000
   1.0000   1.0000  15.0000 -20.0000   2.0000   0.0000   2.5000   0.0000

The .ogl_light ODB contains lighting information that can be set with the Sketch_light command (entries 1-12) and fogging information (13-16). In Ov11, you can control depth cueing affects by modifying the fog-related variables. Entries 13-14 are start and end fogging values for the line-based objects, while 15-16 are for solid objects. These have a marked influence on the objects! For example, where is a surface, and cartoon of P2 myelin with the default solid fog levels of 2.5/0.

and now with 1.0/0.

The fog values that you use depend on your taste and what you are trying to show. If you do not like my default settings, just write out the ODB entry, modify it as appropriate and include it in your own startup.odb file.
The values that you prefer may also depend on the background colour (set with Screen_colour ‘A-Z of O’).

The .ogl_options ODB also contains a few new entries that might be of interest:

O > wr .OGL_OPTIONS ;;
.OGL_OPTIONS I 9 (26(1x,i2))
3 20 10 1 2 3 0 50 1

Entry 1 defines the number of mouse buttons.
Entries 2 & 3 define the line width for atomic and map objects scaled by 10
Entries 4-6 allows one to reassign the mouse buttons to the mouse action. In the above, button 1 is assigned to the left most button, button 2 to the middle and 3 to the right-most button.
Entry 8 is the chip constant, setting to 0 means that centred atoms will jump to the screen center (Ov10 and earlier versions worked like this), using 50 is a nice glide through space to the new centre, something larger would be too lazy. Using a larger value increases the number of steps taken on chipping from the old centre to the new one. O calculates how long it needs to make a refresh, so the total glide time is independent of the complexity of the images being displayed. In very complex images, though, there will be fewer steps.
Entry 9 is set to 0 for a square shaped window into the 3D world, else a rectangular one.

I have checked with some of my students and they ALL prefer to glide through space after each centering action and prefer a rectangular window. These are therefore the new defaults. Deleting the entries (by ‘db_kill *ogl*’ for example) will restore my defaults.

Again, if you don’t like my values, make your own.

Menu-related
O v11 requires that the latest menu.odb is read into the user’s database. It is safest to pick up the whole data directory. If I make any later changes, separate files will be on placed on the server as may be appropriate later.

I have started adding a few ODB files that contain User Menu entries appropriate for particular activities. So if one does the following

O > read menu_bones.odb

one gets a user menu suitable for working with skeletons, for example.


See HowToO/UseSkeletons for details on using this menu.

Other menu’s will follow. Users are welcome to modify these as they think appropriate.

Changes in stereo_chem.odb
Since the 051011 version there have been the following changes or additions:

• DIP - new residue for working with the Auto_build command.
• PRO- fragment_rsr_2 definition changes (O removed)
• An old NAD dictionary entry removed
• ADP fragment_rsr*’s changed, error in definition of a torsion_flexible (o4* should be O4*)
• SAM residue
• NDP NADPH residue N-ring not flat. 061107 changed chirality of NO1 and NO2 to conform with Refmac’s dictionary.
• All residues now have fragment_rsr entries.

N.B. The nucleic acid entries for AUCG are still RNA, have no good rotamer definition, and lack RSR-fragment information. I’ll update this ASAP.

Changes in menu.odb
Since the 051011 version there have been the following changes or additions:

• New commands
Lsq_axis
Lsq_proper
Select_object
Decor_easy
NCS_add_maps
AutO_build

O v11 requires that the latest menu.odb is read into the user’s database if you wish to use any of these commands.

• New version number
A user will be warned if this differs from the running program

There are no changes to the startup.odb file.

There is a new file in the O data directory, proper_ncs.odb for use with the LSQ_proper command. This file is intended to contain RT operators for the possible proper symmetry groups. At the moment, it only contains operators for proper symmetry 32. OPerators are not needed for N and N2 proper symmetry. I have not added the other operators because it is hard to debug without a real example. If you have a structure with proper symmetry 422, 432, 622, 222, 23, or icosahedral let me know.