mev-4.0.01/source/org/tigr/microarray/mev/file/ExpressionFileLoader.java

Code
Comments
Other
Rev Date Author Line
2 26 Feb 07 jari 1 /*
2 26 Feb 07 jari 2 Copyright @ 1999-2005, The Institute for Genomic Research (TIGR).
2 26 Feb 07 jari 3 All rights reserved.
2 26 Feb 07 jari 4  */
2 26 Feb 07 jari 5 /*
2 26 Feb 07 jari 6  * $RCSfile: ExpressionFileLoader.java,v $
2 26 Feb 07 jari 7  * $Revision: 1.6 $
2 26 Feb 07 jari 8  * $Date: 2006/03/24 15:52:17 $
2 26 Feb 07 jari 9  * $Author: eleanorahowe $
2 26 Feb 07 jari 10  * $State: Exp $
2 26 Feb 07 jari 11  */
2 26 Feb 07 jari 12
2 26 Feb 07 jari 13 package org.tigr.microarray.mev.file;
2 26 Feb 07 jari 14
2 26 Feb 07 jari 15 import java.io.BufferedReader;
2 26 Feb 07 jari 16 import java.io.File;
2 26 Feb 07 jari 17 import java.io.FileReader;
2 26 Feb 07 jari 18 import java.io.IOException;
2 26 Feb 07 jari 19 import java.util.Vector;
2 26 Feb 07 jari 20
2 26 Feb 07 jari 21 import javax.swing.JPanel;
2 26 Feb 07 jari 22 import javax.swing.filechooser.FileFilter;
2 26 Feb 07 jari 23
2 26 Feb 07 jari 24 import org.tigr.microarray.mev.ISlideData;
2 26 Feb 07 jari 25 import org.tigr.microarray.mev.TMEV;
2 26 Feb 07 jari 26
2 26 Feb 07 jari 27 public abstract class ExpressionFileLoader extends SlideLoaderProgressBar { // implements Runnable {
2 26 Feb 07 jari 28     
2 26 Feb 07 jari 29     protected SuperExpressionFileLoader superLoader;
2 26 Feb 07 jari 30     protected SlideLoaderProgressBar progress;
2 26 Feb 07 jari 31     protected boolean stop = false;
2 26 Feb 07 jari 32
2 26 Feb 07 jari 33     public ExpressionFileLoader(SuperExpressionFileLoader superLoader) {
2 26 Feb 07 jari 34         super(superLoader.getFrame());
2 26 Feb 07 jari 35         this.superLoader = superLoader;
2 26 Feb 07 jari 36    //     this.loadingPanel = new LoadingPanel();   
2 26 Feb 07 jari 37     }
2 26 Feb 07 jari 38     
2 26 Feb 07 jari 39     public abstract ISlideData loadExpressionFile(File f) throws IOException;
2 26 Feb 07 jari 40     
2 26 Feb 07 jari 41     public abstract Vector loadExpressionFiles() throws IOException;
2 26 Feb 07 jari 42     
2 26 Feb 07 jari 43     private Vector loadExpressionFile(Vector fileVector) throws IOException{
2 26 Feb 07 jari 44         Vector dataVector = new Vector();
2 26 Feb 07 jari 45         ISlideData slideData;
2 26 Feb 07 jari 46         
2 26 Feb 07 jari 47         for (int i = 0; i < fileVector.size(); i++) {
2 26 Feb 07 jari 48             slideData = loadExpressionFile((File) fileVector.elementAt(i));
2 26 Feb 07 jari 49             if(slideData == null)
2 26 Feb 07 jari 50                 return null;
2 26 Feb 07 jari 51             
2 26 Feb 07 jari 52             dataVector.add(slideData);
2 26 Feb 07 jari 53         }
2 26 Feb 07 jari 54         
2 26 Feb 07 jari 55         return dataVector;
2 26 Feb 07 jari 56     }
2 26 Feb 07 jari 57     
2 26 Feb 07 jari 58     public FileFilter getFileFilter() {
2 26 Feb 07 jari 59         
2 26 Feb 07 jari 60         FileFilter defaultFileFilter = new FileFilter() {
2 26 Feb 07 jari 61             
2 26 Feb 07 jari 62             public boolean accept(File f) {
2 26 Feb 07 jari 63                 return true;
2 26 Feb 07 jari 64             }
2 26 Feb 07 jari 65             
2 26 Feb 07 jari 66             public String getDescription() {
2 26 Feb 07 jari 67                 return "Generic Expression Files (*.*)";
2 26 Feb 07 jari 68             }
2 26 Feb 07 jari 69         };
2 26 Feb 07 jari 70         
2 26 Feb 07 jari 71         return defaultFileFilter;
2 26 Feb 07 jari 72     }
2 26 Feb 07 jari 73     
2 26 Feb 07 jari 74     public void setLoadEnabled(boolean state) {
2 26 Feb 07 jari 75         superLoader.setLoadEnabled(state);
2 26 Feb 07 jari 76     }
2 26 Feb 07 jari 77     
2 26 Feb 07 jari 78     public abstract boolean checkLoadEnable();
2 26 Feb 07 jari 79     public abstract JPanel getFileLoaderPanel();
2 26 Feb 07 jari 80     public abstract String getFilePath();
2 26 Feb 07 jari 81     public abstract void openDataPath();    
2 26 Feb 07 jari 82     
2 26 Feb 07 jari 83     /**
2 26 Feb 07 jari 84      * Returns number of lines in the specified file.
2 26 Feb 07 jari 85      */
2 26 Feb 07 jari 86     protected int getCountOfLines(File file) throws IOException {
2 26 Feb 07 jari 87         int count = 0;
2 26 Feb 07 jari 88         BufferedReader reader = new BufferedReader(new FileReader(file));
2 26 Feb 07 jari 89         String currentLine;
2 26 Feb 07 jari 90         while ((currentLine = reader.readLine()) != null) {
2 26 Feb 07 jari 91             count++;
2 26 Feb 07 jari 92         }
2 26 Feb 07 jari 93         reader.close();
2 26 Feb 07 jari 94         return count;
2 26 Feb 07 jari 95     }
2 26 Feb 07 jari 96     
2 26 Feb 07 jari 97     //EH removed this method because annotation field names should be 
2 26 Feb 07 jari 98     //put into the SlideData object instead of TMEV.java
2 26 Feb 07 jari 99     /**
2 26 Feb 07 jari 100      * Sets the annotation field names in TMEV, appends if names exist
2 26 Feb 07 jari 101      */
2 26 Feb 07 jari 102     /*
2 26 Feb 07 jari 103     protected void setTMEVFieldNames(Vector annotNames){
2 26 Feb 07 jari 104         if(annotNames.size() > 0){
2 26 Feb 07 jari 105             String [] fieldNames = new String[annotNames.size()];
2 26 Feb 07 jari 106             for(int i = 0; i < fieldNames.length; i++){
2 26 Feb 07 jari 107                 fieldNames[i] = (String)(annotNames.elementAt(i));
2 26 Feb 07 jari 108             }
2 26 Feb 07 jari 109             TMEV.appendFieldNames(fieldNames);
2 26 Feb 07 jari 110         }
2 26 Feb 07 jari 111     }
2 26 Feb 07 jari 112     */
2 26 Feb 07 jari 113 }