---------------------------------------------------------------------------
Bugs fixed after 1/28/02 (bugs fixed before then have already been removed)
---------------------------------------------------------------------------

"Load progress" window not doing the right thing: Suzi
- Comes up saying "Going" when you do "Open", even before you've chosen
anything to open
  x Temporarily commented out the setVisible() for this window, until we can
  get it to behave better.

Hide/show from View menu not working right ON LINUX:  Nomi
- When you hide the Annotation Tree (using View menu) and then show again,
it comes up BELOW other windows so you don't see it.  Can we make it pop
to the top?  (Note that the obvious approach, calling frame.getTreePanel().getFrame().toFront(),
doesn't work, for some reason.)
- This turns out to be a KNOWN BUG (#4509276) in Java 1.3.1 on Linux.
  Will supposedly be fixed in 1.4.
x If you show the Type panel, then unShow it, then Show again, it doesn't show up at all!
  I was able to fix this for the Type panel, but for some reason the fix did not work
  for the Annotation Tree.

Can we get rid of this annoying (Linux-specific) error message: 
Font specified in font.properties not found [--symbol-medium-r-normal--*-%d-*-*-p-*-adobe-fontspecific] 
Erwin seemed to say its a lost cause, linux is not jiggy with all the fonts.

If the first file you try to open doesn't exist, Apollo exits and doesn't
give you a second chance.  Fix if not too hard.  (I looked at it and it's
not so easy with the current logic, because you can't tell whether the
user asked for a bad file or deliberately hit Cancel.)

x Make "About" panel and Sequence panels scroll to top when they come up

Funny message on dragging within results: Mark [low]
  Attempt to removed free component javax.swing.JScrollBar....
x message is removed but dont know why it's happening

Minor mouse problem:
- On five-button mouse on Mac, right and middle buttons are switched [low]

Fix cut & paste: Mark
- Paste from outside into Apollo works first time, but after you copy from within Apollo,
paste from outside stops working. John says this is a java bug that is getting fixed in 
1.4. Java uses the system clipboard and other apps use the primary clipboard. But there
are some cut and pastes that do work. Erwin says cutting and pasting is still being worked 
out in unix in general.
- Looks like you can paste into Apollo from xemacs (by using Edit->Copy
in xemacs and then using ctrl-v in Apollo), but not from emacs or shell.
This is on Linux.  Cut/paste seem to work fine on Mac (and probably
Windows, too; need to check).

x Make mouse-right on annotations get FlyBase gene report (instead of mini-gene report): Nomi

Test all menu options and fix or remove:  Nomi
x  - Get rid of "Proxy settings"--this is for Ensembl CGI data adapter and is already
    available from that window
x  - Rename "Edit" to "Search", since that's the only thing left
x  - Invert screen colours doesn't work the first time (do we even need this?)
x  - Show GC plot doesn't work--remove menu item
x  - Zoom to selected should be right-mouse item, not main menu
x  - Remove "Show navigation panel" menu item

x Error message on zooming: Mark
	2 collapsible_overlapping_features - is this because there is no sequence:
	at apollo.gui.SiteView._createSites(SiteView.java:285)
	at apollo.gui.SiteView.changeSites(SiteView.java:137)
	at apollo.gui.SiteView.setVisible(SiteView.java:70)
	at apollo.gui.StrandedZoomableApolloPanel.updateSiteVisibility(StrandedZoomableApolloPanel.java:681)
	at apollo.gui.StrandedZoomableApolloPanel.setZoomFactor(StrandedZoomableApolloPanel.java:1095)
	at apollo.gui.StrandedZoomableApolloPanel.actionPerformed(StrandedZoomableApolloPanel.java:1083)
	if i had to guess i would say this didnt show up before because the
	terminal codons werent present before as that bug wasnt fixed yet 
	i think its asking for sequence that isnt there - not a big deal as
	the xml file without sequence is purely a debug thing but if it was truly
	robust it would give a more mature message or check to see if there is 
	sequence and if not just move on

x Handle failure to find requested gene/band/etc. better (right now, get
"bad file" error)

x Make backup file also use relative path (prepend APOLLO_ROOT): Nomi

Better error handling: Nomi
x Better handling of error when XML file is bad
x Better popup error box when unknown file is selected
x Deal with empty or missing history file
x When you hit "Cancel" in file chooser, it shouldn't continue on and try to get data
x Cut down on debugging printlns
  - Should we have a "debug" flag?
x If you select a bad or missing file first thing, it says "nothing loaded so quitting".
  Would be nice to give user another chance.
  - I got this to work (with a boolean firstTime variable), but then it gives the user another
  chance even if they've clicked the "go-away" X on the loader window, which is the wrong
  behavior.  From ApolloFrame.run, can't tell why loader failed.

Display bugs: Mark
  x Some results disappearing on scroll/zoom (esp. on reverse strand)
  x Some results unclickable (same problem?) - unfortunately not same problem
	--> took out optimization that assumed sorting (FeatureView.findFeatures)
Mark wrote:
	it seems to be worst in the reverse strand when collapsed??
	also features are disappearing on scrolling and zooming - 
	the same features that wont select - this seems to be the bug that
	i had thought i fixed with the pixel mask - oh my

Fix annotation tree view: Nomi and Mark
x Exon descriptions are bogus: "apollo.datamodel.Exon@78dc08 0 exon CG1116-RA"
x Doesn't fill in annotations until you select an annotation in annotation window,
  and selecting a result makes it go blank again!

x Make label color configurable: Nomi
  Right now it is sharing CoordForegroundColor, which is also used for the axis
  This is a problem because the CoordForegroundColor is usually black, and the
  result panel is black, so we end up with black labels on black background!

x For initial view, let data fill whole display (don't crowd it into the middle of
the screen and leave empty space on both side):  Nomi

Subtypes in types panel: many people prefer the Berkeley version, which
shows all the subtypes, rather than the Sanger version, which requires a
right-mouse click to (temporarily) see the subtypes.  Would it be hard to
import the Berkeley types panel?
  x Ameliorated by adding instruction label at top telling user to use right mouse
    to see subtypes

x Turn off autosave if we're not in edit mode: Nomi

x Add version number and timestamping: Nomi

x Get a copy of JBuilder (a Java IDE) and investigate whether it would be
useful for all of our Java developers:  Colin (with help from Erwin & Eric)

x Move jalview to SourceForge (or is it already there?)

x GUI: Mark (base on Ensembl data adapter GUI)
- Ways to launch:
  x Search by cytology: Nomi
    (Right now, just goes to FIRST scaffold in requested band)
  x Search by scaffold accession
  x Search by gene name or synonym
  x  - Center on and highlight requested gene: Mark
    (See FindPanel.actionPerformed--we're looking for a gene.)
  x This led into lots of selection issues: 
	x It now also vertically scrolls to selection.
	x Can select genes, and other feature sets - EvidencePanel deals with it correctly.
	x Added getDisplayName() to deal with different ways names are displayed.
	
xFix annotation tree view: Nomi and Mark
x- Make it clickable--clicking a transcript name should select it in annotation display
  [This is ALMOST fixed--clicking an annotation name only selects the LAST transcript
   (I couldn't get it to select both at once) and type description says "no type"]
  This got fixed pretty much with the selection fixes above.

x Put org.bdgp into SourceForge: John Richter

Ability to launch Apollo from static XML files on our Web site:  Nomi, Mark, Colin
x Kludgy but working approach: Nomi
x Improved CGI (still using static XML): Colin
x Integrate Colin's improved CGI with mine: Nomi
x Move to toy: Nomi

x If you select a bad file (e.g. data/bad.xml) and then a good one, it seems to
load annotations but not results.

xSelection bug: selecting on exon does not select exon in selection box: Mark
x- If an exon is selected it does not appear selected in the EvidencePanel's SetDetailPanel.

Display problems on Mac
-x With single-button mouse, ctrl-click and option-click both do
middle-button (option-click should mean middle button, and ctrl-mouse
should mean right button)

x When we load a new dataset, clear information panel (still has old info): Nomi
  - Fixed except SetDetail panel still has a white stripe--do we need to get rid of that?

x Change import org.bdgp.util.Properties to import java_1_3.util.Properties.
Not at all urgent.

x On Windows, resize makes menus stop working

x Fix GC plot: Mark
- GraphView.java (menu item in View temporarily commented out because it doesn't work)

x Labels for results not working: Suzi fixed this with NameAdapter stuff
- I'm pretty sure this was working before, but now labels show up only in the
annotation panel.  When you ask a result type to turn on labels, the results spread
farther apart, but labels don't show up.
Steve wrote:
It looks like the display name is not
being set correctly. The code for getting the display id string for a set
has changed - it uses the Hname for a set containing FeaturePairs. It
doesn't look like the Hname is being set in the GameAdapter. So either the
GameAdapter needs to be modified or the getDisplayName code in FeatureSet
needs to be changed.

Minor things with GAME XML adapter: Mark
x Font used for multi-line labels is yucky (on Linux--on Mac it looks fine).
Use same font as other labels.
x Would be nice if history remembered which kind of search (e.g. file,
gene, etc.) you last did, and came up with that tab showing.
x When entering a file name to open, should trim newline (and perhaps
whitespace as well).  We were trying to open a file by pasting a
filename, and because it had a newline at the end, it wasn't working.
(Should we also fix this for other data adapters?)

x For testing, it would be nice to have a smaller example XML file, containing a few
annotations and a few results--e.g. the "cact" gene, +/- 20Kb: Colin

    x Main-menu shortcuts work, but right-menu shortcuts (e.g. Ctrl-Z,
    Ctrl-T) don't.  Remove those.

x "Invert screen colours" inverts only the axis background and label
colors.  Either fix it to invert everything, or just take it off the
menu.

x ~mgibson/sanger/data/example2.xml game file gives message many times: 
"annotation: Either intentionally ignoring or inadvertantly forgetting to parse property"
Suzi picked this file out as a good example, but i dont want to cvs add it until
this message is cleaned up.

x Reorganize menus: Nomi
- View menu is too crowded.  Make new Tiers menu that includes four Tier operations
from View menu, plus +/- to make tiers taller/shorter
- Instead of having "Show result type panel" and "Show annotation tree panel" in View,
just have "Result type panel" and "Annotation tree panel" listed under "Window".  If
user selects one, then create that new window (if it doesn't exist yet) or pop it to
front (if it was hidden).  User can close those windows with the X--don't need "hide"
available in main menu.
- Search menu has only one entry, Find.  Should we move Find to some other menu
(File? View?), or is there anything else to go under Search?  I don't like single-item
menus.

x Config item: VerticalEvidencePanel

Mac-only bugs:
x "Help" pulls up web browser with default home page--doesn't go to Apollo help page
x ctrl-click on the Types panel does not bring up subtypes menu like it should.
  - option-click (middle mouse) and ctrl-click (should be right mouse) do
    nothing, but apple-click does bring up subtype menu and lets you get to
    color chooser (as right-mouse does on Linux)
    So the broken thing is ctrl-click is not recognized.

  x Ensembl CGI adapter broken: Suzi
    x Fixed null pointer exception: Nomi
    x It comes up showing a range starting at 0, when in fact the data is not at 0,
      so it looks at first like there are no results!  Suzi

The dialogs that ask "Save first, then quit?" should check whether we're in browser
mode--if so, they shouldn't offer that as an option.
x apollo/gui/event/EditWindowListener.java:  private static Object[] options = { "Close anyway", 
  (Fixed by not using this event class if we're not in Edit mode)
x apollo/gui/menus/FileMenu.java:    private static Object[] quit_options = { "Quit anyway", 

x If something's wrong in apollo.cfg or tiers.dat, should pop up dialog window
with more informative error: Mark

Mac-only bugs:
x? If you make evidence panel vertical and then make it horizonal again, it
  disappears (doesn't redraw correctly)
  4/11/02: It behaves fine on our Mac--can't reproduce bug.

x Zoom level not getting reset when you load a new file
If you change the zoom level (e.g. zoom in to zoom factor = 1000), and
then load a new file, it comes up claiming to have that zoom factor 1000
even though in fact it's at zoom factor 1.

x Extra black dot at ends of annotations--connector goes one pixel too far: Mark and Nomi
(The black lines between exons in annotations means that the annotation is "all done")

xGray area on right side of annotation panel where scrollbar would be--assign it
the same color as the annotation panel background: Mark

x Should mozilla be default browser for linux, not netscape? I think suzi set it this
way in berkeley branch.
- Query OS name to set default browser.  (Do we need to set it to IE for Windows?)

Annotation comment (text) editor: Mark
  x Window comes up too small.
  x Should we put Transcript Comments next to Transcript, as in Berkeley version?
  x Rename ("annotation info")
  x Hyperlink FBans in table to gene web pages: Nomi
  x Canned comment list is taking up too much room--use smaller font

x Message for latest curator files (from ~sima/r3xml):
Not dealing with seq element organism
  Now GAMEAdapter "deals" with this element by not saying anything, but it doesn't actually
do anything with it.

x If you use File->Open and hit Cancel (or try to open a file that doesn't exist)
Apollo stops responding (menus won't work, can't click on anything, etc)!
(This is a new bug.)

x Hook return key to OK button in DataAdapterChooser: Mark, Nomi
  We did this, but it turned out to be annoying, because hitting return is an ActionEvent,
and so is selecting a file from the file history, but you might want to select a filename
from the file history and then modify it, and you can't do that if the ActionEvent is
being responded to.

x Middle mouse broken on Windows--does nothing (should center)
  x Also make sure "middle" and "right" mouse work on Types panel on Windows

x Make intron connecters peaked (like Ensembl's): Nomi
I tried this, but the curators didn't like the look so much, and apparently Gerry
hates peaked introns.

Annotation comment (text) editor: Mark
  x When you add a new comment, it doesn't appear in the comment text
  window until you Commit and then reopen.  When you say "Add", it
  creates a new comment template, but it also needs a button for "add
  this comment to this annotation", which doesn't seem to be happening.
  Rename "Add" button "New", and make an "Add" button (below "Restrict"
  checkbox?) that adds the comment to the annotation and shows it in the
  comment text box.

xIf you zoom in and then load a different file, the "Zoom factor" is not reset: Mark
(It seems like this only happens if you zoom all the way in; if you zoom only
a little it *does* reset.)

x Show BOTH forward and reverse sequences--forward above axis, rev below: Mark
x Be sure to handle "reverse complement" appropriately
x When user revcomps, turn axis numbers from black to red (but don't change color
  used for bases): Nomi

x Add "report bug" menu item: Nomi
x (Also add link in userguide)

Coordinate systems: Suzi, Mark
x Local vs global numbering--GAME XML numbering starts at 1 in every
scaffold, regardless of position of scaffold on genome.  This has been
hacked to make display work for Sanger (which has a single coord system)
and us.
x For GAME data, does not show bases or start/stop codons when you zoom in: Mark, Suzi
x Also doesn't show sequence when you do "Translate"
x Can load XML from file, but if you try to load by query (e.g. gene,
  cytology), it doesn't work at all! 
  x Load by gene is working
  (Turrned out to be a bug in the XML, where the top level start was equal to end.)
  x Load by cytology, scaffold still not working - cytology worked for me

When you get to zoom level where you can see sequence, the aligned
sequence is wrong (doesn't match genomic).  (This doesn't work in
Berkeley branch, either.)
x The sequence is correct but it scrolls along, so if youre scrolled to the
middle of the hit it still shows the sequence from the beginning minus
the first base pair: Mark, Suzi
x Amino acid sequence is loosey goosey with scrolling in terms of where it 
is relation to the 3 base pairs its translating. Curators feel there should
be vertical lines delineating the codon and have the amino acid at the
start of the codon.
x This is actually a bop bug. The ordering of match range is often wrong
on the reverse strand, going against translation. Match range is used to
retrieve sequence so the sequence comes up wrong on reverse strand with
transcripts with multiple exons in wrong direction.  
x Need to update example.xml: Nomi
- Update screenshots: Nomi

Scrolling issues: Mark
x Direction of scrolling seems correct in reverse strand (as you drag scroller down,
 things scroll upwards in view) but backwards in forward strand
x Still is a minor vertical scroll bug on selection. Sometimes gets the scroll off by one line
  (e.g. search on CT33582.2 in file "josh")

Fix Find: Nomi, Mark
x Find in Sequence shows match starting at SECOND char, not first
x This error is printed when you Find Sequence:
  ERROR: set == null (sf.getRefFeature() returned null in findSets
x only highlights one thing even if more than one with that name
x centers on start of gene - should center on whole gene that it highlights
x should scroll to it (vertically)
- If thing found is on hidden strand, should show that strand

Mac-specific (?) bug reported by Hugh Robertson:
x In the Annotation Tree view, the + and - are replaced with arrow heads for
opening the gene annotations [need to mention this in user manual],
x but they don't always work, especially when trying to close a sublevel,
such as the exon locations.  (They work fine; you just have to click the
base of the arrow and not the pointy end.)

x Comes up with reverse-strand annotation scrollbar scrolled to the bottom, instead of the top.
If you reload the same file, comes up scrolled to the top as it should be.

x Make scrollbars on result and annotation panels always present (even if
they're not needed) to avoid pixel-counting problem.  Mark
This is changed back but suzi had to change pixel counting to include scrollbar area
because the axis does not have a scroll bar and wasnt aligning. One awkward side effect
is that a zoomed to feature gets cutoff by scrollbar.

x Error message on searching for sequence (Find Sequence):
  ERROR: set == null (sf.getRefFeature() returned null in findSets...
  (Not important; probably should comment out)

x Center axis numbers on tick: Mark (Suzi)
- Currently numbers are to the right (?) of the tick--this is confusing
Here's where to look:  in ScaleView.java:
       graphics.drawString((String)labels.elementAt(tickNum++),start.x + 2,start.y - 3);
- When we center the axis numbers, make the ticks line up with the base
(instead of being to the left of the base)
This has to be thought out as if the letter lines up with the tick, than the end 
letters of a result would get cut in half. Berkeley and sanger are different about
numbering. Berkely centers between ticks which gets confusing as it drifts 
from its tick. Sanger neumbers just to the right of the tick, which is still
confusing when zomed out it doesnt feel right that the number is not on the tick, 
when you zoom in its funny because a feature that ends at that tick number
will draw all the way to the next tick, which could be confusing.
I think a good solution would be to line them all up and then just draw the features
a half letter longer past the tick, and have features end on the tick they end on.
Non trivial issue.

xIf you resize the window and then zoom in, sometimes a vertical scrollbar appears in the
middle of the result area.   Mark
 To see this bug, turn off forward strand, reverse complement, resize apollo main frame.
 This was fixed when scrollbars made permanent again.

x Annotations should show amino acid sequence when you zoom in: Mark

From "Mark D. Garfinkel" <garfinkl@charlie.cns.iit.edu>:
	Here's a suggested feature (see, I did have something to report
after all): Right now, if you zoom-in or zoom-out, you get rather arcane
percent-zoom values. It might be nice to have a control somewhere, a popup
list or menu, that would allow the user to automagically set zoom to
{...25%, 50%, 100%, 200%...}. Something along those lines. [low]
x (I think it might make sense to have a "reset" button to set the zoom level
back to 1.  --NH)

x The axis numbering is starting at start - 1.
Sequence is starting one base pair before that.
When you zoom to sequence and scroll to beginning you get array index out of bounds
exception from ScaleView sequence stuff.

x Fix/extend "Translate": Mark [high]  (Now called Sequence...)
"Translate" should be called "Sequence...".  It should bring up a window
showing the DNA sequence in FASTA format, with buttons (to start):
	DNA	AA   Save	  Close
When you click "AA", the translated sequence should be shown in
the window; if you then do Save, it should save the translated seq in a
file of your choosing.
Right now, this functionality is split between several menu commands:
you can do "Output fasta file" for results (but not annotations) and
"Translate" for annotations (but not results).
"Sequence" should be enabled whenever you select a single result or
annotation--if you select multiple results, this command should be disabled
(doesn't make sense to show sequence for multiple features).  Also disabled
if you select a result that doesn't have sequence associated with it.

x Annotation panel in forward strand is coming up scrolled the wrong way again!  Mark
(Perhaps this is responsible for the scrollbar prob in revcomp mode.)

x update-timestamp.pl needs to look deeper: Nomi

Sequence...: (these are not exclusively SeqExport issues)
x Get buttons to line up in the middle
x when requested aminos shold stay amino for next selection
x when transcript selected in main window (exon double click or select tran thin line)
    it ends up sending the exons in the selection - should send transcript
x if a multi transcript gene is selected what should be displayed - 
	empty? 1st transcript? all transcripts separated by fasta headers?
	if empty should it still be empty for a one tran gene? 
	went with multi fasta - seems to make sense
x multiple transcripts of the same gene all seem to come back with the same sequence
	(see CG1116) - they all have the same genomic of course, different cdnas!
x gene sequence comes up for na sequence but not for aa sequence - the na sequence
	is probably one of the transcripts
	it now shows all the transcripts of the gene
x button for cdna (no introns)
x button for cds (start to stop)

Annotation info (text) editor: Mark [med]
x Window doesn't appear in Windows list
x Annotation info title not changing with selection
x Hears events from Annotation Tree but not from Apollo Panel

Fix Exon detail editor (BOFE). Mark,Suzi  [high]
x exons not appearing in rev strand
x transcript diagram not appearing
x rev strand comes up all wack - hafta resize to be normal  [seems ok now]
x Title of window is just "reverse" when looking at a reverse-strand annot.
Title for forward strand features is "Forward strand exon editor".
x bar in apollo viewer not draggable
x does not come up centered on the gene selected in main view

x "make dist" should be fixed
  [Replaced with "make zip" and "make tar"]
  - "make tar" works on linux but not solaris
x remove apollo/src/java/org/bdgp from apollo src and Makefile
x remember to remove unused classes from Makefile, too

x Test how much memory Apollo really needs.  What happens if we give it
less memory (with the -Xmx command-line flag)?  Mark

Fix Find: Nomi, Mark
x When you find something by name, it *looks* like it's selected, but it's not really selected--you
have to click on it again to select it. [high]
x 6/13/02: Find Sequence has gotten REALLY slow.  Can it be sped up?
x Says "Found sequence 0 times" even when it found a bunch of instances

This bug has been happening this morning occasionally, but we can't find a way to
make it happen:
Exception occurred during event dispatching:
java.lang.NullPointerException
	at javax.swing.JPopupMenu.setVisible(JPopupMenu.java:617)
	at javax.swing.JPopupMenu.menuSelectionChanged(JPopupMenu.java:1089)
	at javax.swing.MenuSelectionManager.setSelectedPath(MenuSelectionManager.java:78)
	at javax.swing.MenuSelectionManager.clearSelectedPath(MenuSelectionManager.java:110)
	at javax.swing.plaf.basic.BasicComboPopup.hide(BasicComboPopup.java:134)
	at javax.swing.plaf.basic.BasicComboPopup$InvocationMouseHandler.mouseReleased(BasicComboPopup.java:458)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:231)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:230)
	at java.awt.Component.processMouseEvent(Component.java:3715)
	at java.awt.Component.processEvent(Component.java:3544)
	at java.awt.Container.processEvent(Container.java:1164)
	at java.awt.Component.dispatchEventImpl(Component.java:2593)
	at java.awt.Container.dispatchEventImpl(Container.java:1213)
	at java.awt.Component.dispatchEvent(Component.java:2497)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2451)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2216)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2125)
	at java.awt.Container.dispatchEventImpl(Container.java:1200)
	at java.awt.Window.dispatchEventImpl(Window.java:914)
	at java.awt.Component.dispatchEvent(Component.java:2497)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:339)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:131)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:98)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:85)

x When you ask for a gene (e.g. cact) live from db (gadfly=true), it does not come up selected
(but it does if you ask for cact without gadfly-true): Mark
[This was xed as being done, but it's not working--try querying for gene "cact&gadfly=true"]

Fix Find: Nomi, Mark
- If thing found is on hidden strand, should show that strand
x If you do find Sequence and then do find Position or find Name, should remove old
  Position/Sequence results
- Add Reset/Clear button?
- Add Close button?

x There must be a memory leak. Every time a new file is loaded the memory increases by 5 or
10 Mb.  Get OptimizeIt and try to track down: Mark [high]
- Could we be starting new threads (e.g. for autosave) and not shutting them down?

x Popup menus stick around even when you don't want to select anything
from them.  Tried to catch mouse exited events and make popup menus go
away, but didn't work right.  Instead, add "Close menu" option to end of
all the popup menus: Nomi

Mouse event confusion:
x ctrl-left_mouse is used for tier dragging with three button mice.
  This is never going to work on Macs--there, ctrl-mouse means right mouse!
  Use shift-right_mouse instead

x Selection is very slow (esp. with multiple selections): Mark

Annotation tree problems: 
x Right-mouse popup menu comes up with one item, Edit Annotation, but
it's grayed out.
x If you select a gene in annotation tree, it selects in the apollo main window, but
its not a full select cos if you right click on it then some of the options are
disabled.

Make sure Apollo doesn't run out of memory on Windows (how is memory size being set?): Nomi

xZoom to selected: Mark
Zooms such that selected thing touches scrollbar on right.  Should leave a
smidge of space.
Be sure to check both non-3D and 3D modes.

Exon Detail Editor (BOFE):
x  null pointer exception on moving the mouse over the lower grey section:
also get same null pointer when clicking on sequence part where there is no exons:
java.lang.NullPointerException
        at apollo.gui.TranslationViewer$NavClickListener.mouseMoved(TranslationViewer.java:41)
        at java.awt.Component.processMouseMotionEvent(Component.java:3756)
x null pointer in BaseEditorPanel when menu is up and you click on exon screen instead of
 on a menu item. Menu should just go away i think :
java.lang.NullPointerException
        at apollo.gui.BaseEditorPanel$BaseMouseListener.mousePressed(BaseEditorPanel.java:274)
        at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:220)
x search should be case insensitive
x After search bofe search columns become "A" and "B" 

x Some problems with coloring of sequence residues when you select features
Let's make only the axis red in revcomp mode, not the bases.

Start/stop codons:
  x Don't expand when you zoom in
  x When res/ann features selected siteView not displaying stop and start for them
	(in berkeley a white start and stop shows up in SiteView)

Annotation info (text) editor: Mark [med]
x Insists on being on top, which is annoying--can't see main Apollo window
    This appears to be because it subclasses JDialog, which wants to be on top.
    Probably not worth fixing, as it would involve changing a lot of the class structure.

x Font in GAME adapter GUI too small on Windows and Mac: Nomi

x The GAME adapter is totally broken--it won't fetch anything!  Suzi [high]

If you read something with the Ensembl data adapter, and then try to read
a GFF file, it reads it, but throws exceptions.  One time I got:
Getting sequence for region /users/nomi/sourceforge/apollo.sanger/data/X.2000000-3000000.gff
Didn't set sequence because methods were not implemented
Making feature set for forward features
Making feature set for reverse features
java.lang.NullPointerException
	at apollo.gui.genomemap.SiteView._createSites(SiteView.java:248)
	at apollo.gui.genomemap.SiteView.changeSites(SiteView.java:159)
	at apollo.gui.genomemap.SiteView.setCentre(SiteView.java:168)
	at apollo.gui.genomemap.ApolloPanel.setLinearCentre(ApolloPanel.java:301)
	at apollo.gui.genomemap.ApolloPanel.syncViewLimits(ApolloPanel.java:288)
	at apollo.gui.genomemap.ApolloPanel.setSyncLimits(ApolloPanel.java:229)
	at apollo.gui.genomemap.StrandedZoomableApolloPanel.setCurationSet(StrandedZoomableApolloPanel.java:276)
Another time I got:
File: /users/nomi/sourceforge/apollo.sanger/data/X.2000000-3000000.gff
Bytes: 211061
Reading file....done
Parsing file....
Number of elements = 2561
Creating new feature property scheme for trace
Creating new feature property scheme for est
Exception occurred during event dispatching:
java.lang.ArrayIndexOutOfBoundsException: 1 >= 1
	at java.util.Vector.elementAt(Vector.java:417)
	at apollo.gui.TierManager.getTier(TierManager.java:86)
	at apollo.gui.drawable.DrawableSeqFeature.getYCentre(DrawableSeqFeature.java:68)
	at apollo.gui.drawable.DrawableSeqFeature.getBoxBounds(DrawableSeqFeature.java:114)
	at apollo.gui.drawable.DrawableFeatureSet.draw(DrawableFeatureSet.java:271)
	at apollo.gui.genomemap.FeatureView.paintView(FeatureView.java:125)
	at apollo.gui.genomemap.ApolloPanel.paintComponent(ApolloPanel.java:540)

x New bug (7/8/02): Suzi [high]
All the results of the same type are connected to each other, as if they
all belonged to one giant result.  If you click on a single exon, instead
of selecting just that exon, a few neighboring exons are selected--
probably the actual result (feature set), which is now hard to see
because every single exon of that type is all connected.  And if you
double-click, it selects every exon--the entire tier.  It's as if exons
have gotten promoted to the level of feature sets, and feature sets were
promoted to tiers.
Moreover, the reverse strand features look like an exact mirror image of
the forward strange features. 

Sequence...: (these are not exclusively SeqExport issues)
x button for genomic +/- 500 bp - with arrow adjustable range
x results have genomic and cdna but no cds and aa - should they?  [Yes!]
	xfixed for exons - still not coming for transcripts
	x should it disable cds if no start/stop? aa?
x some exons are not translating - only the first coding exon shows translation,
	the other coding exons dont show translation - i assume they should(?)
x doesnt deal with multiselect - should it and how? multiple fasta seqs
in file?  [Yes!]
x Not working for multiple result selections
	x If all the exons of a transcript are selected (or all the trans of a gene)
	should this be figured out and displayed as a tran or as separate exons?
	if figured who figures - at source?(selection manager) or at sink?(seqexport)
	NO
x cant get it to come up scrolled to the top - swing is being recalcitrant - 
	i struggled with this for a bit with no result - left struggles in code

x Finding of transcripts broken (e.g. look for CG31538-RA in example.xml).
x Doesn't visually select (or vertically scroll to) thing it found
(e.g. Q9P6Q2), although it does show info about it in detail panels.

Start/Stop codons: Mark
x Selection in reverse strand is not working right.  Start/stops are
selected only if you click on the first base, and then they're
highlighted in the sequence but not boxed.
x Won't drag, get error messages
HEY!, couldn't create a apollo.gui.drawable.DrawableTerminalCodon for stopcodon_frame1 because java.lang.ClassNotFoundException: apollo.gui.drawable.DrawableTerminalCodon
What did you mean (over nothing)

x Finish installer: Nomi and Erwin
x Install on Mac OS X from Web doesn't have any icon for Apollo--it looks like a blank
piece of paper.  Need special Mac icon.
  Issue is that we're making the Apollo executable combine the jar with a
text window; Mac can't make an icon for that hybrid.  See if we can
get stdout to go to a special console window instead.

x "Flip strands" menu item. If looking at one strand, flip to other strand
and also revcomp. (Disable this menu item if both strands are shown.)

x When you click on a result, it always highlights the sequence in the
reverse strand

x vertical scroll is all screwy--when zoomed in, features disappear until you hit the 
 scoll bar - even if nothing to scroll.  Mark, Suzi [high]
- This is a new (July 8) bug--July 3 version does not have this problem.
- another manifestation of what seems like the same bug is if you zoom all the way 
in and put the horizontal scroll all the way to the right and then hit 
zoom reset and then scroll horizontal and then do a vertical scroll a 
whole bunch of features suddenly appear

x SeqFeatureI uses longs while SequenceI uses ints. This should be made consistent.

[Couldn't recreate, so I guess it's fixed.  Hard to test now that we're using genomic
coordinates, so I can't find the exact spans described here.]
Click on Genscan span 14006-14358 and shift-click on 14503-15118 and drag down to blue 
or right click menu "Create gene model":
this blew it up threw exception and app crashed:
  "no_name"-no_type (9405, 13941)+ {apollo.datamodel.FeatureSet} No Scores false
    1) "no_name"-gene (9405, 9622)+ {apollo.datamodel.SeqFeature} No Scores
    2) "no_name"-gene (13245, 13941)+ {apollo.datamodel.SeqFeature} No Scores
Setting gene name to CG:temp1
AnnotView repair ADDing GENE on strand 1 top CG:temp1 feature1 no_name feature2 CG:temp1
java.lang.Exception: Failed to find annotation to repair on CG:temp1 of class apollo.datamodel.GenericAnnotationSet for event 1
        at apollo.gui.DrawableFeatureSet.parentOkay(DrawableFeatureSet.java:605)
        at apollo.gui.DrawableFeatureSet.repairFeatureSet(DrawableFeatureSet.java:564)
        at apollo.gui.DrawableAnnotatedFeatureSet.repairFeatureSet(DrawableAnnotatedFeatureSet.java:126)
        at apollo.gui.AnnotationView.handleAnnotationChangeEvent(AnnotationView.java:261)
        at apollo.gui.Controller.handleAnnotationChangeEvent(Controller.java:118)
        at apollo.gui.AnnotationChangeCoalescer.fireAnnotationChangeEvent(AnnotationChangeCoalescer.java:131)
        at apollo.gui.AnnotationChangeCoalescer.executeChanges(AnnotationChangeCoalescer.java:120)
        at apollo.gui.AnnotationEditor.addGene(AnnotationEditor.java:1594)
        at apollo.gui.AnnotationEditor.addGeneOrTranscript(AnnotationEditor.java:1355)
        at apollo.gui.AnnotationEditor.addGeneOrTranscript(AnnotationEditor.java:1337)
        at apollo.gui.menus.TierMenu.actionPerformed(TierMenu.java:355)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1450)

Double click and select from right popup "Annotation exon editor" > click on annotation > click on glyph to go to beginning of protein > click and drag to trim nucleotides off before start codon
* "Exon detail editor"
* seems to work spits out message - look into warning
WARNING: Used selection or cursor set multiple times

x new gene from create gene model not initially getting painted

Colors:
x Get Gerry to ok new tier colors
- Try to pick colors that work for color blind people (or is it good enough if
they can set their own colors in their tiers file, using the color tweaker?)

x Reconcile tiers.dat with gbrowse color scheme: Nomi

x Get InstallAnywhere to specify amount of memory for launching Java
(-Xmx100M): Nomi

x When you load a gene from gadfly, the window title is redundant.
The way Apollo is coming up with the window title seems to be based on
the sequence id and the arm,start,end.  For XML fetched from GadFly,
those happen to be identical:

<seq id="2L:16290113-16305185" length="15073" md5checksum="7c245059f408598c5cb77675d88ca314" version="0" focus="true">
    <name>2L:16290113-16305185</name>
...
    <arm>2L</arm>
    <span>
      <start>16290113</start>
      <end>16305185</end>
    </span>

so the window ends up being called 
"2L:16290113-16305185 from 2L: 16290113-16305185"--just a bit redundant.
Notice that the second 2L: has a space after it, so directly comparing
the strings wouldn't help detect the redundancy (is there an "equals
ignoring whitespace" method? or can we leave out that space?)

Navigation bar
x select a region by chromosome, start, end
x prev (< button), next (> button)
x I tried hitting "Load" without changing the chrom, start, end, and it said
"Location Chr 3R 969901 1262360 not found".  That's not right!  Could it be smart about
knowing whether you already had the region and say "3R:969901-1262360 already loaded"?
x While it fetches the new data, the display is unusable.  Make cursor a watch
so this is clear.
x handle bad input better 
x pulldown for chromosome arm names (put in apollo.cfg)
x Expand should make region 50% larger, not 100%.  Should change start/end, but
 not actually start loading new region.
x Same with <, >, which should be moved next to Start, End.
x If you change the arm but not the start or end, it says "already loaded".

x What is the "not analyzed" pull-right menu option supposed to offer?
(Needed to add stuff to apollo.cfg)

x Why is "delete feature" offered as a menu item for annotations but not for
results?  If it means "delete annotation", it should say "delete annotation".

"Next chunk", "previous chunk"
x Need to construct query to ask for next/previous scaffold: Colin
x Integrate into which-xml.pl: Nomi
x Add next/prev buttons to GUI: Mark
[Does next/prev make sense anymore if we're not using scaffold-based chunks?]

x Make default size of features taller
x Make starts and stops fatter as well (this is not controlled the same
way as feature height)
x Make starts and stop listen to +/-

Annotation info window
x Needs to be wider (in Edit mode)
x Gene comment panel is bumping into Annotation list panel--put a little space between them
x Closing annotation info window throws an exception and doesnt close if you 
select another gene in annot info - sporadic doesnt always happen.

x Make Apollo aware of annotation type so it doesn't let you translate pseudogenes.
Suzi wrote:
> As far as apollo and GAME xml the only thing that is translated
> (given a TSS) are those features of type 'gene'. There are likely
> to be other places in the code however (e.g. the menu for
> annotations) that ignore this distinction when activating protein
> pertaining functions.

x Check whether TSS is auto-adjusted when exons are added

x Show gaps as squiggly red lines.

x When you zoom in to show bases and select a feature and the bases are highlighted
in the feature color, it's also making the bases at and after the feature the
color of the feature (e.g. blue annotation -> blue bases).

Color bases by splice site potential:
x Popup option near axis, "Color bases by splice site potential", is drawing the
forward and reverse strands on top of each other--fix: Mark

Make relative paths (e.g. data/example.xml) work:
x When doing Save As GAME XML
x When reading in GFF files (GFFAdapter)

Problems when switching to new data adapter (Mark knows about these):
x Weird blinking
x Doesn't always seem to get new style/tiers before drawing (when you
switch from GAME -> GFF or Ensembl, display is mostly flavorless)

x Don't compile CORBA adapter by default

x apollo.history should be moved to default_apollo.history in cvs. If apollo.history does not
exist then default is copied to apollo.history.

Sequence window:
x when exon sequence is requested from pop up annot menu transcript sequence comes up
 	if you select the exon again while window up you get exon sequence
	thats because annot mane turns all selections into transcripts,
	should probaly use actual selection rather than popups process of it
x should there be a way to unlink from selection so you can see mutliple sequences
	at once - if so how? with a button? only most recent follows selection?
	most recent window reflects selection - old ones stay static
x could have a top menu item for seqexport since it follows selection its not just 
	specific to current selection - yes
x If the current dataset has no sequence, shouldn't ever offer Sequence menu item-YES
	but this might be hard with ensembl lazy sequence - yikes
	: seems to work ensembl lazy - though it churned a bunch of funny messages
x button for genomic +/- 500 bp 

Coordinate systems: Suzi, Mark
- Check to make sure we're doing one-based (not zero-based) numbering everywhere
x With Ensembl navigation bar, there seems to be an off-by-one error--if you ask
to extend the sequence, you get 200,001 more bases.

Use Xerxes XML interpreter instead of Sax--smaller footprint
- Suzi switched to Crimson--need to test.

- If you try to load a gff file from the command line, it throws an exception:
bin/apollo -s -g data/chr2.200000-4000000.gff
...
java.lang.NullPointerException: Can't accept feature name of null. Use RangeI.NO_NAME instead.
	at apollo.datamodel.Range.setName(Range.java:23)
	at apollo.dataadapter.GFFAdapter.getCurationSet(GFFAdapter.java:83)
	at apollo.gui.DataLoader.getData(DataLoader.java:232)
	at apollo.gui.DataLoader.getCurationSet(DataLoader.java:128)
	at apollo.gui.ApolloFrame$4.run(ApolloFrame.java:677)

x "Set owner" throws exception

x Dragging results into annotation area doesn't create annotations.  Mark says
this is because it's not getting the EnableEditing parameter from Config at
the right time (so be on the lookout for other such errors).
x Weirdly, dragging a forward-strand result into the annotation area results
in flipScrollBar being called.  wtf?

x When you turn on labeling of annotations, the scrolling gets funny (even though
it looks like there's nothing to scroll) making the annotations disappear!

x Annotations and results are bumping into the edge of their area, not leaving
room for selection box when they are selected.  Can we leave a little
more room at the edge?
- This change happened between versions 1.1.5 (has a bit of space) and
1.1.6 (doesn't).

x Trying to load a range in GFF mode results in
  java.lang.NullPointerException
	at apollo.gui.genomemap.MovementPanel.actionPerformed(MovementPanel.java:208)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1450)
We shouldn't have a Naviagation bar for GFF mode, only for Ensembl CGI.

x If cancel is hit on the chooser ya lose the old data set. This is because the features
are cleared before the chooser is brought up. The clearing could move to adapter.doOp 
but then the adapters have to know the gui. Other solution is to have a newDataSet
notification coming from the chooser that the gui listens to.
x Also problematic:  Save As (sometime) clears the gui so it's now empty.  (I was
doing Save As on chr2.2000000-4000000.gff to save it as GAME.)

x Reading test1.gff throws lots of errors
java.lang.ArrayIndexOutOfBoundsException: 7 >= 7
        at java.util.Vector.elementAt(Vector.java:417)
        at apollo.gui.TierManager.getTier(TierManager.java:93)
        at apollo.gui.drawable.DrawableSeqFeature.getYCentre(DrawableSeqFeature.java:68)
        at apollo.gui.drawable.DrawableSeqFeature.getBoxBounds(DrawableSeqFeature.java:114)
        at apollo.gui.drawable.DrawableFeatureSet.draw(DrawableFeatureSet.java:272)
        at apollo.gui.genomemap.FeatureView.paintView(FeatureView.java:125)
        at apollo.gui.genomemap.ApolloPanel.paintComponent(ApolloPanel.java:541)

x Choose config file (and, as a side effect, tiers file) based on which DataAdapter is used
x What we decided is that there should be a global config file that lists data adapters
and their corresponding "style files" (like apollo.cfg).  More than one data adapter
may share a style file.  The style file will say which tiers file it uses.  Most of
the options that are currently in apollo.cfg will stay there--only a few things will
move to the new global config file.

x Cursor changes to watch while loading, and won't go back to a normal
cursor when done loading. [Got rid of watch--chooser progress bar shows
you something is happening.]

x If you read data/test1.gff and then data/example.xml, the scrollbars
don't initialize right (forward strand is not scrolled to beginning).
Probably the scrollbars are trying to initialize before the new tiers
have been read.

Sequence title:
x Title of window when using Ensembl CGI is wack:
"2 from Chr 2 200000 4000000:20000-4000000"   Try to remove the redundancy!
x If you save example.xml and reload it, it loses the title (which Apollo
must be getting from the seq id= tag, since it doesn't seem to be getting
it from <name> as you might expect).
example.xml has   <seq id="AE003603.Sept" length="292460" md5checksum="2e451a63bae71f3ce18aa27c11cbc116" version="0" focus="true">    <name>AE003603.Sept</name>
but after saving it has   <seq length="292460" focus="true">    <name>AE003603.Sept</name>

Annotation info window
x If you add new freeform gene or transcript comments they show up right away, but
canned comments don't
x Type pulldown not aligned with others
x Panel on right that shows canned comment pulldown doesn't appear if
there aren't any comments yet for a gene (e.g. CG1161).
x No longer showing user colors (this is a recent problem)

x When looking at Ensembl data, selecting a stop codon highlights seq in red, but
if you select a start codon, it highlights in pale gray.  Check tiers.

Navigation bar
x Visual indication that you need to hit Load to get your new region
- Would be nice if you could cancel while it's fetching data (cancel would
also be nice to have when loading from GAMEAdapterGUI)
x Throwing exception for Ensembl data

Scrollbar problems: Mark
x Scrollbars for results and annots get scrolled wrong when you revcomp, and wrong again
when you unrevcomp
  x If this is too hard to fix, maybe we should just set the scrollbars
back to their initial positions, rather than letting them get set to some
random position.
- Sometimes we get scrollbars when they're not needed--everything is already visible.
[Is that fixed?]

x Mac-specific problem:  annotation info table has header (Type, ID Value, DB name)
but data in table doesn't show up!

x Find sequence: matching sequences show up in list with extra base at the
beginning. Suzi.

Scrolling issues: Mark
x vertical scrolling to selection needs to be put in for all external selection - should just
	be part of selection
- Thought i fixed this but if you bring up cact gene, it does not vertically scroll to the selected
cact things in result view.

Popup menu can get all screwy and disappear on mouse movement - quite strange
[Can we come up with conditions for recreating this problem?  Never saw
it again.]

x Flip is doing the wrong thing:  if you have the forward strand up, flip
should show the reverse strand ON TOP.  If you have the reverse strand up,
it should show the forward strand ON TOP.  Always show a strand on top.  Nomi

x Red selection color is too close to red of blast hits.  Make blast hits oranger
and selection color pinker.  Nomi

Get live data from DB: Colin [high]
x Ideally, should be able to query the same ways we can query GadFly from Web interface:
  - Cytological location
  - Gene name or synonym (with wildcards)
  - Chromosome arm + coordinate and/or scaffold + coordinate [need GUI]
  - BLAST similarity to query sequence (Nomi did proof-of-concept)
    (This needs more work--it doesn't seem to be working right)
  - Function
  - Process
- Let user specify how big a range they want around the "found" region
- For all queries, if there are multiple answers, put up selection box

x "Delete annotation"--I thought I changed this to "delete selection".  It
works on single exons, so it shouldn't just say "delete annotation".

Someone changed this in ApolloFrame.  Now we get 12 error messages
"Warning: couldn't find apollosplash.jpg anywhere" when Apollo starts up.
For now, I reverted to the old way.
< 		File splash = new File(System.getProperty("APOLLO_ROOT") + "/data/" + apollosplash);
< 		Config.ensureExists(splash, apollosplash);
---
> 
> 		String splash_path = Config.findFile(apollosplash);
> 		File splash = new File(splash_path);
> 		Config.ensureExists(splash, apollosplash); // gets from jar

Gene transcript menu is not in menu panel anymoere--where did it go?
Bookmark menu missing also

Problems with Find:
x Find sequence is enabled even if we don't have sequence, e.g. with
smaller_example_no_seq.xml (see FindPanel.java, line 165)
x vertical scroll to not working again (e.g. Q9FZ55 in example.xml)
x Sequence selection color became pale gray.
This is because of the kludgy way sequence selection is done.
> 	// This is a hack--to highlight the sequence selection, a bogus sequence feature
> 	// of type "String" is created.  Since there is no type "String" defined in tiers.dat,
> 	// the sequence selection is colored the default feature color, which used to be green
> 	// but is now pale gray.
> 	//	SeqFeature fake = new SeqFeature (low, high, "String", strand);
> 	// To get around this, I'm defining a type "Sequence selection" in tiers.dat.
> 	// THIS IS ALSO A HACK, and should be removed from tiers.dat when we come up with a
> 	// better way of doing sequence selection.
> 	SeqFeature fake = new SeqFeature (low, high, "Sequence selection", strand);
- SequenceSelectionEvent needs to be separated out of FeatureSelectionEvent, 
	currently it's hacked in as part of FeatureSelection

x Bug in installer makes it impossible to change JVM heap size on Mac!
Need perl script workaround to change VMOptions in Apollo.app/Contents/Info.plist

SourceForge bug tracker: Nomi
x Set up separate bug tracker for Apollo
(https://sourceforge.net/tracker/?func=add&group_id=27707&atid=462763)
- Add these bugs to that bug tracker

Message to stdout that could be commented out:
- Substring e CG15532-RB exon 5 leftCoord 26176028 on feature at 1208 TSS 26173150 on feature at 203 leftVisible 26176028 feature Tstart 26175455 aa_offset 335 for peptide MLIGHHLRVDSGGNSGVGIEDEGNHGNDETRLFILSSLAQSQMSRVACILCEEPLLVFDRYPLVDGSFFLSPKQHSSGCIEVKYEGRTLYLTCVCMSCLDGTSSSRAINCRFCKEPWDGSSLVLGTMYAYDIFAAMPCCAERFKCNNCFKMLMHPQQRLSFYSDYSHGVTCPYCNTQDTHFVKPLTFCYAKTTATRLPTLA length 201
x What did you mean (over nothing)
  (When dragging codons to the wrong strand)

Throws exceptions when trying to draw bases for Ensembl data:
- Exception drawing gaps when you bring up ensembl on chr 1:100000-110000
java.lang.ArrayIndexOutOfBoundsException
        at apollo.gui.genomemap.ScaleView.drawGaps(ScaleView.java:418)
        at apollo.gui.genomemap.ScaleView.drawSequence(ScaleView.java:234)
- If you bring up ensembl on chr 2: 200000-300000 and then zoom in, you get a
different exception:
java.lang.ArrayIndexOutOfBoundsException: chars [offset + count]
	at sun.awt.font.NativeFontWrapper.drawCharsIntDiscreteRaster(Native Method)
	at sun.java2d.loops.ICRDrawCharsRasterContext.invoke(TextRendering.java:537)
	at sun.awt.image.BufferedImageGraphics2D.drawChars(BufferedImageGraphics2D.java:1275)
	at sun.java2d.SunGraphics2D.drawChars(SunGraphics2D.java:2296)
	at apollo.gui.genomemap.FastClippingGraphics.drawChars(FastClippingGraphics.java:63)
	at apollo.gui.genomemap.ScaleView.drawFeatureBases(ScaleView.java:388)
	at apollo.gui.genomemap.ScaleView.drawSequence(ScaleView.java:261)
	at apollo.gui.genomemap.ScaleView.paintView(ScaleView.java:179)
	at apollo.gui.genomemap.ApolloPanel.paintComponent(ApolloPanel.java:574)
[I have prevented these exceptions from happening, but I'm afraid there's an underlying
problem with coordinate numbering that is not addressed by my fix.  Need help from Suzi.]

Another place where we get exceptions when dealing with Ensembl sequence:
Color bases by splice site potential throws exception:
java.lang.StringIndexOutOfBoundsException: String index out of range: 105
	at java.lang.String.substring(String.java:1522)
	at apollo.gui.genomemap.ScaleView.setSpliceColor(ScaleView.java:338)
	at apollo.gui.genomemap.ScaleView.drawSpliceBases(ScaleView.java:287)
	at apollo.gui.genomemap.ScaleView.drawSequence(ScaleView.java:252)
	at apollo.gui.genomemap.ScaleView.paintView(ScaleView.java:179)
	at apollo.gui.genomemap.LinearView.paintView(LinearView.java:132)
	at apollo.gui.genomemap.ApolloPanel.paintComponent(ApolloPanel.java:571)
	at javax.swing.JComponent.paint(JComponent.java:687)

x Minor, but annoying: the first time you select "Open" from File menu,
main window blinks before data adapter chooser comes up.  (Doesn't
blink on subsequent invocations of the chooser.) [low]

User colors (defined in apollo.cfg) are being ignored.  Annotations
should be shown in different colors (or should they?).  (It does seem to
be using user colors for the text in the annotation info window.)

x Transposon match range is always -1 to -1 (see, e.g., AE002786.May)--is
that right?
[Don't have match ranges for transposons.]

When there is no sequence associated with a dataset, many things go wrong.  Need to
deal with this case, because the Ensembl data doesn't have sequence.
To test with GAME: use data/smaller_example_no_seq.xml
To test with GFF: use data/X.2000000-3000000.gff
- Some menu items (e.g. Show GC) are disabled if there's no sequence.
But the Ensembl data adapter fetches sequence when you zoom in, and those
menu items do not become enabled.  They should. Need to use isSequenceAvailable method - 
designed for this purpose
x Find doesn't disable Find Sequence when there is no sequence (see FindPanel.java)

x Fix FASTA sequence titles in seq window
FASTA sequence title in sequence window uses feat.getName()
x For Ensembl features, this results in stupid names like "static30"
x For GAME features, Annotations work fine but features have names like
":1545815 span 2"
Need to get the name the same way detail panel does

If you show the About window, then close, then try to show again, it doesn't
deiconify.  (Oh well.)

Evidence for annotations
x Description of evidence is blank for existing evidence
(Removed evidence column)
- When you add a result as new evidence, the Evidence detail box gets the name of the object
(apollo.gui.drawable.DrawableResultSeqFeature@7f0d94)--not very informative!

x Should there be a separate config directory for apollo.cfg and tiers.dat,
instead of having them in data?

Some data shouldn't be shown: Nomi, Colin
x Update tiers.dat, set some types not visible
x Some result types should be left out of XML files
x Any annotation with comment "internal=true" shouldn't be displayed
(really shouldn't be in XML at all)

x Augh!  Drag to create annotations is broken!!

x The "Save" menu option should be disabled if you didn't read the data
from a file.

x On Mac, the pulldown chromosome arm has room for only one letter--4 
and X show up if selected, but 2L is shown as "..".
x In GAME adapter GUI, the html text for the Sequence tab doesn't fit
in its space.
x On Mac, chromosome label is floating too high

Analysis control (Tweaker)
x Make the restriction enzyme selector do something
x Add "show GC content" (radio?)button to GC tweaker
x Analysis control window doesn't reappear if you show/hide (Types panel
used to have same problem)
x Analysis control window should be added to Windows list
x When user requests other kind of analsys (GC Window Size or Restriction Enzymes),
relevant tabbed pane doesn't come to front

GFF parsing problems:
x Feature name is always "no_name" in detail panel.  This started with version 1.1.6--in
1.1.5, the Name field said the same thing as the header in the righthand detail panel.

x Don't show comments that have internal=true or contain the text
"internal view only", unless secret "AtFlyBase" flag is set in config file.

x get Sequence title in the manner that detail panel gets it - not feature.getName()
	exons have ugly names - i think the name adapter should rename the 
	exons: transcriptName exon # - discuss with suzi

Gene transcript menu:
x smaller font
x suzi made it show genes (rather than transcripts) in berkeley - put in sanger
x Make apollo history that includes examples for all data adapters

x Make apollo history that includes examples for all data adapters

x When you do Save As, it should force the File tab to the front and
disable the other tabs.

Problems on Windows
x It can't copy history.default to apollo.history.  Permissions problem?
Problem with backslashes vs. slashes?
x Also can't Save As--problem with relative paths?
caught exception opening C:\Program Files\Apollo/data/C:\bdgp\AE003650.xml
C:\Program Files\Apollo/data/C:\bdgp\AE003650.xml (The filename,
directory name, or volume label syntax is incorrect)
java.io.FileNotFoundException: C:\Program Files\Apollo/data/C:\bdgp\AE003650.xml
 (The filename, directory name, or volume label syntax is incorrect)
        at java.io.FileOutputStream.open(Native Method)
        at java.io.FileOutputStream.<init>(Unknown Source)
        at java.io.FileOutputStream.<init>(Unknown Source)
        at apollo.dataadapter.GAMEAdapter.commitChanges(GAMEAdapter.java:244)
        at apollo.dataadapter.GAMEAdapterGUI.doOperation(GAMEAdapterGUI.java:99)

[punting on this]
How is the max zoom level set?  It doesn't need to zoom so far in (does each base
really need to take up several inches of space?). 
This is hardcoded into StrandedZoomableApolloPanel setZoomFactor as 1 billion.
Should be relative to the sequence length. [low]

x For GAME, make DashSets true.  (Need to make it a style option, not just
an apollo.cfg option.)

x Completed annotations have a black box around *introns*--should be around
exons (or maybe not at all?).

x Put appropriate canned comment options in style file

After creating a new annotation, I was unable to unselect some of its exons, but
was not able to recreate the problem.

x Put release 1.1.8 on SourceForge; email users

x Berkeley branch is still the "main" apollo branch--the untagged one.
Since we're going to stop developing on it, we should tag it and then
make it not be the main branch anymore, if there's a way to make the
sanger_branch the main branch w/o losing CVS history.
x Need to move old main branch to "berkeley_branch"
x Add explanatory README to both branches
x Disable Makefile and bin/apollo in sanger_branch--they now just tell
you to go to the main branch.

x Ticking a Label box in the Types panel throws an exception:
Exception occurred during event dispatching:
java.lang.NullPointerException
        at apollo.gui.PropertyPanel.actionPerformed(PropertyPanel.java:153)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1450)
[9/12: The call that is throwing the exception is
    ap.putVerticalScrollbarsAtStart();
I can avoid the exception by saying
	if (ap == null) {
	  System.err.println("PropertyPanel: ap = null");
	  return;
	}
	else
	  ap.putVerticalScrollbarsAtStart();
instead, which prevents the exception but then the scrollbars don't
reset when you turn on labels.  But this worries me--why is ap (which
comes from a call to szap.getApolloPanel() in ApolloFrame.loadGUIRun)
null?  What other ramifications might this have?  (I'm surprised more
things haven't broken from this.)]

Annotation info window
x If you look at another gene's info in the same window, then when you try to
close the window, the "Save your changes?" message shows up 
even if you haven't made any changes.
x If you change the annotation type and then do Commit, you get a nullpointerexception
x Reported in Berkeley version; is this true in our version?
   Currently, if
   you set the annotation type to something else than a "gene", then in the
   text editor, the "transcript" field becomes blank (after you save the file
   and re-open again).  Thus there is no way to set the names of the
   transcripts, or add a comment to a particular transcript. This only occur
   after you have saved the file and re-open. So you can sort of name the
   transcripts and add comments but next time when you open it, the names
   are lost.

x When a bunch of results are selected, sort by descending score in detail panel
For score (left-click) should sort in descending order,
shift-left-click should sort in ascending order (currently the opposite)

Color bases by splice site potential:
x Coloring is wrong--seems to not revert to black for non-special pairs.
x It's now coloring only the second "special" base--e.g. for GT, T is colored red
  but not G.  Is that ok?

x FeatureBackgroundColor and EdgematchColor should be Style options, not
just Config options.  Problem is that they are set before Style is set.

Annotation labels
- When you turn on annotation labels, the annotation panel might need a
scrollbar, but sometimes doesn't get one (e.g. gene:CG32315)
x Should annotation labels be turned on by default?  (Jon Tupy thinks so.)
x Need separate variables for annotation label and result label colors

x If you're zoomed in (on a GAME XML region) and then try to open a new
GAME region, it throws an exception:
java.lang.ArrayIndexOutOfBoundsException: 0 >= 0
	at java.util.Vector.elementAt(Vector.java:417)
	at apollo.gui.TierManager.getMinimumVisibleTransformCoord(TierManager.java:155)
	at apollo.gui.TierManager.getYRange(TierManager.java:387)
	at apollo.gui.genomemap.ScrollableTierView.getYRange(ScrollableTierView.java:548)

x Axis color is being used to color residues on features when you zoom in
to the base level.  This is ok when axis color is black, but problematic
when it's red because we're revcomped.

x Color of dashed lines (representing EST gaps) is wrong.

x Create gene model (right mouse popup menu option)--new gene model may not show up
until you do something that forces a redraw!
x It seems to draw right away if you do it with a forward-strand feature,
but not if you do it with a reverse-strand feature.
If you create a gene model by dragging, it shows up--problem is only
with "Create gene model" menu item.

Windows 2000/XP bugs:
x If you open the file load window and then select another open window and
return to the Apollo window, the file load window is gone (probably buried)
and Apollo is unresponsive bcs of modal grab.  Maybe we can force the file
load window to stay on top?

Mac bugs:
x Annotation popup menu pops up and then disappears, unless you hold down
mouse button.  (Tier popup menu for results doesn't have this problem.)
Strangely, this seems to happen for REVERSE STRAND ONLY.  Forward strand
is ok.
x Memory fixer fails the first time and has to be run a second time; then
it works.

- Types panel comes up small  [oh well, it's big enough]

x Fix doc/NOTES (developer notes): Nomi

x Add note to top of install web page:  "To automatically run the
installer, wait for the Java button below "Recommended Installation for
Your Platform" to load, or use the appropriate link below to manually download
the installer."

User colors:
x Apollo should color annotations by creator.
x Before next release, turn off user colors in public view by setting AutoTranscriptColouring
to false in apollo.cfg
x When AutoTranscriptColouring is off, annotation introns are still shown
in user color, not generic annot color

x Fix version numbers in SourceForge bug tracker

x Move Apollo mailing list to SourceForge (or to fruitfly.org?)
On 4 June 2002, Ewan Birney wrote:
 > In the long term- can we move the apollo mailing list off my hands and
 > into source forge? (with someone other than me doing the admin!)

New bugs from Synteny merge:
x When you load a region by gene, sometimes the gene doesn't get selected
  e.g. load CG32315--doesn't get selected.  But then if you do "Open new"
  and load it again, it does!!
x Ticking a Label box in the Types panel throws an exception

x When you select a gene from the Gene menu, it gets selected but not
zoomed/scrolled to.

Annotation creator colors and names:
x When annotations are shown in user colors and you select an annotation,
the sequence highlight is blue (default annotation color), not the user
color.  [not a big deal]
x If we're not at Berkeley, hide FlyBase annotation creator names (make
them all say "FlyBase")
- Should we list FlyBase curators in style file, rather than in java
code?  Wouldn't really solve any problems--still need to get outside
users to get a new config file if a FlyBase curator is added.  That's
just as hard as getting them a new jar.

x Need to update Annotation Info Editor window when a new transcript is
added.  Even when you close and reopen it, the transcript list doesn't
get changed.  It seems like somehow it's not using the new changed
annotation object.
x Now it updates fine when you add the new transcript, but if you go to
another gene in the annotation info window and then go back to the gene
that you added a new transcript for, it still shows only the old
transcripts.

Color bases by splice site potential:
- Ask curators about better colors

Problems with redrawing annotation panel after new annotations are added:
x When labels are turned on, it forgets to allocate space for the labels
x If feature height was changed (+/-) all annotations are reverting to their
original size when you add a new annotation
(When you zoom, annotation panel then redraws properly)

Exon Detail Editor (BOFE):
x When you right-click towards right edge of exon editor, menu sometimes
falls off the right edge of the screen.
x Not showing sequence
x Also, line that shows the region we're viewing in Exon detail editor
is in the wrong place.
x selecting right mouse off by one base (could this be same issue as
off-by-one Find Sequence?)
x reverse features coming in backwards - probably paint method wrong

x What is "calculate longest ORF" supposed to do?  Doesn't seem to do anything;
longest ORF seems to be recalculated automatically.

Gene transcript menu:
x sort genes in alphabetical order

x When you delete an annotation, it doesn't disappear until you click on
something else.

x Load data/fall-off-edge.xml.  Select CG32315-RA (single-exon gene) and try to delete.
java.lang.ArrayIndexOutOfBoundsException: 0 >= 0
	at java.util.Vector.elementAt(Vector.java:417)
	at apollo.gui.drawable.DrawableFeatureSet.getMaxBounds(DrawableFeatureSet.java:207)
	at apollo.gui.drawable.DrawableFeatureSet.wantToDraw(DrawableFeatureSet.java:335)
	at apollo.gui.drawable.DrawableFeatureSet.draw(DrawableFeatureSet.java:270)
	at apollo.gui.genomemap.FeatureView.paintView(FeatureView.java:128)
	at apollo.gui.genomemap.ApolloPanel.paintComponent(ApolloPanel.java:589)

Problems with genes that straddle the edge of the segment:
x If a gene goes beyond the current range, exon detail editor comes up
w/o sequence (e.g. 3L:1765584-1778799, look at Cdc37).  Should probably
disable exon detail editor option on menu.
x If one of these edge genes is edited, changes don't get saved in db.
Pop up warning box if user tries to edit edge gene.

x Store deletes and changes in the xml: Colin
(Colin made this change in Berkeley branch--needs to be done in this
branch, too)
Chris M wrote:
what i would love would be some xml tags in the output showing what
annotations are modified, new and deleted in a session. it doesn't need to
track splits / merges, i just need to know which have been modified in
some way. these should be persistent across sessions, ie if the curator
goes home for tea and comes back the next day and restarts apollo on the
same xml the modified list in the original session is not lost. then when
i export xml from gadfly, i reset the list.
x <deleted_transcript>'s are now saved in the xml generated by Apollo (as 
well as <deleted_gene>'s and <changed_gene>'s).  This has been checked 
into the berkeley_branch.  (Needs to be added to main branch.) [Colin]

x The lazy loading of sequence is currently being prevented (all sequence is
being loaded at startup) because the checks for the presence of sequence
(such as haveSequence() in ApolloFrame) are calling getResidues() on the
sequence object (I've removed these calls a couple of times in the past).
The sequence object must fetch all its sequence when getResidues() is
called. getResidues() calls should probably never be done on the genomic
sequence, only getResidues(start, end). For haveSequence() type methods a
getLength() call would probably be better or if thats not possible
checking whether the seq is an instanceof LazySequenceI and then NOT doing
the getResidues() calls if it is.
Problem: getLength() returns a length even if we don't have the actual
sequence, and GAME XML sequences are instances of LazySequenceI even
though they're not actually doing lazy loading yet.

x Sometimes search by gene (e.g. CG32315) doesn't zoom in properly.
Comes up with huge range, and all features squinched up in the center.
Zoom-in buttons disabled, for some reason.
If you say "reset", it goes to a reasonable zoom level, but doesn't add
needed scrollbar to annotation view, so CG32315 appears to vanish!
10/14: This morning I tried opening CG32315 and it worked fine!  I can't
remember whether I had opened another region first.
Now, this afternoon, a fresh load of CG32315 gives the squinched-up
behavior, and a second load results in a zoomed-in view that doesn't show
CG32315 at all!  ARGH!
- If you load the region 3L:1769254-1775129 instead of requesting
CG32315, it comes up looking fine.  Then if you do a Find on CG32315, it
zooms in, but is not showing CG32315!  Looks like a problem with vertical
scrolling.  (Perhaps this relates to the yindex problem??)
- I just noticed this problem with Adh and Akh using gadfly=false, but
if I asked for Akh a second time in the same Apollo session, it worked
fine!

x Names of exons are being changed--need to make sure not change in XML,
even if we want to change them for display.
x Saving example.xml and reloading results in lots of "Not dealing with
seq element name" messages

"Invert screen colors" not working right
x Check Sequence and Annotation Info window colors when colors are inverted.
x Edgematch color not inverting

x When you make evidence panel vertical, the vertical panel splitter cannot be moved.

x Enable users to have their own .apollo directories.  Be sure to save
history in .apollo if it exists.

x For curators, need to get Apollo to talk to gadfly3 via Colin's script
(currently uses public gadfly database).
x Missing from live-from-GadFly data: Genie predictions, Release 2 genes

x If you delete an exon or merge transcripts, the transcript redraws in the
generic annotation color, not the user color.
(It's ok--it's actually drawing in the new user color, which if
undefined, appears as the generic annotation color.)

x Make edgematches thicker

x Make sure copying of default history is still working

x Add Apollo version string to saved XML

x When you open the Annotation Info window, a transcript is shown as
selected, but the transcript comments don't appear in the Transcript
Comments list until you select another transcript and then reselect the
original one.  e.g. CG17834-RA in AE003621
x When transcript comments are added/deleted, big comment text window
doesn't refresh appropriately.

x Annotation types (gene, tRNA, transposon, etc.) should be listed in style
file (we said in paper you could do this).

x Got exceptions when selecting some genes in annotation info list for
AE003621 (e.g. select CG17834-RA, open annotation info window, select
CG17834-RB in transcript list):
(Fixed in TierManager, but not sure fix is right--need to really fix
vertical scrolling!)
Exception occurred during event dispatching:
java.lang.ArrayIndexOutOfBoundsException: 6 >= 5
	at java.util.Vector.elementAt(Vector.java:417)
	at apollo.gui.TierManager.getTier(TierManager.java:96)
	at apollo.gui.drawable.DrawableSeqFeature.getYCentre(DrawableSeqFeature.java:98)
	at apollo.gui.genomemap.ScrollableTierView.isVerticallyVisible(ScrollableTierView.java:416)
	at apollo.gui.genomemap.ScrollableTierView.verticalScrollToSelection(ScrollableTierView.java:395)
	at apollo.gui.genomemap.FeatureView.verticalScrollToSelection(FeatureView.java:589)
	at apollo.gui.genomemap.FeatureView.select(FeatureView.java:581)
	at apollo.gui.genomemap.ApolloPanel.handleFeatureSelectionEvent(ApolloPanel.java:802)
	at apollo.gui.Controller.handleFeatureSelectionEvent(Controller.java:159)
	at apollo.gui.SelectionManager.fireFeatureSelectionEvent(SelectionManager.java:159)
	at apollo.gui.SelectionManager.select(SelectionManager.java:73)
	at apollo.gui.SelectionManager.select(SelectionManager.java:94)
	at apollo.gui.FeatureEditorDialog$4.valueChanged(FeatureEditorDialog.java:513)

x Gene menu is sometimes too long for screen.
Also, on my home Linux box, selection in gene menu is screwy.

Annotation info window
x When you delete a comment it doesn't disappear
x Not added to window list
x Add checkbox for "completed"
x Sort gene list alphabetically

x Querying gadfly3 by range (e.g. 2L:12345-67890) not working.

x If a gene goes beyond the current range, exon detail editor comes up
w/o sequence (e.g. 3L:1765584-1778799, look at Cdc37).  Should probably
disable exon detail editor option on menu.

x When we're revcomped, change main window title to reflect this.

Problems with duplicating transcript:
(x) Duplicating transcript for non-gene transcript causes error
	****** DUPLICATING TRANSCRIPT ******
  "CR31541-RA"-transcript (1094800, 1095229)+ {apollo.datamodel.Transcript} No Scores false
    1) "CR31541-RA exon 1"-exon (1094800, 1095229)+ {apollo.datamodel.Exon} No Scores
Setting trans of gene CR31541 to CR31541-RB from no_name
Unable to set translation start to 0 for CR31541-RB
Exception occurred during event dispatching:
java.lang.ClassCastException: apollo.gui.drawable.DrawableResultFeatureSet
	at apollo.gui.drawable.DrawableAnnotatedFeatureSet.repairFeatureSet(DrawableAnnotatedFeatureSet.java:184)
	at apollo.gui.genomemap.AnnotationView.handleAnnotationChangeEvent(AnnotationView.java:258)
	at apollo.gui.Controller.handleAnnotationChangeEvent(Controller.java:126)
(Fixed by changing name of conflicting result type for pseudogene
results, but it's not the best solution)
x Select (and scroll to, if needed) newly duplicated transcript.
x It looks like there was no start of translation for CR31541 because it's
a pseudogene.  Don't try to set start of translation for non-coding genes.
- When you duplicate CR31593, the duplicate appears where the original
was, and the original moves up higher in the stack.  (When you duplicate
genes, the duplicate transcript appears right above/below the original.)

x When you bring up Apollo and the dataset you attempt to load doesn't
work, it would be nice if Apollo gave you another chance instead of
quitting.

x If one strand is turned off and then you load a new region, the blue
annotation area for the turned-off strand reappears.

Annotation info window
x Problem changing gene comments (reported by Andy Schroeder, Oct 25):
When you add or delete a Gene comment and do Commit, then reopen
Annotation Info Panel, Gene comment hasn't changed.
x If you change other properties in the Annotation Info window
and hit "Commit", change doesn't get saved
  x Type
  x Finished
x "Save changes?" doesn't show up when some fields were changed,
e.g. "evaluation of peptide"

x If you try to load a new region and it's not found, the one you have up
has already been messed up so it's now unusable!

x When you zoom to a selected annotation, annotation scrollbar goes away,
and you can't scroll to see other things (e.g. alternate transcripts).
[This seems to be fixed now that Steve committed the green splitters.]

When a feature is partially covered, and you've zoomed in to see bases,
sometimes bases don't show up at all in the partially-covered feature.
e.g. AE003491: find Q9I7S3, then zoom x10 to see bases.  Scroll up a few
clicks to see cDNA LD46661.5prime, the light green feature barely
overlapped by Q9I7S3, doesn't show bases until you click on it.
[Note that now LD46661.5prime doesn't even appear to overlap with Q9I7S3,
but it still doesn't show its bases until you click on it--why?]
[Theory: it's still covered up?  It doesn't have sequence?]

Revisit annotation view layout/scrolling: Mark
x Having annotation view take up 50% of the space is problematic.  Either
revert back to old way, or better yet have it be adjustable with a splitter
[9/2002: Steve said he's working on a splitter]
x Temporary hack:  user can specify PercentSpaceForAnnotations in config
file (default is 50)

x When I tried changing GAMESequence, which broke loading, ApolloRunner
went into an infinite loop, trying over and over again to load the
requested file, rather than popping up data loader chooser again.
Starting XML parse
Data read time = 7285ms.
Nothing loaded--trying again
datasource = Drosophila annotations (GAME XML format)
Setting style to apollo.dataadapter.GAMEAdapter
For style file /users/nomi/sourceforge/main/conf/game.style, types file is /users/nomi/sourceforge/main/conf/game.tiers
Starting XML parse

x Null pointer exception on zooming to selection of topmost annotation.
Select CR31541 and ctrl-Z and you get:
Exception occurred during event dispatching:
java.lang.ArrayIndexOutOfBoundsException: 3 >= 3
        at java.util.Vector.elementAt(Vector.java:417)
        at apollo.gui.TierManager.getTier(TierManager.java:99)
        at apollo.gui.drawable.DrawableSeqFeature.getYCentre(DrawableSeqFeature.java:100)
        at apollo.gui.genomemap.ScrollableTierView.isVerticallyVisible(ScrollableTierView.java:416)
        at apollo.gui.genomemap.ScrollableTierView.verticalScrollToSelection(ScrollableTierView.java:395)
        at apollo.gui.genomemap.FeatureView.verticalScrollToSelection(FeatureView.java:589)
        at apollo.gui.genomemap.ApolloPanel.verticalScrollToSelection(ApolloPanel.java:848)
        at apollo.gui.genomemap.StrandedZoomableApolloPanel.zoomToSelection(StrandedZoomableApolloPanel.java:706)
...

x In DrawableSeqFeature, getTierIndex calls manager.getAllFeatures if
yindex==-1.  getAllFeatures is supposed to set yindex, but for some
reason it's staying -1, which cases problems.  I'm (Nomi) setting it to 0
if it was -1, but not sure if that's right. [Mark]

Vertical scroll to selection not always working. [Mark]
x In example.xml, double-click CG1116-RB and ctrl-Z.  Vertical scrolling
isn't right (need to scroll up one tier to see it).
x Or select CG10233-RB and zoom to selected--notice how there are NO
annotations visible.

x When you hit Reset to reset zoom level, should also reset vertical
scrollbars (because they've gone somewhere weird).

Need new Apollo images: Nomi, Gerry
x Big one for splash screen (Done, but many of us would like to see it improved)
  x Make it the new default
x Tiny (16x16 bit) one for icons

x Figure out how much space Apollo installer takes and how much space is
left on CD for PDFs.  (CD has 700MB space, Apollo installation is ~165M,
each PDF is ~1M.)

x bin/apollo shell script doesn't work on Solaris

x Problem with feature_span id and produces_seq:
original (~nomi/sourceforge/main/data/example.xml):
      <feature_span id="tmpspace:3" produces_seq="CG12591-PA.3">
saved (~nomi/sourceforge/main/data/example.saved2.xml):
      <feature_span id="CG12591-RA" produces_seq="CG12591-PA.3">
saved saved (~nomi/sourceforge/main/data/example.saved2.saved.xml):
      <feature_span id="CG12591-RA" produces_seq="null">

x Loading example.xml, saving, reloading, saving again -> whole genomic
sequence appears twice in saved saved xml!

x Make web page for downloading Apollo: Nomi
x Also make Apollo command "Check for software updates" to send browser to that page

Annotation info window
x The FIRST time annotation info window comes up, selecting a gene in the
main window selects it annotation info window also.  But after you close
it and open a new one, this is NOT the case--why?
[Fixed by always creating a new annotation info window.]
x After the cessation of two-way dialog, as above, if you select a new
gene in main window and then add/delete transcripts, and then you go to
annotation info window and select the new gene, the transcript list
doesn't get updated.  This sometimes results in an exception being thrown
when the annotation info window tries to select a deleted transcript in
the main window.  [I *think* this is fixed]
x "Save changes?" sometimes shows up when no changes were made
  e.g. CG2604-RB, CG12000-RB, CG12000-RA
  Looks like it's because transcripts are listed in a different order in
Transcript window than they are in the transcript list for the gene.  Why
is that?
x If you pick CG31543-RA and bring up annotation info window, it comes up
with CG31543-RC selected.  Same with CG12000-RA--comes up with RB selected.
x When annotation type changes, need to reload Evaluation of peptide list
x Berkeley version shows SwissProt comments (sp_comment)--should we be showing those?

Sequence...:
x Only annotations of type "gene" should be translatable--not other types
such as pseudogenes.
x add base count

Need way to create new gene models, even if the new transcript overlaps
with an existing gene (e.g. for dicistronic genes).  Currently, when you
create a new gene model, if it overlaps with an existing gene it becomes
a transcript of that gene.
x If user tries to create a new transcript that would auto-merge two
genes, warn and allow them to cancel
x Catch other silent merges and force user to choose
x "Create new gene" doesn't scroll to new gene
x Now it scrolls to the new gene but doesn't box it
x Need to update user manual

x Should selecting a new gene in annotation text editor select and scroll
to the gene in the main window?  Suzi says yes.  Three curators say no.
Suzi is overruled.

Should editing menu options (e.g. Delete selection) be added to main Edit menu?
(Not much on it now!)  (Someday it will have "Edit Preferences")

Out of memory problem (reported by Sima):  [Mark]
If I load AE003808 after I've loaded AE003454, Apollo says
java.lang.OutOfMemoryError
If I load AE003808 as the first XML file, it loads fine.
[I can't recreate this problem, but I do notice memory use going up if I
reload example.xml a few times, so there must be some memory leakage.]

x On Mac, according to Suzi, Gene menu sometimes goes up instead of down,
so it gets cut off by the top of the screen

x Minigene reports not working for Eleanor--change fruitfly's access.conf

Font/layout problems:
x Mark is having a problem with fonts: the numbers on the axis don't show
up; the sequence residues don't show up when he zooms in; the gene names
on the Gene menu don't show up.  We think it's because the fonts Apollo
is using are not found on Red Hat Linux.  Mark will try to pick fonts
that work everywhere. [Mark]
x For the bases above/below the axis, if you select a feature, the
highlighting on the axis residues floats halfway up the letters instead
of covering them properly.   This is true for DefaultFont sizes 9 and 10.
x See if 10/12 setting looks good on other platforms.

x minigene URL should go in FlyBase-only game.style (not in code)

Annotation creator colors and names:
x Move from java code to style file

x Can't load anything except GAME--throws NullPointerException at
apollo.gui.ApolloFrame.getNameAdapter(ApolloFrame.java:459)

x Find by CG name not working?  (Reported by Suzi and Eleanor--seems ok to
me--perhaps a manifestation of the problem above, where found feature is
on hidden strand?)

x When you click on a found sequence, zoom in to show you the sequence
bases
x Also do that for restriction enzyme sites

x /users/bio-adm/r3xml/AE003576.Sept.xml throws exceptions!

Exon Detail Editor (BOFE):
x If a gene goes beyond the current range, exon detail editor comes up
but doesn't work properly
Need to disable exon detail editor option on menu (again).
x The rectangle on the main window that shows the region selected by the
Exon Detail Editor doesn't always go away when you kill the EDE.  Maybe
this is true for genes that fall off the end of the region?  We should
really disable the EDE for those (again).

Find:
x When you try to Find a feature that's on a strand that's hidden, it
scrolls but you don't see the feature, and are confused.  Show the hidden
strand.
x Also do this with the Gene menu and Bookmarks--should show strand with
the gene of interest
x When you expose a hidden strand, need to change the "Show forward
strand" or "Show reverse strand" checkbox in the View menu.

Get more information about a result in Web browser:
x Need a better name for this ("See more about this feature"? "Get info
about this feature on Web"?  "Get more info"?)

x Improve comments in style files

x Need to clean up apollo.cfg more--move more parameters into style.

x In Public mode, it is not using black as the default user annotation
color even though UserTranscriptColouring is true.

Graphical editor for preferences [Nomi]
x Make it load new prefs and make sure it works
x Need to improve and catch error messages printed by style file parser
x Sanity-check booleans
x If we start with GAME, change prefs, load GFF, then go back to GAME, it
uses old prefs.  Need to stick new style into style hash.
x Some sequence of operations results in prefs window saying style file
is game.style.orig.  Fix.

Genbank writer not working [Suzi]
x java.lang.NullPointerException
	at apollo.dataadapter.GenbankAdapterGUI.doOperation(GenbankAdapterGUI.java:29)
	at org.bdgp.swing.widget.DataAdapterChooser.doCommitWithExceptions(DataAdapterChooser.java:355)
	at org.bdgp.swing.widget.DataAdapterChooser.doCommit(DataAdapterChooser.java:408)
- I'm not getting the NullPointerException anymore, but not sure it's
saving the right thing (it doesn't look like GenBank format)

Get more information about a result in Web browser:
x "Load data into browser" menu item doesn't work on GAME data yet.
Need to add URLs and get appropriate ID to use when generating URL.
x There are some results where we need different URLs for different
features of the same type.  Ugh.
x On Linux, attempt to use this menu item results in a popup box saying
"No URL registered for feature"; on Mac, it results in an exception!
x For results like Genscan, use generic URL.
x Fix for tRNA-result na_tRNA.dros

Simon pointed out that the big color contrast between the result panel
and the annotation panel makes it harder to see some things--e.g. edge
matches, where white looks good with the black background but not so good
on the sky blue.  (We could have separate edgematch colors...)

x Clicking on a gene in annotation info window SHOULD NOT scroll main
window to new gene.  When done debugging, please remove this behavior.

x Steve's slider triangles work great but are a bit hard to see.  Make
them more obvious.

Exon Detail Editor (BOFE):
x Load range 3L:1765584-1778799, look at Cdc37.  It appears to be within
range, but EDE comes up empty.
x Jon reports that for genes with more than one transcript, where the
different transcripts represent diferent ORFs for the annotation, if you
try to change the translation start, the Exon Detail Editor freezes up
and you get a null pointer exception:
java.lang.NullPointerException        at
apollo.gui.AnnotationEditor.setTranslationStart(AnnotationEditor.jav
:676)
        at
apollo.gui.detailviewers.exonviewer.BaseEditorPanel$RightClickActionListener.actionPerformed(BaseEditorPanel.java:888)
Possible genes that might have resulted in this problem:
CG6167 RE18409 m moved RA not RB
CG6219 LD09927 m moved RA not RB RC RD RE
CG6310         m possible dicistronic and monocistronic AT03632
CG6375 LD46167 m
CG6393 LD16074 m moved RA not RB RC RD

x Accept relative path for Blixem
x Need Solaris Blixem for Harvard
x Turn off Blixem option unless we're on Unix

User manual: Nomi
x Mention apollo mailing list
x Describe prefs editor

x When you select a gene from the Bookmark menu, it zooms in a bit too
much.  If you select the same gene from the Gene menu, it zooms the right
amount.

x Font used to show annotation residues is white, which is hard to see
against the lighter colors (e.g. yellow).  Should make font color white
or black based on how dark the annotation is.
  x For now use getAnnotationResidueColor

x In ~bio-adm/r3xml/AE002611.Jun.xml, the transposable element annotations
(e.g. 297{}176) are showing up as "gene" annotations in Annotation Info
window.  Also, trying to create a new transcript for these (by dragging
an overlapping result down) is throwing exceptions.  These aren't gene
annotations, so you shouldn't be allowed to create transcripts.

x Middle button click to center doesn't work right if we're revcomped.
(broke between 1.1.11 and 1.2.0)

x Make annotation residue font color white or black based on how dark the
annotation is.  This isn't working for the public version, where
UserTranscriptColoring is true but we're not in internal mode.

x Memory leak from the EDE/editing. After pulling up many entries in the ede and
editing the start of translation I got a out of memory exception.  [Mark]

--------------Release 1.2.2-----------

Issues with user colors and names
x In public mode username is not showing up in TranscriptEditPanel.

Annotation info window
(x) Add ability to change owner (pulldown menu of possible owners: user,
project, none)
    This turns out to be problematic.  Not important enough to stress
over.  Leaving as-is.
x Test in read-only mode
x Put a little space between table and comment panel
x Make Translation Name and Synonyms non-writeable fields

Graphical editor for preferences [Nomi]
x If prefs editor is open and we switch styles, should update
prefs editor contents (need the right kind of event listener).

x clean up 26 jars [Vivek]

User manual: Nomi
x Mention possibility of out-of-memory problem
x Add image of zoomed-in features showing bases
x Update annotation info image

x When you disown a transcript or take ownership, it doesn't redraw properly

x Data load by sequence homology stopped working!  (Fixed get_xml_url.pl)

x Release should include EnsJ stuff
x Need documentation on how to use it!

x In annotation info window, clicking on ID in table doesn't work anymore:
   Don't know how to pull up info for id FBgn0037312, db = FB
  (Some FBgns don't have gene reports, it turns out.)
x Also, it says that if you click on the first OR the second item in the
table (which has db=flybase, not FB).

x When you select a new gene in annotation info window, title of window
doesn't change--still says original gene name

x Show gene report (public mode) not working on PC

x On changing from read only to editable and annot info is up, if
another gene is selected get this exception:
Exception occurred during event dispatching:
java.lang.NullPointerException
        at apollo.gui.ReadWriteField.getValue(ReadWriteField.java:74)
        at apollo.gui.FeatureEditPanel.updateFeature(FeatureEditPanel.java:241)
        at apollo.gui.GeneEditPanel.updateFeature(GeneEditPanel.java:189)
        at apollo.gui.FeatureEditPanel.valueChanged(FeatureEditPanel.java:91)
        at javax.swing.JList.fireSelectionValueChanged(JList.java:946)

If you set EnableEditing to true using Edit Preferences, and then try to
look at an annotation info editor window, you get null pointers:
java.lang.NullPointerException
	at apollo.gui.ReadWriteField.setListBackground(ReadWriteField.java:81)
	at apollo.gui.GeneEditPanel.jbInit(GeneEditPanel.java:86)
	at apollo.gui.GeneEditPanel.<init>(GeneEditPanel.java:66)
	at apollo.gui.FeatureEditorDialog.jbInit(FeatureEditorDialog.java:172)
	at apollo.gui.FeatureEditorDialog.<init>(FeatureEditorDialog.java:86)
	at apollo.gui.ApolloFrame.showTextEditor(ApolloFrame.java:388)
java.lang.NullPointerException
	at apollo.gui.FeatureEditorDialog.setSelectionManager(FeatureEditorDialog.java:543)
	at apollo.gui.ApolloFrame.showTextEditor(ApolloFrame.java:390)

x Sliders to adjust annotation and result panels can be slid out of view,
never to return.

x Copy /users/bio-adm/r3xml/AE003603.Sept.xml to example.xml
x Update mainwindow.gif image
x Redo annotation_info.gif (has wrong title in window)

x Something in Apollo (I assume it's the EnsJ adapter) is creating a
logging.log file in . (wherever you were when you launched Apollo).  This
can be problematic--would probably be safer to create the log file in
APOLLO_ROOT/data.

x Need better names for some of the data adapters--how would Joe User know
whether he wants Ensembl CGI adapter or EnsJ adapter?

x We must have the annotation "name" in sync with the annotation "id". [Colin]
Currently, curators can use the text editor to change the name, but not
the id.  Annotation id must be a CG or CR number.  If the annotation name
is a CR id, the annotation id must be the same CR id.  If the annotation
name is a CG id, the annotation id must be the same CG id.  If the
annotation name is a symbol, the annotation id must not be a symbol, but
should be a CG id if it is a protein-coding-gene, CR id if it is any
other type of feature.  Right now curators have to fix these by
hand-editing the XML files. This is error prone.
- Right now, gene ID is made up from gene name when XML is saved in
GAMEAdapter, but parent annotation ID and child feature_set IDs are not
set accordingly.

x Disable Sequence menu item for genes that fall off edge (just as EDE is
already disabled)

x If you try to load a new dataset and the load fails, you lose the display
of the old dataset (it's already been cleared out).

x If you first load GAME example.xml and then you bring up ensembl (for
homo sapiens) and ask for chromosome 1 from 100000 to 200000 you get this:
java.lang.ArrayIndexOutOfBoundsException: 1 >= 1
        at java.util.Vector.elementAt(Vector.java:417)
        at apollo.gui.TierManager.getTier(TierManager.java:109)
        at apollo.gui.drawable.DrawableSeqFeature.getYCentre(DrawableSeqFeature.java:100)
        at apollo.gui.drawable.DrawableSeqFeature.getBoxBounds(DrawableSeqFeature.java:146)
        at apollo.gui.drawable.DrawableFeatureSet.draw(DrawableFeatureSet.java:270)
        at apollo.gui.genomemap.FeatureView.paintView(FeatureView.java:128)
        at apollo.gui.genomemap.FeatureView.paintView(FeatureView.java:89)
        at apollo.gui.genomemap.SplitterView.paintView(SplitterView.java:184)
        at apollo.gui.genomemap.LaidoutViewContainer.paintView(LaidoutViewContainer.java:115)
        at apollo.gui.genomemap.SplitterView.paintView(SplitterView.java:184)
        at apollo.gui.genomemap.LinearView.paintView(LinearView.java:149)
        at apollo.gui.genomemap.ApolloPanel.paintComponent(ApolloPanel.java:602)
        at javax.swing.JComponent.paint(JComponent.java:687)
        at javax.swing.JComponent.paintChildren(JComponent.java:498)
        at javax.swing.JComponent.paint(JComponent.java:696)
        at apollo.gui.genomemap.StrandedZoomableApolloPanel.paint(StrandedZoomableApolloPanel.java:1285)
        at javax.swing.JComponent.paintWithBuffer(JComponent.java:3878)
        at javax.swing.JComponent._paintImmediately(JComponent.java:3821)
        at javax.swing.JComponent.paintImmediately(JComponent.java:3672)
        at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:370)
        at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:124)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:154)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:337)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:131)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:98)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:85)
Ive dealt with this bug months ago so I'm having a hard time remembering
the particulars but basically a paint is is coming down when apollo is in
an inconsistent state. One object is seeing the old set of tiers and
another object is seeing the new set of tiers so the paint is asking for
a tier that is not longer there and thus the OutOfBounds exception.

x If you first load a GAME XML file (e.g. data/example.xml) and then load a
region with the Ensembl CGI, e.g., Chr 1 100000-200000 (but it was also
true for other regions I tried), you get an exception:
Exception occurred during event dispatching:
java.lang.ArrayIndexOutOfBoundsException
	at apollo.gui.genomemap.PixelMask.isCompletelyObscured(PixelMask.java:56)
	at apollo.gui.drawable.DrawableFeatureSet.draw(DrawableFeatureSet.java:304)
	at apollo.gui.genomemap.FeatureView.paintView(FeatureView.java:128)
	at apollo.gui.genomemap.FeatureView.paintView(FeatureView.java:89)
	at apollo.gui.genomemap.SplitterView.paintView(SplitterView.java:178)
	at apollo.gui.genomemap.LaidoutViewContainer.paintView(LaidoutViewContainer.java:115)
	at apollo.gui.genomemap.SplitterView.paintView(SplitterView.java:175)
	at apollo.gui.genomemap.LinearView.paintView(LinearView.java:149)
	at apollo.gui.genomemap.ApolloPanel.paintComponent(ApolloPanel.java:592)
If you start with an Ensembl CGI region, or load another region after the
first one, you don't get the error.

x "make" not doing "make all"

x When I brought up Ensembl CGI on Chr 1 100000 200000 I got these
messages:
Creating new feature property scheme for Variation
Creating new feature property scheme for embl_vertrna
Creating new feature property scheme for sequence
Creating new feature property scheme for EST
Creating new feature property scheme for unigene
Creating new feature property scheme for epcr
Creating new feature property scheme for genomewise
Creating new feature property scheme for sptrembl
Creating new feature property scheme for swall
The Dec 9 version didn't print those messages, although the display looks
the same.  Usually with the GAME adapter those messages meant that it was
seeing a data type that wasn't in the tiers file. 

x Prefs editor: restore original is restoring original but not refreshing text

x Selecting a row of the table to get the web page for that ID triggers
the openURL *twice*

x When I bring up example.xml, I see this message 8 times:
FeatureSet.setPhases: can't set phases--some features undefined

x When you switch to a new dataset, Types panel doesn't go away or refresh.
x Fixed that but "Show types panel" checkbox in Tiers menu doesn't uncheck
(Fixed it by directly addressing types box in Tiers menu--probably not such
a good way).
x Also, Types panel doesn't really have to go away unless we change data adapters--should 
leave it there if style hasn't changed.

x If you menu-gc, menu-restrictions, and then hit the gc
tab the gc graph is showing at that point but the corresponding button
is unchecked.

Printing bugs:
x Axis doesn't show up
x Label color changed
Note:  Mark also noticed both of these problems in the Apollo display
when running Apollo over a network.

x If you are zoomed in to show sequence and then load a region that lacks
sequence (e.g. smaller_example_no_seq.xml), you get an exception:
java.lang.NullPointerException
	at apollo.gui.genomemap.SiteView._createSites(SiteView.java:229)
	at apollo.gui.genomemap.SiteView.changeSites(SiteView.java:148)
	at apollo.gui.genomemap.SiteView.setCentre(SiteView.java:157)
	at apollo.gui.genomemap.ApolloPanel.setLinearCentre(ApolloPanel.java:356)
	at apollo.gui.genomemap.ApolloPanel.syncViewLimits(ApolloPanel.java:343)
	at apollo.gui.genomemap.ApolloPanel.setSyncLimits(ApolloPanel.java:284)
	at apollo.gui.genomemap.StrandedZoomableApolloPanel.setCurationSet(StrandedZoomableApolloPanel.java:350)
	at apollo.gui.ApolloFrame$1.run(ApolloFrame.java:179)
	at apollo.gui.ApolloFrame.loadGUI(ApolloFrame.java:168)
and it won't load the sequence-less region.
I thought we fixed this already. :-(

x Add Blixem citation to userguide and About

Apollo web page
x cropped main window screenshot
x finish working on web page and FAQ; copy to public server

xBookmarks from previous load linger on new load.

x Decide which default font size looks better: 10 or 12

x BookmarkMenu can not deal with gene selection. If a gene is selected
(eg through the Gene menu) you can not add it to the BookmarkMenu. You
can only add Transcripts. This is particularly confusing when the gene
and transcript are the same (not a multi trans gene). This does bring
up the issue of what should happen if a gene is added as a bookmark. 3
possibilities: 1) Add all the transcripts in the gene or 2) add the
gene labeled as GENE:gene_name, which would mean transcripts would
need to be labeled TRANSCRIPT:transcript_name. or 3) Make gene the
unit of bookmarking not transcripts.

x Get Lincoln (?) to update GMOD web page, www.gmod.org
 (it points to apollo version 1.1.8!)

x If you try to load a new dataset and the load fails, you lose the display
of the old dataset (it's already been cleared out).

------------------ ^ Release 1.2.3 (?)-----------------

xCheck all popup menus for memory leaks (eg results popup)  [Mark]

x When you use the navigation bar to load a new region, there's no
immediate visible indication that anything's happening--hourglass cursor
doesn't appear for a while.

(x) If you have cact up and hit "<" and then Load, exception is thrown.
[Couldn't repeat this--maybe it was because I clicked other things while
it was loading?]

x Fix/update/remove some things in Makefile:
winjar, dist, dist11

https://sourceforge.net/tracker/?func=detail&atid=462763&aid=667263&group_id=27707
Apollo 'unexpectedly quits' when sequences contain Ns, under 
Mac OS X (10.2.3).  For example: 
GCCGCATACGCTAAGTGGATGTCTCTTGCCGACGGGACCACC
TTATGTTATTTCATCATGCCTCGAGNGGACTGTACCCC
Since N's creep in when the sequence is from sequencer results, 
it would be nice to have Apollo be able to appropriately ignore 
them (or at least not crash).
[Michele says this isn't true--sequences with Ns don't crash Apollo.  It
must be something else, but we can't ask the user any questions because
he/she posted anonymously.]

- Delete selection doesnt work in 2 cases:
  x1. if ede is up.
  x2. if you duplicate a transcript (or create a new transcript)
  and the very next thing you do is "delete selection", nothing happens.
  If you click off and on the new transcript it will actually delete.
  Once a deletion fails things start to get wacky in the ede.
x Sequence of deleted feature remains highlighted after deletion.
x If you select two exons and split transcript, afterwards one of the
exons looks selected (but if you then say "delete selection", it deletes
both exons)

x Null pointer on annot right click: Delete a transcript (with delete
selection). If you then right click(even on blue space) you get
exception. If you left click (even on blue space) and then right click
you do not get the exception. The exception:
java.lang.NullPointerException
        at apollo.gui.menus.AnnotationMenu.menuInit(AnnotationMenu.java:188)
        at apollo.gui.menus.AnnotationMenu.<init>(AnnotationMenu.java:81)
        at apollo.gui.genomemap.AnnotationView.createPopupMenu(AnnotationView.java:363)
        at apollo.gui.genomemap.FeatureView.showPopupMenu(FeatureView.java:631)
        at apollo.gui.genomemap.ApolloPanel.mousePressed(ApolloPanel.java:1036)

x Vivek's classes directory shouldn't be in bin/apollo

x SequenceAnalysisControl restriction enzyme selections from previous
data set remain on new load. Either the selection needs to be cleared
or the whole window should get disposed on new load.

EDE:48) a)On exon delete in EDE the stop codon is not being recalculated 
(FS.setTranslationendFromStart) 
b) nor is the frame shift being recalculated in the glyph
This can be seen by comparing it with exon deletion in main window
(exon #2 in CG1113 for instance)
this is related to #40
EDE:40) Diagnostic message on deleting exon with stop codon in ede on
CG1158 example.xml:
CG1158-RA has no feature containing 1126705 (1125864-1126620)
CG1158-RA has no feature containing 1126705 (1125864-1126620)
EDE:41) When doing an external exon selection the figure updates but
selection goes away in the ede sequence [after forcing a repaint 
see #39] where it works fine with external transcript selection.
EDE:39) Repaint not happening on external selection: if you select a
transcript in the main window, the glyph changes but the ede selected
sequence does not change its selection. If you force a repaint the
selection suddenly changes.
EDE:42) Create exon creates the exon in the first transcript only, no
matter which transcript was actually clicked on.
This now works fine (or at least i cant recreate it), so perhaps one
of the other bug fixes fixed this as well (?)
EDE:46) Change wording of move buttons 
EDE:5) Sometimes ede/highlight bar does not follow selection when a new
gene is selected in the main window. This seems to be ok initially and
goes wrong when bringing up the EDE for the second time.
Bev: I don't want it to move.
MG: per bevs request should we not have ede listen to external
selection or even better just only listen to selections in the
area of the gene it cares about so it can still change on exons within
gene.
fixed by new selection paradigm - need feedback from harvard
EDE:44) Change "Export sequence to clipboard" to "Sequence" with seq window like main window
EDE:24) Problem with frames and stop codons reported by Chris S:
Scaffold - ~bio-adm/gadflyUexport/gbunits/xml/211000022278190.xml
Gene CG40269
I deleted the 3' (3rd) exon of this model and wanted to reset the stop on
the 2nd exon by extending its end with the exon detail editor.
The expected stop for this frame is at 278670.  However Apollo inserted a
stop codon at 278,496.  The gene model shows a long ORF that does not
actually exist in any single reading frame.  It looks as if Apollo somehow
thinks the exon is in a different frame than it is.[high]
Mark:So I downloaded the file but unfortunately it is no longer in the 3
exon state. CG40269 is now a 2 exon model and interestingly enough it
stops at 278671 not 278670. I was wondering if you knew of another
example or if there was someway of doctoring this entry to get it back
in the state where it was making the error.
I attempted my own doctoring. I split the second exon which made the
stop go on the 3rd exon. I then deleted the 3rd exon which made the
transcript have a start with no stop. I then started dragging the end
of the 2nd exon. What I found is no matter where I dragged it would
put a stop in of just one base even though there was no stop codon in
the translation. It would put in the proper stop once I dragged it far
enough to get a proper stop, but until that point it just puts a stop
at the end no matter what. This seems improper to me. Or is the idea
that if there is no stop codon then make the last base a stop codon?
Suzi do you know about this?
Took out micheles adding of fake stop at end. Its unclear if this is identical
to the problem chris reported but he looked at it and thought it was.
EDE:26)Bev:Another big problem to us is that you can only bring up one EDE. We
don't like having the EDE view move as you select different exons. I
much prefer being able to open more than one EDE and have each stay at
the spot I am focusing on.[high]
Suzi: one factor in changing to just one was memory issues as several
sequence objects are added.
MG: looked into the additional mem usage. After loading is done and gc
it only adds 2M.
MG: One issue with this is selection. Multiple windows should probably not
respond to external selection. Nomis idea was to have only the most recent ede respond
to selection, just like sequence window. John and Chris agreed that would be best.
EDE:12) When you make the exon editor window bigger, the sequence panel doesn't
always expand.
Bev: This still seems spotty.
Nomi: This is most problematic on Solaris.
EDE:42) Create exon creates the exon in the first transcript only, no
matter which transcript was actually clicked on.
xEDE:22) middle mouse button doesn't seem to be working
  Should be able to use third (middle) mouse button to select "Export
  sequence to clipboard" > select copy genomic sequence > test by
  BLASTNing against predicted genes Only enabled if glyph is enabled 
