Hi Everyone,

I am new to BioJava, and had a few questions regarding
rendering of features.  First off, I started with the
feature rendering code from BioJava in Anger (thanks
for doing this -- these cookbook recipes are
enormously helpful.)

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.

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?

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

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

Reply via email to