mev-4.0.01/source/org/tigr/microarray/mev/r/RDataFormatter.java

Code
Comments
Other
Rev Date Author Line
2 26 Feb 07 jari 1 /*
2 26 Feb 07 jari 2  * Created on Sep 27, 2005
2 26 Feb 07 jari 3  */
2 26 Feb 07 jari 4 package org.tigr.microarray.mev.r;
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 import org.tigr.microarray.mev.cluster.gui.IData;
2 26 Feb 07 jari 9
2 26 Feb 07 jari 10 /**
2 26 Feb 07 jari 11  *
2 26 Feb 07 jari 12  * 
2 26 Feb 07 jari 13  * @author iVu
2 26 Feb 07 jari 14  */
2 26 Feb 07 jari 15 public class RDataFormatter {
2 26 Feb 07 jari 16   private IData data;
2 26 Feb 07 jari 17   
2 26 Feb 07 jari 18   
2 26 Feb 07 jari 19   public RDataFormatter( IData dataP ) {
2 26 Feb 07 jari 20     this.data = dataP;
2 26 Feb 07 jari 21   }
2 26 Feb 07 jari 22   
2 26 Feb 07 jari 23   
2 26 Feb 07 jari 24   public String rSwapString( String dataName, Vector vTreatCy3, Vector vTreatCy5 ) {
2 26 Feb 07 jari 25     //System.out.println("ramaSwapString()");
2 26 Feb 07 jari 26     StringBuffer sbTreat = new StringBuffer( dataName + " <- c(" );
2 26 Feb 07 jari 27     StringBuffer sbControl = new StringBuffer();
2 26 Feb 07 jari 28     
2 26 Feb 07 jari 29     int iTreat3 = vTreatCy3.size();
2 26 Feb 07 jari 30     int iTreat5 = vTreatCy5.size();
2 26 Feb 07 jari 31     
2 26 Feb 07 jari 32     int iGene = this.data.getExperiment().getNumberOfGenes();
2 26 Feb 07 jari 33     
2 26 Feb 07 jari 34     //first gather all treat3
2 26 Feb 07 jari 35     for( int i = 0; i < iTreat3; i ++ ) {
2 26 Feb 07 jari 36       if( i > 0 ) {
2 26 Feb 07 jari 37         sbTreat.append( Rama.COMMA );
2 26 Feb 07 jari 38       }
2 26 Feb 07 jari 39       RHyb hyb = ( RHyb ) vTreatCy3.elementAt( i );
2 26 Feb 07 jari 40       int hybIndex = hyb.getHybIndex();
2 26 Feb 07 jari 41       
2 26 Feb 07 jari 42       //loop through the genes of this hyb
2 26 Feb 07 jari 43       for( int g = 0; g < iGene; g ++ ) {
2 26 Feb 07 jari 44         if( g > 0 ) {
2 26 Feb 07 jari 45           sbTreat.append( Rama.COMMA );
2 26 Feb 07 jari 46         }
2 26 Feb 07 jari 47         
2 26 Feb 07 jari 48         float cy3 = this.data.getCY3( hybIndex, g );
2 26 Feb 07 jari 49         cy3 ++;
2 26 Feb 07 jari 50         //if( cy3 == 0 ) {
2 26 Feb 07 jari 51           //cy3 = 0.1f;
2 26 Feb 07 jari 52         //}
2 26 Feb 07 jari 53         sbTreat.append( cy3 );
2 26 Feb 07 jari 54         //sbTreat.append( this.data.getCY3( hybIndex, g ) );
2 26 Feb 07 jari 55         //System.out.println( "TreatCy3("+i+","+g+"):" + data.getCY3( hybIndex, g ) );
2 26 Feb 07 jari 56       }//g
2 26 Feb 07 jari 57     }//i
2 26 Feb 07 jari 58     sbTreat.append( Rama.COMMA );
2 26 Feb 07 jari 59     //next do all treat5
2 26 Feb 07 jari 60     for( int i = 0; i < iTreat5; i ++ ) {
2 26 Feb 07 jari 61       if( i > 0 ) {
2 26 Feb 07 jari 62         sbTreat.append( Rama.COMMA );
2 26 Feb 07 jari 63       }
2 26 Feb 07 jari 64       RHyb hyb = ( RHyb ) vTreatCy5.elementAt( i );
2 26 Feb 07 jari 65       int hybIndex = hyb.getHybIndex();
2 26 Feb 07 jari 66       
2 26 Feb 07 jari 67       //loop through the genes of this hyb
2 26 Feb 07 jari 68       for( int g = 0; g < iGene; g ++ ) {
2 26 Feb 07 jari 69         if( g > 0 ) {
2 26 Feb 07 jari 70           sbTreat.append( Rama.COMMA );
2 26 Feb 07 jari 71         }
2 26 Feb 07 jari 72         
2 26 Feb 07 jari 73         float cy5 = this.data.getCY5( hybIndex, g );
2 26 Feb 07 jari 74         cy5 ++;
2 26 Feb 07 jari 75         //if( cy5 == 0 ) {
2 26 Feb 07 jari 76           //cy5 = 0.1f;
2 26 Feb 07 jari 77         //}
2 26 Feb 07 jari 78         sbTreat.append( cy5 );
2 26 Feb 07 jari 79         //sbTreat.append( this.data.getCY5( hybIndex, g ) );
2 26 Feb 07 jari 80         //System.out.println( "TreatCy5("+i+","+g+"):" + data.getCY5( hybIndex, g ) );
2 26 Feb 07 jari 81       }//g
2 26 Feb 07 jari 82     }//i
2 26 Feb 07 jari 83     sbTreat.append( Rama.COMMA );
2 26 Feb 07 jari 84     
2 26 Feb 07 jari 85     
2 26 Feb 07 jari 86     //next control5
2 26 Feb 07 jari 87     for( int i = 0; i < iTreat3; i ++ ) {
2 26 Feb 07 jari 88       if( i > 0 ) {
2 26 Feb 07 jari 89         sbTreat.append( Rama.COMMA );
2 26 Feb 07 jari 90       }
2 26 Feb 07 jari 91       RHyb hyb = ( RHyb ) vTreatCy3.elementAt( i );
2 26 Feb 07 jari 92       int hybIndex = hyb.getHybIndex();
2 26 Feb 07 jari 93       
2 26 Feb 07 jari 94       //loop through the genes of this hyb
2 26 Feb 07 jari 95       for( int g = 0; g < iGene; g ++ ) {
2 26 Feb 07 jari 96         if( g > 0 ) {
2 26 Feb 07 jari 97           sbTreat.append( Rama.COMMA );
2 26 Feb 07 jari 98         }
2 26 Feb 07 jari 99         
2 26 Feb 07 jari 100         float cy5 = this.data.getCY5( hybIndex, g );
2 26 Feb 07 jari 101         cy5++;
2 26 Feb 07 jari 102         //if( cy5 == 0 ) {
2 26 Feb 07 jari 103         //  cy5 = 0.1f;
2 26 Feb 07 jari 104         //}
2 26 Feb 07 jari 105         sbTreat.append( cy5 );
2 26 Feb 07 jari 106         //sbTreat.append( this.data.getCY5( hybIndex, g ) );
2 26 Feb 07 jari 107         //System.out.println( "ControlCy3("+i+","+g+"):" + data.getCY5( hybIndex, g ) );
2 26 Feb 07 jari 108       }//g
2 26 Feb 07 jari 109     }//i
2 26 Feb 07 jari 110     sbTreat.append( Rama.COMMA );
2 26 Feb 07 jari 111     //finally control3
2 26 Feb 07 jari 112     for( int i = 0; i < iTreat5; i ++ ) {
2 26 Feb 07 jari 113       if( i > 0 ) {
2 26 Feb 07 jari 114         sbTreat.append( Rama.COMMA );
2 26 Feb 07 jari 115       }
2 26 Feb 07 jari 116       RHyb hyb = ( RHyb ) vTreatCy5.elementAt( i );
2 26 Feb 07 jari 117       int hybIndex = hyb.getHybIndex();
2 26 Feb 07 jari 118       
2 26 Feb 07 jari 119       //loop through the genes of this hyb
2 26 Feb 07 jari 120       for( int g = 0; g < iGene; g ++ ) {
2 26 Feb 07 jari 121         if( g > 0 ) {
2 26 Feb 07 jari 122           sbTreat.append( Rama.COMMA );
2 26 Feb 07 jari 123         }
2 26 Feb 07 jari 124         
2 26 Feb 07 jari 125         float cy3 = this.data.getCY3( hybIndex, g );
2 26 Feb 07 jari 126         cy3 ++;
2 26 Feb 07 jari 127         //if( cy3 == 0 ) {
2 26 Feb 07 jari 128         //  cy3 = 0.1f;
2 26 Feb 07 jari 129         //}
2 26 Feb 07 jari 130         sbTreat.append( cy3 );
2 26 Feb 07 jari 131         //sbTreat.append( this.data.getCY3( hybIndex, g ) );
2 26 Feb 07 jari 132         //System.out.println( "ControlCy5("+i+","+g+"):" + data.getCY3( hybIndex, g ) );
2 26 Feb 07 jari 133       }//g
2 26 Feb 07 jari 134     }//i
2 26 Feb 07 jari 135     sbTreat.append( ")" );
2 26 Feb 07 jari 136     //System.out.println(sbTreat.toString());
2 26 Feb 07 jari 137     return sbTreat.toString();
2 26 Feb 07 jari 138   }//ramaSwapString()
2 26 Feb 07 jari 139   
2 26 Feb 07 jari 140   
2 26 Feb 07 jari 141   public String rNonSwapString( String dataName, Vector vRamaHyb ) {
2 26 Feb 07 jari 142     //System.out.println("ramaNonSwapString()");
2 26 Feb 07 jari 143     StringBuffer sbTreat = new StringBuffer( dataName + " <- c(" );
2 26 Feb 07 jari 144     StringBuffer sbControl = new StringBuffer();
2 26 Feb 07 jari 145     
2 26 Feb 07 jari 146     //figure out which color is which
2 26 Feb 07 jari 147     RHyb firstHyb = ( RHyb ) vRamaHyb.elementAt( 0 );
2 26 Feb 07 jari 148     boolean controlCy3 = firstHyb.controlCy3();
2 26 Feb 07 jari 149     
2 26 Feb 07 jari 150     //loop through all the hybs, they will all be the same color state
2 26 Feb 07 jari 151     for( int i = 0; i < vRamaHyb.size(); i ++ ) {
2 26 Feb 07 jari 152       if( i > 0 ) { 
2 26 Feb 07 jari 153         sbTreat.append( "," );
2 26 Feb 07 jari 154         sbControl.append( "," );
2 26 Feb 07 jari 155       }
2 26 Feb 07 jari 156       
2 26 Feb 07 jari 157       RHyb hyb = ( RHyb ) vRamaHyb.elementAt( i );
2 26 Feb 07 jari 158       int iHyb = hyb.getHybIndex();
2 26 Feb 07 jari 159       
2 26 Feb 07 jari 160       //loop through the genes
2 26 Feb 07 jari 161       int iGene = this.data.getExperiment().getNumberOfGenes();
2 26 Feb 07 jari 162       for( int g = 0; g < iGene; g ++ ) {
2 26 Feb 07 jari 163         if( g > 0 ) {
2 26 Feb 07 jari 164           sbTreat.append( "," );
2 26 Feb 07 jari 165           sbControl.append( "," );
2 26 Feb 07 jari 166         }
2 26 Feb 07 jari 167         
2 26 Feb 07 jari 168         if( controlCy3 ) {
2 26 Feb 07 jari 169           //treatment is Cy5 for all hybs since they're all the same
2 26 Feb 07 jari 170           sbTreat.append( this.data.getCY5( iHyb, g ) );
2 26 Feb 07 jari 171           sbControl.append( this.data.getCY3( iHyb, g ) );
2 26 Feb 07 jari 172           //System.out.println( i + "," + g + ":" + data.getCY5( iHyb, g ) );
2 26 Feb 07 jari 173         } else {
2 26 Feb 07 jari 174           //treatment is Cy3 for all hybs since they're all the same
2 26 Feb 07 jari 175           sbTreat.append( this.data.getCY3( iHyb, g ) );
2 26 Feb 07 jari 176           sbControl.append( this.data.getCY5( iHyb, g ) );
2 26 Feb 07 jari 177           //System.out.println( i + "," + g + ":" + data.getCY3( iHyb, g ) );
2 26 Feb 07 jari 178         }
2 26 Feb 07 jari 179       }//g
2 26 Feb 07 jari 180     }//i
2 26 Feb 07 jari 181     
2 26 Feb 07 jari 182     sbTreat.append( "," );
2 26 Feb 07 jari 183     sbTreat.append( sbControl );
2 26 Feb 07 jari 184     sbTreat.append( ")" );
2 26 Feb 07 jari 185     
2 26 Feb 07 jari 186     return sbTreat.toString();
2 26 Feb 07 jari 187   }//ramaNonSwapString()
2 26 Feb 07 jari 188 }