- glyph disabled if click on protein sequence above nucleotide sequence
This is a menu item on right click (not middle) and it appears to be
working ok.
EDE:21) no mutual selection between exon view and main view 
	(true model view controller would solve this)
There is now mutual selection. If we go to one ede per gene we
probably want to disable some of it.
EDE:15)x- Shouldn't hash-highlight from previous find sequence go away when you
do another find? - appears to work now.
EDE:27)Bev:I really liked the fact that in old Apollo you could select that last
exon (or any spot on a transcript) in the main viewer, open BOFE, and
have it centered around that location. I do not like the fact that any
time you open it now it is always fixed at the 5' end of the
transcript. It's very inconvenient.[medium]
This is actually the same as 7 - woops. Actually slightly different
than 7. 7 is for selection (which bev might oppose), this is when you
initially bring up.
EDE:7) Would be nice if EDE scrolled to exon selected in main window.
EDE:34) Delete exon in ede right click menu doesnt work right. The exon
goes away in the main window but remains in the ede.
EDE29)Bev:I don't like the fact that when the EDE is open, you can't do
operations such as gene merge in the main viewer. With the EDE open,
you can't select a second gene. I think this has something to do with
the EDE and the main viewer being more coupled in the new version to
allow the EDE view to shift as you select different exons in the main
viewer, etc. I personally don't like that idea and would like to see it
work as in old apollo. 
This seems like the same issue as 2[high]
EDE16)x- Clicking exons in figure doesn't always scroll to them in detail view
[can't repeat this error] - i think this got fixed.
EDE13) Merge 5' exon not working? (reported by Suzi)
EDE:4) When selecting different transcripts in the main window the EDE does
not follow the selection (where vice versa does work)
Bev: I don't like this feature anyway
EDE:2) The EDE sometimes makes it so individual exons in the main window
can't get selected. Apon selecting one the whole transcript
selects. This is sporatic.
Bev:To make changes in the annotation zone you would have to close the EDE
first which is very inconvenient and disruptive.[medium]
Bev: This is definately annoying but sporadic.
xEDE:25) (from Bev) If you add
transcripts or change transcripts in the main viewer, the EDE does not
get updated.  This is a show stopper. It is very important that the EDE
get a new line of sequence and a new structure every time you add a
transcript and that the structures agree with what is in the main
viewer.[high]
I looked into this further. So initially ede reflects adding and changing trans in
main window. Its only after something else has happened that it goes
awry. So after a failed "delete selection"(in main window), then things fail to get
reflected, so the delete selection bug(see Annotation editing problems
above) should be worked on first. 
Fixed delete bug and it exposed a few more problems with redraw and
nulled out genes that were then fixed as well.
xEDE:31) (or 11e) This relates to 11, 8, and 18. (could be 11e i guess). In
example.xml on CG1161 after doing a few 3' exon merges  and getting
the messages of 11b and 11d another exon merge can bring the message:
FeatureSet.setPhases: CG1161-RA can't set phases--some features undefined  tss=1180904 tes=1182464
and the start and stop are lost. This is the only way I have found to
replicate bugs 8 and 18 (which I think are the same bug).
EDE:18) figure not updating stop codon when changed[med] -> see 31
EDE:11) If I merge all the exons of CG1161-RA(example.xml) using merge 5' errors(from
right to left):
11a) after 2nd merge if i then click on the sequence of where the 3rd
exon was I get this message: (same after 3rd merge)
ERROR: Didn't find CG1161-RA exon 3 in set CG1161-RA
11b) also after 2nd merge glyph and main window shows exons merged, EDE
sequence still shows the intron, same after 3rd merge (but 1st merge ok)
11c) apon doing the last merge I
get a popup message saying it wants to remove surrounding exon 4 and
then I get an exception:
java.lang.NullPointerException
        at apollo.gui.AnnotationEditor.mergeFeatures(AnnotationEditor.java:2060)
        at apollo.gui.AnnotationEditor.mergeFeatures(AnnotationEditor.java:1980)
        at apollo.gui.detailviewers.exonviewer.BaseEditorPanel$RightClickActionListener.actionPerformed(BaseEditorPanel.java:874)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1450)
