[Biojava-l] how to do multi-lined feature display
Schreiber, Mark
mark.schreiber at agresearch.co.nz
Fri Mar 28 12:20:31 EST 2003
If you have a nice example I'll be more than happy to post the code to biojava in anger.
Thanks
Mark
-----Original Message-----
From: Patrick McConnell [mailto:MCCon012 at mc.duke.edu]
Sent: Fri 28/03/2003 8:18 a.m.
To: Keith James
Cc: biojava-l at biojava.org
Subject: Re: [Biojava-l] how to do multi-lined feature display
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 <kdj at sanger.ac.uk> on 03/27/2003 03:05:07 PM
To: "Patrick McConnell" <MCCon012 at mc.duke.edu>
cc: "biojava-l at biojava.org" <biojava-l at biojava.org>
Subject: Re: [Biojava-l] how to do multi-lined feature display
>>>>> "Patrick" == Patrick McConnell <MCCon012 at mc.duke.edu> 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 <kdj at sanger.ac.uk> bioinformatics programming support -
- Pathogen Sequencing Unit, The Wellcome Trust Sanger Institute, UK -
_______________________________________________
Biojava-l mailing list - Biojava-l at biojava.org
http://biojava.org/mailman/listinfo/biojava-l
=======================================================================
Attention: The information contained in this message and/or attachments
from AgResearch Limited is intended only for the persons or entities
to which it is addressed and may contain confidential and/or privileged
material. Any review, retransmission, dissemination or other use of, or
taking of any action in reliance upon, this information by persons or
entities other than the intended recipients is prohibited by AgResearch
Limited. If you have received this message in error, please notify the
sender immediately.
=======================================================================
More information about the Biojava-l
mailing list