2 |
26 Feb 07 |
jari |
1 |
/* |
2 |
26 Feb 07 |
jari |
* ICGHDataRegionGeneData.java |
2 |
26 Feb 07 |
jari |
3 |
* |
2 |
26 Feb 07 |
jari |
* 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 |
* @author Adam Margolin |
2 |
26 Feb 07 |
jari |
* @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 |
/** 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 |
* Raktim |
2 |
26 Feb 07 |
jari |
* Modified Function to use FLat File based JDBC connection |
2 |
26 Feb 07 |
jari |
* Trial Version of Driver used. |
2 |
26 Feb 07 |
jari |
* Max queries = 20 |
2 |
26 Feb 07 |
jari |
* Max Rows Fetched 5000 |
2 |
26 Feb 07 |
jari |
* @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 |
//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 |
* Remove Display Stmts later |
2 |
26 Feb 07 |
jari |
75 |
*/ |
2 |
26 Feb 07 |
jari |
76 |
/* |
2 |
26 Feb 07 |
jari |
try { |
2 |
26 Feb 07 |
jari |
for (int j = 1; j <= rs.getMetaData().getColumnCount(); j++) { |
2 |
26 Feb 07 |
jari |
System.out.print(rs.getMetaData().getColumnName(j) + "\t"); |
2 |
26 Feb 07 |
jari |
80 |
} |
2 |
26 Feb 07 |
jari |
System.out.println(); |
2 |
26 Feb 07 |
jari |
82 |
|
2 |
26 Feb 07 |
jari |
while (rs.next()) { |
2 |
26 Feb 07 |
jari |
for (int j = 1; j <= rs.getMetaData().getColumnCount(); j++) { |
2 |
26 Feb 07 |
jari |
System.out.print(rs.getObject(j) + "\t"); |
2 |
26 Feb 07 |
jari |
86 |
} |
2 |
26 Feb 07 |
jari |
System.out.println(); |
2 |
26 Feb 07 |
jari |
88 |
} |
2 |
26 Feb 07 |
jari |
} catch (Exception e) {} |
2 |
26 Feb 07 |
jari |
90 |
*/ |
2 |
26 Feb 07 |
jari |
//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 |
//this resultset is TYPE_FORWARD_ONLY |
2 |
26 Feb 07 |
jari |
//if(!rs.isFirst()) rs.first(); |
2 |
26 Feb 07 |
jari |
97 |
while(rs.next()){ |
2 |
26 Feb 07 |
jari |
//int chromosome = CGHUtility.convertStringToChrom(rs.getString("chrom")); |
2 |
26 Feb 07 |
jari |
//int start = rs.getInt("txStart"); |
2 |
26 Feb 07 |
jari |
//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 |
//if(testGeneData == null || (testGeneData.getChromosomeIndex() + 1) != CGHUtility.convertStringToChrom(rs.getString("chrom")) || |
2 |
26 Feb 07 |
jari |
//testGeneData.getStart() < start - 300 || testGeneData.getStop() > stop + 300){ |
2 |
26 Feb 07 |
jari |
105 |
if(testGeneData == null) { |
2 |
26 Feb 07 |
jari |
//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 |
/** Getter for property geneData. |
2 |
26 Feb 07 |
jari |
* @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 |
// Raktim |
2 |
26 Feb 07 |
jari |
//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 |
/** Setter for property geneData. |
2 |
26 Feb 07 |
jari |
* @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 |
/** Getter for property dataRegion. |
2 |
26 Feb 07 |
jari |
* @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 |
/** Setter for property dataRegion. |
2 |
26 Feb 07 |
jari |
* @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 |
} |