extensions/net.sf.basedb.reggie/trunk/resources/sampleproc/rnaqc_plate_import.jsp

Code
Comments
Other
Rev Date Author Line
1546 02 Mar 12 nicklas 1 <%@ page
1546 02 Mar 12 nicklas 2   pageEncoding="UTF-8"
1546 02 Mar 12 nicklas 3   session="false"
1546 02 Mar 12 nicklas 4   import="net.sf.basedb.core.User"
1546 02 Mar 12 nicklas 5   import="net.sf.basedb.core.DbControl"
1546 02 Mar 12 nicklas 6   import="net.sf.basedb.core.SessionControl"
1546 02 Mar 12 nicklas 7   import="net.sf.basedb.core.Application"
1546 02 Mar 12 nicklas 8   import="net.sf.basedb.clients.web.Base"  
1546 02 Mar 12 nicklas 9   import="net.sf.basedb.clients.web.util.HTML"  
1546 02 Mar 12 nicklas 10   import="net.sf.basedb.clients.web.extensions.ExtensionsControl"
1546 02 Mar 12 nicklas 11 %>
1546 02 Mar 12 nicklas 12 <%@ taglib prefix="base" uri="/WEB-INF/base.tld" %>
1546 02 Mar 12 nicklas 13 <%@ taglib prefix="p" uri="/WEB-INF/path.tld" %>
1546 02 Mar 12 nicklas 14 <%
3976 26 May 16 nicklas 15 final SessionControl sc = Base.getExistingSessionControl(request, "net.sf.basedb.reggie", true);
1546 02 Mar 12 nicklas 16 final String ID = sc.getId();
1546 02 Mar 12 nicklas 17 final float scale = Base.getScale(sc);
1546 02 Mar 12 nicklas 18 final String home = ExtensionsControl.getHomeUrl("net.sf.basedb.reggie");
1546 02 Mar 12 nicklas 19 DbControl dc = null;
1546 02 Mar 12 nicklas 20 try
1546 02 Mar 12 nicklas 21 {
1546 02 Mar 12 nicklas 22   dc = sc.newDbControl();
1546 02 Mar 12 nicklas 23   final User user = User.getById(dc, sc.getLoggedInUserId());
1546 02 Mar 12 nicklas 24 %>
1546 02 Mar 12 nicklas 25 <base:page type="default" >
2698 25 Sep 14 nicklas 26 <base:head 
2698 25 Sep 14 nicklas 27   scripts="~../reggie-2.js,~rnaqc_plate_import.js" 
3555 21 Oct 15 nicklas 28   styles="path.css,~../css/reggie-2.css,~../css/plate.css"
3555 21 Oct 15 nicklas 29 >
3555 21 Oct 15 nicklas 30 <style>
3555 21 Oct 15 nicklas 31 .well
3555 21 Oct 15 nicklas 32 {
3555 21 Oct 15 nicklas 33   height: 30px;
3555 21 Oct 15 nicklas 34   max-height: 30px;
3555 21 Oct 15 nicklas 35   min-height: 30px;
3555 21 Oct 15 nicklas 36   width: 35px;
3555 21 Oct 15 nicklas 37   max-width: 35px;
3555 21 Oct 15 nicklas 38   min-width: 35px;
3555 21 Oct 15 nicklas 39   font-weight: bold;
3555 21 Oct 15 nicklas 40   font-size: 75%;
3555 21 Oct 15 nicklas 41   vertical-align: middle;
3555 21 Oct 15 nicklas 42   text-align: center;
3555 21 Oct 15 nicklas 43   color: #C0C0C0;
3555 21 Oct 15 nicklas 44 }
3555 21 Oct 15 nicklas 45
3555 21 Oct 15 nicklas 46 .well.empty
3555 21 Oct 15 nicklas 47 {
3555 21 Oct 15 nicklas 48   background-color: #E0E0E0;
3555 21 Oct 15 nicklas 49   pointer-events: none;
3555 21 Oct 15 nicklas 50 }
3555 21 Oct 15 nicklas 51
3555 21 Oct 15 nicklas 52 .well.has-extra
3555 21 Oct 15 nicklas 53 {
3555 21 Oct 15 nicklas 54   color: #000000;
3555 21 Oct 15 nicklas 55   background: #FFF066;
3555 21 Oct 15 nicklas 56 }
3555 21 Oct 15 nicklas 57
3555 21 Oct 15 nicklas 58
3555 21 Oct 15 nicklas 59 </style>
3555 21 Oct 15 nicklas 60 </base:head>
2698 25 Sep 14 nicklas 61 <base:body>
1994 23 May 13 nicklas 62
1546 02 Mar 12 nicklas 63   <p:path><p:pathelement 
1915 21 Mar 13 nicklas 64     title="Reggie" href="<%="../index.jsp?ID="+ID%>" 
1546 02 Mar 12 nicklas 65     /><p:pathelement title="RNA quality control - Import Caliper results" 
1546 02 Mar 12 nicklas 66     /></p:path>
1546 02 Mar 12 nicklas 67
1546 02 Mar 12 nicklas 68   <div class="content">
1546 02 Mar 12 nicklas 69
2698 25 Sep 14 nicklas 70   <form name="reggie" id="wizard" class="wizard">
1546 02 Mar 12 nicklas 71     <input type="hidden" name="csv.id" value="">
1561 15 Mar 12 nicklas 72     <input type="hidden" name="gxd.std.id" value="">
1561 15 Mar 12 nicklas 73     <input type="hidden" name="gxd.hi.id" value="">
1546 02 Mar 12 nicklas 74     <input type="hidden" name="pdf.id" value="">
1546 02 Mar 12 nicklas 75   
2698 25 Sep 14 nicklas 76   <!-- 1. Select files -->
2698 25 Sep 14 nicklas 77   <div class="step" id="step-1">
2698 25 Sep 14 nicklas 78     <div class="step-no">1</div>
2698 25 Sep 14 nicklas 79     <div class="step-title">Select data files</div>
2698 25 Sep 14 nicklas 80     <div class="step-content">
2698 25 Sep 14 nicklas 81
2698 25 Sep 14 nicklas 82       <table class="step-form">
3555 21 Oct 15 nicklas 83       <tr class="section-header">
3555 21 Oct 15 nicklas 84         <td colspan="4">Files</td>
3555 21 Oct 15 nicklas 85       </tr>
3555 21 Oct 15 nicklas 86       <tr class="align-middle">
3555 21 Oct 15 nicklas 87         <td class="subprompt">Well table CSV</td>
1546 02 Mar 12 nicklas 88         <td class="input">
2698 25 Sep 14 nicklas 89           <table style="width: 100%;">
2698 25 Sep 14 nicklas 90           <tr>
2698 25 Sep 14 nicklas 91           <td>
2698 25 Sep 14 nicklas 92             <input class="text required" type="text" name="csv" id="csv" 
2698 25 Sep 14 nicklas 93               data-subtype="CALIPER_WELL_TABLE" data-name-filter="%.csv"
2698 25 Sep 14 nicklas 94               data-directory="/home/SCANB/RNAQC"
2698 25 Sep 14 nicklas 95             >
2698 25 Sep 14 nicklas 96           </td>
2698 25 Sep 14 nicklas 97           <td style="padding-left: 4px; width: 7em;">
2698 25 Sep 14 nicklas 98             <base:button 
2698 25 Sep 14 nicklas 99               title="Browse&hellip;"
2698 25 Sep 14 nicklas 100               id="csv.btn"
2698 25 Sep 14 nicklas 101             />
2698 25 Sep 14 nicklas 102           </td>
2698 25 Sep 14 nicklas 103           </tr>
2698 25 Sep 14 nicklas 104           </table>
1546 02 Mar 12 nicklas 105         </td>
1546 02 Mar 12 nicklas 106         <td class="status" id="csv.status"></td>
2698 25 Sep 14 nicklas 107         <td class="help">
2698 25 Sep 14 nicklas 108           <span id="csv.message" class="message"></span>
1561 15 Mar 12 nicklas 109           Select the <b>Well Table CSV file</b> that contains the exported analysis result from the
1546 02 Mar 12 nicklas 110           Caliper software.
1546 02 Mar 12 nicklas 111         </td>
1546 02 Mar 12 nicklas 112       </tr>
2698 25 Sep 14 nicklas 113       
3555 21 Oct 15 nicklas 114       <tr class="align-middle">
3555 21 Oct 15 nicklas 115         <td class="subprompt">GXD standard</td>
1546 02 Mar 12 nicklas 116         <td class="input">
2698 25 Sep 14 nicklas 117           <table style="width: 100%;">
2698 25 Sep 14 nicklas 118           <tr>
2698 25 Sep 14 nicklas 119           <td>
2698 25 Sep 14 nicklas 120             <input class="text" type="text" name="gxdstd" id="gxdstd" 
2698 25 Sep 14 nicklas 121               data-subtype="CALIPER_RAW_DATA" data-name-filter="%.gxd"
2698 25 Sep 14 nicklas 122               data-directory="/home/SCANB/RNAQC"
2698 25 Sep 14 nicklas 123             >
2698 25 Sep 14 nicklas 124           </td>
2698 25 Sep 14 nicklas 125           <td style="padding-left: 4px; width: 7em;">
2698 25 Sep 14 nicklas 126             <base:button 
2698 25 Sep 14 nicklas 127               title="Browse&hellip;"
2698 25 Sep 14 nicklas 128               id="gxdstd.btn"
2698 25 Sep 14 nicklas 129             />
2698 25 Sep 14 nicklas 130           </td>
2698 25 Sep 14 nicklas 131           </tr>
2698 25 Sep 14 nicklas 132           </table>    
1546 02 Mar 12 nicklas 133         </td>
2698 25 Sep 14 nicklas 134         <td class="status" id="gxdstd.status"></td>
2698 25 Sep 14 nicklas 135         <td class="help">
2698 25 Sep 14 nicklas 136           <span id="gxdstd.message" class="message"></span>
1561 15 Mar 12 nicklas 137           Select the <b>Standard GXD file</b> that contains the raw data.
1546 02 Mar 12 nicklas 138         </td>
1546 02 Mar 12 nicklas 139       </tr>
3555 21 Oct 15 nicklas 140       <tr class="align-middle">
3555 21 Oct 15 nicklas 141         <td class="subprompt">GXD high sense</td>
1561 15 Mar 12 nicklas 142         <td class="input">
2698 25 Sep 14 nicklas 143           <table style="width: 100%;">
2698 25 Sep 14 nicklas 144           <tr>
2698 25 Sep 14 nicklas 145           <td>
2698 25 Sep 14 nicklas 146             <input class="text" type="text" name="gxdhi" id="gxdhi" 
2698 25 Sep 14 nicklas 147               data-subtype="CALIPER_RAW_DATA" data-name-filter="%.gxd"
2698 25 Sep 14 nicklas 148               data-directory="/home/SCANB/RNAQC"
2698 25 Sep 14 nicklas 149             >
2698 25 Sep 14 nicklas 150           </td>
2698 25 Sep 14 nicklas 151           <td style="padding-left: 4px; width: 7em;">
2698 25 Sep 14 nicklas 152             <base:button 
2698 25 Sep 14 nicklas 153               title="Browse&hellip;"
2698 25 Sep 14 nicklas 154               id="gxdhi.btn"
2698 25 Sep 14 nicklas 155             />
2698 25 Sep 14 nicklas 156           </td>
2698 25 Sep 14 nicklas 157           </tr>
2698 25 Sep 14 nicklas 158           </table>    
1561 15 Mar 12 nicklas 159         </td>
2698 25 Sep 14 nicklas 160         <td class="status" id="gxdhi.status"></td>
2698 25 Sep 14 nicklas 161         <td class="help">
2698 25 Sep 14 nicklas 162           <span id="gxdhi.message" class="message"></span>
1561 15 Mar 12 nicklas 163           Select the <b>High sense GXD file</b> that contains the raw data.
1561 15 Mar 12 nicklas 164         </td>
1561 15 Mar 12 nicklas 165       </tr>
3555 21 Oct 15 nicklas 166       <tr class="align-middle">
3555 21 Oct 15 nicklas 167         <td class="subprompt">PDF file</td>
1546 02 Mar 12 nicklas 168         <td class="input">
2698 25 Sep 14 nicklas 169           <table style="width: 100%;">
2698 25 Sep 14 nicklas 170           <tr>
2698 25 Sep 14 nicklas 171           <td>
2698 25 Sep 14 nicklas 172             <input class="text" type="text" name="pdf" id="pdf" 
2698 25 Sep 14 nicklas 173               data-subtype="CALIPER_PDF" data-name-filter="%.pdf"
2698 25 Sep 14 nicklas 174               data-directory="/home/SCANB/RNAQC"
2698 25 Sep 14 nicklas 175             >
2698 25 Sep 14 nicklas 176           </td>
2698 25 Sep 14 nicklas 177           <td style="padding-left: 4px; width: 7em;">
2698 25 Sep 14 nicklas 178             <base:button 
2698 25 Sep 14 nicklas 179               title="Browse&hellip;"
2698 25 Sep 14 nicklas 180               id="pdf.btn"
2698 25 Sep 14 nicklas 181             />
2698 25 Sep 14 nicklas 182           </td>
2698 25 Sep 14 nicklas 183           </tr>
2698 25 Sep 14 nicklas 184           </table>    
1546 02 Mar 12 nicklas 185         </td>
1546 02 Mar 12 nicklas 186         <td class="status" id="pdf.status"></td>
2698 25 Sep 14 nicklas 187         <td class="help">
2698 25 Sep 14 nicklas 188           <span id="pdf.message" class="message"></span>
1546 02 Mar 12 nicklas 189           Select the PDF file that contains a printout with diagrams and other
1546 02 Mar 12 nicklas 190           useful documentation.
1546 02 Mar 12 nicklas 191         </td>
1546 02 Mar 12 nicklas 192       </tr>
3555 21 Oct 15 nicklas 193       <tr class="section-header">
3555 21 Oct 15 nicklas 194         <td colspan="2">Caliper plate <span id="bioplate.name"><i>(no file loaded)</i></span></td>
1546 02 Mar 12 nicklas 195         <td class="status" id="bioplate.status"></td>
2698 25 Sep 14 nicklas 196         <td class="help">
2698 25 Sep 14 nicklas 197           <span id="bioplate.message" class="message"></span>
1546 02 Mar 12 nicklas 198         </td>
1546 02 Mar 12 nicklas 199       </tr>
3555 21 Oct 15 nicklas 200       <tr id="extraAliquotSection">
3555 21 Oct 15 nicklas 201         <td class="subprompt">Extra aliquots from RNA</td>
3555 21 Oct 15 nicklas 202         <td class="input">
3555 21 Oct 15 nicklas 203           <label><input type="radio" name="extraAliquot" id="extraAliquot.No" value="0" checked>No</label>
3555 21 Oct 15 nicklas 204           <label><input type="radio" name="extraAliquot" id="extraAliquot.Yes" value="1" disabled>Yes</label>
3555 21 Oct 15 nicklas 205         </td>
3555 21 Oct 15 nicklas 206         <td class="status" id="extraAliquot.status"></td>
3555 21 Oct 15 nicklas 207         <td class="help">
3555 21 Oct 15 nicklas 208           <span id="extraAliquot.message" class="message"></span>
3555 21 Oct 15 nicklas 209           Select <b>Yes</b> if extra aliquots was taken from one or more extracts
3555 21 Oct 15 nicklas 210           to make a secondary measurement.
3555 21 Oct 15 nicklas 211         </td>
3555 21 Oct 15 nicklas 212       </tr>
3555 21 Oct 15 nicklas 213       <tr id="extraAliquotPlateSection" style="display: none;">
3555 21 Oct 15 nicklas 214         <td class="subprompt"></td>
3555 21 Oct 15 nicklas 215         <td colspan="2">
3555 21 Oct 15 nicklas 216           <div id="extraAliquotPlate" style="margin: 0.25em 0;"></div>
3555 21 Oct 15 nicklas 217         </td>
3555 21 Oct 15 nicklas 218         <td class="help">
3555 21 Oct 15 nicklas 219           Select wells and specify the volume in µl that was taken from the RNA tube.
3555 21 Oct 15 nicklas 220         </td>
3555 21 Oct 15 nicklas 221       </tr>
2698 25 Sep 14 nicklas 222       <tr>
3555 21 Oct 15 nicklas 223         <td class="subprompt">QC Run Date</td>
2698 25 Sep 14 nicklas 224         <td class="input">
2698 25 Sep 14 nicklas 225           <input type="text" name="qcRunDate" id="qcRunDate"
3555 21 Oct 15 nicklas 226             class="required auto-init" data-auto-init="focus-on-enter" data-next-focus="qcOperator"
2698 25 Sep 14 nicklas 227             style="width: 8em;" maxlength="10">
2698 25 Sep 14 nicklas 228             <base:icon 
2698 25 Sep 14 nicklas 229               id="qcRunDateCalendar"
2698 25 Sep 14 nicklas 230               subclass="auto-init"
2698 25 Sep 14 nicklas 231               data-auto-init="calendar"
2698 25 Sep 14 nicklas 232               data-textarea-id="qcRunDate"
2698 25 Sep 14 nicklas 233               data-date-format="yyyyMMdd"
2698 25 Sep 14 nicklas 234               data-title="QC run date"
2698 25 Sep 14 nicklas 235               image="calendar.png" 
2698 25 Sep 14 nicklas 236               tooltip="Select a date from a calendar" 
2698 25 Sep 14 nicklas 237               tabindex="-1"
2698 25 Sep 14 nicklas 238             />
1546 02 Mar 12 nicklas 239         </td>
1546 02 Mar 12 nicklas 240         <td class="status" id="qcRunDate.status"></td>
1546 02 Mar 12 nicklas 241         <td class="help">
2698 25 Sep 14 nicklas 242           <span id="qcRunDate.message" class="message"></span>
2698 25 Sep 14 nicklas 243           (YYYYMMDD or MMDD)
1546 02 Mar 12 nicklas 244         </td>
1546 02 Mar 12 nicklas 245       </tr>
2698 25 Sep 14 nicklas 246       <tr>
3555 21 Oct 15 nicklas 247         <td class="subprompt">QC Operator</td>
2698 25 Sep 14 nicklas 248         <td class="input">
2698 25 Sep 14 nicklas 249           <input type="text" name="qcOperator" id="qcOperator" 
2698 25 Sep 14 nicklas 250             value="<%=HTML.encodeTags(user.getName()) %>" maxlength="255">
1546 02 Mar 12 nicklas 251         </td>
1546 02 Mar 12 nicklas 252         <td class="status" id="qcOperator.status"></td>
1546 02 Mar 12 nicklas 253         <td class="help">
2698 25 Sep 14 nicklas 254           <span id="qcOperator.message" class="message"></span>
1546 02 Mar 12 nicklas 255         </td>
1546 02 Mar 12 nicklas 256       </tr>
2836 20 Oct 14 nicklas 257       <tr class="align-top">
3555 21 Oct 15 nicklas 258         <td class="subprompt">Comments</td>
2836 20 Oct 14 nicklas 259         <td class="input">
2836 20 Oct 14 nicklas 260           <textarea name="comments" id="comments" rows="4"></textarea>
2836 20 Oct 14 nicklas 261         </td>
2836 20 Oct 14 nicklas 262         <td class="status" id="comments.status"></td>
2836 20 Oct 14 nicklas 263         <td class="help">
2836 20 Oct 14 nicklas 264           <span id="comments.message" class="message"></span>
2836 20 Oct 14 nicklas 265         </td>
2836 20 Oct 14 nicklas 266       </tr>
1546 02 Mar 12 nicklas 267       </table>
2698 25 Sep 14 nicklas 268     </div>
2698 25 Sep 14 nicklas 269   </div>
2698 25 Sep 14 nicklas 270   
2698 25 Sep 14 nicklas 271   <div id="wizard-status"></div>
2698 25 Sep 14 nicklas 272   
2698 25 Sep 14 nicklas 273   <table class="navigation" id="navigation">
2698 25 Sep 14 nicklas 274   <tr>
2698 25 Sep 14 nicklas 275     <td><base:button id="gocancel" title="Cancel" /></td>
2698 25 Sep 14 nicklas 276     <td><base:button id="gonext" title="Next" image="<%=home+"/images/gonext.png"%>" /></td>
2698 25 Sep 14 nicklas 277     <td><base:button id="goregister" title="Register" image="<%=home+"/images/import.png"%>"  /></td>
2698 25 Sep 14 nicklas 278     <td><base:button id="gorestart" title="Restart" image="<%=home+"/images/goback.png"%>" /></td>
2698 25 Sep 14 nicklas 279     <td id="gonext-message" class="message"></td>
1546 02 Mar 12 nicklas 280   </tr>
1546 02 Mar 12 nicklas 281   </table>
1546 02 Mar 12 nicklas 282   
1546 02 Mar 12 nicklas 283   </form>
1546 02 Mar 12 nicklas 284   </div>
1546 02 Mar 12 nicklas 285   
1546 02 Mar 12 nicklas 286 </base:body>
1546 02 Mar 12 nicklas 287 </base:page>
1546 02 Mar 12 nicklas 288 <%
1546 02 Mar 12 nicklas 289 }
1546 02 Mar 12 nicklas 290 finally
1546 02 Mar 12 nicklas 291 {
1546 02 Mar 12 nicklas 292   if (dc != null) dc.close();
1546 02 Mar 12 nicklas 293 }
1546 02 Mar 12 nicklas 294 %>