3652 |
08 Dec 15 |
olle |
1 |
<%@ page |
3652 |
08 Dec 15 |
olle |
2 |
pageEncoding="UTF-8" |
3652 |
08 Dec 15 |
olle |
3 |
session="false" |
3652 |
08 Dec 15 |
olle |
4 |
import="net.sf.basedb.core.Application" |
3652 |
08 Dec 15 |
olle |
5 |
import="net.sf.basedb.core.User" |
3652 |
08 Dec 15 |
olle |
6 |
import="net.sf.basedb.core.DbControl" |
3652 |
08 Dec 15 |
olle |
7 |
import="net.sf.basedb.core.SessionControl" |
3652 |
08 Dec 15 |
olle |
8 |
import="net.sf.basedb.clients.web.Base" |
3652 |
08 Dec 15 |
olle |
9 |
import="net.sf.basedb.clients.web.util.HTML" |
3652 |
08 Dec 15 |
olle |
10 |
import="net.sf.basedb.clients.web.extensions.ExtensionsControl" |
3652 |
08 Dec 15 |
olle |
11 |
import="net.sf.basedb.util.Values" |
3652 |
08 Dec 15 |
olle |
12 |
import="net.sf.basedb.util.formatter.WellCoordinateFormatter" |
3652 |
08 Dec 15 |
olle |
13 |
%> |
3652 |
08 Dec 15 |
olle |
14 |
<%@ taglib prefix="base" uri="/WEB-INF/base.tld" %> |
3652 |
08 Dec 15 |
olle |
15 |
<%@ taglib prefix="m" uri="/WEB-INF/menu.tld" %> |
3652 |
08 Dec 15 |
olle |
16 |
<%@ taglib prefix="p" uri="/WEB-INF/path.tld" %> |
3652 |
08 Dec 15 |
olle |
17 |
<%@ taglib prefix="tbl" uri="/WEB-INF/table.tld" %> |
3652 |
08 Dec 15 |
olle |
18 |
<% |
3652 |
08 Dec 15 |
olle |
19 |
final SessionControl sc = Base.getExistingSessionControl(request, true); |
3652 |
08 Dec 15 |
olle |
20 |
final String ID = sc.getId(); |
3652 |
08 Dec 15 |
olle |
21 |
final float scale = Base.getScale(sc); |
3652 |
08 Dec 15 |
olle |
22 |
final String home = ExtensionsControl.getHomeUrl("net.sf.basedb.meludi"); |
3652 |
08 Dec 15 |
olle |
23 |
final boolean isNeoPrep = Values.getBoolean(request.getParameter("neoprep")); |
3652 |
08 Dec 15 |
olle |
24 |
DbControl dc = null; |
3652 |
08 Dec 15 |
olle |
25 |
try |
3652 |
08 Dec 15 |
olle |
26 |
{ |
3652 |
08 Dec 15 |
olle |
27 |
dc = sc.newDbControl(); |
3652 |
08 Dec 15 |
olle |
28 |
final User user = User.getById(dc, sc.getLoggedInUserId()); |
3652 |
08 Dec 15 |
olle |
29 |
%> |
3652 |
08 Dec 15 |
olle |
30 |
<base:page type="default"> |
3652 |
08 Dec 15 |
olle |
31 |
<base:head |
3652 |
08 Dec 15 |
olle |
32 |
scripts="~../meludi-2.js,~inspect_start_plate.js,~plate.js,~pools.js,js-draw.js" |
3652 |
08 Dec 15 |
olle |
33 |
styles="path.css,toolbar.css,~../css/meludi-2.css,~../css/startplate.css" |
3652 |
08 Dec 15 |
olle |
34 |
> |
3652 |
08 Dec 15 |
olle |
35 |
<style> |
3652 |
08 Dec 15 |
olle |
36 |
|
3652 |
08 Dec 15 |
olle |
37 |
/* Empty wells should have grayed, italic text */ |
3652 |
08 Dec 15 |
olle |
38 |
.well.empty |
3652 |
08 Dec 15 |
olle |
39 |
{ |
3652 |
08 Dec 15 |
olle |
40 |
text-align: center; |
3652 |
08 Dec 15 |
olle |
41 |
vertical-align: middle; |
3652 |
08 Dec 15 |
olle |
42 |
font-style: italic; |
3652 |
08 Dec 15 |
olle |
43 |
color: #999999; |
3652 |
08 Dec 15 |
olle |
44 |
} |
3652 |
08 Dec 15 |
olle |
45 |
|
3652 |
08 Dec 15 |
olle |
46 |
/* A well assigned for QC include a background icon as indicator */ |
3652 |
08 Dec 15 |
olle |
47 |
.well.qc |
3652 |
08 Dec 15 |
olle |
48 |
{ |
3652 |
08 Dec 15 |
olle |
49 |
background-image: url('../images/mrnaqc.png'); |
3652 |
08 Dec 15 |
olle |
50 |
background-position: 98% 25%; |
3652 |
08 Dec 15 |
olle |
51 |
background-repeat: no-repeat; |
3652 |
08 Dec 15 |
olle |
52 |
} |
3652 |
08 Dec 15 |
olle |
53 |
|
3652 |
08 Dec 15 |
olle |
54 |
/* A well which contain replicate DNA is also marked with an icon */ |
3652 |
08 Dec 15 |
olle |
55 |
.well.replicate |
3652 |
08 Dec 15 |
olle |
56 |
{ |
3652 |
08 Dec 15 |
olle |
57 |
background-image: url('../images/copy.png'); |
3652 |
08 Dec 15 |
olle |
58 |
background-position: 98% 25%; |
3652 |
08 Dec 15 |
olle |
59 |
background-repeat: no-repeat; |
3652 |
08 Dec 15 |
olle |
60 |
} |
3652 |
08 Dec 15 |
olle |
61 |
|
3652 |
08 Dec 15 |
olle |
62 |
/* A well that is both a replicate and QC need to re-arrange the icons a bit */ |
3652 |
08 Dec 15 |
olle |
63 |
.well.qc.replicate |
3652 |
08 Dec 15 |
olle |
64 |
{ |
3652 |
08 Dec 15 |
olle |
65 |
background-image: url('../images/mrnaqc.png'), url('../images/copy.png'); |
3652 |
08 Dec 15 |
olle |
66 |
background-position: 98% 25%, 98% 75%; |
3652 |
08 Dec 15 |
olle |
67 |
background-repeat: no-repeat; |
3652 |
08 Dec 15 |
olle |
68 |
} |
3652 |
08 Dec 15 |
olle |
69 |
|
3652 |
08 Dec 15 |
olle |
70 |
.well .missing |
3652 |
08 Dec 15 |
olle |
71 |
{ |
3652 |
08 Dec 15 |
olle |
72 |
font-style: italic; |
3652 |
08 Dec 15 |
olle |
73 |
} |
3652 |
08 Dec 15 |
olle |
74 |
|
3652 |
08 Dec 15 |
olle |
75 |
.kitwell |
3652 |
08 Dec 15 |
olle |
76 |
{ |
3652 |
08 Dec 15 |
olle |
77 |
height: 30px; |
3652 |
08 Dec 15 |
olle |
78 |
max-height: 30px; |
3652 |
08 Dec 15 |
olle |
79 |
min-height: 30px; |
3652 |
08 Dec 15 |
olle |
80 |
width: 35px; |
3652 |
08 Dec 15 |
olle |
81 |
max-width: 35px; |
3652 |
08 Dec 15 |
olle |
82 |
min-width: 35px; |
3652 |
08 Dec 15 |
olle |
83 |
font-weight: bold; |
3652 |
08 Dec 15 |
olle |
84 |
font-size: 75%; |
3652 |
08 Dec 15 |
olle |
85 |
vertical-align: middle; |
3652 |
08 Dec 15 |
olle |
86 |
text-align: center; |
3652 |
08 Dec 15 |
olle |
87 |
color: #C0C0C0; |
3652 |
08 Dec 15 |
olle |
88 |
} |
3652 |
08 Dec 15 |
olle |
89 |
|
3652 |
08 Dec 15 |
olle |
90 |
.kitwell.empty |
3652 |
08 Dec 15 |
olle |
91 |
{ |
3652 |
08 Dec 15 |
olle |
92 |
background-color: #E0E0E0; |
3652 |
08 Dec 15 |
olle |
93 |
pointer-events: none; |
3652 |
08 Dec 15 |
olle |
94 |
} |
3652 |
08 Dec 15 |
olle |
95 |
|
3652 |
08 Dec 15 |
olle |
96 |
.kitwell.unused |
3652 |
08 Dec 15 |
olle |
97 |
{ |
3652 |
08 Dec 15 |
olle |
98 |
background-color: #A0C0A0; |
3652 |
08 Dec 15 |
olle |
99 |
pointer-events: none; |
3652 |
08 Dec 15 |
olle |
100 |
} |
3652 |
08 Dec 15 |
olle |
101 |
|
3652 |
08 Dec 15 |
olle |
102 |
.kitwell.effunused |
3652 |
08 Dec 15 |
olle |
103 |
{ |
3652 |
08 Dec 15 |
olle |
104 |
background-color: #A0E0A0; |
3652 |
08 Dec 15 |
olle |
105 |
pointer-events: none; |
3652 |
08 Dec 15 |
olle |
106 |
} |
3652 |
08 Dec 15 |
olle |
107 |
|
3652 |
08 Dec 15 |
olle |
108 |
.kitwell.reserved |
3652 |
08 Dec 15 |
olle |
109 |
{ |
3652 |
08 Dec 15 |
olle |
110 |
background-color: #E0E0A0; |
3652 |
08 Dec 15 |
olle |
111 |
pointer-events: none; |
3652 |
08 Dec 15 |
olle |
112 |
} |
3652 |
08 Dec 15 |
olle |
113 |
|
3652 |
08 Dec 15 |
olle |
114 |
.plate.hide-location .location |
3652 |
08 Dec 15 |
olle |
115 |
{ |
3652 |
08 Dec 15 |
olle |
116 |
display: none; |
3652 |
08 Dec 15 |
olle |
117 |
} |
3652 |
08 Dec 15 |
olle |
118 |
.plate.hide-quantity .quantity |
3652 |
08 Dec 15 |
olle |
119 |
{ |
3652 |
08 Dec 15 |
olle |
120 |
display: none; |
3652 |
08 Dec 15 |
olle |
121 |
} |
3652 |
08 Dec 15 |
olle |
122 |
.plate.hide-volumes .volumes |
3652 |
08 Dec 15 |
olle |
123 |
{ |
3652 |
08 Dec 15 |
olle |
124 |
display: none; |
3652 |
08 Dec 15 |
olle |
125 |
} |
3667 |
15 Dec 15 |
olle |
126 |
.plate.hide-origqubitconc .origqubitconc |
3652 |
08 Dec 15 |
olle |
127 |
{ |
3652 |
08 Dec 15 |
olle |
128 |
display: none; |
3652 |
08 Dec 15 |
olle |
129 |
} |
3667 |
15 Dec 15 |
olle |
130 |
.plate.hide-calcqubitconc .calcqubitconc |
3667 |
15 Dec 15 |
olle |
131 |
{ |
3667 |
15 Dec 15 |
olle |
132 |
display: none; |
3667 |
15 Dec 15 |
olle |
133 |
} |
3652 |
08 Dec 15 |
olle |
134 |
.plate.hide-quality-score .quality-score |
3652 |
08 Dec 15 |
olle |
135 |
{ |
3652 |
08 Dec 15 |
olle |
136 |
display: none; |
3652 |
08 Dec 15 |
olle |
137 |
} |
3652 |
08 Dec 15 |
olle |
138 |
.plate.hide-qiacube-date .qiacube-date |
3652 |
08 Dec 15 |
olle |
139 |
{ |
3652 |
08 Dec 15 |
olle |
140 |
display: none; |
3652 |
08 Dec 15 |
olle |
141 |
} |
3652 |
08 Dec 15 |
olle |
142 |
.plate.hide-qiacube-date .dilution-date |
3652 |
08 Dec 15 |
olle |
143 |
{ |
3652 |
08 Dec 15 |
olle |
144 |
display: none; |
3652 |
08 Dec 15 |
olle |
145 |
} |
3652 |
08 Dec 15 |
olle |
146 |
.volume |
3652 |
08 Dec 15 |
olle |
147 |
{ |
3652 |
08 Dec 15 |
olle |
148 |
color: #C80000; |
3652 |
08 Dec 15 |
olle |
149 |
} |
3652 |
08 Dec 15 |
olle |
150 |
.water |
3652 |
08 Dec 15 |
olle |
151 |
{ |
3652 |
08 Dec 15 |
olle |
152 |
color: #0000C8; |
3652 |
08 Dec 15 |
olle |
153 |
} |
3652 |
08 Dec 15 |
olle |
154 |
.comment |
3652 |
08 Dec 15 |
olle |
155 |
{ |
3652 |
08 Dec 15 |
olle |
156 |
font-style: italic; |
3652 |
08 Dec 15 |
olle |
157 |
} |
3652 |
08 Dec 15 |
olle |
158 |
.indexprimer |
3652 |
08 Dec 15 |
olle |
159 |
{ |
3652 |
08 Dec 15 |
olle |
160 |
text-align: center; |
3652 |
08 Dec 15 |
olle |
161 |
color: #C80000; |
3652 |
08 Dec 15 |
olle |
162 |
} |
3652 |
08 Dec 15 |
olle |
163 |
#iconSpecialSelect |
3652 |
08 Dec 15 |
olle |
164 |
{ |
3652 |
08 Dec 15 |
olle |
165 |
cursor: pointer; |
3652 |
08 Dec 15 |
olle |
166 |
} |
3652 |
08 Dec 15 |
olle |
167 |
#flaggedRna:before |
3652 |
08 Dec 15 |
olle |
168 |
{ |
3652 |
08 Dec 15 |
olle |
169 |
content: url('../images/flag.png'); |
3652 |
08 Dec 15 |
olle |
170 |
padding-right: 4px; |
3652 |
08 Dec 15 |
olle |
171 |
} |
3652 |
08 Dec 15 |
olle |
172 |
#select-barcode-all |
3652 |
08 Dec 15 |
olle |
173 |
{ |
3652 |
08 Dec 15 |
olle |
174 |
max-height: 20em; |
3652 |
08 Dec 15 |
olle |
175 |
overflow: auto; |
3652 |
08 Dec 15 |
olle |
176 |
} |
3652 |
08 Dec 15 |
olle |
177 |
|
3652 |
08 Dec 15 |
olle |
178 |
#select-barcode .menuitem |
3652 |
08 Dec 15 |
olle |
179 |
{ |
3652 |
08 Dec 15 |
olle |
180 |
padding-left: 16px; |
3652 |
08 Dec 15 |
olle |
181 |
} |
3652 |
08 Dec 15 |
olle |
182 |
|
3652 |
08 Dec 15 |
olle |
183 |
#select-barcode div.current |
3652 |
08 Dec 15 |
olle |
184 |
{ |
3652 |
08 Dec 15 |
olle |
185 |
font-weight: bold; |
3652 |
08 Dec 15 |
olle |
186 |
background-image: url('../images/selected.gif'); |
3652 |
08 Dec 15 |
olle |
187 |
background-position: 2px 50%; |
3652 |
08 Dec 15 |
olle |
188 |
background-repeat: no-repeat; |
3652 |
08 Dec 15 |
olle |
189 |
} |
3652 |
08 Dec 15 |
olle |
190 |
|
3652 |
08 Dec 15 |
olle |
191 |
#select-barcode .menuitem:hover |
3652 |
08 Dec 15 |
olle |
192 |
{ |
3652 |
08 Dec 15 |
olle |
193 |
padding-left: 14px; |
3652 |
08 Dec 15 |
olle |
194 |
background-position: 0px 50%; |
3652 |
08 Dec 15 |
olle |
195 |
} |
3652 |
08 Dec 15 |
olle |
196 |
|
3652 |
08 Dec 15 |
olle |
197 |
</style> |
3652 |
08 Dec 15 |
olle |
198 |
</base:head> |
3652 |
08 Dec 15 |
olle |
199 |
<base:body> |
3652 |
08 Dec 15 |
olle |
200 |
<p:path><p:pathelement |
3652 |
08 Dec 15 |
olle |
201 |
title="MeLuDI" href="<%="../index.jsp?ID="+ID%>" |
3652 |
08 Dec 15 |
olle |
202 |
/><p:pathelement title="<%=isNeoPrep ? "Inspect NeoPrep plate" : "Inspect start DNA plate" %>" |
3652 |
08 Dec 15 |
olle |
203 |
/></p:path> |
3652 |
08 Dec 15 |
olle |
204 |
|
3652 |
08 Dec 15 |
olle |
205 |
<div id="page-data" class="datacontainer" |
3652 |
08 Dec 15 |
olle |
206 |
data-is-neoprep="<%=isNeoPrep ? 1 : 0%>" |
3652 |
08 Dec 15 |
olle |
207 |
></div> |
3652 |
08 Dec 15 |
olle |
208 |
|
3652 |
08 Dec 15 |
olle |
209 |
<div id="canvas" class="absolutefull" style="z-index: -1;"> |
3652 |
08 Dec 15 |
olle |
210 |
|
3652 |
08 Dec 15 |
olle |
211 |
<div class="content"> |
3652 |
08 Dec 15 |
olle |
212 |
|
3652 |
08 Dec 15 |
olle |
213 |
<form name="meludi" action="libprep_dilution_protocol2.jsp" method="post" target="_blank" id="wizard" class="wizard"> |
3652 |
08 Dec 15 |
olle |
214 |
<input type="hidden" name="ID" value="<%=ID%>"> |
3652 |
08 Dec 15 |
olle |
215 |
<input type="hidden" name="hiddenSubmitInfo" value=""> |
3652 |
08 Dec 15 |
olle |
216 |
<input type="hidden" name="hiddenNumItems" value=""> |
3652 |
08 Dec 15 |
olle |
217 |
<input type="hidden" name="hiddenLibPrepKitId" value=""> |
3685 |
12 Jan 16 |
olle |
218 |
|
3652 |
08 Dec 15 |
olle |
219 |
|
3652 |
08 Dec 15 |
olle |
220 |
<m:menu |
3652 |
08 Dec 15 |
olle |
221 |
id="menuSpecialSelect" |
3652 |
08 Dec 15 |
olle |
222 |
style="display: none; font-weight: normal; text-align: left;"> |
3652 |
08 Dec 15 |
olle |
223 |
<m:menuitem |
3652 |
08 Dec 15 |
olle |
224 |
title="All" |
3652 |
08 Dec 15 |
olle |
225 |
subclass="auto-init" |
3652 |
08 Dec 15 |
olle |
226 |
data-auto-init="special-select" |
3652 |
08 Dec 15 |
olle |
227 |
data-special="all" |
3652 |
08 Dec 15 |
olle |
228 |
tooltip="Select/deselect all wells on the plate" |
3652 |
08 Dec 15 |
olle |
229 |
/> |
3652 |
08 Dec 15 |
olle |
230 |
<m:menuitem |
3652 |
08 Dec 15 |
olle |
231 |
title="None" |
3652 |
08 Dec 15 |
olle |
232 |
subclass="auto-init" |
3652 |
08 Dec 15 |
olle |
233 |
data-auto-init="special-select" |
3652 |
08 Dec 15 |
olle |
234 |
data-special="none" |
3652 |
08 Dec 15 |
olle |
235 |
tooltip="Deselect all wells on the plate (no toggle!)" |
3652 |
08 Dec 15 |
olle |
236 |
/> |
3652 |
08 Dec 15 |
olle |
237 |
<m:menuitem |
3652 |
08 Dec 15 |
olle |
238 |
title="Primary" |
3652 |
08 Dec 15 |
olle |
239 |
subclass="auto-init" |
3652 |
08 Dec 15 |
olle |
240 |
data-auto-init="special-select" |
3652 |
08 Dec 15 |
olle |
241 |
data-special="pools" |
3652 |
08 Dec 15 |
olle |
242 |
tooltip="Select/deselect all primary wells on the plate" |
3652 |
08 Dec 15 |
olle |
243 |
/> |
3652 |
08 Dec 15 |
olle |
244 |
<m:menuitem |
3652 |
08 Dec 15 |
olle |
245 |
title="All empty" |
3652 |
08 Dec 15 |
olle |
246 |
subclass="auto-init" |
3652 |
08 Dec 15 |
olle |
247 |
data-auto-init="special-select" |
3652 |
08 Dec 15 |
olle |
248 |
data-special="empty" |
3652 |
08 Dec 15 |
olle |
249 |
tooltip="Select/deselect all empty wells on the plate" |
3652 |
08 Dec 15 |
olle |
250 |
/> |
3652 |
08 Dec 15 |
olle |
251 |
<m:menuitem |
3652 |
08 Dec 15 |
olle |
252 |
title="Empty in primary" |
3652 |
08 Dec 15 |
olle |
253 |
subclass="auto-init" |
3652 |
08 Dec 15 |
olle |
254 |
data-auto-init="special-select" |
3652 |
08 Dec 15 |
olle |
255 |
data-special="empty-pools" |
3652 |
08 Dec 15 |
olle |
256 |
tooltip="Select/deselect all empty primary wells on the plate" |
3652 |
08 Dec 15 |
olle |
257 |
/> |
3652 |
08 Dec 15 |
olle |
258 |
<m:menuseparator /> |
3652 |
08 Dec 15 |
olle |
259 |
<m:menuitem |
3652 |
08 Dec 15 |
olle |
260 |
icon="<%=home+"/images/stratagene.png"%>" |
3652 |
08 Dec 15 |
olle |
261 |
title="Stratagene" |
3652 |
08 Dec 15 |
olle |
262 |
subclass="auto-init" |
3652 |
08 Dec 15 |
olle |
263 |
data-auto-init="special-select" |
3652 |
08 Dec 15 |
olle |
264 |
data-special="stratagene" |
3652 |
08 Dec 15 |
olle |
265 |
tooltip="Select/deselect all wells with Stratagene" |
3652 |
08 Dec 15 |
olle |
266 |
/> |
3652 |
08 Dec 15 |
olle |
267 |
<m:menuitem |
3652 |
08 Dec 15 |
olle |
268 |
icon="<%=home+"/images/external.png"%>" |
3652 |
08 Dec 15 |
olle |
269 |
title="External" |
3652 |
08 Dec 15 |
olle |
270 |
subclass="auto-init" |
3652 |
08 Dec 15 |
olle |
271 |
data-auto-init="special-select" |
3652 |
08 Dec 15 |
olle |
272 |
data-special="external" |
3652 |
08 Dec 15 |
olle |
273 |
tooltip="Select/deselect all wells with external DNA" |
3652 |
08 Dec 15 |
olle |
274 |
/> |
3652 |
08 Dec 15 |
olle |
275 |
<m:menuitem |
3652 |
08 Dec 15 |
olle |
276 |
icon="<%=home+"/images/copy.png"%>" |
3652 |
08 Dec 15 |
olle |
277 |
title="Replicates" |
3652 |
08 Dec 15 |
olle |
278 |
subclass="auto-init" |
3652 |
08 Dec 15 |
olle |
279 |
data-auto-init="special-select" |
3652 |
08 Dec 15 |
olle |
280 |
data-special="replicates" |
3652 |
08 Dec 15 |
olle |
281 |
tooltip="Select/deselect all wells with replicated DNA" |
3652 |
08 Dec 15 |
olle |
282 |
/> |
3652 |
08 Dec 15 |
olle |
283 |
<m:menuitem |
3652 |
08 Dec 15 |
olle |
284 |
icon="<%=home+"/images/error.png"%>" |
3652 |
08 Dec 15 |
olle |
285 |
title="Error" |
3652 |
08 Dec 15 |
olle |
286 |
subclass="auto-init" |
3652 |
08 Dec 15 |
olle |
287 |
data-auto-init="special-select" |
3652 |
08 Dec 15 |
olle |
288 |
data-special="error" |
3652 |
08 Dec 15 |
olle |
289 |
tooltip="Select/deselect all wells with an error" |
3652 |
08 Dec 15 |
olle |
290 |
/> |
3652 |
08 Dec 15 |
olle |
291 |
<m:menuitem |
3652 |
08 Dec 15 |
olle |
292 |
icon="<%=home+"/images/warning.png"%>" |
3652 |
08 Dec 15 |
olle |
293 |
title="Warning" |
3652 |
08 Dec 15 |
olle |
294 |
subclass="auto-init" |
3652 |
08 Dec 15 |
olle |
295 |
data-auto-init="special-select" |
3652 |
08 Dec 15 |
olle |
296 |
data-special="warning" |
3652 |
08 Dec 15 |
olle |
297 |
tooltip="Select/deselect all wells with an error" |
3652 |
08 Dec 15 |
olle |
298 |
/> |
3652 |
08 Dec 15 |
olle |
299 |
</m:menu> |
3652 |
08 Dec 15 |
olle |
300 |
|
3652 |
08 Dec 15 |
olle |
301 |
<m:menu |
3652 |
08 Dec 15 |
olle |
302 |
id="menuContext" |
3652 |
08 Dec 15 |
olle |
303 |
style="display: none; font-weight: normal; text-align: left;"> |
3652 |
08 Dec 15 |
olle |
304 |
<m:menuitem |
3652 |
08 Dec 15 |
olle |
305 |
id="mnuComment" |
3652 |
08 Dec 15 |
olle |
306 |
title="Comments…" |
3652 |
08 Dec 15 |
olle |
307 |
icon="<%=home+"/images/comment.png"%>" |
3652 |
08 Dec 15 |
olle |
308 |
tooltip="Add a comment to the selected wells" |
3652 |
08 Dec 15 |
olle |
309 |
/> |
3652 |
08 Dec 15 |
olle |
310 |
<!-- |
3652 |
08 Dec 15 |
olle |
<m:menuitem |
3652 |
08 Dec 15 |
olle |
id="mnuToggleQc" |
3652 |
08 Dec 15 |
olle |
title="Toggle QC" |
3652 |
08 Dec 15 |
olle |
icon="<%=home+"/images/mrnaqc.png"%>" |
3652 |
08 Dec 15 |
olle |
tooltip="Select/deselect DNA for QC" |
3652 |
08 Dec 15 |
olle |
316 |
/> |
3652 |
08 Dec 15 |
olle |
<m:menuseparator /> |
3652 |
08 Dec 15 |
olle |
<m:menuitem |
3652 |
08 Dec 15 |
olle |
id="mnuCutSelected" |
3652 |
08 Dec 15 |
olle |
title="Cut…" |
3652 |
08 Dec 15 |
olle |
icon="<%=home+"/images/cut.png"%>" |
3652 |
08 Dec 15 |
olle |
tooltip="Clear the selected wells" |
3652 |
08 Dec 15 |
olle |
323 |
/> |
3652 |
08 Dec 15 |
olle |
<m:menuitem |
3652 |
08 Dec 15 |
olle |
id="mnuCopySelected" |
3652 |
08 Dec 15 |
olle |
title="Copy" |
3652 |
08 Dec 15 |
olle |
icon="<%=home+"/images/copy.png"%>" |
3652 |
08 Dec 15 |
olle |
tooltip="Make a copy of the selected DNA" |
3652 |
08 Dec 15 |
olle |
329 |
/> |
3652 |
08 Dec 15 |
olle |
<m:menuitem |
3652 |
08 Dec 15 |
olle |
id="mnuPasteToSelected" |
3652 |
08 Dec 15 |
olle |
title="Paste" |
3652 |
08 Dec 15 |
olle |
icon="<%=home+"/images/paste.png"%>" |
3652 |
08 Dec 15 |
olle |
tooltip="Paste DNA into selected wells" |
3652 |
08 Dec 15 |
olle |
335 |
/> |
3652 |
08 Dec 15 |
olle |
<m:menuitem |
3652 |
08 Dec 15 |
olle |
id="mnuSwitch" |
3652 |
08 Dec 15 |
olle |
title="Switch" |
3652 |
08 Dec 15 |
olle |
icon="<%=home+"/images/switch.png"%>" |
3652 |
08 Dec 15 |
olle |
tooltip="Switch the selected wells (if exactly two)" |
3652 |
08 Dec 15 |
olle |
341 |
/> |
3652 |
08 Dec 15 |
olle |
<m:menuseparator /> |
3652 |
08 Dec 15 |
olle |
<m:submenu |
3652 |
08 Dec 15 |
olle |
subid="flagMenu" |
3652 |
08 Dec 15 |
olle |
title="Flag" |
3652 |
08 Dec 15 |
olle |
icon="<%=home+"/images/flag.png"%>" |
3652 |
08 Dec 15 |
olle |
347 |
/> |
3652 |
08 Dec 15 |
olle |
348 |
--> |
3652 |
08 Dec 15 |
olle |
349 |
<m:menuseparator id="sepCaseSummary" /> |
3652 |
08 Dec 15 |
olle |
350 |
<m:menuitem |
3652 |
08 Dec 15 |
olle |
351 |
id="mnuCaseSummary" |
3652 |
08 Dec 15 |
olle |
352 |
icon="<%=home+"/images/case_summary.png"%>" |
3652 |
08 Dec 15 |
olle |
353 |
tooltip="Show case summary" |
3652 |
08 Dec 15 |
olle |
354 |
title="Case summary…" |
3652 |
08 Dec 15 |
olle |
355 |
/> |
3652 |
08 Dec 15 |
olle |
356 |
</m:menu> |
3652 |
08 Dec 15 |
olle |
357 |
|
3652 |
08 Dec 15 |
olle |
358 |
<m:menu |
3652 |
08 Dec 15 |
olle |
359 |
id="flagMenu" |
3652 |
08 Dec 15 |
olle |
360 |
style="display: none;" |
3652 |
08 Dec 15 |
olle |
361 |
> |
3652 |
08 Dec 15 |
olle |
362 |
<!-- |
3652 |
08 Dec 15 |
olle |
<m:menuitem |
3652 |
08 Dec 15 |
olle |
id="mnuFlagLowQualityScore" |
3652 |
08 Dec 15 |
olle |
data-flag="LowQualityScore" |
3652 |
08 Dec 15 |
olle |
title="LowQualityScore" |
3652 |
08 Dec 15 |
olle |
tooltip="Flag the selected DNA as having a too low RQS/RIN value" |
3652 |
08 Dec 15 |
olle |
368 |
/> |
3652 |
08 Dec 15 |
olle |
369 |
--> |
3652 |
08 Dec 15 |
olle |
370 |
<m:menuitem |
3652 |
08 Dec 15 |
olle |
371 |
id="mnuFlagLowQualityScore" |
3652 |
08 Dec 15 |
olle |
372 |
data-flag="LowQualityScore" |
3652 |
08 Dec 15 |
olle |
373 |
title="LowQualityScore" |
3652 |
08 Dec 15 |
olle |
374 |
tooltip="Flag the selected DNA as having a too low ΔCt value" |
3652 |
08 Dec 15 |
olle |
375 |
/> |
3652 |
08 Dec 15 |
olle |
376 |
<m:menuitem |
3652 |
08 Dec 15 |
olle |
377 |
id="mnuFlagNotEnoughRemainingQuantity" |
3652 |
08 Dec 15 |
olle |
378 |
data-flag="NotEnoughRemainingQuantity" |
3652 |
08 Dec 15 |
olle |
379 |
title="NotEnoughRemainingQuantity" |
3652 |
08 Dec 15 |
olle |
380 |
tooltip="Flag the selected DNA as having too little remaining quantity" |
3652 |
08 Dec 15 |
olle |
381 |
/> |
3652 |
08 Dec 15 |
olle |
382 |
<m:menuseparator /> |
3652 |
08 Dec 15 |
olle |
383 |
<m:menuitem |
3652 |
08 Dec 15 |
olle |
384 |
id="mnuFlagOther" |
3652 |
08 Dec 15 |
olle |
385 |
data-flag="ManualFlag" |
3652 |
08 Dec 15 |
olle |
386 |
title="Other..." |
3652 |
08 Dec 15 |
olle |
387 |
tooltip="Flag the selected DNA for some other reason" |
3652 |
08 Dec 15 |
olle |
388 |
/> |
3652 |
08 Dec 15 |
olle |
389 |
</m:menu> |
3652 |
08 Dec 15 |
olle |
390 |
|
3652 |
08 Dec 15 |
olle |
391 |
<div id="select-barcode" class="menu vertical bg-filled-100" style="width: 15em; z-index: 2; display: none;"> |
3652 |
08 Dec 15 |
olle |
392 |
<div class="menuitem interactable enabled" id="select-barcode-default">Default</div> |
3652 |
08 Dec 15 |
olle |
393 |
<div class="menuseparator" id="select-barcode-default-separator"></div> |
3652 |
08 Dec 15 |
olle |
394 |
<div id="select-barcode-all"></div> |
3652 |
08 Dec 15 |
olle |
395 |
</div> |
3652 |
08 Dec 15 |
olle |
396 |
|
3652 |
08 Dec 15 |
olle |
397 |
<form name="meludi" id="wizard" class="wizard"> |
3652 |
08 Dec 15 |
olle |
398 |
|
3652 |
08 Dec 15 |
olle |
399 |
<div class="step auto-hide" id="step-1"> |
3652 |
08 Dec 15 |
olle |
400 |
<div class="step-no">1</div> |
3652 |
08 Dec 15 |
olle |
401 |
<div class="step-title">Select start plate</div> |
3652 |
08 Dec 15 |
olle |
402 |
<div class="step-content"> |
3652 |
08 Dec 15 |
olle |
403 |
|
3652 |
08 Dec 15 |
olle |
404 |
<table class="step-form"> |
3652 |
08 Dec 15 |
olle |
405 |
<tr class="align-top"> |
3652 |
08 Dec 15 |
olle |
406 |
<td class="prompt">Start plates</td> |
3652 |
08 Dec 15 |
olle |
407 |
<td class="input"> |
3652 |
08 Dec 15 |
olle |
408 |
<select name="startPlate" id="startPlate" size="30"></select> |
3652 |
08 Dec 15 |
olle |
409 |
</td> |
3652 |
08 Dec 15 |
olle |
410 |
<td class="status" id="startPlate.status"></td> |
3652 |
08 Dec 15 |
olle |
411 |
<td class="help"> |
3652 |
08 Dec 15 |
olle |
412 |
<span id="startPlate.message" class="message" ></span> |
3652 |
08 Dec 15 |
olle |
413 |
Select start plate to inspect. |
3652 |
08 Dec 15 |
olle |
414 |
</td> |
3652 |
08 Dec 15 |
olle |
415 |
</tr> |
3652 |
08 Dec 15 |
olle |
416 |
</table> |
3652 |
08 Dec 15 |
olle |
417 |
<select name="extractSourceItems" id="extractSourceItems" multiple size="30"></select> |
3652 |
08 Dec 15 |
olle |
418 |
</div> |
3652 |
08 Dec 15 |
olle |
419 |
</div> |
3652 |
08 Dec 15 |
olle |
420 |
|
3652 |
08 Dec 15 |
olle |
421 |
<div class="step auto-hide" id="step-2"> |
3652 |
08 Dec 15 |
olle |
422 |
<div class="step-no">2</div> |
3652 |
08 Dec 15 |
olle |
423 |
<div class="step-title"><%=isNeoPrep ? "NeoPrep plate" : "Fragmented DNA plate"%></div> |
3652 |
08 Dec 15 |
olle |
424 |
<div class="step-content"> |
3652 |
08 Dec 15 |
olle |
425 |
|
3652 |
08 Dec 15 |
olle |
426 |
<table class="step-form"> |
3652 |
08 Dec 15 |
olle |
427 |
<tr> |
3652 |
08 Dec 15 |
olle |
428 |
<td class="prompt">Name</td> |
3652 |
08 Dec 15 |
olle |
429 |
<td class="input"> |
3652 |
08 Dec 15 |
olle |
430 |
<input type="text" class="text" name="plateName" id="plateName" |
3652 |
08 Dec 15 |
olle |
431 |
value="" style="width: 7em;"> |
3652 |
08 Dec 15 |
olle |
432 |
</td> |
3652 |
08 Dec 15 |
olle |
433 |
<td class="status" id="plateName.status"></td> |
3652 |
08 Dec 15 |
olle |
434 |
<td class="help"> |
3652 |
08 Dec 15 |
olle |
435 |
<span id="plateName.message" class="message" style="display: none;"></span> |
3652 |
08 Dec 15 |
olle |
436 |
DNA start plate |
3652 |
08 Dec 15 |
olle |
437 |
</td> |
3652 |
08 Dec 15 |
olle |
438 |
</tr> |
3652 |
08 Dec 15 |
olle |
439 |
<tr> |
3652 |
08 Dec 15 |
olle |
440 |
<td class="prompt">Protocol</td> |
3652 |
08 Dec 15 |
olle |
441 |
<td class="input"> |
3652 |
08 Dec 15 |
olle |
442 |
<input type="text" class="text" name="libraryPreparationProtocol" id="libraryPreparationProtocol" |
3652 |
08 Dec 15 |
olle |
443 |
value=""> |
3652 |
08 Dec 15 |
olle |
444 |
</td> |
3652 |
08 Dec 15 |
olle |
445 |
<td class="status" id="libraryPreparationProtocol.status"></td> |
3652 |
08 Dec 15 |
olle |
446 |
<td class="help"> |
3652 |
08 Dec 15 |
olle |
447 |
<span id="libraryPreparationProtocol.message" class="message"></span> |
3652 |
08 Dec 15 |
olle |
448 |
Protocol used in the library preparation step. |
3652 |
08 Dec 15 |
olle |
449 |
</td> |
3652 |
08 Dec 15 |
olle |
450 |
</tr> |
3652 |
08 Dec 15 |
olle |
451 |
<tr> |
3652 |
08 Dec 15 |
olle |
452 |
<td class="prompt">TruSight Library Preparation Kit</td> |
3652 |
08 Dec 15 |
olle |
453 |
<td class="input"> |
3652 |
08 Dec 15 |
olle |
454 |
<input type="text" class="text" name="tsLibPrepKit" id="tsLibPrepKit" |
3652 |
08 Dec 15 |
olle |
455 |
value="" style="width: 7em;"> |
3652 |
08 Dec 15 |
olle |
456 |
</td> |
3652 |
08 Dec 15 |
olle |
457 |
<td class="status" id="tsLibPrepKit.status"></td> |
3652 |
08 Dec 15 |
olle |
458 |
<td class="help"> |
3652 |
08 Dec 15 |
olle |
459 |
<span id="tsLibPrepKit.message" class="message" style="display: none;"></span> |
3652 |
08 Dec 15 |
olle |
460 |
TruSight Library Preparation Kit used. |
3652 |
08 Dec 15 |
olle |
461 |
</td> |
3652 |
08 Dec 15 |
olle |
462 |
</tr> |
3652 |
08 Dec 15 |
olle |
463 |
<% |
3652 |
08 Dec 15 |
olle |
464 |
if (isNeoPrep) |
3652 |
08 Dec 15 |
olle |
465 |
{ |
3652 |
08 Dec 15 |
olle |
466 |
%> |
3652 |
08 Dec 15 |
olle |
467 |
<tr> |
3652 |
08 Dec 15 |
olle |
468 |
<td class="prompt">Pool layout</td> |
3652 |
08 Dec 15 |
olle |
469 |
<td class="input"> |
3652 |
08 Dec 15 |
olle |
470 |
<input type="text" class="text" name="pool_schema" id="pool_schema" |
3652 |
08 Dec 15 |
olle |
471 |
value=""> |
3652 |
08 Dec 15 |
olle |
472 |
<!-- |
3652 |
08 Dec 15 |
olle |
<select name="pool_schema" id="pool_schema" class="required"></select> |
3652 |
08 Dec 15 |
olle |
474 |
--> |
3652 |
08 Dec 15 |
olle |
475 |
</td> |
3652 |
08 Dec 15 |
olle |
476 |
<td class="status"></td> |
3652 |
08 Dec 15 |
olle |
477 |
<td class="help">Pool layout (can't be changed later).</td> |
3652 |
08 Dec 15 |
olle |
478 |
</tr> |
3652 |
08 Dec 15 |
olle |
479 |
<tr> |
3652 |
08 Dec 15 |
olle |
480 |
<td class="prompt">Barcode variant</td> |
3652 |
08 Dec 15 |
olle |
481 |
<td class="input"> |
3652 |
08 Dec 15 |
olle |
482 |
<select name="barcode_variant" id="barcode_variant" class="required"></select> |
3652 |
08 Dec 15 |
olle |
483 |
</td> |
3652 |
08 Dec 15 |
olle |
484 |
<td class="status"></td> |
3652 |
08 Dec 15 |
olle |
485 |
<td class="help">Barcode variant.</td> |
3652 |
08 Dec 15 |
olle |
486 |
</tr> |
3652 |
08 Dec 15 |
olle |
487 |
<% |
3652 |
08 Dec 15 |
olle |
488 |
} |
3652 |
08 Dec 15 |
olle |
489 |
else |
3652 |
08 Dec 15 |
olle |
490 |
{ |
3652 |
08 Dec 15 |
olle |
491 |
%> |
3652 |
08 Dec 15 |
olle |
492 |
<tr> |
3652 |
08 Dec 15 |
olle |
493 |
<td class="prompt">Pool layout</td> |
3652 |
08 Dec 15 |
olle |
494 |
<td class="input"> |
3652 |
08 Dec 15 |
olle |
495 |
<select name="pool_schema" id="pool_schema" class="required"></select> |
3652 |
08 Dec 15 |
olle |
496 |
</td> |
3652 |
08 Dec 15 |
olle |
497 |
<td class="status"></td> |
3652 |
08 Dec 15 |
olle |
498 |
<td class="help">Pool layout.</td> |
3652 |
08 Dec 15 |
olle |
499 |
</tr> |
3652 |
08 Dec 15 |
olle |
500 |
<% |
3652 |
08 Dec 15 |
olle |
501 |
} |
3652 |
08 Dec 15 |
olle |
502 |
%> |
3652 |
08 Dec 15 |
olle |
503 |
<!-- |
3652 |
08 Dec 15 |
olle |
<tr> |
3652 |
08 Dec 15 |
olle |
<td class="prompt">Control to use</td> |
3652 |
08 Dec 15 |
olle |
<td class="input"> |
3652 |
08 Dec 15 |
olle |
<select name="control" class="required"></select> |
3652 |
08 Dec 15 |
olle |
</td> |
3652 |
08 Dec 15 |
olle |
<td class="status"></td> |
3652 |
08 Dec 15 |
olle |
<td class="help"> |
3652 |
08 Dec 15 |
olle |
Select the Control tube to use. If not known, the |
3652 |
08 Dec 15 |
olle |
generic <b>Control.d</b> should be used. |
3652 |
08 Dec 15 |
olle |
</td> |
3652 |
08 Dec 15 |
olle |
</tr> |
3652 |
08 Dec 15 |
olle |
515 |
--> |
3652 |
08 Dec 15 |
olle |
516 |
<!-- |
3652 |
08 Dec 15 |
olle |
<tr> |
3652 |
08 Dec 15 |
olle |
<td class="prompt">Amount of DNA</td> |
3652 |
08 Dec 15 |
olle |
<td class="input"> |
3652 |
08 Dec 15 |
olle |
520 |
--> |
3652 |
08 Dec 15 |
olle |
521 |
<!-- |
3652 |
08 Dec 15 |
olle |
Normal |
3652 |
08 Dec 15 |
olle |
<input type="text" class="text required" name="quantity_regular" id="quantity_regular" |
3652 |
08 Dec 15 |
olle |
value="<%=isNeoPrep ? "0.1" : "1.1"%>" style="width: 4em;">µg, |
3652 |
08 Dec 15 |
olle |
QC |
3652 |
08 Dec 15 |
olle |
<input type="text" class="text required" name="quantity_qc" id="quantity_qc" |
3652 |
08 Dec 15 |
olle |
value="1.22" style="width: 4em;" <%=isNeoPrep ? "disabled" : "" %>>µg |
3652 |
08 Dec 15 |
olle |
528 |
--> |
3652 |
08 Dec 15 |
olle |
529 |
<!-- |
3652 |
08 Dec 15 |
olle |
Normal |
3652 |
08 Dec 15 |
olle |
<input type="text" class="text required" name="quantity_regular" id="quantity_regular" |
3652 |
08 Dec 15 |
olle |
value="<%=isNeoPrep ? "0.1" : "1.1"%>" style="width: 4em;">µg |
3652 |
08 Dec 15 |
olle |
</td> |
3652 |
08 Dec 15 |
olle |
<td class="status" id="quantities.status"></td> |
3652 |
08 Dec 15 |
olle |
535 |
--> |
3652 |
08 Dec 15 |
olle |
536 |
<!-- |
3652 |
08 Dec 15 |
olle |
<td class="help"> |
3652 |
08 Dec 15 |
olle |
<span id="quantities.message" class="message" style="display: none;"></span> |
3652 |
08 Dec 15 |
olle |
Specify the amount of DNA to use. Aliquots for QC usually need 0.12µg extra. |
3652 |
08 Dec 15 |
olle |
</td> |
3652 |
08 Dec 15 |
olle |
541 |
--> |
3652 |
08 Dec 15 |
olle |
542 |
<!-- |
3652 |
08 Dec 15 |
olle |
<td class="help"> |
3652 |
08 Dec 15 |
olle |
<span id="quantities.message" class="message" style="display: none;"></span> |
3652 |
08 Dec 15 |
olle |
Specify the amount of DNA to use. |
3652 |
08 Dec 15 |
olle |
</td> |
3652 |
08 Dec 15 |
olle |
</tr> |
3652 |
08 Dec 15 |
olle |
548 |
--> |
3652 |
08 Dec 15 |
olle |
549 |
<tr> |
3652 |
08 Dec 15 |
olle |
550 |
<td class="prompt">Minimum volume of DNA</td> |
3652 |
08 Dec 15 |
olle |
551 |
<td class="input"> |
3652 |
08 Dec 15 |
olle |
552 |
Normal |
3652 |
08 Dec 15 |
olle |
553 |
<input type="text" class="text required" name="min_vol_dna" id="min_vol_dna" |
3652 |
08 Dec 15 |
olle |
554 |
value="<%=isNeoPrep ? "1.0" : "1.0"%>" style="width: 4em;">µl |
3652 |
08 Dec 15 |
olle |
555 |
</td> |
3652 |
08 Dec 15 |
olle |
556 |
<td class="status" id="min_vol_dna.status"></td> |
3652 |
08 Dec 15 |
olle |
557 |
<td class="help"> |
3652 |
08 Dec 15 |
olle |
558 |
<span id="min_vol_dna.message" class="message" style="display: none;"></span> |
3682 |
04 Jan 16 |
olle |
559 |
Specify the minimum volume of DNA to use per aliquot. |
3652 |
08 Dec 15 |
olle |
560 |
</td> |
3652 |
08 Dec 15 |
olle |
561 |
</tr> |
3652 |
08 Dec 15 |
olle |
562 |
<tr class="align-top"> |
3652 |
08 Dec 15 |
olle |
563 |
<td class="prompt">Comments</td> |
3652 |
08 Dec 15 |
olle |
564 |
<td class="input"> |
3652 |
08 Dec 15 |
olle |
565 |
<textarea rows="2" name="comments" id="comments"></textarea> |
3652 |
08 Dec 15 |
olle |
566 |
</td> |
3652 |
08 Dec 15 |
olle |
567 |
<td class="status"></td> |
3652 |
08 Dec 15 |
olle |
568 |
<td class="help">Comments about the new plate.</td> |
3652 |
08 Dec 15 |
olle |
569 |
</tr> |
3652 |
08 Dec 15 |
olle |
570 |
<tr class="align-top"> |
3652 |
08 Dec 15 |
olle |
571 |
<td class="prompt">Show</td> |
3652 |
08 Dec 15 |
olle |
572 |
<td class="input" colspan="2"> |
3652 |
08 Dec 15 |
olle |
573 |
<table> |
3652 |
08 Dec 15 |
olle |
574 |
<tr> |
3652 |
08 Dec 15 |
olle |
575 |
<td> |
3667 |
15 Dec 15 |
olle |
576 |
<input type="checkbox" name="location" id="location"><label for="location">Bioplate location (orig. DNA)</label><br> |
3652 |
08 Dec 15 |
olle |
577 |
<input type="checkbox" name="volumes" id="volumes" checked><label for="volumes">Used volume+water</label><br> |
3652 |
08 Dec 15 |
olle |
578 |
</td> |
3652 |
08 Dec 15 |
olle |
579 |
<td> |
3652 |
08 Dec 15 |
olle |
580 |
<input type="checkbox" name="quality-score" id="quality-score"><label for="quality-score">ΔCt</label><br> |
3652 |
08 Dec 15 |
olle |
581 |
<input type="checkbox" name="qubitconc" id="qubitconc"><label for="qubitconc">QubitConc</label><br> |
3652 |
08 Dec 15 |
olle |
582 |
</td> |
3652 |
08 Dec 15 |
olle |
583 |
<!-- |
3652 |
08 Dec 15 |
olle |
<td> |
3652 |
08 Dec 15 |
olle |
<input type="checkbox" name="quantity" id="quantity" checked><label for="quantity">Remaining quantity</label><br> |
3652 |
08 Dec 15 |
olle |
<input type="checkbox" name="qiacube-date" id="qiacube-date" checked><label for="qiacube-date">Qiacube/Dilution date</label><br> |
3652 |
08 Dec 15 |
olle |
</td> |
3652 |
08 Dec 15 |
olle |
588 |
--> |
3652 |
08 Dec 15 |
olle |
589 |
</tr> |
3652 |
08 Dec 15 |
olle |
590 |
</table> |
3652 |
08 Dec 15 |
olle |
591 |
</td> |
3652 |
08 Dec 15 |
olle |
592 |
<td class="help">Toggles visiblity of the selected information inside each well on the plate.</td> |
3652 |
08 Dec 15 |
olle |
593 |
</tr> |
3652 |
08 Dec 15 |
olle |
594 |
<tr> |
3652 |
08 Dec 15 |
olle |
595 |
<td class="prompt">Warning levels</td> |
3652 |
08 Dec 15 |
olle |
596 |
<!-- |
3652 |
08 Dec 15 |
olle |
<td class="input"> |
3652 |
08 Dec 15 |
olle |
Remaining quantity<<input type="text" class="text" name="warning_quantity" id="warning_quantity" |
3652 |
08 Dec 15 |
olle |
value="<%=isNeoPrep ? "0.5" : "2.2"%>" style="width: 4em;">µg, |
3652 |
08 Dec 15 |
olle |
ΔCt><input type="text" class="text" name="warning_quality_score" id="warning_quality_score" |
3652 |
08 Dec 15 |
olle |
value="8" style="width: 4em;"> |
3652 |
08 Dec 15 |
olle |
</td> |
3652 |
08 Dec 15 |
olle |
603 |
--> |
3652 |
08 Dec 15 |
olle |
604 |
<td class="input"> |
3652 |
08 Dec 15 |
olle |
605 |
ΔCt><input type="text" class="text" name="warning_quality_score" id="warning_quality_score" |
3652 |
08 Dec 15 |
olle |
606 |
value="8" style="width: 4em;"> |
3652 |
08 Dec 15 |
olle |
607 |
</td> |
3652 |
08 Dec 15 |
olle |
608 |
<td class="status" id="warnings.status"></td> |
3652 |
08 Dec 15 |
olle |
609 |
<!-- |
3652 |
08 Dec 15 |
olle |
<td class="help"> |
3652 |
08 Dec 15 |
olle |
<span id="warnings.message" class="message" style="display: none;"></span> |
3652 |
08 Dec 15 |
olle |
Warning levels for remaining quantity and ΔCt values. |
3652 |
08 Dec 15 |
olle |
</td> |
3652 |
08 Dec 15 |
olle |
614 |
--> |
3652 |
08 Dec 15 |
olle |
615 |
<td class="help"> |
3652 |
08 Dec 15 |
olle |
616 |
<span id="warnings.message" class="message" style="display: none;"></span> |
3652 |
08 Dec 15 |
olle |
617 |
Warning levels for ΔCt values. |
3652 |
08 Dec 15 |
olle |
618 |
</td> |
3652 |
08 Dec 15 |
olle |
619 |
</tr> |
3652 |
08 Dec 15 |
olle |
620 |
</table> |
3652 |
08 Dec 15 |
olle |
621 |
|
3652 |
08 Dec 15 |
olle |
622 |
<!-- |
3652 |
08 Dec 15 |
olle |
<tbl:toolbar subclass="bottomborder topborder"> |
3652 |
08 Dec 15 |
olle |
<tbl:button |
3652 |
08 Dec 15 |
olle |
id="btnLoadFromFile" |
3652 |
08 Dec 15 |
olle |
title="Load from file…" |
3652 |
08 Dec 15 |
olle |
image="<%=home+"/images/file.png"%>" |
3652 |
08 Dec 15 |
olle |
tooltip="Load plate design from file" |
3652 |
08 Dec 15 |
olle |
629 |
/> |
3652 |
08 Dec 15 |
olle |
630 |
|
3652 |
08 Dec 15 |
olle |
<tbl:button |
3652 |
08 Dec 15 |
olle |
id="btnAutoSelect" |
3652 |
08 Dec 15 |
olle |
title="Auto-select…" |
3652 |
08 Dec 15 |
olle |
image="<%=home+"/images/wizard.png"%>" |
3652 |
08 Dec 15 |
olle |
tooltip="Let the wizard auto-select DNA" |
3652 |
08 Dec 15 |
olle |
636 |
/> |
3652 |
08 Dec 15 |
olle |
<tbl:button |
3652 |
08 Dec 15 |
olle |
id="btnManualSelect" |
3652 |
08 Dec 15 |
olle |
title="Manual select…" |
3652 |
08 Dec 15 |
olle |
image="<%=home+"/images/manual_dna.png"%>" |
3652 |
08 Dec 15 |
olle |
tooltip="Manually select DNA items" |
3652 |
08 Dec 15 |
olle |
642 |
/> |
3652 |
08 Dec 15 |
olle |
<tbl:button |
3652 |
08 Dec 15 |
olle |
id="btnControl" |
3652 |
08 Dec 15 |
olle |
title="Control" |
3652 |
08 Dec 15 |
olle |
image="<%=home+"/images/stratagene.png"%>" |
3652 |
08 Dec 15 |
olle |
tooltip="Place control in the selected wells" |
3652 |
08 Dec 15 |
olle |
648 |
/> |
3652 |
08 Dec 15 |
olle |
<tbl:button |
3652 |
08 Dec 15 |
olle |
id="btnExternal" |
3652 |
08 Dec 15 |
olle |
title="External" |
3652 |
08 Dec 15 |
olle |
image="<%=home+"/images/external.png"%>" |
3652 |
08 Dec 15 |
olle |
tooltip="Mark selected wells as used by external DNA" |
3652 |
08 Dec 15 |
olle |
654 |
/> |
3652 |
08 Dec 15 |
olle |
<tbl:button |
3652 |
08 Dec 15 |
olle |
id="btnToggleQc" |
3652 |
08 Dec 15 |
olle |
title="Toggle QC" |
3652 |
08 Dec 15 |
olle |
image="<%=home+"/images/dnaqc.png"%>" |
3652 |
08 Dec 15 |
olle |
tooltip="Select/deselect DNA for QC" |
3652 |
08 Dec 15 |
olle |
660 |
/> |
3652 |
08 Dec 15 |
olle |
<tbl:button |
3652 |
08 Dec 15 |
olle |
id="btnComment" |
3652 |
08 Dec 15 |
olle |
title="Comments…" |
3652 |
08 Dec 15 |
olle |
image="<%=home+"/images/comment.png"%>" |
3652 |
08 Dec 15 |
olle |
tooltip="Add a comment to the selected wells" |
3652 |
08 Dec 15 |
olle |
666 |
/> |
3652 |
08 Dec 15 |
olle |
<tbl:button |
3652 |
08 Dec 15 |
olle |
id="btnCutSelected" |
3652 |
08 Dec 15 |
olle |
title="Cut…" |
3652 |
08 Dec 15 |
olle |
image="<%=home+"/images/cut.png"%>" |
3652 |
08 Dec 15 |
olle |
tooltip="Clear the selected wells" |
3652 |
08 Dec 15 |
olle |
672 |
/> |
3652 |
08 Dec 15 |
olle |
<tbl:button |
3652 |
08 Dec 15 |
olle |
id="btnCopySelected" |
3652 |
08 Dec 15 |
olle |
title="Copy" |
3652 |
08 Dec 15 |
olle |
image="<%=home+"/images/copy.png"%>" |
3652 |
08 Dec 15 |
olle |
tooltip="Make a copy of the selected DNA" |
3652 |
08 Dec 15 |
olle |
678 |
/> |
3652 |
08 Dec 15 |
olle |
<tbl:button |
3652 |
08 Dec 15 |
olle |
id="btnPasteToSelected" |
3652 |
08 Dec 15 |
olle |
title="Paste" |
3652 |
08 Dec 15 |
olle |
image="<%=home+"/images/paste.png"%>" |
3652 |
08 Dec 15 |
olle |
tooltip="Paste DNA into selected wells" |
3652 |
08 Dec 15 |
olle |
684 |
/> |
3652 |
08 Dec 15 |
olle |
<tbl:button |
3652 |
08 Dec 15 |
olle |
id="btnSwitch" |
3652 |
08 Dec 15 |
olle |
title="Switch" |
3652 |
08 Dec 15 |
olle |
image="<%=home+"/images/switch.png"%>" |
3652 |
08 Dec 15 |
olle |
tooltip="Switch the selected wells (if exactly two)" |
3652 |
08 Dec 15 |
olle |
690 |
/> |
3652 |
08 Dec 15 |
olle |
</tbl:toolbar> |
3652 |
08 Dec 15 |
olle |
692 |
--> |
3652 |
08 Dec 15 |
olle |
693 |
<div id="flaggedDna" style="margin: 0.5em; display: none; text-align: center;" class="link"> |
3652 |
08 Dec 15 |
olle |
694 |
Flagged DNA items. |
3652 |
08 Dec 15 |
olle |
695 |
</div> |
3652 |
08 Dec 15 |
olle |
696 |
|
3667 |
15 Dec 15 |
olle |
697 |
<table id="plate" class="plate <%=isNeoPrep ? "neoprep": "" %> hide-volumes hide-origqubitconc hide-calcqubitconc hide-quality-score hide-qiacube-date" |
3652 |
08 Dec 15 |
olle |
698 |
style="margin: 1em auto 0 auto;"> |
3652 |
08 Dec 15 |
olle |
699 |
<% |
3652 |
08 Dec 15 |
olle |
700 |
int columns = isNeoPrep ? 2 : 12; |
3652 |
08 Dec 15 |
olle |
701 |
int rows = 8; |
3652 |
08 Dec 15 |
olle |
702 |
WellCoordinateFormatter rowF = new WellCoordinateFormatter(true); |
3652 |
08 Dec 15 |
olle |
703 |
WellCoordinateFormatter colF = new WellCoordinateFormatter(false); |
3652 |
08 Dec 15 |
olle |
704 |
%> |
3652 |
08 Dec 15 |
olle |
705 |
<tr class="header"> |
3652 |
08 Dec 15 |
olle |
706 |
<% |
3652 |
08 Dec 15 |
olle |
707 |
if (isNeoPrep) |
3652 |
08 Dec 15 |
olle |
708 |
{ |
3652 |
08 Dec 15 |
olle |
709 |
%> |
3652 |
08 Dec 15 |
olle |
710 |
<td class="barcode-fill barcode-left"></td> |
3652 |
08 Dec 15 |
olle |
711 |
<% |
3652 |
08 Dec 15 |
olle |
712 |
} |
3652 |
08 Dec 15 |
olle |
713 |
%> |
3652 |
08 Dec 15 |
olle |
714 |
<th> |
3652 |
08 Dec 15 |
olle |
715 |
<base:icon image="<%=home+"/images/select_all.png"%>" |
3652 |
08 Dec 15 |
olle |
716 |
id="iconSpecialSelect" |
3652 |
08 Dec 15 |
olle |
717 |
tooltip="Select/deselect wells on the plate with specific condition" |
3652 |
08 Dec 15 |
olle |
718 |
></base:icon> |
3652 |
08 Dec 15 |
olle |
719 |
</th> |
3652 |
08 Dec 15 |
olle |
720 |
<% |
3652 |
08 Dec 15 |
olle |
721 |
for (int c = 0; c < columns; ++c) |
3652 |
08 Dec 15 |
olle |
722 |
{ |
3652 |
08 Dec 15 |
olle |
723 |
%> |
3652 |
08 Dec 15 |
olle |
724 |
<th class="link auto-init" id="col.<%=c%>" |
3652 |
08 Dec 15 |
olle |
725 |
data-auto-init="plate-col" data-col="<%=c%>" |
3652 |
08 Dec 15 |
olle |
726 |
title="Select/deselect all wells in this column"><%=colF.format(c)%></th> |
3652 |
08 Dec 15 |
olle |
727 |
<% |
3652 |
08 Dec 15 |
olle |
728 |
} |
3652 |
08 Dec 15 |
olle |
729 |
if (isNeoPrep) |
3652 |
08 Dec 15 |
olle |
730 |
{ |
3652 |
08 Dec 15 |
olle |
731 |
%> |
3652 |
08 Dec 15 |
olle |
732 |
<th style="border-bottom: 0;"></th> |
3652 |
08 Dec 15 |
olle |
733 |
<td class="barcode-fill barcode-right"></td> |
3652 |
08 Dec 15 |
olle |
734 |
<% |
3652 |
08 Dec 15 |
olle |
735 |
} |
3652 |
08 Dec 15 |
olle |
736 |
%> |
3652 |
08 Dec 15 |
olle |
737 |
</tr> |
3652 |
08 Dec 15 |
olle |
738 |
<tbody> |
3652 |
08 Dec 15 |
olle |
739 |
<% |
3652 |
08 Dec 15 |
olle |
740 |
for (int r = 0; r < rows; ++r) |
3652 |
08 Dec 15 |
olle |
741 |
{ |
3652 |
08 Dec 15 |
olle |
742 |
String row = rowF.format(r); |
3652 |
08 Dec 15 |
olle |
743 |
%> |
3652 |
08 Dec 15 |
olle |
744 |
<tr class="row-<%=r%>"> |
3652 |
08 Dec 15 |
olle |
745 |
<% |
3652 |
08 Dec 15 |
olle |
746 |
if (isNeoPrep) |
3652 |
08 Dec 15 |
olle |
747 |
{ |
3652 |
08 Dec 15 |
olle |
748 |
row += "<br><span style=\"border-top: 1px solid #A0A0A0;\">"+(r+1)+"</span>"; |
3652 |
08 Dec 15 |
olle |
749 |
%> |
3652 |
08 Dec 15 |
olle |
750 |
<td class="barcode-well barcode-left" id="barcode.<%=r%>.0" data-col="0" data-row="<%=r%>"></td> |
3652 |
08 Dec 15 |
olle |
751 |
<% |
3652 |
08 Dec 15 |
olle |
752 |
} |
3652 |
08 Dec 15 |
olle |
753 |
%> |
3652 |
08 Dec 15 |
olle |
754 |
<th class="link auto-init" id="row.<%=r%>" |
3652 |
08 Dec 15 |
olle |
755 |
data-auto-init="plate-row" data-row="<%=r%>" |
3652 |
08 Dec 15 |
olle |
756 |
title="Select/deselect all wells in this row"><%=row%></th> |
3652 |
08 Dec 15 |
olle |
757 |
<% |
3652 |
08 Dec 15 |
olle |
758 |
for (int c = 0; c < columns; ++c) |
3652 |
08 Dec 15 |
olle |
759 |
{ |
3652 |
08 Dec 15 |
olle |
760 |
%> |
3652 |
08 Dec 15 |
olle |
761 |
<td id="well.<%=r%>.<%=c%>" class="well empty primary auto-init" |
3652 |
08 Dec 15 |
olle |
762 |
data-auto-init="plate-well" data-col="<%=c%>" data-row="<%=r%>" |
3652 |
08 Dec 15 |
olle |
763 |
title="Select/deselect this well">empty</td> |
3652 |
08 Dec 15 |
olle |
764 |
<% |
3652 |
08 Dec 15 |
olle |
765 |
} |
3652 |
08 Dec 15 |
olle |
766 |
if (isNeoPrep) |
3652 |
08 Dec 15 |
olle |
767 |
{ |
3652 |
08 Dec 15 |
olle |
768 |
%> |
3652 |
08 Dec 15 |
olle |
769 |
<th><%=rowF.format(r+8)%><br><span style="border-top: 1px solid #A0A0A0;"><%=(r+9)%></span></th> |
3652 |
08 Dec 15 |
olle |
770 |
<td class="barcode-well barcode-right" id="barcode.<%=r%>.1" data-col="1" data-row="<%=r%>"></td> |
3652 |
08 Dec 15 |
olle |
771 |
<% |
3652 |
08 Dec 15 |
olle |
772 |
} |
3652 |
08 Dec 15 |
olle |
773 |
%> |
3652 |
08 Dec 15 |
olle |
774 |
</tr> |
3652 |
08 Dec 15 |
olle |
775 |
<% |
3652 |
08 Dec 15 |
olle |
776 |
} |
3652 |
08 Dec 15 |
olle |
777 |
%> |
3652 |
08 Dec 15 |
olle |
778 |
</tbody> |
3652 |
08 Dec 15 |
olle |
779 |
<tr id="pool-row"> |
3652 |
08 Dec 15 |
olle |
780 |
<% |
3652 |
08 Dec 15 |
olle |
781 |
if (isNeoPrep) |
3652 |
08 Dec 15 |
olle |
782 |
{ |
3652 |
08 Dec 15 |
olle |
783 |
%> |
3652 |
08 Dec 15 |
olle |
784 |
<td class="barcode-fill barcode-left"></td> |
3652 |
08 Dec 15 |
olle |
785 |
<% |
3652 |
08 Dec 15 |
olle |
786 |
} |
3652 |
08 Dec 15 |
olle |
787 |
%> |
3652 |
08 Dec 15 |
olle |
788 |
<th colspan="<%=columns+1%>"> </th> |
3652 |
08 Dec 15 |
olle |
789 |
<% |
3652 |
08 Dec 15 |
olle |
790 |
if (isNeoPrep) |
3652 |
08 Dec 15 |
olle |
791 |
{ |
3652 |
08 Dec 15 |
olle |
792 |
%> |
3652 |
08 Dec 15 |
olle |
793 |
<td class="barcode-fill barcode-right"></td> |
3652 |
08 Dec 15 |
olle |
794 |
<% |
3652 |
08 Dec 15 |
olle |
795 |
} |
3652 |
08 Dec 15 |
olle |
796 |
%> |
3652 |
08 Dec 15 |
olle |
797 |
</tr> |
3652 |
08 Dec 15 |
olle |
798 |
</table> |
3652 |
08 Dec 15 |
olle |
799 |
<div style="margin: 0.5em; text-align: center;"> |
3652 |
08 Dec 15 |
olle |
800 |
<!-- |
3652 |
08 Dec 15 |
olle |
<base:icon image="<%=home+"/images/mrnaqc.png"%>" />=Selected for QC |
3652 |
08 Dec 15 |
olle |
802 |
--> |
3652 |
08 Dec 15 |
olle |
803 |
<base:icon image="<%=home+"/images/copy.png"%>" style="padding-left: 1em;" />=Replicated DNA |
3652 |
08 Dec 15 |
olle |
804 |
<base:icon image="<%=home+"/images/error.png"%>" style="padding-left: 1em;" />=Error that prevent plate creation |
3652 |
08 Dec 15 |
olle |
805 |
<base:icon image="<%=home+"/images/warning.png"%>" style="padding-left: 1em;" />=Warning but plate can be created |
3652 |
08 Dec 15 |
olle |
806 |
</div> |
3652 |
08 Dec 15 |
olle |
807 |
<table class="step-form"> |
3685 |
12 Jan 16 |
olle |
808 |
<tr class="align-top"> |
3685 |
12 Jan 16 |
olle |
809 |
<td class="prompt">Lab protocols</td> |
3685 |
12 Jan 16 |
olle |
810 |
<td class="input"> |
3685 |
12 Jan 16 |
olle |
811 |
<span id="listview" class="link" data-protocol-type="list"><img src="../images/listview.png"> List layout</span><br> |
3685 |
12 Jan 16 |
olle |
812 |
<span id="plateview" class="link" data-protocol-type="plate"><img src="../images/plateview.png"> Plate layout</span><br> |
3685 |
12 Jan 16 |
olle |
813 |
</td> |
3685 |
12 Jan 16 |
olle |
814 |
<td class="status" id="protocol.status"></td> |
3685 |
12 Jan 16 |
olle |
815 |
<td class="help"> |
3685 |
12 Jan 16 |
olle |
816 |
<span id="protocol.message" class="message"></span> |
3685 |
12 Jan 16 |
olle |
817 |
The 'list layout' generates a table with one row for each well on the work plate. |
3685 |
12 Jan 16 |
olle |
818 |
The 'plate layout' generates a grid with wells arranged according to row and column coordinates. |
3685 |
12 Jan 16 |
olle |
819 |
</td> |
3685 |
12 Jan 16 |
olle |
820 |
</tr> |
3652 |
08 Dec 15 |
olle |
821 |
<tr> |
3652 |
08 Dec 15 |
olle |
822 |
<td class="prompt">Library preparation file</td> |
3652 |
08 Dec 15 |
olle |
823 |
<td class="input"> |
3652 |
08 Dec 15 |
olle |
824 |
<base:button id="downloadLibPrepFile" title="Download..." |
3652 |
08 Dec 15 |
olle |
825 |
image="<%=home + "/images/download.png"%>" style="width:10em;" /> |
3652 |
08 Dec 15 |
olle |
826 |
</td> |
3652 |
08 Dec 15 |
olle |
827 |
<td class="status" id="downloadLibPrepFile.status"></td> |
3652 |
08 Dec 15 |
olle |
828 |
<td class="help"> |
3652 |
08 Dec 15 |
olle |
829 |
<span id="downloadLibPrepFile.message" class="message"></span> |
3652 |
08 Dec 15 |
olle |
830 |
Download and import this file to the Illumina MiSeq software before analysis. |
3652 |
08 Dec 15 |
olle |
831 |
</td> |
3652 |
08 Dec 15 |
olle |
832 |
</tr> |
3652 |
08 Dec 15 |
olle |
833 |
</table> |
3652 |
08 Dec 15 |
olle |
834 |
</div> |
3652 |
08 Dec 15 |
olle |
835 |
</div> |
3652 |
08 Dec 15 |
olle |
836 |
|
3652 |
08 Dec 15 |
olle |
837 |
|
3652 |
08 Dec 15 |
olle |
838 |
<div id="wizard-status"></div> |
3652 |
08 Dec 15 |
olle |
839 |
|
3652 |
08 Dec 15 |
olle |
840 |
<table class="navigation" id="navigation"> |
3652 |
08 Dec 15 |
olle |
841 |
<tr> |
3652 |
08 Dec 15 |
olle |
842 |
<td><base:button id="gocancel" title="Cancel" /></td> |
3652 |
08 Dec 15 |
olle |
843 |
<td><base:button id="gonext" title="Next" image="<%=home+"/images/gonext.png"%>" /></td> |
3652 |
08 Dec 15 |
olle |
844 |
<td><base:button id="goregister" title="Register" image="<%=home+"/images/import.png"%>" /></td> |
3652 |
08 Dec 15 |
olle |
845 |
<td><base:button id="gorestart" title="Restart" image="<%=home+"/images/goback.png"%>" /></td> |
3652 |
08 Dec 15 |
olle |
846 |
<td><base:button id="gocreate" title="Create library preparation dilution protocol" image="<%=home+"/images/import.png"%>" /></td> |
3652 |
08 Dec 15 |
olle |
847 |
<td id="gonext-message" class="message"></td> |
3652 |
08 Dec 15 |
olle |
848 |
</tr> |
3652 |
08 Dec 15 |
olle |
849 |
</table> |
3652 |
08 Dec 15 |
olle |
850 |
|
3652 |
08 Dec 15 |
olle |
851 |
</form> |
3685 |
12 Jan 16 |
olle |
852 |
<form name="meludi2" action="libprep_plate_protocol2.jsp" method="post" target="_blank" id="wizard" class="wizard"> |
3685 |
12 Jan 16 |
olle |
853 |
<input type="hidden" name="ID" value="<%=ID%>"> |
3685 |
12 Jan 16 |
olle |
854 |
<input type="hidden" name="view" value="list"> |
3685 |
12 Jan 16 |
olle |
855 |
<input type="hidden" name="hiddenSubmitInfo" value=""> |
3685 |
12 Jan 16 |
olle |
856 |
<input type="hidden" name="hiddenNumItems" value=""> |
3685 |
12 Jan 16 |
olle |
857 |
<input type="hidden" name="poolSchema" value="2by48"> |
3685 |
12 Jan 16 |
olle |
858 |
<input type="hidden" name="bioplateName" id="bioplateName" value=""> |
3685 |
12 Jan 16 |
olle |
859 |
<input type="hidden" name="bioplateDescription" id="bioplateDescription" value=""> |
3685 |
12 Jan 16 |
olle |
860 |
<input type="hidden" name="bioplateKitName" id="bioplateKitName" value=""> |
3685 |
12 Jan 16 |
olle |
861 |
</form> |
3685 |
12 Jan 16 |
olle |
862 |
|
3652 |
08 Dec 15 |
olle |
863 |
</div> |
3652 |
08 Dec 15 |
olle |
864 |
</div> |
3652 |
08 Dec 15 |
olle |
865 |
</base:body> |
3652 |
08 Dec 15 |
olle |
866 |
</base:page> |
3652 |
08 Dec 15 |
olle |
867 |
<% |
3652 |
08 Dec 15 |
olle |
868 |
} |
3652 |
08 Dec 15 |
olle |
869 |
finally |
3652 |
08 Dec 15 |
olle |
870 |
{ |
3652 |
08 Dec 15 |
olle |
871 |
if (dc != null) dc.close(); |
3652 |
08 Dec 15 |
olle |
872 |
} |
3652 |
08 Dec 15 |
olle |
873 |
%> |