{%extends "samples/base.html"%} {%from "flash_messages.html" import flash_all_messages%} {%from "populations/macro-select-population.html" import select_population_form%} {%from "populations/macro-display-population-card.html" import display_population_card%} {%block title%}Samples — Upload Samples{%endblock%} {%block pagetitle%}Samples — Upload Samples{%endblock%} {%block lvl4_breadcrumbs%} <li {%if activelink=="uploade-samples"%} class="breadcrumb-item active" {%else%} class="breadcrumb-item" {%endif%}> <a href="{{url_for('species.populations.samples.upload_samples', species_id=species.SpeciesId, population_id=population.Id)}}">List</a> </li> {%endblock%} {%block contents%} {{flash_all_messages()}} <div class="row"> <p> You can now upload the samples for the "{{population.FullName}}" population from the "{{species.FullName}}" species here. </p> <p> Upload a <strong>character-separated value (CSV)</strong> file that contains details about your samples. The CSV file should have the following fields: <dl> <dt>Name</dt> <dd>The primary name/identifier for the sample/individual.</dd> <dt>Name2</dt> <dd>A secondary name for the sample. This can simply be the same as <strong>Name</strong> above. This field <strong>MUST</strong> contain a value.</dd> <dt>Symbol</dt> <dd>A symbol for the sample. This can be a strain name, e.g. 'BXD60' for species that have strains. This field can be left empty for species like Humans that do not have strains..</dd> <dt>Alias</dt> <dd>An alias for the sample. Can be an empty field, or take on the same value as that of the Symbol.</dd> </dl> </p> </div> <div class="row"> <form id="form-samples" method="POST" action="{{url_for('species.populations.samples.upload_samples', species_id=species.SpeciesId, population_id=population.InbredSetId)}}" enctype="multipart/form-data"> <legend class="heading">upload samples</legend> <input type="hidden" name="species_id" value="{{species.SpeciesId}}" /> <input type="hidden" name="population_id" value="{{population.Id}}" /> <div class="form-group"> <label for="file-samples" class="form-label">select file</label> <input type="file" name="samples_file" id="file:samples" accept="text/csv, text/tab-separated-values" class="form-control" /> </div> <div class="form-group"> <label for="select:separator" class="form-label">field separator</label> <select id="select:separator" name="separator" required="required" class="form-control"> <option value="">Select separator for your file: (default is comma)</option> <option value="	">TAB</option> <option value=" ">Space</option> <option value=",">Comma</option> <option value=";">Semicolon</option> <option value="other">Other</option> </select> <input id="txt:separator" type="text" name="other_separator" class="form-control" /> <small class="form-text text-muted"> If you select '<strong>Other</strong>' for the field separator value, enter the character that separates the fields in your CSV file in the form field below. </small> </div> <div class="form-group form-check"> <input id="chk:heading" type="checkbox" name="first_line_heading" class="form-check-input" /> <label for="chk:heading" class="form-check-label"> first line is a heading?</label> <small class="form-text text-muted"> Select this if the first line in your file contains headings for the columns. </small> </div> <div class="form-group"> <label for="txt:delimiter" class="form-label">field delimiter</label> <input id="txt:delimiter" type="text" name="field_delimiter" maxlength="1" class="form-control" /> <small class="form-text text-muted"> If there is a character delimiting the string texts within particular fields in your CSV, provide the character here. This can be left blank if no such delimiters exist in your file. </small> </div> <button type="submit" class="btn btn-primary">upload samples file</button> </form> </div> <div class="row"> <h3>Preview File Content</h3> <table id="tbl:samples-preview" class="table"> <caption class="heading">preview content</caption> <thead> <tr> <th>Name</th> <th>Name2</th> <th>Symbol</th> <th>Alias</th> </tr> </thead> <tbody> <tr id="default-row"> <td colspan="4"> Please make some selections in the form above to preview the data.</td> </tr> </tbody> </table> </div> {%endblock%} {%block sidebarcontents%} {{display_population_card(species, population)}} {%endblock%} {%block javascript%} <script src="/static/js/upload_samples.js" type="text/javascript"></script> {%endblock%}