source: extensions/net.sf.basedb.reggie/trunk/resources/index.jsp @ 5867

Last change on this file since 5867 was 5867, checked in by Nicklas Nordborg, 22 months ago

References #1231: Add support for sequencing with NovaSeq?

Started to implement a wizard for registering a sample sheet from an external sequencing. A lot of checks are made to try to make sure that only the expected libraries are registered.

The wizard expects that library items have been pre-created and placed on a "External library plate" (it is not possible to do that by a wizard at the moment). The libraries should be without a 'creation date'.

The new wizard will set the 'creation date' to the date found in the sample sheet file (it is possible to manually change this), and associate the library with a barcode. Actual barcode sequences in the sample sheet are verified against the database.

The wizard will then create a single "Pooled library" item for all the libraries as well as a single "Flow cell" item and "Sequencing run". It will try to put in as much information as possible to make it possible for the "auto-confirmation" function to detect when data is available in the run archive and continue with demux and other analysis.

It should also be possible to use the manual "Sequencing ended" wizard.

At the moment, they doesn't work since some information is not yet available. We can probably parse out what we need from the "RunParameters?.xml" file, it just has to be done in a slightly different order.

File size: 51.2 KB
Line 
1<%@ page
2  pageEncoding="UTF-8"
3  session="false"
4  import="net.sf.basedb.core.Application"
5  import="net.sf.basedb.core.User"
6  import="net.sf.basedb.core.Role"
7  import="net.sf.basedb.core.Group"
8  import="net.sf.basedb.core.DbControl"
9  import="net.sf.basedb.core.Item"
10  import="net.sf.basedb.core.Permission"
11  import="net.sf.basedb.core.SessionControl"
12  import="net.sf.basedb.core.SystemItems"
13  import="net.sf.basedb.core.ItemQuery"
14  import="net.sf.basedb.core.query.Expressions"
15  import="net.sf.basedb.core.query.Hql"
16  import="net.sf.basedb.core.query.Restrictions"
17  import="net.sf.basedb.clients.web.Base"
18  import="net.sf.basedb.clients.web.util.HTML"
19  import="net.sf.basedb.clients.web.extensions.ExtensionsControl"
20  import="net.sf.basedb.util.Values"
21  import="java.util.List"
22%>
23<%@ taglib prefix="base" uri="/WEB-INF/base.tld" %>
24<%@ taglib prefix="p" uri="/WEB-INF/path.tld" %>
25<%
26final SessionControl sc = Base.getExistingSessionControl(request, "net.sf.basedb.reggie", true);
27
28final String ID = sc.getId();
29final float scale = Base.getScale(sc);
30final String home = ExtensionsControl.getHomeUrl("net.sf.basedb.reggie");
31final String servletHome = ExtensionsControl.getServletUrl("net.sf.basedb.reggie", "Session");
32DbControl dc = null;
33try
34{
35  dc = sc.newDbControl();
36  final User user = User.getById(dc, sc.getLoggedInUserId());
37  final String lastWizardGroup = Values.getString(sc.getUserClientSetting("reggie.lastWizardGroup"), "sample-processing-section");
38 
39  boolean isAdmin = user.getId() == SystemItems.getId(User.ROOT);
40  boolean isPatientCurator = false;
41  if (!isAdmin)
42  {
43    try
44    {
45      Role admin = Role.getById(dc, SystemItems.getId(Role.ADMINISTRATOR));
46      isAdmin = sc.isMemberOf(admin);
47    }
48    catch (RuntimeException ex)
49    {}
50  }
51  try
52  {
53    ItemQuery<Group> query = Group.getQuery();
54    query.restrict(Restrictions.eq(Hql.property("name"), Expressions.string("PatientCurator")));
55    List<Group> result = query.list(dc);
56    if (result.size() == 1)
57    {
58      isPatientCurator = sc.isMemberOf(result.get(0));
59    }
60  }
61  catch (RuntimeException ex)
62  {}
63%>
64<base:page type="default" >
65<base:head styles="path.css,~css/reggie-2.css" scripts="~index.js,~reggie-2.js">
66<style>
67dl
68{
69  margin-top: 0px;
70  margin-bottom: 1em;
71  padding: 3px;
72}
73dt
74{
75  margin-top: 0.5em;
76  margin-left: 0.5em;
77}
78dd
79{
80  margin-left: 0.5em;
81  margin-bottom: 0.5em;
82  padding-left: 3em;
83}
84ul
85{
86  margin-top: 0px;
87  margin-bottom: 0px;
88  margin-left: 0em;
89  padding-left: 0em;
90}
91li
92{
93  margin-left: 0em;
94}
95img
96{
97  vertical-align: text-bottom;
98}
99.default h3
100{
101  color: #333377;
102  background-color: #E8E8E8;
103  font-weight: bold;
104  margin: 0;
105  padding: 3px 6px 3px 6px;
106  border-width: 1px;
107  font-size: 1.1em;
108}
109.not-implemented
110{
111  filter: url(css/filters.svg#grayscale); /* Firfox, etc */
112  filter: gray; /* IE */
113  opacity: 0.75;
114  pointer-events: none;
115}
116
117.not-implemented:after
118{
119  content: ' -- coming soon';
120}
121
122span.counter
123{
124  color: #666666;
125  font-style: italic;
126}
127
128span.counter.done:before
129{
130  content: '(';
131  padding-right: 1px;
132}
133
134span.counter + .counter.done:before
135{
136  content: '+';
137  padding-left: 2px;
138  padding-right: 2px;
139}
140
141span.counter.done:not(.more):after
142{
143  content: ')';
144  padding-left: 1px;
145}
146
147span.info-warning
148{
149  display: none;
150  color: #666666;
151  font-style: italic;
152  background-image: url('images/warning_small.png');
153  background-repeat: no-repeat;
154  background-position: 0 50%;
155  padding-left: 16px;
156  margin-left: 0.5em;
157}
158
159.require-permission
160{
161  color: #999999;
162  font-style: italic;
163}
164
165.snake-quote
166{
167  width: 32em;
168}
169
170.snake-quote-source
171{
172  margin-top: 0.5em;
173  float: right;
174  font-style: italic;
175}
176
177.snake-quote .notify-message
178{
179  margin: 0;
180}
181
182.snake-quote .notify-message:before
183{
184  margin: 0;
185  content: '';
186}
187
188#summary-stats
189{
190  font-variant: small-caps;
191  font-size: 125%;
192  white-space: nowrap;
193  overflow: hidden;
194}
195
196#activity-log
197{
198 
199}
200
201#activity-log .activity-day
202{
203  font-size: 1.1em;
204  font-weight: bold;
205  margin-top: 0.5em;
206}
207
208#activity-log .activity
209{
210  white-space: nowrap;
211  overflow: hidden;
212  padding: 0.15em 0;
213}
214
215#activity-log .activity.nothing-yet
216{
217  font-style: italic;
218}
219
220
221#activity-log .activity.quote-of-the-day
222{
223  font-style: italic;
224  white-space: normal;
225  text-align: center;
226  margin: 1em 1em 0.5em 0;
227  border-top-width: 1px;
228  border-top-style: dotted;
229  padding-top: 0.5em;
230}
231
232#activity-log .activity-author
233{
234  white-space: nowrap;
235}
236
237#activity-log .activity-author:before
238{
239  content: '–';
240  padding-left: 0.5em;
241  padding-right: 0.25em;
242}
243
244#activity-log .quote-of-the-day .activity-link
245{
246  text-align: right;
247  border-top-width: 1px;
248  border-top-style: dotted;
249  margin-top: 0.5em;
250}
251
252#activity-log .activity-time
253{
254  margin-right: 0.5em;
255  color: #666666;
256}
257
258#activity-log .quote-of-the-day .activity-time
259{
260  display: none;
261}
262
263#activity-log-rss
264{
265  float: right;
266  margin-right: 1em;
267}
268#counter-age-control
269{
270  position: absolute;
271  bottom: 2px;
272  right: 1rem;
273  font-size: 90%;
274}
275
276#counter-refresh, #counter-loading
277{
278  padding-left: 3px;
279  vertical-align: -2px;
280}
281
282div.counter
283{
284  display: inline-block;
285  min-width: 4em;
286  text-align: right;
287  padding-right: 0.25em;
288  font-size: 120%;
289  font-weight: bold;
290}
291
292#more-boxes-are-needed
293{
294  display: none;
295  background-color: #ffff00;
296  font-weight: bold;
297  padding: 2px 0.5em;
298  margin-bottom: 0.25em;
299  margin-left: 0.5em;
300  border-width: 2px;
301  border-radius: 5px;
302}
303
304#more-boxes-are-needed::before
305{
306  content: url('images/warning.png');
307  vertical-align: top;
308  margin-right: 0.25em;
309}
310
311div.group-menu
312{
313  background-color: #F8F8F8;
314  padding: 0.5em 10px 0.5em 1em;
315  border-width: 1px;
316  margin-bottom: 1em;
317  border-radius: 6px;
318}
319
320div.group-menu:hover
321{
322  text-decoration: none;
323  border-right-width: 10px;
324  padding-right: 0;
325}
326
327div.group-menu .group-title
328{
329  font-weight: bold;
330  font-size: 125%;
331  color: #333377;
332  margin-bottom: 0.25em;
333}
334div.group-menu .group-examples span
335{
336  color: #666666;
337  font-style: italic;
338  white-space: nowrap;
339}
340
341div.group-menu .group-examples span:before
342{
343  content: '•';
344  padding-right: 0.25em;
345}
346
347#wizard[data-wizard-group="sample-processing-section"] .group-menu[data-wizard-group="sample-processing-section"],
348#wizard[data-wizard-group="rna-libprep-section"] .group-menu[data-wizard-group="rna-libprep-section"],
349#wizard[data-wizard-group="mips-libprep-section"] .group-menu[data-wizard-group="mips-libprep-section"],
350#wizard[data-wizard-group="personal-information-section"] .group-menu[data-wizard-group="personal-information-section"],
351#wizard[data-wizard-group="statistics-section"] .group-menu[data-wizard-group="statistics-section"],
352#wizard[data-wizard-group="administration-section"] .group-menu[data-wizard-group="administration-section"]
353{
354  background-color: #FFFFF0;
355  border-right-width: 10px;
356  border-right-color: #2288AA;
357  padding-right: 0;
358}
359
360.wizard-group
361{
362  display: none;
363}
364
365#wizard[data-wizard-group="sample-processing-section"] #sample-processing-section,
366#wizard[data-wizard-group="rna-libprep-section"] #rna-libprep-section,
367#wizard[data-wizard-group="mips-libprep-section"] #mips-libprep-section,
368#wizard[data-wizard-group="personal-information-section"] #personal-information-section,
369#wizard[data-wizard-group="statistics-section"] #statistics-section,
370#wizard[data-wizard-group="administration-section"] #administration-section
371{
372  display: block;
373}
374
375</style>
376</base:head>
377<base:body>
378
379  <p:path><p:pathelement title="Reggie" /></p:path>
380
381  <div class="content">
382    <form name="reggie" id="wizard" class="wizard" data-wizard-group="<%=HTML.encodeTags(lastWizardGroup)%>">
383    <div id="wizard-status" style="position: absolute; z-index: 99; left: 25%; right: 25%; top: 25%; height: auto; text-align: center;"></div>
384    <div class="absolutefull" style="width: 30%;">
385      <div class="absolutefull" style="left: 1em; right: 0.5em; ">
386       
387        <div class="group-menu link" data-wizard-group="sample-processing-section">
388          <div class="group-title">Sample processing and histology</div>
389          <div class="group-examples">
390            <span>Registration</span>
391            <span>Partitioning</span>
392            <span>Extraction</span>
393            <span>Quality control</span>
394            <span>Histology scoring</span>
395          </div>
396        </div>
397 
398        <div class="group-menu link" data-wizard-group="rna-libprep-section">
399          <div class="group-title">RNA library preparation and analysis</div>
400          <div class="group-examples">
401            <span>Plate design</span>
402            <span>Library registration</span>
403            <span>Pooling</span>
404            <span>Sequencing</span>
405            <span>Secondary analysis</span>
406          </div>
407        </div>
408         
409        <div class="group-menu link" data-wizard-group="mips-libprep-section">
410          <div class="group-title">MIPs library preparation and analysis</div>
411          <div class="group-examples">
412            <span>Aliquot import</span>
413            <span>Plate design</span>
414            <span>Library registration</span>
415            <span>Pooling</span>
416            <span>Sequencing</span>
417            <span>Secondary analysis</span>
418          </div>
419        </div>
420       
421        <div class="group-menu link" data-wizard-group="personal-information-section">
422          <div class="group-title">Personal information and sample curation</div>
423          <div class="group-examples">
424            <span>Referral forms</span>
425            <span>Retraction</span>
426            <span>INCA</span>
427            <span>Flagged items</span>
428            <span>Batch updates</span>
429            <span>Outtakes</span>
430          </div>
431        </div>
432 
433        <div class="group-menu link" data-wizard-group="statistics-section">
434          <div class="group-title">Statistics and reporting</div>
435          <div class="group-examples">
436            <span>Sample count tables</span>
437            <span>Sample processing plots</span>
438            <span>YellowLabel tracking</span>
439          </div>
440        </div>
441        <%
442        if (isAdmin)
443        {
444          %>
445          <div class="group-menu link" data-wizard-group="administration-section">
446            <div class="group-title">Server administration</div>
447            <div class="group-examples">
448              <span>Installation wizard</span>
449              <span>Configuration</span>
450              <span>Cleanup</span>
451            </div>
452          </div>
453          <%
454        }
455        %>
456      </div>
457    </div>
458   
459    <div class="absolutefull" style="width: 40%; left: 30%; right: auto;">
460      <div class="absolutefull" style="left: 0.5em; right: 0.5em;">
461     
462        <div id="sample-processing-section" class="wizard-group">
463          <h3>Sample processing wizards</h3>
464          <dl class="leftborder rightborder bottomborder has-lib-prep">
465 
466          <dt>
467            <base:icon image="<%=home+"/images/specimen.png" %>" />
468            Specimen tube registration
469          </dt>
470          <dd>
471            <ul>
472            <li><span class="require-permission" data-role="SamplePrep" data-link="sampleproc/specimentube.jsp?ID=<%=ID%>"
473              >Register new specimen tubes</span>.
474            <li><span class="require-permission" data-role="SamplePrep" data-link="sampleproc/store-paused.jsp?ID=<%=ID%>"
475              >Store paused specimen</span>
476              <span class="counter" data-counter="paused-specimen-to-store" 
477                title="Number of paused specimen that has not yet been stored"></span>
478            </ul>
479          </dd>
480 
481          <dt>
482            <base:icon image="<%=home+"/images/partition.png" %>" />
483            <span class="require-permission" data-role="SamplePrep" data-link="sampleproc/partitionform.jsp?ID=<%=ID%>"
484              >Partition wizard</span>
485          </dt>
486          <dd>
487            <ul>
488            <li>Register new partitions of existing specimens
489              <span class="counter more" data-counter="specimen-for-partition"
490                title="Number of unpartitioned specimen"></span><span 
491              class="counter" data-counter="specimen-for-reextraction" 
492                title="Number of specimen for re-extration"></span>
493            </ul>
494          </dd>
495           
496          <dt>
497            <base:icon image="<%=home+"/images/extraction.png" %>" />
498            DNA/RNA extraction wizards
499          </dt>
500          <dd>
501            <ul>
502            <li><span class="require-permission" data-role="SamplePrep" data-link="sampleproc/lysate_reextraction.jsp?ID=<%=ID%>"
503              >Pick lysate for re-extraction</span> 
504              <span class="counter" data-counter="lysates-to-pick-for-reextraction" 
505                title="Number of lysates for re-extraction that must be picked from freezers"></span>
506            <li><span class="require-permission" data-role="SamplePrep" data-link="sampleproc/allprep_protocol.jsp?ID=<%=ID%>"
507              >Lab tracking protocol for Allprep isolation</span> 
508              <span class="counter more" data-counter="lysates-for-allprep" 
509                title="Number of unprocessed lysates"></span><span
510              class="counter" data-counter="lysates-picked-for-rextraction"
511                title="Number of lysates for re-extraction that has been picked from freezers"></span>
512 
513            <li><span class="require-permission" data-role="SamplePrep" data-link="sampleproc/extraction_registration.jsp?ID=<%=ID%>"
514              >DNA/RNA/FlowThrough registration</span> 
515              <span class="counter more" data-counter="lysates-for-allprep" 
516                title="Number of unprocessed lysates"></span><span
517              class="counter" data-counter="lysates-picked-for-rextraction"
518                title="Number of lysates for re-extraction that has been picked from freezers"></span>
519               
520            <li>Normalization
521              <span class="require-permission" data-role="SamplePrep" data-link="sampleproc/rna_normalization.jsp?ID=<%=ID%>"
522              >RNA</span> 
523              <span class="counter" data-counter="rna-to-normalize" title="Number of RNA not yet normalized"></span>
524              <span class="require-permission" data-role="SamplePrep" data-link="sampleproc/dna_normalization.jsp?ID=<%=ID%>"
525              >DNA</span> 
526              <span class="counter" data-counter="dna-to-normalize" title="Number of DNA not yet normalized"></span>
527             
528            </ul>
529          </dd>
530          <dt>
531            <base:icon image="<%=home+"/images/rnaqc.png" %>" />
532            RNA quality control wizards
533          </dt>
534          <dd>
535            <ul>
536            <li><span class="require-permission" data-role="SamplePrep" data-link="sampleproc/rnaqc_aliquot.jsp?ID=<%=ID%>"
537              >Create aliquots on Bioanalyzer/Caliper plates</span> 
538              <span class="counter" data-counter="rna-without-rnaqc" 
539                title="Number of RNA waiting for QC"></span>
540           
541            <li><span class="require-permission" data-role="SamplePrep" data-link="sampleproc/rnaqc_plate_export.jsp?ID=<%=ID%>"
542              >Export Caliper sample names and run parameters</span> 
543              <span class="counter" data-counter="caliper-rnaqc-waiting" 
544                title="Number of active Caliper plates"></span>
545           
546            <li><span class="require-permission" data-role="SamplePrep" data-link="sampleproc/rnaqc_plate_import.jsp?ID=<%=ID%>"
547              >Import RQS scores from Caliper well table file</span> 
548              <span class="counter" data-counter="caliper-rnaqc-waiting"
549                title="Number of active Caliper plates"></span>
550               
551            <li><span class="require-permission" data-role="SamplePrep" data-link="sampleproc/rnaqc_baprotocol.jsp?ID=<%=ID%>"
552              >Lab protocol for BioAnalyzer plates</span> 
553              <span class="counter" data-counter="bioanalyzer-rnaqc-waiting" 
554                title="Number of active BioAnalyzer plates"></span>
555               
556            <li><span class="require-permission" data-role="SamplePrep" data-link="sampleproc/rnaqc_bioanalyzer.jsp?ID=<%=ID%>"
557              >Register RIN scores for BioAnalyzer plates</span> 
558              <span class="counter" data-counter="bioanalyzer-rnaqc-waiting" 
559                title="Number of active BioAnalyzer plates"></span>
560            </ul>
561          </dd>
562          <dt style="margin-bottom: 0.5em;">
563            <base:icon image="<%=home+"/images/box.png" %>" />
564            <span class="require-permission" data-role="SamplePrep" data-link="sampleproc/storage-box.jsp?ID=<%=ID%>"
565              >Storage box creation wizard</span>
566              <span class="counter more" data-counter="empty-storage-boxes" 
567                title="Number of empty storage boxes"></span><span 
568              class="counter" data-counter="empty-paused-storage-boxes" 
569                title="Number of empty storage boxes for paused specimen"></span>
570              <span id="more-boxes-are-needed">More boxes are needed</span>
571          </dt>
572          </dl>
573       
574          <h3>Histology wizards</h3>
575          <dl class="leftborder rightborder bottomborder">     
576          <dt>
577            <base:icon image="<%=home+"/images/histology.png" %>" />
578            Embedding and staining wizards
579          </dt>
580          <dd>
581            <ul>
582            <li><span class="require-permission" data-role="Histology" data-link="sampleproc/histology_protocol.jsp?ID=<%=ID%>"
583              >Lab tracking protocol for FFPE/HE</span> 
584              <span class="counter" data-counter="histology-active-lists" 
585                title="Number of active histology work lists"></span>
586           
587            <li><span class="require-permission" data-role="Histology" data-link="sampleproc/histology_block.jsp?ID=<%=ID%>"
588              >Register paraffin blocks</span> 
589              <span class="counter" data-counter="paraffin-blocks-not-embedded"
590                title="Number of paraffin blocks waiting for registration"></span>
591 
592            <li><span class="require-permission" data-role="Histology" data-link="sampleproc/histology_labels.jsp?ID=<%=ID%>"
593              >Download HE glass labels</span>
594           
595            <li><span class="require-permission" data-role="Histology" data-link="sampleproc/histology_glass.jsp?ID=<%=ID%>"
596              >Register HE glass</span> 
597              <span class="counter" data-counter="paraffin-blocks-without-heglass" 
598                title="Number of paraffin blocks without HE glass"></span>
599            </ul>
600          </dd>
601         
602          <dt>
603            <base:icon image="<%=home+"/images/microscope.png" %>" />
604            Scoring wizard
605          </dt>
606          <dd>
607            <ul>
608            <li><span class="require-permission" data-role="Histology" data-link="sampleproc/histology_score.jsp?ID=<%=ID%>"
609              >Score HE glass</span> 
610              <span class="counter" data-counter="heglass-not-scored" 
611                title="Number of unscored HE glass"></span>
612            </ul>
613          </dd>
614          </dl>
615        </div>
616     
617        <div id="rna-libprep-section" class="wizard-group">
618          <h3>Library preparation wizards</h3>
619          <dl class="leftborder rightborder bottomborder">
620       
621          <dt>
622            <base:icon image="<%=home+"/images/libprep.png" %>" />
623            Library preparation design wizards <span class="counter more" data-counter="rna-without-mrna-or-lib"
624                title="Number of RNA with no child mRNA or Library"></span><span 
625              class="counter" data-counter="normalized-rna-without-mrna-or-lib" 
626                title="Number of pre-normalized RNA with no child mRNA or Library"></span>
627          </dt>
628          <dd>
629            <ul>
630            <li><span class="require-permission" data-role="LibraryPlateDesigner" data-link="libprep/import-external-rna.jsp?ID=<%=ID%>"
631              >Import external RNA</span>
632            <li><span class="require-permission" data-role="LibraryPlateDesigner" data-link="libprep/select_rna.jsp?ID=<%=ID%>"
633              >New manual library preparation</span> 
634              (<span class="require-permission" data-role="LibraryPrep" data-link="libprep/select_rna.jsp?ID=<%=ID%>&autoDesign=1"
635              >auto-design</span>)
636            <li style="display: none;"><span class="require-permission" data-role="LibraryPlateDesigner" data-link="libprep/select_rna.jsp?ID=<%=ID%>&neoprep=1"
637              >New NeoPrep library preparation</span> 
638              (<span class="require-permission" data-role="LibraryPrep" data-link="libprep/select_rna.jsp?ID=<%=ID%>&neoprep=1&autoDesign=1"
639              >auto-design</span>)
640            </ul>
641          </dd>
642         
643          <dt>
644            <base:icon image="<%=home+"/images/pipette.png" %>" />
645            Manual library preparation wizards
646          </dt>
647          <dd>
648            <ul>
649            <li><span class="require-permission" data-role="LibraryPrep" data-link="libprep/mrna_protocol.jsp?ID=<%=ID%>"
650              >Lab protocols for mRNA and cDNA preparation</span> 
651              <span class="counter" data-counter="mrna-plates-not-registered" 
652                title="Number of mRNA plates waiting for registration"></span>
653           
654            <li><span class="require-permission" data-role="LibraryPrep" data-link="libprep/rna_dilution_registration.jsp?ID=<%=ID%>"
655              >RNA dilution registration</span>
656              <span class="counter" data-counter="mrna-plates-not-diluted" 
657                title="Number of mRNA plates waiting for dilution"></span>
658           
659            <li><span class="require-permission" data-role="LibraryPrep" data-link="libprep/mrna_registration.jsp?ID=<%=ID%>"
660              >mRNA registration and quality control results</span> 
661              <span class="counter" data-counter="mrna-plates-diluted-not-registered" 
662                title="Number of mRNA plates waiting for registration"></span>
663           
664            <li><span class="require-permission" data-role="LibraryPrep" data-link="libprep/cdna_registration.jsp?ID=<%=ID%>"
665              >cDNA registration</span> 
666              <span class="counter" data-counter="cdna-plates-not-registered" 
667                title="Number of cDNA plates waiting for registration"></span>
668           
669            <li><span class="require-permission" data-role="LibraryPrep" data-link="libprep/assign_barcode.jsp?ID=<%=ID%>"
670              >Assign barcodes to cDNA plate</span> 
671              <span class="counter" data-counter="cdna-plates-for-barcoding" 
672                title="Number of cDNA plates waiting for barcode layout"></span>
673           
674            <li><span class="require-permission" data-role="LibraryPrep" data-link="libprep/libprep_protocol.jsp?ID=<%=ID%>"
675              >Lab protocols and files for library preparation</span> 
676              <span class="counter" data-counter="lib-plates-for-libprep" 
677                title="Number of Lib plates waiting for registration"></span>
678           
679            <li><span class="require-permission" data-role="LibraryPrep" data-link="libprep/libqc_registration.jsp?ID=<%=ID%>"
680              >Register quality control results</span> 
681              <span class="counter" data-counter="lib-plates-for-libprep" 
682                title="Number of Lib plates waiting for registration"></span>
683           
684            <li><span class="require-permission" data-role="LibraryPrep" data-link="libprep/lib_registration.jsp?ID=<%=ID%>"
685              >Library registration</span> 
686              <span class="counter" data-counter="lib-plates-for-libprep"
687                title="Number of Lib plates waiting for registration"></span>
688            </ul>
689          </dd>
690         
691          <dt style="display: none;">
692            <base:icon image="<%=home+"/images/neoprep.png" %>" />
693            NeoPrep library preparation wizards
694          </dt>
695          <dd style="display: none;">
696            <ul>
697            <li><span class="require-permission" data-role="LibraryPrep" data-link="libprep/neoprep_protocol.jsp?ID=<%=ID%>"
698              >Lab protocols for NeoPrep library preparation</span> 
699              <span class="counter" data-counter="neoprep-plates-for-libprep" 
700                title="Number of NeoPrep plates waiting for registration"></span>
701           
702            <li><span class="require-permission" data-role="LibraryPrep" data-link="libprep/lib_registration.jsp?ID=<%=ID%>&neoprep=1"
703              >NeoPrep library registration</span> 
704              <span class="counter" data-counter="neoprep-plates-for-libprep"
705                title="Number of NeoPrep plates waiting for registration"></span>
706            </ul>
707          </dd>
708         
709          <dt>
710            <base:icon image="<%=home+"/images/pool.png" %>" />
711            Pooling wizards
712          </dt>
713          <dd>
714            <ul>
715            <li><span class="require-permission" data-role="LibraryPrep" data-link="libprep/create_pools.jsp?ID=<%=ID%>"
716              >Create pooled libraries</span> 
717              <span class="counter more" data-counter="lib-plates-for-pooling"
718                title="Number of Lib plates waiting for pooling"></span><span 
719              class="counter" data-counter="neoprep-plates-for-pooling"
720                title="Number of NeoPrep plates waiting for registration"></span>
721           
722            <li><span class="require-permission" data-role="LibraryPrep" data-link="libprep/pool_protocol.jsp?ID=<%=ID%>"
723              >Lab protocols for pooling</span> 
724              <span class="counter" data-counter="pools-not-registered-rnaseq" 
725                title="Number of pools waiting for registration"></span>
726           
727            <li><span class="require-permission" data-role="LibraryPrep" data-link="libprep/pool_registration.jsp?ID=<%=ID%>"
728              >Register pooled libraries</span> 
729              <span class="counter" data-counter="pools-not-registered-rnaseq" 
730                title="Number of pools waiting for registration"></span>
731            </ul>
732          </dd>
733          </dl>
734         
735          <h3>Sequencing wizards</h3>
736          <dl class="leftborder rightborder bottomborder">
737         
738          <dt>
739            <base:icon image="<%=home+"/images/flowcell.png" %>" />
740            Sequencing wizards
741          </dt>
742          <dd>
743            <ul>
744            <li><span class="require-permission" data-role="LibraryPrep" data-link="libprep/create_flowcells.jsp?ID=<%=ID%>"
745              >Create flow cells</span> 
746              <span class="counter" data-counter="pools-not-used-rnaseq" 
747                title="Number of pools waiting for sequencing"></span>
748           
749            <li><span class="require-permission" data-role="LibraryPrep" data-link="libprep/flowcell_protocol.jsp?ID=<%=ID%>"
750              >Lab protocol for sequencing</span> 
751              <span class="counter" data-counter="flow-cells-not-sequenced-rnaseq" 
752                title="Number of flow cells waiting to be sequenced"></span>
753           
754            <li><span class="require-permission" data-role="LibraryPrep" data-link="sequencing/sequencing_started.jsp?ID=<%=ID%>&pipeline=RNA_SEQ"
755              >Register sequencing started</span> 
756              <span class="counter" data-counter="flow-cells-not-sequenced-rnaseq" 
757                title="Number of flow cells waiting to be sequenced"></span>
758 
759            <li><span class="require-permission" data-role="LibraryPrep" data-link="sequencing/sequencing_ended.jsp?ID=<%=ID%>&pipeline=RNA_SEQ"
760              >Register sequencing ended</span> 
761              <span class="counter" data-counter="sequencing-runs-active-rnaseq" 
762                title="Number of active sequencing runs"></span>
763            </ul>
764          </dd>
765
766          <dt>
767            <base:icon image="<%=home+"/images/lorry.png" %>" />
768            External sequencing wizards
769          </dt>
770          <dd>
771            <ul>
772     
773            <li><span class="require-permission" data-role="ExternalSequencing" data-link="sequencing/sequencing_external.jsp?ID=<%=ID%>&pipeline=RNA_SEQ"
774              >Register external sequencing</span> 
775              <span class="counter" data-counter="external-libs-not-sequenced" 
776                title="Number of libraries sent for external sequencing"></span>
777            </ul>
778          </dd>
779
780         
781          </dl>
782       
783          <h3>Secondary analysis wizards</h3>
784          <dl class="leftborder rightborder bottomborder">
785            <dt>
786              <base:icon image="<%=home+"/images/server.png" %>" />
787              Demux and merge wizards
788            </dt>
789            <dd>
790              <ul>
791              <li><span class="require-permission" data-role="SecondaryAnalysis" data-link="sequencing/sequencing_confirm.jsp?ID=<%=ID%>&pipeline=RNA_SEQ"
792                >Confirm sequencing completed</span> 
793                <span class="counter" data-counter="sequencing-runs-unconfirmed-rnaseq" 
794                  title="Number of ended but not confirmed sequencing runs"></span>
795             
796              <li><span class="require-permission" data-role="SecondaryAnalysis" data-link="analysis/demux_start.jsp?ID=<%=ID%>&pipeline=RNA_SEQ"
797                >Start demux and merge</span> 
798                <span class="counter" data-counter="sequencing-runs-for-demux-rnaseq" 
799                  title="Number of confirmed sequencing runs waiting to be demuxed"></span>
800             
801              <li><span class="require-permission" data-role="SecondaryAnalysis" data-link="analysis/demux_confirm.jsp?ID=<%=ID%>"
802                >Confirm demux and merge completed</span> 
803                <span class="counter" data-counter="demux-jobs-not-confirmed-rnaseq"
804                  title="Number of demux jobs waiting for confirmation"></span>
805              </ul>
806            </dd>
807 
808            <dt>
809              <base:icon image="<%=home+"/images/align.png" %>" />
810              Hisat and StringTie pipeline
811            </dt>
812            <dd>
813              <ul>
814              <li><span class="require-permission" data-role="SecondaryAnalysis" data-link="analysis/hisat_start.jsp?ID=<%=ID%>"
815                >Start Hisat alignment</span>
816                <span class="counter" data-counter="merged-sequences-for-hisat-alignment"
817                  title="Number of merged sequences waiting for Hisat alignment"></span>
818                <span id="hisat-pipeline-disabled" class="info-warning">auto-processing is disabled</span>
819                 
820              <li><span class="require-permission" data-role="SecondaryAnalysis" data-link="analysis/hisat_confirm.jsp?ID=<%=ID%>"
821                >Confirm Hisat alignment</span> 
822                <span class="counter" data-counter="hisat-aligned-sequences-not-confirmed" 
823                  title="Number of Hisat aligned sequences waiting for confirmation"></span>
824             
825              <li><span id="genotype-qc" class="require-permission" data-role="SecondaryAnalysis" data-link="analysis/genotype_qc.jsp?ID=<%=ID%>"
826                >Genotype quality control</span> 
827                <span class="counter" data-counter="alignments-for-genotype-qc" 
828                  title="Number of alignments with VCF files that has not been checked"></span>
829 
830              <li><span class="require-permission" data-role="SecondaryAnalysis" data-link="analysis/mbaf_start.jsp?ID=<%=ID%>"
831                >Start mBAF analysis</span> 
832                <span class="counter" data-counter="aligned-sequences-for-mbaf" 
833                  title="Number of aligned sequences waiting for mBAF analysis"></span>
834                <span id="mbaf-pipeline-disabled" class="info-warning">auto-processing is disabled</span>
835               
836              <li><span class="require-permission" data-role="SecondaryAnalysis" data-link="analysis/stringtie_start.jsp?ID=<%=ID%>"
837                >Start StringTie</span>
838                <span class="counter" data-counter="aligned-sequences-for-stringtie"
839                  title="Number of aligned sequences waiting for StringTie"></span>
840                <span id="stringtie-pipeline-disabled" class="info-warning">auto-processing is disabled</span>
841 
842              <li><span class="require-permission" data-role="SecondaryAnalysis" data-link="analysis/stringtie_confirm.jsp?ID=<%=ID%>"
843                >Confirm StringTie completed</span> 
844                <span class="counter" data-counter="stringtie-not-confirmed" 
845                  title="Number of StringTie jobs waiting for confirmation"></span>
846              <li><span class="require-permission not-implemented" data-role="SecondaryAnalysis" data-link="analysis/report.jsp?ID=<%=ID%>&report=SCANB_REPORT"
847                >SCAN-B report</span> 
848                <span class="counter" data-counter="rawbioassys-without-scanbreport" 
849                  title="Number of rawbioassays without a SCAN-B report PDF"></span>
850             
851              </ul>
852            </dd>
853           
854            <dt>
855              <base:icon image="<%=home+"/images/variantcall.png" %>" />
856              Variant calling pipeline
857            </dt>
858           
859            <dd>
860              <ul>
861              <li><span class="require-permission" data-role="SecondaryAnalysis" data-link="analysis/vcall_start.jsp?ID=<%=ID%>"
862                >Start variant calling</span> 
863                <span class="counter" data-counter="aligned-sequences-for-variant-calling" 
864                  title="Number of aligned sequences waiting for variant calling pipeline"></span>
865                <span id="variant-calling-pipeline-disabled" class="info-warning">auto-processing is disabled</span>
866              <li><span class="require-permission" data-role="SecondaryAnalysis" data-link="analysis/vcall_confirm.jsp?ID=<%=ID%>"
867                >Confirm variant calling</span> 
868                <span class="counter" data-counter="variantcall-not-confirmed" 
869                  title="Number of VariantCall jobs waiting for confirmation"></span>
870              <li><span class="require-permission" data-role="Administrator" data-link="analysis/vcall_build.jsp?ID=<%=ID%>"
871                >Build SCAN-B variant database</span> 
872              </ul>
873            </dd>
874           
875            <dt>
876              <base:icon image="<%=home+"/images/pdffile.png" %>" />
877              Legacy Tophat and Cufflinks pipeline <span id="legacy-pipeline-disabled" class="info-warning">auto-processing is disabled</span>
878            </dt>
879            <dd>
880              <ul>
881              <li><span class="require-permission" data-role="SecondaryAnalysis" data-link="analysis/align_start.jsp?ID=<%=ID%>"
882                >Start Tophat and Cufflinks</span> 
883                <span class="counter" data-counter="merged-sequences-for-legacy-alignment"
884                  title="Number of merged sequences waiting for Tophat alignment"></span>
885                 
886              <li><span class="require-permission" data-role="SecondaryAnalysis" data-link="analysis/cufflinks_confirm.jsp?ID=<%=ID%>"
887                >Confirm Cufflinks completed</span> 
888                <span class="counter" data-counter="cufflinks-not-confirmed" 
889                  title="Number of Cufflinks jobs waiting for confirmation"></span>
890              <li><span class="require-permission" data-role="SecondaryAnalysis" data-link="analysis/report.jsp?ID=<%=ID%>&report=GENE_REPORT"
891                >Gene report</span> 
892                <span class="counter" data-counter="rawbioassys-without-genereport" 
893                  title="Number of rawbioassays without a Gene report PDF"></span>
894              <li><span class="require-permission" data-role="SecondaryAnalysis" data-link="analysis/report.jsp?ID=<%=ID%>&report=PILOT_REPORT"
895                >Pilot report</span> 
896                <span class="counter" data-counter="rawbioassys-without-pilotreport" 
897                  title="Number of rawbioassays without a Pilot report PDF"></span>
898              </ul>
899            </dd>
900           
901          </dl>     
902        </div>
903       
904        <div id="mips-libprep-section" class="wizard-group">
905          <h3>Library preparation wizards</h3>
906          <dl class="leftborder rightborder bottomborder">
907       
908          <dt>
909            <base:icon image="<%=home+"/images/libprep.png" %>" />
910            MIPs plate design wizards
911          </dt>
912          <dd>
913            <ul>
914            <li><span class="require-permission" data-role="MIPsPlateDesigner" data-link="mipsprep/import_plates.jsp?ID=<%=ID%>"
915              >Import DNA aliquot plates</span>
916             
917            <li><span class="require-permission" data-role="MIPsPlateDesigner" data-link="mipsprep/design_mipsplate.jsp?ID=<%=ID%>"
918              >Design MIPs plate</span>
919              <span class="counter more" data-counter="prenormalized-designmips"
920                title="Number of aliquot plates with DNA waiting for MIPs"></span><span 
921              class="counter" data-counter="prenormalized-addaliquots"
922                title="Number of aliquot plates in the SCAN-B lab"></span>
923            </ul>
924          </dd>
925         
926          <dt>
927            <base:icon image="<%=home+"/images/pipette.png" %>" />
928            MIPs library preparation wizards
929          </dt>
930          <dd>
931            <ul>
932            <li><span class="require-permission" data-role="MIPsLibraryPrep" data-link="mipsprep/mips_protocol.jsp?ID=<%=ID%>"
933              >Lab protocols for MIPs library preparation</span> 
934              <span class="counter" data-counter="mips-plates-for-libprep" 
935                title="Number of MIPs plates waiting for registration"></span>
936           
937            <li><span class="require-permission" data-role="MIPsLibraryPrep" data-link="mipsprep/lib_registration.jsp?ID=<%=ID%>"
938              >MIPs library registration</span> 
939              <span class="counter" data-counter="mips-plates-for-libprep"
940                title="Number of MIPs plates waiting for registration"></span>
941           
942            <li><span class="require-permission" data-role="MIPsLibraryPrep" data-link="mipsprep/pool_registration.jsp?ID=<%=ID%>"
943              >Register pooled libraries</span> 
944              <span class="counter" data-counter="mips-plates-for-pooling" 
945                title="Number of MIPs library plates waiting for pooling"></span>
946            </ul>
947          </dd>
948
949          </dl>
950         
951          <h3>Sequencing wizards</h3>
952          <dl class="leftborder rightborder bottomborder">
953         
954          <dt>
955            <base:icon image="<%=home+"/images/flowcell.png" %>" />
956            Sequencing wizards
957          </dt>
958          <dd>
959            <ul>
960            <li><span class="require-permission" data-role="MIPsLibraryPrep" data-link="mipsprep/create_flowcells.jsp?ID=<%=ID%>"
961              >Create flow cells</span> 
962              <span class="counter" data-counter="pools-not-used-mips" 
963                title="Number of MIPs pools waiting for sequencing"></span>
964           
965            <li><span class="require-permission" data-role="MIPsLibraryPrep" data-link="mipsprep/flowcell_protocol.jsp?ID=<%=ID%>"
966              >Lab protocol for sequencing</span> 
967              <span class="counter" data-counter="flow-cells-not-sequenced-mips" 
968                title="Number of MIPs flow cells waiting to be sequenced"></span>
969           
970            <li><span class="require-permission" data-role="MIPsLibraryPrep" data-link="sequencing/sequencing_started.jsp?ID=<%=ID%>&pipeline=MIPS"
971              >Register sequencing started</span> 
972              <span class="counter" data-counter="flow-cells-not-sequenced-mips" 
973                title="Number of MIPs flow cells waiting to be sequenced"></span>
974 
975            <li><span class="require-permission" data-role="MIPsLibraryPrep" data-link="sequencing/sequencing_ended.jsp?ID=<%=ID%>&pipeline=MIPS"
976              >Register sequencing ended</span> 
977              <span class="counter" data-counter="sequencing-runs-active-mips" 
978                title="Number of active MIPs sequencing runs"></span>
979            </ul>
980          </dd>
981         
982          </dl>
983         
984          <h3>Secondary analysis wizards</h3>
985          <dl class="leftborder rightborder bottomborder">
986            <dt>
987              <base:icon image="<%=home+"/images/server.png" %>" />
988              Demux wizards
989            </dt>
990            <dd>
991              <ul>
992              <li><span class="require-permission" data-role="MIPsSecondaryAnalysis" data-link="sequencing/sequencing_confirm.jsp?ID=<%=ID%>&pipeline=MIPS"
993                >Confirm sequencing completed</span> 
994                <span class="counter" data-counter="sequencing-runs-unconfirmed-mips" 
995                  title="Number of ended but not confirmed MIPs sequencing runs"></span>
996             
997              <li><span class="require-permission" data-role="MIPsSecondaryAnalysis" data-link="mipsanalysis/demux_start.jsp?ID=<%=ID%>&pipeline=MIPS"
998                >Start demux</span> 
999                <span class="counter" data-counter="sequencing-runs-for-demux-mips" 
1000                  title="Number of confirmed MIPs sequencing runs waiting to be demuxed"></span>
1001             
1002              <li><span class="require-permission" data-role="MIPsSecondaryAnalysis" data-link="mipsanalysis/demux_confirm.jsp?ID=<%=ID%>"
1003                >Confirm demux completed</span> 
1004                <span class="counter" data-counter="demux-jobs-not-confirmed-mips"
1005                  title="Number of MIPs demux jobs waiting for confirmation"></span>
1006              </ul>
1007            </dd>
1008           
1009            <dt>
1010              <base:icon image="<%=home+"/images/align.png" %>" />
1011              Alignment pipeline
1012            </dt>
1013            <dd>
1014              <ul>
1015              <li><span class="require-permission" data-role="MIPsSecondaryAnalysis" data-link="mipsanalysis/align_start.jsp?ID=<%=ID%>"
1016                >Start MIPs alignment</span>
1017                <span class="counter" data-counter="merged-sequences-for-mips-alignment"
1018                  title="Number of merged sequences waiting for MIPs alignment"></span>
1019                <span id="mips-align-pipeline-disabled" class="info-warning">auto-processing is disabled</span>
1020
1021              <li><span class="require-permission" data-role="MIPsSecondaryAnalysis" data-link="mipsanalysis/align_confirm.jsp?ID=<%=ID%>"
1022                >Confirm MIPs alignment</span> 
1023                <span class="counter" data-counter="mips-aligned-sequences-not-confirmed" 
1024                  title="Number of MIPs aligned sequences waiting for confirmation"></span>
1025              </ul>
1026            </dd>
1027           
1028          </dl>
1029         
1030        </div>
1031       
1032        <div id="personal-information-section" class="wizard-group">
1033          <%
1034          if (isPatientCurator || isAdmin)
1035          {
1036            %>
1037            <h3>Personal information wizards</h3>
1038            <dl class="leftborder rightborder bottomborder">
1039            <dt>
1040              <base:icon image="<%=home + "/images/personal.png" %>"/>
1041              Referral form registration wizards
1042            </dt>
1043            <dd>
1044              <ul>
1045              <li><span class="require-permission" data-role="PatientCurator" data-link="personal/persinfo.jsp?ID=<%=ID%>"
1046                >Pathology referral form registration</span>
1047 
1048              <li><span class="require-permission" data-role="PatientCurator" data-link="personal/bloodform.jsp?ID=<%=ID%>"
1049                >Blood referral forms registration</span>
1050               
1051              <li><span class="require-permission" data-role="PatientCurator" data-link="personal/bloodfollowupform.jsp?ID=<%=ID%>"
1052                >Follow-up blood referral form registration</span>
1053 
1054              <li><span class="require-permission" data-role="PatientCurator" data-link="personal/consentform.jsp?ID=<%=ID%>"
1055                >Consent form registration</span>
1056                <span class="counter" data-counter="case-or-blood-without-consent" 
1057                  title="Number of cases and blood samples without consent"></span>
1058              </ul>
1059            </dd>
1060           
1061            <dt>
1062              <base:icon image="<%=home+"/images/report.png" %>" />
1063              Referral forms
1064            </dt>
1065            <dd>
1066              <ul>
1067              <li><span class="require-permission" data-role="PatientCurator" data-link="personal/generate-referral-forms.jsp?ID=<%=ID%>"
1068                >Generate referral forms</span>
1069              </ul>
1070            </dd>
1071 
1072            <dt>
1073              <base:icon image="<%=home+"/images/delete.png" %>" />
1074              Retraction wizard
1075            </dt>
1076            <dd>
1077              <ul>
1078              <li><span class="require-permission" data-role="PatientCurator" data-link="personal/retractionform.jsp?ID=<%=ID%>"
1079                >Mark extracts for retraction</span>
1080 
1081              <li><span class="require-permission" data-role="PatientCurator" data-link="personal/retraction_followup_form.jsp?ID=<%=ID%>"
1082                >Retraction follow-up and destruction</span>
1083                <span class="counter more" data-counter="patientitems-ready-for-retraction-followup" 
1084                  title="Number of patient items ready for retraction follow-up"></span><span 
1085                  class="counter" data-counter="patientitems-ready-for-destruction" 
1086                  title="Number of patient items ready for destruction"></span>
1087 
1088              </ul>
1089            </dd>
1090           
1091            <dt>
1092              <base:icon image="<%=home+"/images/export_import.png" %>" />
1093              Import and export wizards
1094            </dt>
1095            <dd>
1096              <ul>
1097              <li><span class="require-permission" data-role="PatientCurator" data-link="personal/export-inca.jsp?ID=<%=ID%>"
1098                >INCA export</span>
1099 
1100              <li><span id="inca-import" 
1101                class="require-permission" 
1102                data-role="PatientCurator"
1103                data-link="personal/import-inca.jsp?ID=<%=ID%>"
1104                >INCA import</span>
1105 
1106              <li><span id="inca-statistics" 
1107                class="require-permission" 
1108                data-role="PatientCurator"
1109                data-link="personal/inca-statistics.jsp?ID=<%=ID%>"
1110                >INCA statistics</span>
1111 
1112              <li><span class="require-permission" data-role="PatientCurator" data-link="personal/export-monthly-oplist.jsp?ID=<%=ID%>"
1113                >Export monthly operation list</span>
1114               
1115              <li><span class="require-permission" data-role="PatientCurator" data-link="personal/export_missing_data_sample_list.jsp?ID=<%=ID%>"
1116                >Export missing data sample list</span>
1117 
1118              <li><span class="require-permission" data-role="PatientCurator" data-link="personal/export_missing_consent_data_sample_list.jsp?ID=<%=ID%>"
1119                >Export missing consent data sample list</span>
1120               
1121              <li><span class="require-permission" data-role="PatientCurator" data-link="batch/frozen-tissue-date.jsp?ID=<%=ID%>"
1122                >Import frozen tissue date</span> 
1123               
1124              <li><span class="require-permission" data-role="PatientCurator" data-link="personal/map-external-data.jsp?ID=<%=ID%>"
1125                >Map external data to releases</span>
1126              </ul>
1127            </dd>
1128           
1129            </dl>
1130            <%
1131          }
1132          %>
1133          <h3>Sample curation and outtake wizards</h3>
1134          <dl class="leftborder rightborder bottomborder">
1135            <dt>
1136              <base:icon image="<%=home+"/images/flag.png" %>" />
1137              Re-processing wizards
1138            </dt>
1139            <dd>
1140              <ul>
1141              <li><span class="require-permission" data-role="PrepCurator" data-link="flaggedrna/search.jsp?ID=<%=ID%>"
1142                >Flagged RNA</span> 
1143                <span class="counter" data-counter="flagged-rna" 
1144                  title="Number of flagged RNA items"></span>
1145              <li><span class="require-permission" data-role="PrepCurator" data-link="flaggedalignment/search.jsp?ID=<%=ID%>"
1146                >Flagged alignment</span> 
1147                <span class="counter" data-counter="flagged-alignment" 
1148                  title="Number of flagged alignment items"></span>
1149              <li><span class="require-permission" data-role="PrepCurator" data-link="sampleproc/paused-specimen.jsp?ID=<%=ID%>"
1150                >Paused specimen</span> 
1151                <span class="counter" data-counter="paused-specimen" 
1152                  title="Number of paused+scheduled specimen items"></span>
1153              </ul>
1154            </dd>
1155 
1156            <dt>
1157              <base:icon image="<%=home+"/images/smile.png" %>" />
1158              Batch update wizards
1159            </dt>
1160            <dd>
1161              <ul>
1162              <li><span class="require-permission" data-role="PrepCurator" data-link="batch/linked-specimen.jsp?ID=<%=ID%>"
1163                >Linked specimen</span> 
1164              <li><span class="require-permission" data-role="PrepCurator" data-link="batch/reference-date.jsp?ID=<%=ID%>"
1165                >Reference date on case items</span> 
1166              </ul>
1167            </dd>
1168           
1169            <dt>
1170              <base:icon image="<%=home+"/images/outtake.png" %>" />
1171              Sample outtake wizards
1172            </dt>
1173            <dd>
1174              <ul>
1175              <li><span class="require-permission" data-role="PrepCurator" data-link="outtake/define.jsp?ID=<%=ID%>"
1176                >Define a new sample outtake</span>
1177              <li><span class="require-permission" data-role="SamplePrep" data-link="outtake/picklist.jsp?ID=<%=ID%>"
1178                >Protocols and labels for sample outtakes</span> 
1179                <span class="counter" data-counter="active-outtake-lists" 
1180                  title="Number of sample outtakes waiting to be processed"></span>
1181              <li><span class="require-permission" data-role="SamplePrep" data-link="outtake/register.jsp?ID=<%=ID%>"
1182                >Register sample outtake</span> 
1183                <span class="counter" data-counter="active-outtake-lists" 
1184                  title="Number of sample outtakes waiting to be processed"></span>
1185              <li><span class="require-permission" data-role="PrepCurator" data-link="outtake/delivery_export.jsp?ID=<%=ID%>"
1186                >Export delivery data file for sample outtake</span>
1187                <span class="counter" data-counter="undelivered-outtake-lists" 
1188                  title="Number of sample outtakes not delivered"></span>
1189              </ul>
1190            </dd>
1191 
1192          </dl>
1193        </div>
1194       
1195        <div id="statistics-section" class="wizard-group">
1196          <h3>Statistics and reporting wizards</h3>
1197          <dl class="leftborder rightborder bottomborder">
1198            <dt>
1199              <base:icon image="<%=home+"/images/report.png" %>" />
1200              <span class="require-permission" data-role="" data-link="reports/samplereportgenerator.jsp?ID=<%=ID%>"
1201                >Sample source report</span>
1202            </dt>
1203            <dd>
1204              <ul>
1205              <li>Sample count report</li> 
1206              <li>Consent count report</li> 
1207              <li>Patient count report</li> 
1208              <li>Overview report</li> 
1209              <li>Missing sample data report</li> 
1210              </ul>
1211            </dd>
1212            <dt>
1213              <base:icon image="<%=home+"/images/chart_bar.png" %>" />
1214              <span class="require-permission" data-role="" data-link="reports/scanbquartermonthreportgenerator.jsp?ID=<%=ID%>"
1215                >Sample processing statistics</span>
1216            </dt>       
1217            <dd>       
1218              <ul>
1219              <li>SCAN-B quarter/month report</li> 
1220              </ul>
1221            </dd>
1222            <dt style="margin-bottom: 0.5em;">
1223              <base:icon image="<%=home+"/images/yellow-label.png" %>" />
1224              <span class="require-permission" data-role="" data-link="yellowlabel/list.jsp?ID=<%=ID%>"
1225                >YellowLabel tracking and reporting</span>
1226                <span class="counter" data-counter="specimen-active-yellow-label" 
1227                  title="Number of active YellowLabel specimen"></span>
1228            </dt> 
1229          </dl>
1230        </div>
1231
1232        <div id="administration-section" class="wizard-group">
1233          <%
1234          if (isAdmin)
1235          {
1236            %>
1237            <h3>Server administrator wizards</h3>
1238            <dl class="leftborder rightborder bottomborder">
1239            <dt>
1240              <base:icon image="<%=home + "/images/install.png" %>" />
1241              <span class="require-permission" data-role="Administrator" data-link="admin/install.jsp?ID=<%=ID%>">Installation wizard</span>
1242            </dt>
1243            <dd>
1244              <ul>
1245              <li>Check that items needed by Reggie exists in BASE.
1246              <li>Create and fix items.
1247              </ul>
1248            </dd>
1249            <dt>
1250              <base:icon image="<%=home + "/images/ogs-cluster.png"%>" />
1251              Other tasks
1252            </dt>
1253            <dd>
1254              <ul>
1255              <li><span class="require-permission" data-role="Administrator" data-link="admin/remote/list-hosts.jsp?ID=<%=ID%>"
1256                >Open Grid Scheduler hosts</span>
1257               
1258              <li><span class="require-permission" data-role="Administrator" data-link="admin/stray-files.jsp?ID=<%=ID%>"
1259                >Stray files wizard</span>
1260                <span class="counter" data-counter="stray-folders" 
1261                  title="Number of stray folders"></span>
1262                 
1263              <li><span class="require-permission" data-role="Administrator" data-link="admin/analysis-cleanup.jsp?ID=<%=ID%>"
1264                >Secondary analysis cleanup</span>
1265                <span class="counter more" data-counter="analysis-cleanup-dba"
1266                  title="Number of derived bioassay items to cleanup"></span><span 
1267                  class="counter" data-counter="analysis-cleanup-rba" 
1268                  title="Number of raw bioassay items to cleanup"></span>
1269              </ul>
1270            </dd>
1271            </dl>
1272            <%
1273          }
1274          %>
1275        </div>
1276       
1277      </div>
1278    </div>
1279   
1280    <div class="absolutefull" style="width: 30%; left: auto;">
1281      <div class="absolutefull" style="left: 0.5em; bottom: 2em;">
1282        <div class="absolutefull" style="right: 1em; height: 4em;">
1283          <b>Case summary</b><br>
1284          <input type="text" class="text auto-init" data-auto-init="focus" 
1285            name="caseName" id="caseName" title="Please enter a SCAN-B case id, personal number, release id, PAD, etc." 
1286            style="width: 15em;">
1287          <base:button id="btnCaseSummary" title="Go" image="<%=home+"/images/gonext.png"%>" />
1288        </div>
1289        <div class="absolutefull" style="top: 4em; padding-right: 0.5em;">
1290          <div id="summary-stats">
1291            <div class="counter" data-counter="patients-all" 
1292              title="Total number of patients"></div> Patients<br>
1293            <div class="counter" data-counter="specimen-all" 
1294              title="Total number of specimen tubes"></div> Specimen Tubes<br>
1295            <div class="counter" data-counter="rna-all-extracted" 
1296              title="Total number of extracted RNA"></div> Extracted Rna<br>
1297            <div class="counter" data-counter="libraries-all-aligned" 
1298              title="Total number of aligned libraries"></div> Aligned Libraries<br>
1299            <div class="counter" data-counter="rawbioassys-all-with-genereport"
1300              title="Total number of generated gene reports"></div> Gene Reports<br>
1301            <div class="counter" data-counter="stained-score-complete"
1302              title="Total number of completely scored histology samples"></div> Scored Histology Samples
1303          </div>
1304
1305          <div id="activity-log">
1306            <div id="quote-of-the-day"></div>
1307            <a id="activity-log-rss" href="<%=servletHome%>/ActivityLog.rss" 
1308              title="Get the activity log as an RSS feed"><img src="images/rss.png"></a>
1309            <div id="activity-log-entries"></div>
1310          </div>
1311        </div>
1312      </div>
1313      <div id="counter-age-control">
1314        <b>Counters last updated</b> <span id="counter-age"></span><base:icon id="counter-refresh" 
1315          image="<%=home+"/images/refresh-small.png"%>" style="display:none;" title="Force update of counters" 
1316          /><base:icon id="counter-loading" image="<%=home+"/images/loading-small.gif"%>" />
1317      </div>
1318    </div>
1319    </form>
1320   
1321  </div>
1322 
1323</base:body>
1324</base:page>
1325<%
1326}
1327finally
1328{
1329  if (dc != null) dc.close();
1330}
1331%>
Note: See TracBrowser for help on using the repository browser.