source: extensions/net.sf.basedb.reggie/trunk/resources/sequencing/sequencing_external.jsp @ 5870

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

References #1231: Add support for sequencing with NovaSeq?

Added annotations for storing "External plate position" and "External operator". External plate position is stored on the library item, and the external operator is used for library, library plate and pooled library. The external operator is also stored on flow cell and sequencing run, but re-uses the existing annotations (ClusterOperator and SequencingOperator).

The comment field from the wizard is now saved as description on the library plate, flow cell and sequencing run.

File size: 7.3 KB
Line 
1<%@ page
2  pageEncoding="UTF-8"
3  session="false"
4  import="net.sf.basedb.core.User"
5  import="net.sf.basedb.core.DbControl"
6  import="net.sf.basedb.core.SessionControl"
7  import="net.sf.basedb.core.Application"
8  import="net.sf.basedb.util.formatter.DateFormatter"
9  import="net.sf.basedb.util.formatter.Formatter"
10  import="net.sf.basedb.clients.web.Base" 
11  import="net.sf.basedb.clients.web.util.HTML" 
12  import="net.sf.basedb.clients.web.extensions.ExtensionsControl"
13  import="java.util.Date"
14%>
15<%@ taglib prefix="base" uri="/WEB-INF/base.tld" %>
16<%@ taglib prefix="p" uri="/WEB-INF/path.tld" %>
17<%
18final SessionControl sc = Base.getExistingSessionControl(request, "net.sf.basedb.reggie", true);
19final String ID = sc.getId();
20final float scale = Base.getScale(sc);
21final String home = ExtensionsControl.getHomeUrl("net.sf.basedb.reggie");
22final String pipeline = request.getParameter("pipeline");
23DbControl dc = null;
24try
25{
26  dc = sc.newDbControl();
27  final User user = User.getById(dc, sc.getLoggedInUserId());
28  final Formatter dateFormat = new DateFormatter("yyyyMMdd");
29%>
30<base:page type="default" >
31<base:head 
32  scripts="~../reggie-2.js,~sequencing_external.js" 
33  styles="path.css,~../css/reggie-2.css"
34/>
35<base:body>
36
37  <p:path><p:pathelement 
38    title="Reggie" href="<%="../index.jsp?ID="+ID%>" 
39    /><p:pathelement title="Register external sequencing" 
40    /></p:path>
41
42  <div id="page-data" class="datacontainer"
43    data-pipeline="<%=HTML.encodeTags(pipeline)%>"
44  ></div>
45
46  <div class="content">
47  <form name="reggie" id="wizard" class="wizard">
48
49  <div class="step" id="step-1">
50    <div class="step-no">1</div>
51    <div class="step-title">Information about the sequencing</div>
52    <div class="step-content">
53
54      <table class="step-form">
55      <tr>
56        <td class="prompt">Operator</td>
57        <td class="input">
58          <select name="operator" id="operator" class="required">
59            <option value="CTG">CTG
60          </option>
61        </td>
62        <td class="status" id="operator.status"></td>
63        <td class="help">
64          <span id="operator.message" class="message"></span>
65          The external operator.
66        </td>
67      </tr>
68      <tr>
69        <td class="prompt">Flow cell ID</td>
70        <td class="input">
71          <input type="text" name="flowCellId" id="flowCellId"
72            class="required auto-init" data-auto-init="focus-on-enter" data-next-focus="sampleSheetFile"
73            style="width: 12em;">
74        </td>
75        <td class="status" id="flowCellId.status"></td>
76        <td class="help">
77          <span id="flowCellId.message" class="message"></span>
78          The barcode of the flow cell.
79        </td>
80      </tr>
81      <tr>
82        <td class="prompt">Sample sheet</td>
83        <td class="input">
84          <input type="file" name="sampleSheetFile" id="sampleSheetFile" class="required" style="width: 95%;" accept="text/plain">
85        </td>
86        <td class="status" id="sampleSheetFile.status"></td>
87        <td class="help">
88          <span id="sampleSheetFile.message" class="message"></span>
89          Select the file sample sheet for the sequencing.
90        </td>
91      </tr>
92      <tr>
93        <td class="prompt">Start date</td>
94        <td class="input">
95          <input type="text" name="startDate" id="startDate"
96            class="auto-init required" data-auto-init="focus-on-enter" data-next-focus="comments"
97            style="width: 12em;" maxlength="10">
98        </td>
99        <td class="status" id="startDate.status"></td>
100        <td class="help">
101          <span id="startDate.message" class="message"></span>
102          Date when the sequencing started (YYYYMMDD)
103        </td>
104      </tr>
105      <tr>
106        <td class="prompt">Flow cell type</td>
107        <td class="input">
108          <label><input type="radio" name="flowCellType" id="flowCellTypeNovaSeq" checked value="NovaSeq">NovaSeq</label>
109        </td>
110        <td class="status" id="flowCellType.status"></td>
111        <td class="help">
112          <span id="flowCellType.message" class="message"></span>
113          The type of flow cell. Only NovaSeq is supported so far.
114        </td>
115      </tr>
116      <tr>
117        <td class="prompt">Lanes/flow cell</td>
118        <td class="input" id="lanes">
119          <label><input type="radio" name="num_lanes" id="num_lanes_2" value="2" checked>2</label>
120          <label><input type="radio" name="num_lanes" id="num_lanes_4" value="4">4</label>
121        </td>
122        <td class="status" id="lanes.status"></td>
123        <td class="help">
124          <span id="lanes.message" class="message"></span>
125          Select the number of lanes on the flow cell.
126        </td>
127      </tr>
128      <tr class="align-top">
129        <td class="prompt">Comments</td>
130        <td class="input">
131          <textarea name="comments" id="comments" rows="4"></textarea>
132        </td>
133        <td class="status" id="comments.status"></td>
134        <td class="help">
135          <span id="comments.message" class="message"></span>
136          Comments about the sequencing.
137        </td>
138      </tr>
139      <tbody id="auto-analyze-section">
140        <tr class="section-header">
141          <td colspan="4">Auto-analyze options</td>
142        </tr>
143        <tr>
144          <td class="subprompt">Auto-analyze</td>
145          <td class="input">
146            <label><input type="radio" name="autoAnalyze" id="autoAnalyzeYes" disabled>Yes</label>
147            <label><input type="radio" name="autoAnalyze" id="autoAnalyzeNo" disabled>No</label>
148          </td>
149          <td class="status" id="autoAnalyze.status"></td>
150          <td class="help">
151            <span id="autoAnalyze.message" class="message"></span>
152            If the auto-analyze option is enabled, Reggie will automatically detect
153            when the sequencing has ended. If everything seems to be okay,
154            secondary analysis is automatically started.
155          </td>
156        </tr>
157        <tr>
158          <td class="subprompt">Open Grid Cluster</td>
159          <td class="input">
160            <select name="clusters" id="clusters" class="required" disabled></select>
161          </td>
162          <td class="status" id="clusters.status"></td>
163          <td class="help">
164            <span id="clusters.message" class="message"></span>
165            Select the cluster to use for running the analysis.
166          </td>
167        </tr>
168        <tr>
169          <td class="subprompt">Job priority</td>
170          <td class="input">
171            <select name="priority" id="priority" disabled></select>
172          </td>
173          <td class="status" id="priority.status"></td>
174          <td class="help">
175            <span id="priority.message" class="message"></span>
176            Select the priority of the analysis jobs.
177          </td>
178        </tr>
179        <tr>
180          <td class="subprompt">Debug</td>
181          <td class="input"><input type="checkbox" name="debug" disabled></td>
182          <td class="status" id="debug.status"></td>
183          <td class="help">
184            <span id="debug.message" class="message"></span>
185            When running in debug mode only part of the sequenced data is used and
186            temporary files are not removed from the cluster nodes.
187          </td>
188        </tr>
189      </tbody>
190      </table>
191    </div>
192  </div>
193 
194  <table class="navigation" id="navigation" style="margin-bottom: 1em;">
195  <tr>
196    <td><base:button id="gocancel" title="Cancel" /></td>
197    <td><base:button id="gonext" title="Next" image="<%=home+"/images/gonext.png"%>" /></td>
198    <td><base:button id="goregister" title="Register" image="<%=home+"/images/import.png"%>"  /></td>
199    <td><base:button id="gorestart" title="Restart" image="<%=home+"/images/goback.png"%>" /></td>
200    <td id="gonext-message" class="message"></td>
201  </tr>
202  </table>
203
204  <div id="wizard-status"></div>
205 
206  </form>
207  </div>
208 
209</base:body>
210</base:page>
211<%
212}
213finally
214{
215  if (dc != null) dc.close();
216}
217%>
Note: See TracBrowser for help on using the repository browser.