That helps alot, thanks! I think the trick that caught me is with the FeatureFilter. I think this would make a great example for BioJava in Anger.
I am able to get my features displayed on different "tracks" by specifying contrived sources. I am even able to alter the display color of the features based on the annotation (bitscore) by subclassing the BasicFeatureRenderer (maybe there's a better way to do this). This makes it look alot more "blast-like". I am actually doing this to build images to display on a website. So, I need to discover the pixel positions of the rendered features. By reading through the API's, I see no way to do this. Is this even possible? Thanks a bunch! -Patrick Keith James <[EMAIL PROTECTED]> on 03/27/2003 03:05:07 PM To: "Patrick McConnell" <[EMAIL PROTECTED]> cc: "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> Subject: Re: [Biojava-l] how to do multi-lined feature display >>>>> "Patrick" == Patrick McConnell <[EMAIL PROTECTED]> writes: Patrick> Let me be more specific. I want to be able to reproduce Patrick> something like EnsEMBL, where I have one sequence and Patrick> multiple tracks of features. Patrick> Specifically, I have a sequence and a bunch of blast hits Patrick> from different databases. I also have some other data, Patrick> such as quality scores for the sequence, that I need to Patrick> build custom renderers for (which will come later). Patrick> I think I need to use the MultiLineRenderer in Patrick> conjunction with a SequencePanel, but I cannot figure out Patrick> how to get multiple tracks of annotations. Do I need to Patrick> add Features to the Sequence in a special manner? Using a MultiLineRenderer will allow you to have multiple tracks. You may then put a different SequenceRenderer in each track. Take a SequencePanel (easier to implement scrolling -simply place into a ScrollPane) or TranslatedSequencepanel (must have scrolling implemented manually by hooking a JScrollBar to change the sequence position of the area to be viewed, but last benchmarked 7x faster than SequencePanel). Set the Panel's SequenceRenderer to be a MultiLineRenderer. You can then add more SequenceRenderers to the multi, each with different views of the Sequence and its complement of Features. Make these renderers FilteringRenderers (which are SequenceRendererWrappers) to get different views per track. Specify a FeatureFilter for each FilteringRenderer to determine waht to show in each track. You can combine multiple FeatureFilters via the filtering API. You can also use BeadFeatureRenderer (a SequenceRenderer) to show any number of different Feature types, each rendered distinctively, all on the same track. It also allows you to have different types of Feature at different Y-axis displacements in the same track. Does this help at all? Keith -- - Keith James <[EMAIL PROTECTED]> bioinformatics programming support - - Pathogen Sequencing Unit, The Wellcome Trust Sanger Institute, UK - _______________________________________________ Biojava-l mailing list - [EMAIL PROTECTED] http://biojava.org/mailman/listinfo/biojava-l