MidasPlus Version 2.1 Release Notes

Computer Graphics Lab

Department of Pharmaceutical Chemistry

University of California

San Francisco, CA 94143-0446

These release notes apply to MidasPlus version 2.1. This document discusses the major changes that have occurred since release 2.0, and summarizes enhancements to existing commands, new commands that have been added, and known problems in the 2.1 release.

The latest version of these release notes can always be found on the web at: http://www.cgl.ucsf.edu/ midas-info/2.1.html.

Final Release

This is our last planned release of MidasPlus. The system was originally designed in 1980, and although it has been continually updated and in 1989 completely rewritten, the basic design can no longer accommodate our future needs. Instead, for the past few years we have been working on the design and implementation of a completely new system known as Chimera. Chimera is designed to take advantage of the three-dimensional graphics capabilities found on new graphics workstations and adapter cards, including hardware texture mapping and volume visualization. In addition, Chimera has been designed with extensibility as a key goal. It will be possible for users with relatively modest programming skills to be able to create new extensions to Chimera without the need to modify any Chimera source code. Additional information describing Chimera can be found on our web site: http://www.cgl.ucsf.edu/chimera/. Chimera is currently in alpha release and can be downloaded from the aforementioned URL. Current MidasPlus license holders will be notified of Chimera's availability when it is in production release.

Major changes

New Interface for SGIs

Since the release of MidasPlus 2.0, SGI has strongly encouraged the adoption of OpenGL in preference to their older GL graphics library; both their hardware and software offer better support for OpenGL than GL. Consequently, in MidasPlus 2.1 running the midas display program on SGI workstations will typically invoke a version that employs the OpenGL graphics library -- though on some old SGI systems with hardware designed for GL, the GL version of midas will be invoked instead for performance reasons.

Unlike GL, OpenGL does not handle the window controls (title bar, menu button, resize handles, etc.) for the program automatically. Instead the program must make calls to a non-OpenGL "widget" library to handles these items. The library employed by OpenGL midas is the Motif widget library. Unfortunately, Motif offers no support for "subwindows" (windows without bordering window controls embedded in other windows). Therefore, the command / reply area and the sideview / sliders area had to be moved into their own separate windows.

These new windows have their own resize and hide / show controls and can be positioned independently. If the main modeling window is moved or resized, the new windows move themselves to try to maintain the same relative positioning.

The new interface offers some additional benefits:

Scrollable reply area
All commands and their replies are kept in a scrollable reply region. Commands are highlighted in bold. The entire textual interaction history of the modeling session is therefore available for perusal as needed.
Mouse editing
The reply area can be copied from with the mouse, and the command area can be copied from and pasted to and otherwise edited with the mouse. This makes re-use of previous commands (copied from the reply area and possibly modified) available through a widely-known interaction technique. The ability to access previous commands through keyboard shortcuts (see Appendix 3 of the manual) is retained.
Model File Names
The file names associated with each model are displayed in the model selection area of the control panel.

Details of the operation of the OpenGL interface can be found in sections 1.1 ("Displaying the Model") and 1.2 ("Manipulating the Model") of the manual. Also, if it is desired to "force" the use of the GL interface, consult "SGI-Specific Performance Issues" (section 3.12.2 of the manual).

Pdbrun Version 6

Implementors of MidasPlus extensions that use the pdbrun command should note that the extended PDB format used by that command has been changed in MidasPlus 2.1. Details of the format as well as a summary of the changes can be found in Appendix 1 of the manual. The associated version number has changed from 5 (MidasPlus 2.0) to 6 (MidasPlus 2.1). There are utility programs that convert betweens versions 5 and 6 and that therefore can be used to get an old extension working with the new MidasPlus release without modification. The programs are pdbrun5to6 and pdbrun6to5.

Enhancements and Additions

This section discusses the significant enhancements and additions to MidasPlus functionality in the 2.1 release.

New MidasPlus Commands

