mev-4.0.01/source/org/tigr/microarray/mev/cgh/CGHDataModel/CGHPositionGraphDataModel.java

Code
Comments
Other
Rev Date Author Line
2 26 Feb 07 jari 1 /*
2 26 Feb 07 jari 2  * TigrCGHPositionGraphDataModel.java
2 26 Feb 07 jari 3  *
2 26 Feb 07 jari 4  * Created on March 16, 2003, 11:46 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 9 import java.awt.Color;
2 26 Feb 07 jari 10
2 26 Feb 07 jari 11 import org.tigr.microarray.mev.ISlideData;
2 26 Feb 07 jari 12 import org.tigr.microarray.mev.cgh.CGHDataObj.CGHClone;
2 26 Feb 07 jari 13 import org.tigr.microarray.mev.cgh.CGHDataObj.FlankingRegion;
2 26 Feb 07 jari 14 import org.tigr.microarray.mev.cluster.gui.IData;
2 26 Feb 07 jari 15 import org.tigr.microarray.mev.cluster.gui.IFramework;
2 26 Feb 07 jari 16
2 26 Feb 07 jari 17
2 26 Feb 07 jari 18 /**
2 26 Feb 07 jari 19  *
2 26 Feb 07 jari 20  * @author  Adam Margolin
2 26 Feb 07 jari 21  * @author Raktim Sinha
2 26 Feb 07 jari 22  */
2 26 Feb 07 jari 23
2 26 Feb 07 jari 24 public class CGHPositionGraphDataModel extends CGHViewerDataModel implements IPositionGraphDataModel{
2 26 Feb 07 jari 25
2 26 Feb 07 jari 26     int chromosomeIndex;
2 26 Feb 07 jari 27
2 26 Feb 07 jari 28     /** Creates a new instance of TigrCGHPositionGraphDataModel */
2 26 Feb 07 jari 29     public CGHPositionGraphDataModel(/*CGHMultipleArrayDataFcd fcd,*/ IFramework framework, int chromosomeIndex) {
2 26 Feb 07 jari 30         super(framework);
2 26 Feb 07 jari 31
2 26 Feb 07 jari 32         this.chromosomeIndex = chromosomeIndex;
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 Color getDataPointColor(int cloneIndex, int experimentIndex){
2 26 Feb 07 jari 37         CGHClone clone = data.getCloneAt(cloneIndex, chromosomeIndex);
2 26 Feb 07 jari 38
2 26 Feb 07 jari 39         float value = data.getValue(experimentIndex, cloneIndex, chromosomeIndex);
2 26 Feb 07 jari 40         if(value == IData.NO_COPY_CHANGE){
2 26 Feb 07 jari 41             //return getColor(0);
2 26 Feb 07 jari 42             return COLOR_DEFAULT;
2 26 Feb 07 jari 43         }
2 26 Feb 07 jari 44
2 26 Feb 07 jari 45         return getColor(value);
2 26 Feb 07 jari 46     }
2 26 Feb 07 jari 47
2 26 Feb 07 jari 48     public Color getFlankingRegionColor(int expIndex, int flankingRegionIndex) {
2 26 Feb 07 jari 49         FlankingRegion fr = getFlankingRegionAt(expIndex, flankingRegionIndex);
2 26 Feb 07 jari 50
2 26 Feb 07 jari 51         if(fr.getType() == FlankingRegion.DELETION){
2 26 Feb 07 jari 52             if(fr.getSpecifier() == FlankingRegion.DELETION_1_COPY){
2 26 Feb 07 jari 53                 return COLOR_DEL;
2 26 Feb 07 jari 54             }else if(fr.getSpecifier() == FlankingRegion.DELETION_2_COPY){
2 26 Feb 07 jari 55                 return COLOR_DEL_2_COPY;
2 26 Feb 07 jari 56             }
2 26 Feb 07 jari 57         }else if(fr.getType() == FlankingRegion.AMPLIFICATION){
2 26 Feb 07 jari 58             if(fr.getSpecifier() == FlankingRegion.AMPLIFICATION_1_COPY){
2 26 Feb 07 jari 59                 return COLOR_AMP;
2 26 Feb 07 jari 60             }else if(fr.getSpecifier() == FlankingRegion.AMPLIFICATION_2_COPY){
2 26 Feb 07 jari 61                 return COLOR_AMP_2_COPY;
2 26 Feb 07 jari 62             }
2 26 Feb 07 jari 63         }
2 26 Feb 07 jari 64
2 26 Feb 07 jari 65         return COLOR_ERROR;
2 26 Feb 07 jari 66     }
2 26 Feb 07 jari 67
2 26 Feb 07 jari 68     public FlankingRegion getFlankingRegionAt(int expIndex, int flankingRegionIndex) {
2 26 Feb 07 jari 69         return (FlankingRegion) ((ISlideData)data.getFeaturesList().get(expIndex)).getFlankingRegions()[chromosomeIndex].get(flankingRegionIndex);
2 26 Feb 07 jari 70     }
2 26 Feb 07 jari 71
2 26 Feb 07 jari 72     public CGHClone getCloneAt(int index){
2 26 Feb 07 jari 73         return data.getCloneAt(index,chromosomeIndex);
2 26 Feb 07 jari 74     }
2 26 Feb 07 jari 75
2 26 Feb 07 jari 76     public int getMaxClonePosition() {
2 26 Feb 07 jari 77         int maxCloneIndex = data.getChromosomeIndices()[chromosomeIndex][1];
2 26 Feb 07 jari 78
2 26 Feb 07 jari 79         CGHClone clone = data.getCloneAt(maxCloneIndex);
2 26 Feb 07 jari 80         int maxPosition = clone.getStop();
2 26 Feb 07 jari 81
2 26 Feb 07 jari 82         return maxPosition;
2 26 Feb 07 jari 83     }
2 26 Feb 07 jari 84
2 26 Feb 07 jari 85     public int getNumElements() {
2 26 Feb 07 jari 86         return data.getFeaturesSize(chromosomeIndex);
2 26 Feb 07 jari 87     }
2 26 Feb 07 jari 88
2 26 Feb 07 jari 89     public int getNumExperiments() {
2 26 Feb 07 jari 90         return data.getFeaturesCount();
2 26 Feb 07 jari 91     }
2 26 Feb 07 jari 92
2 26 Feb 07 jari 93     public int getNumFlankingRegions(int expIndex) {
2 26 Feb 07 jari 94         return data.getNumFlankingRegions(expIndex,chromosomeIndex);
2 26 Feb 07 jari 95     }
2 26 Feb 07 jari 96
2 26 Feb 07 jari 97     public int getStart(int index) {
2 26 Feb 07 jari 98         return data.getCloneAt(index,chromosomeIndex).getStart();
2 26 Feb 07 jari 99     }
2 26 Feb 07 jari 100
2 26 Feb 07 jari 101     public int getStop(int index) {
2 26 Feb 07 jari 102         return data.getCloneAt(index,chromosomeIndex).getStop();
2 26 Feb 07 jari 103     }
2 26 Feb 07 jari 104
2 26 Feb 07 jari 105     public String getExperimentName(int index) {
2 26 Feb 07 jari 106         return data.getSampleName(index);
2 26 Feb 07 jari 107     }
2 26 Feb 07 jari 108
2 26 Feb 07 jari 109     /** Getter for property chromosomeIndex.
2 26 Feb 07 jari 110      * @return Value of property chromosomeIndex.
2 26 Feb 07 jari 111      */
2 26 Feb 07 jari 112     public int getChromosomeIndex() {
2 26 Feb 07 jari 113         return chromosomeIndex;
2 26 Feb 07 jari 114     }
2 26 Feb 07 jari 115
2 26 Feb 07 jari 116     /** Setter for property chromosomeIndex.
2 26 Feb 07 jari 117      * @param chromosomeIndex New value of property chromosomeIndex.
2 26 Feb 07 jari 118      */
2 26 Feb 07 jari 119     public void setChromosomeIndex(int chromosomeIndex) {
2 26 Feb 07 jari 120         this.chromosomeIndex = chromosomeIndex;
2 26 Feb 07 jari 121     }
2 26 Feb 07 jari 122
2 26 Feb 07 jari 123     public int getExperimentIndexAt(int index){
2 26 Feb 07 jari 124         int[] experimentIndices = data.getSamplesOrder();
2 26 Feb 07 jari 125         return experimentIndices[index];
2 26 Feb 07 jari 126     }
2 26 Feb 07 jari 127
2 26 Feb 07 jari 128 }