2 |
26 Feb 07 |
jari |
1 |
/* |
2 |
26 Feb 07 |
jari |
* CGHChartDataModelNoDyeSwap.java |
2 |
26 Feb 07 |
jari |
3 |
* |
2 |
26 Feb 07 |
jari |
* Created on July 5, 2003, 11:24 PM |
2 |
26 Feb 07 |
jari |
5 |
*/ |
2 |
26 Feb 07 |
jari |
6 |
|
2 |
26 Feb 07 |
jari |
7 |
package org.tigr.microarray.mev.cgh.CGHDataModel; |
2 |
26 Feb 07 |
jari |
8 |
/* |
2 |
26 Feb 07 |
jari |
import com.klg.jclass.chart.ChartDataModel; |
2 |
26 Feb 07 |
jari |
import com.klg.jclass.chart.LabelledChartDataModel; |
2 |
26 Feb 07 |
jari |
import com.klg.jclass.chart.ChartDataSupport; |
2 |
26 Feb 07 |
jari |
import com.klg.jclass.chart.ChartDataEvent; |
2 |
26 Feb 07 |
jari |
import com.klg.jclass.chart.ChartDataManageable; |
2 |
26 Feb 07 |
jari |
14 |
*/ |
2 |
26 Feb 07 |
jari |
15 |
import org.tigr.microarray.mev.cluster.gui.IData; |
2 |
26 Feb 07 |
jari |
16 |
import org.tigr.microarray.mev.cluster.gui.IFramework; |
2 |
26 Feb 07 |
jari |
17 |
/* |
2 |
26 Feb 07 |
jari |
import java.util.Vector; |
2 |
26 Feb 07 |
jari |
import java.util.Iterator; |
2 |
26 Feb 07 |
jari |
import java.util.Hashtable; |
2 |
26 Feb 07 |
jari |
import javax.swing.event.ChangeListener; |
2 |
26 Feb 07 |
jari |
22 |
|
2 |
26 Feb 07 |
jari |
import java.awt.Color; |
2 |
26 Feb 07 |
jari |
24 |
|
2 |
26 Feb 07 |
jari |
import org.tigr.microarray.mev.cgh.CGHDataObj.*; |
2 |
26 Feb 07 |
jari |
//import org.abramson.microarray.cgh.CGHFcdObj.CGHMultipleArrayDataFcd; |
2 |
26 Feb 07 |
jari |
import cern.jet.math.Arithmetic; |
2 |
26 Feb 07 |
jari |
28 |
|
2 |
26 Feb 07 |
jari |
import cern.jet.stat.Probability; |
2 |
26 Feb 07 |
jari |
30 |
*/ |
2 |
26 Feb 07 |
jari |
31 |
|
2 |
26 Feb 07 |
jari |
32 |
/** |
2 |
26 Feb 07 |
jari |
33 |
* |
2 |
26 Feb 07 |
jari |
* @author Adam Margolin |
2 |
26 Feb 07 |
jari |
* @author Raktim Sinha |
2 |
26 Feb 07 |
jari |
36 |
*/ |
2 |
26 Feb 07 |
jari |
37 |
|
2 |
26 Feb 07 |
jari |
38 |
public class CGHChartDataModelNoDyeSwap extends CGHChartDataModel { |
2 |
26 Feb 07 |
jari |
39 |
|
2 |
26 Feb 07 |
jari |
/** Creates a new instance of CGHChartDataModelNoDyeSwap */ |
2 |
26 Feb 07 |
jari |
41 |
public CGHChartDataModelNoDyeSwap(/*CGHMultipleArrayDataFcd fcd,*/ IFramework framework, int experimentIndex, int chromosomeIndex){ |
2 |
26 Feb 07 |
jari |
42 |
super(/*fcd,*/ framework, experimentIndex, chromosomeIndex); |
2 |
26 Feb 07 |
jari |
43 |
} |
2 |
26 Feb 07 |
jari |
44 |
|
2 |
26 Feb 07 |
jari |
45 |
/* |
2 |
26 Feb 07 |
jari |
* @return the number of experiments if viewing all experiments, 2 otherwise |
2 |
26 Feb 07 |
jari |
* representing the cy3 and cy5 experiments |
2 |
26 Feb 07 |
jari |
48 |
*/ |
2 |
26 Feb 07 |
jari |
49 |
public int getNumSeries() { |
2 |
26 Feb 07 |
jari |
50 |
return adaptor.experimentIndices.length; |
2 |
26 Feb 07 |
jari |
51 |
} |
2 |
26 Feb 07 |
jari |
52 |
|
2 |
26 Feb 07 |
jari |
53 |
public String[] getSeriesLabels() { |
2 |
26 Feb 07 |
jari |
54 |
int numSeries = getNumSeries(); |
2 |
26 Feb 07 |
jari |
55 |
String[] seriesLabels = new String[numSeries]; |
2 |
26 Feb 07 |
jari |
56 |
|
2 |
26 Feb 07 |
jari |
57 |
for(int labelIndex = 0; labelIndex < numSeries; labelIndex++){ |
2 |
26 Feb 07 |
jari |
58 |
String sampleName = data.getSampleName(adaptor.experimentIndices[labelIndex]); |
2 |
26 Feb 07 |
jari |
59 |
seriesLabels[labelIndex] = sampleName; |
2 |
26 Feb 07 |
jari |
60 |
} |
2 |
26 Feb 07 |
jari |
61 |
return seriesLabels; |
2 |
26 Feb 07 |
jari |
62 |
} |
2 |
26 Feb 07 |
jari |
63 |
|
2 |
26 Feb 07 |
jari |
64 |
|
2 |
26 Feb 07 |
jari |
65 |
public double[] getYSeries(int index) { |
2 |
26 Feb 07 |
jari |
66 |
double[] ySeries = new double[getSeriesSize()]; |
2 |
26 Feb 07 |
jari |
67 |
for(int i = 0; i < ySeries.length; i++){ |
2 |
26 Feb 07 |
jari |
68 |
if(smoothUnconfirmed){ |
2 |
26 Feb 07 |
jari |
69 |
int copyNumber = data.getCopyNumberDetermination(adaptor.experimentIndices[index], adaptor.getCloneIndex(i)); |
2 |
26 Feb 07 |
jari |
70 |
if(copyNumber == IData.BAD_CLONE || copyNumber == IData.NO_COPY_CHANGE){ |
2 |
26 Feb 07 |
jari |
71 |
ySeries[i] = 0; |
2 |
26 Feb 07 |
jari |
72 |
continue; |
2 |
26 Feb 07 |
jari |
73 |
} |
2 |
26 Feb 07 |
jari |
74 |
} |
2 |
26 Feb 07 |
jari |
75 |
|
2 |
26 Feb 07 |
jari |
76 |
float val = getDataValue(adaptor.experimentIndices[index], adaptor.getCloneIndex(i), adaptor.getCloneValueType()); |
2 |
26 Feb 07 |
jari |
77 |
if(Float.isNaN(val) || Float.isInfinite(val)){ |
2 |
26 Feb 07 |
jari |
//ySeries[i] = Double.NaN; |
2 |
26 Feb 07 |
jari |
79 |
}else{ |
2 |
26 Feb 07 |
jari |
80 |
ySeries[i] = val; |
2 |
26 Feb 07 |
jari |
81 |
} |
2 |
26 Feb 07 |
jari |
82 |
} |
2 |
26 Feb 07 |
jari |
83 |
return ySeries; |
2 |
26 Feb 07 |
jari |
84 |
} |
2 |
26 Feb 07 |
jari |
85 |
|
2 |
26 Feb 07 |
jari |
86 |
/** |
2 |
26 Feb 07 |
jari |
* Remember getRatio Glitch |
2 |
26 Feb 07 |
jari |
* @param experimentIndex |
2 |
26 Feb 07 |
jari |
* @param cloneIndex |
2 |
26 Feb 07 |
jari |
* @param cloneValueType |
2 |
26 Feb 07 |
jari |
* @return |
2 |
26 Feb 07 |
jari |
92 |
*/ |
2 |
26 Feb 07 |
jari |
93 |
private float getDataValue(int experimentIndex, int cloneIndex, int cloneValueType){ |
2 |
26 Feb 07 |
jari |
94 |
switch (cloneValueType){ |
2 |
26 Feb 07 |
jari |
95 |
case CGHBrowserModelAdaptor.CLONE_VALUES_RATIOS: |
2 |
26 Feb 07 |
jari |
96 |
return data.getRatio(experimentIndex, cloneIndex, IData.LOG); |
2 |
26 Feb 07 |
jari |
97 |
case CGHBrowserModelAdaptor.CLONE_VALUES_LOG_RATIOS: |
2 |
26 Feb 07 |
jari |
98 |
return data.getRatio(experimentIndex, cloneIndex, IData.LOG); |
2 |
26 Feb 07 |
jari |
99 |
case CGHBrowserModelAdaptor.CLONE_VALUES_P_SCORE: |
2 |
26 Feb 07 |
jari |
100 |
return data.getPValueByLogCloneDistribution(experimentIndex, cloneIndex); |
2 |
26 Feb 07 |
jari |
101 |
} |
2 |
26 Feb 07 |
jari |
102 |
return Float.NaN; |
2 |
26 Feb 07 |
jari |
103 |
} |
2 |
26 Feb 07 |
jari |
104 |
} |