-{% load humanize %}
+{% extends "base_site.html" %}
+{% load adminmedia humanize i18n %}
+{% block extrahead %}
+ <!-- App Stuff -->
+ <link type="text/css" rel="stylesheet" href="/static/css/app.css" />
+ <script type="text/javascript" src="/static/js/jquery.min.js"></script>
+
+ {% block additional_javascript %}
+ {% endblock %}
-<hr/>
-<br/>
<style type="text/css">
/* <![CDATA[ */
- table, td {
+ div#librarydetail {
+ margin: 0;
+ padding: 0;
+ }
+ div#librarydetail table, div#librarydetail td {
border-style: solid;
}
- table {
+ div#librarydetail table {
border-width: 0 0 1px 1px;
border-spacing: 0;
border-collapse: collapse;
}
- td {
+ div#librarydetail td {
margin: 0;
- padding: 4px;
+ padding: 3px;
border-width: 1px 1px 0 0;
}
- thead {
+ div#librarydetail thead {
text-align: center;
}
- tbody {
+ div#librarydetail tbody {
text-align: right;
}
- /* ]]> */
+ div#librarydetail h1,
+ div#librarydetail h2
+ {
+ font-size: 150%;
+ }
+
+ div#librarydetail h3 {
+ font-size: 125%;
+ margin: 0;
+ }
+
+ div#librarydetail h4,
+ div#librarydetail h5,
+ div#librarydetail ul,
+ div#librarydetail ol,
+ div#librarydetail li
+ {
+ list-style: none;
+ margin: 0;
+ }
+
+ div#librarydetail ul,
+ div#librarydetail ol
+ {
+ margin-bottom: .5em;
+ }
+ /* ]]> */
</style>
+{% endblock %}
-{% block summary_stats %}
-<table>
+{% block content %}
+<div id="librarydetail">
+ <h2>About this library</h2>
+ <b>Library ID</b>: {{ lib.id }}<br/>
+ <b>Name</b>:
+ <span property="libns:name">{{ lib.library_name }}</span>
+ <br/>
+ <b>Species</b>:
+ <span property="libns:species">{{ lib.library_species.scientific_name }}</span>
+ <br/>
+ <b>Concentration</b>:
+ <span property="libns:concentration">{{ lib.undiluted_concentration }} ng/µl</span>
+ <br/>
+ <b>Gel Cut Size</b>:
+ <span property="libns:gel_cut">{{ lib.gel_cut_size }}</span>
+ <br/>
+ <b>Insert Size</b>:
+ <span property="libns:insert_size">{{ lib.insert_size }}</span>
+ <br/>
+ <b>Background or Cell Line</b>:
+ <span property="libns:cell_line">{{ lib.cell_line }}</span>
+ <br/>
+ <b>Replicate</b>:
+ <span property="libns:replicate">{{ lib.replicate }}</span>
+ <br/>
+ <b>Library Type</b>:
+ <span property="libns:library_type">{{ lib.library_type }}</span>
+ <br/>
+ <b>Experiment Type</b>:
+ <span property="libns:experiment_type">{{ lib.experiment_type }}</span>
+ <br/>
+ <b>Made By</b>:
+ <span property="libns:made_by">{{ lib.made_by }}</span>
+ <br/>
+ <b>Creation Date</b>
+ <span property="libns:date" content="{{lib.creation_date|date:'Y-m-d'}}T00:00:00" datatype="xsd:dateTime">{{ lib.creation_date }}</span>
+ <br/>
+ <b>Protocol Stopping Point</b>
+ <span property="libns:stopping_point">{{ lib.stopping_point_name }}</span>
+ <br/>
+ <b>Affiliations</b>:
+ <ul>
+ {% for individual in lib.affiliations.all %}
+ <li property="libns:affliation" content="{{individual.name}}">
+ {{ individual.name }} ( {{ individual.contact }} )
+ </li>
+ {% endfor %}
+ </ul>
+
+ <h2>Raw Result Files</h2>
+ <table>
<thead>
<tr>
- <td colspan="6"></td>
- <td colspan="2">No Match</td>
- <td colspan="2">QC Failed</td>
- <td colspan="4">Unique</td>
- <td colspan="4">Repeat</td>
- </tr>
- <tr>
- <td>Cycles</td>
- <td>Flowcell</td>
- <td>Lane</td>
- <td>End</td>
- <td>Cluster / Tile</td>
- <td>Raw Reads</td>
- <td>total</td>
- <td>%</td>
- <td>total</td>
- <td>%</td>
- <td>0 mismatch</td>
- <td>1 mismatch</td>
- <td>2 mismatch</td>
- <td>Total</td>
- <td>0 mismatch</td>
- <td>1 mismatch</td>
- <td>2 mismatch</td>
- <td>Total</td>
+ <td>Run Start Date</td>
+ <td>Cycle</td>
+ <td>Flowcell</td>
+ <td>Lane</td>
+ <td>Summary</td>
+ <td>Eland</td>
+ <td>Bed</td>
+ <td>Archived</td>
</tr>
</thead>
<tbody>
-
- {% for lane in lane_summary_list %}
- <tr>
- <td>{{ lane.cycle_width }}</td>
- <td>{{ lane.flowcell_id }}</td>
- <td>{{ lane.lane_id }}</td>
- <td>{% if lane.end %}{{ lane.end }}{% endif %}</td>
- <td>{{ lane.clusters.0|intcomma }}</td>
- <td>{{ lane.reads|intcomma }}</td>
- <td>{{ lane.no_match|intcomma }}</td>
- <td>{{ lane.no_match_percent|stringformat:".2f" }}</td>
- <td>{{ lane.qc_failed|intcomma }}</td>
- <td>{{ lane.qc_failed_percent|stringformat:".2f" }}</td>
- <td>{{ lane.match_codes.U0|intcomma }}</td>
- <td>{{ lane.match_codes.U1|intcomma }}</td>
- <td>{{ lane.match_codes.U2|intcomma }}</td>
- <td>{{ lane.unique_reads|intcomma }}</td>
- <td>{{ lane.match_codes.R0|intcomma }}</td>
- <td>{{ lane.match_codes.R1|intcomma }}</td>
- <td>{{ lane.match_codes.R2|intcomma }}</td>
- <td>{{ lane.repeat_reads|intcomma }}</td>
+ {% for result in eland_results %}
+ <tr about="/flowcell/{{result.flowcell_id}}/lane/{{result.lane}}">
+ <td property="libns:date" content="{{result.run_date|date:'Y-m-d\TH:i:s'}}" datatype="xsd:dateTime">{{ result.run_date|date}}</td>
+ <td>{{ result.cycle }}</td>
+ <td property="libns:flowcell_id">{{ result.flowcell_id }}</td>
+ <td property="libns:lane">{{ result.lane }}</td>
+ <td><a href="{{ result.summary_url }}">Summary</a></td>
+ <td><a href="{{ result.result_url }}">{{ result.result_label }}</a></td>
+ <td>
+ {% if result.bed_url %}
+ <a href="{{ result.bed_url }}">Bed</a>
+ {% endif %}
+ </td>
+ <td>
+ {% if result.storage_ids %}
+ {{ result.storage_ids|safe }}
+ {% endif %}
+ </td>
</tr>
{% endfor %}
</tbody>
-</table>
-<br/>
-<hr/>
-{% for lane in lane_summary_list %}
-<h2>
- {{lane.cycle_width}} {{ lane.flowcell_id }} lane {{ lane.lane_id }}
- {% if lane.end %} end {{ lane.end }}{% endif %}
-</h2>
- <ul>
- {% for name, counts in lane.summarized_reads.items %}
- <li><b>{{ name }}</b>: {{ counts|intcomma }}</li>
- {% endfor %}
- </ul>
-{% endfor %}
+ </table>
+
+ <h2>Lane Summary Statistics</h2>
+ {% block summary_stats %}
+ <table>
+ <thead>
+ <tr>
+ <td colspan="7"></td>
+ <td colspan="2">No Match</td>
+ <td colspan="2">QC Failed</td>
+ <td colspan="4">Unique</td>
+ <td colspan="4">Repeat</td>
+ </tr>
+ <tr>
+ <td>Cycles</td>
+ <td>Flowcell</td>
+ <td>Lane</td>
+ <td>End</td>
+ <td>Cluster / Tile</td>
+ <td>pM</td>
+ <td>Raw Reads</td>
+ <td>total</td>
+ <td>%</td>
+ <td>total</td>
+ <td>%</td>
+ <td>0 mismatch</td>
+ <td>1 mismatch</td>
+ <td>2 mismatch</td>
+ <td>Total</td>
+ <td>0 mismatch</td>
+ <td>1 mismatch</td>
+ <td>2 mismatch</td>
+ <td>Total</td>
+ </tr>
+ </thead>
+ <tbody>
+
+ {% for lane in lane_summary_list %}
+ <tr about="/flowcell/{{lane.flowcell_id}}/lane/{{lane.lane_id}}/end/{% if lane.end %}{{ lane.end }}{% endif %}">
+ <td>{{ lane.cycle_width }}</td>
+ <td>{{ lane.flowcell_id }}</td>
+ <td>{{ lane.lane_id }}</td>
+ <td>{% if lane.end %}{{ lane.end }}{% endif %}</td>
+ <td>{{ lane.clusters.0|intcomma }}</td>
+ <td>{{ lane.successful_pm }}</td>
+ <td>{{ lane.reads|intcomma }}</td>
+ <td>{{ lane.no_match|intcomma }}</td>
+ <td>{{ lane.no_match_percent|stringformat:".2f" }}</td>
+ <td>{{ lane.qc_failed|intcomma }}</td>
+ <td>{{ lane.qc_failed_percent|stringformat:".2f" }}</td>
+ <td>{{ lane.match_codes.U0|intcomma }}</td>
+ <td>{{ lane.match_codes.U1|intcomma }}</td>
+ <td>{{ lane.match_codes.U2|intcomma }}</td>
+ <td {% if lane.unique_reads %}property="libns:total_unique_locations" content="{{lane.unique_reads}}" datatype="xsd:decimal"{% endif %}>{{ lane.unique_reads|intcomma }}</td>
+ <td>{{ lane.match_codes.R0|intcomma }}</td>
+ <td>{{ lane.match_codes.R1|intcomma }}</td>
+ <td>{{ lane.match_codes.R2|intcomma }}</td>
+ <td>{{ lane.repeat_reads|intcomma }}</td>
+ </tr>
+ {% endfor %}
+ </tbody>
+ </table>
+
+ <h2>Flowcell Notes</h2>
+ <table>
+ <thead>
+ <tr>
+ <td>Flowcell ID</td>
+ <td>Lane</td>
+ <td>Comment</td>
+ </tr>
+ </thead>
+ <tbody>
+ {% for lane in lib.lane_set.all %}
+ <tr>
+ <td>{{ lane.flowcell.flowcell_id }}</td>
+ <td>{{ lane.lane_number }}</td>
+ <td>{{ lane.comment }}</td>
+ </tr>
+ {% endfor %}
+ </tbody>
+ </table>
+ <br/>
+ <hr/>
+ <h2>Count of multi-reads</h2>
+ {% for lane in lane_summary_list %}
+ {% if lane.summarized_reads %}
+ <h3>
+ {{lane.cycle_width}} {{ lane.flowcell_id }} lane {{ lane.lane_id }}
+ {% if lane.end %} end {{ lane.end }}{% endif %}
+ </h3>
+ <ul>
+ {% for name, counts in lane.summarized_reads.items %}
+ <li><b>{{ name }}</b>: {{ counts|intcomma }}</li>
+ {% endfor %}
+ </ul>
+ {% endif %}
+ {% endfor %}
+ {% endblock %}
+</div>
{% endblock %}