COMPUTER SCIENCE

 

JAVA

 

R

 

XML

 

LINUX

 

OTHERS

 

BIOINFORMATICS

 

BIOJAVA

 

 

BIOSQL

 

 

MICROARRAY

 

 

MOTIF FINDING

 

 

REGULATION NETWORK

 

OTHERS

 

LIFE SCIENCE

 

 

我如何图形化一条序列?

当创建生物信息学GUI(图形化用户接口)时,我们希望能够在GUI中显示序列。Biojava中包含很多GUI组件能绘制序列的各个部分。
最基本的序列绘制组件是序列绘制上下文(SequenceRenderContext)。他负责存储序列并指导序列绘制器绘制序列。在Biojava中
有很多序列绘制器的实现。标志序列绘制器(SymbolSequenceRender)能依次展现序列。下面的程序展示了如何使用序列绘制上下文和序列绘制器绘制序列。后面的是GUI截屏。


import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

import org.biojava.bio.gui.sequence.*;
import org.biojava.bio.seq.*;
import org.biojava.bio.symbol.*;

public class SeqView extends JFrame {
private Sequence seq;
private JPanel jPanel = new JPanel();
private SequencePanel seqPanel = new SequencePanel();
private SequenceRenderer symSeqRenderer = new SymbolSequenceRenderer();

public SeqView() {
try {
// 创建序列
seq = RNATools.createRNASequence("accggcgcgagauuugcaguguguguguaucgcg"+
"gggcgcauuaccagacuucauucgacgacucagc"
,"rna1");
init();
}
catch(Exception e){
e.printStackTrace();
}
}
public static void main (String[] args){
SeqView seqView = new SeqView();
seqView.pack();
seqView.show();
}
// 设置显示组件
private void init() throws Exception {
this.getContentPane().setLayout(new BorderLayout());
this.getContentPane().add(jPanel,BorderLayout.CENTER);
this.setTitle("seqView");
jPanel.add(seqPanel, BorderLayout.CENTER)

// 设置要显示的序列
seqPanel.setSequence(seq);

// 设置负责绘制的对象
seqPanel.setRenderer(symSeqRenderer);

// 要显示的序列的范围
seqPanel.setRange(enw RangeLocation(1,seq.length());
}
// 当窗口关闭时 退出
prottected void processWindowEvent(WindowEvent we){
if (we.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
else {
super.processWindowEvent(we);
}
}
}


 

--BACT TO TOP

 

Maintainted by Wu Xin, CBI, Peking University, China, 2003