1.  Overview

  Cmoil, read as see-moil, is a program written in C++ to view mutiple molecular structures
  from connectivity and coordinate files.  The coordinate files can be in CRD, DCD, or PATH 
  format if the connectivity file is provided at same time.  The program can also display 
  structure from PDB file directly or plot coordinates according to a XYZ format file.  

  With cmoil, user can generated animated gif graph file or mpeg movie for web publishing. 

  Cmoil provides structural information for selected atoms through residue selecting and 
  atom level color setting.

  Cmoil supports structure overlap with selectable atom alignments.

  Cmoil also supports ribbon, secondary structure, and protein surface display. 

  Cmoil now has a simple menubar for quick viewing switch.

2. Input Parameters

  The program takes instruction files as input. All parameters are read from instruction 
  files for display control.  For those coordinate files in either PDB or XYZ format,  
  cmoil also takes coordinate file as input argument for quick viewing, such as 
  "cmoil -pdb 1lh1.pdb" or "cmoil -xyz example.xyz".  

  The parameters in an instruction file are defined as following:

  syntax				Description
  -------------------------	--------------------------------------------------------------
  connfile=		; connectivity file

  crdfile=		; coordinate file in CRD format (CHARMM) or
  pthfile=		; coordinate file in PATH format         or
  dcdfile=		; coordinate file in DCD format          or
  pdbfile=		; coordinate file in PDB format          or
  xyzfile=		; coordinate file in XYZ format

  dispmode1=		; atom display mode : 
							stick -- stick mode
                                          stickball -- stick-ball mode
							space -- spaceball filling mode
  dispmode2=		; structure display mode :
                                          backbone -- show Ca backbone
                                          ribbon   -- show ribbon
                                          structure --  show secondary structure
  dispmode3=surface		; show protein surface

  surfprobe=		; probe to build a surface, default is 1.4A as using water
  regeneratevtxfile=<0|1>	; set to 1 if sufprobe changes to regenerate surface vertex file

 (following parameters are optional)

  nostruct=		; number of structures in a PATH/DCD file
  bondbuild=<0|1>			; Caculate bonds
  swapmode=<0|1>			; default=0 which is no swap. 1 swap binary PATH or DCD file
  skipres=		; residues not to display
  stickmode=		; residues displayed in stick mode
  spacemode=		; residues displayed in spaceball filling mode
  ribbonmode=	; residues displayed in ribbonmode mode

  colorsetting=	; setup atom color, use multiple rows to setup atom colors 
                              ; for different color value.  It is following basic pick 
                              ; syntax with "" color value, e.g. :
                              ; colorsetting=chem prtc CA | chem prtc CB <8-124-325>
                              ; colorsetting=chem prtc O <487-0-0>

  ribboncolor=	; use pick syntex to set backbone/ribbon/secondary structure colors

  alignsetting=	; use pick syntax to setup alignment for structure overlap
                              ; e.g.  alignsetting=chem mono ALA | #mon 3 4
                              ; Default is to use CA for overlapping.

  sleepseconds=		; pause between each frame in movie mode
  maxframes=		; number of frames save to image file
  imagetype=	; image file type, single gif, mpg, or mutiple bmp and png file(s)
  gifloops=		; loops for gif file 
  bmpfile=		; image file to save 
  ------------------------------------------------------------------------------------------
       
3. Display Control

  Cmoil has three modes:  DISPLAY, MOVIE, and PICK.

  Cmoil is in DISPLAY mode by default. There are some keyboard commands that are active in 
  a graphic window, which are also available from manu option:

    m: display structures in a MOVIE mode for coordinates in path or dcd format
       or switch back from MOVIE mode to DISPLAY mode

    a: advance to next structure in DISPLAY mode for path input, or
       display single model for an PDB input

    c: display single chain for an PDB input

    p: enter/quit PICK mode for detail structural information.  Use left button to select 
       atoms. The coordinates and radius of a selected atom are displayed. For a PDB input,
       the radius is estimated. If an PDB atom cannot be identified, the radius is set to 
       1.0. Then use following keys to display caculated results:

           d:  display distance between last selected two atoms;
           a:  display angle of last selected three atoms;
           t:  display torsional angle of last selected four atoms.
 
       Atom names are displayed as 
         [struct_name]:#structure:residue_seq_number:residue_name:atom_name
       for binary coordinate files, or as
         [struct_name]:[model serial]:chain id:residue_seq_number:residue_name:atom_name
       when any PDB input file is envolved, or as 
         [struct_name]:residue_seq_number:residue_name:atom_name
       for any other file formats.  The fields in [] can be silent when no confusion is 
       caused.

       In PICK mode, you can also make instant color changes with following keys, the 
       changed colors are displayed under select yellow points:
           +:  make the atom brighter
           -:  make the atom darker
           ^:  reverse color of the atom

           r:  more red for the atom
           g:  more green for the atom
           b:  more blue for the atom

           R:  less red for the atom
           G:  less green for the atom
           B:  less blue for the atom
       Those color changes are NOT saved.
  
    s: save the picture into a bitmap file for single structure image. The bitmap 
       file will have the same path and base name as of the connectivity file and have a 
       suffix of ".bmp".  If the dispaly is in movie mode, an animated GIF image file, or 
       a MPEG movie file, or a group of sequenced bmp or png image files will be saved at 
       the metioned directory upon user's choice. Cmoil uses following libraries/packages 
       to save or convert image formats:
         ImageMagick: copyrighted by ImageMagick Studio,
         gifmerge:    written by M. Podlipec, and
         mpeg2endcode: provided by  "MPEG Software Simulation Group".

       User can publish the movie directly on web or display the movie from a slide viewer, 
       e.g. Microsoft PowerPoint.
          
  The Mouse acts as following on the molecular system in DISPLAY mode:

      left button : rotate
    middle button : translate for single structure, pop up menu for multiple structures
     right button : zoom


4. Integreted With Garaphic User Interface

  The program has been integrated into MOIL GUI. Users can set all parameters through GUI
  instead edit each instruction file.  The instruction file is saved automatically.

  Please view "MOIL Gui Guide" (gui_guide.txt) for how to use cmoil GUI worksheet.

5. Ribbon And Secondary Structure Display 

  Cmoil can display a ribbon of a structure with selectable colors and changable width.

  Cmoil can also display secondary structure by following definiation:

    Helix:  phi=[-180,0] and psi=[-170,0] for 5 continuous residues, displayed as ribbon
            with default color is green;
    Sheet:  phi=[-180,0] and psi=[ 0,190] for 4 continuous residues, displayed as arrowed 
            plane with default color red;
    Unknow: other, displayed as undirected curve with default color yellow.

6. Surface Display
  
  Cmoil is integrated with surface generating program, SURF, originally written by 
  A. Varshney, modified by R. Gillilan in package XTM at 
  ftp://bridge.chess.cornell.edu/pub/XTM-src.tar.gz .

  From the menu, user can select to diplay full or partial surface with special cutoff. 
  A surface can be colored with Charge states as following: 

    Hydrophobic :              brown
    Uncharged Polar :          green
    Positively Charged Polar:  red
    Negatively Charged Polar:  blue

~
~  Filename : cmoil.prog
~  History:	Date		Author	Description
~ 		05-30-2002	B.Wang	Created
~ 		03-10-2004	B.Wang	Last modified
~