==============================================================================
===  TO DO  ==================================================================
==============================================================================
    do base-P distance, etc   <-- what could "etc" mean?... -->
    GUI for defining measures?
    new func? avgall() should call getAll() instead of get() on AtomSpecs
    different selenoMet bond lengths & angles?
    expand "isprepro" to generic "ispre AAA"?
    determine SSs geometrically if no SSBOND headers avail (or even if so)?
    output residue info for both ends of SSs?
    base-P perp devs in geom kin
    req(resname) for rnabb special cases w/ substituted heavy atoms
    
==============================================================================
===  CHANGE LOG  =============================================================
==============================================================================
### 1.08 ###
VBC
- Added -hydrogen flag and StdLengths to measure a few of the standard hydrogen lengths.
- Added s-s distance to disulfide output.
- Added angles around s-s bond to disulfide output.

### 1.07 ###
DAK
- Fixed major bug with base-P perp calculation: I had miscalculated projection
  onto a vector by not scaling dot products by magnitude of that vector!
- Added generic projection() function for projecting point onto vector (which
  should actually work now that perp bug is fixed...)
- Minor change to help file on how hets are processed: accepted if recognized
  as protein or nucleic acid; ignored otherwise unless -hets supplied
- Made VBC's bad-omega kin output account for cis peptides and only work for 
  omega, not other dihedrals
- Tried to add -allalt functionality but ran into logical difficulties (how to
  handle >1 measurement when 1 has alt but other(s) don't?) & aborted, but along
  the way made minor improvements to robustness to input & code readability
- Added -ideals flag for printing ideal mean & sigma for each measurement

### 1.06 ###
DAK:
- Added recognition of bases with another heavy atom substituted for O2' as RNA
- Reverted to evaluating HETATMs listed as nucleic acids even if doHets boolean 
  is false (which is the default), but the most common non-oligomeric residues 
  ([ACTGU][MDT]P, e.g. ATP) are now excluded (see above), so we should be OK
- Changed help file to note past changes to cbdev (now matches Prekin)
VBC:
- Added prototype for visualization for bad omega(peptide plane) dihedrals.

### 1.05 ### dak
- Fixed bug where HETATMs listed as nucleic acids (e.g. ATP) would still get 
  evaluated even if doHets boolean was false (which is the default)
- Actually removed [ACTGU][MDT]P, e.g. ATP, from the nucleic acids list, so 
  now they won't get evaluated even if doHets boolean is true. Rationale: 
  they're never in oligomers!
- Changed definition for omega from i,i+1 to i-1,i to correspond with common
  terminology for cis vs. trans peptides (e.g. Pro)
- Added proper chi3 definition for Pro to Measurement: CB-CG-CD-N
- Fixed bug that I had apparently added in at some point which required all 
  atoms in a length, angle, or dihedral have the same alt conf.  That's
  unnecessary b/c Model.getState() already gets the default state of ' ' (or 'A' 
  if there is an alt conf).
- Added -alt=X flag for measuring geometry of other alts like 'B'

### 1.04 ### dak
- Allowed "for" to be followed by multiple specifiers, e.g. "for deoxy 2'",
  and to apply to any resname by default if none specified, as opposed to before
  where a residue name was strictly required.
- Replaced kludgy ignoreDNA/RNA variables with "for oxy/rna" and "for deoxy/
  dna", so "-rna -dna" is now handled logically.
- Hard coded "for oxy/rna" and "for deoxy/dna" into Parkinson & Gelbin resource
  files as well as dnabb and rnabb builtins.
- Revamped parsing of -res=#,#-#,... flag to allow a sequence of ranges.
- Builtin chi3 now works on selenoMet (has 'SE  ' atom).
- Added disulfide support: "for disulf", "disulfides"/"disulf"/"ss" 
  superbuiltin, chi2',chi1',phi',psi' builtins, alternate chi2/3 defs, ...
- Made geom kin springs & fans unpickable (Jane's request via Vince)
- Added balls for Cbeta devs >0.25A to geometry kin output
- Implemented Prekin-like aa type specificity for cbdev builtin; both programs 
  now output the same numbers
- Changed some geom kin flags (mainly deleted them to make things cleaner!)
- Made Dangle automatically pull build # out of buildnum.props
...
- Made Dangle only deploy Disulfide info to Models if any Measurements 
  actually involve disulfides
- Added some modified bases to RNA residue "whitelist" for Swati
...
- Fixed bug with Disulfide prep (see above)
- Added alternative chi definition for FHU and PSU (different base atoms)

### 1.03 ###
gjk
- Added Gelbin....DNA.txt to resources (source file for DNA parameters)
- Modified Dangle.java to incorporate DNA instead of skipping it
dak
- Fixed bug where "-dna" also evaluated RNA.  Now, "-dna" ignores RNA and 
  "-rna" ignores DNA.  Both simultaneously evaulates both but (WARNING!) 
  still acts weird, especially with "-validate" or "-outliers"!
- Added "dnabb" superbuiltin analogous to "rnabb"
- Made Dangle.java automatically pull version # out of version.props
- Minor readability changes

### 1.02 ### dak
- Added builtins like cbdev - hadev, nhdev, codev - for diagnosing RDC-based
  peptide distortions

### 1.01 ### dak
- Added infrastructure for "for 2'" additions to the Parkinson RNA
  resource file (pucker-specific bond lengths and angles)
- Also set up for future incorp'n of "for deoxy ..." DNA ideal values

### 1.00 ### dak
- Made Dangle its own program & package separate from chiropraxis