From 3e50c29359da9cdd02ca585ae900ccb2e0f8668a Mon Sep 17 00:00:00 2001 From: Frederick Muriuki Muriithi Date: Mon, 29 Dec 2025 11:56:58 -0600 Subject: Phenotypes: Move feature to new UI templates. --- uploader/phenotypes/views.py | 17 +- .../templates/phenotypes/add-phenotypes-base.html | 17 +- .../phenotypes/add-phenotypes-raw-files.html | 18 - .../add-phenotypes-with-rqtl2-bundle.html | 18 - uploader/templates/phenotypes/base.html | 34 +- uploader/templates/phenotypes/job-status.html | 25 +- .../phenotypes/load-phenotypes-success.html | 20 +- uploader/templates/phenotypes/review-job-data.html | 4 - .../phenotypes/sui-add-phenotypes-base.html | 155 ---- .../phenotypes/sui-add-phenotypes-raw-files.html | 829 --------------------- .../sui-add-phenotypes-with-rqtl2-bundle.html | 189 ----- uploader/templates/phenotypes/sui-base.html | 25 - uploader/templates/phenotypes/sui-job-status.html | 140 ---- .../phenotypes/sui-load-phenotypes-success.html | 26 - .../templates/phenotypes/sui-review-job-data.html | 121 --- .../templates/phenotypes/sui-view-dataset.html | 207 ----- uploader/templates/phenotypes/view-dataset.html | 14 +- uploader/templates/phenotypes/view-phenotype.html | 19 - 18 files changed, 43 insertions(+), 1835 deletions(-) delete mode 100644 uploader/templates/phenotypes/sui-add-phenotypes-base.html delete mode 100644 uploader/templates/phenotypes/sui-add-phenotypes-raw-files.html delete mode 100644 uploader/templates/phenotypes/sui-add-phenotypes-with-rqtl2-bundle.html delete mode 100644 uploader/templates/phenotypes/sui-base.html delete mode 100644 uploader/templates/phenotypes/sui-job-status.html delete mode 100644 uploader/templates/phenotypes/sui-load-phenotypes-success.html delete mode 100644 uploader/templates/phenotypes/sui-review-job-data.html delete mode 100644 uploader/templates/phenotypes/sui-view-dataset.html diff --git a/uploader/phenotypes/views.py b/uploader/phenotypes/views.py index 42f2e34..c4c6170 100644 --- a/uploader/phenotypes/views.py +++ b/uploader/phenotypes/views.py @@ -31,9 +31,6 @@ from flask import (flash, from r_qtl import r_qtl2_qc as rqc from r_qtl import exceptions as rqe - -from uploader.sui import sui_template - from uploader import jobs from uploader import session from uploader.files import save_file @@ -197,7 +194,7 @@ def view_dataset(# pylint: disable=[unused-argument] start_at = max(safe_int(request.args.get("start_at") or 0), 0) count = int(request.args.get("count") or 20) - return render_template(sui_template("phenotypes/view-dataset.html"), + return render_template("phenotypes/view-dataset.html", species=species, population=population, dataset=dataset, @@ -420,9 +417,9 @@ def add_phenotypes(species: dict, population: dict, dataset: dict, **kwargs):# p if request.method == "GET": today = datetime.date.today() return render_template( - sui_template("phenotypes/add-phenotypes-with-rqtl2-bundle.html" - if use_bundle - else "phenotypes/add-phenotypes-raw-files.html"), + ("phenotypes/add-phenotypes-with-rqtl2-bundle.html" + if use_bundle + else "phenotypes/add-phenotypes-raw-files.html"), species=species, population=population, dataset=dataset, @@ -509,7 +506,7 @@ def job_status( except jobs.JobNotFound as _jnf: job = None - return render_template(sui_template("phenotypes/job-status.html"), + return render_template("phenotypes/job-status.html", species=species, population=population, dataset=dataset, @@ -589,7 +586,7 @@ def review_job_data( for filetype,meta in metadata.items() } _job_metadata = json.loads(job["job-metadata"]) - return render_template(sui_template("phenotypes/review-job-data.html"), + return render_template("phenotypes/review-job-data.html", species=species, population=population, dataset=dataset, @@ -980,7 +977,7 @@ def load_data_success( (_publication["Title"] or "")) if item != "") return render_template( - sui_template("phenotypes/load-phenotypes-success.html"), + "phenotypes/load-phenotypes-success.html", species=species, population=population, dataset=dataset, diff --git a/uploader/templates/phenotypes/add-phenotypes-base.html b/uploader/templates/phenotypes/add-phenotypes-base.html index 9909c20..690c7e1 100644 --- a/uploader/templates/phenotypes/add-phenotypes-base.html +++ b/uploader/templates/phenotypes/add-phenotypes-base.html @@ -1,26 +1,13 @@ {%extends "phenotypes/base.html"%} {%from "flash_messages.html" import flash_all_messages%} {%from "macro-table-pagination.html" import table_pagination%} -{%from "phenotypes/macro-display-pheno-dataset-card.html" import display_pheno_dataset_card%} {%block title%}Phenotypes{%endblock%} {%block pagetitle%}Phenotypes{%endblock%} -{%block lvl4_breadcrumbs%} - -{%endblock%} - {%block contents%} +{{super()}} {{flash_all_messages()}}
@@ -83,6 +70,8 @@ {%endblock%} + + {%block javascript%} - -{%block more_javascript%}{%endblock%} -{%endblock%} diff --git a/uploader/templates/phenotypes/sui-add-phenotypes-raw-files.html b/uploader/templates/phenotypes/sui-add-phenotypes-raw-files.html deleted file mode 100644 index 6038617..0000000 --- a/uploader/templates/phenotypes/sui-add-phenotypes-raw-files.html +++ /dev/null @@ -1,829 +0,0 @@ -{%extends "phenotypes/sui-add-phenotypes-base.html"%} -{%from "flash_messages.html" import flash_all_messages%} -{%from "macro-table-pagination.html" import table_pagination%} -{%from "phenotypes/macro-display-preview-table.html" import display_preview_table%} -{%from "phenotypes/macro-display-resumable-elements.html" import display_resumable_elements%} - -{%block title%}Phenotypes{%endblock%} - -{%block pagetitle%}Phenotypes{%endblock%} - -{%block frm_add_phenotypes_documentation%} -

This page will allow you to upload all the separate files that make up your - phenotypes. Here, you will have to upload each separate file individually. If - you want instead to upload all your files as a single ZIP file, - click here.

-{%endblock%} - -{%block frm_add_phenotypes_elements%} -
- File(s) Metadata -
- -
- - - - -
- - Provide the character that separates the fields in your file(s). It should - be the same character for all files (if more than one is provided).
- A tab character will be assumed if you leave this field blank. See - - documentation for more information. -
-
- -
- -
- - - - -
- - This specifies that lines that begin with the character provided will be - considered comment lines and ignored in their entirety. See - - documentation for more information. - -
- -
- -
- - - - -
- - This specifies strings in your file indicate that there is no value for a - particular cell (a cell is where a column and row intersect). Provide a - space-separated list of strings if you have more than one way of - indicating no values. See - - documentation for more information. -
-
- -
- Data File(s) - -
-
-
- - -
- -
- - - - Provide a file that contains only the phenotype descriptions, - - the documentation for the expected format of the file. -
- {{display_resumable_elements( - "resumable-phenotype-descriptions", - "phenotype descriptions", - '

Drag and drop the CSV file that contains the descriptions of your - phenotypes here.

- -

The CSV file should be a matrix of - phenotypes × descriptions i.e. The first column - contains the phenotype names/identifiers whereas the first row is a list - of metadata fields like, "description", "units", etc.

- -

If the format is transposed (i.e. - descriptions × phenotypes) select the checkbox above. -

- -

Please see the - - "Phenotypes Descriptions" documentation section below for more - information on the expected format of the file provided here.

')}} - {{display_preview_table( - "tbl-preview-pheno-desc", "phenotype descriptions")}} -
-
- - -
-
-
- - -
- -
- - - - Provide a file that contains only the phenotype data. See - - the documentation for the expected format of the file. -
- - {{display_resumable_elements( - "resumable-phenotype-data", - "phenotype data", - '

Drag and drop a CSV file that contains the phenotypes numerical data - here. You can click the "Browse" button (below and to the right) to - select the file from your computer.

- -

The CSV should be a matrix of samples × phenotypes, - i.e. The first column contains the samples identifiers while the first - row is the list of phenotypes identifiers occurring in the phenotypes - descriptions file.

- -

If the format is transposed (i.e phenotypes × samples) - select the checkbox above.

-

Please see the - - "Phenotypes Data" documentation section below for more information - on the expected format for the file provided here.

')}} - {{display_preview_table("tbl-preview-pheno-data", "phenotype data")}} -
-
- - - {%if population.Family in families_with_se_and_n%} -
-
-
- - -
-
- - - - Provide a file that contains only the standard errors for the phenotypes, - computed from the data above. -
- - {{display_resumable_elements( - "resumable-phenotype-se", - "standard errors", - '

Drag and drop a CSV file that contains the phenotypes standard-errors - data here. You can click the "Browse" button (below and to the right) to - select the file from your computer.

- -

The CSV should be a matrix of samples × phenotypes, - i.e. The first column contains the samples identifiers while the first - row is the list of phenotypes identifiers occurring in the phenotypes - descriptions file.

- -

If the format is transposed (i.e phenotypes × samples) - select the checkbox above.

- -

Please see the - - "Phenotypes Data" documentation section below for more information - on the expected format of the file provided here.

')}} - - {{display_preview_table("tbl-preview-pheno-se", "standard errors")}} -
-
- - -
-
-
- - -
-
- - - - Provide a file that contains only the number of samples/individuals used in - the computation of the standard errors above. -
- - {{display_resumable_elements( - "resumable-phenotype-n", - "number of samples/individuals", - '

Drag and drop a CSV file that contains the samples\' phenotypes counts - data here. You can click the "Browse" button (below and to the right) to - select the file from your computer.

- -

The CSV should be a matrix of samples × phenotypes, - i.e. The first column contains the samples identifiers while the first - row is the list of phenotypes identifiers occurring in the phenotypes - descriptions file.

- -

If the format is transposed (i.e phenotypes × samples) - select the checkbox above.

- -

Please see the - - "Phenotypes Data" documentation section below for more information - on the expected format of the file provided here.

')}} - - {{display_preview_table("tbl-preview-pheno-n", "number of samples/individuals")}} -
-
-
-{%endif%} -{%endblock%} - - -{%block page_documentation%} -
-

Help

-

Common Features

-

The following are the common expectations for ALL the - files provided in the form above: -

-

- -

If you do not specify the separator character, then we will assume a - TAB character was used as your separator.

- -

We also assume you might include comments lines in your files. In that - case, if you do not specify what character denotes that a line in your files - is a comment line, we will assume the # character.
- A comment MUST ALWAYS begin at the start of the line marked - with the comment character specified.

- -

File Metadata

-

We request some details about your files to help us parse and process the - files correctly. The details we collect are:

-
-
File separator
-
The files you provide should be character-separated value (CSV) files. - We need to know what character you used to separate the values in your - file. Some common ones are the Tab character, the comma, etc.
- Providing that information makes it possible for the system to parse and - process your files correctly.
- NOTE: All the files you upload MUST use the same - separator.
- -
Comment character
-
We support use of comment lines in your files. We only support one type - of comment style, the line comment.
- This mean the comment begins at the start of the line, and the end of that - line indicates the end of that comment. If you have a really long comment, - then you need to break it across multiple lines, marking each line a - comment line.
- The "comment character" is the character at the start of the line that - indicates that the line is a line comment.
- -
No-Value indicator(s)
-
Data in the real world is messy, and in some cases, entirely absent. You - need to indicate, in your files, that a particular field did not have a - value, and once you do that, you then need to let the system know how you - mark such fields. Common ways of indicating "empty values" are, leaving - the field blank, using a character such as '-', or using strings like - "NA", "N/A", "NULL", etc.
- Providing this information will help with parsing and processing such - no-value fields the correct way.
-
- -

- file: Phenotypes Descriptions

-

The data in this file is a matrix of phenotypes × metadata-fields. - Please note we use the term "metadata-fields" above loosely, due to lack of - a good word for this.

-

The file MUST have columns in this order: -

-
Phenotype Identifiers
-
These are the names/identifiers for your phenotypes. These - names/identifiers are the same ones you will have in all the other files you are - uploading.
- -
Descriptions
-
Each phenotype will need a description. Good description are necessary - to inform other people of what the data is about. Good description are - hard to construct, so we provide - - advice on describing your phenotypes.
- -
Units
-
Each phenotype will need units for the measurements taken. If there are - none, then indicate the field is a no-value field.
-

-

You can add more columns after those three if you want to, but these 3 - MUST be present.

-

The file would, for example, look like the following:

- id,description,units,…
- pheno10001|Central nervous system, behavior, cognition; …|mg|…
- pheno10002|Aging, metabolism, central nervous system: …|mg|…
- ⋮
- -

Note 01: The first usable row is the heading row.

-

Note 02: This example demonstrates a subtle issue that - could make your CSV file invalid — the choice of your field separator - character.
- In the example above, we use the pipe character (|) as our - field separator. This is because, if we follow the advice on how to write - good descriptions, then we cannot use the comma as our separator – if - we did, then our CSV file would be invalid because the system would have no - way to tell the difference between the comma as a field separator, and the - comma as a way to separate the "general category and ontology terms".

- -

file: Phenotype Data, Standard Errors and/or Sample Counts

- - - -

The data is a matrix of samples(or individuals) × phenotypes, e.g.

- - # num-cases: 2549 - # num-phenos: 13 - id,pheno10001,pheno10002,pheno10003,pheno10004,53.099998,…
- IND001,61.400002,49,62.5,55.099998,…
- IND002,54.099998,50.099998,53.299999,55.099998,…
- IND003,483,403,501,403,…
- IND004,49.799999,45.5,62.900002,NA,…
- ⋮
- -

where IND001,IND002,IND003,IND004,… are the - samples/individuals/cases in your study, and - pheno10001,pheno10002,pheno10004,pheno10004,… are the - identifiers for your phenotypes.

-

The lines beginning with the "#" symbol (i.e. - # num-cases: 2549 and # num-phenos: 13 are comment - lines and will be ignored

-

In this example, the comma (,) is used as the file separator.

-
- -{%endblock%} - - -{%block more_javascript%} - - - - -{%endblock%} diff --git a/uploader/templates/phenotypes/sui-add-phenotypes-with-rqtl2-bundle.html b/uploader/templates/phenotypes/sui-add-phenotypes-with-rqtl2-bundle.html deleted file mode 100644 index 29a8dea..0000000 --- a/uploader/templates/phenotypes/sui-add-phenotypes-with-rqtl2-bundle.html +++ /dev/null @@ -1,189 +0,0 @@ -{%extends "phenotypes/sui-add-phenotypes-base.html"%} -{%from "flash_messages.html" import flash_all_messages%} -{%from "macro-table-pagination.html" import table_pagination%} - -{%block title%}Phenotypes{%endblock%} - -{%block pagetitle%}Phenotypes{%endblock%} - -{%block frm_add_phenotypes_documentation%} -

Select the zip file bundle containing information on the phenotypes you - wish to upload, then click the "Upload Phenotypes" button below to - upload the data.

-

If you wish to upload the files individually instead, - click here.

-

See the File Formats section below - to get an understanding of what is expected of the bundle files you - upload.

-{%endblock%} - -{%block frm_add_phenotypes_elements%} -
- - -
-{%endblock%} - -{%block page_documentation%} -
-

File Formats

-

We accept an extended form of the - - input files' format used with the R/qtl2 software as a single ZIP - file

-

The files that are used for this feature are: -

-

-

Other files within the bundle will be ignored, for this feature.

-

The following section will detail the expectations for each of the - different file types within the uploaded ZIP file bundle for phenotypes:

- -

Control File

-

There MUST be one, and only one file that acts - as the control file. This file can be: -

-

- -

The control file is useful for defining things about the bundle such as:

- - -

pheno File(s)

-

These files are the main data files. You must have at least one of these - files in your bundle for it to be valid for this step.

-

The data is a matrix of individuals × phenotypes by default, as - below:
- - id,10001,10002,10003,10004,…
- BXD1,61.400002,54.099998,483,49.799999,…
- BXD2,49,50.099998,403,45.5,…
- BXD5,62.5,53.299999,501,62.900002,…
- BXD6,53.099998,55.099998,403,NA,…
- ⋮
-

-

If the pheno_transposed value is set to True, - then the data will be a phenotypes × individuals matrix as in the - example below:
- - id,BXD1,BXD2,BXD5,BXD6,…
- 10001,61.400002,49,62.5,53.099998,…
- 10002,54.099998,50.099998,53.299999,55.099998,…
- 10003,483,403,501,403,…
- 10004,49.799999,45.5,62.900002,NA,…
- ⋮ -
-

- - -

phenocovar File(s)

-

At least one phenotypes metadata file with the metadata values such as - descriptions, PubMed Identifier, publication titles (if present), etc.

-

The data in this/these file(s) is a matrix of - phenotypes × phenotypes-covariates. The first column is always the - phenotype names/identifiers — same as in the R/qtl2 format.

-

phenocovar files should never be transposed!

-

This file MUST be present in the bundle, and have data for - the bundle to be considered valid by our system for this step.
- In addition to that, the following are the fields that must be - present, and - have values, in the file before the file is considered valid: -

- -

The following optional fields can also be provided: -

-

-

These files will be marked up in the control file with the - phenocovar key, as in the examples below: -

    -
  1. JSON: single file
    - {
    -   ⋮,
    -   "phenocovar": "your_covariates_file.csv",
    -   ⋮
    - } -
    -
  2. -
  3. JSON: multiple files
    - {
    -   ⋮,
    -   "phenocovar": [
    -     "covariates_file_01.csv",
    -     "covariates_file_01.csv",
    -     ⋮
    -   ],
    -   ⋮
    - } -
    -
  4. -
  5. YAML: single file or
    - - ⋮
    - phenocovar: your_covariates_file.csv
    - ⋮ -
    -
  6. -
  7. YAML: multiple files
    - - ⋮
    - phenocovar:
    - - covariates_file_01.csv
    - - covariates_file_02.csv
    - - covariates_file_03.csv
    - …
    - ⋮ -
    -
  8. -
-

- -

phenose and phenonum File(s)

-

These are extensions to the R/qtl2 standard, i.e. these types ofs file are - not supported by the original R/qtl2 file format

-

We use these files to upload the standard errors (phenose) when - the data file (pheno) is average data. In that case, the - phenonum file(s) contains the number of individuals that were - involved when computing the averages.

-

Both types of files are matrices of individuals × phenotypes by - default. Like the related pheno files, if - pheno_transposed: True, then the file will be a matrix of - phenotypes × individuals.

-
-{%endblock%} diff --git a/uploader/templates/phenotypes/sui-base.html b/uploader/templates/phenotypes/sui-base.html deleted file mode 100644 index d7d980f..0000000 --- a/uploader/templates/phenotypes/sui-base.html +++ /dev/null @@ -1,25 +0,0 @@ -{%extends "populations/sui-base.html"%} -{%from "phenotypes/macro-display-pheno-dataset-card.html" import display_sui_pheno_dataset_card%} - -{%block breadcrumbs%} -{{super()}} - -{%endblock%} - -{%block contents%} -
-

{{dataset.FullName}} ({{dataset.Name}})

-
-{%endblock%} - - -{%block sidebarcontents%} -{{display_sui_pheno_dataset_card(species, population, dataset)}} -{%endblock%} diff --git a/uploader/templates/phenotypes/sui-job-status.html b/uploader/templates/phenotypes/sui-job-status.html deleted file mode 100644 index bca87d5..0000000 --- a/uploader/templates/phenotypes/sui-job-status.html +++ /dev/null @@ -1,140 +0,0 @@ -{%extends "phenotypes/sui-base.html"%} -{%from "cli-output.html" import cli_output%} -{%from "flash_messages.html" import flash_all_messages%} -{%from "macro-table-pagination.html" import table_pagination%} - -{%block extrameta%} -{%if job and job.status not in ("success", "completed:success", "error", "completed:error")%} - -{%endif%} -{%endblock%} - -{%block title%}Phenotypes{%endblock%} - -{%block pagetitle%}Phenotypes{%endblock%} - -{%block contents%} - -{%if job%} -
-

{{dataset.FullName}} ({{dataset.Name}})

-

upload progress

-
-
-

Process Status: {{job.status}}

- {%if metadata%} - - - - - - - - - - - - {%for file,meta in metadata.items()%} - - - - - - - {%endfor%} - -
FileStatusLines ProcessedTotal Errors
{{file}}{{meta.status}}{{meta.linecount}}{{meta["total-errors"]}}
- {%endif%} -
- -
- {%if job.status in ("completed:success", "success")%} -

- {%if errors | length == 0%} - Continue - {%else%} - - Cannot continue due to errors. Please fix the errors first. - - {%endif%} -

- {%endif%} -
- -

upload errors

-
- {%if errors | length == 0 %} -

- - No errors found so far -

- {%else%} - - - - - - - - - - - - - {%for error in errors%} - - - - - - - - {%endfor%} - -
FileRowColumnValueMessage
{{error.filename}}{{error.rowtitle}}{{error.coltitle}}{%if error.cellvalue is not none and error.cellvalue | length > 25%} - {{error.cellvalue[0:24]}}… - {%else%} - {{error.cellvalue}} - {%endif%} - - {%if error.message | length > 250 %} - {{error.message[0:249]}}… - {%else%} - {{error.message}} - {%endif%} -
- {%endif%} -
- -
- {{cli_output(job, "stdout")}} -
- -
- {{cli_output(job, "stderr")}} -
- -{%else%} -
-

No Such Job

-

Could not find a job with the ID: {{job_id}}

-

- Please go back to - - the '{{dataset.Name}}' dataset page - to upload new phenotypes or edit existing ones.

-
-{%endif%} -{%endblock%} diff --git a/uploader/templates/phenotypes/sui-load-phenotypes-success.html b/uploader/templates/phenotypes/sui-load-phenotypes-success.html deleted file mode 100644 index dff0682..0000000 --- a/uploader/templates/phenotypes/sui-load-phenotypes-success.html +++ /dev/null @@ -1,26 +0,0 @@ -{%extends "phenotypes/sui-base.html"%} -{%from "flash_messages.html" import flash_all_messages%} -{%from "macro-table-pagination.html" import table_pagination%} - -{%block title%}Phenotypes{%endblock%} - -{%block pagetitle%}Phenotypes{%endblock%} - -{%block contents%} -{{super()}} - -
-

You have successfully loaded - your - new phenotypes into the database.

- - -

View your data - on GeneNetwork2. - You might need to login to GeneNetwork2 to view specific traits.

-
-{%endblock%} - - -{%block more_javascript%}{%endblock%} diff --git a/uploader/templates/phenotypes/sui-review-job-data.html b/uploader/templates/phenotypes/sui-review-job-data.html deleted file mode 100644 index ea4183d..0000000 --- a/uploader/templates/phenotypes/sui-review-job-data.html +++ /dev/null @@ -1,121 +0,0 @@ -{%extends "phenotypes/sui-base.html"%} -{%from "cli-output.html" import cli_output%} -{%from "flash_messages.html" import flash_all_messages%} -{%from "macro-table-pagination.html" import table_pagination%} -{%from "phenotypes/macro-display-pheno-dataset-card.html" import display_pheno_dataset_card%} - -{%block extrameta%} -{%if not job%} - -{%endif%} -{%endblock%} - -{%block title%}Phenotypes{%endblock%} - -{%block pagetitle%}Phenotypes{%endblock%} - -{%block lvl4_breadcrumbs%} - -{%endblock%} - -{%block contents%} - -{%if job%} -
-

Data Review

-

- The data has NOT been added/saved yet. Review the details below - and click "Continue" to save the data.

-

The “{{dataset.FullName}}” dataset from the - “{{population.FullName}}” population of the - species “{{species.SpeciesName}} ({{species.FullName}})” - will be updated as follows:

- - - -
- - -
-
-{%else%} -
-

Invalid Job

-

- Could not find a job with the ID: {{job_id}}.

-

You will be redirected in - 20 second(s)

-

- - If you are not redirected, please - click here to continue - -

-
-{%endif%} -{%endblock%} - - -{%block javascript%} - -{%endblock%} diff --git a/uploader/templates/phenotypes/sui-view-dataset.html b/uploader/templates/phenotypes/sui-view-dataset.html deleted file mode 100644 index f858c4e..0000000 --- a/uploader/templates/phenotypes/sui-view-dataset.html +++ /dev/null @@ -1,207 +0,0 @@ -{%extends "phenotypes/sui-base.html"%} -{%from "flash_messages.html" import flash_all_messages%} -{%from "macro-table-pagination.html" import table_pagination%} - -{%block title%}Phenotypes{%endblock%} - -{%block pagetitle%}Phenotypes{%endblock%} - -{%block lvl4_breadcrumbs%} - -{%endblock%} - -{%block contents%} -{{flash_all_messages()}} - -
-

The basic dataset details are:

- - - - - - - - - - - - - - - - - -
NameFull NameShort Name
{{dataset.Name}}{{dataset.FullName}}{{dataset.ShortName}}
-
- -
- - -
-
- -
-
- -
-
- -
-
-
- -
-

Phenotype Data

- -

Click on any of the phenotypes in the table below to view and edit that - phenotype's data.

-

Use the search to filter through all the phenotypes and find specific - phenotypes of interest.

-
- - -
- - - - - - - - - - - - -
IndexRecordDescription
-
-{%endblock%} - - -{%block javascript%} - - - -{%endblock%} diff --git a/uploader/templates/phenotypes/view-dataset.html b/uploader/templates/phenotypes/view-dataset.html index c634a48..1fd15b2 100644 --- a/uploader/templates/phenotypes/view-dataset.html +++ b/uploader/templates/phenotypes/view-dataset.html @@ -1,7 +1,6 @@ {%extends "phenotypes/base.html"%} {%from "flash_messages.html" import flash_all_messages%} {%from "macro-table-pagination.html" import table_pagination%} -{%from "populations/macro-display-population-card.html" import display_population_card%} {%block title%}Phenotypes{%endblock%} @@ -119,12 +118,10 @@
{%endblock%} -{%block sidebarcontents%} -{{display_population_card(species, population)}} -{%endblock%} - {%block javascript%} + +