The following commands or delegates have been added in th 2.1 release:

Delegate to display energy contours generated by Peter Goodford's GRID program.
Loads a saved session into midas.
Breaks unreasonably long bonds in structures.
Delegate to interactively generate solvent-accessible surface for specified atoms.
Delegate to display molecular dynamics trajectories. Since midasmovie is frequently updated to incorporate improvements, it is not provided on the CD-ROM, but is instead available on the web at http://picasso.ucsf.edu/~dek/Movie/movie.html.
Delegate to browse available PDB files and open those of interest in midas.
set molpath
Specifies directories to search for PDB files in open command. Can treat these directories as the root of a PDB-distribution hierarchy.
Delegate to assist in management of DOCK program output.

Enhancements to Existing MidasPlus Commands

Almost all MidasPlus rendering programs (ribbonjr, conic, stereoimg, etc.) have been enhanced so that they can directly produce TIFF-format images files.

Other significant enhancements to MidasPlus commands are:

Conic can add the "transparency" attribute to backgrounds of images it produces in TIFF format. This facilitates compositing conic (or neon) images into other scenes in image-processing programs.
Noeshow now supports the following distance constraint formats:

Noeshow supports torsion angle angle constraint information from X-PLOR as well as AMBER SANDER. Noeshow can now do constraint averaging across a conformational ensemble. Also, noeshow can now highlight all H-H distances within a certain cutoff distance from a hydrogen or set of hydrogens. Finally, noeshow can now restrict constraint display to an atom specification of interest.

The version of noeshow distributed on the CD-ROM doesn't support the torsion constraint format used by AMBER version 5.0 and later. Distance constraint display for AMBER v5+ still works correctly. See the "Known Problems" section of this document for a solution to this problem.

Ribbonjr will now connect sidechains to the ribbon surface. It also offers various ribbon "styles" through the use of alternate ribbon cross-section files.
Stereoimg now has a -v flag to simplify the creation of stereo images viewable with mechanical glasses, typically used with journal-published stereo images.

New MidasPlus Auxiliary Programs

There is only one new auxiliary program in the 2.1 release: fixses. Fixses is used to update pre-2.0 session files so that they work correctly with the 2.1 release. 2.0 session files for the most part should work correctly, but see the Known Problems section.

MidasPlus Documentation Enhancements

The MidasPlus manual has been expanded and revised. The former section on "Saving Screen Images" has been renamed to "Capturing Screen Images" and now has subsections on saving screen images, converting images to other formats, printing images, and including images in documents. A section on using MidasPlus in conjunction with a web browser has been added ("Web-Browsing PDB Files with Midas" in Part III). Another new section discusses how MidasPlus responsiveness can be improved when necessary ("Performance Issues with Midas" in Part III).

All significant new text in the manual (since the 2.0 release) is noted with corresponding vertical lines in the right-hand margin.

Appendix 1 (formerly "Protein Data Bank Index") has been dropped and instead an "Obtaining Standard PDB Files" section has been added to Part I. Appendix 1 now discusses the details of the format used by the pdbrun command.

There are now two on-line web tutorials available for MidasPlus. One was created by Arthur Glasfeld of Reed College and can be found at http://www.cgl.ucsf.edu/Outreach/midasplus/tutorial.html, and the other, available at http://www.cgl.ucsf.edu/home/meng/tut/t.html, was created by Bryan Jones of the University of Washington and Elaine Meng of the Computer Graphics Laboratory.. These tutorials are discussed in more detail in the "Tutorials" section in Part I of the MidasPlus User's Manual.

Known Problems

All reported problems in the 2.0 release have been fixed with this release. Known problems in the 2.1 release are noted below. Given that this is the "final" release of MidasPlus, additional diligence has beenapplied to quality control. In particular, a test suite was developed to test as much MidasPlus functionality as feasible and to assure uniform operation of MidasPlus across all supported architectures. In addition, MidasPlus was checked with memory-testing software to detect any memory leaks, data-structure corruptions, or other memory-related problems.