11d) in doing the 2nd merge on CG1113-RA (2nd and 3rd exon already
succefully merged trying to merge with 1st exon):
Could not delete CG1113-RA exon 2 from CG1113-RA because drawable was
not found 
and it does not merge the exons.
11e) see 31
11f) after 1st merge the newly merged end exon now enables the merge
with 3' exon which shouldnt be enabled, and the original end exon did
not have it enabled
EDE:10) Transcript figure doesnt redraw itself properly on exon merging[high]
EDE:8) Stop codon not showing up in glyph after exon merge.[med] -> see 31

Save broken. Gives following exception:
caught exception committing XML
java.util.Vector
java.lang.ClassCastException: java.util.Vector
        at apollo.dataadapter.GAMEAdapter.writeProperties(GAMEAdapter.java:1104)
        at apollo.dataadapter.GAMEAdapter.writeAnnotation(GAMEAdapter.java:370)
        at apollo.dataadapter.GAMEAdapter.writeAnnotations(GAMEAdapter.java:345)
        at apollo.dataadapter.GAMEAdapter.writeXML(GAMEAdapter.java:300)
        at apollo.dataadapter.GAMEAdapter.commitChanges(GAMEAdapter.java:265)
        at apollo.dataadapter.GAMEAdapterGUI.doOperation(GAMEAdapterGUI.java:104)
        at org.bdgp.swing.widget.DataAdapterChooser.doCommitWithExceptions(DataAdapterChooser.java:355)
        at org.bdgp.swing.widget.DataAdapterChooser.doCommit(DataAdapterChooser.java:408)
        at apollo.gui.menus.FileMenu$SaveAdapterChooser.doCommit(FileMenu.java:282)
        at org.bdgp.swing.widget.DataAdapterChooser$CommitRunnable.run(DataAdapterChooser.java:132)
        at java.lang.Thread.run(Thread.java:484)

