mev-4.0.01/source/org/tigr/microarray/mev/cluster/gui/impl/bridge/BridgeResult.java

Code
Comments
Other
Rev Date Author Line
2 26 Feb 07 jari 1 /*
2 26 Feb 07 jari 2  * Created on Dec 5, 2005
2 26 Feb 07 jari 3  */
2 26 Feb 07 jari 4 package org.tigr.microarray.mev.cluster.gui.impl.bridge;
2 26 Feb 07 jari 5
2 26 Feb 07 jari 6 import java.util.Vector;
2 26 Feb 07 jari 7
2 26 Feb 07 jari 8
2 26 Feb 07 jari 9 /**
2 26 Feb 07 jari 10  * @author iVu
2 26 Feb 07 jari 11  */
2 26 Feb 07 jari 12 public class BridgeResult {
2 26 Feb 07 jari 13   private double[] gamma1;
2 26 Feb 07 jari 14   private double[] gamma2;
2 26 Feb 07 jari 15   private double[] postP;
2 26 Feb 07 jari 16   private double threshold;
2 26 Feb 07 jari 17   private int[] sigIndices;
2 26 Feb 07 jari 18   private int[] nonIndices;
2 26 Feb 07 jari 19   private String[] geneNames;
2 26 Feb 07 jari 20   private String[] headers;
2 26 Feb 07 jari 21   private String[][] auxData;  //[ 4 ][ numGenes ]
2 26 Feb 07 jari 22   
2 26 Feb 07 jari 23   
2 26 Feb 07 jari 24   
2 26 Feb 07 jari 25   public BridgeResult( double[] g1, double[] g2, double[] pp, double t ) {
2 26 Feb 07 jari 26     this.gamma1 = g1;
2 26 Feb 07 jari 27     this.gamma2 = g2;
2 26 Feb 07 jari 28     this.postP = pp;
2 26 Feb 07 jari 29     this.threshold = t;
2 26 Feb 07 jari 30     this.parseSigGenes();
2 26 Feb 07 jari 31     this.packageAuxData();
2 26 Feb 07 jari 32   }
2 26 Feb 07 jari 33   
2 26 Feb 07 jari 34   
2 26 Feb 07 jari 35   private void packageAuxData() {
2 26 Feb 07 jari 36     this.headers = new String[ 4 ];
2 26 Feb 07 jari 37     this.headers[ 0 ] = "Gamma1-Gamma2";
2 26 Feb 07 jari 38     this.headers[ 1 ] = "Posterior Probability";
2 26 Feb 07 jari 39     this.headers[ 2 ] = "Gamma1";
2 26 Feb 07 jari 40     this.headers[ 3 ] = "Gamma2";
2 26 Feb 07 jari 41     
2 26 Feb 07 jari 42     int numGenes = this.gamma1.length;
2 26 Feb 07 jari 43     this.auxData = new String[ numGenes ][ 4 ];
2 26 Feb 07 jari 44     
2 26 Feb 07 jari 45     //loop through the genes
2 26 Feb 07 jari 46     for( int i = 0; i < numGenes; i ++ ) {
2 26 Feb 07 jari 47       this.auxData[ i ][ 0 ] = Double.toString( this.gamma1[ i ] - this.gamma2[ i ] );
2 26 Feb 07 jari 48       this.auxData[ i ][ 1 ] = Double.toString( this.postP[ i ] );
2 26 Feb 07 jari 49       this.auxData[ i ][ 2 ] = Double.toString( this.gamma1[ i ] );
2 26 Feb 07 jari 50       this.auxData[ i ][ 3 ] = Double.toString( this.gamma2[ i ] );
2 26 Feb 07 jari 51     }//i
2 26 Feb 07 jari 52   }
2 26 Feb 07 jari 53   
2 26 Feb 07 jari 54   
2 26 Feb 07 jari 55   private void parseSigGenes() {
2 26 Feb 07 jari 56     Vector vSig = new Vector();
2 26 Feb 07 jari 57     Vector vNon = new Vector();
2 26 Feb 07 jari 58     
2 26 Feb 07 jari 59     for( int i = 0; i < this.postP.length; i ++ ) {
2 26 Feb 07 jari 60       if( this.postP[ i ] >= this.threshold ) {
2 26 Feb 07 jari 61         vSig.add( new Integer( i ) );
2 26 Feb 07 jari 62       } else {
2 26 Feb 07 jari 63         vNon.add( new Integer( i ) );
2 26 Feb 07 jari 64       }
2 26 Feb 07 jari 65     }//i
2 26 Feb 07 jari 66     
2 26 Feb 07 jari 67     this.sigIndices = new int[ vSig.size() ];
2 26 Feb 07 jari 68     for( int i = 0; i < vSig.size(); i ++ ) {
2 26 Feb 07 jari 69       Integer I = ( Integer ) vSig.elementAt( i );
2 26 Feb 07 jari 70       int iSig = I.intValue();
2 26 Feb 07 jari 71       this.sigIndices[ i ] = iSig;
2 26 Feb 07 jari 72     }
2 26 Feb 07 jari 73     
2 26 Feb 07 jari 74     this.nonIndices = new int[ vNon.size() ];
2 26 Feb 07 jari 75     for( int i = 0; i < vNon.size(); i ++ ) {
2 26 Feb 07 jari 76       Integer I = ( Integer ) vNon.elementAt( i );
2 26 Feb 07 jari 77       int iNon = I.intValue();
2 26 Feb 07 jari 78       this.nonIndices[ i ] = iNon;
2 26 Feb 07 jari 79     }
2 26 Feb 07 jari 80   }//parseSigGenes()
2 26 Feb 07 jari 81   
2 26 Feb 07 jari 82   
2 26 Feb 07 jari 83   public double[] getGamma1() {
2 26 Feb 07 jari 84     return this.gamma1;
2 26 Feb 07 jari 85   }
2 26 Feb 07 jari 86   public double[] getGamma2() {
2 26 Feb 07 jari 87     return this.gamma2;
2 26 Feb 07 jari 88   }
2 26 Feb 07 jari 89   public double[] getPostP() {
2 26 Feb 07 jari 90     return this.postP;
2 26 Feb 07 jari 91   }
2 26 Feb 07 jari 92   public void setGeneNames( String[] gn ) {
2 26 Feb 07 jari 93     this.geneNames = gn;
2 26 Feb 07 jari 94   }
2 26 Feb 07 jari 95   public String[] getGeneNames() {
2 26 Feb 07 jari 96     return this.geneNames;
2 26 Feb 07 jari 97   }
2 26 Feb 07 jari 98   public int[] getSigIndices() {
2 26 Feb 07 jari 99     return this.sigIndices;
2 26 Feb 07 jari 100   }
2 26 Feb 07 jari 101   public int[] getNonIndices() {
2 26 Feb 07 jari 102     return this.nonIndices;
2 26 Feb 07 jari 103   }
2 26 Feb 07 jari 104   public int getSigKount() {
2 26 Feb 07 jari 105     return this.sigIndices.length;
2 26 Feb 07 jari 106   }
2 26 Feb 07 jari 107   public int getNonKount() {
2 26 Feb 07 jari 108     return this.nonIndices.length;
2 26 Feb 07 jari 109   }
2 26 Feb 07 jari 110   public String[] getHeaders() {
2 26 Feb 07 jari 111     return this.headers;
2 26 Feb 07 jari 112   }
2 26 Feb 07 jari 113   public String[][] getAuxData() {
2 26 Feb 07 jari 114     return this.auxData;
2 26 Feb 07 jari 115   }
2 26 Feb 07 jari 116 }