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

Code
Comments
Other
Rev Date Author Line
1543 28 Feb 12 nicklas 1 <%@ page
1543 28 Feb 12 nicklas 2   pageEncoding="UTF-8"
1543 28 Feb 12 nicklas 3   session="false"
1543 28 Feb 12 nicklas 4   import="net.sf.basedb.core.User"
1543 28 Feb 12 nicklas 5   import="net.sf.basedb.core.DbControl"
1543 28 Feb 12 nicklas 6   import="net.sf.basedb.core.SessionControl"
1543 28 Feb 12 nicklas 7   import="net.sf.basedb.core.Application"
2774 09 Oct 14 nicklas 8   import="net.sf.basedb.util.Values"
3544 15 Oct 15 nicklas 9   import="net.sf.basedb.util.extensions.Extension"
1543 28 Feb 12 nicklas 10   import="net.sf.basedb.clients.web.Base"  
1543 28 Feb 12 nicklas 11   import="net.sf.basedb.clients.web.extensions.ExtensionsControl"
2774 09 Oct 14 nicklas 12   import="java.util.Arrays"
1543 28 Feb 12 nicklas 13 %>
1543 28 Feb 12 nicklas 14 <%@ taglib prefix="base" uri="/WEB-INF/base.tld" %>
1543 28 Feb 12 nicklas 15 <%@ taglib prefix="p" uri="/WEB-INF/path.tld" %>
1543 28 Feb 12 nicklas 16 <%
3976 26 May 16 nicklas 17 final SessionControl sc = Base.getExistingSessionControl(request, "net.sf.basedb.reggie", true);
1543 28 Feb 12 nicklas 18 final String ID = sc.getId();
1543 28 Feb 12 nicklas 19 final float scale = Base.getScale(sc);
1543 28 Feb 12 nicklas 20 final String home = ExtensionsControl.getHomeUrl("net.sf.basedb.reggie");
1543 28 Feb 12 nicklas 21 DbControl dc = null;
1543 28 Feb 12 nicklas 22 try
1543 28 Feb 12 nicklas 23 {
1543 28 Feb 12 nicklas 24   dc = sc.newDbControl();
1543 28 Feb 12 nicklas 25   final User user = User.getById(dc, sc.getLoggedInUserId());
3544 15 Oct 15 nicklas 26   final Extension reggie = ExtensionsControl.get(dc).getExtension("net.sf.basedb.reggie");
1660 22 May 12 nicklas 27   String[] rna = request.getParameterValues("rna");
1660 22 May 12 nicklas 28   if (request.getParameter("restart") != null) rna = null;
1543 28 Feb 12 nicklas 29 %>
1543 28 Feb 12 nicklas 30 <base:page type="default" >
2774 09 Oct 14 nicklas 31 <base:head 
2774 09 Oct 14 nicklas 32   scripts="~../reggie-2.js,~rnaqc_aliquot.js" 
3544 15 Oct 15 nicklas 33   styles="path.css,~../css/reggie-2.css,~../css/rnaqc_aliquot.css"
2774 09 Oct 14 nicklas 34   >
1543 28 Feb 12 nicklas 35   
1553 08 Mar 12 nicklas 36 <style>
1658 21 May 12 nicklas 37
3544 15 Oct 15 nicklas 38 #protocol-header
1658 21 May 12 nicklas 39 {
3544 15 Oct 15 nicklas 40   display: none;
1658 21 May 12 nicklas 41 }
1658 21 May 12 nicklas 42
1658 21 May 12 nicklas 43 #rnaQcTable
1658 21 May 12 nicklas 44 {
3544 15 Oct 15 nicklas 45   border-width: 0;
3544 15 Oct 15 nicklas 46   font-size: 100%;
1658 21 May 12 nicklas 47 }
1658 21 May 12 nicklas 48
3544 15 Oct 15 nicklas 49 #rnaQcTable td:first-child, #rnaQcTable th:first-child
1658 21 May 12 nicklas 50 {
3544 15 Oct 15 nicklas 51   border-left-width: 0;
1658 21 May 12 nicklas 52 }
1658 21 May 12 nicklas 53
1553 08 Mar 12 nicklas 54 </style>
1543 28 Feb 12 nicklas 55
1543 28 Feb 12 nicklas 56 </base:head>
2774 09 Oct 14 nicklas 57 <base:body>
1543 28 Feb 12 nicklas 58
1543 28 Feb 12 nicklas 59   <p:path><p:pathelement 
1915 21 Mar 13 nicklas 60     title="Reggie" href="<%="../index.jsp?ID="+ID%>" 
1543 28 Feb 12 nicklas 61     /><p:pathelement title="RNA quality control - create aliquots" 
1543 28 Feb 12 nicklas 62     /></p:path>
1543 28 Feb 12 nicklas 63
1543 28 Feb 12 nicklas 64   <div class="content">
1543 28 Feb 12 nicklas 65
2774 09 Oct 14 nicklas 66   <div id="page-data" class="datacontainer"
2774 09 Oct 14 nicklas 67     data-rna-id="[<%=rna == null ? "" : Values.getString(Arrays.asList(rna), ",", true) %>]"
3742 12 Feb 16 nicklas 68     data-home-url="<%=home%>"
2774 09 Oct 14 nicklas 69   ></div>
1658 21 May 12 nicklas 70
2774 09 Oct 14 nicklas 71   <form name="reggie" id="wizard" class="wizard">
1543 28 Feb 12 nicklas 72   
2774 09 Oct 14 nicklas 73   <!-- 1. RNA selection -->
2774 09 Oct 14 nicklas 74   <div class="step auto-hide" id="step-1">
2774 09 Oct 14 nicklas 75     <div class="step-no">1</div>
2774 09 Oct 14 nicklas 76     <div class="step-title">Select RNA</div>
2774 09 Oct 14 nicklas 77     <div class="step-content">
2774 09 Oct 14 nicklas 78
2774 09 Oct 14 nicklas 79       <table class="step-form">
2774 09 Oct 14 nicklas 80       <tr class="align-top">
1543 28 Feb 12 nicklas 81         <td class="prompt">RNA extracts</td>
2774 09 Oct 14 nicklas 82         <td class="input" rowspan="2">
3742 12 Feb 16 nicklas 83           <select name="rna" id="rna" class="yellow-label-support" multiple size="15"></select>
1551 06 Mar 12 nicklas 84           
1551 06 Mar 12 nicklas 85           <base:buttongroup style="margin-top: 0.5em;">
2774 09 Oct 14 nicklas 86             <base:button id="btnSelectRna" title="Select manually&hellip;" />
1543 28 Feb 12 nicklas 87           </base:buttongroup>
1543 28 Feb 12 nicklas 88         </td>
2774 09 Oct 14 nicklas 89         <td class="status" id="rna.status"></td>
2774 09 Oct 14 nicklas 90         <td class="help">
2774 09 Oct 14 nicklas 91           <span id="rna.message" class="message"></span>
1543 28 Feb 12 nicklas 92           The list contain RNA extracts that has not yet been selected for
1551 06 Mar 12 nicklas 93           quality control (determined by absence of a RNAQC child extract).
1551 06 Mar 12 nicklas 94           Use the <b>Select manually</b> button for free selection.
1543 28 Feb 12 nicklas 95         </td>
1543 28 Feb 12 nicklas 96       </tr>
1543 28 Feb 12 nicklas 97       </table>
2774 09 Oct 14 nicklas 98     </div>
2774 09 Oct 14 nicklas 99   </div>
1543 28 Feb 12 nicklas 100   
2774 09 Oct 14 nicklas 101   <div class="step auto-hide" id="step-2">
2774 09 Oct 14 nicklas 102     <div class="step-no">2</div>
2774 09 Oct 14 nicklas 103     <div class="step-title">Select RNAQC bioplate and protocol</div>
2774 09 Oct 14 nicklas 104     <div class="step-content">
2774 09 Oct 14 nicklas 105
2774 09 Oct 14 nicklas 106       <table class="step-form">
2774 09 Oct 14 nicklas 107       <tr>
2774 09 Oct 14 nicklas 108         <td class="prompt">Use existing bioplate</td>
2774 09 Oct 14 nicklas 109         <td class="input">
2774 09 Oct 14 nicklas 110           <select name="bioPlates" id="bioPlates"></select>
2774 09 Oct 14 nicklas 111         </td>
2774 09 Oct 14 nicklas 112         <td class="status" id="bioPlates.status"></td>
2774 09 Oct 14 nicklas 113         <td class="help">
2774 09 Oct 14 nicklas 114           <span id="bioPlates.message" class="message"></span>
2774 09 Oct 14 nicklas 115           The list contain RNAQC bioplates without quality score data (determined by absence of 
2774 09 Oct 14 nicklas 116           QCRunDate annotation) with enough free wells to place the selected RNA extracts.
2774 09 Oct 14 nicklas 117           Select the <b>create new</b> option to create a new plate.
2774 09 Oct 14 nicklas 118         </td>
2774 09 Oct 14 nicklas 119       </tr>
2774 09 Oct 14 nicklas 120       <tbody id="createNewBioPlateSection" style="display: none;">
2774 09 Oct 14 nicklas 121         <tr>
2774 09 Oct 14 nicklas 122           <td class="prompt">Create new bioplate</td>
1543 28 Feb 12 nicklas 123           <td class="input">
2774 09 Oct 14 nicklas 124             <label><input type="radio" name="bioPlateType" value="CALIPER_RNAQC" id="CALIPER_RNAQC" checked>Caliper</label>
2774 09 Oct 14 nicklas 125             <label><input type="radio" name="bioPlateType" value="BA_RNAQC" id="BA_RNAQC">Bioanalyzer</label>
2774 09 Oct 14 nicklas 126             
1543 28 Feb 12 nicklas 127           </td>
2774 09 Oct 14 nicklas 128           <td class="status" id="bioPlateType.status"></td>
2774 09 Oct 14 nicklas 129           <td class="help">
2774 09 Oct 14 nicklas 130             <span id="bioPlateType.message" class="message"></span>
2774 09 Oct 14 nicklas 131             Select the type of bioplate to create
1543 28 Feb 12 nicklas 132           </td>
1543 28 Feb 12 nicklas 133         </tr>
2774 09 Oct 14 nicklas 134         <tr>
2774 09 Oct 14 nicklas 135           <td class="subprompt">Name</td>
1543 28 Feb 12 nicklas 136           <td class="input">
2774 09 Oct 14 nicklas 137             <input type="text" class="text required" name="bioPlateName" id="bioPlateName">
1543 28 Feb 12 nicklas 138           </td>
2774 09 Oct 14 nicklas 139           <td class="status" id="bioPlateName.status"></td>
2774 09 Oct 14 nicklas 140           <td class="help">
2774 09 Oct 14 nicklas 141             <span id="bioPlateName.message" class="message"></span>
2774 09 Oct 14 nicklas 142             <i>CaliperPlateNNNN</i> or <i>BAPlateNNNN</i>. Using a different name 
2774 09 Oct 14 nicklas 143             pattern may cause other wizards to fail.
1543 28 Feb 12 nicklas 144           </td>
1543 28 Feb 12 nicklas 145         </tr>
2774 09 Oct 14 nicklas 146         <tr>
2774 09 Oct 14 nicklas 147           <td class="subprompt">Barcode</td>
2774 09 Oct 14 nicklas 148           <td class="input">
2774 09 Oct 14 nicklas 149             <input type="text" class="text" name="bioPlateBarcode" id="bioPlateBarcode">
2774 09 Oct 14 nicklas 150           </td>
2774 09 Oct 14 nicklas 151           <td class="status" id="bioPlateBarcode.status"></td>
2774 09 Oct 14 nicklas 152           <td class="help">
2774 09 Oct 14 nicklas 153             <span id="bioPlateBarcode.message" class="message"></span>
2774 09 Oct 14 nicklas 154             The barcode is optional.
2774 09 Oct 14 nicklas 155           </td>
2774 09 Oct 14 nicklas 156         </tr>
2774 09 Oct 14 nicklas 157       </tbody>
2774 09 Oct 14 nicklas 158       <tr>
2774 09 Oct 14 nicklas 159         <td class="prompt">Protocol</td>
2774 09 Oct 14 nicklas 160         <td class="input">
2774 09 Oct 14 nicklas 161           <select name="protocols" id="protocols"></select>
2774 09 Oct 14 nicklas 162         </td>
2774 09 Oct 14 nicklas 163         <td class="status" id="protocols.status"></td>
2774 09 Oct 14 nicklas 164         <td class="help">
2774 09 Oct 14 nicklas 165           <span id="protocols.message" class="message"></span>
2774 09 Oct 14 nicklas 166           Select the protocol which is used in the quality control.
2774 09 Oct 14 nicklas 167         </td>
2774 09 Oct 14 nicklas 168       </tr>
2774 09 Oct 14 nicklas 169       </table>
2774 09 Oct 14 nicklas 170     </div>
2774 09 Oct 14 nicklas 171   </div>
1543 28 Feb 12 nicklas 172   
1658 21 May 12 nicklas 173
2774 09 Oct 14 nicklas 174   <div class="step" id="step-3">
2774 09 Oct 14 nicklas 175     <div class="step-no">3</div>
2774 09 Oct 14 nicklas 176     <div class="step-title">Enter RNA QC aliquot information</div>
2774 09 Oct 14 nicklas 177     <div class="step-content">
1543 28 Feb 12 nicklas 178     
3544 15 Oct 15 nicklas 179
3544 15 Oct 15 nicklas 180       <div style="background: #E8E8E8; padding: 4px;">
2774 09 Oct 14 nicklas 181         Use the table below to register positions on the <i>Quality control
2774 09 Oct 14 nicklas 182         plate</i> and if the <i>HiSense</i> option should be used or not for the
2774 09 Oct 14 nicklas 183         specific sample. The default setting is to use the HiSense option if the
2774 09 Oct 14 nicklas 184         concentration is below the given limit.
2774 09 Oct 14 nicklas 185       </div>
2774 09 Oct 14 nicklas 186       
3544 15 Oct 15 nicklas 187       <div id="full-protocol" class="topborder">
3544 15 Oct 15 nicklas 188         <div id="protocol-header">
3544 15 Oct 15 nicklas 189         <h1>Lab Protocol for RNAQC aliquots <span class="reggie">Reggie <%=reggie.getAbout().getVersion() %></span></h1>
3544 15 Oct 15 nicklas 190       
3544 15 Oct 15 nicklas 191         </div>
3544 15 Oct 15 nicklas 192       
3544 15 Oct 15 nicklas 193         <div id="rnaQc"></div>
3544 15 Oct 15 nicklas 194       </div>
2774 09 Oct 14 nicklas 195     </div>
2774 09 Oct 14 nicklas 196   </div>
2774 09 Oct 14 nicklas 197     
1543 28 Feb 12 nicklas 198   
2774 09 Oct 14 nicklas 199   <div id="wizard-status"></div>
1583 19 Mar 12 nicklas 200   
2774 09 Oct 14 nicklas 201   <table class="navigation" id="navigation">
2774 09 Oct 14 nicklas 202   <tr>
2774 09 Oct 14 nicklas 203     <td><base:button id="gocancel" title="Cancel" /></td>
2774 09 Oct 14 nicklas 204     <td><base:button id="gonext" title="Next" image="<%=home+"/images/gonext.png"%>" /></td>
2774 09 Oct 14 nicklas 205     <td><base:button id="goregister" title="Register" image="<%=home+"/images/import.png"%>"  /></td>
3544 15 Oct 15 nicklas 206     <td><base:button id="goprint" title="Print&hellip;" image="<%=home+"/images/print.png"%>" /></td>
2774 09 Oct 14 nicklas 207     <td><base:button id="gorestart" title="Restart" image="<%=home+"/images/goback.png"%>" /></td>
2774 09 Oct 14 nicklas 208     <td id="gonext-message" class="message"></td>
2774 09 Oct 14 nicklas 209   </tr>
1543 28 Feb 12 nicklas 210   </table>
2774 09 Oct 14 nicklas 211
1543 28 Feb 12 nicklas 212   </form>
1543 28 Feb 12 nicklas 213   </div>
1543 28 Feb 12 nicklas 214   
1543 28 Feb 12 nicklas 215 </base:body>
1543 28 Feb 12 nicklas 216 </base:page>
1543 28 Feb 12 nicklas 217 <%
1543 28 Feb 12 nicklas 218 }
1543 28 Feb 12 nicklas 219 finally
1543 28 Feb 12 nicklas 220 {
1543 28 Feb 12 nicklas 221   if (dc != null) dc.close();
1543 28 Feb 12 nicklas 222 }
1543 28 Feb 12 nicklas 223 %>