EDE:23) User manual mentions "Create tiny exon" menu option--not yet
implemented.  Need? Bev:Yes [high]
Instructions from user manual:
1. Right click on a base in an intron. (You cannot create an exon
outside of the transcript in the exon editor.)<BR>
2. Left click on 'Create tiny exon'.<BR>
3. A three base exon is made within the intron. The base that you
clicked on is the middle base in the three base exon. Currently just
makes a one base exon. Is there a reason it has to be 3? Is the
minimum size of an exon 3?

EDE:3) Make intron seems all wrong. EDE makes an intron all the way to the
end of the transcript. The main window just puts in a one base intron
which im guessing is what the ede should be doing.
Bev:This was also a problem in the old apollo that was very limiting.[high]

xEDE:6) Sometimes glyph does not update with selecting different transcript
(sequence part) in the EDE.[high]

xEDE:1) When the ends of an exon are adjusted the translated sequence in the
exon in the transcript in the main window does not recompute but stays
with the old translation. (The sequence window does show the new translation)[high]

EDE:50) Put in follow external selection check box.

EDE:51) Got this exception after doing a bunch of delete selections of
exons in main window, need to find a repeatable for this. I was
deleting in both forward and rev strand and had edes up for both
strands. Once it happens, it happens for every delete.
Repeatable: Bring up ede and do a delete selection (in main window) of
an exon on the other strand.
        ****** SPLITING FEATURE ******
