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 |
<td class="prompt">DNA</td> |
3719 |
22 Jan 16 |
olle |
<td class="input"> |
3719 |
22 Jan 16 |
olle |
<select name="extractDnaItems" id="extractDnaItems" multiple size="24"></select> |
3719 |
22 Jan 16 |
olle |
</td> |
3719 |
22 Jan 16 |
olle |
<td class="status" id="extractDnaItems.status"></td> |
3719 |
22 Jan 16 |
olle |
<td class="help"> |
3719 |
22 Jan 16 |
olle |
<span id="extractDnaItems.message" class="message" ></span> |
3719 |
22 Jan 16 |
olle |
Select 1-48 DNA items. For each DNA item, a 10 µl aliquot will |
3719 |
22 Jan 16 |
olle |
be placed on the left (FPA) and right (FPB) side of the |
3719 |
22 Jan 16 |
olle |
start plate, after dilution based on the ΔCt value. |
3719 |
22 Jan 16 |
olle |
</td> |
3719 |
22 Jan 16 |
olle |
</tr> |
3719 |
22 Jan 16 |
olle |
<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 < <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 |
<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 |
<td class="status" id="libPrepKit.status"></td> |
3719 |
22 Jan 16 |
olle |
<td class="help"> |
3719 |
22 Jan 16 |
olle |
<span id="libPrepKit.message" class="message" ></span> |
3719 |
22 Jan 16 |
olle |
Select the library preparation kit to use. |
3719 |
22 Jan 16 |
olle |
</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 |
<tr> |
3719 |
22 Jan 16 |
olle |
<td class="prompt">Name</td> |
3719 |
22 Jan 16 |
olle |
<td class="input" id="plateName"></td> |
3719 |
22 Jan 16 |
olle |
<td class="status"></td> |
3719 |
22 Jan 16 |
olle |
<td class="help">Select DNA plate to use.</td> |
3719 |
22 Jan 16 |
olle |
</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 |
<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 |
<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 |
<tr> |
3719 |
22 Jan 16 |
olle |
<td class="prompt">Control to use</td> |
3719 |
22 Jan 16 |
olle |
<td class="input"> |
3719 |
22 Jan 16 |
olle |
<select name="control" class="required"></select> |
3719 |
22 Jan 16 |
olle |
</td> |
3719 |
22 Jan 16 |
olle |
<td class="status"></td> |
3719 |
22 Jan 16 |
olle |
<td class="help"> |
3719 |
22 Jan 16 |
olle |
Select the Control tube to use. If not known, the |
3719 |
22 Jan 16 |
olle |
generic <b>Control.d</b> should be used. |
3719 |
22 Jan 16 |
olle |
</td> |
3719 |
22 Jan 16 |
olle |
</tr> |
3719 |
22 Jan 16 |
olle |
488 |
--> |
3719 |
22 Jan 16 |
olle |
489 |
<!-- |
3719 |
22 Jan 16 |
olle |
<tr> |
3719 |
22 Jan 16 |
olle |
<td class="prompt">Amount of DNA</td> |
3719 |
22 Jan 16 |
olle |
<td class="input"> |
3719 |
22 Jan 16 |
olle |
493 |
--> |
3719 |
22 Jan 16 |
olle |
494 |
<!-- |
3719 |
22 Jan 16 |
olle |
Normal |
3719 |
22 Jan 16 |
olle |
<input type="text" class="text required" name="quantity_regular" id="quantity_regular" |
3719 |
22 Jan 16 |
olle |
value="<%=isNeoPrep ? "0.1" : "1.1"%>" style="width: 4em;">µg, |
3719 |
22 Jan 16 |
olle |
QC |
3719 |
22 Jan 16 |
olle |
<input type="text" class="text required" name="quantity_qc" id="quantity_qc" |
3719 |
22 Jan 16 |
olle |
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 |
Normal |
3719 |
22 Jan 16 |
olle |
<input type="text" class="text required" name="quantity_regular" id="quantity_regular" |
3719 |
22 Jan 16 |
olle |
value="<%=isNeoPrep ? "0.1" : "1.1"%>" style="width: 4em;">µg |
3719 |
22 Jan 16 |
olle |
</td> |
3719 |
22 Jan 16 |
olle |
<td class="status" id="quantities.status"></td> |
3719 |
22 Jan 16 |
olle |
508 |
--> |
3719 |
22 Jan 16 |
olle |
509 |
<!-- |
3719 |
22 Jan 16 |
olle |
<td class="help"> |
3719 |
22 Jan 16 |
olle |
<span id="quantities.message" class="message" style="display: none;"></span> |
3719 |
22 Jan 16 |
olle |
Specify the amount of DNA to use. Aliquots for QC usually need 0.12µg extra. |
3719 |
22 Jan 16 |
olle |
</td> |
3719 |
22 Jan 16 |
olle |
514 |
--> |
3719 |
22 Jan 16 |
olle |
515 |
<!-- |
3719 |
22 Jan 16 |
olle |
<td class="help"> |
3719 |
22 Jan 16 |
olle |
<span id="quantities.message" class="message" style="display: none;"></span> |
3719 |
22 Jan 16 |
olle |
Specify the amount of DNA to use. |
3719 |
22 Jan 16 |
olle |
</td> |
3719 |
22 Jan 16 |
olle |
</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 |
<td> |
3719 |
22 Jan 16 |
olle |
<input type="checkbox" name="quantity" id="quantity" checked><label for="quantity">Remaining quantity</label><br> |
3719 |
22 Jan 16 |
olle |
<input type="checkbox" name="qiacube-date" id="qiacube-date" checked><label for="qiacube-date">Qiacube/Dilution date</label><br> |
3719 |
22 Jan 16 |
olle |
</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 |
<td class="input"> |
3719 |
22 Jan 16 |
olle |
Remaining quantity<<input type="text" class="text" name="warning_quantity" id="warning_quantity" |
3719 |
22 Jan 16 |
olle |
value="<%=isNeoPrep ? "0.5" : "2.2"%>" style="width: 4em;">µg, |
3719 |
22 Jan 16 |
olle |
ΔCt><input type="text" class="text" name="warning_quality_score" id="warning_quality_score" |
3719 |
22 Jan 16 |
olle |
value="8" style="width: 4em;"> |
3719 |
22 Jan 16 |
olle |
</td> |
3719 |
22 Jan 16 |
olle |
576 |
--> |
3719 |
22 Jan 16 |
olle |
577 |
<td class="input"> |
3719 |
22 Jan 16 |
olle |
578 |
ΔCt><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 |
<td class="help"> |
3719 |
22 Jan 16 |
olle |
<span id="warnings.message" class="message" style="display: none;"></span> |
3719 |
22 Jan 16 |
olle |
Warning levels for remaining quantity and ΔCt values. |
3719 |
22 Jan 16 |
olle |
</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 |
<tbl:button |
3719 |
22 Jan 16 |
olle |
id="btnLoadFromFile" |
3719 |
22 Jan 16 |
olle |
title="Load from file…" |
3719 |
22 Jan 16 |
olle |
image="<%=home+"/images/file.png"%>" |
3719 |
22 Jan 16 |
olle |
tooltip="Load plate design from file" |
3719 |
22 Jan 16 |
olle |
602 |
/> |
3719 |
22 Jan 16 |
olle |
603 |
|
3719 |
22 Jan 16 |
olle |
<tbl:button |
3719 |
22 Jan 16 |
olle |
id="btnAutoSelect" |
3719 |
22 Jan 16 |
olle |
title="Auto-select…" |
3719 |
22 Jan 16 |
olle |
image="<%=home+"/images/wizard.png"%>" |
3719 |
22 Jan 16 |
olle |
tooltip="Let the wizard auto-select DNA" |
3719 |
22 Jan 16 |
olle |
609 |
/> |
3719 |
22 Jan 16 |
olle |
<tbl:button |
3719 |
22 Jan 16 |
olle |
id="btnManualSelect" |
3719 |
22 Jan 16 |
olle |
title="Manual select…" |
3719 |
22 Jan 16 |
olle |
image="<%=home+"/images/manual_dna.png"%>" |
3719 |
22 Jan 16 |
olle |
tooltip="Manually select DNA items" |
3719 |
22 Jan 16 |
olle |
615 |
/> |
3719 |
22 Jan 16 |
olle |
<tbl:button |
3719 |
22 Jan 16 |
olle |
id="btnControl" |
3719 |
22 Jan 16 |
olle |
title="Control" |
3719 |
22 Jan 16 |
olle |
image="<%=home+"/images/stratagene.png"%>" |
3719 |
22 Jan 16 |
olle |
tooltip="Place control in the selected wells" |
3719 |
22 Jan 16 |
olle |
621 |
/> |
3719 |
22 Jan 16 |
olle |
<tbl:button |
3719 |
22 Jan 16 |
olle |
id="btnExternal" |
3719 |
22 Jan 16 |
olle |
title="External" |
3719 |
22 Jan 16 |
olle |
image="<%=home+"/images/external.png"%>" |
3719 |
22 Jan 16 |
olle |
tooltip="Mark selected wells as used by external DNA" |
3719 |
22 Jan 16 |
olle |
627 |
/> |
3719 |
22 Jan 16 |
olle |
<tbl:button |
3719 |
22 Jan 16 |
olle |
id="btnToggleQc" |
3719 |
22 Jan 16 |
olle |
title="Toggle QC" |
3719 |
22 Jan 16 |
olle |
image="<%=home+"/images/dnaqc.png"%>" |
3719 |
22 Jan 16 |
olle |
tooltip="Select/deselect DNA for QC" |
3719 |
22 Jan 16 |
olle |
633 |
/> |
3719 |
22 Jan 16 |
olle |
<tbl:button |
3719 |
22 Jan 16 |
olle |
id="btnComment" |
3719 |
22 Jan 16 |
olle |
title="Comments…" |
3719 |
22 Jan 16 |
olle |
image="<%=home+"/images/comment.png"%>" |
3719 |
22 Jan 16 |
olle |
tooltip="Add a comment to the selected wells" |
3719 |
22 Jan 16 |
olle |
639 |
/> |
3719 |
22 Jan 16 |
olle |
<tbl:button |
3719 |
22 Jan 16 |
olle |
id="btnCutSelected" |
3719 |
22 Jan 16 |
olle |
title="Cut…" |
3719 |
22 Jan 16 |
olle |
image="<%=home+"/images/cut.png"%>" |
3719 |
22 Jan 16 |
olle |
tooltip="Clear the selected wells" |
3719 |
22 Jan 16 |
olle |
645 |
/> |
3719 |
22 Jan 16 |
olle |
<tbl:button |
3719 |
22 Jan 16 |
olle |
id="btnCopySelected" |
3719 |
22 Jan 16 |
olle |
title="Copy" |
3719 |
22 Jan 16 |
olle |
image="<%=home+"/images/copy.png"%>" |
3719 |
22 Jan 16 |
olle |
tooltip="Make a copy of the selected DNA" |
3719 |
22 Jan 16 |
olle |
651 |
/> |
3719 |
22 Jan 16 |
olle |
<tbl:button |
3719 |
22 Jan 16 |
olle |
id="btnPasteToSelected" |
3719 |
22 Jan 16 |
olle |
title="Paste" |
3719 |
22 Jan 16 |
olle |
image="<%=home+"/images/paste.png"%>" |
3719 |
22 Jan 16 |
olle |
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%>"> </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 |
<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"> List layout</span><br> |
3719 |
22 Jan 16 |
olle |
786 |
<span id="plateview" class="link" data-protocol-type="plate"><img src="../images/plateview.png"> 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 |
%> |