2 |
26 Feb 07 |
jari |
1 |
/* |
2 |
26 Feb 07 |
jari |
* CloneAlterations.java |
2 |
26 Feb 07 |
jari |
3 |
* |
2 |
26 Feb 07 |
jari |
* Created on May 19, 2003, 2:08 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.CloneAlterations; |
2 |
26 Feb 07 |
jari |
8 |
|
2 |
26 Feb 07 |
jari |
9 |
|
2 |
26 Feb 07 |
jari |
10 |
import java.util.Collections; |
2 |
26 Feb 07 |
jari |
11 |
import java.util.Vector; |
2 |
26 Feb 07 |
jari |
12 |
|
2 |
26 Feb 07 |
jari |
13 |
import javax.swing.tree.DefaultMutableTreeNode; |
2 |
26 Feb 07 |
jari |
14 |
|
2 |
26 Feb 07 |
jari |
15 |
import org.tigr.microarray.mev.cgh.CGHAlgorithms.NumberOfAlterations.NumberOfAlterationsCalculator; |
2 |
26 Feb 07 |
jari |
16 |
import org.tigr.microarray.mev.cgh.CGHDataObj.AlterationRegion; |
2 |
26 Feb 07 |
jari |
17 |
import org.tigr.microarray.mev.cgh.CGHDataObj.AlterationRegionsComparator; |
2 |
26 Feb 07 |
jari |
18 |
import org.tigr.microarray.mev.cgh.CGHDataObj.CGHClone; |
2 |
26 Feb 07 |
jari |
19 |
import org.tigr.microarray.mev.cluster.algorithm.AlgorithmException; |
2 |
26 Feb 07 |
jari |
20 |
import org.tigr.microarray.mev.cluster.gui.IFramework; |
2 |
26 Feb 07 |
jari |
21 |
|
2 |
26 Feb 07 |
jari |
22 |
/** |
2 |
26 Feb 07 |
jari |
23 |
* |
2 |
26 Feb 07 |
jari |
* @author Adam Margolin |
2 |
26 Feb 07 |
jari |
* @author Raktim Sinha |
2 |
26 Feb 07 |
jari |
26 |
*/ |
2 |
26 Feb 07 |
jari |
27 |
|
2 |
26 Feb 07 |
jari |
28 |
public abstract class CloneAlterations extends NumberOfAlterationsCalculator{ |
2 |
26 Feb 07 |
jari |
29 |
|
2 |
26 Feb 07 |
jari |
/** Creates a new instance of CloneAlterations */ |
2 |
26 Feb 07 |
jari |
31 |
public CloneAlterations() { |
2 |
26 Feb 07 |
jari |
32 |
} |
2 |
26 Feb 07 |
jari |
33 |
|
2 |
26 Feb 07 |
jari |
34 |
public DefaultMutableTreeNode execute(IFramework framework) throws AlgorithmException { |
2 |
26 Feb 07 |
jari |
35 |
this.framework = framework; |
2 |
26 Feb 07 |
jari |
36 |
this.data = framework.getData(); |
2 |
26 Feb 07 |
jari |
//SortedSet alterationRegions = new TreeSet(new AlterationRegionsComparator()); |
2 |
26 Feb 07 |
jari |
38 |
Vector alterationRegions = new Vector(); |
2 |
26 Feb 07 |
jari |
39 |
|
2 |
26 Feb 07 |
jari |
40 |
for(int i = 0; i < this.framework.getData().getFeaturesSize(); i++){ |
2 |
26 Feb 07 |
jari |
41 |
CGHClone curClone = this.framework.getData().getCloneAt(i); |
2 |
26 Feb 07 |
jari |
42 |
int numAlterations = getNumAlterations(i); |
2 |
26 Feb 07 |
jari |
43 |
|
2 |
26 Feb 07 |
jari |
44 |
AlterationRegion curAlterationRegion = new AlterationRegion(); |
2 |
26 Feb 07 |
jari |
45 |
curAlterationRegion.setDataRegion(curClone); |
2 |
26 Feb 07 |
jari |
46 |
curAlterationRegion.setNumAlterations(numAlterations); |
2 |
26 Feb 07 |
jari |
47 |
curAlterationRegion.setNumSamples(this.framework.getData().getFeaturesCount()); |
2 |
26 Feb 07 |
jari |
//curAlterationRegion.setPercentAltered((float)numAlterations / (float)fcd.getData().getFeaturesCount()); |
2 |
26 Feb 07 |
jari |
49 |
alterationRegions.add(curAlterationRegion); |
2 |
26 Feb 07 |
jari |
50 |
} |
2 |
26 Feb 07 |
jari |
51 |
Collections.sort(alterationRegions, new AlterationRegionsComparator()); |
2 |
26 Feb 07 |
jari |
52 |
return createResultsTree(alterationRegions); |
2 |
26 Feb 07 |
jari |
53 |
} |
2 |
26 Feb 07 |
jari |
54 |
|
2 |
26 Feb 07 |
jari |
55 |
public int getNumAlterations(int cloneIndex){ |
2 |
26 Feb 07 |
jari |
56 |
int numAlterations = 0; |
2 |
26 Feb 07 |
jari |
57 |
for(int i = 0; i < data.getFeaturesCount(); i++){ |
2 |
26 Feb 07 |
jari |
58 |
int copyNumber = data.getCopyNumberDetermination(i, cloneIndex); |
2 |
26 Feb 07 |
jari |
59 |
if(isAltered(copyNumber)){ |
2 |
26 Feb 07 |
jari |
60 |
numAlterations++; |
2 |
26 Feb 07 |
jari |
61 |
} |
2 |
26 Feb 07 |
jari |
62 |
} |
2 |
26 Feb 07 |
jari |
63 |
return numAlterations; |
2 |
26 Feb 07 |
jari |
64 |
} |
2 |
26 Feb 07 |
jari |
65 |
|
2 |
26 Feb 07 |
jari |
66 |
protected abstract boolean isAltered(int copyNumber); |
2 |
26 Feb 07 |
jari |
67 |
|
2 |
26 Feb 07 |
jari |
68 |
} |