mev-4.0.01/source/org/tigr/microarray/mev/cgh/CGHAlgorithms/AlterationsComparator/TwoExperimentAlterationComparator.java

Code
Comments
Other
Rev Date Author Line
2 26 Feb 07 jari 1 /*
2 26 Feb 07 jari 2  * TwoExperimentAlterationComparator.java
2 26 Feb 07 jari 3  *
2 26 Feb 07 jari 4  * Created on November 22, 2003, 3:23 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.AlterationsComparator;
2 26 Feb 07 jari 8
2 26 Feb 07 jari 9 //import org.abramson.microarray.cgh.CGHFcdObj.CGHMultipleArrayDataFcd;
2 26 Feb 07 jari 10 import org.tigr.microarray.mev.cluster.gui.IData;
2 26 Feb 07 jari 11 import org.tigr.util.IntArray;
2 26 Feb 07 jari 12
2 26 Feb 07 jari 13 /**
2 26 Feb 07 jari 14  *
2 26 Feb 07 jari 15  * @author  Adam Margolin
2 26 Feb 07 jari 16  * @author Raktim Sinha
2 26 Feb 07 jari 17  */
2 26 Feb 07 jari 18 public class TwoExperimentAlterationComparator {
2 26 Feb 07 jari 19     public static final int DELETION = -1;
2 26 Feb 07 jari 20     public static final int AMPLIFICATION = 1;
2 26 Feb 07 jari 21
2 26 Feb 07 jari 22     //CGHMultipleArrayDataFcd fcd;
2 26 Feb 07 jari 23     IData data;
2 26 Feb 07 jari 24
2 26 Feb 07 jari 25     int experimentA, experimentB;
2 26 Feb 07 jari 26     int comparisonType;
2 26 Feb 07 jari 27
2 26 Feb 07 jari 28     int[] aOnly, bOnly, aAndB;
2 26 Feb 07 jari 29
2 26 Feb 07 jari 30     /** Creates a new instance of TwoExperimentAlterationComparator */
2 26 Feb 07 jari 31     public TwoExperimentAlterationComparator() {
2 26 Feb 07 jari 32     }
2 26 Feb 07 jari 33
2 26 Feb 07 jari 34     public void compareExperiments(/*CGHMultipleArrayDataFcd fcd*/IData data, int experimentA, int experimentB, int comparisonType){
2 26 Feb 07 jari 35         int copyNumberA;
2 26 Feb 07 jari 36         int copyNumberB;
2 26 Feb 07 jari 37
2 26 Feb 07 jari 38         IntArray iaAonly = new IntArray(10);
2 26 Feb 07 jari 39         IntArray iaBonly = new IntArray(10);
2 26 Feb 07 jari 40         IntArray iaAandB = new IntArray(10);
2 26 Feb 07 jari 41
2 26 Feb 07 jari 42         for(int clone = 0; clone < data.getFeaturesSize(); clone++){
2 26 Feb 07 jari 43             copyNumberA = data.getCopyNumberDetermination(experimentA, clone);
2 26 Feb 07 jari 44             copyNumberB = data.getCopyNumberDetermination(experimentB, clone);
2 26 Feb 07 jari 45
2 26 Feb 07 jari 46             if(copyNumberA == -1 || copyNumberA == -2){
2 26 Feb 07 jari 47                 copyNumberA = DELETION;
2 26 Feb 07 jari 48             }
2 26 Feb 07 jari 49
2 26 Feb 07 jari 50             if(copyNumberA == 1 || copyNumberA == 2){
2 26 Feb 07 jari 51                 copyNumberA = AMPLIFICATION;
2 26 Feb 07 jari 52             }
2 26 Feb 07 jari 53
2 26 Feb 07 jari 54             if(copyNumberB == -1 || copyNumberB == -2){
2 26 Feb 07 jari 55                 copyNumberB = DELETION;
2 26 Feb 07 jari 56             }
2 26 Feb 07 jari 57
2 26 Feb 07 jari 58             if(copyNumberB == 1 || copyNumberB == 2){
2 26 Feb 07 jari 59                 copyNumberB = AMPLIFICATION;
2 26 Feb 07 jari 60             }
2 26 Feb 07 jari 61
2 26 Feb 07 jari 62             if(copyNumberA == comparisonType){
2 26 Feb 07 jari 63                 if(copyNumberB == comparisonType){
2 26 Feb 07 jari 64                     iaAandB.add(clone);
2 26 Feb 07 jari 65                 }else{
2 26 Feb 07 jari 66                     iaAonly.add(clone);
2 26 Feb 07 jari 67                 }
2 26 Feb 07 jari 68             }else if(copyNumberB == comparisonType){
2 26 Feb 07 jari 69                 iaBonly.add(clone);
2 26 Feb 07 jari 70             }
2 26 Feb 07 jari 71         }
2 26 Feb 07 jari 72
2 26 Feb 07 jari 73         aOnly = iaAonly.toArray();
2 26 Feb 07 jari 74         bOnly = iaBonly.toArray();
2 26 Feb 07 jari 75         aAndB = iaAandB.toArray();
2 26 Feb 07 jari 76
2 26 Feb 07 jari 77     }
2 26 Feb 07 jari 78
2 26 Feb 07 jari 79     /** Getter for property aOnly.
2 26 Feb 07 jari 80      * @return Value of property aOnly.
2 26 Feb 07 jari 81      */
2 26 Feb 07 jari 82     public int[] getAOnly() {
2 26 Feb 07 jari 83         return this.aOnly;
2 26 Feb 07 jari 84     }
2 26 Feb 07 jari 85
2 26 Feb 07 jari 86     /** Setter for property aOnly.
2 26 Feb 07 jari 87      * @param aOnly New value of property aOnly.
2 26 Feb 07 jari 88      */
2 26 Feb 07 jari 89     public void setAOnly(int[] aOnly) {
2 26 Feb 07 jari 90         this.aOnly = aOnly;
2 26 Feb 07 jari 91     }
2 26 Feb 07 jari 92
2 26 Feb 07 jari 93     /** Getter for property bOnly.
2 26 Feb 07 jari 94      * @return Value of property bOnly.
2 26 Feb 07 jari 95      */
2 26 Feb 07 jari 96     public int[] getBOnly() {
2 26 Feb 07 jari 97         return this.bOnly;
2 26 Feb 07 jari 98     }
2 26 Feb 07 jari 99
2 26 Feb 07 jari 100     /** Setter for property bOnly.
2 26 Feb 07 jari 101      * @param bOnly New value of property bOnly.
2 26 Feb 07 jari 102      */
2 26 Feb 07 jari 103     public void setBOnly(int[] bOnly) {
2 26 Feb 07 jari 104         this.bOnly = bOnly;
2 26 Feb 07 jari 105     }
2 26 Feb 07 jari 106
2 26 Feb 07 jari 107     /** Getter for property aAndB.
2 26 Feb 07 jari 108      * @return Value of property aAndB.
2 26 Feb 07 jari 109      */
2 26 Feb 07 jari 110     public int[] getAAndB() {
2 26 Feb 07 jari 111         return this.aAndB;
2 26 Feb 07 jari 112     }
2 26 Feb 07 jari 113
2 26 Feb 07 jari 114     /** Setter for property aAndB.
2 26 Feb 07 jari 115      * @param aAndB New value of property aAndB.
2 26 Feb 07 jari 116      */
2 26 Feb 07 jari 117     public void setAAndB(int[] aAndB) {
2 26 Feb 07 jari 118         this.aAndB = aAndB;
2 26 Feb 07 jari 119     }
2 26 Feb 07 jari 120
2 26 Feb 07 jari 121 }