mev-4.0.01/source/org/tigr/microarray/mev/cgh/CGHDataObj/DataRegionGeneData.java

Code
Comments
Other
Rev Date Author Line
2 26 Feb 07 jari 1 /*
2 26 Feb 07 jari 2  * ICGHDataRegionGeneData.java
2 26 Feb 07 jari 3  *
2 26 Feb 07 jari 4  * Created on December 26, 2002, 12:56 AM
2 26 Feb 07 jari 5  */
2 26 Feb 07 jari 6
2 26 Feb 07 jari 7 package org.tigr.microarray.mev.cgh.CGHDataObj;
2 26 Feb 07 jari 8
2 26 Feb 07 jari 9 import java.sql.ResultSet;
2 26 Feb 07 jari 10 import java.util.Hashtable;
2 26 Feb 07 jari 11 import java.util.Vector;
2 26 Feb 07 jari 12
2 26 Feb 07 jari 13 import org.tigr.microarray.mev.TMEV;
2 26 Feb 07 jari 14 import org.tigr.microarray.mev.cgh.CGHUtil.CGHUtility;
2 26 Feb 07 jari 15 import org.tigr.microarray.mev.cgh.DBObj.DSqlHandler;
2 26 Feb 07 jari 16
2 26 Feb 07 jari 17 /**
2 26 Feb 07 jari 18  *
2 26 Feb 07 jari 19  * @author  Adam Margolin
2 26 Feb 07 jari 20  * @author Raktim Sinha
2 26 Feb 07 jari 21  */
2 26 Feb 07 jari 22
2 26 Feb 07 jari 23 public class DataRegionGeneData implements IGeneDataSet{
2 26 Feb 07 jari 24     ICGHDataRegion dataRegion;
2 26 Feb 07 jari 25     Vector geneData;
2 26 Feb 07 jari 26
2 26 Feb 07 jari 27     /** Creates a new instance of ICGHDataRegionGeneData */
2 26 Feb 07 jari 28     public DataRegionGeneData(ICGHDataRegion dataRegion) {
2 26 Feb 07 jari 29         this.dataRegion = dataRegion;
2 26 Feb 07 jari 30     }
2 26 Feb 07 jari 31
2 26 Feb 07 jari 32     public void loadGeneData(int species){
2 26 Feb 07 jari 33       String db = getDBName(species);
2 26 Feb 07 jari 34       int regionSt = dataRegion.getStart() - 1000000;
2 26 Feb 07 jari 35       if(regionSt <= 0) regionSt = 0;
2 26 Feb 07 jari 36       int regionStop = dataRegion.getStop() + 1000000;
2 26 Feb 07 jari 37         String sql = "SELECT chrom, txStart, txEnd, name, locusLinkId FROM \""+db+"\"" +
2 26 Feb 07 jari 38                      " WHERE chrom = " + CGHUtility.encap(CGHUtility.convertChromToString(dataRegion.getChromosomeIndex() + 1, species)) +
2 26 Feb 07 jari 39                      " AND txStart >= " + regionSt + " AND txEnd <= " + regionStop +
2 26 Feb 07 jari 40                      " GROUP BY chrom, txStart, txEnd, name, locusLinkId";
2 26 Feb 07 jari 41
2 26 Feb 07 jari 42         System.out.println("Show Genes Sql: " + sql);
2 26 Feb 07 jari 43         loadGenes(sql, species);
2 26 Feb 07 jari 44     }
2 26 Feb 07 jari 45
2 26 Feb 07 jari 46     private String getDBName(int species){
2 26 Feb 07 jari 47       String dbName = "";
2 26 Feb 07 jari 48       switch(species) {
2 26 Feb 07 jari 49       case TMEV.CGH_SPECIES_HS:
2 26 Feb 07 jari 50         dbName = "Hs_RefGenesMapped";
2 26 Feb 07 jari 51         break;
2 26 Feb 07 jari 52       case TMEV.CGH_SPECIES_MM:
2 26 Feb 07 jari 53         dbName = "Mm_RefGenesMapped";
2 26 Feb 07 jari 54         break;
2 26 Feb 07 jari 55       }
2 26 Feb 07 jari 56       return dbName;
2 26 Feb 07 jari 57     }
2 26 Feb 07 jari 58     /**
2 26 Feb 07 jari 59      * Raktim
2 26 Feb 07 jari 60      * Modified Function to use FLat File based JDBC connection
2 26 Feb 07 jari 61      * Trial Version of Driver used.
2 26 Feb 07 jari 62      * Max queries = 20
2 26 Feb 07 jari 63      * Max Rows Fetched 5000
2 26 Feb 07 jari 64      * @param sql
2 26 Feb 07 jari 65      */
2 26 Feb 07 jari 66     private void loadGenes(String sql, int species){
2 26 Feb 07 jari 67         Hashtable uniqueGenes = new Hashtable();
2 26 Feb 07 jari 68         this.geneData = new Vector();
2 26 Feb 07 jari 69         DSqlHandler objPersist = new DSqlHandler();
2 26 Feb 07 jari 70
2 26 Feb 07 jari 71         //ResultSet rs = objPersist.fetchItemsOracle(sql);
2 26 Feb 07 jari 72         ResultSet rs = objPersist.fetchItemsCSV(sql);
2 26 Feb 07 jari 73         /**
2 26 Feb 07 jari 74          * Remove Display Stmts later
2 26 Feb 07 jari 75          */
2 26 Feb 07 jari 76         /*
2 26 Feb 07 jari 77         try {
2 26 Feb 07 jari 78         for (int j = 1; j <= rs.getMetaData().getColumnCount(); j++) {
2 26 Feb 07 jari 79             System.out.print(rs.getMetaData().getColumnName(j) + "\t");
2 26 Feb 07 jari 80           }
2 26 Feb 07 jari 81           System.out.println();
2 26 Feb 07 jari 82
2 26 Feb 07 jari 83           while (rs.next()) {
2 26 Feb 07 jari 84             for (int j = 1; j <= rs.getMetaData().getColumnCount(); j++) {
2 26 Feb 07 jari 85               System.out.print(rs.getObject(j) + "\t");
2 26 Feb 07 jari 86             }
2 26 Feb 07 jari 87             System.out.println();
2 26 Feb 07 jari 88           }
2 26 Feb 07 jari 89         } catch (Exception e) {}
2 26 Feb 07 jari 90         */
2 26 Feb 07 jari 91         //End Display Statements
2 26 Feb 07 jari 92
2 26 Feb 07 jari 93         RefGeneLinkData curGeneData = null;
2 26 Feb 07 jari 94         try {
2 26 Feb 07 jari 95           //this resultset is TYPE_FORWARD_ONLY
2 26 Feb 07 jari 96           //if(!rs.isFirst()) rs.first();
2 26 Feb 07 jari 97             while(rs.next()){
2 26 Feb 07 jari 98                 //int chromosome = CGHUtility.convertStringToChrom(rs.getString("chrom"));
2 26 Feb 07 jari 99                 //int start = rs.getInt("txStart");
2 26 Feb 07 jari 100                 //int stop = rs.getInt("txEnd");
2 26 Feb 07 jari 101                 String geneName = rs.getString("name");
2 26 Feb 07 jari 102                 IGeneData testGeneData = (IGeneData)uniqueGenes.get(geneName);
2 26 Feb 07 jari 103                 //if(testGeneData == null || (testGeneData.getChromosomeIndex() + 1) != CGHUtility.convertStringToChrom(rs.getString("chrom")) ||
2 26 Feb 07 jari 104                 //testGeneData.getStart() < start - 300 || testGeneData.getStop() > stop + 300){
2 26 Feb 07 jari 105                 if(testGeneData == null) {
2 26 Feb 07 jari 106                   //System.out.println("Adding Gene Record");
2 26 Feb 07 jari 107                     curGeneData = new RefGeneLinkData();
2 26 Feb 07 jari 108                     curGeneData.populate(rs, species);
2 26 Feb 07 jari 109                     geneData.add(curGeneData);
2 26 Feb 07 jari 110                     uniqueGenes.put(curGeneData.getName(), curGeneData);
2 26 Feb 07 jari 111                 }
2 26 Feb 07 jari 112             }
2 26 Feb 07 jari 113         } catch(Exception e){
2 26 Feb 07 jari 114             e.printStackTrace();
2 26 Feb 07 jari 115         }
2 26 Feb 07 jari 116
2 26 Feb 07 jari 117     }
2 26 Feb 07 jari 118
2 26 Feb 07 jari 119     /** Getter for property geneData.
2 26 Feb 07 jari 120      * @return Value of property geneData.
2 26 Feb 07 jari 121      */
2 26 Feb 07 jari 122     public java.util.Vector getGeneData() {
2 26 Feb 07 jari 123 //      Raktim
2 26 Feb 07 jari 124         //System.out.println("Vector geneData size: " + geneData.size());
2 26 Feb 07 jari 125         return geneData;
2 26 Feb 07 jari 126     }
2 26 Feb 07 jari 127
2 26 Feb 07 jari 128     /** Setter for property geneData.
2 26 Feb 07 jari 129      * @param geneData New value of property geneData.
2 26 Feb 07 jari 130      */
2 26 Feb 07 jari 131     public void setGeneData(java.util.Vector geneData) {
2 26 Feb 07 jari 132         this.geneData = geneData;
2 26 Feb 07 jari 133     }
2 26 Feb 07 jari 134
2 26 Feb 07 jari 135     /** Getter for property dataRegion.
2 26 Feb 07 jari 136      * @return Value of property dataRegion.
2 26 Feb 07 jari 137      */
2 26 Feb 07 jari 138     public ICGHDataRegion getDataRegion() {
2 26 Feb 07 jari 139         return dataRegion;
2 26 Feb 07 jari 140     }
2 26 Feb 07 jari 141
2 26 Feb 07 jari 142     /** Setter for property dataRegion.
2 26 Feb 07 jari 143      * @param dataRegion New value of property dataRegion.
2 26 Feb 07 jari 144      */
2 26 Feb 07 jari 145     public void setDataRegion(ICGHDataRegion dataRegion) {
2 26 Feb 07 jari 146         this.dataRegion = dataRegion;
2 26 Feb 07 jari 147     }
2 26 Feb 07 jari 148
2 26 Feb 07 jari 149 }