From 754e8f214b940e05298cb360ed829f5c685d55a5 Mon Sep 17 00:00:00 2001
From: Frederick Muriuki Muriithi
Date: Thu, 25 Jul 2024 11:07:33 -0500
Subject: Rename module: qc_app --> uploader
---
uploader/templates/base.html | 51 ++++
uploader/templates/cli-output.html | 8 +
.../templates/continue_from_create_dataset.html | 52 ++++
uploader/templates/continue_from_create_study.html | 52 ++++
uploader/templates/data_review.html | 85 +++++++
uploader/templates/dbupdate_error.html | 12 +
uploader/templates/dbupdate_hidden_fields.html | 29 +++
uploader/templates/errors_display.html | 47 ++++
uploader/templates/final_confirmation.html | 47 ++++
uploader/templates/flash_messages.html | 25 ++
uploader/templates/http-error.html | 18 ++
uploader/templates/index.html | 81 ++++++
uploader/templates/insert_error.html | 32 +++
uploader/templates/insert_progress.html | 46 ++++
uploader/templates/insert_success.html | 19 ++
uploader/templates/job_progress.html | 40 +++
uploader/templates/no_such_job.html | 14 ++
uploader/templates/parse_failure.html | 26 ++
uploader/templates/parse_results.html | 30 +++
.../rqtl2/create-geno-dataset-success.html | 55 ++++
.../rqtl2/create-probe-dataset-success.html | 59 +++++
.../rqtl2/create-probe-study-success.html | 49 ++++
.../templates/rqtl2/create-tissue-success.html | 106 ++++++++
uploader/templates/rqtl2/index.html | 36 +++
uploader/templates/rqtl2/no-such-job.html | 13 +
uploader/templates/rqtl2/rqtl2-job-error.html | 39 +++
uploader/templates/rqtl2/rqtl2-job-results.html | 24 ++
uploader/templates/rqtl2/rqtl2-job-status.html | 20 ++
uploader/templates/rqtl2/rqtl2-qc-job-error.html | 120 +++++++++
uploader/templates/rqtl2/rqtl2-qc-job-results.html | 66 +++++
uploader/templates/rqtl2/rqtl2-qc-job-status.html | 41 +++
uploader/templates/rqtl2/rqtl2-qc-job-success.html | 37 +++
uploader/templates/rqtl2/select-geno-dataset.html | 144 +++++++++++
uploader/templates/rqtl2/select-population.html | 136 ++++++++++
.../templates/rqtl2/select-probeset-dataset.html | 191 ++++++++++++++
.../templates/rqtl2/select-probeset-study-id.html | 143 +++++++++++
uploader/templates/rqtl2/select-tissue.html | 115 +++++++++
uploader/templates/rqtl2/summary-info.html | 65 +++++
.../rqtl2/upload-rqtl2-bundle-step-01.html | 276 +++++++++++++++++++++
.../rqtl2/upload-rqtl2-bundle-step-02.html | 33 +++
uploader/templates/samples/select-population.html | 99 ++++++++
uploader/templates/samples/select-species.html | 30 +++
uploader/templates/samples/upload-failure.html | 27 ++
uploader/templates/samples/upload-progress.html | 22 ++
uploader/templates/samples/upload-samples.html | 139 +++++++++++
uploader/templates/samples/upload-success.html | 18 ++
uploader/templates/select_dataset.html | 161 ++++++++++++
uploader/templates/select_platform.html | 82 ++++++
uploader/templates/select_species.html | 92 +++++++
uploader/templates/select_study.html | 108 ++++++++
uploader/templates/stdout_output.html | 8 +
uploader/templates/unhandled_exception.html | 21 ++
uploader/templates/upload_progress_indicator.html | 35 +++
uploader/templates/worker_failure.html | 24 ++
54 files changed, 3348 insertions(+)
create mode 100644 uploader/templates/base.html
create mode 100644 uploader/templates/cli-output.html
create mode 100644 uploader/templates/continue_from_create_dataset.html
create mode 100644 uploader/templates/continue_from_create_study.html
create mode 100644 uploader/templates/data_review.html
create mode 100644 uploader/templates/dbupdate_error.html
create mode 100644 uploader/templates/dbupdate_hidden_fields.html
create mode 100644 uploader/templates/errors_display.html
create mode 100644 uploader/templates/final_confirmation.html
create mode 100644 uploader/templates/flash_messages.html
create mode 100644 uploader/templates/http-error.html
create mode 100644 uploader/templates/index.html
create mode 100644 uploader/templates/insert_error.html
create mode 100644 uploader/templates/insert_progress.html
create mode 100644 uploader/templates/insert_success.html
create mode 100644 uploader/templates/job_progress.html
create mode 100644 uploader/templates/no_such_job.html
create mode 100644 uploader/templates/parse_failure.html
create mode 100644 uploader/templates/parse_results.html
create mode 100644 uploader/templates/rqtl2/create-geno-dataset-success.html
create mode 100644 uploader/templates/rqtl2/create-probe-dataset-success.html
create mode 100644 uploader/templates/rqtl2/create-probe-study-success.html
create mode 100644 uploader/templates/rqtl2/create-tissue-success.html
create mode 100644 uploader/templates/rqtl2/index.html
create mode 100644 uploader/templates/rqtl2/no-such-job.html
create mode 100644 uploader/templates/rqtl2/rqtl2-job-error.html
create mode 100644 uploader/templates/rqtl2/rqtl2-job-results.html
create mode 100644 uploader/templates/rqtl2/rqtl2-job-status.html
create mode 100644 uploader/templates/rqtl2/rqtl2-qc-job-error.html
create mode 100644 uploader/templates/rqtl2/rqtl2-qc-job-results.html
create mode 100644 uploader/templates/rqtl2/rqtl2-qc-job-status.html
create mode 100644 uploader/templates/rqtl2/rqtl2-qc-job-success.html
create mode 100644 uploader/templates/rqtl2/select-geno-dataset.html
create mode 100644 uploader/templates/rqtl2/select-population.html
create mode 100644 uploader/templates/rqtl2/select-probeset-dataset.html
create mode 100644 uploader/templates/rqtl2/select-probeset-study-id.html
create mode 100644 uploader/templates/rqtl2/select-tissue.html
create mode 100644 uploader/templates/rqtl2/summary-info.html
create mode 100644 uploader/templates/rqtl2/upload-rqtl2-bundle-step-01.html
create mode 100644 uploader/templates/rqtl2/upload-rqtl2-bundle-step-02.html
create mode 100644 uploader/templates/samples/select-population.html
create mode 100644 uploader/templates/samples/select-species.html
create mode 100644 uploader/templates/samples/upload-failure.html
create mode 100644 uploader/templates/samples/upload-progress.html
create mode 100644 uploader/templates/samples/upload-samples.html
create mode 100644 uploader/templates/samples/upload-success.html
create mode 100644 uploader/templates/select_dataset.html
create mode 100644 uploader/templates/select_platform.html
create mode 100644 uploader/templates/select_species.html
create mode 100644 uploader/templates/select_study.html
create mode 100644 uploader/templates/stdout_output.html
create mode 100644 uploader/templates/unhandled_exception.html
create mode 100644 uploader/templates/upload_progress_indicator.html
create mode 100644 uploader/templates/worker_failure.html
(limited to 'uploader/templates')
diff --git a/uploader/templates/base.html b/uploader/templates/base.html
new file mode 100644
index 0000000..eb5e6b7
--- /dev/null
+++ b/uploader/templates/base.html
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+ {%block extrameta%}{%endblock%}
+
+ GN Uploader: {%block title%}{%endblock%}
+
+
+
+
+
+
+
+
+
+
+ {%block css%}{%endblock%}
+
+
+
+
+
+ {%block contents%}{%endblock%}
+
+
+
+
+ {%block javascript%}{%endblock%}
+
+
diff --git a/uploader/templates/cli-output.html b/uploader/templates/cli-output.html
new file mode 100644
index 0000000..33fb73b
--- /dev/null
+++ b/uploader/templates/cli-output.html
@@ -0,0 +1,8 @@
+{%macro cli_output(job, stream)%}
+
+{{stream | upper}} Output
+
+
{{job.get(stream, "")}}
+
+
+{%endmacro%}
diff --git a/uploader/templates/continue_from_create_dataset.html b/uploader/templates/continue_from_create_dataset.html
new file mode 100644
index 0000000..03bb49c
--- /dev/null
+++ b/uploader/templates/continue_from_create_dataset.html
@@ -0,0 +1,52 @@
+{%extends "base.html"%}
+{%from "dbupdate_hidden_fields.html" import hidden_fields%}
+
+{%block title%}Create Study{%endblock%}
+
+{%block css%}
+
+{%endblock%}
+
+{%block contents%}
+{{filename}}: create study
+
+{%with messages = get_flashed_messages(with_categories=true)%}
+{%if messages:%}
+
+ {%for category, message in messages:%}
+ {{message}}
+ {%endfor%}
+
+{%endif%}
+{%endwith%}
+
+
+
+
+
+
+
+
+
+
+{%endblock%}
diff --git a/uploader/templates/continue_from_create_study.html b/uploader/templates/continue_from_create_study.html
new file mode 100644
index 0000000..34e6e5e
--- /dev/null
+++ b/uploader/templates/continue_from_create_study.html
@@ -0,0 +1,52 @@
+{%extends "base.html"%}
+{%from "dbupdate_hidden_fields.html" import hidden_fields%}
+
+{%block title%}Create Study{%endblock%}
+
+{%block css%}
+
+{%endblock%}
+
+{%block contents%}
+{{filename}}: create study
+
+{%with messages = get_flashed_messages(with_categories=true)%}
+{%if messages:%}
+
+ {%for category, message in messages:%}
+ {{message}}
+ {%endfor%}
+
+{%endif%}
+{%endwith%}
+
+
+
+
+
+
+
+
+
+
+{%endblock%}
diff --git a/uploader/templates/data_review.html b/uploader/templates/data_review.html
new file mode 100644
index 0000000..b7528fd
--- /dev/null
+++ b/uploader/templates/data_review.html
@@ -0,0 +1,85 @@
+{%extends "base.html"%}
+
+{%block title%}Data Review{%endblock%}
+
+{%block contents%}
+data review
+
+
+
Data Concerns
+
The following are some of the requirements that the data in your file
+ MUST fulfil before it is considered valid for this system:
+
+
+
+ File headings
+
+ The first row in the file should contains the headings. The number of
+ headings in this first row determines the number of columns expected for
+ all other lines in the file.
+ Each heading value in the first row MUST appear in the first row
+ ONE AND ONLY ONE time
+ The sample/cases (previously 'strains') headers in your first row will be
+ against those in the
+ GeneNetwork database.
+
+ If you encounter an error saying your sample(s)/case(s) do not exist
+ in the GeneNetwork database, then you will have to use the
+ Upload Samples/Cases
+ option on this system to upload them.
+
+
+
+
+ Data
+
+ NONE of the data cells/fields is allowed to be empty.
+ All fields/cells MUST contain a value.
+ The first column of the data rows will be considered a textual field,
+ holding the "identifier" for that row
+ Except for the first column/field for each data row,
+ NONE of the data columns/cells/fields should contain
+ spurious characters like `eeeee`, `5.555iloveguix`, etc...
+ All of them should be decimal values
+ decimal numbers must conform to the following criteria:
+
+ when checking an average file decimal numbers must have exactly three
+ decimal places to the right of the decimal point.
+ when checking a standard error file decimal numbers must have six or
+ greater decimal places to the right of the decimal point.
+ there must be a number to the left side of the decimal place
+ (e.g. 0.55555 is allowed but .55555 is not).
+
+
+
+
+
+
+
+
+
+
Supported File Types
+ We support the following file types:
+
+
+ Tab-Separated value files (.tsv)
+
+ The TAB character is used to separate the fields of each
+ column
+ The values of each field ARE NOT quoted.
+ Here is an
+
+ example file with a single data row.
+
+
+ .txt files: Content has the same format as .tsv file above
+ .zip files: each zip file should contain
+ ONE AND ONLY ONE file of the .tsv or .txt type above.
+ Any zip file with more than one file is invalid, and so is an empty
+ zip file.
+
+
+
+{%endblock%}
diff --git a/uploader/templates/dbupdate_error.html b/uploader/templates/dbupdate_error.html
new file mode 100644
index 0000000..e1359d2
--- /dev/null
+++ b/uploader/templates/dbupdate_error.html
@@ -0,0 +1,12 @@
+{%extends "base.html"%}
+
+{%block title%}DB Update Error{%endblock%}
+
+{%block contents%}
+database update error
+
+
+ Database Update Error : {{error_message}}
+
+
+{%endblock%}
diff --git a/uploader/templates/dbupdate_hidden_fields.html b/uploader/templates/dbupdate_hidden_fields.html
new file mode 100644
index 0000000..ccbc299
--- /dev/null
+++ b/uploader/templates/dbupdate_hidden_fields.html
@@ -0,0 +1,29 @@
+{%macro hidden_fields(filename, filetype):%}
+
+
+
+
+
+{%if kwargs.get("totallines")%}
+
+{%endif%}
+{%if kwargs.get("species"):%}
+
+{%endif%}
+{%if kwargs.get("genechipid"):%}
+
+{%endif%}
+{%if kwargs.get("inbredsetid"):%}
+
+{%endif%}
+{%if kwargs.get("tissueid"):%}
+
+{%endif%}
+{%if kwargs.get("studyid"):%}
+
+{%endif%}
+{%if kwargs.get("datasetid"):%}
+
+{%endif%}
+
+{%endmacro%}
diff --git a/uploader/templates/errors_display.html b/uploader/templates/errors_display.html
new file mode 100644
index 0000000..715cfcf
--- /dev/null
+++ b/uploader/templates/errors_display.html
@@ -0,0 +1,47 @@
+{%macro errors_display(errors, no_error_msg, error_message, complete)%}
+
+{%if errors | length == 0 %}
+{{no_error_msg}}
+{%else %}
+{{error_message}}
+
+
+
+
+ line number
+ column(s)
+ error
+ error message
+
+
+
+
+ {%for error in errors%}
+
+ {{error["line"]}}
+
+ {%if isinvalidvalue(error):%}
+ {{error.column}}
+ {%elif isduplicateheading(error): %}
+ {{error.columns}}
+ {%else: %}
+ -
+ {%endif %}
+
+
+ {%if isinvalidvalue(error):%}
+ Invalid Value
+ {%elif isduplicateheading(error): %}
+ Duplicate Header
+ {%else%}
+ Inconsistent Columns
+ {%endif %}
+
+ {{error["message"]}}
+
+ {%endfor%}
+
+
+{%endif%}
+
+{%endmacro%}
diff --git a/uploader/templates/final_confirmation.html b/uploader/templates/final_confirmation.html
new file mode 100644
index 0000000..0727fc8
--- /dev/null
+++ b/uploader/templates/final_confirmation.html
@@ -0,0 +1,47 @@
+{%extends "base.html"%}
+{%from "dbupdate_hidden_fields.html" import hidden_fields%}
+
+{%block title%}Confirmation{%endblock%}
+
+{%macro display_item(item_name, item_data):%}
+
+ {{item_name}}
+ {%if item_data%}
+
+ {%for term,value in item_data.items():%}
+ {{term}}: {{value}}
+ {%endfor%}
+
+ {%endif%}
+
+{%endmacro%}
+
+{%block contents%}
+Final Confirmation
+
+
+
Selected Data
+
+ File
+
+ Filename : {{filename}}
+ File Type : {{filetype}}
+
+
+ {{display_item("Species", the_species)}}
+ {{display_item("Platform", platform)}}
+ {{display_item("Study", study)}}
+ {{display_item("Dataset", dataset)}}
+
+
+
+
+
+{%endblock%}
diff --git a/uploader/templates/flash_messages.html b/uploader/templates/flash_messages.html
new file mode 100644
index 0000000..b7af178
--- /dev/null
+++ b/uploader/templates/flash_messages.html
@@ -0,0 +1,25 @@
+{%macro flash_all_messages()%}
+{%with messages = get_flashed_messages(with_categories=true)%}
+{%if messages:%}
+
+ {%for category, message in messages:%}
+ {{message}}
+ {%endfor%}
+
+{%endif%}
+{%endwith%}
+{%endmacro%}
+
+{%macro flash_messages(filter_class)%}
+{%with messages = get_flashed_messages(with_categories=true)%}
+{%if messages:%}
+
+ {%for category, message in messages:%}
+ {%if filter_class in category%}
+ {{message}}
+ {%endif%}
+ {%endfor%}
+
+{%endif%}
+{%endwith%}
+{%endmacro%}
diff --git a/uploader/templates/http-error.html b/uploader/templates/http-error.html
new file mode 100644
index 0000000..374fb86
--- /dev/null
+++ b/uploader/templates/http-error.html
@@ -0,0 +1,18 @@
+{%extends "base.html"%}
+
+{%block title%}HTTP Error: {{exc.code}}{%endblock%}
+
+{%block contents%}
+{{exc.code}}: {{exc.description}}
+
+
+
+ You attempted to access {{request_url}} which failed with the following
+ error:
+
+
+
+
+{%endblock%}
diff --git a/uploader/templates/index.html b/uploader/templates/index.html
new file mode 100644
index 0000000..89d2ae9
--- /dev/null
+++ b/uploader/templates/index.html
@@ -0,0 +1,81 @@
+{%extends "base.html"%}
+
+{%block title%}Data Upload{%endblock%}
+
+{%block contents%}
+
+
data upload
+
+
+
Each of the sections below gives you a different option for data upload.
+ Please read the documentation for each section carefully to understand what
+ each section is about.
+
+
+
+
+
R/qtl2 Bundles
+
+
+
This feature combines and extends the two upload methods below. Instead of
+ uploading one item at a time, the R/qtl2 bundle you upload can contain both
+ the genotypes data (samples/individuals/cases and their data) and the
+ expression data.
+
The R/qtl2 bundle, additionally, can contain extra metadata, that neither
+ of the methods below can handle.
+
+
+ upload R/qtl2 bundle
+
+
+
+
+
+
Expression Data
+
+
+
This feature enables you to upload expression data. It expects the data to
+ be in tab-separated values (TSV) files. The data should be
+ a simple matrix of phenotype × sample , i.e. The first column is a
+ list of the phenotypes and the first row is a list of
+ samples/cases .
+
+
If you haven't done so please go to this page to learn the requirements for
+ file formats and helpful suggestions to enter your data in a fast and easy
+ way.
+
+
+ PLEASE REVIEW YOUR DATA. Make sure your data complies
+ with our system requirements. (
+ Help
+ )
+ UPLOAD YOUR DATA FOR DATA VERIFICATION. We accept
+ .csv , .txt and .zip
+ files (Help )
+
+
+
+
upload expression data
+
+
+
+
samples/cases
+
+
+
For the expression data above, you need the samples/cases in your file to
+ already exist in the GeneNetwork database. If there are any samples that do
+ not already exist the upload of the expression data will fail.
+
This section gives you the opportunity to upload any missing samples
+
+
+
upload Samples/Cases
+
+
+{%endblock%}
diff --git a/uploader/templates/insert_error.html b/uploader/templates/insert_error.html
new file mode 100644
index 0000000..5301288
--- /dev/null
+++ b/uploader/templates/insert_error.html
@@ -0,0 +1,32 @@
+{%extends "base.html"%}
+
+{%block title%}Data Insertion Failure{%endblock%}
+
+{%block contents%}
+Insertion Failure
+
+
+
+ There was an error inserting data into the database
+
+
+
+ Please notify the developers of this issue when you encounter it,
+ providing the information below.
+
+
+
Debugging Information
+
+
+ job id : {{job["jobid"]}}
+
+
+
+
+
STDERR Output
+
+ {{job["stderr"]}}
+
+
+
+{%endblock%}
diff --git a/uploader/templates/insert_progress.html b/uploader/templates/insert_progress.html
new file mode 100644
index 0000000..52177d6
--- /dev/null
+++ b/uploader/templates/insert_progress.html
@@ -0,0 +1,46 @@
+{%extends "base.html"%}
+{%from "stdout_output.html" import stdout_output%}
+
+{%block extrameta%}
+
+{%endblock%}
+
+{%block title%}Job Status{%endblock%}
+
+{%block contents%}
+{{job_name}}
+
+
+
+
+{{stdout_output(job)}}
+
+{%endblock%}
diff --git a/uploader/templates/insert_success.html b/uploader/templates/insert_success.html
new file mode 100644
index 0000000..7e1fa8d
--- /dev/null
+++ b/uploader/templates/insert_success.html
@@ -0,0 +1,19 @@
+{%extends "base.html"%}
+{%from "stdout_output.html" import stdout_output%}
+
+{%block title%}Insertion Success{%endblock%}
+
+{%block contents%}
+Insertion Success
+
+
+
Data inserted successfully!
+
+
The following queries were run:
+
+
+
+ {{stdout_output(job)}}
+
+
+{%endblock%}
diff --git a/uploader/templates/job_progress.html b/uploader/templates/job_progress.html
new file mode 100644
index 0000000..1af0763
--- /dev/null
+++ b/uploader/templates/job_progress.html
@@ -0,0 +1,40 @@
+{%extends "base.html"%}
+{%from "errors_display.html" import errors_display%}
+
+{%block extrameta%}
+
+{%endblock%}
+
+{%block title%}Job Status{%endblock%}
+
+{%block contents%}
+{{job_name}}
+
+
+
+
+ {{errors_display(errors, "No errors found so far", "We have found the following errors so far", False)}}
+
+
+{%endblock%}
diff --git a/uploader/templates/no_such_job.html b/uploader/templates/no_such_job.html
new file mode 100644
index 0000000..42a2d48
--- /dev/null
+++ b/uploader/templates/no_such_job.html
@@ -0,0 +1,14 @@
+{%extends "base.html"%}
+
+{%block extrameta%}
+
+{%endblock%}
+
+{%block title%}No Such Job{%endblock%}
+
+{%block contents%}
+No Such Job: {{job_id}}
+
+ No job, with the id '{{job_id}} ' was found!
+
+{%endblock%}
diff --git a/uploader/templates/parse_failure.html b/uploader/templates/parse_failure.html
new file mode 100644
index 0000000..31f6be8
--- /dev/null
+++ b/uploader/templates/parse_failure.html
@@ -0,0 +1,26 @@
+{%extends "base.html"%}
+
+{%block title%}Worker Failure{%endblock%}
+
+{%block contents%}
+Worker Failure
+
+
+ There was an error while parsing your file.
+
+
+
+ Please notify the developers of this issue when you encounter it,
+ providing the information below.
+
+
+Debugging Information
+
+
+ job id : {{job["job_id"]}}
+ filename : {{job["filename"]}}
+ line number : {{job["line_number"]}}
+ Progress : {{job["percent"]}} %
+
+
+{%endblock%}
diff --git a/uploader/templates/parse_results.html b/uploader/templates/parse_results.html
new file mode 100644
index 0000000..e2bf7f0
--- /dev/null
+++ b/uploader/templates/parse_results.html
@@ -0,0 +1,30 @@
+{%extends "base.html"%}
+{%from "errors_display.html" import errors_display%}
+
+{%block title%}Parse Results{%endblock%}
+
+{%block contents%}
+{{job_name}}: parse results
+
+{%if user_aborted%}
+Job aborted by the user
+{%endif%}
+
+{{errors_display(errors, "No errors found in the file", "We found the following errors", True)}}
+
+{%if errors | length == 0 and not user_aborted %}
+
+{%endif%}
+
+{%if errors | length > 0 or user_aborted %}
+
+
+ Go back
+
+{%endif%}
+
+{%endblock%}
diff --git a/uploader/templates/rqtl2/create-geno-dataset-success.html b/uploader/templates/rqtl2/create-geno-dataset-success.html
new file mode 100644
index 0000000..1b50221
--- /dev/null
+++ b/uploader/templates/rqtl2/create-geno-dataset-success.html
@@ -0,0 +1,55 @@
+{%extends "base.html"%}
+{%from "flash_messages.html" import flash_messages%}
+
+{%block title%}Upload R/qtl2 Bundle{%endblock%}
+
+{%block contents%}
+Select Genotypes Dataset
+
+
+
You successfully created the genotype dataset with the following
+ information.
+
+ ID
+ {{geno_dataset.id}}
+
+ Name
+ {{geno_dataset.name}}
+
+ Full Name
+ {{geno_dataset.fname}}
+
+ Short Name
+ {{geno_dataset.sname}}
+
+ Created On
+ {{geno_dataset.today}}
+
+ Public?
+ {%if geno_dataset.public == 0%}No{%else%}Yes{%endif%}
+
+
+
+
+
+
+
+
+{%endblock%}
diff --git a/uploader/templates/rqtl2/create-probe-dataset-success.html b/uploader/templates/rqtl2/create-probe-dataset-success.html
new file mode 100644
index 0000000..790d174
--- /dev/null
+++ b/uploader/templates/rqtl2/create-probe-dataset-success.html
@@ -0,0 +1,59 @@
+{%extends "base.html"%}
+{%from "flash_messages.html" import flash_messages%}
+
+{%block title%}Upload R/qtl2 Bundle{%endblock%}
+
+{%block contents%}
+Create ProbeSet Dataset
+
+
+
You successfully created the ProbeSet dataset with the following
+ information.
+
+ Averaging Method
+ {{avgmethod.Name}}
+
+ ID
+ {{dataset.datasetid}}
+
+ Name
+ {{dataset.name2}}
+
+ Full Name
+ {{dataset.fname}}
+
+ Short Name
+ {{dataset.sname}}
+
+ Created On
+ {{dataset.today}}
+
+ DataScale
+ {{dataset.datascale}}
+
+
+
+
+
+
+
+
+{%endblock%}
diff --git a/uploader/templates/rqtl2/create-probe-study-success.html b/uploader/templates/rqtl2/create-probe-study-success.html
new file mode 100644
index 0000000..d0ee508
--- /dev/null
+++ b/uploader/templates/rqtl2/create-probe-study-success.html
@@ -0,0 +1,49 @@
+{%extends "base.html"%}
+{%from "flash_messages.html" import flash_messages%}
+
+{%block title%}Upload R/qtl2 Bundle{%endblock%}
+
+{%block contents%}
+Create ProbeSet Study
+
+
+
You successfully created the ProbeSet study with the following
+ information.
+
+ ID
+ {{study.id}}
+
+ Name
+ {{study.name}}
+
+ Full Name
+ {{study.fname}}
+
+ Short Name
+ {{study.sname}}
+
+ Created On
+ {{study.today}}
+
+
+
+
+
+
+{%endblock%}
diff --git a/uploader/templates/rqtl2/create-tissue-success.html b/uploader/templates/rqtl2/create-tissue-success.html
new file mode 100644
index 0000000..5f2c5a0
--- /dev/null
+++ b/uploader/templates/rqtl2/create-tissue-success.html
@@ -0,0 +1,106 @@
+{%extends "base.html"%}
+{%from "flash_messages.html" import flash_all_messages%}
+
+{%block title%}Upload R/qtl2 Bundle{%endblock%}
+
+{%block contents%}
+Select Tissue
+
+
+
You have successfully added a new tissue, organ or biological material with
+ the following details:
+
+
+
+ {{flash_all_messages()}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{%endblock%}
diff --git a/uploader/templates/rqtl2/index.html b/uploader/templates/rqtl2/index.html
new file mode 100644
index 0000000..f3329c2
--- /dev/null
+++ b/uploader/templates/rqtl2/index.html
@@ -0,0 +1,36 @@
+{%extends "base.html"%}
+{%from "flash_messages.html" import flash_messages%}
+
+{%block title%}Data Upload{%endblock%}
+
+{%block contents%}
+R/qtl2 data upload
+
+R/qtl2 Upload
+
+
+
+{%endblock%}
diff --git a/uploader/templates/rqtl2/no-such-job.html b/uploader/templates/rqtl2/no-such-job.html
new file mode 100644
index 0000000..b17004f
--- /dev/null
+++ b/uploader/templates/rqtl2/no-such-job.html
@@ -0,0 +1,13 @@
+{%extends "base.html"%}
+{%from "flash_messages.html" import flash_messages%}
+
+{%block title%}Job Status{%endblock%}
+
+{%block contents%}
+R/qtl2 job status
+
+R/qtl2 Upload: No Such Job
+
+No job with ID {{jobid}} was found.
+
+{%endblock%}
diff --git a/uploader/templates/rqtl2/rqtl2-job-error.html b/uploader/templates/rqtl2/rqtl2-job-error.html
new file mode 100644
index 0000000..9817518
--- /dev/null
+++ b/uploader/templates/rqtl2/rqtl2-job-error.html
@@ -0,0 +1,39 @@
+{%extends "base.html"%}
+{%from "cli-output.html" import cli_output%}
+
+{%block title%}Job Status{%endblock%}
+
+{%block contents%}
+R/qtl2 job status
+
+R/qtl2 Upload: Job Status
+
+
+
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.
+
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:
+
+ R/qtl2 bundle you uploaded
+ This URL: {{request_url()}}
+ (maybe) a screenshot of this page
+
+
+
+
+stdout
+{{cli_output(job, "stdout")}}
+
+stderr
+{{cli_output(job, "stderr")}}
+
+Log
+
+ {%for msg in messages%}
+ {{msg}}
+ {%endfor%}
+
+
+{%endblock%}
diff --git a/uploader/templates/rqtl2/rqtl2-job-results.html b/uploader/templates/rqtl2/rqtl2-job-results.html
new file mode 100644
index 0000000..4ecd415
--- /dev/null
+++ b/uploader/templates/rqtl2/rqtl2-job-results.html
@@ -0,0 +1,24 @@
+{%extends "base.html"%}
+{%from "cli-output.html" import cli_output%}
+
+{%block title%}Job Status{%endblock%}
+
+{%block contents%}
+R/qtl2 job status
+
+R/qtl2 Upload: Job Status
+
+
+
The processing of the R/qtl2 bundle you uploaded has completed
+ successfully.
+
You should now be able to use GeneNetwork to run analyses on your data.
+
+
+Log
+
+ {%for msg in messages%}
+ {{msg}}
+ {%endfor%}
+
+
+{%endblock%}
diff --git a/uploader/templates/rqtl2/rqtl2-job-status.html b/uploader/templates/rqtl2/rqtl2-job-status.html
new file mode 100644
index 0000000..e896f88
--- /dev/null
+++ b/uploader/templates/rqtl2/rqtl2-job-status.html
@@ -0,0 +1,20 @@
+{%extends "base.html"%}
+{%from "flash_messages.html" import flash_messages%}
+
+{%block title%}Job Status{%endblock%}
+
+{%block extrameta%}
+
+{%endblock%}
+
+{%block contents%}
+R/qtl2 job status
+
+R/qtl2 Upload: Job Status
+
+Log
+
+
{{"\n".join(messages)}}
+
+
+{%endblock%}
diff --git a/uploader/templates/rqtl2/rqtl2-qc-job-error.html b/uploader/templates/rqtl2/rqtl2-qc-job-error.html
new file mode 100644
index 0000000..90e8887
--- /dev/null
+++ b/uploader/templates/rqtl2/rqtl2-qc-job-error.html
@@ -0,0 +1,120 @@
+{%extends "base.html"%}
+{%from "cli-output.html" import cli_output%}
+
+{%block title%}R/qtl2 bundle: QC Job Error{%endblock%}
+
+{%macro errors_table(tableid, errors)%}
+
+ {{caption}}
+
+
+ Line
+ Column
+ Value
+ Message
+
+
+
+ {%for error in errors%}
+
+ {{error.line}}
+ {{error.column}}
+ {{error.value}}
+ {{error.message}}
+
+ {%else%}
+
+ No errors to display here.
+
+ {%endfor%}
+
+
+{%endmacro%}
+
+{%block contents%}
+R/qtl2 bundle: QC job Error
+
+
+
The R/qtl2 bundle has failed some Quality Control checks.
+
We list below some of the errors that need to be fixed before the data can
+ be uploaded onto GeneNetwork.
+
+
+{%if errorsgeneric | length > 0%}
+Generic Errors ({{errorsgeneric | length}})
+
+ We found the following generic errors in your R/qtl2 bundle:
+
+
+Missing Files
+
+
These files are listed in the bundle's control file, but do not actually
+ exist in the bundle
+
+
+
+
+ Control File Key
+ Bundle File Name
+ Message
+
+
+
+ {%for error in (errorsgeneric | selectattr("type", "equalto", "MissingFile"))%}
+
+ {{error.controlfilekey}}
+ {{error.filename}}
+ {{error.message}}
+
+ {%endfor%}
+
+
+
+Other Generic Errors
+{{errors_table("tbl-errors-generic", errorsgeneric| selectattr("type", "ne", "MissingFile"))}}
+{%endif%}
+
+{%if errorsgeno | length > 0%}
+Geno Errors ({{errorsgeno | length}})
+
+ We found the following errors in the 'geno' file in your R/qtl2 bundle:
+
+{{errors_table("tbl-errors-geno", errorsgeno[0:50])}}
+{%endif%}
+
+{%if errorspheno | length > 0%}
+Pheno Errors ({{errorspheno | length}})
+
+ We found the following errors in the 'pheno' file in your R/qtl2 bundle:
+
+{{errors_table("tbl-errors-pheno", errorspheno[0:50])}}
+{%endif%}
+
+{%if errorsphenose | length > 0%}
+Phenose Errors ({{errorsphenose | length}})
+
+ We found the following errors in the 'phenose' file in your R/qtl2 bundle:
+
+{{errors_table("tbl-errors-phenose", errorsphenose[0:50])}}
+{%endif%}
+
+{%if errorsphenocovar | length > 0%}
+Phenocovar Errors ({{errorsphenocovar | length}})
+
+ We found the following errors in the 'phenocovar' file in your R/qtl2 bundle:
+
+{{errorsphenocovar}}
+{%endif%}
+
+stdout
+{{cli_output(job, "stdout")}}
+
+stderr
+{{cli_output(job, "stderr")}}
+
+Log
+
+
{{"\n".join(messages)}}
+
+
+{%endblock%}
diff --git a/uploader/templates/rqtl2/rqtl2-qc-job-results.html b/uploader/templates/rqtl2/rqtl2-qc-job-results.html
new file mode 100644
index 0000000..59bc8cd
--- /dev/null
+++ b/uploader/templates/rqtl2/rqtl2-qc-job-results.html
@@ -0,0 +1,66 @@
+{%extends "base.html"%}
+{%from "cli-output.html" import cli_output%}
+
+{%block title%}R/qtl2 bundle: QC job results{%endblock%}
+
+{%block contents%}
+R/qtl2 bundle: QC job results
+
+
+
The R/qtl2 bundle you uploaded has passed all automated quality-control
+ checks successfully.
+
You may now continue to load the data into GeneNetwork for the bundle, with
+ the following details:
+
+
+
+
+{%endblock%}
diff --git a/uploader/templates/rqtl2/rqtl2-qc-job-status.html b/uploader/templates/rqtl2/rqtl2-qc-job-status.html
new file mode 100644
index 0000000..f4a6266
--- /dev/null
+++ b/uploader/templates/rqtl2/rqtl2-qc-job-status.html
@@ -0,0 +1,41 @@
+{%extends "base.html"%}
+{%from "flash_messages.html" import flash_messages%}
+
+{%block title%}Job Status{%endblock%}
+
+{%block extrameta%}
+
+{%endblock%}
+
+{%block contents%}
+R/qtl2 bundle: QC job status
+
+{%if geno_percent%}
+
+
Checking 'geno' file:
+
+ {{geno_percent}}%
+ {{geno_percent}}%
+{%endif%}
+
+{%if pheno_percent%}
+
+
Checking 'pheno' file:
+
+ {{pheno_percent}}%
+ {{pheno_percent}}%
+{%endif%}
+
+{%if phenose_percent%}
+
+
Checking 'phenose' file:
+
+ {{phenose_percent}}%
+ {{phenose_percent}}%
+{%endif%}
+
+Log
+
+
{{"\n".join(messages)}}
+
+{%endblock%}
diff --git a/uploader/templates/rqtl2/rqtl2-qc-job-success.html b/uploader/templates/rqtl2/rqtl2-qc-job-success.html
new file mode 100644
index 0000000..2861a04
--- /dev/null
+++ b/uploader/templates/rqtl2/rqtl2-qc-job-success.html
@@ -0,0 +1,37 @@
+{%extends "base.html"%}
+{%from "flash_messages.html" import flash_all_messages%}
+
+{%block title%}R/qtl2 Bundle: Quality Control Successful{%endblock%}
+
+{%block contents%}
+R/qtl2 Bundle: Quality Control Successful
+
+
+
The R/qtl2 bundle you uploaded has passed all quality control
+ checks successfully, and is now ready for uploading into the database.
+
Click "Continue" below to proceed.
+
+
+
+
+
+
+
+{%endblock%}
diff --git a/uploader/templates/rqtl2/select-geno-dataset.html b/uploader/templates/rqtl2/select-geno-dataset.html
new file mode 100644
index 0000000..873f9c3
--- /dev/null
+++ b/uploader/templates/rqtl2/select-geno-dataset.html
@@ -0,0 +1,144 @@
+{%extends "base.html"%}
+{%from "flash_messages.html" import flash_messages%}
+
+{%block title%}Upload R/qtl2 Bundle{%endblock%}
+
+{%block contents%}
+Select Genotypes Dataset
+
+
+
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.
+
This is the dataset where your data will be organised under.
+
+
+
+
+
+
+
+
+{%endblock%}
diff --git a/uploader/templates/rqtl2/select-population.html b/uploader/templates/rqtl2/select-population.html
new file mode 100644
index 0000000..37731f0
--- /dev/null
+++ b/uploader/templates/rqtl2/select-population.html
@@ -0,0 +1,136 @@
+{%extends "base.html"%}
+{%from "flash_messages.html" import flash_messages%}
+
+{%block title%}Select Grouping/Population{%endblock%}
+
+{%block contents%}
+Select grouping/population
+
+
+
The data is organised in a hierarchical form, beginning with
+ species at the very top. Under species the data is
+ organised by population , sometimes referred to as grouping .
+ (In some really old documents/systems, you might see this referred to as
+ InbredSet .)
+
In this section, you get to define what population your data is to be
+ organised by.
+
+
+
+
+OR
+
+
+
+{%endblock%}
+
+
+{%block javascript%}
+{%endblock%}
diff --git a/uploader/templates/rqtl2/select-probeset-dataset.html b/uploader/templates/rqtl2/select-probeset-dataset.html
new file mode 100644
index 0000000..26f52ed
--- /dev/null
+++ b/uploader/templates/rqtl2/select-probeset-dataset.html
@@ -0,0 +1,191 @@
+{%extends "base.html"%}
+{%from "flash_messages.html" import flash_messages%}
+
+{%block title%}Upload R/qtl2 Bundle{%endblock%}
+
+{%block contents%}
+Phenotype(ProbeSet) Dataset
+
+
+
The R/qtl2 bundle you uploaded contains (a) "pheno "
+ file(s). This data needs to be organised under a dataset.
+
This page gives you the ability to do that.
+
+
+{%if datasets | length > 0%}
+
+
+ Select from existing ProbeSet datasets
+ {{flash_messages("error-rqtl2")}}
+
+
+
+
+
+
+
+
+
+ Dataset
+
+ Select a dataset
+ {%for dataset in datasets%}
+
+ {{dataset.Name}}
+ {%if dataset.FullName%}
+ -- ({{dataset.FullName}})
+ {%endif%}
+
+ {%endfor%}
+
+
+
+ Select from existing ProbeSet datasets.
+
+
+ select dataset
+
+
+
+
+{%endif%}
+
+
+
Create an entirely new ProbeSet dataset for your data.
+
+
+
+
+{%endblock%}
diff --git a/uploader/templates/rqtl2/select-probeset-study-id.html b/uploader/templates/rqtl2/select-probeset-study-id.html
new file mode 100644
index 0000000..b9bf52e
--- /dev/null
+++ b/uploader/templates/rqtl2/select-probeset-study-id.html
@@ -0,0 +1,143 @@
+{%extends "base.html"%}
+{%from "flash_messages.html" import flash_messages %}
+
+{%block title%}Upload R/qtl2 Bundle{%endblock%}
+
+{%block contents%}
+Phenotype(ProbeSet) Study
+
+
+
The R/qtl2 bundle you uploaded contains (a) "pheno "
+ file(s). This data needs to be organised under a study.
+
In this page, you can either select from a existing dataset:
+
+
+ Select from existing ProbeSet studies
+ {{flash_messages("error-rqtl2-select-probeset-study")}}
+
+
+
+
+
+
+
+
+ Study
+
+ Select a study
+ {%for study in studies%}
+
+ {{study.Name}}
+ {%if study.FullName%}
+ -- ({{study.FullName}})
+ {%endif%}
+
+ {%endfor%}
+
+
+ Select from existing ProbeSet studies.
+
+
+
+ select study
+
+
+
+
+
+
+
+{%endblock%}
diff --git a/uploader/templates/rqtl2/select-tissue.html b/uploader/templates/rqtl2/select-tissue.html
new file mode 100644
index 0000000..34e1758
--- /dev/null
+++ b/uploader/templates/rqtl2/select-tissue.html
@@ -0,0 +1,115 @@
+{%extends "base.html"%}
+{%from "flash_messages.html" import flash_messages%}
+
+{%block title%}Upload R/qtl2 Bundle{%endblock%}
+
+{%block contents%}
+Tissue
+
+
+
The data you are uploading concerns a tissue, cell, organ, or other
+ biological material used in an experiment.
+
Select the appropriate biological material below
+
+
+{%if tissues | length > 0%}
+
+
+ Select from existing ProbeSet datasets
+ {{flash_messages("error-select-tissue")}}
+
+
+
+
+
+
+
+ Tissue
+
+ Select a tissue
+ {%for tissue in tissues%}
+
+ {{tissue.Name}}
+ {%if tissue.Short_Name%}
+ -- ({{tissue.Short_Name}})
+ {%endif%}
+
+ {%endfor%}
+
+
+
+ Select from existing biological material.
+
+
+ use selected
+
+
+
+
+{%endif%}
+
+
+
If you cannot find the biological material in the drop-down above, add it
+ to the system below.
+
+
+ Add new tissue, organ or biological material
+ {{flash_messages("error-create-tissue")}}
+
+
+
+
+
+
+
+ name
+
+
+
+ A name to identify the tissue, organ or biological material.
+
+
+
+
+ short name
+
+
+
+ Provide a short name for the tissue, organ or biological material used in
+ the experiment.
+
+
+
+ add new material
+
+
+
+{%endblock%}
diff --git a/uploader/templates/rqtl2/summary-info.html b/uploader/templates/rqtl2/summary-info.html
new file mode 100644
index 0000000..1be87fa
--- /dev/null
+++ b/uploader/templates/rqtl2/summary-info.html
@@ -0,0 +1,65 @@
+{%extends "base.html"%}
+{%from "flash_messages.html" import flash_messages%}
+
+{%block title%}Upload R/qtl2 Bundle{%endblock%}
+
+{%block contents%}
+Summary
+
+
+
This is the information you have provided to accompany the R/qtl2 bundle
+ you have uploaded. Please verify the information is correct before
+ proceeding.
+
+
+
+
+ Species
+ {{species.SpeciesName}} ({{species.FullName}})
+
+ Population
+ {{population.InbredSetName}}
+
+ {%if geno_dataset%}
+ Genotype Dataset
+ {{geno_dataset.Name}} ({{geno_dataset.FullName}})
+ {%endif%}
+
+ {%if tissue%}
+ Tissue
+ {{tissue.TissueName}} ({{tissue.Name}}, {{tissue.Short_Name}})
+ {%endif%}
+
+ {%if probe_study%}
+ ProbeSet Study
+ {{probe_study.Name}} ({{probe_study.FullName}})
+ {%endif%}
+
+ {%if probe_dataset%}
+ ProbeSet Dataset
+ {{probe_dataset.Name2}} ({{probe_dataset.FullName}})
+ {%endif%}
+
+
+
+
+
+ Create ProbeSet dataset
+
+
+
+
+
+
+
+
+ continue
+
+
+{%endblock%}
diff --git a/uploader/templates/rqtl2/upload-rqtl2-bundle-step-01.html b/uploader/templates/rqtl2/upload-rqtl2-bundle-step-01.html
new file mode 100644
index 0000000..07c240f
--- /dev/null
+++ b/uploader/templates/rqtl2/upload-rqtl2-bundle-step-01.html
@@ -0,0 +1,276 @@
+{%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()%}
+
+
+ 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.
+
+
+ The control file can be either a YAML or JSON file. ALL other data
+ files in the zip bundle should be CSV files.
+
+ See the
+
+ R/qtl2 file format specifications
+
+ for more details.
+
+
+{%endmacro%}
+{{upload_progress_indicator()}}
+
+
+
+
+Upload R/qtl2 Bundle
+
+
+
+ Browse
+
+
+ You can drag and drop your file here, or click the browse button.
+ Click on the file to remove it.
+
+ {{rqtl2_file_help()}}
+
+
+ start upload
+ cancel upload
+
+
+
+
+
+
+
+
+ {{flash_all_messages()}}
+
+
+ file upload
+ R/qtl2 bundle
+
+ {{rqtl2_file_help()}}
+
+
+ upload R/qtl2 bundle
+
+
+{%endblock%}
+
+{%block javascript%}
+
+
+
+{%endblock%}
diff --git a/uploader/templates/rqtl2/upload-rqtl2-bundle-step-02.html b/uploader/templates/rqtl2/upload-rqtl2-bundle-step-02.html
new file mode 100644
index 0000000..93b1dc9
--- /dev/null
+++ b/uploader/templates/rqtl2/upload-rqtl2-bundle-step-02.html
@@ -0,0 +1,33 @@
+{%extends "base.html"%}
+{%from "flash_messages.html" import flash_all_messages%}
+
+{%block title%}Upload R/qtl2 Bundle{%endblock%}
+
+{%block contents%}
+Upload R/qtl2 Bundle
+
+
+
You have successfully uploaded the zipped bundle of R/qtl2 files.
+
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.
+
Click "Continue" below to proceed.
+
+
+ {{flash_all_messages()}}
+
+
+
+
+ continue
+
+
+
+{%endblock%}
diff --git a/uploader/templates/samples/select-population.html b/uploader/templates/samples/select-population.html
new file mode 100644
index 0000000..da19ddc
--- /dev/null
+++ b/uploader/templates/samples/select-population.html
@@ -0,0 +1,99 @@
+{%extends "base.html"%}
+{%from "flash_messages.html" import flash_messages%}
+
+{%block title%}Select Grouping/Population{%endblock%}
+
+{%block contents%}
+Select grouping/population
+
+
+
We organise the samples/cases/strains in a hierarchichal form, starting
+ with species at the very top. Under species, we have a
+ grouping in terms of the relevant population
+ (e.g. Inbred populations, cell tissue, etc.)
+
+
+
+ select grouping/population
+ {{flash_messages("error-select-population")}}
+
+
+
+
+ grouping/population
+
+ Select a grouping/population
+ {%for pop in populations%}
+
+ {{pop.InbredSetName}} ({{pop.FullName}})
+ {%endfor%}
+
+
+
+ select population
+
+
+OR
+
+
+ create new grouping/population
+ {{flash_messages("error-create-population")}}
+
+
+
+ mandatory
+
+ name
+
+
+ full name
+
+
+
+ Optional
+
+ public?
+
+
+ family
+
+
+ Description
+
+
+
+ create grouping/population
+
+
+{%endblock%}
+
+
+{%block javascript%}
+{%endblock%}
diff --git a/uploader/templates/samples/select-species.html b/uploader/templates/samples/select-species.html
new file mode 100644
index 0000000..edadc61
--- /dev/null
+++ b/uploader/templates/samples/select-species.html
@@ -0,0 +1,30 @@
+{%extends "base.html"%}
+{%from "flash_messages.html" import flash_all_messages%}
+
+{%block title%}Select Grouping/Population{%endblock%}
+
+{%block contents%}
+upload samples/cases
+
+We need to know what species your data belongs to.
+
+{{flash_all_messages()}}
+
+
+ upload samples
+
+ Species
+
+ Select species
+ {%for spec in species%}
+ {{spec.MenuName}}
+ {%endfor%}
+
+
+
+ submit
+
+{%endblock%}
diff --git a/uploader/templates/samples/upload-failure.html b/uploader/templates/samples/upload-failure.html
new file mode 100644
index 0000000..09e2ecf
--- /dev/null
+++ b/uploader/templates/samples/upload-failure.html
@@ -0,0 +1,27 @@
+{%extends "base.html"%}
+{%from "cli-output.html" import cli_output%}
+
+{%block title%}Samples Upload Failure{%endblock%}
+
+{%block contents%}
+{{job.job_name}}
+
+ There was a failure attempting to upload the samples.
+
+Here is some information to help with debugging the issue. Provide this
+ information to the developer/maintainer.
+
+Debugging Information
+
+ job id : {{job.job_id}}
+ status : {{job.status}}
+ job type : {{job["job-type"]}}
+
+
+stdout
+{{cli_output(job, "stdout")}}
+
+stderr
+{{cli_output(job, "stderr")}}
+
+{%endblock%}
diff --git a/uploader/templates/samples/upload-progress.html b/uploader/templates/samples/upload-progress.html
new file mode 100644
index 0000000..7bb02be
--- /dev/null
+++ b/uploader/templates/samples/upload-progress.html
@@ -0,0 +1,22 @@
+{%extends "base.html"%}
+{%from "cli-output.html" import cli_output%}
+
+{%block extrameta%}
+
+{%endblock%}
+
+{%block title%}Job Status{%endblock%}
+
+{%block contents%}
+{{job.job_name}}
+
+
+status :
+{{job["status"]}} ({{job.get("message", "-")}})
+
+
+saving to database...
+
+{{cli_output(job, "stdout")}}
+
+{%endblock%}
diff --git a/uploader/templates/samples/upload-samples.html b/uploader/templates/samples/upload-samples.html
new file mode 100644
index 0000000..e62de57
--- /dev/null
+++ b/uploader/templates/samples/upload-samples.html
@@ -0,0 +1,139 @@
+{%extends "base.html"%}
+{%from "flash_messages.html" import flash_messages%}
+
+{%block title%}Upload Samples{%endblock%}
+
+{%block css%}{%endblock%}
+
+{%block contents%}
+upload samples
+
+{{flash_messages("alert-success")}}
+
+You can now upload a character-separated value (CSV) file that contains
+ details about your samples. The CSV file should have the following fields:
+
+ Name
+ The primary name for the sample
+
+ Name2
+ A secondary name for the sample. This can simply be the same as
+ Name above. This field MUST contain a
+ value.
+
+ Symbol
+ A symbol for the sample. Can be an empty field.
+
+ Alias
+ An alias for the sample. Can be an empty field.
+
+
+
+
+ upload samples
+
+
+
+ species:
+ {{species.SpeciesName}} [{{species.MenuName}}]
+
+
+
+
+ grouping/population:
+ {{population.Name}} [{{population.FullName}}]
+
+
+
+ select file
+
+
+
+
+ field separator
+
+ Select separator for your file: (default is comma)
+ TAB
+ Space
+ Comma
+ Semicolon
+ Other
+
+
+
+ If you select 'Other ' for the field separator value,
+ enter the character that separates the fields in your CSV file in the form
+ field below.
+
+
+
+
+
+
+ first line is a heading?
+
+ Select this if the first line in your file contains headings for the
+ columns.
+
+
+
+
+ field delimiter
+
+
+ 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.
+
+
+
+ upload samples file
+
+
+
+ preview content
+
+
+
+ Name
+ Name2
+ Symbol
+ Alias
+
+
+
+
+
+
+ Please make some selections to preview the data.
+
+
+
+
+{%endblock%}
+
+
+{%block javascript%}
+
+{%endblock%}
diff --git a/uploader/templates/samples/upload-success.html b/uploader/templates/samples/upload-success.html
new file mode 100644
index 0000000..cb745c3
--- /dev/null
+++ b/uploader/templates/samples/upload-success.html
@@ -0,0 +1,18 @@
+{%extends "base.html"%}
+{%from "cli-output.html" import cli_output%}
+
+{%block title%}Job Status{%endblock%}
+
+{%block contents%}
+{{job.job_name}}
+
+
+status :
+{{job["status"]}} ({{job.get("message", "-")}})
+
+
+Successfully uploaded the samples.
+
+{{cli_output(job, "stdout")}}
+
+{%endblock%}
diff --git a/uploader/templates/select_dataset.html b/uploader/templates/select_dataset.html
new file mode 100644
index 0000000..2f07de8
--- /dev/null
+++ b/uploader/templates/select_dataset.html
@@ -0,0 +1,161 @@
+{%extends "base.html"%}
+{%from "dbupdate_hidden_fields.html" import hidden_fields%}
+
+{%block title%}Select Dataset{%endblock%}
+
+{%block css%}
+
+{%endblock%}
+
+{%block contents%}
+{{filename}}: select dataset
+
+
+
+ choose existing dataset
+ {{hidden_fields(
+ filename, filetype, species=species, genechipid=genechipid,
+ studyid=studyid, totallines=totallines)}}
+
+
+ dataset:
+
+ {%for dataset in datasets:%}
+
+ [{{dataset["Name"]}}] - {{dataset["FullName"]}}
+
+ {%endfor%}
+
+
+
+ update database
+
+
+
+
+
+
+
+{%endblock%}
diff --git a/uploader/templates/select_platform.html b/uploader/templates/select_platform.html
new file mode 100644
index 0000000..d9bc68f
--- /dev/null
+++ b/uploader/templates/select_platform.html
@@ -0,0 +1,82 @@
+{%extends "base.html"%}
+
+{%block title%}Select Dataset{%endblock%}
+
+{%block contents%}
+{{filename}}: select platform
+
+
+
+
+
+
+
+
+ species
+
+ {%for row in species:%}
+
+ {{row["MenuName"]}}
+
+ {%endfor%}
+
+
+
+
+
+ submit platform
+
+
+{%endblock%}
+
+{%block javascript%}
+
+
+
+{%endblock%}
diff --git a/uploader/templates/select_species.html b/uploader/templates/select_species.html
new file mode 100644
index 0000000..3b1a8a9
--- /dev/null
+++ b/uploader/templates/select_species.html
@@ -0,0 +1,92 @@
+{%extends "base.html"%}
+{%from "flash_messages.html" import flash_messages%}
+{%from "upload_progress_indicator.html" import upload_progress_indicator%}
+
+{%block title%}expression data: select species{%endblock%}
+
+{%block contents%}
+{{upload_progress_indicator()}}
+
+expression data: select species
+
+
+
+ upload expression data
+ {{flash_messages("error-expr-data")}}
+
+
+ Species
+
+ Select species
+ {%for aspecies in species%}
+ {{aspecies.MenuName}}
+ {%endfor%}
+
+
+
+
+
+
+
+ No file selected
+
+ select file
+
+
+
+ upload file
+
+
+{%endblock%}
+
+
+{%block javascript%}
+
+
+{%endblock%}
diff --git a/uploader/templates/select_study.html b/uploader/templates/select_study.html
new file mode 100644
index 0000000..648ad4c
--- /dev/null
+++ b/uploader/templates/select_study.html
@@ -0,0 +1,108 @@
+{%extends "base.html"%}
+{%from "dbupdate_hidden_fields.html" import hidden_fields%}
+
+{%block title%}Select Dataset{%endblock%}
+
+{%block css%}
+
+{%endblock%}
+
+{%block contents%}
+{{filename}}: select study
+
+
+
+ Select from existing study
+ {{hidden_fields(filename, filetype, species=species, genechipid=genechipid,
+ totallines=totallines)}}
+
+
+ study:
+
+ {%for study in studies:%}
+ {{study["Name"]}}
+ {%endfor%}
+
+
+
+ submit selected study
+
+
+
+
+
+
+
+ {%with messages = get_flashed_messages(with_categories=true)%}
+ {%if messages:%}
+
+ {%for category, message in messages:%}
+ {{message}}
+ {%endfor%}
+
+ {%endif%}
+ {%endwith%}
+ Create new study
+ {{hidden_fields(filename, filetype, species=species, genechipid=genechipid,
+ totallines=totallines)}}
+
+
+ name:
+
+
+
+
+ group:
+
+ Select group
+ {%for family in groups:%}
+
+ {%for group in groups[family]:%}
+
+ {{group["FullName"]}}
+
+ {%endfor%}
+
+ {%endfor%}
+
+
+
+
+ tissue:
+
+ Select type
+ {%for tissue in tissues:%}
+
+ {{tissue["Name"]}}
+
+ {%endfor%}
+
+
+
+ create study
+
+
+
+{%endblock%}
diff --git a/uploader/templates/stdout_output.html b/uploader/templates/stdout_output.html
new file mode 100644
index 0000000..85345a9
--- /dev/null
+++ b/uploader/templates/stdout_output.html
@@ -0,0 +1,8 @@
+{%macro stdout_output(job)%}
+
+STDOUT Output
+
+
{{job.get("stdout", "")}}
+
+
+{%endmacro%}
diff --git a/uploader/templates/unhandled_exception.html b/uploader/templates/unhandled_exception.html
new file mode 100644
index 0000000..6e6a051
--- /dev/null
+++ b/uploader/templates/unhandled_exception.html
@@ -0,0 +1,21 @@
+{%extends "base.html"%}
+
+{%block title%}System Error{%endblock%}
+
+{%block css%}
+
+{%endblock%}
+
+{%block contents%}
+
+ An error has occured, and your request has been aborted. Please notify the
+ administrator to try and get this sorted.
+
+
+ Provide the following information to help the administrator figure out and fix
+ the issue:
+
+ {{trace}}
+
+
+{%endblock%}
diff --git a/uploader/templates/upload_progress_indicator.html b/uploader/templates/upload_progress_indicator.html
new file mode 100644
index 0000000..e274e83
--- /dev/null
+++ b/uploader/templates/upload_progress_indicator.html
@@ -0,0 +1,35 @@
+{%macro upload_progress_indicator()%}
+
+
+
+
+
+
+
+
+
+
+
+ Uploading 0%
+
+
+
+
+
+
+
+
+
+{%endmacro%}
diff --git a/uploader/templates/worker_failure.html b/uploader/templates/worker_failure.html
new file mode 100644
index 0000000..b65b140
--- /dev/null
+++ b/uploader/templates/worker_failure.html
@@ -0,0 +1,24 @@
+{%extends "base.html"%}
+
+{%block title%}Worker Failure{%endblock%}
+
+{%block contents%}
+Worker Failure
+
+
+ There was a critical failure launching the job to parse your file.
+ This is our fault and (probably) has nothing to do with the file you uploaded.
+
+
+
+ Please notify the developers of this issue when you encounter it,
+ providing the link to this page, or the information below.
+
+
+Debugging Information
+
+
+
+{%endblock%}
--
cgit v1.2.3