extensions/net.sf.basedb.reggie/trunk/resources/analysis/demux_start.jsp

Code
Comments
Other
Rev Date Author Line
2268 05 Mar 14 nicklas 1 <%@ page
2268 05 Mar 14 nicklas 2   pageEncoding="UTF-8"
2268 05 Mar 14 nicklas 3   session="false"
2268 05 Mar 14 nicklas 4   import="net.sf.basedb.core.User"
2268 05 Mar 14 nicklas 5   import="net.sf.basedb.core.DbControl"
2268 05 Mar 14 nicklas 6   import="net.sf.basedb.core.SessionControl"
2268 05 Mar 14 nicklas 7   import="net.sf.basedb.core.Application"
2268 05 Mar 14 nicklas 8   import="net.sf.basedb.clients.web.Base"  
2268 05 Mar 14 nicklas 9   import="net.sf.basedb.clients.web.util.HTML"  
2268 05 Mar 14 nicklas 10   import="net.sf.basedb.clients.web.extensions.ExtensionsControl"
2268 05 Mar 14 nicklas 11 %>
2268 05 Mar 14 nicklas 12 <%@ taglib prefix="base" uri="/WEB-INF/base.tld" %>
2268 05 Mar 14 nicklas 13 <%@ taglib prefix="p" uri="/WEB-INF/path.tld" %>
2268 05 Mar 14 nicklas 14 <%
3976 26 May 16 nicklas 15 final SessionControl sc = Base.getExistingSessionControl(request, "net.sf.basedb.reggie", true);
2268 05 Mar 14 nicklas 16 final String ID = sc.getId();
2268 05 Mar 14 nicklas 17 final float scale = Base.getScale(sc);
2268 05 Mar 14 nicklas 18 final String home = ExtensionsControl.getHomeUrl("net.sf.basedb.reggie");
5479 10 Jun 19 nicklas 19 final String pipeline = request.getParameter("pipeline");
2268 05 Mar 14 nicklas 20 DbControl dc = null;
2268 05 Mar 14 nicklas 21 try
2268 05 Mar 14 nicklas 22 {
2268 05 Mar 14 nicklas 23   dc = sc.newDbControl();
2268 05 Mar 14 nicklas 24   final User user = User.getById(dc, sc.getLoggedInUserId());
2268 05 Mar 14 nicklas 25 %>
2268 05 Mar 14 nicklas 26 <base:page type="default" >
2622 02 Sep 14 nicklas 27 <base:head 
2622 02 Sep 14 nicklas 28   scripts="~../reggie-2.js,~demux_start.js" 
2622 02 Sep 14 nicklas 29   styles="path.css,~../css/reggie-2.css"
4985 28 Sep 18 nicklas 30 >
4985 28 Sep 18 nicklas 31 <style>
4985 28 Sep 18 nicklas 32 .notify.donotuseinfo
4985 28 Sep 18 nicklas 33 {
4985 28 Sep 18 nicklas 34   width: auto;
4985 28 Sep 18 nicklas 35   max-width: 60em;
4985 28 Sep 18 nicklas 36   font-weight: normal;
4985 28 Sep 18 nicklas 37   background-color: #F8F8E8;
4985 28 Sep 18 nicklas 38   border-color: inherit;
4985 28 Sep 18 nicklas 39 }
4985 28 Sep 18 nicklas 40
4985 28 Sep 18 nicklas 41 .notify.donotuseinfo > div:first-child > div
4985 28 Sep 18 nicklas 42 {
4985 28 Sep 18 nicklas 43   border-color: #F8F8E8;
4985 28 Sep 18 nicklas 44 }
4985 28 Sep 18 nicklas 45
4985 28 Sep 18 nicklas 46 .notify .notify-message:before
4985 28 Sep 18 nicklas 47 {
4985 28 Sep 18 nicklas 48   content: url('../images/info.png');
4985 28 Sep 18 nicklas 49 }
4985 28 Sep 18 nicklas 50
4985 28 Sep 18 nicklas 51 .donotuseinfo td
4985 28 Sep 18 nicklas 52 {
4985 28 Sep 18 nicklas 53   vertical-align: top;
4985 28 Sep 18 nicklas 54   padding: 2px;
4985 28 Sep 18 nicklas 55 }
4985 28 Sep 18 nicklas 56 </style>
4985 28 Sep 18 nicklas 57
4985 28 Sep 18 nicklas 58 </base:head>
2622 02 Sep 14 nicklas 59 <base:body>
2268 05 Mar 14 nicklas 60
2268 05 Mar 14 nicklas 61   <p:path><p:pathelement 
2268 05 Mar 14 nicklas 62     title="Reggie" href="<%="../index.jsp?ID="+ID%>" 
2268 05 Mar 14 nicklas 63     /><p:pathelement title="Start demux and merge" 
2268 05 Mar 14 nicklas 64     /></p:path>
2268 05 Mar 14 nicklas 65
5479 10 Jun 19 nicklas 66   <div id="page-data" class="datacontainer"
5479 10 Jun 19 nicklas 67     data-pipeline="<%=HTML.encodeTags(pipeline)%>"
5479 10 Jun 19 nicklas 68   ></div>
5479 10 Jun 19 nicklas 69
2268 05 Mar 14 nicklas 70   <div class="content">
2622 02 Sep 14 nicklas 71   <form name="reggie" id="wizard" class="wizard">
2622 02 Sep 14 nicklas 72   
2622 02 Sep 14 nicklas 73   <div class="step auto-hide" id="step-1">
2622 02 Sep 14 nicklas 74     <div class="step-no">1</div>
2622 02 Sep 14 nicklas 75     <div class="step-title">Select sequencing runs</div>
2622 02 Sep 14 nicklas 76     <div class="step-content">
2268 05 Mar 14 nicklas 77
2622 02 Sep 14 nicklas 78       <table class="step-form">
2622 02 Sep 14 nicklas 79       <tr class="align-top">
2268 05 Mar 14 nicklas 80         <td class="prompt">Sequencing runs</td>
2622 02 Sep 14 nicklas 81         <td class="input">
2622 02 Sep 14 nicklas 82           <select class="required" name="seqRuns" id="seqRuns"
2622 02 Sep 14 nicklas 83              multiple size="8"></select>
2268 05 Mar 14 nicklas 84             
2268 05 Mar 14 nicklas 85           <base:buttongroup style="margin-top: 0.5em;">
2622 02 Sep 14 nicklas 86             <base:button title="Select manually&hellip;" id="btnSelectSeqRuns" />
2268 05 Mar 14 nicklas 87           </base:buttongroup>
2268 05 Mar 14 nicklas 88         </td>
2268 05 Mar 14 nicklas 89         <td class="status" id="seqRuns.status"></td>
2622 02 Sep 14 nicklas 90         <td class="help">
2622 02 Sep 14 nicklas 91           <span id="seqRuns.message" class="message"></span>
2268 05 Mar 14 nicklas 92           Select the sequencing runs that should be demuxed. Data for libraries that are found
2268 05 Mar 14 nicklas 93           in multiple places are merged to a single item for that library. 
2268 05 Mar 14 nicklas 94         </td>
2268 05 Mar 14 nicklas 95       </tr>
2268 05 Mar 14 nicklas 96       </table>
2622 02 Sep 14 nicklas 97     </div>
2268 05 Mar 14 nicklas 98   </div>
2268 05 Mar 14 nicklas 99   
2622 02 Sep 14 nicklas 100   <div class="step" id="step-2">
2622 02 Sep 14 nicklas 101     <div class="step-no">2</div>
2622 02 Sep 14 nicklas 102     <div class="step-title">Demux and merge information</div>
2622 02 Sep 14 nicklas 103     <div class="step-content">
2622 02 Sep 14 nicklas 104
2622 02 Sep 14 nicklas 105       <table class="step-form">
2622 02 Sep 14 nicklas 106       <tbody>
2622 02 Sep 14 nicklas 107         <tr class="section-header">
2622 02 Sep 14 nicklas 108           <td colspan="4">Demux</td>
2622 02 Sep 14 nicklas 109         </tr>
2622 02 Sep 14 nicklas 110         <tr>
3128 10 Feb 15 nicklas 111           <td class="subprompt">Protocol</td>
3128 10 Feb 15 nicklas 112           <td class="input">
3128 10 Feb 15 nicklas 113             <select name="demuxProtocol" id="demuxProtocol"></select>
3128 10 Feb 15 nicklas 114           </td>
3128 10 Feb 15 nicklas 115           <td class="status" id="demuxProtocol.status"></td>
3128 10 Feb 15 nicklas 116           <td class="help">
3128 10 Feb 15 nicklas 117             <span id="demuxProtocol.message" class="message"></span>
3128 10 Feb 15 nicklas 118             Select the protocol used for demuxing.
3128 10 Feb 15 nicklas 119           </td>
3128 10 Feb 15 nicklas 120         </tr>
3128 10 Feb 15 nicklas 121         <tr>
2622 02 Sep 14 nicklas 122           <td class="subprompt">Software</td>
2622 02 Sep 14 nicklas 123           <td class="input">
2622 02 Sep 14 nicklas 124             <select name="demuxSoftware" id="demuxSoftware"></select>
2622 02 Sep 14 nicklas 125           </td>
2622 02 Sep 14 nicklas 126           <td class="status" id="demuxSoftware.status"></td>
2622 02 Sep 14 nicklas 127           <td class="help">
2622 02 Sep 14 nicklas 128             <span id="demuxSoftware.message" class="message"></span>
2622 02 Sep 14 nicklas 129             Select the software to use for demuxing.
2622 02 Sep 14 nicklas 130           </td>
2622 02 Sep 14 nicklas 131         </tr>
3128 10 Feb 15 nicklas 132       </tbody>
3128 10 Feb 15 nicklas 133         <tbody class="info-section">
2622 02 Sep 14 nicklas 134         <tr>
3128 10 Feb 15 nicklas 135           <td class="subprompt">Parameter set</td>
3128 10 Feb 15 nicklas 136           <td class="info" colspan="2">
3128 10 Feb 15 nicklas 137             <span id="demuxSoftware.parameterSet"></span>
3128 10 Feb 15 nicklas 138             <div id="demuxSoftware.description" class="item-description"></div>
2622 02 Sep 14 nicklas 139           </td>
2622 02 Sep 14 nicklas 140           <td class="help">
3128 10 Feb 15 nicklas 141             This step uses Picard to extract barcodes and extract sequence information to FASTQ files.
3128 10 Feb 15 nicklas 142             Parameters are configured in the &lt;demux&gt; section in reggie-config.xml but note that the
3128 10 Feb 15 nicklas 143             Bowtie and Trimmomatic parameters are for the merge step.
2622 02 Sep 14 nicklas 144           </td>
2622 02 Sep 14 nicklas 145         </tr>
2622 02 Sep 14 nicklas 146       </tbody>
2320 04 Apr 14 nicklas 147       <tbody id="SequencingRun-section"></tbody>
2622 02 Sep 14 nicklas 148       <tbody>
6280 09 Jun 21 nicklas 149         <tr>
6280 09 Jun 21 nicklas 150           <td class="prompt">Libraries to demux</td>
6280 09 Jun 21 nicklas 151           <td class="input">
6280 09 Jun 21 nicklas 152             <label><input type="radio" name="whichLibs" id="libsAll" value="all" checked>All</label><br>
6280 09 Jun 21 nicklas 153             <span id="doNotUseOption" style="display: none;">
6280 09 Jun 21 nicklas 154             <label><input type="radio" name="whichLibs" id="libsExceptDoNotUse" value="allExceptDoNotUse"
6280 09 Jun 21 nicklas 155               >All, except <span id="numDoNotUseLibs"></span> marked with DoNotUse</label>
6280 09 Jun 21 nicklas 156               <img src="../images/info.png" class="link" id="donotuseinfo" title="More information about the libraries..."><br>
6280 09 Jun 21 nicklas 157             </span>
6280 09 Jun 21 nicklas 158             <label><input type="radio" name="whichLibs" id="libsSelected" value="selected">Select...</label>
6280 09 Jun 21 nicklas 159             <span id="libsSelectedLabel"></span>
6280 09 Jun 21 nicklas 160           </td>
6280 09 Jun 21 nicklas 161           <td class="status" id="whichLibs.status"></td>
6280 09 Jun 21 nicklas 162           <td class="help">
6280 09 Jun 21 nicklas 163             <span id="whichLibs.message" class="message"></span>
6280 09 Jun 21 nicklas 164             Select which libraries that should be included in the demux.
6280 09 Jun 21 nicklas 165           </td>
6280 09 Jun 21 nicklas 166         </tr>
6280 09 Jun 21 nicklas 167       </tbody>
6280 09 Jun 21 nicklas 168       <tbody>
2622 02 Sep 14 nicklas 169         <tr class="section-header">
2622 02 Sep 14 nicklas 170           <td colspan="4">Merge</td>
2622 02 Sep 14 nicklas 171         </tr>
2622 02 Sep 14 nicklas 172         <tr>
3128 10 Feb 15 nicklas 173           <td class="subprompt">Protocol</td>
3128 10 Feb 15 nicklas 174           <td class="input">
3128 10 Feb 15 nicklas 175             <select name="mergeProtocol" id="mergeProtocol"></select>
3128 10 Feb 15 nicklas 176           </td>
3128 10 Feb 15 nicklas 177           <td class="status" id="mergeProtocol.status"></td>
3128 10 Feb 15 nicklas 178           <td class="help">
3128 10 Feb 15 nicklas 179             <span id="mergeProtocol.message" class="message"></span>
3128 10 Feb 15 nicklas 180             Select the protocol used for merging.
3128 10 Feb 15 nicklas 181           </td>
3128 10 Feb 15 nicklas 182         </tr>
3128 10 Feb 15 nicklas 183         <tr>
2622 02 Sep 14 nicklas 184           <td class="subprompt">Software</td>
2622 02 Sep 14 nicklas 185           <td class="input">
2622 02 Sep 14 nicklas 186             <select name="mergeSoftware" id="mergeSoftware"></select>
2622 02 Sep 14 nicklas 187           </td>
2622 02 Sep 14 nicklas 188           <td class="status" id="mergeSoftware.status"></td>
2622 02 Sep 14 nicklas 189           <td class="help">
2622 02 Sep 14 nicklas 190             <span id="mergeSoftware.message" class="message"></span>
2622 02 Sep 14 nicklas 191             Select the software to use for merging the FASTQ files.
2622 02 Sep 14 nicklas 192           </td>
2622 02 Sep 14 nicklas 193         </tr>
3128 10 Feb 15 nicklas 194       </tbody>
3128 10 Feb 15 nicklas 195       <tbody class="info-section">
2622 02 Sep 14 nicklas 196         <tr>
3128 10 Feb 15 nicklas 197           <td class="subprompt">Parameter set</td>
3128 10 Feb 15 nicklas 198           <td class="info" colspan="2">
3128 10 Feb 15 nicklas 199             <span id="mergeSoftware.parameterSet"></span>
3128 10 Feb 15 nicklas 200             <div id="mergeSoftware.description" class="item-description"></div>
2622 02 Sep 14 nicklas 201           </td>
2622 02 Sep 14 nicklas 202           <td class="help">
3128 10 Feb 15 nicklas 203             This step will merge the FASTQ files into two files per sample (R1+R2) and
3128 10 Feb 15 nicklas 204             then run Bowtie and Trimmomatic for some statistics and cleanup.
3128 10 Feb 15 nicklas 205             Parameters are configured in the
3128 10 Feb 15 nicklas 206             &lt;demux&gt; section in reggie-config.xml.
2622 02 Sep 14 nicklas 207           </td>
2622 02 Sep 14 nicklas 208         </tr>
2622 02 Sep 14 nicklas 209       </tbody>
2622 02 Sep 14 nicklas 210       <tbody>
2622 02 Sep 14 nicklas 211         <tr class="section-header">
6735 09 May 22 nicklas 212           <td colspan="4">Job scheduler &amp; job options</td>
2622 02 Sep 14 nicklas 213         </tr>
2622 02 Sep 14 nicklas 214         <tr>
2622 02 Sep 14 nicklas 215           <td class="subprompt">Cluster</td>
2622 02 Sep 14 nicklas 216           <td class="input">
2622 02 Sep 14 nicklas 217             <select name="clusters" id="clusters" class="required"></select>
2622 02 Sep 14 nicklas 218           </td>
2622 02 Sep 14 nicklas 219           <td class="status" id="clusters.status"></td>
2622 02 Sep 14 nicklas 220           <td class="help">
2622 02 Sep 14 nicklas 221             <span id="clusters.message" class="message"></span>
2622 02 Sep 14 nicklas 222             Select the cluster to use for running the software.
2622 02 Sep 14 nicklas 223           </td>
2622 02 Sep 14 nicklas 224         </tr>
2622 02 Sep 14 nicklas 225         <tr id="job-priority" style="display: none;">
2622 02 Sep 14 nicklas 226           <td class="subprompt">Job priority</td>
2622 02 Sep 14 nicklas 227           <td class="input">
2622 02 Sep 14 nicklas 228             <select name="priority" id="priority"></select>
2622 02 Sep 14 nicklas 229           </td>
2622 02 Sep 14 nicklas 230           <td class="status" id="priority.status"></td>
2622 02 Sep 14 nicklas 231           <td class="help">
2622 02 Sep 14 nicklas 232             <span id="priority.message" class="message"></span>
2622 02 Sep 14 nicklas 233             Select the priority of the job.
2622 02 Sep 14 nicklas 234           </td>
2622 02 Sep 14 nicklas 235         </tr>
6980 17 Jan 23 nicklas 236         <tr id="job-partition" style="display: none;">
6980 17 Jan 23 nicklas 237           <td class="subprompt">Job partition</td>
6980 17 Jan 23 nicklas 238           <td class="input">
6980 17 Jan 23 nicklas 239             <select name="partition" id="partition"></select>
6980 17 Jan 23 nicklas 240           </td>
6980 17 Jan 23 nicklas 241           <td class="status" id="partition.status"></td>
6980 17 Jan 23 nicklas 242           <td class="help">
6980 17 Jan 23 nicklas 243             <span id="partition.message" class="message"></span>
6980 17 Jan 23 nicklas 244             Select the partition/queue that the job should be submitted to.
6980 17 Jan 23 nicklas 245           </td>
6980 17 Jan 23 nicklas 246         </tr>
7372 06 Oct 23 nicklas 247       </tbody>
7372 06 Oct 23 nicklas 248       <tbody class="info-section">
7372 06 Oct 23 nicklas 249         <tr class="align-top">
7372 06 Oct 23 nicklas 250           <td class="subprompt">Job options</td>
7372 06 Oct 23 nicklas 251           <td class="info input">
7372 06 Oct 23 nicklas 252             <div id="submitOptions" class="item-description code"></div>
7372 06 Oct 23 nicklas 253             <textarea id="submitOptionsOverride" name="submitOptionsOverride" rows="4" style="display: none;"></textarea>
2960 19 Nov 14 nicklas 254           </td>
7372 06 Oct 23 nicklas 255           <td class="status" id="submitOptions.status">
7372 06 Oct 23 nicklas 256             <input type="checkbox" id="override" name="override" title="Override the default options" disabled>
7372 06 Oct 23 nicklas 257           </td>
2960 19 Nov 14 nicklas 258           <td class="help">
7372 06 Oct 23 nicklas 259             Parameters are configured in the &lt;demux&gt;/&lt;submit&gt; 
7372 06 Oct 23 nicklas 260             section in reggie-config.xml. Select the checkbox to manually 
7372 06 Oct 23 nicklas 261             override the default options.
2960 19 Nov 14 nicklas 262           </td>
2960 19 Nov 14 nicklas 263         </tr>
7372 06 Oct 23 nicklas 264       </tbody>
7372 06 Oct 23 nicklas 265       <tbody>
2960 19 Nov 14 nicklas 266         <tr>
3029 11 Dec 14 nicklas 267           <td class="subprompt">Auto-confirm</td>
3029 11 Dec 14 nicklas 268           <td class="input"><input type="checkbox" name="autoConfirm" checked></td>
3029 11 Dec 14 nicklas 269           <td class="status" id="autoConfirm.status"></td>
3029 11 Dec 14 nicklas 270           <td class="help">
3029 11 Dec 14 nicklas 271             <span id="autoConfirm.message" class="message"></span>
3029 11 Dec 14 nicklas 272             If the demux is successful, without warnings and all libraries get &gt;10M reads after trimmomatic
7372 06 Oct 23 nicklas 273             and valid fragment size values, it is automatically confirmed and alignment is started.
3029 11 Dec 14 nicklas 274           </td>
3029 11 Dec 14 nicklas 275         </tr>
3029 11 Dec 14 nicklas 276         <tr>
2622 02 Sep 14 nicklas 277           <td class="subprompt">Debug</td>
7372 06 Oct 23 nicklas 278           <td class="input"><input type="checkbox" name="debug" id="debug"></td>
2622 02 Sep 14 nicklas 279           <td class="status" id="debug.status"></td>
2622 02 Sep 14 nicklas 280           <td class="help">
2622 02 Sep 14 nicklas 281             <span id="debug.message" class="message"></span>
2622 02 Sep 14 nicklas 282             When running in debug mode only part of the sequenced data is used and
3029 11 Dec 14 nicklas 283             temporary files are not removed from the cluster node. Note! The auto-confirm
3029 11 Dec 14 nicklas 284             rule is relaxed to &gt;300k reads.
2622 02 Sep 14 nicklas 285           </td>
2622 02 Sep 14 nicklas 286         </tr>
2622 02 Sep 14 nicklas 287       </tbody>
2268 05 Mar 14 nicklas 288       </table>
2622 02 Sep 14 nicklas 289     </div>
2268 05 Mar 14 nicklas 290   </div>
2268 05 Mar 14 nicklas 291     
2622 02 Sep 14 nicklas 292     <div id="wizard-status"></div>
2268 05 Mar 14 nicklas 293   
2622 02 Sep 14 nicklas 294     <table class="navigation" id="navigation">
2268 05 Mar 14 nicklas 295     <tr>
2622 02 Sep 14 nicklas 296       <td><base:button id="gocancel" title="Cancel" /></td>
2622 02 Sep 14 nicklas 297       <td><base:button id="gonext" title="Next" image="<%=home+"/images/gonext.png"%>" /></td>
2622 02 Sep 14 nicklas 298       <td><base:button id="goregister" title="Register" image="<%=home+"/images/import.png"%>"  /></td>
2622 02 Sep 14 nicklas 299       <td><base:button id="gorestart" title="Restart" image="<%=home+"/images/goback.png"%>" /></td>
2622 02 Sep 14 nicklas 300       <td id="gonext-message" class="message"></td>
2268 05 Mar 14 nicklas 301     </tr>
2622 02 Sep 14 nicklas 302     </table>
2268 05 Mar 14 nicklas 303   
2268 05 Mar 14 nicklas 304   </form>
2268 05 Mar 14 nicklas 305   </div>
2268 05 Mar 14 nicklas 306   
2268 05 Mar 14 nicklas 307 </base:body>
2268 05 Mar 14 nicklas 308 </base:page>
2268 05 Mar 14 nicklas 309 <%
2268 05 Mar 14 nicklas 310 }
2268 05 Mar 14 nicklas 311 finally
2268 05 Mar 14 nicklas 312 {
2268 05 Mar 14 nicklas 313   if (dc != null) dc.close();
2268 05 Mar 14 nicklas 314 }
2268 05 Mar 14 nicklas 315 %>