как отобразить данные из файла FASTA в Jtable - PullRequest
0 голосов
/ 20 июня 2011

мой код:

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 Пожалуйста, помогите?

Ответы [ 2 ]

1 голос
/ 20 июня 2011

пожалуйста, прочитайте учебник о JTable , JTable примерах и выходе вашего файла, который вы должны добавить к Object [][] или Vector<Vector<Object>>

0 голосов
/ 20 июня 2011

Как только вы получите данные в TableModel, Средства форматирования таблиц помогут вам отформатировать 3-й столбец со знаком%.

...