extensions/net.sf.basedb.meludi/trunk/resources/libprep/mark_dna_for_qpcr.jsp

Code
Comments
Other
Rev Date Author Line
3719 22 Jan 16 olle 1 <%@ page
3719 22 Jan 16 olle 2   pageEncoding="UTF-8"
3719 22 Jan 16 olle 3   session="false"
3719 22 Jan 16 olle 4   import="net.sf.basedb.core.Application"
3719 22 Jan 16 olle 5   import="net.sf.basedb.core.User"
3719 22 Jan 16 olle 6   import="net.sf.basedb.core.DbControl"
3719 22 Jan 16 olle 7   import="net.sf.basedb.core.SessionControl"
3719 22 Jan 16 olle 8   import="net.sf.basedb.clients.web.Base"
3719 22 Jan 16 olle 9   import="net.sf.basedb.clients.web.util.HTML"
3719 22 Jan 16 olle 10   import="net.sf.basedb.clients.web.extensions.ExtensionsControl"
3719 22 Jan 16 olle 11   import="net.sf.basedb.util.Values"
3719 22 Jan 16 olle 12   import="net.sf.basedb.util.formatter.WellCoordinateFormatter"
3719 22 Jan 16 olle 13 %>
3719 22 Jan 16 olle 14 <%@ taglib prefix="base" uri="/WEB-INF/base.tld" %>
3719 22 Jan 16 olle 15 <%@ taglib prefix="m" uri="/WEB-INF/menu.tld" %>
3719 22 Jan 16 olle 16 <%@ taglib prefix="p" uri="/WEB-INF/path.tld" %>
3719 22 Jan 16 olle 17 <%@ taglib prefix="tbl" uri="/WEB-INF/table.tld" %>
3719 22 Jan 16 olle 18 <%
3719 22 Jan 16 olle 19 final SessionControl sc = Base.getExistingSessionControl(request, true);
3719 22 Jan 16 olle 20 final String ID = sc.getId();
3719 22 Jan 16 olle 21 final float scale = Base.getScale(sc);
3719 22 Jan 16 olle 22 final String home = ExtensionsControl.getHomeUrl("net.sf.basedb.meludi");
3719 22 Jan 16 olle 23 final boolean isNeoPrep = Values.getBoolean(request.getParameter("neoprep"));
3719 22 Jan 16 olle 24 DbControl dc = null;
3719 22 Jan 16 olle 25 try
3719 22 Jan 16 olle 26 {
3719 22 Jan 16 olle 27   dc = sc.newDbControl();
3719 22 Jan 16 olle 28   final User user = User.getById(dc, sc.getLoggedInUserId());
3719 22 Jan 16 olle 29 %>
3719 22 Jan 16 olle 30 <base:page type="default">
3719 22 Jan 16 olle 31 <base:head 
3719 22 Jan 16 olle 32   scripts="~../meludi-2.js,~mark_dna_for_qpcr.js,js-draw.js" 
3719 22 Jan 16 olle 33   styles="path.css,toolbar.css,~../css/meludi-2.css"
3719 22 Jan 16 olle 34   >
3719 22 Jan 16 olle 35 <style>
3719 22 Jan 16 olle 36
3719 22 Jan 16 olle 37 /* Empty wells should have grayed, italic text */
3719 22 Jan 16 olle 38 .well.empty
3719 22 Jan 16 olle 39 {
3719 22 Jan 16 olle 40   text-align: center;
3719 22 Jan 16 olle 41   vertical-align: middle;
3719 22 Jan 16 olle 42   font-style: italic;
3719 22 Jan 16 olle 43   color: #999999;
3719 22 Jan 16 olle 44 }
3719 22 Jan 16 olle 45
3719 22 Jan 16 olle 46 /* A well assigned for QC include a background icon as indicator */
3719 22 Jan 16 olle 47 .well.qc
3719 22 Jan 16 olle 48 {
3719 22 Jan 16 olle 49   background-image: url('../images/mrnaqc.png');
3719 22 Jan 16 olle 50   background-position: 98% 25%;
3719 22 Jan 16 olle 51   background-repeat: no-repeat;
3719 22 Jan 16 olle 52 }
3719 22 Jan 16 olle 53
3719 22 Jan 16 olle 54 /* A well which contain replicate DNA is also marked with an icon */
3719 22 Jan 16 olle 55 .well.replicate
3719 22 Jan 16 olle 56 {
3719 22 Jan 16 olle 57   background-image: url('../images/copy.png');
3719 22 Jan 16 olle 58   background-position: 98% 25%;
3719 22 Jan 16 olle 59   background-repeat: no-repeat;
3719 22 Jan 16 olle 60 }
3719 22 Jan 16 olle 61
3719 22 Jan 16 olle 62 /* A well that is both a replicate and QC need to re-arrange the icons a bit */
3719 22 Jan 16 olle 63 .well.qc.replicate
3719 22 Jan 16 olle 64 {
3719 22 Jan 16 olle 65   background-image: url('../images/mrnaqc.png'), url('../images/copy.png');
3719 22 Jan 16 olle 66   background-position: 98% 25%, 98% 75%;
3719 22 Jan 16 olle 67   background-repeat: no-repeat;
3719 22 Jan 16 olle 68 }
3719 22 Jan 16 olle 69
3719 22 Jan 16 olle 70 .well .missing
3719 22 Jan 16 olle 71 {
3719 22 Jan 16 olle 72   font-style: italic;
3719 22 Jan 16 olle 73 }
3719 22 Jan 16 olle 74
3719 22 Jan 16 olle 75 .kitwell
3719 22 Jan 16 olle 76 {
3719 22 Jan 16 olle 77   height: 30px;
3719 22 Jan 16 olle 78   max-height: 30px;
3719 22 Jan 16 olle 79   min-height: 30px;
3719 22 Jan 16 olle 80   width: 35px;
3719 22 Jan 16 olle 81   max-width: 35px;
3719 22 Jan 16 olle 82   min-width: 35px;
3719 22 Jan 16 olle 83   font-weight: bold;
3719 22 Jan 16 olle 84   font-size: 75%;
3719 22 Jan 16 olle 85   vertical-align: middle;
3719 22 Jan 16 olle 86   text-align: center;
3719 22 Jan 16 olle 87   color: #C0C0C0;  
3719 22 Jan 16 olle 88 }
3719 22 Jan 16 olle 89
3719 22 Jan 16 olle 90 .kitwell.empty
3719 22 Jan 16 olle 91 {
3719 22 Jan 16 olle 92   background-color: #E0E0E0;
3719 22 Jan 16 olle 93   pointer-events: none;
3719 22 Jan 16 olle 94 }
3719 22 Jan 16 olle 95
3719 22 Jan 16 olle 96 .kitwell.unused
3719 22 Jan 16 olle 97 {
3719 22 Jan 16 olle 98   background-color: #A0C0A0;
3719 22 Jan 16 olle 99   pointer-events: none;
3719 22 Jan 16 olle 100 }
3719 22 Jan 16 olle 101
3719 22 Jan 16 olle 102 .kitwell.effunused
3719 22 Jan 16 olle 103 {
3719 22 Jan 16 olle 104   background-color: #A0E0A0;
3719 22 Jan 16 olle 105   pointer-events: none;
3719 22 Jan 16 olle 106 }
3719 22 Jan 16 olle 107
3719 22 Jan 16 olle 108 .kitwell.reserved
3719 22 Jan 16 olle 109 {
3719 22 Jan 16 olle 110   background-color: #E0E0A0;
3719 22 Jan 16 olle 111   pointer-events: none;
3719 22 Jan 16 olle 112 }
3719 22 Jan 16 olle 113
3719 22 Jan 16 olle 114 .plate.hide-location .location
3719 22 Jan 16 olle 115 {
3719 22 Jan 16 olle 116   display: none;
3719 22 Jan 16 olle 117 }
3719 22 Jan 16 olle 118 .plate.hide-quantity .quantity
3719 22 Jan 16 olle 119 {
3719 22 Jan 16 olle 120   display: none;
3719 22 Jan 16 olle 121 }
3719 22 Jan 16 olle 122 .plate.hide-volumes .volumes
3719 22 Jan 16 olle 123 {
3719 22 Jan 16 olle 124   display: none;
3719 22 Jan 16 olle 125 }
3719 22 Jan 16 olle 126 .plate.hide-origqubitconc .origqubitconc
3719 22 Jan 16 olle 127 {
3719 22 Jan 16 olle 128   display: none;
3719 22 Jan 16 olle 129 }
3719 22 Jan 16 olle 130 .plate.hide-calcqubitconc .calcqubitconc
3719 22 Jan 16 olle 131 {
3719 22 Jan 16 olle 132   display: none;
3719 22 Jan 16 olle 133 }
3719 22 Jan 16 olle 134 .plate.hide-quality-score .quality-score
3719 22 Jan 16 olle 135 {
3719 22 Jan 16 olle 136   display: none;
3719 22 Jan 16 olle 137 }
3719 22 Jan 16 olle 138 .plate.hide-qiacube-date .qiacube-date
3719 22 Jan 16 olle 139 {
3719 22 Jan 16 olle 140   display: none;
3719 22 Jan 16 olle 141 }
3719 22 Jan 16 olle 142 .plate.hide-qiacube-date .dilution-date
3719 22 Jan 16 olle 143 {
3719 22 Jan 16 olle 144   display: none;
3719 22 Jan 16 olle 145 }
3719 22 Jan 16 olle 146 .volume
3719 22 Jan 16 olle 147 {
3719 22 Jan 16 olle 148   color: #C80000;
3719 22 Jan 16 olle 149 }
3719 22 Jan 16 olle 150 .water
3719 22 Jan 16 olle 151 {
3719 22 Jan 16 olle 152   color: #0000C8;
3719 22 Jan 16 olle 153 }
3719 22 Jan 16 olle 154 .comment
3719 22 Jan 16 olle 155 {
3719 22 Jan 16 olle 156   font-style: italic;
3719 22 Jan 16 olle 157 }
3719 22 Jan 16 olle 158 .indexprimer
3719 22 Jan 16 olle 159 {
3719 22 Jan 16 olle 160   text-align: center;
3719 22 Jan 16 olle 161   color: #C80000;
3719 22 Jan 16 olle 162 }
3719 22 Jan 16 olle 163 #iconSpecialSelect
3719 22 Jan 16 olle 164 {
3719 22 Jan 16 olle 165   cursor: pointer;
3719 22 Jan 16 olle 166 }
3719 22 Jan 16 olle 167 #flaggedRna:before
3719 22 Jan 16 olle 168 {
3719 22 Jan 16 olle 169   content: url('../images/flag.png');
3719 22 Jan 16 olle 170   padding-right: 4px;
3719 22 Jan 16 olle 171 }
3719 22 Jan 16 olle 172 #select-barcode-all
3719 22 Jan 16 olle 173 {
3719 22 Jan 16 olle 174   max-height: 20em;
3719 22 Jan 16 olle 175   overflow: auto;
3719 22 Jan 16 olle 176 }
3719 22 Jan 16 olle 177
3719 22 Jan 16 olle 178 #select-barcode .menuitem
3719 22 Jan 16 olle 179 {
3719 22 Jan 16 olle 180   padding-left: 16px;
3719 22 Jan 16 olle 181 }
3719 22 Jan 16 olle 182
3719 22 Jan 16 olle 183 #select-barcode div.current
3719 22 Jan 16 olle 184 {
3719 22 Jan 16 olle 185   font-weight: bold;
3719 22 Jan 16 olle 186   background-image: url('../images/selected.gif');
3719 22 Jan 16 olle 187   background-position: 2px 50%;
3719 22 Jan 16 olle 188   background-repeat: no-repeat;
3719 22 Jan 16 olle 189 }
3719 22 Jan 16 olle 190
3719 22 Jan 16 olle 191 #select-barcode .menuitem:hover
3719 22 Jan 16 olle 192 {
3719 22 Jan 16 olle 193   padding-left: 14px;
3719 22 Jan 16 olle 194   background-position: 0px 50%;
3719 22 Jan 16 olle 195 }
3719 22 Jan 16 olle 196
3719 22 Jan 16 olle 197 .nondefault
3719 22 Jan 16 olle 198 {
3719 22 Jan 16 olle 199   background: #FFF066;
3719 22 Jan 16 olle 200 }
3719 22 Jan 16 olle 201 .nondefault:after
3719 22 Jan 16 olle 202 {
3719 22 Jan 16 olle 203   content: '›';
3719 22 Jan 16 olle 204 }
3719 22 Jan 16 olle 205 .nondefault:before
3719 22 Jan 16 olle 206 {
3719 22 Jan 16 olle 207   content: '‹';
3719 22 Jan 16 olle 208 }
3719 22 Jan 16 olle 209
3719 22 Jan 16 olle 210 </style>
3719 22 Jan 16 olle 211 </base:head>
3719 22 Jan 16 olle 212 <base:body>
3719 22 Jan 16 olle 213   <p:path><p:pathelement 
3719 22 Jan 16 olle 214     title="MeLuDI" href="<%="../index.jsp?ID="+ID%>" 
3719 22 Jan 16 olle 215     /><p:pathelement title="<%=isNeoPrep ? "Create new NeoPrep plate" : "Mark DNA for qPCR" %>" 
3719 22 Jan 16 olle 216     /></p:path>
3719 22 Jan 16 olle 217
3719 22 Jan 16 olle 218   <div id="page-data" class="datacontainer"
3719 22 Jan 16 olle 219     data-is-neoprep="<%=isNeoPrep ? 1 : 0%>"
3719 22 Jan 16 olle 220   ></div>
3719 22 Jan 16 olle 221
3719 22 Jan 16 olle 222   <div id="canvas" class="absolutefull" style="z-index: -1;">
3719 22 Jan 16 olle 223   
3719 22 Jan 16 olle 224   <div class="content">
3719 22 Jan 16 olle 225
3719 22 Jan 16 olle 226   <form name="meludi" id="wizard" class="wizard">
3719 22 Jan 16 olle 227   
3719 22 Jan 16 olle 228   <div class="step auto-hide" id="step-1">
3719 22 Jan 16 olle 229     <div class="step-no">1</div>
3719 22 Jan 16 olle 230     <div class="step-title">Select start list with DNA items</div>
3719 22 Jan 16 olle 231     <div class="step-content">
3719 22 Jan 16 olle 232   
3719 22 Jan 16 olle 233       <div class="bg-filled-50" style="padding: 2px;">
3719 22 Jan 16 olle 234         <br>
3719 22 Jan 16 olle 235         Items with a high Î”Ct value are normally not put on a start DNA plate (library plate),
3719 22 Jan 16 olle 236         but are instead put in a branch for qPCR processing. Marking a DNA for the qPCR branch,
3719 22 Jan 16 olle 237         will prevent it from being shown in menus for selecting start plate items.<br>
3719 22 Jan 16 olle 238         <br>
3719 22 Jan 16 olle 239       </div>
3719 22 Jan 16 olle 240
3719 22 Jan 16 olle 241       <table class="step-form">
3719 22 Jan 16 olle 242       <tr class="align-top">
3719 22 Jan 16 olle 243         <td class="prompt">Start list</td>
3719 22 Jan 16 olle 244         <td class="input">
3719 22 Jan 16 olle 245           <select name="startList" id="startList" size="30"></select>
3719 22 Jan 16 olle 246         </td>
3719 22 Jan 16 olle 247         <td class="status" id="startList.status"></td>
3719 22 Jan 16 olle 248         <td class="help">
3719 22 Jan 16 olle 249           <span id="startList.message" class="message" ></span>
3719 22 Jan 16 olle 250           Select start list with DNA items.
3719 22 Jan 16 olle 251         </td>
3719 22 Jan 16 olle 252       </tr>
3719 22 Jan 16 olle 253       </table>
3719 22 Jan 16 olle 254     </div>
3719 22 Jan 16 olle 255   </div>
3719 22 Jan 16 olle 256   
3719 22 Jan 16 olle 257   <div class="step auto-hide" id="step-2">
3719 22 Jan 16 olle 258     <div class="step-no">2</div>
3719 22 Jan 16 olle 259     <div class="step-title">Select DNA items to mark for qPCR</div>
3719 22 Jan 16 olle 260     <div class="step-content">
3719 22 Jan 16 olle 261
3719 22 Jan 16 olle 262       <div class="bg-filled-50" id="detailsStartListName" style="padding: 2px;"></div>
3719 22 Jan 16 olle 263       <div class="bg-filled-50" style="padding: 2px;">
3719 22 Jan 16 olle 264         <br>
3719 22 Jan 16 olle 265         Items with a high Î”Ct value are normally not put on a start DNA plate (library plate),
3719 22 Jan 16 olle 266         but are instead put in a branch for qPCR processing. Marking a DNA for the qPCR branch,
3719 22 Jan 16 olle 267         will prevent it from being shown in menus for selecting start plate items.<br>
3719 22 Jan 16 olle 268         <br>
3719 22 Jan 16 olle 269         1. Only DNA extracts are shown.<br>
3719 22 Jan 16 olle 270         2. Only extracts not placed on a library plate are shown.<br>
3719 22 Jan 16 olle 271         3. Check boxes for current qPCR branch values are disabled and cannot be changed.<br>
3719 22 Jan 16 olle 272         4. Changing the max. Î”Ct value will reset all new qPCR branch check box values.<br>
3719 22 Jan 16 olle 273         <br>
3719 22 Jan 16 olle 274         <span class="nondefault">Highlighted</span> items in the table below have 
3719 22 Jan 16 olle 275         changed qPCR branch status.
3719 22 Jan 16 olle 276       </div>
3719 22 Jan 16 olle 277
3719 22 Jan 16 olle 278       <div id="detailsSection"></div>
3719 22 Jan 16 olle 279
3719 22 Jan 16 olle 280       <table class="step-form">
3719 22 Jan 16 olle 281       <tr class="align-top">
3719 22 Jan 16 olle 282 <!--
3719 22 Jan 16 olle 283         <td class="prompt">DNA</td>
3719 22 Jan 16 olle 284         <td class="input">
3719 22 Jan 16 olle 285           <select name="extractDnaItems" id="extractDnaItems" multiple size="24"></select>
3719 22 Jan 16 olle 286         </td>
3719 22 Jan 16 olle 287         <td class="status" id="extractDnaItems.status"></td>
3719 22 Jan 16 olle 288         <td class="help">
3719 22 Jan 16 olle 289           <span id="extractDnaItems.message" class="message" ></span>
3719 22 Jan 16 olle 290           Select 1-48 DNA items. For each DNA item, a 10 Âµl aliquot will
3719 22 Jan 16 olle 291           be placed on the left (FPA) and right (FPB) side of the
3719 22 Jan 16 olle 292           start plate, after dilution based on the Î”Ct value.
3719 22 Jan 16 olle 293         </td>
3719 22 Jan 16 olle 294       </tr>
3719 22 Jan 16 olle 295       <tr>
3719 22 Jan 16 olle 296 -->
3719 22 Jan 16 olle 297         <td class="prompt">Max. Î”Ct value</td>
3719 22 Jan 16 olle 298         <td class="input">
3719 22 Jan 16 olle 299           Î”Ct&nbsp;&lt;&nbsp;<input type="text" class="text" name="max_delta_ct" id="max_delta_ct" 
3719 22 Jan 16 olle 300             value="8" style="width: 4em;">
3719 22 Jan 16 olle 301         </td>
3719 22 Jan 16 olle 302         <td class="status" id="max_delta_ct.status"></td>
3719 22 Jan 16 olle 303         <td class="help">
3719 22 Jan 16 olle 304           <span id="max_delta_ct.message" class="message" style="display: none;"></span>
3719 22 Jan 16 olle 305           Maximum Î”Ct value for items to be put on library plate.
3719 22 Jan 16 olle 306         </td>
3719 22 Jan 16 olle 307       </tr>
3719 22 Jan 16 olle 308       </table>
3719 22 Jan 16 olle 309     </div>
3719 22 Jan 16 olle 310   </div>
3719 22 Jan 16 olle 311   
3719 22 Jan 16 olle 312   <div class="step auto-hide" id="step-3">
3719 22 Jan 16 olle 313     <div class="step-no">3</div>
3719 22 Jan 16 olle 314     <div class="step-title">Select library preparation kit to use</div>
3719 22 Jan 16 olle 315     <div class="step-content">
3719 22 Jan 16 olle 316   
3719 22 Jan 16 olle 317       <table class="step-form">
3719 22 Jan 16 olle 318       <tr class="align-top">
3719 22 Jan 16 olle 319         <td class="prompt">Extra extract items</td>
3719 22 Jan 16 olle 320         <td class="input">
3719 22 Jan 16 olle 321           <base:button id="btnManualSelectExtract" title="Add extract..."
3719 22 Jan 16 olle 322             image="<%=home + "/images/manual_dna.png"%>"
3719 22 Jan 16 olle 323             tooltip="Manually select DNA items"
3719 22 Jan 16 olle 324             style="width:10em;" />
3719 22 Jan 16 olle 325         </td>
3719 22 Jan 16 olle 326         <td class="status" id="manualSelectExtract.status"></td>
3719 22 Jan 16 olle 327         <td class="help">
3719 22 Jan 16 olle 328           <span id="manualSelectExtract.message" class="message"></span>
3719 22 Jan 16 olle 329           Optional - Select extra extracts.
3719 22 Jan 16 olle 330         </td>
3719 22 Jan 16 olle 331       </tr>
3719 22 Jan 16 olle 332       <tr>
3719 22 Jan 16 olle 333         <td class="prompt">Extra control items</td>
3719 22 Jan 16 olle 334         <td class="input">
3719 22 Jan 16 olle 335           <base:button id="btnManualSelectControl" title="Add control..."
3719 22 Jan 16 olle 336             image="<%=home + "/images/manual_dna.png"%>"
3719 22 Jan 16 olle 337             tooltip="Manually select control DNA items"
3719 22 Jan 16 olle 338             style="width:10em;" />
3719 22 Jan 16 olle 339         </td>
3719 22 Jan 16 olle 340         <td class="status" id="manualSelectControl.status"></td>
3719 22 Jan 16 olle 341         <td class="help">
3719 22 Jan 16 olle 342           <span id="manualSelectControl.message" class="message"></span>
3719 22 Jan 16 olle 343           Optional - Select extra control extracts.
3719 22 Jan 16 olle 344         </td>
3719 22 Jan 16 olle 345       </tr>
3719 22 Jan 16 olle 346       <tr>
3719 22 Jan 16 olle 347         <td class="prompt">Reset extra items</td>
3719 22 Jan 16 olle 348         <td class="input">
3719 22 Jan 16 olle 349           <base:button id="btnManualSelectReset" title="Reset"
3719 22 Jan 16 olle 350             image="<%=home + "/images/manual_dna.png"%>"
3719 22 Jan 16 olle 351             tooltip="Reset extra items"
3719 22 Jan 16 olle 352             style="width:10em;" />
3719 22 Jan 16 olle 353         </td>
3719 22 Jan 16 olle 354         <td class="status" id="manualSelectReset.status"></td>
3719 22 Jan 16 olle 355         <td class="help">
3719 22 Jan 16 olle 356           <span id="manualSelectReset.message" class="message"></span>
3719 22 Jan 16 olle 357           Reset extra items.
3719 22 Jan 16 olle 358         </td>
3719 22 Jan 16 olle 359       </tr>
3719 22 Jan 16 olle 360       </table>
3719 22 Jan 16 olle 361
3719 22 Jan 16 olle 362       <table class="step-form">
3719 22 Jan 16 olle 363       <div name="kitplatetablecontent" id="kitplatetablecontent"></div>
3719 22 Jan 16 olle 364       <tr class="align-top">
3719 22 Jan 16 olle 365 <!--
3719 22 Jan 16 olle 366         <td class="prompt">Kit</td>
3719 22 Jan 16 olle 367 -->
3719 22 Jan 16 olle 368         <td class="input">
3719 22 Jan 16 olle 369           <select name="libPrepKit" id="libPrepKit"></select>
3719 22 Jan 16 olle 370         </td>
3719 22 Jan 16 olle 371 <!--
3719 22 Jan 16 olle 372         <td class="status" id="libPrepKit.status"></td>
3719 22 Jan 16 olle 373         <td class="help">
3719 22 Jan 16 olle 374           <span id="libPrepKit.message" class="message" ></span>
3719 22 Jan 16 olle 375           Select the library preparation kit to use.
3719 22 Jan 16 olle 376         </td>
3719 22 Jan 16 olle 377 -->
3719 22 Jan 16 olle 378       </tr>
3719 22 Jan 16 olle 379       </table>
3719 22 Jan 16 olle 380     </div>
3719 22 Jan 16 olle 381   </div>
3719 22 Jan 16 olle 382   
3719 22 Jan 16 olle 383   <div class="step auto-hide" id="step-4">
3719 22 Jan 16 olle 384     <div class="step-no">4</div>
3719 22 Jan 16 olle 385     <div class="step-title"><%=isNeoPrep ? "NeoPrep plate" : "Fragmented DNA plate"%></div>
3719 22 Jan 16 olle 386     <div class="step-content">
3719 22 Jan 16 olle 387
3719 22 Jan 16 olle 388       <table class="step-form">
3719 22 Jan 16 olle 389 <!--
3719 22 Jan 16 olle 390       <tr>
3719 22 Jan 16 olle 391         <td class="prompt">Name</td>
3719 22 Jan 16 olle 392         <td class="input" id="plateName"></td>
3719 22 Jan 16 olle 393         <td class="status"></td>
3719 22 Jan 16 olle 394         <td class="help">Select DNA plate to use.</td>
3719 22 Jan 16 olle 395       </tr>
3719 22 Jan 16 olle 396 -->
3719 22 Jan 16 olle 397       <tr>
3719 22 Jan 16 olle 398         <td class="prompt">Name</td>
3719 22 Jan 16 olle 399         <td class="input">
3719 22 Jan 16 olle 400           <input type="text" class="text" name="plateName" id="plateName" 
3719 22 Jan 16 olle 401             value="" style="width: 7em;">
3719 22 Jan 16 olle 402         </td>
3719 22 Jan 16 olle 403         <td class="status" id="plateName.status"></td>
3719 22 Jan 16 olle 404         <td class="help">
3719 22 Jan 16 olle 405           <span id="plateName.message" class="message" style="display: none;"></span>
3719 22 Jan 16 olle 406           Select DNA plate to use.
3719 22 Jan 16 olle 407         </td>
3719 22 Jan 16 olle 408       </tr>
3719 22 Jan 16 olle 409       <tr>
3719 22 Jan 16 olle 410         <td class="prompt">Protocol</td>
3719 22 Jan 16 olle 411         <td class="input">
3719 22 Jan 16 olle 412           <select name="libraryPreparationProtocol" id="libraryPreparationProtocol" 
3719 22 Jan 16 olle 413             class="auto-init" data-auto-init="focus-on-enter" data-next-focus="tsLibPrepKit"
3719 22 Jan 16 olle 414           ></select>
3719 22 Jan 16 olle 415         </td>
3719 22 Jan 16 olle 416         <td class="status" id="libraryPreparationProtocol.status"></td>
3719 22 Jan 16 olle 417         <td class="help">
3719 22 Jan 16 olle 418           <span id="libraryPreparationProtocol.message" class="message"></span>
3719 22 Jan 16 olle 419           Select the protocol to be used in the library preparation step.
3719 22 Jan 16 olle 420         </td>
3719 22 Jan 16 olle 421       </tr>
3719 22 Jan 16 olle 422       <tr>
3719 22 Jan 16 olle 423         <td class="prompt">TruSight Library Preparation Kit no.</td>
3719 22 Jan 16 olle 424         <td class="input">
3719 22 Jan 16 olle 425           <input type="text" class="text" name="tsLibPrepKit" id="tsLibPrepKit" 
3719 22 Jan 16 olle 426             value="" style="width: 7em;">
3719 22 Jan 16 olle 427         </td>
3719 22 Jan 16 olle 428         <td class="status" id="tsLibPrepKit.status"></td>
3719 22 Jan 16 olle 429         <td class="help">
3719 22 Jan 16 olle 430           <span id="tsLibPrepKit.message" class="message" style="display: none;"></span>
3719 22 Jan 16 olle 431           TruSight Library Preparation Kit no.
3719 22 Jan 16 olle 432         </td>
3719 22 Jan 16 olle 433       </tr>
3719 22 Jan 16 olle 434       <%
3719 22 Jan 16 olle 435       if (isNeoPrep)
3719 22 Jan 16 olle 436       {
3719 22 Jan 16 olle 437         %>
3719 22 Jan 16 olle 438         <tr>
3719 22 Jan 16 olle 439           <td class="prompt">Pool layout</td>
3719 22 Jan 16 olle 440           <td class="input">
3719 22 Jan 16 olle 441             <select name="pool_schema" id="pool_schema" class="required"></select>
3719 22 Jan 16 olle 442           </td>
3719 22 Jan 16 olle 443           <td class="status"></td>
3719 22 Jan 16 olle 444           <td class="help">Pool layout (can't be changed later).</td>
3719 22 Jan 16 olle 445         </tr>
3719 22 Jan 16 olle 446         <tr>
3719 22 Jan 16 olle 447           <td class="prompt">Barcode variant</td>
3719 22 Jan 16 olle 448           <td class="input">
3719 22 Jan 16 olle 449             <select name="barcode_variant" id="barcode_variant" class="required"></select>
3719 22 Jan 16 olle 450           </td>
3719 22 Jan 16 olle 451           <td class="status"></td>
3719 22 Jan 16 olle 452           <td class="help">Barcode variant.</td>
3719 22 Jan 16 olle 453         </tr>
3719 22 Jan 16 olle 454         <%
3719 22 Jan 16 olle 455       }
3719 22 Jan 16 olle 456       else
3719 22 Jan 16 olle 457       {
3719 22 Jan 16 olle 458         %>
3719 22 Jan 16 olle 459         <tr>
3719 22 Jan 16 olle 460 <!--
3719 22 Jan 16 olle 461           <td class="prompt">Preliminary pool layout</td>
3719 22 Jan 16 olle 462 -->
3719 22 Jan 16 olle 463           <td class="prompt">Pool layout</td>
3719 22 Jan 16 olle 464           <td class="input">
3719 22 Jan 16 olle 465             <select name="pool_schema" id="pool_schema" class="required"></select>
3719 22 Jan 16 olle 466           </td>
3719 22 Jan 16 olle 467           <td class="status"></td>
3719 22 Jan 16 olle 468 <!--
3719 22 Jan 16 olle 469           <td class="help">Preliminary pool layout (can be changed later).</td>
3719 22 Jan 16 olle 470 -->
3719 22 Jan 16 olle 471           <td class="help">Pool layout.</td>
3719 22 Jan 16 olle 472         </tr>
3719 22 Jan 16 olle 473         <%
3719 22 Jan 16 olle 474       }
3719 22 Jan 16 olle 475       %>
3719 22 Jan 16 olle 476 <!--
3719 22 Jan 16 olle 477       <tr>
3719 22 Jan 16 olle 478         <td class="prompt">Control to use</td>
3719 22 Jan 16 olle 479         <td class="input">
3719 22 Jan 16 olle 480           <select name="control" class="required"></select>
3719 22 Jan 16 olle 481         </td>
3719 22 Jan 16 olle 482         <td class="status"></td>
3719 22 Jan 16 olle 483         <td class="help">
3719 22 Jan 16 olle 484           Select the Control tube to use. If not known, the
3719 22 Jan 16 olle 485           generic <b>Control.d</b> should be used.
3719 22 Jan 16 olle 486         </td>
3719 22 Jan 16 olle 487       </tr>
3719 22 Jan 16 olle 488 -->
3719 22 Jan 16 olle 489 <!--
3719 22 Jan 16 olle 490       <tr>
3719 22 Jan 16 olle 491         <td class="prompt">Amount of DNA</td>
3719 22 Jan 16 olle 492         <td class="input">
3719 22 Jan 16 olle 493 -->
3719 22 Jan 16 olle 494 <!--
3719 22 Jan 16 olle 495           Normal 
3719 22 Jan 16 olle 496           <input type="text" class="text required" name="quantity_regular" id="quantity_regular"
3719 22 Jan 16 olle 497             value="<%=isNeoPrep ? "0.1" : "1.1"%>" style="width: 4em;">µg,
3719 22 Jan 16 olle 498           QC 
3719 22 Jan 16 olle 499           <input type="text" class="text required" name="quantity_qc" id="quantity_qc"
3719 22 Jan 16 olle 500             value="1.22" style="width: 4em;" <%=isNeoPrep ? "disabled" : "" %>>µg
3719 22 Jan 16 olle 501 -->
3719 22 Jan 16 olle 502 <!--
3719 22 Jan 16 olle 503           Normal 
3719 22 Jan 16 olle 504           <input type="text" class="text required" name="quantity_regular" id="quantity_regular"
3719 22 Jan 16 olle 505             value="<%=isNeoPrep ? "0.1" : "1.1"%>" style="width: 4em;">µg
3719 22 Jan 16 olle 506         </td>
3719 22 Jan 16 olle 507         <td class="status" id="quantities.status"></td>
3719 22 Jan 16 olle 508 -->
3719 22 Jan 16 olle 509 <!--
3719 22 Jan 16 olle 510         <td class="help">
3719 22 Jan 16 olle 511           <span id="quantities.message" class="message" style="display: none;"></span>
3719 22 Jan 16 olle 512           Specify the amount of DNA to use. Aliquots for QC usually need 0.12µg extra.
3719 22 Jan 16 olle 513         </td>
3719 22 Jan 16 olle 514 -->
3719 22 Jan 16 olle 515 <!--
3719 22 Jan 16 olle 516         <td class="help">
3719 22 Jan 16 olle 517           <span id="quantities.message" class="message" style="display: none;"></span>
3719 22 Jan 16 olle 518           Specify the amount of DNA to use.
3719 22 Jan 16 olle 519         </td>
3719 22 Jan 16 olle 520       </tr>
3719 22 Jan 16 olle 521 -->
3719 22 Jan 16 olle 522       <tr>
3719 22 Jan 16 olle 523         <td class="prompt">Minimum volume of DNA</td>
3719 22 Jan 16 olle 524         <td class="input">
3719 22 Jan 16 olle 525           Normal 
3719 22 Jan 16 olle 526           <input type="text" class="text required" name="min_vol_dna" id="min_vol_dna"
3719 22 Jan 16 olle 527             value="<%=isNeoPrep ? "1.0" : "1.0"%>" style="width: 4em;">µl
3719 22 Jan 16 olle 528         </td>
3719 22 Jan 16 olle 529         <td class="status" id="min_vol_dna.status"></td>
3719 22 Jan 16 olle 530         <td class="help">
3719 22 Jan 16 olle 531           <span id="min_vol_dna.message" class="message" style="display: none;"></span>
3719 22 Jan 16 olle 532           Specify the minimum volume of DNA to use per aliquot.
3719 22 Jan 16 olle 533         </td>
3719 22 Jan 16 olle 534       </tr>
3719 22 Jan 16 olle 535       <tr class="align-top">
3719 22 Jan 16 olle 536         <td class="prompt">Comments</td>
3719 22 Jan 16 olle 537         <td class="input">
3719 22 Jan 16 olle 538           <textarea rows="2" name="comments" id="comments"></textarea>
3719 22 Jan 16 olle 539         </td>
3719 22 Jan 16 olle 540         <td class="status"></td>
3719 22 Jan 16 olle 541         <td class="help">Comments about the new plate.</td>
3719 22 Jan 16 olle 542       </tr>
3719 22 Jan 16 olle 543       <tr class="align-top">
3719 22 Jan 16 olle 544         <td class="prompt">Show</td>
3719 22 Jan 16 olle 545         <td class="input" colspan="2">
3719 22 Jan 16 olle 546           <table>
3719 22 Jan 16 olle 547           <tr>
3719 22 Jan 16 olle 548             <td>
3719 22 Jan 16 olle 549               <input type="checkbox" name="location" id="location"><label for="location">Bioplate location (orig. DNA)</label><br>
3719 22 Jan 16 olle 550               <input type="checkbox" name="volumes" id="volumes" checked><label for="volumes">Used volume+water</label><br>
3719 22 Jan 16 olle 551             </td>
3719 22 Jan 16 olle 552             <td>
3719 22 Jan 16 olle 553               <input type="checkbox" name="quality-score" id="quality-score"><label for="quality-score">ΔCt</label><br>
3719 22 Jan 16 olle 554               <input type="checkbox" name="qubitconc" id="qubitconc"><label for="qubitconc">QubitConc</label><br>
3719 22 Jan 16 olle 555             </td>
3719 22 Jan 16 olle 556 <!--
3719 22 Jan 16 olle 557             <td>
3719 22 Jan 16 olle 558               <input type="checkbox" name="quantity" id="quantity" checked><label for="quantity">Remaining quantity</label><br>
3719 22 Jan 16 olle 559               <input type="checkbox" name="qiacube-date" id="qiacube-date" checked><label for="qiacube-date">Qiacube/Dilution date</label><br>
3719 22 Jan 16 olle 560             </td>
3719 22 Jan 16 olle 561 -->
3719 22 Jan 16 olle 562           </tr>
3719 22 Jan 16 olle 563           </table>
3719 22 Jan 16 olle 564         </td>
3719 22 Jan 16 olle 565         <td class="help">Toggles visiblity of the selected information inside each well on the plate.</td>
3719 22 Jan 16 olle 566       </tr>
3719 22 Jan 16 olle 567       <tr>
3719 22 Jan 16 olle 568         <td class="prompt">Warning levels</td>
3719 22 Jan 16 olle 569 <!--
3719 22 Jan 16 olle 570         <td class="input">
3719 22 Jan 16 olle 571           Remaining quantity&lt;<input type="text" class="text" name="warning_quantity" id="warning_quantity"
3719 22 Jan 16 olle 572             value="<%=isNeoPrep ? "0.5" : "2.2"%>" style="width: 4em;">µg,
3719 22 Jan 16 olle 573           Î”Ct&gt;<input type="text" class="text" name="warning_quality_score" id="warning_quality_score" 
3719 22 Jan 16 olle 574             value="8" style="width: 4em;">
3719 22 Jan 16 olle 575         </td>
3719 22 Jan 16 olle 576 -->
3719 22 Jan 16 olle 577         <td class="input">
3719 22 Jan 16 olle 578           Î”Ct&gt;<input type="text" class="text" name="warning_quality_score" id="warning_quality_score" 
3719 22 Jan 16 olle 579             value="8" style="width: 4em;">
3719 22 Jan 16 olle 580         </td>
3719 22 Jan 16 olle 581         <td class="status" id="warnings.status"></td>
3719 22 Jan 16 olle 582 <!--
3719 22 Jan 16 olle 583         <td class="help">
3719 22 Jan 16 olle 584           <span id="warnings.message" class="message" style="display: none;"></span>
3719 22 Jan 16 olle 585           Warning levels for remaining quantity and Î”Ct values.
3719 22 Jan 16 olle 586         </td>
3719 22 Jan 16 olle 587 -->
3719 22 Jan 16 olle 588         <td class="help">
3719 22 Jan 16 olle 589           <span id="warnings.message" class="message" style="display: none;"></span>
3719 22 Jan 16 olle 590           Warning levels for Î”Ct values.
3719 22 Jan 16 olle 591         </td>
3719 22 Jan 16 olle 592       </tr>
3719 22 Jan 16 olle 593       </table>
3719 22 Jan 16 olle 594
3719 22 Jan 16 olle 595       <tbl:toolbar subclass="bottomborder topborder">
3719 22 Jan 16 olle 596 <!--
3719 22 Jan 16 olle 597         <tbl:button 
3719 22 Jan 16 olle 598           id="btnLoadFromFile"
3719 22 Jan 16 olle 599           title="Load from file&hellip;" 
3719 22 Jan 16 olle 600           image="<%=home+"/images/file.png"%>" 
3719 22 Jan 16 olle 601           tooltip="Load plate design from file"
3719 22 Jan 16 olle 602         />
3719 22 Jan 16 olle 603         
3719 22 Jan 16 olle 604         <tbl:button 
3719 22 Jan 16 olle 605           id="btnAutoSelect"
3719 22 Jan 16 olle 606           title="Auto-select&hellip;" 
3719 22 Jan 16 olle 607           image="<%=home+"/images/wizard.png"%>" 
3719 22 Jan 16 olle 608           tooltip="Let the wizard auto-select DNA"
3719 22 Jan 16 olle 609         />
3719 22 Jan 16 olle 610         <tbl:button 
3719 22 Jan 16 olle 611           id="btnManualSelect"
3719 22 Jan 16 olle 612           title="Manual select&hellip;" 
3719 22 Jan 16 olle 613           image="<%=home+"/images/manual_dna.png"%>" 
3719 22 Jan 16 olle 614           tooltip="Manually select DNA items" 
3719 22 Jan 16 olle 615         />
3719 22 Jan 16 olle 616         <tbl:button 
3719 22 Jan 16 olle 617           id="btnControl"
3719 22 Jan 16 olle 618           title="Control" 
3719 22 Jan 16 olle 619           image="<%=home+"/images/stratagene.png"%>" 
3719 22 Jan 16 olle 620           tooltip="Place control in the selected wells" 
3719 22 Jan 16 olle 621         />
3719 22 Jan 16 olle 622         <tbl:button 
3719 22 Jan 16 olle 623           id="btnExternal"
3719 22 Jan 16 olle 624           title="External" 
3719 22 Jan 16 olle 625           image="<%=home+"/images/external.png"%>" 
3719 22 Jan 16 olle 626           tooltip="Mark selected wells as used by external DNA" 
3719 22 Jan 16 olle 627         />
3719 22 Jan 16 olle 628         <tbl:button 
3719 22 Jan 16 olle 629           id="btnToggleQc"
3719 22 Jan 16 olle 630           title="Toggle QC" 
3719 22 Jan 16 olle 631           image="<%=home+"/images/dnaqc.png"%>" 
3719 22 Jan 16 olle 632           tooltip="Select/deselect DNA for QC" 
3719 22 Jan 16 olle 633         />
3719 22 Jan 16 olle 634         <tbl:button 
3719 22 Jan 16 olle 635           id="btnComment"
3719 22 Jan 16 olle 636           title="Comments&hellip;" 
3719 22 Jan 16 olle 637           image="<%=home+"/images/comment.png"%>" 
3719 22 Jan 16 olle 638           tooltip="Add a comment to the selected wells" 
3719 22 Jan 16 olle 639         />
3719 22 Jan 16 olle 640         <tbl:button 
3719 22 Jan 16 olle 641           id="btnCutSelected"
3719 22 Jan 16 olle 642           title="Cut&hellip;" 
3719 22 Jan 16 olle 643           image="<%=home+"/images/cut.png"%>" 
3719 22 Jan 16 olle 644           tooltip="Clear the selected wells" 
3719 22 Jan 16 olle 645         />
3719 22 Jan 16 olle 646         <tbl:button 
3719 22 Jan 16 olle 647           id="btnCopySelected"
3719 22 Jan 16 olle 648           title="Copy" 
3719 22 Jan 16 olle 649           image="<%=home+"/images/copy.png"%>" 
3719 22 Jan 16 olle 650           tooltip="Make a copy of the selected DNA" 
3719 22 Jan 16 olle 651         />
3719 22 Jan 16 olle 652         <tbl:button 
3719 22 Jan 16 olle 653           id="btnPasteToSelected"
3719 22 Jan 16 olle 654           title="Paste" 
3719 22 Jan 16 olle 655           image="<%=home+"/images/paste.png"%>" 
3719 22 Jan 16 olle 656           tooltip="Paste DNA into selected wells" 
3719 22 Jan 16 olle 657         />
3719 22 Jan 16 olle 658 -->
3719 22 Jan 16 olle 659         <tbl:button 
3719 22 Jan 16 olle 660           id="btnSwitch"
3719 22 Jan 16 olle 661           title="Switch" 
3719 22 Jan 16 olle 662           image="<%=home+"/images/switch.png"%>" 
3719 22 Jan 16 olle 663           tooltip="Switch the selected wells (if exactly two)" 
3719 22 Jan 16 olle 664         />
3719 22 Jan 16 olle 665       </tbl:toolbar>
3719 22 Jan 16 olle 666
3719 22 Jan 16 olle 667         <div id="flaggedDna" style="margin: 0.5em; display: none; text-align: center;" class="link">
3719 22 Jan 16 olle 668           Flagged DNA items.
3719 22 Jan 16 olle 669         </div>
3719 22 Jan 16 olle 670
3719 22 Jan 16 olle 671         <table id="plate" class="plate <%=isNeoPrep ? "neoprep": "" %> hide-volumes hide-origqubitconc hide-calcqubitconc hide-quality-score hide-qiacube-date" 
3719 22 Jan 16 olle 672           style="margin: 1em auto 0 auto;">
3719 22 Jan 16 olle 673         <%
3719 22 Jan 16 olle 674         int columns = isNeoPrep ? 2 : 12;
3719 22 Jan 16 olle 675         int rows = 8;
3719 22 Jan 16 olle 676         WellCoordinateFormatter rowF = new WellCoordinateFormatter(true);
3719 22 Jan 16 olle 677         WellCoordinateFormatter colF = new WellCoordinateFormatter(false);
3719 22 Jan 16 olle 678         %>
3719 22 Jan 16 olle 679         <tr class="header">
3719 22 Jan 16 olle 680           <%
3719 22 Jan 16 olle 681           if (isNeoPrep) 
3719 22 Jan 16 olle 682           {
3719 22 Jan 16 olle 683             %>
3719 22 Jan 16 olle 684             <td class="barcode-fill barcode-left"></td>
3719 22 Jan 16 olle 685             <%
3719 22 Jan 16 olle 686           }
3719 22 Jan 16 olle 687           %>
3719 22 Jan 16 olle 688           <th>
3719 22 Jan 16 olle 689             <base:icon image="<%=home+"/images/select_all.png"%>" 
3719 22 Jan 16 olle 690               id="iconSpecialSelect"
3719 22 Jan 16 olle 691               tooltip="Select/deselect wells on the plate with specific condition" 
3719 22 Jan 16 olle 692             ></base:icon>
3719 22 Jan 16 olle 693           </th>
3719 22 Jan 16 olle 694           <%
3719 22 Jan 16 olle 695           for (int c = 0; c < columns; ++c)
3719 22 Jan 16 olle 696           {
3719 22 Jan 16 olle 697             %>
3719 22 Jan 16 olle 698             <th class="link auto-init" id="col.<%=c%>"
3719 22 Jan 16 olle 699               data-auto-init="plate-col" data-col="<%=c%>"
3719 22 Jan 16 olle 700               title="Select/deselect all wells in this column"><%=colF.format(c)%></th>
3719 22 Jan 16 olle 701             <%
3719 22 Jan 16 olle 702           }
3719 22 Jan 16 olle 703           if (isNeoPrep) 
3719 22 Jan 16 olle 704           {
3719 22 Jan 16 olle 705             %>
3719 22 Jan 16 olle 706             <th style="border-bottom: 0;"></th>
3719 22 Jan 16 olle 707             <td class="barcode-fill barcode-right"></td>
3719 22 Jan 16 olle 708             <%
3719 22 Jan 16 olle 709           }
3719 22 Jan 16 olle 710           %>
3719 22 Jan 16 olle 711         </tr>
3719 22 Jan 16 olle 712         <tbody>
3719 22 Jan 16 olle 713         <%
3719 22 Jan 16 olle 714         for (int r = 0; r < rows; ++r)
3719 22 Jan 16 olle 715         {
3719 22 Jan 16 olle 716           String row = rowF.format(r);
3719 22 Jan 16 olle 717           %>
3719 22 Jan 16 olle 718           <tr class="row-<%=r%>">
3719 22 Jan 16 olle 719             <%
3719 22 Jan 16 olle 720             if (isNeoPrep)
3719 22 Jan 16 olle 721             {
3719 22 Jan 16 olle 722               row += "<br><span style=\"border-top: 1px solid #A0A0A0;\">"+(r+1)+"</span>";
3719 22 Jan 16 olle 723               %>
3719 22 Jan 16 olle 724               <td class="barcode-well barcode-left" id="barcode.<%=r%>.0" data-col="0" data-row="<%=r%>"></td>
3719 22 Jan 16 olle 725               <%
3719 22 Jan 16 olle 726             }
3719 22 Jan 16 olle 727             %>
3719 22 Jan 16 olle 728             <th class="link auto-init" id="row.<%=r%>"
3719 22 Jan 16 olle 729               data-auto-init="plate-row" data-row="<%=r%>"
3719 22 Jan 16 olle 730               title="Select/deselect all wells in this row"><%=row%></th>
3719 22 Jan 16 olle 731             <%
3719 22 Jan 16 olle 732             for (int c = 0; c < columns; ++c)
3719 22 Jan 16 olle 733             {
3719 22 Jan 16 olle 734               %>
3719 22 Jan 16 olle 735               <td id="well.<%=r%>.<%=c%>" class="well empty primary auto-init"
3719 22 Jan 16 olle 736                 data-auto-init="plate-well" data-col="<%=c%>" data-row="<%=r%>"
3719 22 Jan 16 olle 737                 title="Select/deselect this well">empty</td>
3719 22 Jan 16 olle 738               <%
3719 22 Jan 16 olle 739             }
3719 22 Jan 16 olle 740             if (isNeoPrep)
3719 22 Jan 16 olle 741             {
3719 22 Jan 16 olle 742               %>
3719 22 Jan 16 olle 743               <th><%=rowF.format(r+8)%><br><span style="border-top: 1px solid #A0A0A0;"><%=(r+9)%></span></th>
3719 22 Jan 16 olle 744               <td class="barcode-well barcode-right" id="barcode.<%=r%>.1" data-col="1" data-row="<%=r%>"></td>
3719 22 Jan 16 olle 745               <%
3719 22 Jan 16 olle 746             }
3719 22 Jan 16 olle 747             %>
3719 22 Jan 16 olle 748           </tr>
3719 22 Jan 16 olle 749           <%
3719 22 Jan 16 olle 750         }
3719 22 Jan 16 olle 751         %>
3719 22 Jan 16 olle 752         </tbody>
3719 22 Jan 16 olle 753         <tr id="pool-row">
3719 22 Jan 16 olle 754           <%
3719 22 Jan 16 olle 755           if (isNeoPrep) 
3719 22 Jan 16 olle 756           {
3719 22 Jan 16 olle 757             %>
3719 22 Jan 16 olle 758             <td class="barcode-fill barcode-left"></td>
3719 22 Jan 16 olle 759             <%
3719 22 Jan 16 olle 760           }
3719 22 Jan 16 olle 761           %>
3719 22 Jan 16 olle 762           <th colspan="<%=columns+1%>">&nbsp;</th>
3719 22 Jan 16 olle 763           <%
3719 22 Jan 16 olle 764           if (isNeoPrep) 
3719 22 Jan 16 olle 765           {
3719 22 Jan 16 olle 766             %>
3719 22 Jan 16 olle 767             <td class="barcode-fill barcode-right"></td>
3719 22 Jan 16 olle 768             <%
3719 22 Jan 16 olle 769           }
3719 22 Jan 16 olle 770           %>
3719 22 Jan 16 olle 771         </tr>
3719 22 Jan 16 olle 772         </table>
3719 22 Jan 16 olle 773         <div style="margin: 0.5em; text-align: center;">
3719 22 Jan 16 olle 774 <!--
3719 22 Jan 16 olle 775           <base:icon image="<%=home+"/images/mrnaqc.png"%>" />=Selected for QC
3719 22 Jan 16 olle 776 -->
3719 22 Jan 16 olle 777           <base:icon image="<%=home+"/images/copy.png"%>" style="padding-left: 1em;" />=Replicated DNA
3719 22 Jan 16 olle 778           <base:icon image="<%=home+"/images/error.png"%>" style="padding-left: 1em;" />=Error that prevent plate creation
3719 22 Jan 16 olle 779           <base:icon image="<%=home+"/images/warning.png"%>" style="padding-left: 1em;" />=Warning but plate can be created
3719 22 Jan 16 olle 780         </div>
3719 22 Jan 16 olle 781         <table class="step-form">
3719 22 Jan 16 olle 782         <tr class="align-top">
3719 22 Jan 16 olle 783           <td class="prompt">Lab protocols</td>
3719 22 Jan 16 olle 784           <td class="input">
3719 22 Jan 16 olle 785             <span id="listview" class="link" data-protocol-type="list"><img src="../images/listview.png">&nbsp;List layout</span><br>
3719 22 Jan 16 olle 786             <span id="plateview" class="link" data-protocol-type="plate"><img src="../images/plateview.png">&nbsp;Plate layout</span><br>
3719 22 Jan 16 olle 787           </td>
3719 22 Jan 16 olle 788           <td class="status" id="protocol.status"></td>
3719 22 Jan 16 olle 789           <td class="help">
3719 22 Jan 16 olle 790             <span id="protocol.message" class="message"></span>
3719 22 Jan 16 olle 791             The 'list layout' generates a table with one row for each well on the work plate.
3719 22 Jan 16 olle 792             The 'plate layout' generates a grid with wells arranged according to row and column coordinates.
3719 22 Jan 16 olle 793           </td>
3719 22 Jan 16 olle 794         </tr>
3719 22 Jan 16 olle 795         <tr>
3719 22 Jan 16 olle 796           <td class="prompt">Library preparation file</td>
3719 22 Jan 16 olle 797           <td class="input">
3719 22 Jan 16 olle 798             <base:button id="downloadLibPrepFile" title="Download..."
3719 22 Jan 16 olle 799               image="<%=home + "/images/download.png"%>" style="width:10em;" />
3719 22 Jan 16 olle 800           </td>
3719 22 Jan 16 olle 801           <td class="status" id="downloadLibPrepFile.status"></td>
3719 22 Jan 16 olle 802           <td class="help">
3719 22 Jan 16 olle 803             <span id="downloadLibPrepFile.message" class="message"></span>
3719 22 Jan 16 olle 804             Download and import this file to the Illumina MiSeq software before analysis.
3719 22 Jan 16 olle 805           </td>
3719 22 Jan 16 olle 806         </tr>
3719 22 Jan 16 olle 807         </table>
3719 22 Jan 16 olle 808     </div>
3719 22 Jan 16 olle 809   </div>
3719 22 Jan 16 olle 810
3719 22 Jan 16 olle 811
3719 22 Jan 16 olle 812   <div id="wizard-status"></div>
3719 22 Jan 16 olle 813   
3719 22 Jan 16 olle 814   <table class="navigation" id="navigation">
3719 22 Jan 16 olle 815   <tr>
3719 22 Jan 16 olle 816     <td><base:button id="gocancel" title="Cancel" /></td>
3719 22 Jan 16 olle 817     <td><base:button id="gonext" title="Next" image="<%=home+"/images/gonext.png"%>" /></td>
3719 22 Jan 16 olle 818     <td><base:button id="goregister" title="Register" image="<%=home+"/images/import.png"%>"  /></td>
3719 22 Jan 16 olle 819     <td><base:button id="gorestart" title="Restart" image="<%=home+"/images/goback.png"%>" /></td>
3719 22 Jan 16 olle 820     <td><base:button id="gocreate" title="Create library preparation dilution protocol" image="<%=home+"/images/import.png"%>" /></td>
3719 22 Jan 16 olle 821     <td id="gonext-message" class="message"></td>
3719 22 Jan 16 olle 822   </tr>
3719 22 Jan 16 olle 823   </table>
3719 22 Jan 16 olle 824
3719 22 Jan 16 olle 825   </form>
3719 22 Jan 16 olle 826   <form name="meludi2" action="libprep_plate_protocol2.jsp" method="post" target="_blank" id="wizard" class="wizard">
3719 22 Jan 16 olle 827     <input type="hidden" name="ID" value="<%=ID%>">
3719 22 Jan 16 olle 828     <input type="hidden" name="view" value="list">
3719 22 Jan 16 olle 829     <input type="hidden" name="hiddenSubmitInfo" value="">
3719 22 Jan 16 olle 830     <input type="hidden" name="hiddenNumItems" value="">
3719 22 Jan 16 olle 831     <input type="hidden" name="poolSchema" value="2by48">
3719 22 Jan 16 olle 832     <input type="hidden" name="bioplateName" id="bioplateName" value="">
3719 22 Jan 16 olle 833     <input type="hidden" name="bioplateDescription" id="bioplateDescription" value="">
3719 22 Jan 16 olle 834     <input type="hidden" name="bioplateKitName" id="bioplateKitName" value="">
3719 22 Jan 16 olle 835   </form>
3719 22 Jan 16 olle 836   
3719 22 Jan 16 olle 837   </div>
3719 22 Jan 16 olle 838   </div>
3719 22 Jan 16 olle 839 </base:body>
3719 22 Jan 16 olle 840 </base:page>
3719 22 Jan 16 olle 841 <%
3719 22 Jan 16 olle 842 }
3719 22 Jan 16 olle 843 finally
3719 22 Jan 16 olle 844 {
3719 22 Jan 16 olle 845   if (dc != null) dc.close();
3719 22 Jan 16 olle 846 }
3719 22 Jan 16 olle 847 %>