Changeset 552


Ignore:
Timestamp:
Jan 24, 2008, 5:41:40 PM (13 years ago)
Author:
mbayer
Message:

have added input validation (mandatory fields check)
added back buttons
disabled autogenerate mode for now
included a pooling protocols.jsp
rejigged configureImporter.jsp so that it no longer submits directly but rather thorugh submit.jsp like all other routes

Location:
branches/uk_ac_ebi_Tab2MageImporter
Files:
23 edited

Legend:

Unmodified
Added
Removed
  • branches/uk_ac_ebi_Tab2MageImporter/TODO.txt

    r550 r552  
    1 - naming of plugin and classes?
     1
     2general:
     3- naming of plugin, classes and packages?
     4- sort out package structure
    25- sort out copyright and ownership issues
    36- check in Charles' code
    4 - implement more complex use cases (pooling, dyeswap, no ref sample)
     7
     8
     9features:
    510- status report does not get written in all cases
     11- error handling
     12
     13
     14extension: autogenerate mode
     15- enable tab2mage autogenerate only mode where file gets written to account (in new folder as before) but then there is no data import or object creation (users then import their data later together with the file they created here)
    616- 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
    12 - improve maintainability: move hidden inputs out of configureimport.jsp and go through submit.jsp instead
    13 - improve maintainability: move all variables into the data bean and then use reflection to get at them in the importer and the writer classes
    14 - enable tab2mage autogenerate only mode where file gets written to account (in new folder as before) but then there is no data import or object creation (users then import their data later together with the file they created here)
  • branches/uk_ac_ebi_Tab2MageImporter/html/experiment.html

    r524 r552  
    6060<p>
    6161
     62All fields marked with <font color="red"><b>*</b></font> must be completed.
     63<p>
     64
    6265<form action="<%= request.getContextPath()%>/plugins/uk/ac/ebi/nugo/plugins/protocols.jsp" method="post">
    6366<input type="hidden" name="ID" value="<%=ID%>">
     
    6871  <tr >
    6972    <td class="boldText">Domain:</td>
    70     <td class="input"><input type="text" size="45" name="domain" value="scri.ac.uk" /></td>
     73    <td class="input"><input type="text" size="45" name="domain" value="scri.ac.uk" />&nbsp;*</td>
    7174    <td class="helpText">The domain tag provides information on the originator of the output MAGE-ML document. This field can contain
    7275    any suitable string, such as the originating internet domain name (e.g. "ebi.ac.uk").</td>
  • branches/uk_ac_ebi_Tab2MageImporter/html/spreadSheetData.html

    r550 r552  
    44<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    55<title>spreadSheetData.html</title>
     6<link rel="stylesheet" type="text/css" href="../jsp/uk/ac/ebi/nugo/plugins/styles.css" />
    67</head>
    78<body>
  • branches/uk_ac_ebi_Tab2MageImporter/jsp/uk/ac/ebi/nugo/plugins/autogenerate.jsp

    r550 r552  
    150150</form>
    151151
    152 <table align="center" class="noBorder" cellspacing="5" cellpadding="5">
     152  <table align="center" class="noBorder" cellspacing="5" cellpadding="5">
    153153  <tr class="noBorder">
    154     <td id="next" width="50%" style="border-style: none;">
    155     <div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="submit()">
    156     <div class="buttons_inner">
    157     <table class="noBorder" cellspacing="0" cellpadding="0">
    158       <tr class="noBorder">
    159         <td style="border-style: none;"><img src="/base/images/gonext.gif" border="0"></td>
    160         <td style="border-style: none;">Next</td>
    161       </tr>
    162     </table>
    163     </div>
    164     </div>
    165     </td>
    166     <td id="close" width="50%" style="border-style: none;">
    167     <div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="window.close()">
    168     <div class="buttons_inner">
    169     <table class="noBorder" cellspacing="0" cellpadding="0">
    170       <tr class="noBorder">
    171         <td style="border-style: none;"><img src="/base/images/cancel.gif" border="0"></td>
    172         <td style="border-style: none;">Cancel</td>
    173       </tr>
    174     </table>
    175     </div>
    176     </div>
    177     </td>
     154    <td id="back"  style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="back()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/goback.gif" border="0"></td><td style="border-style: none;">Back</td></tr></table></div></div></td> 
     155    <td id="next"  style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="submit()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/gonext.gif" border="0"></td><td style="border-style: none;">Next</td></tr></table></div></div></td>
     156    <td id="close"  style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="window.close()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/cancel.gif" border="0"></td><td style="border-style: none;">Cancel</td></tr></table></div></div></td>
    178157  </tr>
    179 </table>
     158  </table>
    180159
    181160
  • branches/uk_ac_ebi_Tab2MageImporter/jsp/uk/ac/ebi/nugo/plugins/configureImporter.jsp

    r550 r552  
    1717  ItemContext cc = sc.getCurrentContext(Item.EXPERIMENT);
    1818  int experimentId = cc.getId();
     19  inputDataBean.setExperimentId(String.valueOf(experimentId));
    1920
    2021 %>
     
    3536  function submit()
    3637  {
    37     document.hybridizations.submit();
     38    //validate fields have been filled in first
     39      var frm = document.forms['selectZipFile'];
     40      var formComplete = true;
     41      for (var i=0;i<frm.length;i++)
     42        {
     43           if(frm.elements[i].value == '')
     44          {
     45          formComplete = false;
     46          }
     47       }
     48       
     49      if (formComplete == false)
     50      {
     51          alert('No value selected for file');
     52      }
     53      else
     54      {
     55        frm.submit();
     56      }
    3857  }
     58 
    3959    function getRoot()
    4060    {
     
    4767    function doImport()
    4868    {
    49       var frm = document.forms['hybridizations'];
     69      var frm = document.forms['selectZipFile'];
    5070      if (Main.trimString(frm.path.value) == '')
    5171      {
     
    6080    function browseOnClick()
    6181    {
    62       var frm = document.forms['hybridizations'];
     82      var frm = document.forms['selectZipFile'];
    6383      var url = '<%= request.getContextPath()%>/filemanager/index.jsp?ID=<%=ID%>&cmd=SelectOne&title=Select+file+to+import&callback=setFileCallback';
    6484      url += '&filter:INT:location=1';
     
    6787    function setFileCallback(fileId, path)
    6888    {
    69       var frm = document.forms['hybridizations'];
     89      var frm = document.forms['selectZipFile'];
    7090      frm.file_id.value = fileId;
    7191      frm.path.value = path;
     92      document.getElementById('path').value = path;
    7293      document.getElementById('zipFile').value = path;
    7394      }
    7495    function recentFileOnChange()
    7596    {
    76       var frm = document.forms['hybridizations'];
     97      var frm = document.forms['selectZipFile'];
    7798      var selected = frm.recentFile[frm.recentFile.selectedIndex];
    7899      setFileCallback(selected.value, selected.text);
     
    91112
    92113
    93 <form name="hybridizations"action="<%= request.getContextPath()%>/common/plugin/index.jsp?ID=<%=ID%>" method="post">
    94 <input type="hidden" name="ID" value="<%=ID%>">
    95 <input type="hidden" name="cmd" value="SetParameters">
     114<form name="selectZipFile"action="<%= request.getContextPath()%>/plugins/uk/ac/ebi/nugo/plugins/submit.jsp?ID=<%=ID%>" method="post">
     115<input type="hidden" name="ID" value="<%=ID%>"> 
    96116<input type="hidden"name="requestId" value="<%=requestId%>">
    97117
     118<input type="hidden" name="path" value=""  id="zipFile">
    98119<input type="hidden" name="file_id" value="">
    99 <input type="hidden" name="parameter:path" value=""  id="zipFile">
    100 <input type="hidden" name="parameter:experimentId" value="<%=experimentId %>"  id="experimentId">
    101 
    102 
    103 <input type="hidden"name="parameter:domain" value="<%=inputDataBean.getDomain()%>" />
    104 <input type="hidden"name="parameter:accession" value="<%=inputDataBean.getAccession()%>" />
    105 <input type="hidden"name="parameter:qualityControl" value="<%=inputDataBean.getQualityControl()%>" />
    106 <input type="hidden"name="parameter:experimentalDesign" value="<%=inputDataBean.getExperimentalDesign()%>" />
    107 <input type="hidden"name="parameter:experimentName" value="<%=inputDataBean.getExperimentName()%>" />
    108 <input type="hidden"name="parameter:description" value="<%=inputDataBean.getDescription()%>" />
    109 <input type="hidden"name="parameter:releaseDate" value="<%=inputDataBean.getReleaseDate()%>" />
    110 <input type="hidden"name="parameter:submissionDate" value="<%=inputDataBean.getSubmissionDate()%>" />
    111 <input type="hidden"name="parameter:submitter" value="<%=inputDataBean.getSubmitter()%>" />
    112 <input type="hidden"name="parameter:organization" value="<%=inputDataBean.getOrganization()%>" />
    113 <input type="hidden"name="parameter:publicationTitle" value="<%=inputDataBean.getPublicationTitle()%>" />
    114 <input type="hidden"name="parameter:authors" value="<%=inputDataBean.getAuthors()%>" />
    115 <input type="hidden"name="parameter:journal" value="<%=inputDataBean.getJournal()%>" />
    116 <input type="hidden"name="parameter:volume" value="<%=inputDataBean.getVolume()%>" />
    117 <input type="hidden"name="parameter:issue" value="<%=inputDataBean.getIssue()%>" />
    118 <input type="hidden"name="parameter:pages" value="<%=inputDataBean.getPages()%>" />
    119 <input type="hidden"name="parameter:year" value="<%=inputDataBean.getYear()%>" />
    120 <input type="hidden"name="parameter:pubmedId" value="<%=inputDataBean.getPubmedId()%>" />
    121 <input type="hidden"name="parameter:experimentId" value="<%=inputDataBean.getExperimentId()%>" />
    122 <input type="hidden"name="parameter:treatmentProtocol" value="<%=inputDataBean.getTreatmentProtocol()%>" />
    123 <input type="hidden"name="parameter:extractionProtocol" value="<%=inputDataBean.getExtractionProtocol()%>" />
    124 <input type="hidden"name="parameter:labelingProtocol" value="<%=inputDataBean.getLabelingProtocol()%>" />
    125 <input type="hidden"name="parameter:hybridizationProtocol" value="<%=inputDataBean.getHybridizationProtocol()%>" />
    126 <input type="hidden"name="parameter:scanningProtocol" value="<%=inputDataBean.getScanningProtocol()%>" />
    127 <input type="hidden"name="parameter:treatmentProtocolParams" value="<%=inputDataBean.getTreatmentProtocolParams()%>" />
    128 <input type="hidden"name="parameter:extractionProtocolParams" value="<%=inputDataBean.getExtractionProtocolParams()%>" />
    129 <input type="hidden"name="parameter:labelingProtocolParams" value="<%=inputDataBean.getLabelingProtocolParams()%>" />
    130 <input type="hidden"name="parameter:hybridizationProtocolParams" value="<%=inputDataBean.getHybridizationProtocolParams()%>" />
    131 <input type="hidden"name="parameter:scanningProtocolParams" value="<%=inputDataBean.getScanningProtocolParams()%>" />
    132 <input type="hidden"name="parameter:platform" value="<%=inputDataBean.getPlatform()%>" />
    133 <input type="hidden"name="parameter:organism" value="<%=inputDataBean.getOrganism()%>" />
    134 <input type="hidden"name="parameter:numDesigns" value="<%=inputDataBean.getNumDesigns()%>" />
    135 <input type="hidden"name="parameter:dyeSwap" value="<%=inputDataBean.getDyeSwap()%>" />
    136 <input type="hidden"name="parameter:refSample" value="<%=inputDataBean.getRefSample()%>" />
    137 <input type="hidden"name="parameter:numTreatmentGroups" value="<%=inputDataBean.getNumTreatmentGroups()%>" />
    138 <input type="hidden"name="parameter:expFactors" value="<%=inputDataBean.getExpFactors()%>" />
    139 <input type="hidden"name="parameter:numReplicates" value="<%=inputDataBean.getNumReplicates()%>" />
    140 <input type="hidden"name="parameter:tissues" value="<%=inputDataBean.getTissues()%>" />
    141 <input type="hidden"name="parameter:pooling" value="<%=inputDataBean.getPooling()%>" />
    142 <input type="hidden"name="parameter:subjectNames" value="<%=inputDataBean.getSubjectNames()%>" />
    143 <input type="hidden"name="parameter:fileList" value="<%=inputDataBean.getFileList()%>" />
    144 <input type="hidden"name="parameter:subjectList" value="<%=inputDataBean.getSubjectList()%>" />
    145 <input type="hidden"name="parameter:tissueList" value="<%=inputDataBean.getTissueList()%>" />
    146 <input type="hidden"name="parameter:combinationList" value=""/>
    147 <input type="hidden"name="parameter:useWizard" value="<%=inputDataBean.getUseWizard()%>" />
    148 <input type="hidden"name="parameter:legacyData" value="<%=inputDataBean.getLegacyData()%>" />
    149 <input type="hidden"name="parameter:mappingsMode" value="<%=inputDataBean.getMappingsMode()%>" />
    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()%>"/>
    155 
    156120
    157121
     
    172136      <tr class="noBorder" >
    173137     
    174         <td style="vertical-align: middle;border-style: none;"><input type="text" name="path" size="35" value=""></td>
     138        <td style="vertical-align: middle;border-style: none;"><input type="text" name="path" id="path" size="35" value=""></td>
    175139       
    176140        <td  style="vertical-align: middle;border-style: none;">
     
    206170
    207171<p>
    208 
    209   <table align="center" class="noBorder" cellspacing="5"  cellpadding="5">
     172 
     173    <table align="center" class="noBorder" cellspacing="5"  cellpadding="5">
    210174  <tr class="noBorder">
    211     <td id="next" width="50%" style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="submit()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/gonext.gif" border="0"></td><td style="border-style: none;">Submit</td></tr></table></div></div></td>
    212     <td id="close" width="50%" style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="window.close()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/cancel.gif" border="0"></td><td style="border-style: none;">Cancel</td></tr></table></div></div></td>  </tr>
     175    <td id="back"  style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="back()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/goback.gif" border="0"></td><td style="border-style: none;">Back</td></tr></table></div></div></td> 
     176    <td id="next"  style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="submit()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/gonext.gif" border="0"></td><td style="border-style: none;">Next</td></tr></table></div></div></td>
     177    <td id="close"  style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="window.close()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/cancel.gif" border="0"></td><td style="border-style: none;">Cancel</td></tr></table></div></div></td>
     178  </tr>
    213179  </table>
    214180
  • branches/uk_ac_ebi_Tab2MageImporter/jsp/uk/ac/ebi/nugo/plugins/experiment.jsp

    r550 r552  
    3333<link rel="stylesheet" type="text/css" href="/base/include/styles/size_m.css">
    3434
    35 <script>
    36 self.resizeTo(800,900);
     35<script language="JavaScript" >
     36//resize the GUI to give the user more space
     37self.resizeTo(1000,800);
    3738</script>
    3839
     
    7172  function submit()
    7273  {
    73     document.experimentData.submit();
     74      //validate fields have been filled in first
     75      var frm = document.forms['experimentData'];
     76      var formComplete = true;
     77      for (var i=0;i<frm.length;i++)
     78        {
     79            //only selected fields are mandatory in this form
     80           if(frm.elements[i].name=='submissionDate' ||
     81           frm.elements[i].name=='releaseDate' ||
     82           frm.elements[i].name=='submitter' ||
     83           frm.elements[i].name=='organization' ||
     84           frm.elements[i].name=='accession' ||
     85           frm.elements[i].name=='domain')
     86          {
     87            if(frm.elements[i].value == '')
     88            {
     89              formComplete = false;
     90            }
     91          }
     92       }
     93       
     94      if (formComplete == false)
     95      {
     96          alert('Please complete all mandatory fields in this form before proceeding.');
     97      }
     98      else
     99      {
     100        frm.submit();
     101      }
    74102  }
    75103
     
    126154<p>
    127155
    128 Please configure your experiment for upload by answering the questions on this and the following two pages.
     156Please configure your experiment for upload by answering the questions on this and the following pages.
    129157The answers you provide will be used to automatically create a new experiment in BASE and your raw data will be imported
    130158into this. All the associated objects (Hybridizations, Scans, Extracts etc.) will also be created.
    131159<p>
    132160
     161All fields marked with <font color="red"><b>*</b></font> must be completed.
     162<p>
     163
    133164<form name="experimentData" action="<%= request.getContextPath()%>/plugins/uk/ac/ebi/nugo/plugins/protocols.jsp?ID=<%=ID%>" method="post">
    134165<input type="hidden" name="ID" value="<%=ID%>">
     
    139170  <!-- ------------------------------------------------------------------------------------------------------------------------------------------------ -->
    140171  <tr >
    141     <td class="boldText">Domain:</td>
     172    <td class="boldText">Domain:<font color="red"><b>&nbsp;*</b></font></td>
    142173    <td class="input"><input type="text" size="45" name="domain" value="scri.ac.uk" /></td>
    143174    <td class="helpText">The domain tag provides information on the originator of the output MAGE-ML document. This field can contain
     
    147178  <!-- ------------------------------------------------------------------------------------------------------------------------------------------------ -->
    148179  <tr >
    149     <td class="boldText">Array Acession:</td>
     180    <td class="boldText">Array Acession:<font color="red"><b>&nbsp;*</b></font></td>
    150181
    151182    <td class="input">
     
    372403      <td class="input"><textarea rows="4" cols="30"
    373404        name="experimentName"><%=expName%></textarea></td>
    374       <td class="helpText">The name you have chosen for the Experiment.</td>
     405      <td class="helpText">A suitably descriptive name for the Experiment.</td>
    375406    </tr>
    376407
     
    385416    <!-- ------------------------------------------------------------------------------------------------------------------------------------------------ -->
    386417    <tr>
    387       <td class="boldText">Release Date:</td>
     418      <td class="boldText">Release Date:<font color="red"><b>&nbsp;*</b></font></td>
    388419      <td class="input"><input type="text" size="10"
    389420        name="releaseDate" value="2007-05-15" /></td>
     
    392423    <!-- ------------------------------------------------------------------------------------------------------------------------------------------------ -->
    393424    <tr>
    394       <td class="boldText">Submission Date:</td>
     425      <td class="boldText">Submission Date:<font color="red"><b>&nbsp;*</b></font></td>
    395426      <td class="input"><input type="text" size="10"
    396427        name="submissionDate" value="2007-05-30" /></td>
     
    399430    <!-- ------------------------------------------------------------------------------------------------------------------------------------------------ -->
    400431    <tr>
    401       <td class="boldText">Submitter:</td>
     432      <td class="boldText">Submitter:<font color="red"><b>&nbsp;*</b></font></td>
    402433      <td class="input"><input type="text" size="45" name="submitter"
    403434        value="Micha Bayer" /></td>
     
    407438    <!-- ------------------------------------------------------------------------------------------------------------------------------------------------ -->
    408439    <tr>
    409       <td class="boldText">Organization:</td>
     440      <td class="boldText">Organization:<font color="red"><b>&nbsp;*</b></font></td>
    410441      <td class="input"><input type="text" size="45"
    411442        name="organization" value="SCRI" /></td>
     
    424455      <td class="plainLabel" style="border-style: none;">Title:</td>
    425456      <td class="input" style="border-style: none;"><textarea rows="3" cols="30"
    426         name="publicationTitle" >My crazy title</textarea></td>
     457        name="publicationTitle" ></textarea></td>
    427458      <td style="border-style: none;"></td>
    428459    </tr>
     
    485516  <table align="center" class="noBorder" cellspacing="5"  cellpadding="5">
    486517  <tr class="noBorder">
    487     <td id="next" width="50%" style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="submit()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/gonext.gif" border="0"></td><td style="border-style: none;">Next</td></tr></table></div></div></td>
    488     <td id="close" width="50%" style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="window.close()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/cancel.gif" border="0"></td><td style="border-style: none;">Cancel</td></tr></table></div></div></td>  </tr>
     518    <td id="back"  style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="back()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/goback.gif" border="0"></td><td style="border-style: none;">Back</td></tr></table></div></div></td> 
     519    <td id="next"  style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="submit()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/gonext.gif" border="0"></td><td style="border-style: none;">Next</td></tr></table></div></div></td>
     520    <td id="close"  style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="window.close()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/cancel.gif" border="0"></td><td style="border-style: none;">Cancel</td></tr></table></div></div></td>
     521  </tr>
    489522  </table>
    490523
  • branches/uk_ac_ebi_Tab2MageImporter/jsp/uk/ac/ebi/nugo/plugins/hybridizations.jsp

    r550 r552  
    2929  function submit()
    3030  {
    31     document.hybridizations.submit();
     31    //validate fields have been filled in first
     32      var frm = document.forms['hybridizations'];
     33      var formComplete = true;
     34      for (var i=0;i<frm.length;i++)
     35        {
     36           if(frm.elements[i].value == '')
     37          {
     38          formComplete = false;
     39          }
     40       }
     41       
     42      if (formComplete == false)
     43      {
     44          alert('Please complete all fields in this form before proceeding.');
     45      }
     46      else
     47      {
     48        frm.submit();
     49      }
    3250  }
    3351    function getRoot()
     
    106124    }
    107125
     126
    108127   
    109128    </script>
     
    117136
    118137
    119 <form name="hybridizations"action="<%= request.getContextPath()%>/plugins/uk/ac/ebi/nugo/plugins/userchoice2.jsp?ID=<%=ID%>" method="post">
     138<form name="hybridizations"action="<%= request.getContextPath()%>/plugins/uk/ac/ebi/nugo/plugins/userchoice3.jsp?ID=<%=ID%>" method="post" onsubmit="return validate_form(this)">
    120139<input type="hidden" name="ID" value="<%=ID%>">
    121140<input type="hidden" name="cmd" value="SetParameters">
     
    128147
    129148<p>
     149All fields marked with <font color="red"><b>*</b></font> must be completed.
     150<p>
     151
    130152<!--  table with the input form -->
    131153<table cellpadding="15">
     
    133155  <!-- platform -->
    134156  <tr >
    135     <td class="boldText">Microarray platform:</td>
     157    <td class="boldText">Microarray platform:<font color="red"><b>&nbsp;*</b></font></td>
    136158    <td class="input">
    137159    <select name="platform">
     
    155177  <!-- organism -->
    156178  <tr>
    157     <td class="boldText">Experimental organism:</td>
     179    <td class="boldText">Experimental organism:<font color="red"><b>&nbsp;*</b></font></td>
    158180    <td class="input"><input type="text" size="50" name="organism" value="Hordeum vulgare"/></td>
    159181    <td>The full scientific name of the experimental organism used.</td>
     
    162184  <!-- num array designs -->
    163185  <tr>
    164     <td class="boldText">Number of different arrays designs used:</td>
     186    <td class="boldText">Number of different arrays designs used:<font color="red"><b>&nbsp;*</b></font></td>
    165187    <td class="input"><input type="text" size="3" name="numDesigns" value="1"/></td>
    166188    <td>If more than one array design was used in parallel, please specify the number here.
     
    171193  <!-- num treatment grps -->
    172194  <tr>
    173     <td class="boldText">Number of treatment groups:</td>
     195    <td class="boldText">Number of treatment groups:<font color="red"><b>&nbsp;*</b></font></td>
    174196    <td class="input"><input type="text" size="3" name="numTreatmentGroups" value="2"/></td>
    175197    <td>The number of discrete combinations of factor values, i.e. the product of the number of factor levels(values) from all factors. <p>
     
    180202  <!-- exp factors -->
    181203  <tr>
    182     <td class="boldText">Experimental factors:
    183     </td>
     204    <td class="boldText">Experimental factors:<font color="red"><b>&nbsp;*</b></font> </td>
    184205    <td class="input"><textarea rows="7" cols="32" name="expFactors">Strain(mutant,wildtype)</textarea></td>
    185206    <td>Please list all experimental factors and value ranges using the following format (one per
     
    190211    Dose(control,low,medium,high) <br>
    191212    Time(1h,4h,12h,24h)</i>
    192     <p>
    193     <b>IMPORTANT: If your experimental design includes a time series of any sort, the corresponding factor must be called "Time".</b></td>
     213  </td>
    194214  </tr>
    195215
    196216  <!-- num subjects -->
    197217  <tr>
    198     <td class="boldText">Number of subjects per group:</td>
    199     <td class="input"><input type="text" size="3" name="numReplicates" value="2"/></td>
     218    <td class="boldText">Number of subjects per group:<font color="red"><b>&nbsp;*</b></font></td>
     219    <td class="input"><input type="text" size="3" name="numReplicates" value=""/></td>
    200220    <td>This is the number of biological replicates in each treatment group.</td>
    201221  </tr>
     
    203223  <!-- subject labels -->
    204224  <tr>
    205     <td class="boldText">Subject (replicate) labels:</td>
     225    <td class="boldText">Subject (replicate) labels:<font color="red"><b>&nbsp;*</b></font></td>
    206226    <td class="input"><textarea rows="8" cols="32" name="subjectNames"></textarea></td>
    207227    <td>Please provide a list of labels(names) for the experimental subjects, one per line,
     
    211231  <!-- tissues -->
    212232  <tr>
    213     <td class="boldText">Target tissues:</td>
     233    <td class="boldText">Target tissues:<font color="red"><b>&nbsp;*</b></font></td>
    214234    <td class="input"><textarea rows="4" cols="32" name="tissues">stem</textarea></td>
    215235    <td>List all target tissues one per line, in no particular order (copy and paste from Excel works).</td>
     
    219239  <!-- dye swap -->
    220240  <tr id="dyeSwapRow"  style="display:none">
    221     <td class="boldText">Dye-swap</td>
     241    <td class="boldText">Dye-swap?<font color="red"><b>&nbsp;*</b></font></td>
    222242    <td class="input">
    223243    <table class="noBorder" cellpadding="4">
     
    238258  <!-- ref sample -->
    239259  <tr id="refSampleRow"  style="display:none">
    240     <td class="boldText">Reference sample</td>
     260    <td class="boldText">Reference sample?<font color="red"><b>&nbsp;*</b></font></td>
    241261    <td class="input"> 
    242262    <table class="noBorder" cellpadding="4">
     
    257277  <!-- pooling -->
    258278  <tr id="poolingRow"  style="display:none">
    259     <td class="boldText">Sample pooling:</td>
     279    <td class="boldText">Sample pooling?<font color="red"><b>&nbsp;*</b></font></td>
    260280    <td class="input">
    261281    <table class="noBorder" cellpadding="4">
     
    264284        <td class="noBorder">yes</td>
    265285      </tr>
     286
    266287      <tr>
    267288        <td class="noBorder"><input type="radio" name="pooling" value="no" checked="checked"></td>
     
    276297  <!-- file upload -->
    277298  <tr>
    278     <td class="boldText">Zip file:</td>
     299    <td class="boldText">Zip file:<font color="red"><b>&nbsp;*</b></font></td>
    279300
    280301    <td class="input">
     
    314335<p>
    315336
    316   <table align="center" class="noBorder" cellspacing="5"  cellpadding="5">
     337    <table align="center" class="noBorder" cellspacing="5"  cellpadding="5">
    317338  <tr class="noBorder">
    318     <td id="next" width="50%" style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="submit()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/gonext.gif" border="0"></td><td style="border-style: none;">Next</td></tr></table></div></div></td>
    319     <td id="close" width="50%" style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="window.close()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/cancel.gif" border="0"></td><td style="border-style: none;">Cancel</td></tr></table></div></div></td>  </tr>
     339    <td id="back"  style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="back()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/goback.gif" border="0"></td><td style="border-style: none;">Back</td></tr></table></div></div></td> 
     340    <td id="next"  style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="submit()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/gonext.gif" border="0"></td><td style="border-style: none;">Next</td></tr></table></div></div></td>
     341    <td id="close"  style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="window.close()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/cancel.gif" border="0"></td><td style="border-style: none;">Cancel</td></tr></table></div></div></td>
     342  </tr>
    320343  </table>
    321344
  • branches/uk_ac_ebi_Tab2MageImporter/jsp/uk/ac/ebi/nugo/plugins/mappings.jsp

    r550 r552  
    5454  var subjectList = '';
    5555  var tissueList = '';
     56  var dyeList = '';
     57  var combinationList = '';
    5658  var frm = document.forms['mappings'];
    5759  var numElements = frm.elements.length;
     
    200202<p>
    201203
    202 The table below holds a list of all possible factor value combinations used in your experiment.
    203 Please select, for each combination, the appropriate file, subject and tissue from the drop down menu.</p><p>
    204 
    205 <!-- this table holds the combinations of factor values -->
     204The table below allows you to configure your hybridizations as combinations of a subject/sample, tissue and factor values, and to then map them
     205against a file name that corresponds to the hybridization..
     206Please select, for each hybridization, the appropriate file, subject, tissue, factor value combination and -- where appropriate -- dye
     207 from the drop down menus.</p><p>
     208
     209<!-- this table holds the combination values-->
    206210
    207211<table align="center" cellpadding="15">
     
    215219    <td class="header"><h3>Subject</h3></td>
    216220    <td class="header"><h3>Tissue</h3></td>
     221    <%
     222    //don't need a dye selector for single channel expts -- only one dye used
     223    if(!singleChannel)
     224    {
     225     %>
    217226    <td class="header"><h3>Dye</h3></td>
     227    <%
     228    }
     229     %>
     230   
    218231    <td class="header"><h3>Factor Value Combination</h3></td>
    219232
     
    274287    </select></td>
    275288
     289    <%
     290    //don't need a dye selector for single channel expts -- only one dye used
     291    if(!singleChannel)
     292    {
     293     %>
    276294    <!-- select your dye here-->
    277295
     
    294312
    295313    </select></td>
     314    <%
     315    } %>
    296316
    297317    <!-- need a single cell with a select box that lets the user select from a list of unique factor value combinations -->
     
    328348
    329349<p>
    330 
    331   <table align="center" class="noBorder" cellspacing="5"  cellpadding="5">
     350 
     351    <table align="center" class="noBorder" cellspacing="5"  cellpadding="5">
    332352  <tr class="noBorder">
    333     <td id="next" width="50%" style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="submit()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/gonext.gif" border="0"></td><td style="border-style: none;">Start Import</td></tr></table></div></div></td>
    334     <td id="close" width="50%" style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="window.close()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/cancel.gif" border="0"></td><td style="border-style: none;">Cancel</td></tr></table></div></div></td>  </tr>
     353    <td id="back"  style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="back()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/goback.gif" border="0"></td><td style="border-style: none;">Back</td></tr></table></div></div></td> 
     354    <td id="next"  style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="submit()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/gonext.gif" border="0"></td><td style="border-style: none;">Next</td></tr></table></div></div></td>
     355    <td id="close"  style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="window.close()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/cancel.gif" border="0"></td><td style="border-style: none;">Cancel</td></tr></table></div></div></td>
     356  </tr>
    335357  </table>
    336358
  • branches/uk_ac_ebi_Tab2MageImporter/jsp/uk/ac/ebi/nugo/plugins/protocols.jsp

    r550 r552  
    149149
    150150  <tr>
     151    <td class="boldText">Pooling</td>
     152    <td class="input"><textarea rows="8" cols="35" name="poolingProtocol">pooling protocol text</textarea></td>
     153    <td class="input_topaligned"><textarea rows="3" cols="35" name="poolingProtocolParams"></textarea></td>
     154  </tr>
     155
     156  <tr>
    151157    <td class="boldText">Extraction</td>
    152158    <td class="input"><textarea rows="8" cols="35" name="extractionProtocol">extraction protocol text</textarea></td>
     
    175181
    176182<p>
    177   <table align="center" class="noBorder" cellspacing="5"  cellpadding="5">
     183 
     184    <table align="center" class="noBorder" cellspacing="5"  cellpadding="5">
    178185  <tr class="noBorder">
    179     <td id="next" width="50%" style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="submit()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/gonext.gif" border="0"></td><td style="border-style: none;">Next</td></tr></table></div></div></td>
    180     <td id="close" width="50%" style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="window.close()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/cancel.gif" border="0"></td><td style="border-style: none;">Cancel</td></tr></table></div></div></td>  </tr>
     186    <td id="back"  style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="back()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/goback.gif" border="0"></td><td style="border-style: none;">Back</td></tr></table></div></div></td> 
     187    <td id="next"  style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="submit()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/gonext.gif" border="0"></td><td style="border-style: none;">Next</td></tr></table></div></div></td>
     188    <td id="close"  style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="window.close()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/cancel.gif" border="0"></td><td style="border-style: none;">Cancel</td></tr></table></div></div></td>
     189  </tr>
    181190  </table>
    182191
  • branches/uk_ac_ebi_Tab2MageImporter/jsp/uk/ac/ebi/nugo/plugins/spreadsheetdata.jsp

    r550 r552  
    2727function submit()
    2828{
    29   document.spreadSheetMappingsForm.submit();
     29    //validate fields have been filled in first
     30    var frm = document.forms['spreadSheetMappingsForm'];
     31    var formComplete = true;
     32    for (var i=0;i<frm.length;i++)
     33      {
     34         if(frm.elements[i].value == '')
     35        {
     36        formComplete = false;
     37        }
     38     }
     39     
     40    if (formComplete == false)
     41    {
     42        alert('Please provide your mappings before proceeding.');
     43    }
     44    else
     45    {
     46      frm.submit();
     47    }
    3048}
    3149
     
    6179</p>
    6280
    63 
    64 
    65   <table align="center" class="noBorder" cellspacing="5"  cellpadding="5">
     81    <table align="center" class="noBorder" cellspacing="5"  cellpadding="5">
    6682  <tr class="noBorder">
    67     <td id="next" width="50%" style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="submit()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/gonext.gif" border="0"></td><td style="border-style: none;">Submit</td></tr></table></div></div></td>
    68     <td id="close" width="50%" style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="window.close()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/cancel.gif" border="0"></td><td style="border-style: none;">Cancel</td></tr></table></div></div></td>  </tr>
     83    <td id="back"  style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="back()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/goback.gif" border="0"></td><td style="border-style: none;">Back</td></tr></table></div></div></td> 
     84    <td id="next"  style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="submit()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/gonext.gif" border="0"></td><td style="border-style: none;">Next</td></tr></table></div></div></td>
     85    <td id="close"  style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="window.close()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/cancel.gif" border="0"></td><td style="border-style: none;">Cancel</td></tr></table></div></div></td>
     86  </tr>
    6987  </table>
    7088 
  • branches/uk_ac_ebi_Tab2MageImporter/jsp/uk/ac/ebi/nugo/plugins/styles.css

    r528 r552  
    6464  vertical-align: middle;
    6565  text-align: left;
    66   align: left;
     66  align: center;
    6767  background-color: rgb(240, 240, 240);
    6868  padding: 10px;
  • branches/uk_ac_ebi_Tab2MageImporter/jsp/uk/ac/ebi/nugo/plugins/submit.jsp

    r550 r552  
    3434<p>
    3535
    36 Please review the values you have entered and click 'Submit'.
     36Please review the values you have entered and click 'Submit' if you are happy with them -- otherwise you can use the Back button to
     37navigate to earlier pages.
    3738<p>
    3839
     
    5051  String ID = sc.getId();
    5152  String requestId = request.getParameter("requestId");
     53 
     54 
     55  //if the user has gone for the option of submitting with an existing tab2mage file they will have gone through the configureImporter.jsp page
     56  //there, the path to the zip file is set but it is done by Javascript and hence we can only pick it up here
     57  //just get the param and set it in the bean here
     58  String zipFilePath = request.getParameter("path");
     59  if(zipFilePath != null)
     60  {
     61    inputDataBean.setPath(zipFilePath);
     62  }
    5263
    5364  String [] paramNames = new String []{"domain","accession","qualityControl","experimentalDesign",
    5465    "experimentName","description","releaseDate","submissionDate","submitter","organization",
    55     "publicationTitle","authors","journal","volume","issue","pages","year","pubmedId","treatmentProtocol",
     66    "publicationTitle","authors","journal","volume","issue","pages","year","pubmedId","treatmentProtocol","poolingProtocol",
    5667    "extractionProtocol","labelingProtocol","hybridizationProtocol","scanningProtocol",
    57     "treatmentProtocolParams","extractionProtocolParams","labelingProtocolParams",
     68    "treatmentProtocolParams","poolingProtocolParams","extractionProtocolParams","labelingProtocolParams",
    5869    "hybridizationProtocolParams","scanningProtocolParams","platform","organism",
    5970    "numDesigns","dyeSwap","refSample","numTreatmentGroups","expFactors","numReplicates",
     
    6273    String [] friendlyNames = new String []{"Domain","Accession","Quality Control","Experimental Design",
    6374    "Experiment Name","Description","Release Date","Submission Date","Submitter","Organization",
    64     "Publication Title","Authors","Journal","Volume","Issue","Pages","Year","Pubmed ID","Treatment Protocol",
     75    "Publication Title","Authors","Journal","Volume","Issue","Pages","Year","Pubmed ID","Treatment Protocol", "Pooling Protocol",
    6576    "Extraction Protocol","Labeling Protocol","Hybridization Protocol","Scanning Protocol",
    66     "Treatment Protocol Parameters","Extraction Protocol Parameters","Labeling Protocol Parameters",
     77    "Treatment Protocol Parameters","Pooling Protocol Parameters", "Extraction Protocol Parameters","Labeling Protocol Parameters",
    6778    "Hybridization Protocol Parameters","Scanning Protocol Parameters","Platform","Organism",
    6879    "Number of Array Designs","Dye Swap","Reference Sample","Number of Treatment Groups","Experimental Factors","Number of Replicates per Group",
     
    121132<input type="hidden"name="parameter:experimentId" value="<%=inputDataBean.getExperimentId()%>" />
    122133<input type="hidden"name="parameter:treatmentProtocol" value="<%=inputDataBean.getTreatmentProtocol()%>" />
     134<input type="hidden"name="parameter:poolingProtocol" value="<%=inputDataBean.getPoolingProtocol()%>" />
    123135<input type="hidden"name="parameter:extractionProtocol" value="<%=inputDataBean.getExtractionProtocol()%>" />
    124136<input type="hidden"name="parameter:labelingProtocol" value="<%=inputDataBean.getLabelingProtocol()%>" />
     
    126138<input type="hidden"name="parameter:scanningProtocol" value="<%=inputDataBean.getScanningProtocol()%>" />
    127139<input type="hidden"name="parameter:treatmentProtocolParams" value="<%=inputDataBean.getTreatmentProtocolParams()%>" />
     140<input type="hidden"name="parameter:poolingProtocolParams" value="<%=inputDataBean.getPoolingProtocolParams()%>" />
    128141<input type="hidden"name="parameter:extractionProtocolParams" value="<%=inputDataBean.getExtractionProtocolParams()%>" />
    129142<input type="hidden"name="parameter:labelingProtocolParams" value="<%=inputDataBean.getLabelingProtocolParams()%>" />
     
    161174
    162175<p>
     176
    163177  <table align="center" class="noBorder" cellspacing="5"  cellpadding="5">
    164178  <tr class="noBorder">
    165     <td id="next" width="50%" style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="submit()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/gonext.gif" border="0"></td><td style="border-style: none;">Submit</td></tr></table></div></div></td>
    166     <td id="close" width="50%" style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="window.close()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/cancel.gif" border="0"></td><td style="border-style: none;">Cancel</td></tr></table></div></div></td>  </tr>
     179    <td id="back"  style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="back()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/goback.gif" border="0"></td><td style="border-style: none;">Back</td></tr></table></div></div></td> 
     180    <td id="next"  style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="submit()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/gonext.gif" border="0"></td><td style="border-style: none;">Submit</td></tr></table></div></div></td>
     181    <td id="close"  style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="window.close()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/cancel.gif" border="0"></td><td style="border-style: none;">Cancel</td></tr></table></div></div></td>
     182  </tr>
    167183  </table>
    168 
    169184
    170185</body>
  • branches/uk_ac_ebi_Tab2MageImporter/jsp/uk/ac/ebi/nugo/plugins/userchoice1.jsp

    r550 r552  
    4040    form.action="<%= request.getContextPath()%>/plugins/uk/ac/ebi/nugo/plugins/experiment.jsp?ID=<%=ID%>";
    4141  }
    42 
    43   //submit the form
    44   form.submit();
     42 
     43  //check that a value has been selected
     44  if (!document.getElementById("useWizardYes").checked &&
     45  !document.getElementById("useWizardNo").checked)
     46  {
     47      alert('You must choose a value before proceeding.');
     48  }
     49  else
     50  {
     51    form.submit();
     52  }
    4553}
    4654
     
    8593
    8694</form>
    87 
    88   <table align="center" class="noBorder" cellspacing="5"  cellpadding="5">
     95 
     96    <table align="center" class="noBorder" cellspacing="5"  cellpadding="5">
    8997  <tr class="noBorder">
    90     <td id="next" width="50%" style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="submit()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/gonext.gif" border="0"></td><td style="border-style: none;">Next</td></tr></table></div></div></td>
    91     <td id="close" width="50%" style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="window.close()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/cancel.gif" border="0"></td><td style="border-style: none;">Cancel</td></tr></table></div></div></td>  </tr>
     98    <td id="back"  style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="back()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/goback.gif" border="0"></td><td style="border-style: none;">Back</td></tr></table></div></div></td> 
     99    <td id="next"  style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="submit()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/gonext.gif" border="0"></td><td style="border-style: none;">Next</td></tr></table></div></div></td>
     100    <td id="close"  style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="window.close()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/cancel.gif" border="0"></td><td style="border-style: none;">Cancel</td></tr></table></div></div></td>
     101  </tr>
    92102  </table>
    93103
  • branches/uk_ac_ebi_Tab2MageImporter/jsp/uk/ac/ebi/nugo/plugins/userchoice2.jsp

    r550 r552  
    5555  }
    5656 
    57 
    58   //submit the form
    59   form.submit();
     57  //check that a value has been selected
     58  if (!document.getElementById("legacyDataYes").checked &&
     59  !document.getElementById("legacyDataNo").checked)
     60  {
     61      alert('You must choose a value before proceeding.');
     62  }
     63  else
     64  {
     65    form.submit();
     66  }
    6067}
    6168
     
    100107
    101108</form>
    102 
    103   <table align="center" class="noBorder" cellspacing="5"  cellpadding="5">
     109 
     110    <table align="center" class="noBorder" cellspacing="5"  cellpadding="5">
    104111  <tr class="noBorder">
    105     <td id="next" width="50%" style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="submit()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/gonext.gif" border="0"></td><td style="border-style: none;">Next</td></tr></table></div></div></td>
    106     <td id="close" width="50%" style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="window.close()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/cancel.gif" border="0"></td><td style="border-style: none;">Cancel</td></tr></table></div></div></td>  </tr>
     112    <td id="back"  style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="back()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/goback.gif" border="0"></td><td style="border-style: none;">Back</td></tr></table></div></div></td> 
     113    <td id="next"  style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="submit()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/gonext.gif" border="0"></td><td style="border-style: none;">Next</td></tr></table></div></div></td>
     114    <td id="close"  style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="window.close()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/cancel.gif" border="0"></td><td style="border-style: none;">Cancel</td></tr></table></div></div></td>
     115  </tr>
    107116  </table>
    108117
  • branches/uk_ac_ebi_Tab2MageImporter/jsp/uk/ac/ebi/nugo/plugins/userchoice3.jsp

    r550 r552  
    4040  }
    4141
    42   //submit the form
    43   form.submit();
     42  //check that a value has been selected
     43  if (!document.getElementById("mappingsModeManual").checked &&
     44  !document.getElementById("mappingsModePaste").checked)
     45  {
     46      alert('You must choose a value before proceeding.');
     47  }
     48  else
     49  {
     50    form.submit();
     51  }
    4452}
    4553
     
    8694</form>
    8795
     96
    8897  <table align="center" class="noBorder" cellspacing="5"  cellpadding="5">
    8998  <tr class="noBorder">
    90     <td id="next" width="50%" style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="submit()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/gonext.gif" border="0"></td><td style="border-style: none;">Next</td></tr></table></div></div></td>
    91     <td id="close" width="50%" style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="window.close()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/cancel.gif" border="0"></td><td style="border-style: none;">Cancel</td></tr></table></div></div></td>  </tr>
     99    <td id="back"  style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="back()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/goback.gif" border="0"></td><td style="border-style: none;">Back</td></tr></table></div></div></td> 
     100    <td id="next"  style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="submit()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/gonext.gif" border="0"></td><td style="border-style: none;">Next</td></tr></table></div></div></td>
     101    <td id="close"  style="border-style: none;"><div class="buttons" onmouseover="this.className='buttons_hover';" onmouseout="this.className='buttons';" onclick="window.close()"><div class="buttons_inner"><table  class="noBorder" cellspacing="0" cellpadding="0"><tr  class="noBorder"><td style="border-style: none;"><img src="/base/images/cancel.gif" border="0"></td><td style="border-style: none;">Cancel</td></tr></table></div></div></td>
     102  </tr>
    92103  </table>
    93 
    94104
    95105</body>
  • branches/uk_ac_ebi_Tab2MageImporter/src/uk/ac/ebi/nugo/plugins/DataBean.java

    r550 r552  
    3434  public String hybridizationProtocolParams;
    3535  public String scanningProtocolParams;
     36  public String poolingProtocol;
     37  public String poolingProtocolParams;
    3638  public String platform;
    3739  public String organism;
     
    523525    this.dyeList = dyeList;
    524526  }
     527
     528  public String getPoolingProtocol()
     529  {
     530    return poolingProtocol;
     531  }
     532
     533  public void setPoolingProtocol(String poolingProtocol)
     534  {
     535    this.poolingProtocol = poolingProtocol;
     536  }
     537
     538  public String getPoolingProtocolParams()
     539  {
     540    return poolingProtocolParams;
     541  }
     542
     543  public void setPoolingProtocolParams(String poolingProtocolParams)
     544  {
     545    this.poolingProtocolParams = poolingProtocolParams;
     546  }
    525547 
    526548 
  • branches/uk_ac_ebi_Tab2MageImporter/src/uk/ac/ebi/nugo/plugins/HybridizationEntry.java

    r550 r552  
    1 package uk.ac.ebi.nugo.plugins;
     1 package uk.ac.ebi.nugo.plugins;
    22
    33public class HybridizationEntry
     
    4141    String fileName = fileNames[count];
    4242    String tissue = tissueNames[count];
    43     String dyeName = dyeNames[count];
     43    String dyeName;
     44    if(singleChannel)
     45    {
     46      dyeName = "biotin";
     47    }
     48    else
     49    {
     50      dyeName = dyeNames[count];
     51    }
    4452
    4553    // file count first
  • branches/uk_ac_ebi_Tab2MageImporter/src/uk/ac/ebi/nugo/plugins/Tab2MageImporter.java

    r550 r552  
    66package uk.ac.ebi.nugo.plugins;
    77
    8 import java.io.BufferedWriter;
    98import java.io.IOException;
    109import java.io.InputStream;
    11 import java.io.OutputStreamWriter;
    12 import java.io.Writer;
    1310import java.util.Arrays;
    1411import java.util.Calendar;
     
    2219
    2320import net.sf.basedb.core.BaseException;
    24 import net.sf.basedb.core.BooleanParameterType;
    2521import net.sf.basedb.core.DbControl;
    2622import net.sf.basedb.core.Directory;
     
    5450import uk.ac.ebi.nugo.plugins.tab2mageimport.io.Tab2MageExperimentWriter;
    5551import uk.ac.ebi.nugo.plugins.tab2mageimport.io.Tab2MageWriterFactory;
    56 import uk.ac.ebi.nugo.plugins.tab2mageimport.mail.Tab2MageEMessaging;
    5752import uk.ac.ebi.nugo.plugins.tab2mageimport.validation.Tab2MageValidationFactory;
    5853import uk.ac.ebi.nugo.plugins.util.tab2mage.Tab2MageHelper;
     
    9489    "experimentName","description","releaseDate","submissionDate","submitter","organization",
    9590    "publicationTitle","authors","journal","volume","issue","pages","year","pubmedId","treatmentProtocol",
    96     "extractionProtocol","labelingProtocol","hybridizationProtocol","scanningProtocol",
    97     "treatmentProtocolParams","extractionProtocolParams","labelingProtocolParams",
     91    "poolingProtocol","extractionProtocol","labelingProtocol","hybridizationProtocol","scanningProtocol",
     92    "treatmentProtocolParams","poolingProtocolParams","extractionProtocolParams","labelingProtocolParams",
    9893    "hybridizationProtocolParams","scanningProtocolParams","platform","organism",
    9994    "numDesigns","dyeSwap","refSample","numTreatmentGroups","expFactors","numReplicates",
  • branches/uk_ac_ebi_Tab2MageImporter/src/uk/ac/ebi/nugo/plugins/Tab2MageWriter.java

    r550 r552  
    3131  String [] dyeNames;
    3232  String [][] combinations;
     33  String[][] cartesianProduct;
     34  String[][] factorValues;
    3335
    3436  public String experimentId;
     
    5254  public String pubmedId;
    5355  public String treatmentProtocol;
     56  public String poolingProtocol;
    5457  public String extractionProtocol;
    5558  public String labelingProtocol;
     
    5760  public String scanningProtocol;
    5861  public String treatmentProtocolParams;
     62  public String poolingProtocolParams;
    5963  public String extractionProtocolParams;
    6064  public String labelingProtocolParams;
     
    189193    String[] rawFactors = expFactors.split("\n");
    190194
    191     String[][] factorValues = new String[rawFactors.length][];
     195    factorValues = new String[rawFactors.length][];
    192196    factorNames = new String[rawFactors.length];
    193197    numFactors = factorNames.length;
     
    200204      //extract the possible values from between the parentheses
    201205      String allValues = rawFactors[i].substring(rawFactors[i].indexOf("(") + 1,
    202       rawFactors[i].indexOf(")"));
     206              rawFactors[i].indexOf(")"));
    203207      String[] values = allValues.split(",");
    204208      factorValues[i] = values;
     
    208212    return CartesianProduct.getCartesianProduct(factorValues); 
    209213  }
    210  
     214
    211215  // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    212  
     216
    213217  private void initArrays()
    214218  {
     
    275279    if(legacyData.equals("no"))
    276280    {
    277       //get all possible factor value combinations
    278       String[][] cartesianProduct = makeFactorValueCombinations();
    279      
    280       //init the arrays needed here
    281       fileNames = new String [numHybs];
    282       subjectNames = new String [numHybs];
    283       tissueNames = new String [numHybs];
    284       dyeNames = new String [numHybs];
    285       combinations = new String [numHybs][];
    286      
    287       if(singleChannel)
    288       {
    289         int numSubjects = Integer.parseInt(numReplicates);
    290         String[] allTissues = tissues.split(",");
    291         int numGroups = Integer.parseInt(numTreatmentGroups);
    292         int numArrayDesigns = Integer.parseInt(numDesigns);
    293 
    294         /* if no pooling, iterate through
     281      initAutoGenerateSettings();
     282    }
     283  }
     284
     285  // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     286
     287
     288  private void initAutoGenerateSettings()
     289  {
     290
     291    //get all possible factor value combinations
     292    cartesianProduct = makeFactorValueCombinations();
     293
     294    //init the arrays needed here
     295    fileNames = new String [numHybs];
     296    subjectNames = new String [numHybs];
     297    tissueNames = new String [numHybs];
     298    dyeNames = new String [numHybs];
     299    combinations = new String [numHybs][];
     300
     301    int numSubjects = Integer.parseInt(numReplicates);
     302    String[] allTissues = tissues.split(",");
     303    int numGroups = Integer.parseInt(numTreatmentGroups);
     304    int numArrayDesigns = Integer.parseInt(numDesigns);
     305
     306
     307    /* if no pooling, iterate through
    295308        Number of ArrayDesigns
    296309        Number of Study Groups
    297310        Number of Subject per Study group
    298311        Number of tissues per Subject
    299          */
    300         if(pooling.equals("no"))
    301         {
    302           int hybCount =0;
    303           // for each treatment group i.e. factor value combination
    304           for (int i = 0; i < numGroups; i++)
     312     */
     313    if(pooling.equals("no"))
     314    {
     315      //the number of times we have to print the block of data below
     316      //with dual channel platforms we have to print each block (row) twice
     317      int numPrintRepeats = 0;
     318      if (singleChannel)
     319      {     
     320        numPrintRepeats = 1;
     321      }
     322      else
     323      {
     324        if(dyeSwap.equals("yes"))
     325        {
     326          numPrintRepeats = 2;
     327        }
     328        else
     329        {
     330          numPrintRepeats = 1;
     331        }
     332       
     333      }
     334     
     335      int hybCount =0;
     336      // for each treatment group i.e. factor value combination
     337      for(int a = 0; a< numArrayDesigns; a++)
     338      {
     339        for (int i = 0; i < numGroups; i++)
     340        {
     341          // for each subject within each group i.e. biological replicate within each factor value combination
     342          for (int j = 0; j < numSubjects; j++)
    305343          {
    306             // for each subject within each group i.e. biological replicate within each factor value combination
    307             for (int j = 0; j < numSubjects; j++)
     344            // for each target tissue for this subject
     345            for (int k = 0; k < allTissues.length; k++)
    308346            {
    309               // for each target tissue for this subject
    310               for (int k = 0; k < allTissues.length; k++)
     347              for(int r = 0; r< numPrintRepeats; r++)
    311348              {
    312                 //init file names
    313349                fileNames[hybCount] = "file" + hybCount;
    314                 //init subject names
    315350                subjectNames[hybCount] = "subject" + hybCount;
    316                 //init dye names
    317                 dyeNames[hybCount] = "biotin";
    318                 //init tissue names
     351                if(singleChannel)
     352                {
     353                  dyeNames[hybCount] = "biotin";
     354                }
     355                if(!singleChannel && r==0)
     356                {
     357                  dyeNames[hybCount] = "Cy3";
     358                }
     359                if(!singleChannel && r==1)
     360                {
     361                  dyeNames[hybCount] = "Cy5";
     362                }
    319363                tissueNames[hybCount] = allTissues[k];
    320                 //init factor value combinations
     364                //print all factor values
    321365                for(int n=0; n< numFactors; n++)
    322366                {
     
    329373          }
    330374        }
    331         /* if pooling, iterate through
     375      }
     376//      TODO:  with pooling
     377      /* if pooling, iterate through
    332378        Number of ArrayDesigns
    333379        Number of Study Groups
    334380        Number of tissues per Subject
    335          */
    336         else
    337         {
    338          
    339         }
    340       }
    341 
    342     }
    343   }
    344 
    345 
    346 
    347 
    348   // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     381       */       
     382    }
     383    //dual channel platforms
     384    else
     385    {
     386      /*
     387      If (Ref=yes) then
     388
     389      for each treatment group TGk
     390        for each subject in the group
     391        create a sample(subject) Si(TGk)
     392          create 2 hybridizations where Le1.Si(TGk) gets Dye1 and Le1.Ref gets Dye2
     393          IF (Dye-swap = yes)
     394            create dye swap hyb where where Le2. Si(TGk)gets Dye2 and Le2. Ref get Dye1
     395
     396       */     
     397
     398      /*
     399      If (Ref=no) then
     400
     401      for each treatment group TGk
     402        create a sample Si(TGk)
     403        create a sample Sj(CG) in the control group
     404        create first hybridization where Le1.Si(TGk) gets Dye1 and Le1. Sj(CG) get Dye2
     405          if (Dye-swap = yes)
     406          create dye swap hyb where where Le2. Si(TGk)gets Dye2 and Le2. Sj(CG) get Dye1
     407       */
     408
     409
     410
     411
     412
     413    }
     414
     415  }
     416
     417//  -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    349418
    350419  public String generateFileContents()
     
    356425  }
    357426
    358   // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     427//  -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    359428
    360429  private void makeExperimentSection()
     
    382451  }
    383452
    384   // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     453//  -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    385454
    386455  private void makeProtocolSection()
     
    421490  }
    422491
    423   // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     492//  -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    424493
    425494  public String makeHybridizationsSection()
     
    427496    //work out the number of hybridizations
    428497    calcNumHybs();
     498   
     499    //initialise the factors
     500    makeFactorValueCombinations();
    429501
    430502    //work out whether this is a single or dual channel experiment
     
    491563
    492564
    493   // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     565//  -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    494566
    495567  public void writeTab2MageFile()
     
    528600  }
    529601
    530   // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     602//  -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    531603
    532604  public void writeStatusFile()
     
    560632
    561633
    562   // -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     634//  -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    563635
    564636}// end class
  • branches/uk_ac_ebi_Tab2MageImporter/src/uk/ac/ebi/nugo/plugins/Tab2MageWriterTest.java

    r550 r552  
    1616  {
    1717    //org.junit.runner.JUnitCore.main("uk.ac.ebi.nugo.plugins.Tab2MageWriterTest");
    18     //test0();
     18    test0();
    1919    //test1();
    20     test2();
     20    //test2();
     21    //test3();
    2122  }
    2223
     
    132133//  ----------------------------------------------------------------------------------------------------------------------
    133134
     135  //auto generate required
     136  public static void test3()
     137  {
     138    /*
     139    ArrayExpress Accession Number CacoVitE Inserm
     140    platform  Agilent
     141    number of array designs 1
     142    dyeswap yes/no  yes
     143    refSample yes/no  no
     144    number of treatment groups  2
     145    experimental factors list Dose(90µM,physiological concentration); Compound(alpha-tocopherol,gamma-tocopheral)
     146    number of replicates within groups  2
     147    list of tissues used  enterocyte cell culture
     148    pooling yes/no  no
     149    Total number of Hybs/datafiles  8
     150    */
    134151
     152    Tab2MageWriter writer = new Tab2MageWriter();
     153
     154    System.out.println("======================START TEST3============================");
     155    writer.legacyData = "no";
     156    writer.platform = "Agilent";
     157    writer.organism = "Home sapiens";
     158    writer.accession = "CacoVitE Inserm";
     159    writer.numDesigns = "1";
     160    writer.dyeSwap = "yes";
     161    writer.refSample = "no";
     162    writer.numTreatmentGroups = "4";
     163    writer.expFactors = "Dose(90microM,physiological concentration)\nCompound(alpha-tocopherol,gamma-tocopheral)";
     164    writer.numReplicates = "2";
     165    writer.tissues = "enterocyte_cell_culture";
     166    writer.pooling = "no";
     167
     168    String hybSection = writer.makeHybridizationsSection();
     169    System.out.println("hybs section = \n\n" + hybSection);
     170    System.out.println("======================END TEST3======================");
     171  }
     172 
     173//  ----------------------------------------------------------------------------------------------------------------------
     174 
    135175}//end class
Note: See TracChangeset for help on using the changeset viewer.