2 |
26 Feb 07 |
jari |
1 |
/* |
2 |
26 Feb 07 |
jari |
* LoadGeneList.java |
2 |
26 Feb 07 |
jari |
3 |
* |
2 |
26 Feb 07 |
jari |
* Created on June 15, 2003, 4:31 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.CGHAlgorithms.NumberOfAlterations.GeneAlterations; |
2 |
26 Feb 07 |
jari |
8 |
|
2 |
26 Feb 07 |
jari |
9 |
import java.io.BufferedReader; |
2 |
26 Feb 07 |
jari |
10 |
import java.io.File; |
2 |
26 Feb 07 |
jari |
11 |
import java.io.FileReader; |
2 |
26 Feb 07 |
jari |
12 |
import java.io.IOException; |
2 |
26 Feb 07 |
jari |
13 |
import java.util.Vector; |
2 |
26 Feb 07 |
jari |
14 |
|
2 |
26 Feb 07 |
jari |
15 |
import javax.swing.JFileChooser; |
2 |
26 Feb 07 |
jari |
16 |
import javax.swing.tree.DefaultMutableTreeNode; |
2 |
26 Feb 07 |
jari |
17 |
|
2 |
26 Feb 07 |
jari |
18 |
import org.tigr.microarray.mev.cgh.CGHAlgorithms.NumberOfAlterations.NumberOfAlterationsCalculator; |
2 |
26 Feb 07 |
jari |
19 |
import org.tigr.microarray.mev.cgh.CGHDataObj.GeneDataSet; |
2 |
26 Feb 07 |
jari |
20 |
import org.tigr.microarray.mev.cluster.algorithm.AlgorithmException; |
2 |
26 Feb 07 |
jari |
21 |
import org.tigr.microarray.mev.cluster.gui.ICGHCloneValueMenu; |
2 |
26 Feb 07 |
jari |
22 |
import org.tigr.microarray.mev.cluster.gui.IFramework; |
2 |
26 Feb 07 |
jari |
23 |
/** |
2 |
26 Feb 07 |
jari |
24 |
* |
2 |
26 Feb 07 |
jari |
* @author Adam Margolin |
2 |
26 Feb 07 |
jari |
* @author Raktim Sinha |
2 |
26 Feb 07 |
jari |
27 |
*/ |
2 |
26 Feb 07 |
jari |
28 |
|
2 |
26 Feb 07 |
jari |
29 |
public class LoadGeneList extends NumberOfAlterationsCalculator{ |
2 |
26 Feb 07 |
jari |
30 |
|
2 |
26 Feb 07 |
jari |
/** Creates a new instance of LoadGeneList */ |
2 |
26 Feb 07 |
jari |
32 |
public LoadGeneList() { |
2 |
26 Feb 07 |
jari |
33 |
|
2 |
26 Feb 07 |
jari |
34 |
} |
2 |
26 Feb 07 |
jari |
35 |
|
2 |
26 Feb 07 |
jari |
36 |
public DefaultMutableTreeNode execute(IFramework framework) throws AlgorithmException { |
2 |
26 Feb 07 |
jari |
37 |
this.framework = framework; |
2 |
26 Feb 07 |
jari |
38 |
this.data = framework.getData(); |
2 |
26 Feb 07 |
jari |
39 |
JFileChooser chooser = new JFileChooser(System.getProperty("user.dir") + "/data"); |
2 |
26 Feb 07 |
jari |
40 |
chooser.setMultiSelectionEnabled(true); |
2 |
26 Feb 07 |
jari |
41 |
int returnVal = chooser.showOpenDialog(framework.getFrame()); |
2 |
26 Feb 07 |
jari |
42 |
if(returnVal == JFileChooser.APPROVE_OPTION){ |
2 |
26 Feb 07 |
jari |
43 |
return loadGeneList(chooser.getSelectedFile(), data.getCGHSpecies()); |
2 |
26 Feb 07 |
jari |
44 |
}else{ |
2 |
26 Feb 07 |
jari |
45 |
return null; |
2 |
26 Feb 07 |
jari |
46 |
} |
2 |
26 Feb 07 |
jari |
47 |
} |
2 |
26 Feb 07 |
jari |
48 |
|
2 |
26 Feb 07 |
jari |
49 |
/** |
2 |
26 Feb 07 |
jari |
* Raktim 4/27 |
2 |
26 Feb 07 |
jari |
* Added to make State Saving Work |
2 |
26 Feb 07 |
jari |
* @param framework |
2 |
26 Feb 07 |
jari |
* @param file |
2 |
26 Feb 07 |
jari |
* @return |
2 |
26 Feb 07 |
jari |
* @throws AlgorithmException |
2 |
26 Feb 07 |
jari |
56 |
*/ |
2 |
26 Feb 07 |
jari |
57 |
public DefaultMutableTreeNode execute(IFramework framework, File file) throws AlgorithmException { |
2 |
26 Feb 07 |
jari |
58 |
this.framework = framework; |
2 |
26 Feb 07 |
jari |
59 |
this.data = framework.getData(); |
2 |
26 Feb 07 |
jari |
60 |
|
2 |
26 Feb 07 |
jari |
61 |
if(file != null){ |
2 |
26 Feb 07 |
jari |
62 |
return loadGeneList(file, data.getCGHSpecies()); |
2 |
26 Feb 07 |
jari |
63 |
}else{ |
2 |
26 Feb 07 |
jari |
64 |
return null; |
2 |
26 Feb 07 |
jari |
65 |
} |
2 |
26 Feb 07 |
jari |
66 |
} |
2 |
26 Feb 07 |
jari |
67 |
|
2 |
26 Feb 07 |
jari |
68 |
public DefaultMutableTreeNode loadGeneList(File file, int species){ |
2 |
26 Feb 07 |
jari |
69 |
Vector vecGeneData = null; |
2 |
26 Feb 07 |
jari |
70 |
try{ |
2 |
26 Feb 07 |
jari |
71 |
BufferedReader reader = new BufferedReader(new FileReader(file)); |
2 |
26 Feb 07 |
jari |
72 |
String line; |
2 |
26 Feb 07 |
jari |
73 |
Vector geneNames = new Vector(); |
2 |
26 Feb 07 |
jari |
74 |
while((line = reader.readLine()) != null){ |
2 |
26 Feb 07 |
jari |
75 |
geneNames.add(line.trim()); |
2 |
26 Feb 07 |
jari |
76 |
} |
2 |
26 Feb 07 |
jari |
77 |
|
2 |
26 Feb 07 |
jari |
78 |
GeneDataSet geneDataSet = new GeneDataSet(); |
2 |
26 Feb 07 |
jari |
79 |
geneDataSet.loadGeneDataByGeneNames(geneNames, species); |
2 |
26 Feb 07 |
jari |
80 |
vecGeneData = geneDataSet.getGeneData(); |
2 |
26 Feb 07 |
jari |
81 |
}catch (IOException e){ |
2 |
26 Feb 07 |
jari |
82 |
e.printStackTrace(); |
2 |
26 Feb 07 |
jari |
83 |
} |
2 |
26 Feb 07 |
jari |
84 |
|
2 |
26 Feb 07 |
jari |
85 |
try{ |
2 |
26 Feb 07 |
jari |
86 |
DefaultMutableTreeNode root = new DefaultMutableTreeNode("GeneAlterations"); |
2 |
26 Feb 07 |
jari |
87 |
GeneAlterations alts = new GeneAmplifications(); |
2 |
26 Feb 07 |
jari |
88 |
alts.setVecGeneData(vecGeneData); |
2 |
26 Feb 07 |
jari |
89 |
alts.setData(this.data); |
2 |
26 Feb 07 |
jari |
90 |
alts.setAddGenInfo(false); |
2 |
26 Feb 07 |
jari |
91 |
root.add(alts.execute(framework)); |
2 |
26 Feb 07 |
jari |
92 |
|
2 |
26 Feb 07 |
jari |
93 |
alts = new GeneDeletions(); |
2 |
26 Feb 07 |
jari |
94 |
alts.setVecGeneData(vecGeneData); |
2 |
26 Feb 07 |
jari |
95 |
alts.setData(this.data); |
2 |
26 Feb 07 |
jari |
96 |
alts.setAddGenInfo(false); |
2 |
26 Feb 07 |
jari |
97 |
root.add(alts.execute(framework)); |
2 |
26 Feb 07 |
jari |
98 |
|
2 |
26 Feb 07 |
jari |
99 |
addGeneralInfo(root, file.getAbsolutePath()); |
2 |
26 Feb 07 |
jari |
100 |
return root; |
2 |
26 Feb 07 |
jari |
101 |
}catch (Exception e){ |
2 |
26 Feb 07 |
jari |
102 |
e.printStackTrace(); |
2 |
26 Feb 07 |
jari |
103 |
return null; |
2 |
26 Feb 07 |
jari |
104 |
} |
2 |
26 Feb 07 |
jari |
105 |
} |
2 |
26 Feb 07 |
jari |
106 |
|
2 |
26 Feb 07 |
jari |
107 |
/** |
2 |
26 Feb 07 |
jari |
* Raktim 4/27 |
2 |
26 Feb 07 |
jari |
* Added for State Saving to capture the File used for LoadGeneList |
2 |
26 Feb 07 |
jari |
* @param root |
2 |
26 Feb 07 |
jari |
* @param file |
2 |
26 Feb 07 |
jari |
112 |
*/ |
2 |
26 Feb 07 |
jari |
113 |
private void addGeneralInfo(DefaultMutableTreeNode root, String path) { |
2 |
26 Feb 07 |
jari |
114 |
ICGHCloneValueMenu menu = framework.getCghCloneValueMenu(); |
2 |
26 Feb 07 |
jari |
115 |
DefaultMutableTreeNode node = new DefaultMutableTreeNode("General Information"); |
2 |
26 Feb 07 |
jari |
116 |
node.add(new DefaultMutableTreeNode("Amplification Threshold: " + menu.getAmpThresh())); |
2 |
26 Feb 07 |
jari |
117 |
node.add(new DefaultMutableTreeNode("Deletion Threshold: " + menu.getDelThresh())); |
2 |
26 Feb 07 |
jari |
118 |
node.add(new DefaultMutableTreeNode("Amplification 2 Copy Threshold: " + menu.getAmpThresh2Copy())); |
2 |
26 Feb 07 |
jari |
119 |
node.add(new DefaultMutableTreeNode("Deletion 2 Copy Threshold: " + menu.getDelThresh2Copy())); |
2 |
26 Feb 07 |
jari |
120 |
node.add(new DefaultMutableTreeNode("File: " + path)); |
2 |
26 Feb 07 |
jari |
121 |
root.add(node); |
2 |
26 Feb 07 |
jari |
122 |
} |
2 |
26 Feb 07 |
jari |
123 |
} |