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