Exception occurred during event dispatching:
java.lang.ArrayIndexOutOfBoundsException: -1 < 0
        at java.util.Vector.elementAt(Vector.java:427)
        at apollo.gui.detailviewers.SeqAlignPanel.removeFeature(SeqAlignPanel.java:615)
        at apollo.gui.detailviewers.exonviewer.BaseEditorPanel.detachTranscript(BaseEditorPanel.java:1188)
        at apollo.gui.detailviewers.exonviewer.BaseFineEditor.handleAnnotationChangeEvent(BaseFineEditor.java:155)
        at apollo.gui.Controller.handleAnnotationChangeEvent(Controller.java:129)
        at apollo.gui.AnnotationChangeCoalescer.fireAnnotationChangeEvent(AnnotationChangeCoalescer.java:129)
        at apollo.gui.AnnotationChangeCoalescer.executeChanges(AnnotationChangeCoalescer.java:118)
        at apollo.gui.AnnotationEditor.purgeExon(AnnotationEditor.java:2557)
        at apollo.gui.AnnotationEditor.deleteSelectedFeatures(AnnotationEditor.java:2399)
        at apollo.gui.AnnotationEditor.deleteSelectedFeatures(AnnotationEditor.java:2371)
        at apollo.gui.menus.AnnotationMenu.actionPerformed(AnnotationMenu.java:265)
        at
	javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1450)
