diff options
author | Frederick Muriuki Muriithi | 2024-07-25 11:07:33 -0500 |
---|---|---|
committer | Frederick Muriuki Muriithi | 2024-07-25 14:34:09 -0500 |
commit | 754e8f214b940e05298cb360ed829f5c685d55a5 (patch) | |
tree | 62c2c5b601746621f0949b38937ad232f006dee2 /qc_app/templates/rqtl2 | |
parent | de9e1b9fe37928b864bea28b408de6c14d04526b (diff) | |
download | gn-uploader-754e8f214b940e05298cb360ed829f5c685d55a5.tar.gz |
Rename module: qc_app --> uploader
Diffstat (limited to 'qc_app/templates/rqtl2')
21 files changed, 0 insertions, 1768 deletions
diff --git a/qc_app/templates/rqtl2/create-geno-dataset-success.html b/qc_app/templates/rqtl2/create-geno-dataset-success.html deleted file mode 100644 index 1b50221..0000000 --- a/qc_app/templates/rqtl2/create-geno-dataset-success.html +++ /dev/null @@ -1,55 +0,0 @@ -{%extends "base.html"%} -{%from "flash_messages.html" import flash_messages%} - -{%block title%}Upload R/qtl2 Bundle{%endblock%} - -{%block contents%} -<h2 class="heading">Select Genotypes Dataset</h2> - -<div class="explainer"> - <p>You successfully created the genotype dataset with the following - information. - <dl> - <dt>ID</dt> - <dd>{{geno_dataset.id}}</dd> - - <dt>Name</dt> - <dd>{{geno_dataset.name}}</dd> - - <dt>Full Name</dt> - <dd>{{geno_dataset.fname}}</dd> - - <dt>Short Name</dt> - <dd>{{geno_dataset.sname}}</dd> - - <dt>Created On</dt> - <dd>{{geno_dataset.today}}</dd> - - <dt>Public?</dt> - <dd>{%if geno_dataset.public == 0%}No{%else%}Yes{%endif%}</dd> - </dl> - </p> -</div> - -<div class="row"> - <form id="frm-upload-rqtl2-bundle" - action="{{url_for('upload.rqtl2.select_dataset_info', - species_id=species.SpeciesId, - population_id=population.InbredSetId)}}" - method="POST" - enctype="multipart/form-data"> - <legend class="heading">select from existing genotype datasets</legend> - - <input type="hidden" name="species_id" value="{{species.SpeciesId}}" /> - <input type="hidden" name="population_id" - value="{{population.InbredSetId}}" /> - <input type="hidden" name="rqtl2_bundle_file" - value="{{rqtl2_bundle_file}}" /> - <input type="hidden" name="geno-dataset-id" - value="{{geno_dataset.id}}" /> - - <button type="submit" class="btn btn-primary">continue</button> - </form> -</div> - -{%endblock%} diff --git a/qc_app/templates/rqtl2/create-probe-dataset-success.html b/qc_app/templates/rqtl2/create-probe-dataset-success.html deleted file mode 100644 index 790d174..0000000 --- a/qc_app/templates/rqtl2/create-probe-dataset-success.html +++ /dev/null @@ -1,59 +0,0 @@ -{%extends "base.html"%} -{%from "flash_messages.html" import flash_messages%} - -{%block title%}Upload R/qtl2 Bundle{%endblock%} - -{%block contents%} -<h2 class="heading">Create ProbeSet Dataset</h2> - -<div class="row"> - <p>You successfully created the ProbeSet dataset with the following - information. - <dl> - <dt>Averaging Method</dt> - <dd>{{avgmethod.Name}}</dd> - - <dt>ID</dt> - <dd>{{dataset.datasetid}}</dd> - - <dt>Name</dt> - <dd>{{dataset.name2}}</dd> - - <dt>Full Name</dt> - <dd>{{dataset.fname}}</dd> - - <dt>Short Name</dt> - <dd>{{dataset.sname}}</dd> - - <dt>Created On</dt> - <dd>{{dataset.today}}</dd> - - <dt>DataScale</dt> - <dd>{{dataset.datascale}}</dd> - </dl> - </p> -</div> - -<div class="row"> - <form id="frm-upload-rqtl2-bundle" - action="{{url_for('upload.rqtl2.select_dataset_info', - species_id=species.SpeciesId, - population_id=population.InbredSetId)}}" - method="POST" - enctype="multipart/form-data"> - <legend class="heading">Create ProbeSet dataset</legend> - - <input type="hidden" name="species_id" value="{{species.SpeciesId}}" /> - <input type="hidden" name="population_id" - value="{{population.InbredSetId}}" /> - <input type="hidden" name="rqtl2_bundle_file" value="{{rqtl2_bundle_file}}" /> - <input type="hidden" name="geno-dataset-id" value="{{geno_dataset.Id}}" /> - <input type="hidden" name="tissueid" value="{{tissue.Id}}" /> - <input type="hidden" name="probe-study-id" value="{{study.Id}}" /> - <input type="hidden" name="probe-dataset-id" value="{{dataset.datasetid}}" /> - - <button type="submit" class="btn btn-primary">continue</button> - </form> -</div> - -{%endblock%} diff --git a/qc_app/templates/rqtl2/create-probe-study-success.html b/qc_app/templates/rqtl2/create-probe-study-success.html deleted file mode 100644 index d0ee508..0000000 --- a/qc_app/templates/rqtl2/create-probe-study-success.html +++ /dev/null @@ -1,49 +0,0 @@ -{%extends "base.html"%} -{%from "flash_messages.html" import flash_messages%} - -{%block title%}Upload R/qtl2 Bundle{%endblock%} - -{%block contents%} -<h2 class="heading">Create ProbeSet Study</h2> - -<div class="row"> - <p>You successfully created the ProbeSet study with the following - information. - <dl> - <dt>ID</dt> - <dd>{{study.id}}</dd> - - <dt>Name</dt> - <dd>{{study.name}}</dd> - - <dt>Full Name</dt> - <dd>{{study.fname}}</dd> - - <dt>Short Name</dt> - <dd>{{study.sname}}</dd> - - <dt>Created On</dt> - <dd>{{study.today}}</dd> - </dl> - </p> - - <form id="frm-upload-rqtl2-bundle" - action="{{url_for('upload.rqtl2.select_dataset_info', - species_id=species.SpeciesId, - population_id=population.InbredSetId)}}" - method="POST" - enctype="multipart/form-data"> - <legend class="heading">Create ProbeSet study</legend> - - <input type="hidden" name="species_id" value="{{species.SpeciesId}}" /> - <input type="hidden" name="population_id" - value="{{population.InbredSetId}}" /> - <input type="hidden" name="rqtl2_bundle_file" value="{{rqtl2_bundle_file}}" /> - <input type="hidden" name="geno-dataset-id" value="{{geno_dataset.Id}}" /> - <input type="hidden" name="probe-study-id" value="{{study.studyid}}" /> - - <button type="submit" class="btn btn-primary">continue</button> - </form> -</div> - -{%endblock%} diff --git a/qc_app/templates/rqtl2/create-tissue-success.html b/qc_app/templates/rqtl2/create-tissue-success.html deleted file mode 100644 index 5f2c5a0..0000000 --- a/qc_app/templates/rqtl2/create-tissue-success.html +++ /dev/null @@ -1,106 +0,0 @@ -{%extends "base.html"%} -{%from "flash_messages.html" import flash_all_messages%} - -{%block title%}Upload R/qtl2 Bundle{%endblock%} - -{%block contents%} -<h2 class="heading">Select Tissue</h2> - -<div class="row"> - <p>You have successfully added a new tissue, organ or biological material with - the following details:</p> -</div> - -<div class="row"> - {{flash_all_messages()}} - - <form id="frm-create-tissue-display" - method="POST" - action="#"> - <legend class="heading">Create Tissue</legend> - - <input type="hidden" name="species_id" value="{{species.SpeciesId}}" /> - <input type="hidden" name="population_id" - value="{{population.InbredSetId}}" /> - <input type="hidden" name="rqtl2_bundle_file" value="{{rqtl2_bundle_file}}" /> - <input type="hidden" name="geno-dataset-id" value="{{geno_dataset.Id}}" /> - <input type="hidden" name="tissueid" value="{{tissue.Id}}" /> - - <div class="form-group"> - <label>Name</label> - <label>{{tissue.TissueName}}</label> - </div> - - <div class="form-group"> - <label>Short Name</label> - <label>{{tissue.Short_Name}}</label> - </div> - - {%if tissue.BIRN_lex_ID%} - <div class="form-group"> - <label>BIRN Lex ID</label> - <label>{{tissue.BIRN_lex_ID}}</label> - </div> - {%endif%} - - {%if tissue.BIRN_lex_Name%} - <div class="form-group"> - <label>BIRN Lex Name</label> - <label>{{tissue.BIRN_lex_Name}}</label> - </div> - {%endif%} - </form> - - <div id="action-buttons" - style="width:65ch;display:inline-grid;column-gap:5px;"> - - <form id="frm-create-tissue-success-continue" - method="POST" - action="{{url_for('upload.rqtl2.select_dataset_info', - species_id=species.SpeciesId, - population_id=population.InbredSetId)}}" - style="display: inline; width: 100%; grid-column: 1 / 2; - padding-top: 0.5em; text-align: center; border: none; - background-color: inherit;"> - - <input type="hidden" name="species_id" value="{{species.SpeciesId}}" /> - <input type="hidden" name="population_id" - value="{{population.InbredSetId}}" /> - <input type="hidden" name="rqtl2_bundle_file" value="{{rqtl2_bundle_file}}" /> - <input type="hidden" name="geno-dataset-id" value="{{geno_dataset.Id}}" /> - <input type="hidden" name="tissueid" value="{{tissue.Id}}" /> - - <button type="submit" class="btn btn-primary">continue</button> - </form> - </div> -</div> - -<div class="row"> - <p style="display:inline;width:100%;grid-column:2/3;text-align:center; - color:#336699;font-weight:bold;"> - OR - </p> -</div> - -<div class="row"> - <form id="frm-create-tissue-success-select-existing" - method="POST" - action="{{url_for('upload.rqtl2.select_tissue', - species_id=species.SpeciesId, - population_id=population.InbredSetId)}}" - style="display: inline; width: 100%; grid-column: 3 / 4; - padding-top: 0.5em; text-align: center; border: none; - background-color: inherit;"> - - <input type="hidden" name="species_id" value="{{species.SpeciesId}}" /> - <input type="hidden" name="population_id" - value="{{population.InbredSetId}}" /> - <input type="hidden" name="rqtl2_bundle_file" value="{{rqtl2_bundle_file}}" /> - <input type="hidden" name="geno-dataset-id" value="{{geno_dataset.Id}}" /> - - <button type="submit" class="btn btn-primary"> - select from existing tissues</button> - </form> -</div> - -{%endblock%} diff --git a/qc_app/templates/rqtl2/index.html b/qc_app/templates/rqtl2/index.html deleted file mode 100644 index f3329c2..0000000 --- a/qc_app/templates/rqtl2/index.html +++ /dev/null @@ -1,36 +0,0 @@ -{%extends "base.html"%} -{%from "flash_messages.html" import flash_messages%} - -{%block title%}Data Upload{%endblock%} - -{%block contents%} -<h1 class="heading">R/qtl2 data upload</h1> - -<h2>R/qtl2 Upload</h2> - -<form method="POST" action="{{url_for('upload.rqtl2.select_species')}}" - id="frm-rqtl2-upload"> - <legend class="heading">upload R/qtl2 bundle</legend> - {{flash_messages("error-rqtl2")}} - - <div class="form-group"> - <label for="select:species" class="form-label">Species</label> - <select id="select:species" - name="species_id" - required="required" - class="form-control"> - <option value="">Select species</option> - {%for spec in species%} - <option value="{{spec.SpeciesId}}">{{spec.MenuName}}</option> - {%endfor%} - </select> - <small class="form-text text-muted"> - Data that you upload to the system should belong to a know species. - Here you can select the species that you wish to upload data for. - </small> - </div> - - <button type="submit" class="btn btn-primary" />submit</button> -</form> - -{%endblock%} diff --git a/qc_app/templates/rqtl2/no-such-job.html b/qc_app/templates/rqtl2/no-such-job.html deleted file mode 100644 index b17004f..0000000 --- a/qc_app/templates/rqtl2/no-such-job.html +++ /dev/null @@ -1,13 +0,0 @@ -{%extends "base.html"%} -{%from "flash_messages.html" import flash_messages%} - -{%block title%}Job Status{%endblock%} - -{%block contents%} -<h1 class="heading">R/qtl2 job status</h1> - -<h2>R/qtl2 Upload: No Such Job</h2> - -<p class="alert-danger">No job with ID {{jobid}} was found.</p> - -{%endblock%} diff --git a/qc_app/templates/rqtl2/rqtl2-job-error.html b/qc_app/templates/rqtl2/rqtl2-job-error.html deleted file mode 100644 index 9817518..0000000 --- a/qc_app/templates/rqtl2/rqtl2-job-error.html +++ /dev/null @@ -1,39 +0,0 @@ -{%extends "base.html"%} -{%from "cli-output.html" import cli_output%} - -{%block title%}Job Status{%endblock%} - -{%block contents%} -<h1 class="heading">R/qtl2 job status</h1> - -<h2>R/qtl2 Upload: Job Status</h2> - -<div class="explainer"> - <p>The processing of the R/qtl2 bundle you uploaded has failed. We have - provided some information below to help you figure out what the problem - could be.</p> - <p>If you find that you cannot figure out what the problem is on your own, - please contact the team running the system for assistance, providing the - following details: - <ul> - <li>R/qtl2 bundle you uploaded</li> - <li>This URL: <strong>{{request_url()}}</strong></li> - <li>(maybe) a screenshot of this page</li> - </ul> - </p> -</div> - -<h4>stdout</h4> -{{cli_output(job, "stdout")}} - -<h4>stderr</h4> -{{cli_output(job, "stderr")}} - -<h4>Log</h4> -<div class="cli-output"> - {%for msg in messages%} - {{msg}}<br /> - {%endfor%} -</div> - -{%endblock%} diff --git a/qc_app/templates/rqtl2/rqtl2-job-results.html b/qc_app/templates/rqtl2/rqtl2-job-results.html deleted file mode 100644 index 4ecd415..0000000 --- a/qc_app/templates/rqtl2/rqtl2-job-results.html +++ /dev/null @@ -1,24 +0,0 @@ -{%extends "base.html"%} -{%from "cli-output.html" import cli_output%} - -{%block title%}Job Status{%endblock%} - -{%block contents%} -<h1 class="heading">R/qtl2 job status</h1> - -<h2>R/qtl2 Upload: Job Status</h2> - -<div class="explainer"> - <p>The processing of the R/qtl2 bundle you uploaded has completed - successfully.</p> - <p>You should now be able to use GeneNetwork to run analyses on your data.</p> -</div> - -<h4>Log</h4> -<div class="cli-output"> - {%for msg in messages%} - {{msg}}<br /> - {%endfor%} -</div> - -{%endblock%} diff --git a/qc_app/templates/rqtl2/rqtl2-job-status.html b/qc_app/templates/rqtl2/rqtl2-job-status.html deleted file mode 100644 index e896f88..0000000 --- a/qc_app/templates/rqtl2/rqtl2-job-status.html +++ /dev/null @@ -1,20 +0,0 @@ -{%extends "base.html"%} -{%from "flash_messages.html" import flash_messages%} - -{%block title%}Job Status{%endblock%} - -{%block extrameta%} -<meta http-equiv="refresh" content="3"> -{%endblock%} - -{%block contents%} -<h1 class="heading">R/qtl2 job status</h1> - -<h2>R/qtl2 Upload: Job Status</h2> - -<h4>Log</h4> -<div class="cli-output"> - <pre>{{"\n".join(messages)}}</pre> -</div> - -{%endblock%} diff --git a/qc_app/templates/rqtl2/rqtl2-qc-job-error.html b/qc_app/templates/rqtl2/rqtl2-qc-job-error.html deleted file mode 100644 index 90e8887..0000000 --- a/qc_app/templates/rqtl2/rqtl2-qc-job-error.html +++ /dev/null @@ -1,120 +0,0 @@ -{%extends "base.html"%} -{%from "cli-output.html" import cli_output%} - -{%block title%}R/qtl2 bundle: QC Job Error{%endblock%} - -{%macro errors_table(tableid, errors)%} -<table id="{{tableid}}" class="table error-table"> - <caption>{{caption}}</caption> - <thead> - <tr> - <th>Line</th> - <th>Column</th> - <th>Value</th> - <th>Message</th> - </tr> - </thead> - <tbody> - {%for error in errors%} - <tr> - <td>{{error.line}}</td> - <td>{{error.column}}</td> - <td>{{error.value}}</td> - <td>{{error.message}}</td> - </tr> - {%else%} - <tr> - <td colspan="4">No errors to display here.</td> - </tr> - {%endfor%} - </tbody> -</table> -{%endmacro%} - -{%block contents%} -<h1 class="heading">R/qtl2 bundle: QC job Error</h1> - -<div class="explainer"> - <p>The R/qtl2 bundle has failed some <emph>Quality Control</emph> checks.</p> - <p>We list below some of the errors that need to be fixed before the data can - be uploaded onto GeneNetwork.</p> -</div> - -{%if errorsgeneric | length > 0%} -<h2 class="heading">Generic Errors ({{errorsgeneric | length}})</h3> -<div class="explainer"> - We found the following generic errors in your R/qtl2 bundle: -</div> - -<h3>Missing Files</h3> -<div class="explainer"> - <p>These files are listed in the bundle's control file, but do not actually - exist in the bundle</p> -</div> -<table id="tbl-errors-missing-files" class="table error-table"> - <thead> - <tr> - <th>Control File Key</th> - <th>Bundle File Name</th> - <th>Message</th> - </tr> - </thead> - <tbody> - {%for error in (errorsgeneric | selectattr("type", "equalto", "MissingFile"))%} - <tr> - <td>{{error.controlfilekey}}</td> - <td>{{error.filename}}</td> - <td>{{error.message}}</td> - </tr> - {%endfor%} - </tbody> -</table> - -<h3>Other Generic Errors</h3> -{{errors_table("tbl-errors-generic", errorsgeneric| selectattr("type", "ne", "MissingFile"))}} -{%endif%} - -{%if errorsgeno | length > 0%} -<h2 class="heading">Geno Errors ({{errorsgeno | length}})</h3> -<div class="explainer"> - We found the following errors in the 'geno' file in your R/qtl2 bundle: -</div> -{{errors_table("tbl-errors-geno", errorsgeno[0:50])}} -{%endif%} - -{%if errorspheno | length > 0%} -<h2 class="heading">Pheno Errors ({{errorspheno | length}})</h3> -<div class="explainer"> - We found the following errors in the 'pheno' file in your R/qtl2 bundle: -</div> -{{errors_table("tbl-errors-pheno", errorspheno[0:50])}} -{%endif%} - -{%if errorsphenose | length > 0%} -<h2 class="heading">Phenose Errors ({{errorsphenose | length}})</h3> -<div class="explainer"> - We found the following errors in the 'phenose' file in your R/qtl2 bundle: -</div> -{{errors_table("tbl-errors-phenose", errorsphenose[0:50])}} -{%endif%} - -{%if errorsphenocovar | length > 0%} -<h2 class="heading">Phenocovar Errors ({{errorsphenocovar | length}})</h3> -<div class="explainer"> - We found the following errors in the 'phenocovar' file in your R/qtl2 bundle: -</div> -{{errorsphenocovar}} -{%endif%} - -<h4>stdout</h4> -{{cli_output(job, "stdout")}} - -<h4>stderr</h4> -{{cli_output(job, "stderr")}} - -<h4>Log</h4> -<div class="cli-output"> - <pre>{{"\n".join(messages)}}</pre> -</div> - -{%endblock%} diff --git a/qc_app/templates/rqtl2/rqtl2-qc-job-results.html b/qc_app/templates/rqtl2/rqtl2-qc-job-results.html deleted file mode 100644 index 59bc8cd..0000000 --- a/qc_app/templates/rqtl2/rqtl2-qc-job-results.html +++ /dev/null @@ -1,66 +0,0 @@ -{%extends "base.html"%} -{%from "cli-output.html" import cli_output%} - -{%block title%}R/qtl2 bundle: QC job results{%endblock%} - -{%block contents%} -<h1 class="heading">R/qtl2 bundle: QC job results</h1> - -<div class="row"> - <p>The R/qtl2 bundle you uploaded has passed all automated quality-control - checks successfully.</p> - <p>You may now continue to load the data into GeneNetwork for the bundle, with - the following details:</p> -</div> - -<div class="row"> - <form id="form-qc-job-results" - action="{{url_for('upload.rqtl2.select_dataset_info', - species_id=species.SpeciesId, - population_id=population.Id)}}" - method="POST"> - <div class="form-group"> - <legend>Species</legend> - <input type="hidden" name="species_id" value="{{species.SpeciesId}}" /> - - <span class="form-label">Name</span> - <span class="form-text">{{species.Name | capitalize}}</span> - - <span class="form-label">Scientific</span> - <span class="form-text">{{species.FullName | capitalize}}</span> - </div> - - <div class="form-group"> - <legend>population</legend> - <input type="hidden" name="population_id" value="{{population.Id}}" /> - - <span class="form-label">Name</span> - <span class="form-text">{{population.InbredSetName}}</span> - - <span class="form-label">Full Name</span> - <span class="form-text">{{population.FullName}}</span> - - <span class="form-label">Genetic Type</span> - <span class="form-text">{{population.GeneticType}}</span> - - <span class="form-label">Description</span> - <span class="form-text">{{population.Description or "-"}}</span> - </div> - - <div class="form-group"> - <legend>R/qtl2 Bundle File</legend> - <input type="hidden" name="rqtl2_bundle_file" value="{{rqtl2bundle}}" /> - <input type="hidden" name="original-filename" value="{{rqtl2bundleorig}}" /> - - <span class="form-label">Original Name</span> - <span class="form-text">{{rqtl2bundleorig}}</span> - - <span class="form-label">Internal Name</span> - <span class="form-text">{{rqtl2bundle[0:25]}}…</span> - </div> - - <button type="submit" class="btn btn-primary">continue</button> - </form> -</div> - -{%endblock%} diff --git a/qc_app/templates/rqtl2/rqtl2-qc-job-status.html b/qc_app/templates/rqtl2/rqtl2-qc-job-status.html deleted file mode 100644 index f4a6266..0000000 --- a/qc_app/templates/rqtl2/rqtl2-qc-job-status.html +++ /dev/null @@ -1,41 +0,0 @@ -{%extends "base.html"%} -{%from "flash_messages.html" import flash_messages%} - -{%block title%}Job Status{%endblock%} - -{%block extrameta%} -<meta http-equiv="refresh" content="3"> -{%endblock%} - -{%block contents%} -<h1 class="heading">R/qtl2 bundle: QC job status</h1> - -{%if geno_percent%} -<p> - <h2>Checking 'geno' file:</h2> - <progress id="prg-geno-checking" value="{{geno_percent}}" max="100"> - {{geno_percent}}%</progress> - {{geno_percent}}%</p> -{%endif%} - -{%if pheno_percent%} -<p> - <h2>Checking 'pheno' file:</h2> - <progress id="prg-pheno-checking" value="{{pheno_percent}}" max="100"> - {{pheno_percent}}%</progress> - {{pheno_percent}}%</p> -{%endif%} - -{%if phenose_percent%} -<p> - <h2>Checking 'phenose' file:</h2> - <progress id="prg-phenose-checking" value="{{phenose_percent}}" max="100"> - {{phenose_percent}}%</progress> - {{phenose_percent}}%</p> -{%endif%} - -<h4>Log</h4> -<div class="cli-output"> - <pre>{{"\n".join(messages)}}</pre> -</div> -{%endblock%} diff --git a/qc_app/templates/rqtl2/rqtl2-qc-job-success.html b/qc_app/templates/rqtl2/rqtl2-qc-job-success.html deleted file mode 100644 index 2861a04..0000000 --- a/qc_app/templates/rqtl2/rqtl2-qc-job-success.html +++ /dev/null @@ -1,37 +0,0 @@ -{%extends "base.html"%} -{%from "flash_messages.html" import flash_all_messages%} - -{%block title%}R/qtl2 Bundle: Quality Control Successful{%endblock%} - -{%block contents%} -<h2 class="heading">R/qtl2 Bundle: Quality Control Successful</h2> - -<div class="row"> - <p>The R/qtl2 bundle you uploaded has passed <emph>all</emph> quality control - checks successfully, and is now ready for uploading into the database.</p> - <p>Click "Continue" below to proceed.</p> -</div> - -<!-- - The "action" on this form takes us to the next step, where we can - select all the other data necessary to enter the data into the database. - --> -<div class="row"> - <form id="frm-upload-rqtl2-bundle" - action="{{url_for('upload.rqtl2.select_dataset_info', - species_id=species.SpeciesId, - population_id=population.InbredSetId)}}" - method="POST" - enctype="multipart/form-data"> - {{flash_all_messages()}} - <input type="hidden" name="species_id" value="{{species.SpeciesId}}" /> - <input type="hidden" name="population_id" - value="{{population.InbredSetId}}" /> - <input type="hidden" name="rqtl2_bundle_file" - value="{{rqtl2_bundle_file}}" /> - - <button type="submit" class="btn btn-primary">continue</button> - </form> -</div> - -{%endblock%} diff --git a/qc_app/templates/rqtl2/select-geno-dataset.html b/qc_app/templates/rqtl2/select-geno-dataset.html deleted file mode 100644 index 873f9c3..0000000 --- a/qc_app/templates/rqtl2/select-geno-dataset.html +++ /dev/null @@ -1,144 +0,0 @@ -{%extends "base.html"%} -{%from "flash_messages.html" import flash_messages%} - -{%block title%}Upload R/qtl2 Bundle{%endblock%} - -{%block contents%} -<h2 class="heading">Select Genotypes Dataset</h2> - -<div class="row"> - <p>Your R/qtl2 files bundle contains a "geno" specification. You will - therefore need to select from one of the existing Genotype datasets or - create a new one.</p> - <p>This is the dataset where your data will be organised under.</p> -</div> - -<div class="row"> - <form id="frm-upload-rqtl2-bundle" - action="{{url_for('upload.rqtl2.select_geno_dataset', - species_id=species.SpeciesId, - population_id=population.InbredSetId)}}" - method="POST" - enctype="multipart/form-data"> - <legend class="heading">select from existing genotype datasets</legend> - - <input type="hidden" name="species_id" value="{{species.SpeciesId}}" /> - <input type="hidden" name="population_id" - value="{{population.InbredSetId}}" /> - <input type="hidden" name="rqtl2_bundle_file" - value="{{rqtl2_bundle_file}}" /> - - {{flash_messages("error-rqtl2-select-geno-dataset")}} - - <div class="form-group"> - <legend>Datasets</legend> - <label for="select:geno-datasets" class="form-label">Dataset</label> - <select id="select:geno-datasets" - name="geno-dataset-id" - required="required" - {%if datasets | length == 0%} - disabled="disabled" - {%endif%} - class="form-control" - aria-describedby="help-geno-dataset-select-dataset"> - <option value="">Select dataset</option> - {%for dset in datasets%} - <option value="{{dset['Id']}}">{{dset["Name"]}} ({{dset["FullName"]}})</option> - {%endfor%} - </select> - <span id="help-geno-dataset-select-dataset" class="form-text text-muted"> - Select from the existing genotype datasets for species - {{species.SpeciesName}} ({{species.FullName}}). - </span> - </div> - - <button type="submit" class="btn btn-primary">select dataset</button> - </form> -</div> - -<div class="row"> - <p style="color:#FE3535; padding-left:20em; font-weight:bolder;">OR</p> -</div> - -<div class="row"> - <form id="frm-upload-rqtl2-bundle" - action="{{url_for('upload.rqtl2.create_geno_dataset', - species_id=species.SpeciesId, - population_id=population.InbredSetId)}}" - method="POST" - enctype="multipart/form-data"> - <legend class="heading">create a new genotype dataset</legend> - - <input type="hidden" name="species_id" value="{{species.SpeciesId}}" /> - <input type="hidden" name="population_id" - value="{{population.InbredSetId}}" /> - <input type="hidden" name="rqtl2_bundle_file" - value="{{rqtl2_bundle_file}}" /> - - {{flash_messages("error-rqtl2-create-geno-dataset")}} - - <div class="form-group"> - <label for="txt:dataset-name" class="form-label">Name</label> - <input type="text" - id="txt:dataset-name" - name="dataset-name" - maxlength="100" - required="required" - class="form-control" - aria-describedby="help-geno-dataset-name" /> - <span id="help-geno-dataset-name" class="form-text text-muted"> - Provide the new name for the genotype dataset, e.g. "BXDGeno" - </span> - </div> - - <div class="form-group"> - <label for="txt:dataset-fullname" class="form-label">Full Name</label> - <input type="text" - id="txt:dataset-fullname" - name="dataset-fullname" - required="required" - maxlength="100" - class="form-control" - aria-describedby="help-geno-dataset-fullname" /> - - <span id="help-geno-dataset-fullname" class="form-text text-muted"> - Provide a longer name that better describes the genotype dataset, e.g. - "BXD Genotypes" - </span> - </div> - - <div class="form-group"> - <label for="txt:dataset-shortname" class="form-label">Short Name</label> - <input type="text" - id="txt:dataset-shortname" - name="dataset-shortname" - maxlength="100" - class="form-control" - aria-describedby="help-geno-dataset-shortname" /> - - <span id="help-geno-dataset-shortname" class="form-text text-muted"> - Provide a short name for the genotype dataset. This is optional. If not - provided, we'll default to the same value as the "Name" above. - </span> - </div> - - <div class="form-group"> - <input type="checkbox" - id="chk:dataset-public" - name="dataset-public" - checked="checked" - class="form-check" - aria-describedby="help-geno-datasent-public" /> - <label for="chk:dataset-public" class="form-check-label">Public?</label> - - <span id="help-geno-dataset-public" class="form-text text-muted"> - Specify whether the dataset will be available publicly. Check to make the - dataset publicly available and uncheck to limit who can access the dataset. - </span> - </div> - - <button type="submit" class="btn btn-primary">create new dataset</button> - </form> -</div> - -{%endblock%} diff --git a/qc_app/templates/rqtl2/select-population.html b/qc_app/templates/rqtl2/select-population.html deleted file mode 100644 index 37731f0..0000000 --- a/qc_app/templates/rqtl2/select-population.html +++ /dev/null @@ -1,136 +0,0 @@ -{%extends "base.html"%} -{%from "flash_messages.html" import flash_messages%} - -{%block title%}Select Grouping/Population{%endblock%} - -{%block contents%} -<h1 class="heading">Select grouping/population</h1> - -<div class="explainer"> - <p>The data is organised in a hierarchical form, beginning with - <em>species</em> at the very top. Under <em>species</em> the data is - organised by <em>population</em>, sometimes referred to as <em>grouping</em>. - (In some really old documents/systems, you might see this referred to as - <em>InbredSet</em>.)</p> - <p>In this section, you get to define what population your data is to be - organised by.</p> -</div> - -<form method="POST" - action="{{url_for('upload.rqtl2.select_population', species_id=species.SpeciesId)}}"> - <legend class="heading">select grouping/population</legend> - {{flash_messages("error-select-population")}} - - <input type="hidden" name="species_id" value="{{species.SpeciesId}}" /> - - <div class="form-group"> - <label for="select:inbredset" class="form-label">population</label> - <select id="select:inbredset" - name="inbredset_id" - required="required" - class="form-control"> - <option value="">Select a grouping/population</option> - {%for pop in populations%} - <option value="{{pop.InbredSetId}}"> - {{pop.InbredSetName}} ({{pop.FullName}})</option> - {%endfor%} - </select> - <span class="form-text text-muted">If you are adding data to an already existing - population, simply pick the population from this drop-down selector. If - you cannot find your population from this list, try the form below to - create a new one..</span> - </div> - - <button type="submit" class="btn btn-primary" />select population</button> -</form> - -<p style="color:#FE3535; padding-left:20em; font-weight:bolder;">OR</p> - -<form method="POST" - action="{{url_for('upload.rqtl2.create_population', species_id=species.SpeciesId)}}"> - <legend class="heading">create new grouping/population</legend> - {{flash_messages("error-create-population")}} - - <input type="hidden" name="species_id" value="{{species.SpeciesId}}" /> - - <div class="form-group"> - <legend class="heading">mandatory</legend> - - <div class="form-group"> - <label for="txt:inbredset-name" class="form-label">name</label> - <input id="txt:inbredset-name" - name="inbredset_name" - type="text" - required="required" - maxlength="30" - placeholder="Enter grouping/population name" - class="form-control" /> - <span class="form-text text-muted">This is a short name that identifies the - population. Useful for menus, and quick scanning.</span> - </div> - - <div class="form-group"> - <label for="txt:" class="form-label">full name</label> - <input id="txt:inbredset-fullname" - name="inbredset_fullname" - type="text" - required="required" - maxlength="100" - placeholder="Enter the grouping/population's full name" - class="form-control" /> - <span class="form-text text-muted">This can be the same as the name above, or can - be longer. Useful for documentation, and human communication.</span> - </div> - </div> - - <div class="form-group"> - <legend class="heading">optional</legend> - - <div class="form-group"> - <label for="num:public" class="form-label">public?</label> - <select id="num:public" - name="public" - class="form-control"> - <option value="0">0 - Only accessible to authorised users</option> - <option value="1">1 - Publicly accessible to all users</option> - <option value="2" selected> - 2 - Publicly accessible to all users</option> - </select> - <span class="form-text text-muted">This determines whether the - population/grouping will appear on the menus for users.</span> - </div> - - <div class="form-group"> - <label for="txt:inbredset-family" class="form-label">family</label> - <input id="txt:inbredset-family" - name="inbredset_family" - type="text" - placeholder="I am not sure what this is about." - class="form-control" /> - <span class="form-text text-muted">I do not currently know what this is about. - This is a failure on my part to figure out what this is and provide a - useful description. Please feel free to remind me.</span> - </div> - - <div class="form-group"> - <label for="txtarea:" class="form-label">Description</label> - <textarea id="txtarea:description" - name="description" - rows="5" - placeholder="Enter a description of this grouping/population" - class="form-control"></textarea> - <span class="form-text text-muted"> - A long-form description of what the population consists of. Useful for - humans.</span> - </div> - </div> - - <button type="submit" class="btn btn-primary" /> - create grouping/population</button> -</form> - -{%endblock%} - - -{%block javascript%} -{%endblock%} diff --git a/qc_app/templates/rqtl2/select-probeset-dataset.html b/qc_app/templates/rqtl2/select-probeset-dataset.html deleted file mode 100644 index 26f52ed..0000000 --- a/qc_app/templates/rqtl2/select-probeset-dataset.html +++ /dev/null @@ -1,191 +0,0 @@ -{%extends "base.html"%} -{%from "flash_messages.html" import flash_messages%} - -{%block title%}Upload R/qtl2 Bundle{%endblock%} - -{%block contents%} -<h2 class="heading">Phenotype(ProbeSet) Dataset</h2> - -<div class="row"> - <p>The R/qtl2 bundle you uploaded contains (a) "<strong>pheno</strong>" - file(s). This data needs to be organised under a dataset.</p> - <p>This page gives you the ability to do that.</p> -</div> - -{%if datasets | length > 0%} -<div class="row"> - <form method="POST" - action="{{url_for('upload.rqtl2.select_probeset_dataset', - species_id=species.SpeciesId, population_id=population.Id)}}" - id="frm:select-probeset-dataset"> - <legend class="heading">Select from existing ProbeSet datasets</legend> - {{flash_messages("error-rqtl2")}} - - <input type="hidden" name="species_id" value="{{species.SpeciesId}}" /> - <input type="hidden" name="population_id" - value="{{population.InbredSetId}}" /> - <input type="hidden" name="rqtl2_bundle_file" - value="{{rqtl2_bundle_file}}" /> - <input type="hidden" name="geno-dataset-id" value="{{geno_dataset.Id}}" /> - <input type="hidden" name="tissueid" value="{{tissue.Id}}" /> - <input type="hidden" name="probe-study-id" value="{{probe_study.Id}}" /> - - <div class="form-group"> - <label class="form-label" for="select:probe-dataset">Dataset</label> - <select id="select:probe-dataset" - name="probe-dataset-id" - required="required" - {%if datasets | length == 0%}disabled="disabled"{%endif%} - class="form-control" - aria-describedby="help-probe-dataset"> - <option value="">Select a dataset</option> - {%for dataset in datasets%} - <option value={{dataset.Id}}> - {{dataset.Name}} - {%if dataset.FullName%} - -- ({{dataset.FullName}}) - {%endif%} - </option> - {%endfor%} - </select> - - <span id="help-probe-dataset" class="form-text text-muted"> - Select from existing ProbeSet datasets.</span> - </div> - - <button type="submit" class="btn btn-primary" />select dataset</button> -</form> -</div> - -<div class="row"> - <p style="color:#FE3535; padding-left:20em; font-weight:bolder;">OR</p> -</div> -{%endif%} - -<div class="row"> - <p>Create an entirely new ProbeSet dataset for your data.</p> -</div> - -<div class="row"> - <form method="POST" - action="{{url_for('upload.rqtl2.create_probeset_dataset', - species_id=species.SpeciesId, population_id=population.Id)}}" - id="frm:create-probeset-dataset"> - <legend class="heading">Create a new ProbeSet dataset</legend> - {{flash_messages("error-rqtl2-create-probeset-dataset")}} - - <input type="hidden" name="species_id" value="{{species.SpeciesId}}" /> - <input type="hidden" name="population_id" - value="{{population.InbredSetId}}" /> - <input type="hidden" name="rqtl2_bundle_file" - value="{{rqtl2_bundle_file}}" /> - <input type="hidden" name="geno-dataset-id" value="{{geno_dataset.Id}}" /> - <input type="hidden" name="tissueid" value="{{tissue.Id}}" /> - <input type="hidden" name="probe-study-id" value="{{probe_study.Id}}" /> - - <div class="form-group"> - <label class="form-label" for="select:average">averaging method</label> - <select id="select:average" - name="averageid" - required="required" - class="form-control" - aria-describedby="help-average"> - <option value="">Select averaging method</option> - {%for avgmethod in avgmethods%} - <option value="{{avgmethod.Id}}"> - {{avgmethod.Name}} - {%if avgmethod.Normalization%} - ({{avgmethod.Normalization}}) - {%endif%} - </option> - {%endfor%} - </select> - - <span id="help-average" class="form-text text-muted"> - Select the averaging method used for your data. - </span> - </div> - - <div class="form-group"> - <label class="form-label" for="txt:datasetname">Name</label> - <input type="text" id="txt:datasetname" name="datasetname" - required="required" - maxlength="40" - title="Name of the dataset, e.g 'BXDMicroArray_ProbeSet_June03'. (Required)" - class="form-control" - aria-describedby="help-dataset-name" /> - - <span id="help-dataset-name" class="form-text text-muted"> - Provide a name for the dataset e.g. "BXDMicroArray_ProbeSet_June03". This - is mandatory <strong>MUST</strong> be provided. - </span> - </div> - - <div class="form-group"> - <label class="form-label" for="txt:datasetfullname">Full Name</label> - <input type="text" id="txt:datasetfullname" name="datasetfullname" - required="required" - maxlength="100" - title="A longer name for the dataset, e.g. 'UTHSC Brain mRNA U74Av2 (Jun03) MAS5'. (Required)" - class="form-control" - aria-describedby="help-dataset-fullname" /> - - <span id="help-dataset-fullname" class="form-text text-muted"> - Provide a longer, more descriptive name for the dataset e.g. - "UTHSC Brain mRNA U74Av2 (Jun03) MAS5". This is mandatory and - <strong>MUST</strong> be provided. - </span> - </div> - - <div class="form-group"> - <label class="form-label" for="txt:datasetshortname">Short Name</label> - <input type="text" id="txt:datasetshortname" name="datasetshortname" - maxlength="100" - title="An abbreviated name for the dataset, e.g 'Br_U_0603_M'. (Optional)" - class="form-control" - aria-describedby="help-dataset-shortname" /> - - <span id="help-dataset-shortname" class="form-text text-muted"> - Provide a longer, more descriptive name for the dataset e.g. "Br_U_0603_M". - This is optional. - </span> - </div> - - <div class="form-check"> - <input type="checkbox" id="chk:public" name="datasetpublic" - checked="checked" - title="Whether or not the dataset is accessible by the general public." - class="form-check-input" - aria-describedby="help-public" /> - <label class="form-check-label" for="chk:datasetpublic">Public?</label> - - <span id="help-public" class="form-text text-muted"> - Check to specify that the dataset will be publicly available. Uncheck to - limit access to the dataset. - </span> - </div> - - <div class="form-group"> - <label class="form-label" for="select:datasetdatascale">Data Scale</label> - <select id="select:datasetdatascale" - name="datasetdatascale" - required="required" - class="form-control" - aria-describedby="help-dataset-datascale"> - <option value="log2" selected="selected">log2</option> - <option value="z_score">z_score</option> - <option value="log2_ratio">log2_ratio</option> - <option value="linear">linear</option> - <option value="linear_positive">linear_positive</option> - </select> - - <span id="help-dataset-datascale" class="form-text text-muted"> - Select from a list of scaling methods. - </span> - </div> - - <button type="submit" class="btn btn-primary">create dataset</button> - </form> -</div> - -{%endblock%} diff --git a/qc_app/templates/rqtl2/select-probeset-study-id.html b/qc_app/templates/rqtl2/select-probeset-study-id.html deleted file mode 100644 index b9bf52e..0000000 --- a/qc_app/templates/rqtl2/select-probeset-study-id.html +++ /dev/null @@ -1,143 +0,0 @@ -{%extends "base.html"%} -{%from "flash_messages.html" import flash_messages %} - -{%block title%}Upload R/qtl2 Bundle{%endblock%} - -{%block contents%} -<h2 class="heading">Phenotype(ProbeSet) Study</h2> - -<div class="row"> - <p>The R/qtl2 bundle you uploaded contains (a) "<strong>pheno</strong>" - file(s). This data needs to be organised under a study.</p> - <p>In this page, you can either select from a existing dataset:</p> - - <form method="POST" - action="{{url_for('upload.rqtl2.select_probeset_study', - species_id=species.SpeciesId, population_id=population.Id)}}" - id="frm:select-probeset-study"> - <legend class="heading">Select from existing ProbeSet studies</legend> - {{flash_messages("error-rqtl2-select-probeset-study")}} - - <input type="hidden" name="species_id" value="{{species.SpeciesId}}" /> - <input type="hidden" name="population_id" - value="{{population.InbredSetId}}" /> - <input type="hidden" name="rqtl2_bundle_file" - value="{{rqtl2_bundle_file}}" /> - <input type="hidden" name="geno-dataset-id" value="{{geno_dataset.Id}}" /> - <input type="hidden" name="tissueid" value="{{tissue.Id}}" /> - - <div> - <label for="select:probe-study" class="form-label">Study</label> - <select id="select:probe-study" - name="probe-study-id" - required="required" - aria-describedby="help-select-probeset-study" - {%if studies | length == 0%}disabled="disabled"{%endif%} - class="form-control"> - <option value="">Select a study</option> - {%for study in studies%} - <option value={{study.Id}}> - {{study.Name}} - {%if study.FullName%} - -- ({{study.FullName}}) - {%endif%} - </option> - {%endfor%} - </select> - <small id="help-select-probeset-study" class="form-text text-muted"> - Select from existing ProbeSet studies. - </small> - </div> - - <button type="submit" class="btn btn-primary">select study</button> - </form> -</div> - -<div class="row"> - <p style="color:#FE3535; padding-left:20em; font-weight:bolder;">OR</p> -</div> - -<div class="row"> - - <p>Create a new ProbeSet dataset below:</p> - - <form method="POST" - action="{{url_for('upload.rqtl2.create_probeset_study', - species_id=species.SpeciesId, population_id=population.Id)}}" - id="frm:create-probeset-study"> - <legend class="heading">Create new ProbeSet study</legend> - - {{flash_messages("error-rqtl2-create-probeset-study")}} - - <input type="hidden" name="species_id" value="{{species.SpeciesId}}" /> - <input type="hidden" name="population_id" - value="{{population.InbredSetId}}" /> - <input type="hidden" name="rqtl2_bundle_file" - value="{{rqtl2_bundle_file}}" /> - <input type="hidden" name="geno-dataset-id" value="{{geno_dataset.Id}}" /> - <input type="hidden" name="tissueid" value="{{tissue.Id}}" /> - - <div> - <label for="select:platform" class="form-label">Platform</label> - <select id="select:platform" - name="platformid" - required="required" - aria-describedby="help-select-platform" - {%if platforms | length == 0%}disabled="disabled"{%endif%} - class="form-control"> - <option value="">Select a platform</option> - {%for platform in platforms%} - <option value="{{platform.GeneChipId}}"> - {{platform.GeneChipName}} ({{platform.Name}}) - </option> - {%endfor%} - </select> - <small id="help-select-platform" class="form-text text-muted"> - Select from a list of known genomics platforms. - </small> - </div> - - <div class="form-group"> - <label for="txt:studyname" class="form-label">Study name</label> - <input type="text" id="txt:studyname" name="studyname" - placeholder="Name of the study. (Required)" - required="required" - maxlength="100" - class="form-control" /> - <span class="form-text text-muted" id="help-study-name"> - Provide a name for the study.</span> - </div> - - <div class="form-group"> - <label for="txt:studyfullname" class="form-label">Full Study Name</label> - <input type="text" - id="txt:studyfullname" - name="studyfullname" - placeholder="Longer name of the study. (Optional)" - maxlength="100" - class="form-control" /> - <span class="form-text text-muted" id="help-study-full-name"> - Provide a longer, more descriptive name for the study. This is optional - and you can leave it blank. - </span> - </div> - - <div class="form-group"> - <label for="txt:studyshortname" class="form-label">Short Study Name</label> - <input type="text" - id="txt:studyshortname" - name="studyshortname" - placeholder="Shorter name of the study. (Optional)" - maxlength="100" - class="form-control" /> - <span class="form-text text-muted" id="help-study-short-name"> - Provide a shorter name for the study. This is optional and you can leave - it blank. - </span> - </div> - - <button type="submit" class="btn btn-primary">create study</button> - </form> -</div> - -{%endblock%} diff --git a/qc_app/templates/rqtl2/select-tissue.html b/qc_app/templates/rqtl2/select-tissue.html deleted file mode 100644 index 34e1758..0000000 --- a/qc_app/templates/rqtl2/select-tissue.html +++ /dev/null @@ -1,115 +0,0 @@ -{%extends "base.html"%} -{%from "flash_messages.html" import flash_messages%} - -{%block title%}Upload R/qtl2 Bundle{%endblock%} - -{%block contents%} -<h2 class="heading">Tissue</h2> - -<div class="row"> - <p>The data you are uploading concerns a tissue, cell, organ, or other - biological material used in an experiment.</p> - <p>Select the appropriate biological material below</p> -</div> - -{%if tissues | length > 0%} -<div class="row"> - <form method="POST" - action="{{url_for('upload.rqtl2.select_tissue', - species_id=species.SpeciesId, population_id=population.Id)}}" - id="frm:select-probeset-dataset"> - <legend class="heading">Select from existing ProbeSet datasets</legend> - {{flash_messages("error-select-tissue")}} - - <input type="hidden" name="species_id" value="{{species.SpeciesId}}" /> - <input type="hidden" name="population_id" - value="{{population.InbredSetId}}" /> - <input type="hidden" name="rqtl2_bundle_file" - value="{{rqtl2_bundle_file}}" /> - <input type="hidden" name="geno-dataset-id" value="{{geno_dataset.Id}}" /> - - <div class="form-group"> - <label class="form-label" for="select-tissue">Tissue</label> - <select id="select-tissue" - name="tissueid" - required="required" - {%if tissues | length == 0%}disabled="disabled"{%endif%} - class="form-control" - aria-describedby="help-select-tissue"> - <option value="">Select a tissue</option> - {%for tissue in tissues%} - <option value={{tissue.Id}}> - {{tissue.Name}} - {%if tissue.Short_Name%} - -- ({{tissue.Short_Name}}) - {%endif%} - </option> - {%endfor%} - </select> - - <span id="help-select-tissue" class="form-text text-muted"> - Select from existing biological material.</span> - </div> - - <button type="submit" class="btn btn-primary">use selected</button> - </form> -</div> - -<div class="row"> - <p style="color:#FE3535; padding-left:20em; font-weight:bolder;">OR</p> -</div> -{%endif%} - -<div class="row"> - <p>If you cannot find the biological material in the drop-down above, add it - to the system below.</p> - - <form method="POST" - action="{{url_for('upload.rqtl2.create_tissue', - species_id=species.SpeciesId, population_id=population.Id)}}" - id="frm:create-probeset-dataset"> - <legend class="heading">Add new tissue, organ or biological material</legend> - {{flash_messages("error-create-tissue")}} - - <input type="hidden" name="species_id" value="{{species.SpeciesId}}" /> - <input type="hidden" name="population_id" - value="{{population.InbredSetId}}" /> - <input type="hidden" name="rqtl2_bundle_file" - value="{{rqtl2_bundle_file}}" /> - <input type="hidden" name="geno-dataset-id" value="{{geno_dataset.Id}}" /> - - <div class="form-group"> - <label class="form-label" for="tissue-name">name</label> - <input type="text" - id="txt-tissuename" - name="tissuename" - required="required" - title = "A name to identify the tissue, organ or biological material." - class="form-control" - aria-describedby="help-tissue-name" /> - - <span class="form-text text-muted" id="help-tissue-name"> - A name to identify the tissue, organ or biological material. - </span> - </div> - - <div class="form-group"> - <label for="txt-shortname" class="form-label">short name</label> - <input type="text" id="txt-tissueshortname" name="tissueshortname" - required="required" - maxlength="7" - title="A short name (e.g. 'Mam') for the biological material." - class="form-control" - aria-describedby="help-tissue-short-name" /> - - <span class="form-text text-muted" id="help-tissue-short-name"> - Provide a short name for the tissue, organ or biological material used in - the experiment. - </span> - </div> - - <button type="submit" class="btn btn-primary" />add new material</button> -</form> -</div> - -{%endblock%} diff --git a/qc_app/templates/rqtl2/summary-info.html b/qc_app/templates/rqtl2/summary-info.html deleted file mode 100644 index 1be87fa..0000000 --- a/qc_app/templates/rqtl2/summary-info.html +++ /dev/null @@ -1,65 +0,0 @@ -{%extends "base.html"%} -{%from "flash_messages.html" import flash_messages%} - -{%block title%}Upload R/qtl2 Bundle{%endblock%} - -{%block contents%} -<h2 class="heading">Summary</h2> - -<div class="row"> - <p>This is the information you have provided to accompany the R/qtl2 bundle - you have uploaded. Please verify the information is correct before - proceeding.</p> -</div> - -<div class="row"> - <dl> - <dt>Species</dt> - <dd>{{species.SpeciesName}} ({{species.FullName}})</dd> - - <dt>Population</dt> - <dd>{{population.InbredSetName}}</dd> - - {%if geno_dataset%} - <dt>Genotype Dataset</dt> - <dd>{{geno_dataset.Name}} ({{geno_dataset.FullName}})</dd> - {%endif%} - - {%if tissue%} - <dt>Tissue</dt> - <dd>{{tissue.TissueName}} ({{tissue.Name}}, {{tissue.Short_Name}})</dd> - {%endif%} - - {%if probe_study%} - <dt>ProbeSet Study</dt> - <dd>{{probe_study.Name}} ({{probe_study.FullName}})</dd> - {%endif%} - - {%if probe_dataset%} - <dt>ProbeSet Dataset</dt> - <dd>{{probe_dataset.Name2}} ({{probe_dataset.FullName}})</dd> - {%endif%} - </dl> -</div> - -<div class="row"> - <form id="frm:confirm-rqtl2bundle-details" - action="{{url_for('upload.rqtl2.confirm_bundle_details', - species_id=species.SpeciesId, - population_id=population.InbredSetId)}}" - method="POST" - enctype="multipart/form-data"> - <legend class="heading">Create ProbeSet dataset</legend> - - <input type="hidden" name="species_id" value="{{species.SpeciesId}}" /> - <input type="hidden" name="population_id" - value="{{population.InbredSetId}}" /> - <input type="hidden" name="rqtl2_bundle_file" value="{{rqtl2_bundle_file}}" /> - <input type="hidden" name="geno-dataset-id" value="{{geno_dataset.Id}}" /> - <input type="hidden" name="probe-study-id" value="{{probe_study.Id}}" /> - <input type="hidden" name="probe-dataset-id" value="{{probe_dataset.Id}}" /> - - <button type="submit" class="btn btn-primary">continue</button> - </form> -</div> -{%endblock%} diff --git a/qc_app/templates/rqtl2/upload-rqtl2-bundle-step-01.html b/qc_app/templates/rqtl2/upload-rqtl2-bundle-step-01.html deleted file mode 100644 index 07c240f..0000000 --- a/qc_app/templates/rqtl2/upload-rqtl2-bundle-step-01.html +++ /dev/null @@ -1,276 +0,0 @@ -{%extends "base.html"%} -{%from "flash_messages.html" import flash_all_messages%} -{%from "upload_progress_indicator.html" import upload_progress_indicator%} - -{%block title%}Upload R/qtl2 Bundle{%endblock%} - -{%block contents%} -{%macro rqtl2_file_help()%} -<span class="form-text text-muted"> - <p> - Provide a valid R/qtl2 zip file here. In particular, ensure your zip bundle - contains exactly one control file and the corresponding files mentioned in - the control file. - </p> - <p> - The control file can be either a YAML or JSON file. <em>ALL</em> other data - files in the zip bundle should be CSV files. - </p> - <p>See the - <a href="https://kbroman.org/qtl2/assets/vignettes/input_files.html" - target="_blank"> - R/qtl2 file format specifications - </a> - for more details. - </p> -</span> -{%endmacro%} -{{upload_progress_indicator()}} - -<div id="resumable-file-display-template" - class="panel panel-info" - style="display: none"> - <div class="panel-heading"></div> - <div class="panel-body"></div> -</div> - - -<h2 class="heading">Upload R/qtl2 Bundle</h2> - -<div id="resumable-drop-area" - style="display:none;background:#eeeeee;min-height:12em;border-radius:0.5em;padding:1em;"> - <p> - <a id="resumable-browse-button" href="#" - class="btn btn-info">Browse</a> - </p> - <p class="form-text text-muted"> - You can drag and drop your file here, or click the browse button. - Click on the file to remove it. - </p> - {{rqtl2_file_help()}} - <div id="resumable-selected-files" - style="display:flex;flex-direction:row;flex-wrap: wrap;justify-content:space-around;gap:10px 20px;"></div> - <div id="resumable-class-buttons" style="text-align: right;"> - <button id="resumable-upload-button" - class="btn btn-primary" - style="display: none">start upload</button> - <button id="resumable-cancel-upload-button" - class="btn btn-danger" - style="display: none">cancel upload</button> - </div> - <div id="resumable-progress-bar" class="progress" style="display: none"> - <div class="progress-bar" - role="progress-bar" - aria-valuenow="60" - aria-valuemin="0" - aria-valuemax="100" - style="width: 0%;"> - Uploading: 60% - </div> - </div> -</div> - -<form id="frm-upload-rqtl2-bundle" - action="{{url_for('upload.rqtl2.upload_rqtl2_bundle', - species_id=species.SpeciesId, - population_id=population.InbredSetId)}}" - method="POST" - enctype="multipart/form-data" - data-resumable-target="{{url_for( - 'upload.rqtl2.upload_rqtl2_bundle_chunked_post', - species_id=species.SpeciesId, - population_id=population.InbredSetId)}}"> - <input type="hidden" name="species_id" value="{{species.SpeciesId}}" /> - <input type="hidden" name="population_id" - value="{{population.InbredSetId}}" /> - - {{flash_all_messages()}} - - <div class="form-group"> - <legend class="heading">file upload</legend> - <label for="file-rqtl2-bundle" class="form-label">R/qtl2 bundle</label> - <input type="file" id="file-rqtl2-bundle" name="rqtl2_bundle_file" - accept="application/zip, .zip" - required="required" - class="form-control" /> - {{rqtl2_file_help()}} - </div> - - <button type="submit" - class="btn btn-primary" - data-toggle="modal" - data-target="#upload-progress-indicator">upload R/qtl2 bundle</button> -</form> - -{%endblock%} - -{%block javascript%} -<script src="{{url_for('base.node_modules', - filename='resumablejs/resumable.js')}}"></script> -<script type="text/javascript" src="/static/js/upload_progress.js"></script> -<script type="text/javascript"> - function readBinaryFile(file) { - return new Promise((resolve, reject) => { - var _reader = new FileReader(); - _reader.onload = (event) => {resolve(_reader.result);}; - _reader.readAsArrayBuffer(file); - }); - } - - function computeFileChecksum(file) { - return readBinaryFile(file) - .then((content) => { - return window.crypto.subtle.digest( - "SHA-256", new Uint8Array(content)); - }).then((digest) => { - return Uint8ArrayToHex(new Uint8Array(digest)) - }); - } - - function Uint8ArrayToHex(arr) { - var toHex = (val) => { - _hex = val.toString(16); - if(_hex.length < 2) { - return "0" + val; - } - return _hex; - }; - _hexstr = "" - arr.forEach((val) => {_hexstr += toHex(val)}); - return _hexstr - } - - var r = Resumable({ - target: $("#frm-upload-rqtl2-bundle").attr("data-resumable-target"), - fileType: ["zip"], - maxFiles: 1, - forceChunkSize: true, - generateUniqueIdentifier: (file, event) => { - return computeFileChecksum(file).then((checksum) => { - var _relativePath = (file.webkitRelativePath - || file.relativePath - || file.fileName - || file.name); - return checksum + "-" + _relativePath.replace( - /[^a-zA-Z0-9_-]/img, ""); - }); - } - }); - - if(r.support) { - //Hide form and display drag&drop UI - $("#frm-upload-rqtl2-bundle").css("display", "none"); - $("#resumable-drop-area").css("display", "block"); - - // Define UI elements for browse and drag&drop - r.assignDrop(document.getElementById("resumable-drop-area")); - r.assignBrowse(document.getElementById("resumable-browse-button")); - - // Event handlers - - function display_files(files) { - displayArea = $("#resumable-selected-files") - displayArea.empty(); - files.forEach((file) => { - var displayElement = $( - "#resumable-file-display-template").clone(); - displayElement.removeAttr("id"); - displayElement.css("display", ""); - displayElement.find(".panel-heading").text(file.fileName); - list = $("<ul></ul>"); - list.append($("<li><strong>Name</strong>: " - + (file.name - || file.fileName - || file.relativePath - || file.webkitRelativePath) - + "</li>")); - list.append($("<li><strong>Size</strong>: " - + (file.size / (1024*1024)).toFixed(2) - + " MB</li>")); - list.append($("<li><strong>Unique Identifier</strong>: " - + file.uniqueIdentifier + "</li>")); - list.append($("<li><strong>Mime</strong>: " - + file.file.type - + "</li>")); - displayElement.find(".panel-body").append(list); - displayElement.appendTo("#resumable-selected-files"); - }); - } - - r.on("filesAdded", function(files) { - display_files(files); - $("#resumable-upload-button").css("display", ""); - $("#resumable-upload-button").on("click", (event) => { - r.upload(); - }); - }); - - r.on("uploadStart", (event) => { - $("#resumable-upload-button").css("display", "none"); - $("#resumable-cancel-upload-button").css("display", ""); - $("#resumable-cancel-upload-button").on("click", (event) => { - r.files.forEach((file) => { - if(file.isUploading()) { - file.abort(); - } - }); - $("#resumable-cancel-upload-button").css("display", "none"); - $("#resumable-upload-button").on("click", (event) => { - r.files.forEach((file) => {file.retry();}); - }); - $("#resumable-upload-button").css("display", ""); - }); - }); - - r.on("progress", () => { - var progress = (r.progress() * 100).toFixed(2); - var pbar = $("#resumable-progress-bar > .progress-bar"); - $("#resumable-progress-bar").css("display", ""); - pbar.css("width", progress+"%"); - pbar.attr("aria-valuenow", progress); - pbar.text("Uploading: " + progress + "%"); - }) - - r.on("fileSuccess", (file, message) => { - if(message != "OK") { - var uri = (window.location.protocol - + "//" - + window.location.host - + message); - window.location.replace(uri); - } - }); - - r.on("error", (message, file) => { - filename = (file.webkitRelativePath - || file.relativePath - || file.fileName - || file.name); - jsonmsg = JSON.parse(message); - alert("There was an error while uploading your file '" - + filename - + "'. The error message was:\n\n\t" - + jsonmsg.error - + " (" - + jsonmsg.statuscode - + "): " + jsonmsg.message); - }) - } else { - setup_upload_handlers( - "frm-upload-rqtl2-bundle", make_data_uploader( - function (form) { - var formdata = new FormData(); - formdata.append( - "species_id", - form.querySelector('input[name="species_id"]').value); - formdata.append( - "population_id", - form.querySelector('input[name="population_id"]').value); - formdata.append( - "rqtl2_bundle_file", - form.querySelector("#file-rqtl2-bundle").files[0]); - return formdata; - })); - } -</script> -{%endblock%} diff --git a/qc_app/templates/rqtl2/upload-rqtl2-bundle-step-02.html b/qc_app/templates/rqtl2/upload-rqtl2-bundle-step-02.html deleted file mode 100644 index 93b1dc9..0000000 --- a/qc_app/templates/rqtl2/upload-rqtl2-bundle-step-02.html +++ /dev/null @@ -1,33 +0,0 @@ -{%extends "base.html"%} -{%from "flash_messages.html" import flash_all_messages%} - -{%block title%}Upload R/qtl2 Bundle{%endblock%} - -{%block contents%} -<h2 class="heading">Upload R/qtl2 Bundle</h2> - -<div class="row"> - <p>You have successfully uploaded the zipped bundle of R/qtl2 files.</p> - <p>The next step is to select the various extra information we need to figure - out what to do with the data. You will select/create the relevant studies - and/or datasets to organise the data in the steps that follow.</p> - <p>Click "Continue" below to proceed.</p> - - <form id="frm-upload-rqtl2-bundle" - action="{{url_for('upload.rqtl2.select_dataset_info', - species_id=species.SpeciesId, - population_id=population.InbredSetId)}}" - method="POST" - enctype="multipart/form-data"> - {{flash_all_messages()}} - <input type="hidden" name="species_id" value="{{species.SpeciesId}}" /> - <input type="hidden" name="population_id" - value="{{population.InbredSetId}}" /> - <input type="hidden" name="rqtl2_bundle_file" - value="{{rqtl2_bundle_file}}" /> - - <button type="submit" class="btn btn-primary">continue</button> - </form> -</div> - -{%endblock%} |