On Mon, Jan 13, 2003 at 04:52:14AM -0800, Ethan Cerami wrote:
>
> Right now, I am just modifying the code to display
> exons.  The complete code is below.  And, I am using
> the following jar file:  biojava-20020823.jar.

If you're using that snapshot, you might want to update
to the latest and greatest code from http://cvs.open-bio.org/

> Here are my questions:
> 
> 1.  I am using the ZiggyFeatureRenderer, and I had
> expected to see boxes separated by ziggy lines,
> therefore indicating exons and introns.  But, I don't
> see any ziggy lines, just boxes.  What am I doing
> wrong?

ZiggyFeatureRenderer can't magically work out how to
group your exons together.  What it actually does it
render features with non-contiguous locations in the
`tented exons' style.

Try:

    StrandedFeature.Template temp = new StrandedFeature.Template();
    temp.type = "transcript";
    temp.source = "just_testing";
    temp.location = LocationTools.union(
        new RangeLocation(10, 20),
        new RangeLocation(50, 60)
    );
    temp.annotation = Annotation.EMPTY_ANNOTATION;
    temp.strand = StrandedFeature.POSITIVE

> 2.  I want to be able to render the same features
> without having its actual sequence.  How do I do this?

Do you just want to remove the sequence line from the
display?  In this case, just remove the line:

   mlr.addRenderer(seqR);

If you want to draw some boxes on the screen without
knowing the sequence *at all*, I've found some code like
this works well:

    SymbolList dummySL = new DummySymbolList(
        DNATools.getDNA(),
        1000
    );
    Sequence dummySeq = new SimpleSequence(
        dummySL,
        "foo",
        "bar",
        Annotation.EMPTY_ANNOTATION
    );
    // construct features on dummySeq

Hope this helps,

     Thomas.


> Any help would be most appreciated.
> 
> Ethan Cerami
> 
> Code follows below:
> ----------------------------------------
> 
> import java.awt.*;
> import java.awt.event.*;
> 
> import javax.swing.*;
> 
> import org.biojava.bio.*;
> import org.biojava.bio.gui.sequence.*;
> import org.biojava.bio.seq.*;
> import org.biojava.bio.seq.genomic.Exon;
> import org.biojava.bio.symbol.*;
> 
> public class FeatureView extends JFrame {
>       private Sequence seq;
>       private JPanel jPanel = new JPanel();
> 
>       private MultiLineRenderer mlr = new
> MultiLineRenderer();
>       private ZiggyFeatureRenderer featr = new
> ZiggyFeatureRenderer();
>       private SequenceRenderer seqR = new
> SymbolSequenceRenderer();
>       private RulerRenderer ruler = new RulerRenderer();
> 
>       private SequencePanel seqPanel = new SequencePanel();
>       //the proxy between featr and seqPanel
>       private FeatureBlockSequenceRenderer fbr = new
> FeatureBlockSequenceRenderer();
> 
>       public FeatureView() {
>               try {
>                       seq = DNATools.createDNASequence(
>                                       
>"atcgcgcatgcgcgcgcgcgcgcgctttatagcgatagagatata",
>                                       "dna 1");
> 
>                       // create multiple exons
>                       for (int i=10; i<=30; i+=10) {
>                               Exon.Template exon = new Exon.Template();
>                               exon.annotation = Annotation.EMPTY_ANNOTATION;
>                               exon.location = new RangeLocation(i, i+5);
>                               exon.strand = StrandedFeature.POSITIVE;
>                               seq.createFeature(exon);
>                       }
>                       //setup GUI
>                       init();
>               } catch (Exception e) {
>                       e.printStackTrace();
>               }
>       }
> 
>       public static void main(String[] args) {
>               FeatureView featureView = new FeatureView();
>               featureView.pack();
>               featureView.show();
>       }
> 
>       /**
>        * initialize GUI components
>        */
>       private void init() throws Exception {
>               this.setTitle("FeatureView");
>               this.getContentPane().add(jPanel,
> BorderLayout.CENTER);
>               jPanel.add(seqPanel, null);
> 
>               //Register the FeatureRenderer with the
> FeatureBlockSequenceRenderer
>               fbr.setFeatureRenderer(featr);
> 
>               //add Renderers to the MultiLineRenderer
>               mlr.addRenderer(fbr);
>               mlr.addRenderer(seqR);
>               mlr.addRenderer(ruler);
> 
>               //set the MultiLineRenderer as the SequencePanels
> renderer
>               seqPanel.setRenderer(mlr);
> 
>               //set the Sequence to Render
>               seqPanel.setSequence(seq);
> 
>               //display the whole Sequence
>               seqPanel.setRange(new RangeLocation(1,
> seq.length()));
>       }
> 
>       /**
>        * Overridden so program terminates when window
> closes
>        */
>       protected void processWindowEvent(WindowEvent we) {
>               if (we.getID() == WindowEvent.WINDOW_CLOSING) {
>                       System.exit(0);
>               } else {
>                       super.processWindowEvent(we);
>               }
>       }
> }
> 
> 
> 
> 
> __________________________________________________
> Do you Yahoo!?
> Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
> http://mailplus.yahoo.com
> _______________________________________________
> Biojava-l mailing list  -  [EMAIL PROTECTED]
> http://biojava.org/mailman/listinfo/biojava-l
_______________________________________________
Biojava-l mailing list  -  [EMAIL PROTECTED]
http://biojava.org/mailman/listinfo/biojava-l

Reply via email to