same for create exon

EDE:47) Have transcript pulldown to go between different transcripts in gene.

x README in main dir should explain how to use Apollo (w/o the installer)
and say where to get the version with the installer.

x In installation instructions (on web page), tell user to remove old
Apollo icon before reinstalling.

EDE:52) Annotation changes (either from the ede or main window) cause all
edes to scroll to that gene (regardless of follow ext sel state). This
is clearly wrong, but the question is what is right.
a) Should it not scroll at all to anntation changes
b) Only respond if its showing that gene - tricky and probably pointless
as it just goes to the beginning of the gene which may not be desired,
although it might be able to be smarter about that - though the
question is where does one scroll after an exon deletion? To where the
exon was? if so thats actually non trivial in the present code
c) Only repsond if "Follow external selection" is checked. Whats funny
here is if follow external selection is checked you probably already
are at the place where you are operating on the gene, and sometimes it
scrolls you to the beginning of the gene and/or changes transcripts,
which is nothing but annoying.
:Im thinking a is the way. sima and nomi concur

x Need to add new chromosome arms to pulldown (and cgi):
2h 3h 4h Xh Yh U

EDE:30) When doing a right click menu thingy in ede that triggers an
AnnotationChangeEvent the 1st transcript's sequence gets selected no
matter which transcript was being operated on.
This is also true after dragging an end. very annoying. 
I think this has to do with a gene being sent to
handleAnnotationChangeEvent.
Seems to only happen if the change effects the ends of the transcript.
On deleting a middle exon no scrolling to beginning problem but the
selection changes to the first transcript. It should stay on same
transcript if it still exists, and there should be no selection if the
transcript is now gone.
AE:3) Merge exons:  Exons are merged in display, but still shown separately in detail panel.
Need to refresh detail panel after merge or split.  (Is this
important?)
It seems important to me. Its confusing to the user to be in that 
inconsistent state. It is a refresh issue, if you reselect the merged
exons the detail panel is correct. 
AE:11) After doing 2nd merge of exons in Tim17b1:CG1158-RA got this
message:
        ****** MERGING EXONS IN TRANSCRIPT ******
Could not delete CG1158-RA exon 3 from CG1158-RA because drawable was not found
MG: exon 3 shouldnt exist after the first merge - its lingering
This only happens if you immediately shift click for the 2nd merge. In
other words the old exon is lingering in the selection that is left
behind from the merge - or something like that. Probably related to #3 above.

x Code in ApolloPanel that checks for mouse button events is not working
right (due to Swing bugs).  While fixing it, make a new class to
encapsulate all the mouse button event crud.

x AE4) If you try to merge transcripts that are on opposite strands, it won't
let you, but the error message ("Can only add exons from other
transcripts.") is confusing. Now it says "expected 2 transcripts"
which is equally confusing.

xAE8) If you select the second and third exons of a multi-exon gene
(e.g. Or83b) and do "split transcript" and then select the two
split-apart exons and do "merge transcripts".  Those two exons merge, but
the second transcript splits!  This is the same problem Steve reported:
"Merge transcripts doesn't really do what we expect at the moment.
Given two selected transcripts, I would expect that merge transcripts would
merge the two complete transcripts, not cut selected bits off one and put
them into the other."
Mark has changed "merge transcripts" so it merges transcripts, but we
also need to have a menu option "move exons to transcript", which does what
"merge transcripts" used to do (i.e., a "splerge"), except it checks that
you've selected a WHOLE transcript plus one or more exons (before it
worked if you'd selected exons from two transcripts).

Splerge is now done but there are still issues:
x8b)New exon isnt selected in receiver transcript
x8c)Overlapping exons are not merging into one exon. The moved exon still
reports its gene as the old gene in the overlap case.

x Look into specifying MetalLookAndFeel on Mac.
Alex Zelensky <Alex.Zelensky@anu.edu.au> wrote:
BTW, in the same file [Info.plist], Java can be told to use standard
Swing metal look and feel instead of the default Apple Aqua look and
feel. (add a "swing.defaultlaf" key with a
"javax.swing.plaf.metal.MetalLookAndFeel" string value to the Properties
dictionary). Not only it makes the evidence panel elements much more
readable, it also causes a noticeable speedup in Apollo operation.
- Got this to work.  Will Mac users hate it?  It's not as pretty as Apple
Aqua look & feel.
x On Mac, Type is not colored (on Linux it is).  Mac seems to override button colors
with its cool transparent effect; not sure how to get around that.
x Types panel: on the Mac, the subtype popup menu is transparent, not colored,
so you lose information.

Fix mouse event handling on Macs:
x Still not working right:  drags on any mouse on Mac.  Middle-drag to
rubberband isn't working.  Shift-left-drag to move tiers is ok on
five-button mouse; on one-button, it doesn't end the drag correctly.

2/6/2003:
On a ONE-button Mac:
- ctrl-click and option(alt)-click both answer true to isMiddleButton.  I
interpret this as a RIGHT mouse event (pop up menu).
- apple(cloverleaf)-click answers true to isRightButton.  I interpret this
as a MIDDLE mouse event (center the display).

On a FIVE-button Mac:
- The right of the middle three buttons answers false to isRightButton and
true to isMiddleButton.  I interpret this as a RIGHT mouse event.
- The middle (wheel) button answers false to isRightButton, false to
isMiddleButton, and true to isLeftButton.  I don't see any logical way to
make this behave as anything other than a left click (selection), since
the event appears identical to a left click in every aspect I've checked.
- The left of the three middle buttons answers true to isLeftButton.  Fine.
- The far-left buttons (on the side of the mouse--buttons I wouldn't
normally use) answer true to isRightButton, false to the others.  This
gets treated as MIDDLE button (center the display).

x 2/6/2003: Oh no!  Left drag to create new annotations is broken on Mac
(both one- and five-button mice).
Is ctrl-left-drag supposed to do something?

x Convert middle and right mouse event checks in BaseEditorPanel to use new
MouseButton checks

----------------- ^ (Internal) release 1.2.4 -----------------

Refactor selection. Should be MVC. I think we need a SelectionManager (controller) and
a selection model, and views listen to the selection model. The view iwould also 
tell the selectionManager Ive got a click and the selectionManager makes decisions about
selection.

AE17) Create exon (have to select a result to be enabled): It brings
up a popup error message that is wrong: "this transcript extends 
beyond the current sequence region, ... edit at your own risk". It
then bring up a popup asking for exon size. I enter 50 and hit ok. 
Apollo then crashes (gee whiz!) with this error:
Setting new gene name to CG:temp1
Failed to find annotation to repair on CG:temp1 of class apollo.datamodel.GenericAnnotationSet for event 1
java.lang.Exception: Failed to find annotation to repair on CG:temp1 of class apollo.datamodel.GenericAnnotationSet for event 1
        at apollo.gui.drawable.DrawableFeatureSet.parentOkay(DrawableFeatureSet.java:611)
        at apollo.gui.drawable.DrawableFeatureSet.repairFeatureSet(DrawableFeatureSet.java:566)
        at apollo.gui.drawable.DrawableAnnotatedFeatureSet.repairFeatureSet(DrawableAnnotatedFeatureSet.java:194)
        at apollo.gui.genomemap.AnnotationView.handleAnnotationChangeEvent(AnnotationView.java:267)
        at apollo.gui.Controller.handleAnnotationChangeEvent(Controller.java:129)
        at apollo.gui.AnnotationChangeCoalescer.fireAnnotationChangeEvent(AnnotationChangeCoalescer.java:156)
        at apollo.gui.AnnotationChangeCoalescer.executeChanges(AnnotationChangeCoalescer.java:144)
        at apollo.gui.AnnotationEditor.addGene(AnnotationEditor.java:1776)
        at apollo.gui.AnnotationEditor.addGeneOrTranscript(AnnotationEditor.java:1373)
        at apollo.gui.AnnotationEditor.createAnnotation(AnnotationEditor.java:2323)
        at apollo.gui.AnnotationEditor.createAnnotation(AnnotationEditor.java:2310)
        at apollo.gui.AnnotationEditor.createAnnotation(AnnotationEditor.java:2287)
        at apollo.gui.menus.AnnotationMenu.actionPerformed(AnnotationMenu.java:332)
        at
	javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1450)
fixed this - default strand was not being set by AE - but now new null
ptr, which actually happens BEFORE previous error - something doesnt
like the new strand info:
java.lang.NullPointerException
        at apollo.dataadapter.organism.FlyOverlap.getCodingPortion(FlyOverlap.java:48)
        at apollo.dataadapter.organism.FlyOverlap.areOverlapping(FlyOverlap.java:35)
        at apollo.dataadapter.organism.FlyOverlap.areOverlapping(FlyOverlap.java:25)
        at apollo.dataadapter.organism.FlyOverlap.areOverlapping(FlyOverlap.java:25)
        at apollo.gui.AnnotationEditor.areOverlapping(AnnotationEditor.java:479)
        at apollo.gui.AnnotationEditor.findOverlappingGenes(AnnotationEditor.java:1321)
        at apollo.gui.AnnotationEditor.addGeneOrTranscript(AnnotationEditor.java:1372)
        at apollo.gui.AnnotationEditor.createAnnotation(AnnotationEditor.java:2325)
        at apollo.gui.AnnotationEditor.createAnnotation(AnnotationEditor.java:2312)
        at apollo.gui.AnnotationEditor.createAnnotation(AnnotationEditor.java:2289)
        at apollo.gui.menus.AnnotationMenu.actionPerformed(AnnotationMenu.java:342)
AE28) Merge transcripts is buggy. If you fully select 2 2-exon 
transcripts and merge them one of the exons remains as a separate 
transcript. Theres also many other combos that come out wrong.
Also user guide says only exons should move but I think thats pase
with move exons to transcript.
AE4) If you try to merge transcripts that are on opposite strands, it won't
let you, but the error message ("Can only add exons from other
transcripts.") is confusing. 
Now it says "expected 2 transcripts" which is equally confusing.
Probably because Editor consider strand, Menu not.
Disabled for cross strand - only looks at strand clicked.
AE25) if you merge exons that are not adjacent you get popup message: 
Removing surronding exon no_name. Is this message necasary? should it 
be restricted to adjacent?
- If you shift click a feature (with nothing else selected) and click 
another feature (without shift) the first feature doesn't deselect as
it should.
AE13) EDE funny with multi-select on both strands - see EDE54
EDE54) If you have an annotation in the forward strand selected and you
right click on the rev strand and bring up the rev strand ede without
actually selecting anything (right click doesnt always select) then
the reverse ede will come up with the forward annot transcript and a 
not found message is printed out.
Looking at this further this is a right click error i believe. If
nothing is selected then the right click will select. If something is
selected right click wont select. The ede comes up with reverse is
using the mouse position but then it grabs whats actually selected
when coming up with the display. Should the right click always do a
select?
AE15c) set as 3'/5'/both strand sensitive But if both strands are in 
an enabled state it will actually do the setting for both strands. 
It probably shouldnt.
AE14)Delete selection" with both strands selected will cause the following exception:
java.lang.NullPointerException
        at apollo.datamodel.FeatureSet.getLastBaseOfStopCodon(FeatureSet.java:655)
        at apollo.dataadapter.organism.FlyOverlap.getCodingPortion(FlyOverlap.java:55)
        at apollo.dataadapter.organism.FlyOverlap.areOverlapping(FlyOverlap.java:35)
        at apollo.dataadapter.organism.FlyOverlap.areOverlapping(FlyOverlap.java:25)
        at apollo.dataadapter.organism.FlyOverlap.areOverlapping(FlyOverlap.java:19)
        at apollo.gui.AnnotationEditor.areOverlapping(AnnotationEditor.java:477)
        at apollo.gui.AnnotationEditor.findSplits(AnnotationEditor.java:2903)
        at apollo.gui.AnnotationEditor.splitAllGenes(AnnotationEditor.java:2989)
        at apollo.gui.AnnotationEditor.deleteSelectedFeatures(AnnotationEditor.java:2462)
        at apollo.gui.AnnotationEditor.deleteSelectedFeatures(AnnotationEditor.java:2415)
        at apollo.gui.menus.AnnotationMenu.actionPerformed(AnnotationMenu.java:281)
        at
	javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1450)
null pointer gone but should be disabled when across strand.
- just deletes from strand clicked on
AE15b) Merge exons is insensitive, but if your selection is on the
reverse strand and you right clicked on the forward strand you get 
an error message "Selected NO transcript to merge features in".
Still messed up - enables across strand
AE15) Be consistent about strand in menu items. Need to decide whether
a  right click on a strand means only work with that strand, or should
it always consider both strands. I think the former. 
Split trans, move exons to trans, assign name sensitve to strand.
Duplicate - now sensitive, 
xsplit exon - messed up, 
calc longest orf - now sensitive, 
sequence not sensitive to strand - thats ok
xMerge trans(xAE4),xmerge exons(15b), xset as 3'/5'/both(15c),xede(EDE54)
are caught in middle -which is to say they are buggy:
AE30) Set owner doesnt appear to work

Sporadic null pointer on closing after mucking around. Dont know how to make this 
repeatable. [I think this is the same as the bug below. --NH]
java.lang.NullPointerException
        at apollo.gui.ApolloFrame.confirmSaved(ApolloFrame.java:683)
        at apollo.gui.event.BasicWindowListener.windowClosing(BasicWindowListener.java:27)
        at java.awt.AWTEventMulticaster.windowClosing(AWTEventMulticaster.java:290)

This null pointer occured after I changed some annotations, tried to load
another (non-existent) file, then tried "Open new" a second time and got:
java.lang.NullPointerException
	at apollo.gui.ApolloFrame.confirmSaved(ApolloFrame.java:671)
	at apollo.gui.LoadUtil.loadWithProgress(LoadUtil.java:49)
	at apollo.gui.LoadUtil.loadWithProgress(LoadUtil.java:32)
	at apollo.gui.menus.FileMenu.actionPerformed(FileMenu.java:313)
And if I try to quit, I get the same exception as above:
java.lang.NullPointerException
	at apollo.gui.ApolloFrame.confirmSaved(ApolloFrame.java:671)
	at apollo.gui.event.BasicWindowListener.windowClosing(BasicWindowListener.java:27)
	at java.awt.AWTEventMulticaster.windowClosing(AWTEventMulticaster.java:290)
This behavior seems to be repeatable, if you edit, try to load a
non-existent file, and then try to do anything.

x Annotator's full name is used in "set owner" menu option but not in
annotation info window.
x Check for any other places where we should be using full name

x When multiple features are selected with shift-click, the *first*
feature selected is used by default (e.g. for the detail panel and
some right-menu options such as "Get info about this feature via
Web").  Should use the *last* feature selected. 

x If we make right detail panel show LAST selected result, make sure to
make "Get more information about a result in Web browser" use last one
also - in fact all things (eg menu options) should use last (see AE29
and Selection issues)

Make all frame numbering consistent between ede and stop and start
tiers and blast. What is blasts numbering anyways?

EDE xhigh priority: x1,x3,x6,x8,x10,x18,x23,x24,x25,x26

Need to be able to move evidence to opposite strand. Was working in
berkeley branch.
- Remember to add to manual
AE5) Suzi reported shift-drag to add exons not working.  Can't recreate
problem--works for me on Linux and Mac. - works for me on linux - mg
EDE19) draggable bar in main viewer seems to be off a bit - actually on
closer inspection i think its the annotations that are off and not the
bar - oh my  [has this been fixed?] 
MG: Seems to still be off by one base have to zoom in all the way to see.

If you move a result to the other strand and then try to drag the flipped
result down to create a new transcript, you get exceptions:
	****** ADDING GENE ******
Setting new gene name to CG:temp1
Failed to find annotation to repair on CG:temp1 of class apollo.datamodel.GenericAnnotationSet for event 1
java.lang.Exception: Failed to find annotation to repair on CG:temp1 of class apollo.datamodel.GenericAnnotationSet for event 1
	at apollo.gui.drawable.DrawableFeatureSet.parentOkay(DrawableFeatureSet.java:619)
	at apollo.gui.drawable.DrawableFeatureSet.repairFeatureSet(DrawableFeatureSet.java:573)
	at apollo.gui.drawable.DrawableAnnotatedFeatureSet.repairFeatureSet(DrawableAnnotatedFeatureSet.java:194)
	at apollo.gui.genomemap.AnnotationView.handleAnnotationChangeEvent(AnnotationView.java:267)
	at apollo.gui.Controller.handleAnnotationChangeEvent(Controller.java:129)
	at apollo.gui.AnnotationChangeCoalescer.fireAnnotationChangeEvent(AnnotationChangeCoalescer.java:156)
	at apollo.gui.AnnotationChangeCoalescer.executeChanges(AnnotationChangeCoalescer.java:144)
	at apollo.gui.AnnotationEditor.addGene(AnnotationEditor.java:1804)
...
Exception occurred during event dispatching:
java.lang.NullPointerException
	at apollo.gui.drawable.DrawableFeatureSet.repairFeatureSet(DrawableFeatureSet.java:581)
	at apollo.gui.drawable.DrawableAnnotatedFeatureSet.repairFeatureSet(DrawableAnnotatedFeatureSet.java:194)
	at apollo.gui.genomemap.AnnotationView.handleAnnotationChangeEvent(AnnotationView.java:267)
...

if you edit, load with bad file (which causes a stack trace - should
 get rid of), and then do another load and click save first then load
 you get a null pointer:
java.lang.NullPointerException
        at apollo.gui.DataLoader.putCurationSet(DataLoader.java:285)
        at apollo.gui.ApolloFrame.confirmSaved(ApolloFrame.java:682)
        at apollo.gui.LoadUtil.loadWithProgress(LoadUtil.java:49)
        at apollo.gui.LoadUtil.loadWithProgress(LoadUtil.java:32)
        at apollo.gui.menus.FileMenu.actionPerformed(FileMenu.java:313)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1450)

When opening with a bad file name stdout gets an exception stack
trace:
apollo/dev/data/save-test.xmlqaeth for reading.
        at apollo.dataadapter.GAMEAdapter.getStreamFromFile(GAMEAdapter.java:1313)
        at apollo.dataadapter.GAMEAdapter.xmlInputStream(GAMEAdapter.java:1230)
        at apollo.dataadapter.GAMEAdapter.getCurationSet(GAMEAdapter.java:1146)
        at apollo.dataadapter.GAMEAdapterGUI.doOperation(GAMEAdapterGUI.java:102)
        at org.bdgp.swing.widget.DataAdapterChooser.doCommitWithExceptions(DataAdapterChooser.java:355)
        at org.bdgp.swing.widget.DataAdapterChooser.doCommit(DataAdapterChooser.java:408)
        at org.bdgp.swing.widget.DataAdapterChooser$CommitRunnable.run(DataAdapterChooser.java:132)
        at java.lang.Thread.run(Thread.java:484)
This is not necasary as we have a error popup message
already. Exception should not print out.

AE16) Split exon improperly enables when whole transcript selected,
which produces an error popup: can only split one feature at a time.
AE27) Split exon should probably end up with both new exons selected,
currently only 1 of them gets selected. Either that or neither.

New mem leak! After loading example.xml maybe 5 times ran out of
memory. I was doing deletes on each one so it may be related to
editing. Havent done much chceking for mem leaks with editing.

Mem leak in DragFeatureView. Either needs to remove itself as window
listener of controller or needs to clear out its contents.

x Lynn and [Bev] both find the starts hard to see. A darker green would be
nicer. The color chosen probably looks very nice on the black
background. We prefer the white background. This would all be moot if
we could use the types panel to change the color of the starts but that
doesn't seem to be working.

EDE63) In the transcript graphic at the bottom of the exon editor the
yellow bar that indicate the region of sequence displayed in the exon
editor is very difficult to see, especially for large genes.

AE29) Annot menu should maybe look if any part of selection is under
right click, or maybe right click should do a select (shift right
->multi). Also should use last trans(most recently used) not first.
AE27) Got null pointer on cross strand delete. looking for repeatable:
java.lang.NullPointerException
        at apollo.gui.AnnotationChangeCoalescer.coalesceChanges(AnnotationChangeCoalescer.java:95)
        at apollo.gui.AnnotationChangeCoalescer.executeChanges(AnnotationChangeCoalescer.java:135)
        at apollo.gui.AnnotationEditor.purgeExon(AnnotationEditor.java:2657)
        at apollo.gui.AnnotationEditor.deleteSelectedFeatures(AnnotationEditor.java:2490)
        at apollo.gui.AnnotationEditor.deleteSelectedFeatures(AnnotationEditor.java:2462)
        at
	apollo.gui.menus.AnnotationMenu.actionPerformed(AnnotationMenu.java:293)
