Changeset 548
- Timestamp:
- Jan 22, 2008, 10:42:12 AM (15 years ago)
- Location:
- branches/uk_ac_ebi_Tab2MageImporter
- Files:
-
- 3 added
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/uk_ac_ebi_Tab2MageImporter/TODO.txt
r547 r548 1 1 - naming of plugin and classes? 2 - sort out copy 2 - sort out copyright and ownership issues 3 3 - check in Charles' code 4 4 - implement more complex use cases (pooling, dyeswap, no ref sample) 5 5 - status report does not get written in all cases 6 - add support for users using their own name bases for samples and perhaps extracts 7 - adapt no of rows in table in mappings.jsp so it matches the correct number required 8 - error handling, checks and validation 9 - throw an error if dye-swap and reference set both to yes 10 - if pooling, include a pooling protocol in the pooling section 11 - implement failure conditions i.e. unsupported cases -
branches/uk_ac_ebi_Tab2MageImporter/jsp/uk/ac/ebi/nugo/plugins/configureImporter.jsp
r547 r548 148 148 <input type="hidden"name="parameter:mappingsMode" value="<%=inputDataBean.getMappingsMode()%>" /> 149 149 <input type="hidden"name="parameter:spreadSheetMappings" value="<%= inputDataBean.getSpreadSheetMappings()%>"/> 150 <input type="hidden"name="parameter:samplePairing" value="<%= inputDataBean.getSamplePairing()%>"/> 151 <input type="hidden"name="parameter:timeCourse" value="<%= inputDataBean.getTimeCourse()%>"/> 152 <input type="hidden"name="parameter:timePoints" value="<%= inputDataBean.getTimePoints()%>"/> 153 <input type="hidden"name="parameter:proceed" value="<%= inputDataBean.getProceed()%>"/> 150 154 151 155 <input type="hidden"name="parameter:fileList" value=""/> -
branches/uk_ac_ebi_Tab2MageImporter/jsp/uk/ac/ebi/nugo/plugins/experiment.jsp
r544 r548 34 34 35 35 <script> 36 self.resizeTo(800, 800);36 self.resizeTo(800,1100); 37 37 </script> 38 38 -
branches/uk_ac_ebi_Tab2MageImporter/jsp/uk/ac/ebi/nugo/plugins/hybridizations.jsp
r544 r548 178 178 <td class="boldText">Number of treatment groups:</td> 179 179 <td class="input"><input type="text" size="3" name="numTreatmentGroups" value="2"/></td> 180 <td>The number of permutations of factor values. <p>180 <td>The number of discrete combinations of factor values, i.e. the product of the number of factor levels(values) from all factors. <p> 181 181 Example: an experiment with 2 factors and 3 factor values in each will have 6 treatment groups (2 X 3). 182 182 </td> -
branches/uk_ac_ebi_Tab2MageImporter/jsp/uk/ac/ebi/nugo/plugins/mappings.jsp
r547 r548 165 165 166 166 //work out the number of hybridizations 167 String platform = inputDataBean.getPlatform(); 168 //work out whether this is a single or dual channel experiment 169 boolean singleChannel = false; 170 if (platform.equalsIgnoreCase("affymetrix")) 171 { 172 singleChannel = true; 173 } 167 174 int numReplicates = Integer.parseInt(inputDataBean.getNumReplicates()); 168 175 int numTreatmentGroups = Integer.parseInt(inputDataBean.getNumTreatmentGroups()); 169 176 int numTissues = inputDataBean.getTissues().split("\n").length; 170 int numHybs = Tab2MageWriter.calcNumHybs( numReplicates, numTreatmentGroups, numTissues);177 int numHybs = Tab2MageWriter.calcNumHybs(singleChannel,numReplicates, numTreatmentGroups, numTissues); 171 178 System.out.println("numHybs = " + numHybs); 172 179 System.out.println("products.length = " + products.length); -
branches/uk_ac_ebi_Tab2MageImporter/jsp/uk/ac/ebi/nugo/plugins/submit.jsp
r547 r548 58 58 "hybridizationProtocolParams","scanningProtocolParams","platform","organism", 59 59 "numDesigns","dyeSwap","refSample","numTreatmentGroups","expFactors","numReplicates", 60 "tissues","pooling","path" };60 "tissues","pooling","path","samplePairing","timeCourse","timePoints"}; 61 61 62 62 String [] friendlyNames = new String []{"Domain","Accession","Quality Control","Experimental Design", 63 63 "Experiment Name","Description","Release Date","Submission Date","Submitter","Organization", 64 "Publication Title","Authors","Journal","Volume","Issue","Pages","Year","Pubmed ID","Treatment SProtocol",64 "Publication Title","Authors","Journal","Volume","Issue","Pages","Year","Pubmed ID","Treatment Protocol", 65 65 "Extraction Protocol","Labeling Protocol","Hybridization Protocol","Scanning Protocol", 66 66 "Treatment Protocol Parameters","Extraction Protocol Parameters","Labeling Protocol Parameters", 67 67 "Hybridization Protocol Parameters","Scanning Protocol Parameters","Platform","Organism", 68 68 "Number of Array Designs","Dye Swap","Reference Sample","Number of Treatment Groups","Experimental Factors","Number of Replicates per Group", 69 "Tissues","Pooling","Zip File" };69 "Tissues","Pooling","Zip File","Sample Pairing Rationale","Time Course","Time Points"}; 70 70 71 71 //print out all relevant parameter values in the bean … … 149 149 <input type="hidden"name="parameter:mappingsMode" value="<%=inputDataBean.getMappingsMode()%>" /> 150 150 <input type="hidden"name="parameter:spreadSheetMappings" value="<%= inputDataBean.getSpreadSheetMappings()%>"/> 151 <input type="hidden"name="parameter:samplePairing" value="<%= inputDataBean.getSamplePairing()%>"/> 152 <input type="hidden"name="parameter:timeCourse" value="<%= inputDataBean.getTimeCourse()%>"/> 153 <input type="hidden"name="parameter:timePoints" value="<%= inputDataBean.getTimePoints()%>"/> 154 <input type="hidden"name="parameter:proceed" value="<%= inputDataBean.getProceed()%>"/> 151 155 152 156 <input type="hidden"name="parameter:fileList" value=""/> -
branches/uk_ac_ebi_Tab2MageImporter/jsp/uk/ac/ebi/nugo/plugins/userchoice2.jsp
r543 r548 41 41 if(document.getElementById("legacyDataNo").checked) 42 42 { 43 form.action="<%= request.getContextPath()%>/plugins/uk/ac/ebi/nugo/plugins/ submit.jsp?ID=<%=ID%>";43 form.action="<%= request.getContextPath()%>/plugins/uk/ac/ebi/nugo/plugins/autogenerate.jsp?ID=<%=ID%>"; 44 44 } 45 45 … … 84 84 <p>If you choose 'yes' you will be asked for mappings between filenames, samples and factor value combinations on the next pages. 85 85 </p> 86 <p>If you choose 'no' the Tab2MAGE importer will autogenerate names for files and samples on your behalf and proceed with the import automatically.86 <p>If you choose 'no' the Tab2MAGE importer will autogenerate names for files and samples on your behalf. 87 87 </p> 88 88 -
branches/uk_ac_ebi_Tab2MageImporter/src/uk/ac/ebi/nugo/plugins/DataBean.java
r547 r548 55 55 public String mappingsMode; 56 56 public String spreadSheetMappings; 57 public String samplePairing; 58 public String timeCourse; 59 public String timePoints; 60 public String proceed; 57 61 58 62 public DataBean() … … 468 472 this.spreadSheetMappings = spreadSheetMappings; 469 473 } 474 475 public String getProceed() 476 { 477 return proceed; 478 } 479 480 public void setProceed(String proceed) 481 { 482 this.proceed = proceed; 483 } 484 485 public String getSamplePairing() 486 { 487 return samplePairing; 488 } 489 490 public void setSamplePairing(String samplePairing) 491 { 492 this.samplePairing = samplePairing; 493 } 494 495 public String getTimeCourse() 496 { 497 return timeCourse; 498 } 499 500 public void setTimeCourse(String timeCourse) 501 { 502 this.timeCourse = timeCourse; 503 } 504 505 public String getTimePoints() 506 { 507 return timePoints; 508 } 509 510 public void setTimePoints(String timePoints) 511 { 512 this.timePoints = timePoints; 513 } 470 514 471 515 -
branches/uk_ac_ebi_Tab2MageImporter/src/uk/ac/ebi/nugo/plugins/Tab2MageImporter.java
r547 r548 99 99 "numDesigns","dyeSwap","refSample","numTreatmentGroups","expFactors","numReplicates", 100 100 "tissues","pooling","path", "subjectNames", "fileList", "subjectList", "tissueList","combinationList", "useWizard", 101 "legacyData","mappingsMode","spreadSheetMappings" };101 "legacyData","mappingsMode","spreadSheetMappings","samplePairing","timeCourse","timePoints","proceed"}; 102 102 103 103 -
branches/uk_ac_ebi_Tab2MageImporter/src/uk/ac/ebi/nugo/plugins/Tab2MageWriter.java
r547 r548 26 26 String t2mContent = ""; 27 27 ParameterValues job; 28 boolean singleChannel = false; 29 28 30 String[] paramNames; 29 30 31 String[] factorNames; 31 32 String [] fileNames; … … 82 83 public String mappingsMode; 83 84 public String spreadSheetMappings; 85 public String samplePairing; 86 public String timeCourse; 87 public String timePoints; 88 public String proceed; 84 89 85 90 … … 122 127 } 123 128 124 //this extracts the individaul factor names from the String that comes from the web page 129 //work out whether this is a single or dual channel experiment 130 if (platform.equalsIgnoreCase("affymetrix")) 131 { 132 singleChannel = true; 133 } 134 //this extracts the individual factor names from the String that comes from the web page 125 135 extractFactorNames(); 126 136 //now extract the factor values and store them suitably so we can access them … … 182 192 combinations = new String [entries.length][]; 183 193 194 //now populate the 2d array of factor value combinations as above 184 195 for (int i = 0; i < entries.length; i++) 185 196 { … … 319 330 t2mContent += "\n"; 320 331 321 //determine whether this is a single or dual channel experiment 322 boolean singleChannel = false; 332 323 333 //the number of times we have to print the block of data below 324 334 //with dual channel platforms we have to print each block (row) twice 325 335 int numPrintRepeats = 2; 326 if (platform.equalsIgnoreCase("affymetrix")) 327 { 328 singleChannel = true; 336 if (singleChannel) 337 { 329 338 numPrintRepeats = 1; 330 339 } 331 340 332 333 341 //we need a single record for each tissue in each subject here 334 335 342 int count = 1; 336 337 343 int numSubjects = Integer.parseInt(numReplicates); 338 344 String[] allTissues = tissues.split(","); … … 518 524 // ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 519 525 520 public static int calcNumHybs(int numReplicates, int numTreatmentGroups, int numTissues) 521 { 522 // Number of hybridizations (NH) = Number of subjects (NS) x 523 // Number of Target Tissue (NTT) x Number of Study groups (NSG) 524 return numReplicates * numTissues * numTreatmentGroups; 526 public static int calcNumHybs(boolean dyeSwap, boolean pooling, int numDesigns, int numReplicates, int numTreatmentGroups, int numTissues) 527 { 528 int numHybs = 0; 529 530 /* 531 Basic assumption: 532 no pooling, one source ->one sample->one extract->one labeled extract->one hyb 533 Number of hybridizations (NH) = Number of subjects (NS) x Number of Target Tissue (NTT) x Number of Study groups (NSG) 534 */ 535 numHybs = numReplicates * numTissues * numTreatmentGroups; 536 537 //a number of conditions can then modify the basic number of hybs: 538 539 //dye swap results in twice the number of hybs 540 //NHdye-swap=2 x NH 541 if(dyeSwap) 542 { 543 numHybs = numHybs *2; 544 } 545 546 //if several array designs are used all hybs must be applied to each of them 547 //NHmultiple designs=Nad x NH 548 if(numDesigns > 1) 549 { 550 numHybs = numHybs * numDesigns; 551 } 552 553 //pooling reduces the number of hybs as the biological replication gets cancelled out 554 //NH(if pooling)= NH/Number of subjects (NS) 555 if(pooling) 556 { 557 numHybs = numHybs/numReplicates; 558 } 559 560 561 562 return numHybs; 525 563 } 526 564
Note: See TracChangeset
for help on using the changeset viewer.