如何在jtable中显示fasta文件中的数据

时间:2011-06-20 06:57:30

标签: java netbeans jtable filereader

我的代码是:

import java.io.BufferedReader;
import java.io.FileReader;

import org.biojavax.SimpleNamespace;
import org.biojavax.bio.seq.RichSequence;
import org.biojavax.bio.seq.RichSequenceIterator;
import org.biojava.bio.seq.*;
import org.biojava.bio.seq.io.*;
import org.biojava.bio.symbol.*;

public class ReadGES_BJ1_6{
    /* 
     * ReadGES_BJ1_6.java - A pretty simple demo program to read a sequence file
     * with a known format using Biojavax extension found in BJ1.6. 
     * 
     * You only need to provide a file as args[0]
     */
    public static void main(String[] args) {
        BufferedReader br = null;
        SimpleNamespace ns = null;

        try{
            br = new BufferedReader(new FileReader(args[0]));
            ns = new SimpleNamespace("biojava");

            // You can use any of the convenience methods found in the BioJava 1.6 API
            RichSequenceIterator rsi = RichSequence.IOTools.readFastaDNA(br,ns);

            // Since a single file can contain more than a sequence, you need to iterate over
            // rsi to get the information.
            while(rsi.hasNext()){
                RichSequence rs = rsi.nextRichSequence();
                //Sequence seq = stream.nextSequence();
                int gc = 0;
                for (int pos = 1; pos <= rs.length(); ++pos) {
                Symbol sym = rs.symbolAt(pos);
                if (sym == DNATools.g() || sym == DNATools.c())
                ++gc;

                }       

    System.out.println(rs.getName()+"\t"+rs.length()+"\t"+((gc * 100.0) / rs.length())/*+"\t"+rs.seqString()*/);
         //System.out.println(ns);
                /*System.out.println(rs.seqString());
                System.out.println(rs.length());
                System.out.println(((gc * 100.0) / rs.length()));*/

            }
        }
        catch(Exception be){
            be.printStackTrace();
            System.exit(-1);
        }
    }
}

它输出为:

contig00001   586   52.38%
contig00002   554   62.45%

我的问题是如何在jtable中以三个coloumns显示上面的输出 请帮帮忙?

2 个答案:

答案 0 :(得分:1)

请阅读有关JTable,JTable examples的教程以及您必须添加到Object [][]Vector<Vector<Object>>

的文件输出

答案 1 :(得分:0)

获得TableModel中的数据后,Table Format Renderers将帮助您使用%符号格式化第3列。