seems to happen with whole transcripts that are selected by double
click
repeatable: double click CG324244-RI, shift double click CG1116-RB,
right click CG1116-RB(forward) - delete selection
the first selection has to be shift clicked, doesnt have to be cross
stranded
actually shift double click does (dont need 2nd selection)

x? Not sure exactly how I got this exception--I was creating and editing
new transcript comments.
Exception occurred during event dispatching:
java.lang.ArrayIndexOutOfBoundsException
	at java.lang.System.arraycopy(Native Method)
	at java.lang.StringBuffer.insert(StringBuffer.java:918)
	at apollo.gui.CommentEditPanel.updateComment(CommentEditPanel.java:269)
	at apollo.gui.CommentEditPanel.keyTyped(CommentEditPanel.java:286)
	at java.awt.Component.processKeyEvent(Component.java:3674)
[I think I've fixed this but I'm not sure.]

x AE21) set owner/disown works with the 1st item in a multi-select which
 i think is confusing. I think it should disable on a multi-select.

x AE22) Set completed/unfinished: If I set completed it would come up 
next time with "Set unfinished", but not vice-versa.  (Setting unfinished
doesn't seem to take effect.)
[This turned out to be because addProperty no longer substitutes a new
value for an existing value; it adds the new value to a vector of
values.  So you need to use removeProperty before using addProperty to
change a property.  Should check if this is an issue elsewhere.  --NH]

x Checking or unchecking "Finished" box (in Annotation Info window) does
not actually change the finished status of the transcript.

x Should warn in manual that interconversion between GFF and GAME is not
working right
x Mention right-mouse popup sensitive to location
x Check description of how to use annotation info editor

addProperty no longer substitutes a new value for an existing value; it
adds the new value to a vector of values.  There are situations where
this is not what we want (use new replaceProperty method instead)--need
to look into that.  E.g., should dates be added or replaced?

x When you invert colours, need to invert label colors (FeatureLabelColor
and AnnotationLabelColor).

x Warn in gff.style and in manual that gff doesn't work for editing.

x If "Show GC content graph" is unchecked, and then you change the graph
color, the GC graph reappears, but the "Show" box does not get checked.

x If you create a new transcript of a gene when Annotation info window is
already open, new transcript appears in list, but new transcript comments
added to ANY transcript of that gene (not just new transcript) don't show
up in big comment panel until you commit and reload.  (If you delete a
transcript of a multiple-transcript gene, you get the same behavior:
can't add new transcript comments to the existing transcript.)

EDE28)Bev:We find the nucleotides in the new EDE harder to read than in old BOFE.
Is it a font change or is it just bold now?[medium]
Make an ede font config option.
EDE35) When ede has to add a new line for a new transcript it adds it in
a different font than the rest of the lines. Is this desired?

EDE64) (Bev) When you use the "Find sequence feature" in the exon editor to
search for an amino acid string, the found amino acid string is
impossible to read because of the cross hatching over the amino acid
letters.  Would be nicer to have a different way to highlight the found
sequence that allows it to be legible.
[I changed the crosshatching to outlining.  We'll see if they like that
better.  --NH]

x If you select a gene by rubberbanding it, you're cool.  However, if you
select a gene from the Gene menu or by using Find or the Annotation Tree,
or by requesting a region by gene, the gene gets boxed but is not really
part of the selection, AnnotationMenu functions that require transcripts
are not enabled.

x If you select a gene from the Gene menu or by using Find or the Annotation Tree,
or by requesting a region by gene, the gene gets boxed but is not really
part of the selection, so "delete selection" doesn't work.

EDE70) When you Find an amino acid sequence, the residues should be
boxed.  For some reason, they've lost the line on the right side.
EDE65) Harvard would like the colors and fonts in the EDE to be
configurable style options.  
x(This includes the black & gray boxes that delimit blocks of 10 nucleotides.)
Exon coloring is a bit involved. Theres actually 4 colors currently
being used, as transcripts as well as exons get different colorings.
Do we want to keep the 4 color model? Reduced it to 2 color model -
all transcripts the same.

----------- ^ Release 1.2.5 ^ ----------

Ensembl CGI not working

Rubberbanding not selecting everything under rubberband

if rev strand hidden and rubberband forward, rev strand annots may
show up in detail panel

Have apollo.backup and apollo.history saved to data/ if it can't be found
and paths in apollo.cfg are not absolute

When I loaded 2:200000-400000 from the Ensembl CGI server, I noticed two
new result types that are not defined in ensembl.tiers: human_protein and
human_cdna.

Save as GFF totally broken.  Looks like it's somehow trying to read
instead of write:
apollo.dataadapter.DataAdapterException: Error: could not open file data/jkgff for reading.
	at apollo.dataadapter.BaseGFFAdapter.getGFFFile(BaseGFFAdapter.java:136)
	at apollo.dataadapter.GFFAdapter.getAnalysisRegion(GFFAdapter.java:25)
	at apollo.dataadapter.BaseGFFAdapter.getCurationSet(BaseGFFAdapter.java:98)
	at apollo.dataadapter.GFFAdapterGUI.doOperation(GFFAdapterGUI.java:24)
	at org.bdgp.swing.widget.DataAdapterChooser.doCommitWithExceptions(DataAdapterChooser.java:355)
	at org.bdgp.swing.widget.DataAdapterChooser.doCommit(DataAdapterChooser.java:408)

Print version string before reading data

----------- ^ Release 1.2.6 ^ ----------

This is now working - i dont know why - the underlying data model must
have gotten fixed(?)
- Double-clicking an annotation intron or a result intron results in exceptions.
According to the manual, here's what's supposed to happen:
Double-clicking an intron belonging to a gene selects all transcripts
belonging to the associated gene.  Double-clicking an intron belonging to
a result selects all results of that particular type.
- The exception is now repressed but the problem is not fixed. In mid
july suzi made some 
changes to the sorted drawables. This caused a bug where the drawable transcript you
get on clicking has a ref drawable feature that does not represent a gene, and has 
a null model (getFeature) - this null caused the null ptr exception. I changed 
FeatureView.findFeaturesforSelection to check for null, this means double clicking
transcript introns no longer select the gene (or for results the tier), until this gets
fixed.

- Selecting all exons (by rubberband or shift-click) should select the
whole transcript.  Selecting all transcripts should select the whole gene.

AE23) If you select a gene from the Gene menu and try to "delete
selection", it doesn't get deleted.  Also, you get an erroneous warning
"this transcript extends beyond the current sequence region".
Same problem with "delete selection" if you use Find or the Annotation
Tree to find a gene--it looks selected, but isn't really.  See the
section on "selection issues".

Reported by Bev: [In the Berkeley version] when you selected a
transcript, the translation start site that was used was highlighted in
the starts tier at the top.  I thought that was a very useful
feature. That doesn't seem to happen now.

- Set as 5'/3'/both ends, delete ev, create gene trans, create new
over, move to strand, add as new, add ev all disabled if select from
detail panel
- In TierPopupMenu "Add as new transcript to selected gene" and "Add
as evidence" erroneously disabled if transcript externally selected.
- Create gene transcript improperly enabled if transcript externally 
selected (suppose to disable if any annots selected)

Codons lose selection on zooming or scrolling. (axis sequence remains
colored)

Exons that are outside of loaded region sometimes get frame 0 in
annotation tree.

AE31) "Set as 5' end" and "Set as 3' end" are not being enabled when they
should be.

Evidence is not really implemented.  Remove the menu items dealing with
evidence and also the evidence shown in the annotation tree.
[Didn't bother changing annot tree--if you can't add evidence, then it
won't show up in annot tree.]

- Why do some non-gene annots have a blank Name in the left detail panel
(e.g. transposable_elements)?  They have a name in the righthand one.
  This seems to be something that's lost when you save XML.  Look into it.

- Threw error when committing in Annotation Info window--can't repeat.  I
had created a new gene and then changed its type, name, and comment, and
got this when I committed:
Setting new gene name to CG:temp1
No transcripts for selected feature!
Exception occurred during event dispatching:
java.lang.NullPointerException
	at apollo.gui.FeatureEditorDialog.featureChanged(FeatureEditorDialog.java:232)
	at apollo.gui.FeatureEditorDialog.isChanged(FeatureEditorDialog.java:216)
	at apollo.gui.FeatureEditorDialog.save(FeatureEditorDialog.java:295)
	at apollo.gui.FeatureEditorDialog.commit(FeatureEditorDialog.java:200)
[I believe I've prevented this from happening again, though I'm not sure
what caused it.]

x On first load, requesting a GAME region by anything other than filename
results in an exception:
   caught exception creating URL nullAE003603
This is because GAMEAdapter is asking Config for URLs, but they are in
style, which hasn't been loaded yet.
- This is fixed by Mark's hack, but should be revisited.
[Let's just say it's ok--I haven't seen any problems with it.]

Should we try to check free memory whenever user edits something?
Try Runtime.getRuntime().freeMemory()
- What should minimum memory be to give user a warning?
- Should we warn only once per session?

- We're one behind in showing changes to comments.  If you edit a comment
(using backspace or delete or other control key), the *first* change you
make doesn't show up.  Then if you make a second change to the comment
text, you see the *first* change (in the big comment panel).

When you're in revcomp mode and you do Find, the matching patterns and
the highlighting are wrong.

Annotation info window
- Should disable the pulldown list of canned comments until user clicks
"Add".  
- Should also disable typing in the comment edit panel if it's empty.
- "Comment is for internal viewing" text doesn't fit
- Would the confusing Add Comments interface be clearer if the Add and
Del buttons were below both the comment list and the area where the new
comment is shown, rather than just below the comment list?

Display non-gene annotations by type
x Problem is that all annotations look like "transcript"s when we're
drawing them--see DrawableSeqFeature.drawUnselected (groupProperty is for
"transcript") and DrawableFeatureSet.initSet (can we setFeatureProperty
differently to preserve the annotation "flavors"?).

EDE17) 3' not dragging - its dragging for me - is this only in certain
cases? It does spit out funny message: WARNING: Selection sets used
multiple times. this message happens with all dragging, valid or invalid.
[Commented out warning message; I don't see the point of it.]
EDE66) "Find" should be a button rather than a right-mouse popup
option. Should there be a menu with both find and sequence?
EDE67) Would it make more sense to have a "clear search hits" button
rather than a "Show search hits" checkbox?  Why would you want to hide
the search hits and then turn them back on?  And what does it mean to
check that checkbox if you haven't yet done a search?
EDE73) If you hit "Search" in the find box before entering a sequence, it
finds all positions.

AE24) "create exon" has been "fixed", or implemented fully, so it
doesnt crash anymore, but now the question is what is the desired
functionality. Presently you can create an exon anywhere, and its not
tied to any result. Do we want it tied to a result for its start,
stop, or evidence (not totally clear on what role evidence plays?)
Sima says no need to tie to result as we have dragging.

AE26) after doing lots of editing, duplicating,splitting,merging...
null pointer would fly on delete selection - dont have repeatable:
java.lang.NullPointerException
        at apollo.datamodel.FeatureSet.getLastBaseOfStopCodon(FeatureSet.java:655)
        at apollo.dataadapter.organism.FlyOverlap.getCodingPortion(FlyOverlap.java:59)
        at apollo.dataadapter.organism.FlyOverlap.areOverlapping(FlyOverlap.java:35)
        at apollo.dataadapter.organism.FlyOverlap.areOverlapping(FlyOverlap.java:25)
        at apollo.dataadapter.organism.FlyOverlap.areOverlapping(FlyOverlap.java:19)
        at apollo.gui.AnnotationEditor.areOverlapping(AnnotationEditor.java:479)
        at apollo.gui.AnnotationEditor.findSplits(AnnotationEditor.java:2909)
        at apollo.gui.AnnotationEditor.splitAllGenes(AnnotationEditor.java:2995)
        at apollo.gui.AnnotationEditor.deleteSelectedFeatures(AnnotationEditor.java:2468)
        at apollo.gui.AnnotationEditor.deleteSelectedFeatures(AnnotationEditor.java:2421)
        at apollo.gui.menus.AnnotationMenu.actionPerformed(AnnotationMenu.java:291)
looking at the code FeatureSet.getLastBaseOfStopCodon calls 
getFeatureContaining(translation_end) which returns null.
[I think this must be fixed; FeatureSet.getLastBaseOfStopCodon no longer
calls getFeatureContaining.]

Creating new sequence windows:  should we do like with the EDE?  Checkbox
for "follow selection"; button for "open new sequence window" (then the
old one defaults to not following selection).

AE28) Delete selection enables for selection in other strand but not
clicked strand - should only enable for selection in present strand
[That is now fixed.  Should we allow you to delete more than one thing at
a time?  I tried changing the relevant line in AnnotationMenu to
      delete.setEnabled(transcripts.size() > 0);
but that caused problems.]

Now if you select something, then move to the other strand, then
right-click and pick "delete selection", you get "Warning: this
transcript extends beyond the current sequence region" warning message.

x GO IDs are not hyperlinked (see gene "chif", for example). Links should go to:
http://godatabase.org/cgi-bin/go.cgi?query=GO:0007306&view=details&search_constraint=terms&depth=0

AE32) Problem editing dicistronic genes: if two transcripts belonging to
a gene have non-overlapping ORFs, then doing anything to one of the
transcript makes apollo think the gene was split, so it does unwanted
things like renaming both transcripts.
Example:  CG33088.
Also, before saying that gene was split, you get an error message:
ERROR: Didn't find CG33088-RB exon 3 in set CG33088-RA
(See bug AE18--probably the same issue)
AE33) Due to the same dicistronic problem:
If you delete the S-element that is in the intron of CG32514 (which is a
dicistronic gene), the gene renames to CG:temp

x Add "Is Dicistronic" checkbox
Curators can use Chris M's script "fix_annotation.pl" to mark dicistronic
genes.

x "Is Problematic" checkbox is not getting set correctly (see Hph
transcript RC in annot-types).  (This was also true in v1.2.6.)
It doesn't seem to be set by GAMEAdapter as it should be.

x In detail panel, it uses the analysis type name (e.g.,
transposable_element) rather than the visual type name ("Transposable
element").
x Why not include result type in righthand colored label?  [Check to see
if curators don't want this.]

The "focus" attribute for sequence in GAME xml says that that sequence
is the main genomic sequence. If no sequence has that tag a null
pointer will result. Should we have a popup error message in this
case? I think so.

Annotation info window
x Changes to "Is Dicistronic?" checkbox are not being saved in internal
mode
x Changing type of annotation is not working--it reverts back to Gene!
x In gene edit panel, says "Transcript" in a lot of places--shouldn't say
that for non-gene annotations.

StringIndexOutOfBoundsException with Sequence residueOffset adding one 
and asking for more sequence than is there - why is it adding one anyways?

GenBank writer:
- You're supposed to choose a directory, but it doesn't tell you that,
and the browser will only let you choose a file.  If you select a file,
you get:
java.lang.NullPointerException
        at apollo.dataadapter.genbank.GenbankAdapterGUI.doOperation(GenbankAdapterGUI.java:30)
        at org.bdgp.swing.widget.DataAdapterChooser.doCommitWithExceptions(DataAdapterChooser.java:355)
        at org.bdgp.swing.widget.DataAdapterChooser.doCommit(DataAdapterChooser.java:408)
        at apollo.gui.menus.FileMenu$SaveAdapterChooser.doCommit(FileMenu.java:349)
        at org.bdgp.swing.widget.DataAdapterChooser$CommitRunnable.run(DataAdapterChooser.java:132)
        at java.lang.Thread.run(Thread.java:479)

A lot of Ensembl results, when you click on them, show names like
"sptrembl: no_name" in the righthand detail panel.  If second part of
name is "no_name", don't show it.  But there are some results that seem
like they should have real names.
- Got rid of the no_name by changing SetDetailPanel:featureDisplayString,
but line below colored line on right has nothing in it--should have
something. 
[Oh well, whatever.]

x If you ask for a gff file that's not found, you get a popup that just
says Exception from apollo.dataadapter.DataAdapterException.  Message
"Error: could not open file foo for reading." is just printed to
terminal.

x If I open the annot info window for any annotation that has INTERNAL
comments, and I'm in public mode, then when I hit the x, it asks if I want
to save changes (even though I didn't make any changes).
(Example: Hph:CG31543)
This is because the internal comments are not getting copied somewhere.
Need to copy them into clones, but not show them.

xJV1)Its only putting up the first result in the selection, need to handle
more than one.

x JV5)If you close jalview apollo gets killed - there must be a System.exit
in there.
xJV9) menus are not always coming up - only if make height of window
small (linux specific?)  
[Looks ok to me on SuSE Linux.  --NH] 
[really? still not ok for me on suse?? works now for me - MG]
x JV10) Shouldn't align menu options be disabled if nothing's selected?
xJV11) game seqs with alignment but no seq not coming in
xJV13) need genomic sequence!
xJV20) Null pointer in example.xml bringing up Fly ESTs (light green).
xJV12) game blastx sim to other species features (orange) sequence not
coming in. exon coming in as N's, feature set not at all.
[exon now coming in but see JV27]

x AAAAAUGH!  It seems that the REAL transcript object is getting edited,
when it should just be the clone!  If you change the "Finished" checkbox,
and then hit the X, it doesn't ask if you want to save changes, but
sometimes it saves that change!  (Not always!)

Annotations that are not peptides (e.g. transposons) shouldn't say
"transcript:" on the second line of the righthand detail panel.

xJV8) jalview numbering starts at 1 - needs real coordinates in there
xJV22) Blastx (orange) coming up with protein seq in main window and
dna in jalview.
xJV27) There are dashes in the blastx (orange) alignment sequences that
jalview doesnt show, which throws the alignment off.
xJV33) jalview column selection(between seqs and numbers) causes main
window to scroll to 0. 
xJV34) Jalview showing X's at the end of some seqs - not sure where
they are coming from. - because length of alignment and hit are
different, so it was padding incorrectly

Annot tree:
x disable in menu if there are no annotations

AE6) If you try to create a new gene when you don't have sequence
(e.g. smaller_example_no_seq.xml) it (SOMETIMES) throws an exception:
    at apollo.gui.AnnotationEditor.areOverlapping(AnnotationEditor.java:460)
    at apollo.gui.AnnotationEditor.findOverlappingGenes(AnnotationEditor.java:1297)
    at apollo.gui.AnnotationEditor.addGeneOrTranscript(AnnotationEditor.java:1348)
(Can't recreate problem)
[I'm pretty sure this is fixed.]

AE29) Got this msg on a delete - dont have repeatable:
Could not delete CG16708-RB exon 2 from CG16708-RB because drawable was not found
I got this message (and two exceptions) when trying to delete a non-gene
annotation (tRNA on annot-types.xml):
Failed to find annotation to repair on tRNA:R:83AB of class apollo.datamodel.GenericAnnotationSet for event 2
java.lang.Exception: Failed to find annotation to repair on tRNA:R:83AB of class apollo.datamodel.GenericAnnotationSet for event 2
	at apollo.gui.drawable.DrawableFeatureSet.parentOkay(DrawableFeatureSet.java:644)
	at apollo.gui.drawable.DrawableFeatureSet.repairFeatureSet(DrawableFeatureSet.java:613)
	at apollo.gui.drawable.DrawableAnnotatedFeatureSet.repairFeatureSet(DrawableAnnotatedFeatureSet.java:179)
	at apollo.gui.genomemap.AnnotationView.handleAnnotationChangeEvent(AnnotationView.java:285)
...
Exception occurred during event dispatching:
java.lang.NullPointerException
	at apollo.gui.drawable.DrawableFeatureSet.repairFeatureSet(DrawableFeatureSet.java:617)
	at apollo.gui.drawable.DrawableAnnotatedFeatureSet.repairFeatureSet(DrawableAnnotatedFeatureSet.java:179)
	at apollo.gui.genomemap.AnnotationView.handleAnnotationChangeEvent(AnnotationView.java:285)

User manual:
x Remove Blixem stuff
x Move synteny stuff to separate manual

Blixem issues:
Steve wrote about Blixem launcher:
I don't think you really need efetch. I've got a version of the blixem
running code that in theory (I've not actually tested this) produces seqbl
files (these seem to be exblx files but with sequence). I implemented this
because I thought it would be useful for your data but infact you are
storing the alignments as properties on the seqfeatures, rather than
ranges on the hit sequence, so this wasn't that useful for your use case.
I'll send you the version with seqbl support, and if you change this to
use the sequence information from the properties you will hopefully be
able to use it as the data for blixem (it won't work well if your
alignments are infact gapped, but thats really a data issue, thats going 
to affect you however you decide to display the alignments).
- Not getting sequence for some features that do have sequence,
e.g. D49534_revcomp in example.xml.
hitSeq.getResidues(fp.getHstart(),fp.getHend()) returns nothing.
x There are two Q9VNA0 hits at 1127771-1127944, identical except for
different Expect values.  If you select the lower one and ask for Blixem
on protein hits, it works fine.  If you select the upper one, it throws
an exception.
- Some hits (e.g. AJ280871) are tblastx hits, not blastn.  Blixem doesn't
like when they're called blastn but have subject start > subject end.
But if I make the seqbl header say tblastx instead of blastn, it still
gets upset about the sequence range, e.g.
     # tblastx
     100 (+1)	3172	3354	425	243 AJ284472 CAGCTGCACTGCTACTGCAACGCTTCGTTCAACGAGAAAGGTCCGCATGATGCTGCCGCGAACAGAAACGTTGGCGGCAGCACGTCGCTAAACGCCAGCAACCAGCTCAAGGGAGAGGTGCTGCACTCGACCGAACCGAAGATACTGTTCTGCGATTTGCGCCTGTCCCCGGGAGAAGCAAAA
Blixem complains, "Match coordinates for homology AJ284472 are partly or
completely outside of its own sequence.  Sequence for AJ284472 is 183
long but the start/end coordinates are 425 to 243."
In blastn mode, it's fine with subject coordinates 243-425 for a 183-bp
sequence.
x Check OS to choose the right Blixem automatically?
- Check that Blixem path works; message dialog if not.
- Selecting a Genscan result and calling blixem resulted in an exception:
java.lang.NullPointerException
	at apollo.gui.detailviewers.blixem.BlixemRunner.generateSeqblExblxData(BlixemRunner.java:205)
	at apollo.gui.detailviewers.blixem.BlixemRunner.generateSeqblExblxData(BlixemRunner.java:163)
	at apollo.gui.detailviewers.blixem.BlixemRunner.generateSeqblExblxData(BlixemRunner.java:163)
	at apollo.gui.detailviewers.blixem.BlixemRunner.run(BlixemRunner.java:104)
[NOTE: Blixem bugs are not fixed; we're just not going to worry about
Blixem anymore.]

x?JV31) disable editing - like dragging of seq gaps
is there other editing stuff i missed?

x? JV18) Jalview shows 3 frame translation above protein hits with
clustalx colouring scheme.
x?JV2)jalview puts in occasional black boxes blotching out the base pair.
This is a known jalview bug(steve and michele are well aware) that
happens with fast scrolling - some sort of repaint thing. If you
slowly rescroll the area the base comes in.
[ I think michele fixed this ]
JV30) ranges in seq label are in hit coords - make them genomic?