The most current list of known problems and workarounds can always be found via the "Known Problems" hyperlink on the MidasPlus web page (http://www.cgl.ucsf.edu/midasplus.html). If you encounter a problem not mentioned there, please report it via e-mail to midas-bugs@cgl.ucsf.edu. Please include as much detail as possible (for example, the exact sequence of user commands that causes the problem and the name of the PDB file if this is relevant).

Non-Architecture-Specific Problems

The -nostereo command line option of midas is broken.

Graphics objects containing dots or markers are not properly saved in session files [Note: VDW and molecular surfaces are not graphics objects]. The graphics objects have extraneous text saved with them that appears when the session is restored. The only workaround available at this time is to edit the files of the session that contain graphics objects (such files end in ".b") and remove any lines that start with the word "setcolor". It is hoped that a more satisfactory fix will be available soon.

MidasPlus 2.0 session files don't have correct fullscreen information if the fullscreen mode was due to the -f command-line flag (rather than the set fullscreen command). Consequently, when restored in MidasPlus 2.1 they won't go fullscreen, even if the -f command-line flag is given (since session files are processed after command-line arguments). There are two possible workarounds. If you don't have many 2.0 sessions, simply set fullscreen and re-save the session. If you have many sessions, you may prefer to alias the midas command to be midas -s ~/full.script and create a file named full.script in your home directory consisting of the one line set fullscreen. Since scripts are read after sessions, this will make every session fullscreen. If you are unfamiliar with UNIX aliases, you make the alias described above by putting the line alias midas midas -s ~/full.script as the first line of the .cshrc file in your home directory.

If you use an alias for the UNIX rm command (e.g. rm -i), then ksdssp, when run from within midas, will not work correctly. A quick workaround is to run ksdssp outside of midas, from the UNIX command line. A long term solution is for someone with root permissions to edit /usr/local/midas/lib/midas/ksdssp and replace both occurances of "\!rm" with "\!/bin/rm".

The section command only moves the clipping planes half the distance specified. Obviously, the workaround is to specify double the distance actually desired. Another section bug is that if you move the section away from you and far enough that it doesn't overlap the previous section, then only the far (yon) clipping plane moves and the near (hither) clipping plane stays put. The workaround to this problem is to either move the section in steps that do overlap, or move the clipping planes separately (yon first) with the clip command.

The gd delegate, when contouring GRID output, reads the binary data file generated by GRID. This means that the machine that the GRID computation was run on must use the same integer and floating point binary representation as the machine that the gd delegate is run on. If your GRID computation is performed on the same machine that you run midas (and therefore gd) on, then it will always work.

If a graphics object is opened and associated with an existing model number (via the command open obj modelnumber objectfile), and the refmodel option is set (which is the default), then that existing model will be given the same transformation matrix as that of the refmodel model. This may result in unexpected positioning of the graphics object and its associated model. With default midas settings, this problem only manifests itself when opening a graphics object and associating it with a model that isn't the lowest open model number, and that model has been moved independently of the lowest open model. This problem can be worked around by setting the refmodel option to be the same as the model number that you will associate the graphics object with (e.g. set refmodel modelnumber) before opening the graphics object.

If a structure is not strictly a linear chain of residues (perhap due to the presence of disulfide bond crosslinks), the chain command will not work correctly; it will only follow one of the multiple path alternatives. There is no workaround for this problem aside from using ~bond to break crosslinks before using chain.

Color interpolation is handled incorrectly when one of the colors being interpolated is not fully saturated (in the HLS colorspace used by MidasPlus, white and black are not fully saturated). This affects the color ranges generated when coloring by B-factor, or if using custom-created pdbrun-style files with USER COLOR records with color interpolations. A patch is available upon request (to midas-bugs@cgl.ucsf.edu).

If color output on a white background is produced via the midas copy command with the bgcolor white option, any dashed lines (e.g. distances, angle monitors) will be shown as alternating black and yellow lines rather than dashed yellow lines. The workaround is to set the background color to white with the set bg_color command rather than using the bgcolor keyword of the copy command.

The uncryst utility may not place all generated subunits in the same unit cell. If an "uncrysted" PDB file looks "scattered apart" instead of compact, this is likely the problem. Corrected versions of uncryst are available for FTP at:

IRIX 6 version
IRIX 5 version (should work on most IRIX 6 machines also)
Digital Unix version
Nextstep version
Linux version
ftp://ftp.cgl.ucsf.edu/pub/midas-2.1/uncryst/uncryst.linux Note that this version was compiled with a newer version of libc than the original uncryst (version 6 instead of version 5). This means that you need to be running a more recent version of Linux (e.g. RedHat 5.0 or Debian 2.0) to use it.

The itops utility uses a default gamma value of -1.0 (instead of the correct 1.0) on non-SGI platforms. This can be worked around by specifying a gamma value with the -g command-line flag when using itops.

The format of PDB index files (now distributed by RCSB) has changed. This change causes the pdbopen distributed on the 2.1 CD to show nothing. A version of pdbopen for IRIX 6 that works with the new index files can be ftp'ed from: ftp://ftp.cgl.ucsf.edu/pub/midas-2.1/pdbopen/pdbopen. If you need a version for other platforms, send mail to midas-bugs@cgl.ucsf.edu and we will see if we can make one for you.

Noeshow doesn't handle the torsion restraint format used by AMBER version 5.0 (or later) correctly. A version of noeshow that does handle it correctly can be FTPed from ftp://ftp.cgl.ucsf.edu/pub/midas-2.1/noeshow/noeshow. Replace the old version of noeshow (found in the directory /usr/local/midas/lib/midas) with this new version.

Ribbonjr has two infrequently-encountered problems:

  1. It doen't properly cap the beginning of a helix if a strand immediately precedes the helix with no intervening turn residue(s).
  2. If protein mainchain oxygens are not displayed in midas, then ribbonjr may not depict the ends of protein chains correctly.

A fixed version of ribbonjr for SGIs can be ftp'ed from: ftp://ftp.cgl.ucsf.edu/pub/midas-2.1/ribbonjr/ribbonjr. If you need a version for other platforms, send mail to midas-bugs@cgl.ucsf.edu and we will see if we can make one for you.

Dms does not correctly handle structures with more than 32000 atoms (which are now beginning to appear in the PDB). A fixed version of dms and it's back-end, dmsd, can be ftp'ed from ftp://ftp.cgl.ucsf.edu/pub/midas-2.1/dms/. The file names indicate what platform they are for with an appended .sgi, .alpha, and so forth. Dms should go into /usr/local/midas/bin, and dmsd into /usr/local/midas/lib (and renamed to remove the platform-indicating suffix).

SGI-specific Problems

Some SGI systems have difficulty running MidasPlus due to bugs in IRIX. The particular systems that we know to have problems are:

In sequential stereo mode, the contents of the main modeling window and the sideview window are displaced upwards approximately 20 pixels. This problem does not actually impact the ability to see a stereo image, but makes mouse manipulation difficult since the mouse needs to be about 20 pixels below the "visually correct" position to perform the expected manipulation. Patches #2862 and #2447 (together) fix this problem, though you will likely also have to reconfigure your framebuffer to support double-buffered stereo visuals. These patches can be obtained via your normal SGI support channel. If this problem persists after the application of these patches, you need to reconfigure your framebuffer. This is done with the xscreen program (found in the /usr/bin/X11 directory). Xscreen will pop up a panel; on that panel there is a "Framebuffer Depth" option menu. Select "32+32" from that menu and then pick the "Save and Apply" button from the bottom of the panel. Note: this will also log you out.

If midas is started in full-screen mode on the O2, picking "Clear Replies" from the option menu will cause midas to crash. The workaround is to start midas in a window and then go to full-screen mode with the set full command.

If midas is installed setuid root (for performance reasons as outlined in section of the manual) on an O2, midas will crash on start-up. There is no current general workaround for this problem. However, if midas has been installed on an XFS filesystem, then there is an alternative to making midas setuid root; as the superuser, run the command: "/sbin/chcap CAP_MEMORY_MGT=ep /usr/local/midas/bin/midas.*". This will allow midas to perform memory locking without being setuid root.

Octane SSI and MXI
When switched into stereo mode, these systems may draw outside the graphics window. This behavior can be remedied by installing patch #1953, freely available from SGI.
IRIX 5.3 Systems (esp. Personal Iris series)
On systems running IRIX 5.3, installation of patch 1826 (an OpenGL rollup patch) may cause midas to core dump or crash the entire system when invoked. Other programs may have this effect as well. The best solution is to upgrade to IRIX 6.2 if possible (not possible on the Personal Iris series). Otherwise, there are two workarounds: the first is to uninstall that patch. The other workaround is to use the debugging runtime loader (tested with patch 2403):
Use an editor to create the following 4 line script:
#!/bin/csh -f

setenv _RLD_PATH /usr/lib/rld.debug

setenv _RLD_ARGS -v


Move the script to a directory that precedes /usr/local/midas/bin on your executable search path. The directory for this example is /usr/local/bin.
mv script /usr/local/bin/midas
Make the script executable
chmod 755 /usr/local/bin/midas

If you don't have permission to write system directories or only want to make the above changes for yourself, you could use ~/bin instead of /usr/local/bin (as long as ~/bin is on your execution path and precedes /usr/local/midas/bin).

Midas may not display graphics-window text (e.g. atom labels) on these platforms. This is because the way that the X server interprets font information changed. To fix this problem, you need to get a new /usr/local/midas/resource/midas/xpsfontmap file. A replacement file can be FTP'ed from ftp://ftp.cgl.ucsf.edu/pub/midas-2.1/midas/xpsfontmap. Replace the original with it.

On SGI systems, conic's default save format is SGI imagelib rather than TIFF.

On newer SGI systems, ilabel may exhibit a variety of problems. FTP a fixed version from ftp://ftp.cgl.ucsf.edu/pub/midas-2.1/ilabel/ilabel and replace /usr/local/midas/bin/ilabel with it.

DEC-specific Problems

On older DEC Alpha systems that do not support quad-buffered stereo, it is necessary to start midas in full-screen mode to use hardware stereo. If you do not know if your system supports quad-buffered stereo, run /usr/bin/X11/xglinfo; if any of the listed visuals are noted as stereo visuals, then quad-buffered stereo is supported on your system. If you have problems with stereo, make sure that the steps described in the MidasPlus installation Guide for setting up DEC Alpha stereo have been completed.

With Open3D version 4.5, the midas image is frequently not redrawn when it should be. The solution is to upgrade to Open3D 4.6.

Linux-specific Problems

Users who have Red Hat distributions of Linux have reported failure of the midas executable to run. It appears that RedHat installs an older version of the Linux libc.so dynamic library. Linux MidasPlus was originally compiled and tested on a Debian 1.3 distribution of Linux using libc.5.4.33. RedHat users who wish to run Linux MidasPlus should update their libc.so library to version 5.4.33 or later. Version 5.4.38 of libc.so can be obtained from the following URL: http://picasso.ucsf.edu/~dek/midas_linux.html. Workarounds for a few other minor problems can also be found at that URL.

NeXT-specific Problems

Unlike other platforms, midas on the NeXT draws singleton atoms (atoms with no bonds) as dots instead of tetrahedrons. These dots may not be imaged until something else using dots (e.g., a vdw surface) is displayed. We recommend putting vdw surfaces on the singleton atoms to work around this problem and also since they are quite hard to see as single dots in any event.