source: trunk/grails-app/views/import/showProcessResult.gsp @ 58

Last change on this file since 58 was 58, checked in by robert@…, 8 years ago

Implemented importing of classifications

File size: 4.7 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       
28        <h2>Sequence files</h2>
29        <g:if test="${matchedFiles.size() > 0}">
30                <p>
31                        Match each sequencefile with the qualityfile and the sample it belongs to. Samples are already chosen for some files based
32                        on the given excelsheet or the filenames.
33                </p>
34                <p>
35                        By unchecking a sequence file you can exclude the file from being used.
36                </p>
37                 
38                <%
39                        def sortedSamples = entity.assaySamples.findAll { it.assay.study.canWrite( session.user ) }.sort() { a,b -> a.sample.name <=> b.sample.name }
40                %>
41                <g:form name="saveProcessedFiles" action="saveProcessedFiles" id="${entity.id}" params="${[controller: controller]}">
42                <input type="hidden" name="entityType" value="${entityType}" />
43                <table>
44                        <thead>
45                                <tr>
46                                        <th></th>
47                                        <th>Fasta file</th>
48                                        <th># sequences</th>
49                                        <th>Qual file</th>
50                                        <th>Sample</th>
51                                </tr>
52                        </thead>
53                       
54                        <g:each in="${matchedFiles}" var="file" status="i">
55                                <tr>
56                                        <td>
57                                                <g:hiddenField name="file.${i}.fasta" value="${file.fasta.filename}" />
58                                                <g:checkBox name="file.${i}.include" value="${file.checked}" />
59                                        </td>
60                                        <td class="name">${file.fasta.originalfilename}</td>
61                                        <td class="sequences">${file.fasta.numSequences}</td>
62                                        <td>
63                                                <g:if test="${file.feasibleQuals?.size()}">
64                                                        <g:select name="file.${i}.qual" from="${file.feasibleQuals}" optionKey="filename" optionValue="originalfilename" value="${file.qual?.filename}" noSelection="['': '- No qual file -']"/>
65                                                </g:if>
66                                                <g:else>
67                                                        No qual file available
68                                                </g:else>
69                                        </td>
70                                        <td nowrap>
71                                                <g:if test="${sortedSamples.size()}">
72                                                        <select name="file.${i}.assaySample" onChange="showSampleDataWarning(this, ${i});">
73                                                                <g:each in="${sortedSamples}" var="assaySample">
74                                                                        <option
75                                                                                <g:if test="${file.assaySample?.id == assaySample.id}">
76                                                                                        <g:set var="selectedAssaySample" value="${assaySample}" />
77                                                                                        selected="selected"
78                                                                                </g:if>
79                                                                                value="${assaySample.id}" class="<g:if test="${assaySample?.sequenceData?.size() > 0}">containsdata</g:if><g:else>nodata</g:else>">${assaySample.sample.name}</option>
80                                                                </g:each>
81                                                        </select>
82                                                        <span id="warningSampleContainsData_${i}" class="warningSampleContainsData" <g:if test="${selectedAssaySample?.sequenceData?.size() > 0}">style="display: inline;"</g:if>>
83                                                                <img src="${fam.icon( name: "exclamation" ) }" title="This sample already contains sequences. Adding sequences doesn't replace the old ones." />
84                                                        </span>
85                                                </g:if>
86                                                <g:else>
87                                                        No samples available.
88                                                </g:else>
89                                        </td>
90                                </tr>
91                        </g:each>
92               
93                </table>
94               
95                <input type="submit" value="Continue">
96                </g:form>
97       
98        </g:if>
99        <g:else>
100                <p>
101                        ${parsedFiles.success?.size()} files were successfully uploaded, but no FASTA file could be determined. Please
102                        upload at least one FASTA file if sequences should be added.
103                </p>
104        </g:else>
105       
106        <h2>Classification files</h2>
107        <g:if test="${classificationFiles.size() > 0}">
108                <p>
109                        The following files containing sequence classification have been imported.
110                </p>
111                <table>
112                        <thead>
113                                <tr>
114                                        <th>File</th>
115                                        <th># sequences imported</th>
116                                        <th># sequences discarded</th>
117                                </tr>
118                        </thead>
119                        <g:each in="${classificationFiles}" var="file" status="i">
120                                <tr>
121                                        <td>${file.filename}</td>
122                                        <td>${file.importedSequences}</td>
123                                        <td>${file.discardedSequences}</td>
124                                </tr>
125                        </g:each>
126                </table>
127        </g:if>
128        <g:else>
129                <p>
130                        No classification files found in uploaded data.
131                </p>
132        </g:else>
133       
134       
135       
136        <g:if test="${parsedFiles.failure?.size()}">
137                <h2>Failure</h2>
138                <p>
139                        The following files could not be correctly imported. The system can only interpret FASTA, QUAL, GROUPS and TAXONOMY files.<br />
140                        If these files were intended to be included into the system, please check the messages below.
141                 </p>
142                <ul>
143                        <g:each in="${parsedFiles.failure}" var="file">
144                                <li>
145                                        ${file.originalfilename}:
146                                        ${file.message}
147                                </li>
148                        </g:each>
149                </ul>   
150        </g:if>
151       
152        <p>
153                <g:link controller="import" action="returnWithoutSaving" params="[entityType: entityType, id: entity.id]">Return to ${entityType}</g:link>     
154        </p>
155</body>
156</html>
Note: See TracBrowser for help on using the repository browser.