[Biojava-l] Re: Questions about ChromatogramGraphic and your Chromatogram Viewer

Rhett Sutphin rhett-sutphin at uiowa.edu
Wed Jul 16 14:11:03 EDT 2003


On Wednesday, July 16, 2003, at 11:34  AM, Andrew Yates wrote:
> Just another few questions. How long will it be before the source for
> your application is released and are there any plans to develop this
> into an applet? Also how have you drawn the base calls and mapped them
> to the correct peaks or is there a way of detecting this via the
> generated image?

I probably won't be able to release the source for the whole  
application.  However, I will be open-sourcing the Swing components  
that handle the scrolling, etc., for a ChromatogramGraphic.  I can't  
make any promises about a schedule for that -- I've got to do some  
refactoring to fix a bug I've found and I don't have time for it right  
now.  Hopefully in the next month or two.

I am not planning on making an applet out this.  Once I release the  
swing components, though, it should be straightforward to make your  
own.  The chromatogram parsing libraries already include support for  
reading chromatograms from a arbitrary input stream, so loading a  
chromatogram via HTTP isn't a problem.  (In fact, Chromatogram Viewer  
does this for the demo chromatogram that shows up when you first load  
the program.)

The basecalls are drawn into a separate panel by the higher-level swing  
components.  If you'd like to draw the calls onto your generated image,  
you have a couple of options:
   * Every chromatogram object contains an Alignment of basecalls to  
trace peaks.  You can use this, plus your trace bounds and horizontal  
scale (if any) to figure out where the peaks are on the image.
   * ChromatogramGraphic has a method (  
http://biojava.org/docs/api/org/biojava/bio/chromatogram/graphic/ 
ChromatogramGraphic.html#getCallboxBounds(int,%20boolean) ) that will  
give you the bounds it has calculated for a particular call.  You can  
draw a symbol for the base in the box however you like.  (Note  
carefully that the index parameter is 0-based.  This is different from  
the Alignment returned by Chromatogram.getBaseCalls() which, like most  
BioJava structures, uses 1-based indexing.)

Rhett

--
Rhett Sutphin
Research Assistant (Software)
Coordinated Laboratory for Computational Genomics
   and the Center for Macular Degeneration
University of Iowa - Iowa City - Iowa - 52246
mailto:rhett-sutphin at uiowa.edu



More information about the Biojava-l mailing list