JV47) some game peptides coming up as dna: eg Rn#S197560
this exposed quirks in game data - see todo game issues

Need alignment viewer!  Use JavaSEAN's?  Simplify/fix John Richter's?
Use Sanger's Blixem launcher?  Adapt JALView?
Only need to show one sequence at a time aligned with genomic

Show curators Jalview and see if it's the sort of display they want.
Investigate how hard it would be to hook Jalview up to Apollo.
Tell Michele about missing example in Jalview distribution.  [Nomi]

Show gene report and annot info bring up first item in multi-select. Use
do most recent annot (last), not 1st, in selection.  
Should they consider where right click happens?

xJV16) lump proteins and dna together
- Some blastx features give their subject coordinates in base pairs
(CAC42517) and some are in peptides coordinates(Rn#S197560)
This is fine actually - CAC is tblasx, Rn is blastx so it makes sense

When you save GFF data, won't let you save sequence to a new file.

Enable GFF adapter to understand relative paths (for seq file as well as
GFF file).

[I don't know if these problems are fixed, but the way FASTA files are
loaded has changed, so no point trying to figure out whether these bugs
are fixed.]
- Problems starting up Apollo with GFF file + FASTA file (reported by Kim
Worley):  
/bin/apollo -f ./data/HAWK/hawk.anno.gff hawk ./data/stitch.chr9.fold.fa.masked 
java.lang.NullPointerException: Can't accept feature name of null.
Use RangeI.NO_NAME instead.
at apollo.datamodel.Range.setName(Range.java:23)
at apollo.dataadapter.GFFAdapter.getCurationSet(GFFAdapter.java:83) 

Can't load gff + fasta (see bug reports in bug tracker,
http://sourceforge.net/tracker/?atid=462763&group_id=27707&func=browse)

Find by name should be case-insensitive

----------- ^ Internal Release 1.3.0 ^ ----------

JV47) Separate menu items (or jalview menu) rather than submenu in
tier popup menu per annotator request.
JV21) genomic dna and translated have N's in introns. Change to '-'?
Or do we prefer it this way?
JV52) frame numbering should be 1,2,3
JV49) frames are off. frames in jalview need to be consistent with the
ede. Also frames of features as shown in detail panel need to be right
consistent with jalview as well.

JV25) Annots not being displayed in jalview. They are pruned out in
createPairList method. When they do go in should just show seq from
translation start to trans end.
JV59) put back align in annot menu
JV60) align region not working for transcripts
JV66) jalview quit is doing a System.exit()

Make "invert colors" invert only result background and edge match colors.

Annotation info window:
- From Bev: I start to enter a comment, then move to another window to
find a piece of information that I want to include in the comment such as
an accession number or DGC clone name. I move back to the edit window,
enter the information, click commit, and it doesn't save.
- Add "follow selections" checkbox like one on EDE and Sequence windows
- Lower right current transcript comment window is too small on Windows
(and Solaris?)

query frames shown in detail panel for blastx features are coming up
2,3,4 where according to sima they 1,2,3 in the xml - apollo must be
adding one unnecasarily - lets hope that there are not both features
with frame as 0,1,2 and features with frames 1,2,3. That would be problematic.
[I didn't see any cases with frames 0,1,2 in the input--GAME always seems
to use 2,3,4, and I don't see frames in any of the Ensembl data.]

JV64) cant deal with non-fixzed width fonts. For now take out
helvetica and times roman.
JV65) Allow for non fixed width fonts.
JV - fixed jalview menu toggling
JV62) names of sequences verbose in game, due to parent name

Synteny view
x When you select "Species2-Species1", options in the View menu still seem
to apply only to one panel, not both.  [Vivek said Species2-Species1
shouldn't be in the menu.]
x The "Species1", "Species2-Species1", "Species2" File menu items don't
appear to do anything.  They should be checkboxes.
Many menu items (e.g. Make evidence panel vertical) throw exceptions.
Probably need to disable some menu items when in synteny mode.
x Window has no title.

JV19) Too many menu options.  Should comment out most of them.

Edit preferences: if it can't save the style file where the original one
was, should try to save in ~/.apollo.

Flip strands, then expand and load, get exception
java.lang.ArrayIndexOutOfBoundsException: 0 >= 0
	at java.util.Vector.elementAt(Vector.java:417)
	at apollo.gui.TierManager.getTier(TierManager.java:109)
	at apollo.gui.drawable.DrawableSeqFeature.getYCentre(DrawableSeqFeature.java:103)
	at apollo.gui.drawable.DrawableSeqFeature.addDecorations(DrawableSeqFeature.java:352)
It must be getting confused because it's kind of in revcomp mode, but
kind of not.

If locations for history and autosave file were not defined in apollo.cfg,
put them in ~/.apollo.  If .apollo doesn't exist and can't be created, then
try to put them in APOLLO_ROOT/data.
And if that's not writeable either, put up a warning message and turn off
autosaving.

Need to preload defaults so user can see a synteny demo w/o going through
a bunch of steps.

Add synteny and jalview categories to SourceForge bug tracker

- Font for labels in GAMEPanel looks huge on SuSE linux (and Solaris)
unless you set size=1:
  private JLabel makeJLabelWithFont(String label,String example) {
    String l;
    if (Config.isUnix())
      l = "<html><FONT FACE=Geneva,Arial,Helvetica size=1 color=black><B>"+label+"</B>";
    else
      l = "<html><FONT FACE=Geneva,Arial,Helvetica color=black><B>"+label+"</B>";
Unfortunately, on RedHat linux with Gnome, font size 1 is teeny, so the
isUnix() test is not doing the trick.

AE35) From Bev:
I have a suggestion about handling overlapping annotations.
I wanted to add another transcript for janA (on AE003772) but the
transcript I tried to add happens to overlap the 3' end of janB.
The choices I got were to 
add selected feature as a new overlapping gene
merge janA and janB using selected features
cancel
The choice I needed that wasn't there was 
Create an additional transcript for janA
I should have also had the choice
Create an additional transcript for janB

JV29) Take out printlns.

User manual: Add Jalview section (separate page?)

----------- ^ Release 1.3.1 ^ ----------

x Ensembl lazy loading broken--loads sequence immediately when you bring up
region.

If you loaded AE003772 into 1.3.0, the window title was "AE003772 from
3R:25791493-26019935".  In the latest version, it just says "AE003772".
Old way was better.
Ick, the title of the Ensembl window is also worse: changed from "Chr 1
100000 200000" to "1 from Chr 1 100000 200000:100000-200000".
(Happened some time between Apr 25 and 29)

Less minor bug:  throw exception on loading small region
I was showing example.xml and wanted to load scaffold AE003603, but I
accidentally asked for gene AE003603 instead.  Somewhat unexpectedly,
this apparently is a gene--it fetched region 3R:1003443-1007407, which is
quite small.  Something went wrong in the tier manager:
Trying to open url http://www.fruitfly.org/cgi-bin/annot/get_xml_url.pl?gene=AE003603
...
Completed XML parse of 3R:1003443-1007407
...
Finding start/stop codons...
java.lang.ArrayIndexOutOfBoundsException: 0 >= 0
	at java.util.Vector.elementAt(Vector.java:417)
	at apollo.gui.TierManager.getTier(TierManager.java:109)
[We still see this exception in other situations, but not when loading
AE003603.]

GAME seq writer is saving genomic sequence again as a <seq>.

"Species1" and "Species2" File menu items should be in the View menu, not
the File menu--or, even better, there should be a new Synteny menu.
Also, need more informative wording.

When you drag down a result to create a new transcript, and then pull up
the annotation info editor on that new transcript, the lower half says
"Gene" instead of "Transcript".

Make "edit at your own risk" popups come up only in internal mode

JDK1.4 todo:
On Macs running OS X 10.2.5 or later, using the menus in Apollo causes
the Mac to freeze up (necessitating a reboot)!  Doesn't seem to happen if
you force it to use JDK1.4.1 (instead of 1.3.1) by going into the Java
versions folder and changing the name of the 1.3.1 folder (so it can't
find it).
x New script to add JVM to Info.plist
  x JDK1.4 only runs on Macs running OS X 10.2.3 or later--need to check
that for older Mac OS Xs, new Apollo runs ok with JDK1.3.1
  - Make sure Mac has 1.4.1 installed
- Fix font of examples in GAMEPanel
- Handle Mac mouse events differently in 1.3 and 1.4--in 1.3, left and
middle buttons are reversed; in 1.4, they're not.
- Explain in manual (add link for downloading JDK1.4 on Mac)
http://www.apple.com/macosx/upgrade/softwareupdates.html

If I load annot-types.xml and then data/chr2.200000-400000.gff, it
doesn't visibly switch to the gff.style, so we get a lot of
Creating new feature property scheme for Variation
messages, although when it's done loading the data it shows up ok, so it
must have silently located the right style somehow.
[Fixed with change in BaseGFFAdapter.java--waiting to hear if it's ok to
commit]

I've just discovered a zooming bug that got introduced into Apollo
between versions 1.2.6 and 1.3.0.  In 1.3.0 and since, if you select
certain (not all!) transcripts by double-clicking, then zoom to them
(ctrl-z), then click to deselect and click a single exon, then zoom
again, it does not zoom in any more, just recenters.  If you start from
zoom level 1 and select a single exon (which is only possible for some
annotations; for some they're too jammed together to select just one) and
zoom into it, no prob.
Some of the transcriptss for which I've observed this problem include
Tim17b1 and CG1161-RA (in example.xml).  CG12591-RA doesn't have this
problem; its exons zoom correctly.
In annot-types.xml, the l(3)82Fd transcripts exhibit this problem, even
though their exons are visible unzoomed (so that's not the determining
factor).
Mark says:
well i think i know what this is - its theoretically acting "correctly" 
- its due to the byproduct of selecting codons - if you select exons 
while the codons are showing the start and stop codons for that 
transcript will select as the annotators have desired - zooming to 
selection takes into account a multi select as it should - if you select 
multiple things it should zoom to all of them - but i would also agree 
that it makes this case a little funny - but im not sure what the proper 
solution is

Sequence window--on Windows, "Follow external selection" box not visible
unless you enlarge window.

Rubberbanding bug on Mac: as you drag the rubberband, it keeps redrawing,
so you end up with a lot of nested black rectangles.  This is true for me
on a one-button mouse (simulating middle-mouse by apple-click) and a
five-button mouse (using the far-left buttons).  Steve has not observed
this behavior with his three-button mouse.  Could this be a JDK1.3 bug
that is fixed in 1.4? [yes]

Harvard would like "invert colors" to invert only the result background
and edge match colors.  Replace existing "invert colors" menu item or add
new one?

----------- ^ Release 1.3.2 ^ ----------

Out-of-memory check isn't right.  If you load a small region, it's still
using the initial heap, which may indeed be almost used up, but that's ok
because it can just allocate more memory.  Need a better way to check.

Make the window around a requested gene configurable:
x Change get_xml_from_gadfly.pl to accept a window argument (right now
it's actually a half-window--we +/- it around gene)
x Also add window around gene when zooming from Annotation or Bookmarks
menu
x What about from Find?  [left as is]

Get rid of HaveSequenceHack stuff

Problems with serial file adapter (apollo.backup)
- Annotations are now losing their flavor!  They come back in all little
and gray!

- Bev:  If you make a comment and save it and
then decide that you want it to be an internal comment, you can't
choose to keep it internal after you've already saved the comment. You
have to start over and enter the comment again and choose internal
comment at the same time.

Problems with serial file adapter (apollo.backup)
- If original XML file has no sequence (smaller_example_no_seq.xml), then we can't
recover the autosaved serial file.
java.lang.NullPointerException
	at apollo.datamodel.CacheSequenceLoader$SequenceRange.<init>(CacheSequenceLoader.java:152)
	at apollo.datamodel.CacheSequenceLoader.getResidues(CacheSequenceLoader.java:127)
	at apollo.datamodel.AbstractLazySequence.getResiduesImpl(AbstractLazySequence.java:75)
	at apollo.datamodel.AbstractSequence.getResidues(AbstractSequence.java:154)
	at apollo.datamodel.AbstractSequence.getResidues(AbstractSequence.java:140)
	at apollo.gui.ApolloFrame.haveSequence(ApolloFrame.java:841)
	at apollo.gui.ApolloFrame.setCurationSet(ApolloFrame.java:158)

----------- ^ Internal release 1.3.3 ^ ----------

Transcripts and exons saved with <type>gene</type> instead of transcript
or exon.

Search (Find) should allow wildcards.
- Full wildcards is hard, but how about an implicit wildcard at the end
of the search string?  E.g. if user asks for "RH68672", return
"RH68672.5prime" and "RH68672.3prime".

Naming of new transcripts:
If I load smaller-example-no-seq.xml, there's a gene labeled
fzy:CG4274-RA.  If I duplicate the transcript (or drag down a feature to
create a new transcript), the new transcript is labeled (CG4274):fzy-RB.
Isn't it a little weird that it flipped the name and the synonym?
Shouldn't it stick with the original order?  (Sima says yes.)

Apollo web page
- Michele & Steve should update Apollo web pages at ensembl.org
(http://www.ensembl.org/apollo/ and apollo/apolloguide.html)

very minor bug: if you bring up a region that is small enough that
codons should appear codons dont appear until you zoom - or they will 
appear if you bring the region up a second time
[this seems to be working, though I'm not sure when it got fixed]

In DAS adapter GUI, some of the text is white.  On Linux, the background
is khaki; however, on Windows, the background is white, so you can't see
the white text.

When making installer, need to include this -D option (to allow writes
back to Ensembl databases):
lax.nl.java.option.additional=-mx200M -Xmx200M -Dorg.xml.sax.driver=org.apache.xerces.parsers.SAXParser
To test:
1. Uncomment the das-adapter from apollo config
2. Choose that adapter from the chooser
2.5 If you need to set up an http proxy to speak to the outside world, do
this by selecting the "change" button in the "Proxy Settings" row, and
filling in your proxy server address and port. If you need one and you
don't set one, then step 3->4 will just hang while java faffs around
trying to set up a socket.
3. Type www.wormbase.org/db/das into the DAS Server field (I know ensembl
is in the drop-down, but I think wormbase is a faster source)
4. The sequence sources dropdown should have one value: "elegans". Select
it.
If you don't have the right parameter in the lax file, step #4 should
break, with a dialog telling you that you can't load a sax parser
because the parameter is missing.
2/27/03: I put in the
-Dorg.xml.sax.driver=org.apache.xerces.parsers.SAXParser argument, and it
is appearing in Apollo.lax, but the test above fails--the sequence
sources dropdown is empty.  (It also now doesn't work when I just run
bin/apollo, though I thought it used to--maybe it only works if you set a
proxy?)
3/6/03: Vivek says the SAXParser argument needs to be in a separate line
in the Info.plist; unfortunately, the installer won't let me do that.
But it's hard to test, since I can't get the DAS dropdown to work even
when running Apollo w/o the installer.
[6/6/03 This seems to be working now.  Should probably retest
periodically.]

- I was zoomed in so I could see the bases in results.  I dragged one of
the results to the annotation area to create a new transcript.  The
sequence font in all the visible results suddenly changed to italics.
(If I scroll to see other results, they still have the normal sequence
font.)
MG: Nomi whats the repeatable for this - I was unable to see this. If
I was creating a whole new gene the sequence of the new annotation is
in italics(is that desired?), but result sequence didnt go to italics.
[I'm not seeing this now, either. --NH]

This is minor, but if you select a feature and then drag a view splitter the
feature unselects, in contrast to adjusting the view with scrollbars
preserves the selection of the feature.
[It only unselects if you click on part of the main window while dragging
the view splitter--if you very carefully click right on the splitter
triangle, the current selection stays selected.  So I think this is ok
and not a bug.]

How is zoom level determined when you click on a Found sequence (or
restriction enzyme match)?  It seems more zoomed-in than necessary.

- Restriction enzyme search works on example.xml but not on annot-types.xml.
- If you're looking at a region that has portions that extend beyond the
sequence (so the edges of the region have no sequence), you get strange
results in the restriction enzyme search.  For example, if you load gene
cact and then click on the restriction enzymes, most of them have a bunch
of hits to sequence "G".
- Restriction enzyme finder doesn't work on Ensembl data, even when
you're zoomed in enough to see all the bases!  Also get message
"Warning: No features to getEnd() for".

- Clean up comment text to make sure it doesn't contain control
characters, because those choke the XML reader.
[Done, but it's not clear that this will prevent the problem Harvard had
with control characters in the XML, since it seems like the text editing
panel doesn't even let you enter control characters, so I'm not sure how
they got in there in the first place.]

- Allow multiple annotation info windows to be open at once.
  Need to make sure to delete them all when we move to a new region.

Add proxy dialog box button to GAMEAdapter (like the one in
EnsCGIAdapterGUI) (requested by Steve)
[This is probably the issue underlying this bug report:
https://sourceforge.net/tracker/?func=detail&atid=462763&aid=752507&group_id=27707]

If you try to load by Location and specify only a chromosome arm and no
start/end positions, you get a blank popup error and throw an exception:
java.util.NoSuchElementException
	at java.util.StringTokenizer.nextToken(StringTokenizer.java:259)
	at apollo.dataadapter.EnsCGIAdapterGUI.parseChrStartEndString(EnsCGIAdapterGUI.java:111)
	at apollo.dataadapter.GAMEAdapter.convertMovPanToUrlRangeString(GAMEAdapter.java:1435)
	at apollo.dataadapter.GAMEAdapter.getURLForRange(GAMEAdapter.java:1425)
	at apollo.dataadapter.GAMEAdapter.xmlInputStream(GAMEAdapter.java:1294)
	at apollo.dataadapter.GAMEAdapter.getCurationSet(GAMEAdapter.java:1167)
	at apollo.dataadapter.GAMEAdapterGUI.doOperation(GAMEAdapterGUI.java:102)
Should pop up an error message saying you must state the range.

GFF adapter doesn't save history for sequence file.

If you specify a "sequence file" that's not in the right format (e.g. try
to use another gff file) it throws an error (to console) and stops.

If I load an xml file, select a small annotation (Tim17b1) and zoom in to
it so the start/stop codons are visible, and then try to load a region
with the Ensembl CGI adapter, it tries to load the sequence and throws an
error:
ERROR: seqString length inconsistent with range for:
       seqString = ACTCCCTGTTGTTATGTTAGACTCTATATTTCTGTATTTGCTGTC[etc]
       low = 100000 high = 200000
       seqString length = 100011 high-low+1 = 100001

When looking at Ensembl data, tried to drag a stop codon, got exception:
HEY!, couldn't create a apollo.gui.drawable.DrawableTerminalCodon for stopcodon_frame2 because java.lang.ClassNotFoundException: apollo.gui.drawable.DrawableTerminalCodon
java.lang.ClassNotFoundException: apollo.gui.drawable.DrawableTerminalCodon
	at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
...
	at java.lang.Class.forName(Class.java:120)
	at apollo.gui.drawable.DrawableFeatureSet.createDrawableFeature(DrawableFeatureSet.java:150)

- If you switch to another annotation and it's an overhanger, should pop
up warning message about editing at your own risk.  (Maybe only need to
do this in Internal mode??)

On Mac, used Help menu to bring up help page; killed browser with help
page.  Apollo froze with "Help" menubutton selected.  Badbadbad.
[haven't been able to recreate the problem]

On the Mac (using JDK1.4), can't use Ensembl CGI adapter!  Fails in CGI.run().
Setting request method to GET
Exception java.net.MalformedURLException: no protocol: /Homo_sapiens/apolloview?chr=1&est=on&vc_end=200000&vc_start=100000
java.lang.NullPointerException
	at apollo.dataadapter.EnsCGIAdapter.getAnalysisRegion(EnsCGIAdapter.java:190)
	at apollo.dataadapter.EnsCGIAdapter.getCurationSet(EnsCGIAdapter.java:119)
	at apollo.dataadapter.EnsCGIAdapterGUI.doOperation(EnsCGIAdapterGUI.java:372)
[This was also a problem in release 1.3.2]

Write perl script to fix type mistakes in Harvard XML files

----------- ^ Release 1.3.4 ^ ----------
