source: trunk/grails-app/views/fasta/showProcessResult.gsp @ 49

Last change on this file since 49 was 49, checked in by robert@…, 8 years ago
  • Added sequence length histograms
  • Fixed bugs in files that remained on the file system after uploading (while they shouldn't)
  • Added extra options in run- and assay screens
File size: 4.0 KB
Line 
1<html>
2        <head>
3                <meta name="layout" content="main" />
4                <title>Processed files| Mass Sequencing | dbNP</title>
5               
6                <script>
7                        var entityId = ${entity.id};
8
9                        function showSampleDataWarning( select, i ) {
10                                if( $( 'option:selected', $(select) ).hasClass( 'containsdata' ) ) {
11                                        $( '#warningSampleContainsData_' + i ).show();
12                                } else {
13                                        $( '#warningSampleContainsData_' + i ).hide();
14                                }
15                        }
16                </script>
17        </head>
18<body>
19        <h1>
20                <g:if test="${entityType == 'assay'}">
21                        Assay ${entity.study?.name} - ${entity.name}
22                </g:if>
23                <g:else>
24                        Run ${entity.name}
25                </g:else>
26        </h1>
27        <g:if test="${matchedFiles.size() > 0}">
28                <p>
29                        Match each sequencefile with the qualityfile and the sample it belongs to. Samples are already chosen for some files based
30                        on the given excelsheet or the filenames.
31                </p>
32                <p>
33                        By unchecking a sequence file you can exclude the file from being used.
34                </p>
35                 
36                <%
37                        def sortedSamples = entity.assaySamples.findAll { it.assay.study.canWrite( session.user ) }.sort() { a,b -> a.sample.name <=> b.sample.name }
38                %>
39                <g:form name="saveProcessedFiles" action="saveProcessedFiles" id="${entity.id}" params="${[controller: controller]}">
40                <input type="hidden" name="entityType" value="${entityType}" />
41                <table>
42                        <thead>
43                                <tr>
44                                        <th></th>
45                                        <th>Fasta file</th>
46                                        <th># sequences</th>
47                                        <th>Qual file</th>
48                                        <th>Sample</th>
49                                </tr>
50                        </thead>
51                       
52                        <g:each in="${matchedFiles}" var="file" status="i">
53                                <tr>
54                                        <td>
55                                                <g:hiddenField name="file.${i}.fasta" value="${file.fasta.filename}" />
56                                                <g:checkBox name="file.${i}.include" value="${file.checked}" />
57                                        </td>
58                                        <td class="name">${file.fasta.originalfilename}</td>
59                                        <td class="sequences">${file.fasta.numSequences}</td>
60                                        <td>
61                                                <g:if test="${file.feasibleQuals?.size()}">
62                                                        <g:select name="file.${i}.qual" from="${file.feasibleQuals}" optionKey="filename" optionValue="originalfilename" value="${file.qual?.filename}" noSelection="['': '- No qual file -']"/>
63                                                </g:if>
64                                                <g:else>
65                                                        No qual file available
66                                                </g:else>
67                                        </td>
68                                        <td nowrap>
69                                                <g:if test="${sortedSamples.size()}">
70                                                        <select name="file.${i}.assaySample" onChange="showSampleDataWarning(this, ${i});">
71                                                                <g:each in="${sortedSamples}" var="assaySample">
72                                                                        <option
73                                                                                <g:if test="${file.assaySample?.id == assaySample.id}">
74                                                                                        <g:set var="selectedAssaySample" value="${assaySample}" />
75                                                                                        selected="selected"
76                                                                                </g:if>
77                                                                                value="${assaySample.id}" class="<g:if test="${assaySample?.sequenceData?.size() > 0}">containsdata</g:if><g:else>nodata</g:else>">${assaySample.sample.name}</option>
78                                                                </g:each>
79                                                        </select>
80                                                        <span id="warningSampleContainsData_${i}" class="warningSampleContainsData" <g:if test="${selectedAssaySample?.sequenceData?.size() > 0}">style="display: inline;"</g:if>>
81                                                                <img src="${fam.icon( name: "exclamation" ) }" title="This sample already contains sequences. Adding sequences doesn't replace the old ones." />
82                                                        </span>
83                                                </g:if>
84                                                <g:else>
85                                                        No samples available.
86                                                </g:else>
87                                        </td>
88                                </tr>
89                        </g:each>
90               
91                </table>
92               
93                <input type="submit" value="Continue">
94                </g:form>
95       
96        </g:if>
97        <g:else>
98                <h2>Uploaded files</h2>
99                <p>
100                        ${parsedFiles.success?.size()} files were successfully uploaded, but no FASTA file could be determined. Please
101                        upload at least one FASTA file.
102                </p>
103        </g:else>
104       
105        <g:if test="${parsedFiles.failure?.size()}">
106                <h2>Failure</h2>
107                <p>
108                        The following files could not be correctly imported. The system can only interpret FASTA and QUAL files.<br />
109                        If these files were intended to be included into the system, please check the messages below.
110                 </p>
111                <ul>
112                        <g:each in="${parsedFiles.failure}" var="file">
113                                <li>
114                                        ${file.originalfilename}:
115                                        ${file.message}
116                                </li>
117                        </g:each>
118                </ul>   
119        </g:if>
120       
121        <p>
122                <g:link controller="fasta" action="returnWithoutSaving" params="[entityType: entityType, id: entity.id]">Return to ${entityType}</g:link>       
123        </p>
124</body>
125</html>
Note: See TracBrowser for help on using the repository browser.