epam / NGB

New Genome Browser (NGB) - a Web - based NGS data viewer with unique Structural Variations (SVs) visualization capabilities, high performance, scalability, and cloud data support
MIT License
157 stars 41 forks source link

Gene annotation panel #405

Open NShaforostov opened 3 years ago

NShaforostov commented 3 years ago

Background

Currently, users can view different features (genes, transcripts, exons, etc.) at a genome and their info only at GENE tracks. It would be convenient to have an ability to view all features list in a separate panel. In this panel, the feature names, positions at a genome and other info might be presented.

Approach

View

Add a new panel ("Genes") that should display a list of genes/transcripts/exons and other features of the current dataset (from corresponding GFF/GTF files). That panel shall be being opened as other panels:

The "Genes" panel should be being opened at the right side of the page and have a look like: image

This panel should contain a list of features in a table view with the following columns:

Additionally, the panel should contain in the right-upper corner the block of controls (like "Variants" panel): image

Other options

Sorting

User shall have the ability to sort the table data by any column (except "Info" and "Molecular view"). The sorting should be implemented similar to the existing approach (e.g. as at the "Variants" panel):

If for the column any sorting is set (ascending/descending) - the corresponding icon should be displayed at the column header.

Filters

User shall have the ability to filter the table data by column(s) content. The filtering should be implemented similar to the existing approach (e.g. as at the "Variants" panel):

Paging

The "Genes" table should support pagination. The pagination should be implemented similar to the existing approach (e.g. as at the "Variants" panel) - user can use mouse scroll to auto-switch between pages.

Workflows

User shall have the ability to navigate to the corresponding genome location at the GENE track by click any row in the "Genes" table, e.g.: image

Details of the navigation:

Display feature info

User shall have the ability to view the info details about the certain feature by click the "Info" button in the row of that feature in the "Genes" panel, e.g.: image

Details:

all feature info (mandatory fields and attributes with their values) shall be shown in "General information" section

Display attributes

User shall have the ability to display attributes for a feature as additional columns in the "Genes" panel, e.g.: image

Displaying of such attribute columns should be performed via additional menu in the right-upper corner of the panel. This menu should contain the full list of attributes from the current dataset, e.g.: image

If the certain attribute is enabled in that menu - the corresponding column is displayed in the "Genes" panel. To hide the additional column user can:

For additional columns, all options described above (sorting, filters) shall be being applied.

"Origin" of these attributes is the "attributes" column of the GENE file.

Edit attributes

User shall have the ability to modify the attribute values manually via GUI - see details in #496.

Use context menu

User shall have the ability to open the context menu - by the mouse click at the feature in the table. This menu should be similar to the context menu that user can view by the click the feature in the Browser. Possible items in such context menu should be:

View a visualized 3D protein structure

User shall have the ability to open a 3D structure visualization of the certain feature by click the "Show 3D structure" item in the feature context menu in the "Genes" panel, e.g.:

Details:

Tatyana2022 commented 3 years ago

BUG was found: Missing "Clear column filter" button in the "Chr" column when filtering is applied to this column image

@mzueva @DmitriiKrasnov @rodichenko

Fixed and verified

Tatyana2022 commented 3 years ago

Enhancement: "Loading Genes" is displayed for the Gene panel if no dataset has been selected. image

This behavior can confuse the user and it is not obvious that you just need to select a dataset. After a conversation with @DmitriiKrasnov , we came to the conclusion that it is better to remove this loader in order to avoid misunderstandings on the part of users

@mzueva @NShaforostov @DmitriiKrasnov @rodichenko

Fixed and verified

Tatyana2022 commented 3 years ago

Bug was found: Missing mandatory Name column in the Gene table image

Extra Details Name column can be added by clicking on gene value in the additional columns. It seems that we have 2 columns: mandatory and additional with the same name

@DmitriiKrasnov @rodichenko @mzueva Fixed and verified

Tatyana2022 commented 3 years ago

Bug was found: 2 additional columns (Source and Gene Source) are disaplyed with the same name in the Gene table

Steps to reproduce:

  1. Select SV_Sample1 dataset in the Datasets panel
  2. Go to GENE panel
  3. Add source column in the additional menu
  4. Add gene-source column in the additional menu
  5. Look at the GENE table

Expected result: 2 columns should be displayed in the table: Source and Gene Source Actual result: 2 columns are displayed with the same name: Gene Source

image

@mzueva @DmitriiKrasnov @rodichenko

Fixed and verified

Tatyana2022 commented 3 years ago

In the gene table displays the columns previously selected for another dataset.

Steps to reproduce:

  1. Select SV_Sample1 dataset in the Datasets panel
  2. Go to GENE panel
  3. Add ccdc_id column in the additional menu
  4. Go to Datasets panel
  5. Select NC_003071 dataset
  6. Go to GENE panel
  7. Look at the table

Expected result: No ccdc_id column in the NC_003071 table Actual result: ccdc_id column displays in the NC_003071 table image

Extra details: The same behavior for all additional columns. Columns can be hidden by unchecking them in the previous dataset

@mzueva @rodichenko @DmitriiKrasnov

Verified

Tatyana2022 commented 3 years ago

BUG was found: A column is still selected in the additional menu after hiding it on the table

Steps to reproduce:

  1. Select NC_003071 dataset in the Datasets panel
  2. Go to GENE panel
  3. Expand Additional menu
  4. Select any column (e.g.Chromosome)
  5. Open expand menu in the added column
  6. Click on Hide Column
  7. Expand Additional menu

Expected result: Hidden column (e.g. Chromosome) should not be selected in the additional menu Actual result: Hidden column (e.g. Chromosome) is selected in the additional menu Extra details: Hidden column appears again in the table after reloading the page The same behavior in the Variants panel

@mzueva @rodichenko @DmitriiKrasnov

"Won’t be fixed.  It was decided to leave this behavior as it is for the moment after conversation with @mzueva

Tatyana2022 commented 3 years ago

BUG was found: No results in the table when filtering by existing values in the "Frame" column

Steps to reproduce:

  1. Select SV_Sample1 dataset in the Datasets panel
  2. Go to GENE panel
  3. Expand Additional menu
  4. Select Show filters
  5. Select Frame column
  6. Enter 0 value in the filter of Frame column
  7. Click on Enter button
  8. Look at results in GENE table

Expected result: GENE table should be filtered by entered (0) value in Frame column Actual result: Filter is applied to the Frame column. No records were found in the table

@mzueva @rodichenko @DmitriiKrasnov

Verified

Tatyana2022 commented 3 years ago

BUG was found: The values in the Source column are not sorted

Steps to reproduce:

  1. Select SV_Sample1 dataset in the Datasets panel
  2. Go to GENE panel
  3. Expand Additional menu
  4. Select source value
  5. Apply Asc(Desc) sorting to the Source column (For now, its Gene Source - will be fixed)
  6. Look at values in the Source column

Expected result: Values in the Source column should be displayed according to the applied sorting:Acs or Desc Actual result: The order of the values in the Source column does not change when sorting is applied: Acs Desc

Extra Details: These data comes from server

@mzueva @rodichenko

Partly fixed

Front and back values are the same now, but sorting is wrong

https://user-images.githubusercontent.com/83421565/160099168-84b22f5f-4a19-41fe-88f0-964472312de0.mov

Tatyana2022 commented 3 years ago

Good to fix: The GENE table disappears when filtering by a nonexistent value is applied.

It would be great that GENE table header and the applied filter to be displayed in the GENE panel as in Variants panel

@rodichenko @mzueva @DmitriiKrasnov

Verified

Tatyana2022 commented 3 years ago

Good to fix: Reset filter and Hamburger icon are displayed in the different order in the bar for Genes and Variants panels GENES panel

Variants panel

It would be better to bring it to a common view

@rodichenko @mzueva @DmitriiKrasnov

Fixed

Reset filter displays first for now for Variants and Genes panels image

Tatyana2022 commented 3 years ago

Bug was found: The value 0 is not stored in the filter search fields of "Score" column

BUG was found: The values in the Source column are not sorted

Steps to reproduce:

  1. Select SV_Sample2 dataset in the Datasets panel
  2. Go to GENE panel
  3. Expand Additional menu
  4. Select score column
  5. Enter -1 value in the FROM field
  6. Enter 0 value in the TO field
  7. Click Enter

Expected result: Filter should be applied. The values by which the filter is applied are displayed in the FROM and TO fields: -1; 0 Actual result: Filter is applied. "-1" value is displayed in the FROM field only. "TO' field is empty Extra Details: The same behavior for the following columns in Variants panel:

@mzueva @rodichenko @DmitriiKrasnov

Verified

Tatyana2022 commented 3 years ago

Bug was found: Filtering and sorting are not reset when switching from one dataset to another

Steps to reproduce:

  1. Go to Datasets panel
  2. Select SV_Sample1 dataset
  3. Go to GENE panel
  4. Set gene value in Type column
  5. Apply Asc sorting to Chr column
  6. Go to Datasets panel
  7. Select NC_003071 sataset
  8. Look at Chr column
  9. Look at Type column

Expected result:

  1. Chr column has no sort applied
  2. Type column has no filter applied Filtering and sorting should be reset when switching from one dataset to another Actual result:
  3. Sorting is applied to Chr column
  4. Filtering is applied to Type column

@mzueva @rodichenko @DmitriiKrasnov

Verified

Tatyana2022 commented 3 years ago

Bug was found: The page is reloading when clicking on any of the GENE table fields

@mzueva @rodichenko @DmitriiKrasnov

Verified

Tatyana2022 commented 3 years ago

Bug was found: Reset genes filter button doesn't disappear if all filters are empty

Preconditions:

  1. Go to NGB
  2. Select SV_Sample1 dataset in Datasets panel

Steps to reproduce:

  1. Go to GENES panel
  2. Open Additional menu
  3. Click Show filters button
  4. Enter exon value in the field of Type column
  5. Apply filter
  6. Make sure that Reset genes filter is displayed in the right upper corner
  7. Clear filter in the Type column
  8. Look at right upper corner of the panel

Expected result: Reset filter button isn't displayed in the right upper corner

Actual result: Reset genes filter button displays in the right upper corner when all filters are empty image

@mzueva @rodichenko @DmitriiKrasnov

Verified

Tatyana2022 commented 3 years ago

Bug was found: Sequence query is not filled from context menu blastn / blastp in the GENES table

Steps to reproduce:

  1. Select SV_Sample1 in datasets
  2. Go to GENES panel
  3. Open filters by clicking on Show filters button
  4. Filter Name column by BRCA1 value
  5. Filter Type column by gene value
  6. Right click on displayed result in the table
  7. Click BLASTn search button in the context menu
  8. Look at Query sequence field in the BLAST panel

Expected result: Query sequence field is filled by corresponding sequence of gene

Actual result: Query sequence field is empty

Extra details: The same behavior for BLASTp search This behavior was found for gene with data from bug only. There may be other examples, but they have not been found yet

@mzueva @rodichenko

Verified

Tatyana2022 commented 3 years ago

Bug was found: Nucleotide sequence displays in the BLASTp search

Steps to reproduce:

  1. Select SV_Sample1 dataset
  2. Go to GENES table
  3. Right click on the first row in the table image
  4. Click BLASTp search
  5. Look at Query sequence field in the BLAST panel

Expected result: Query sequence field should be filled by protein sequence

Actual result: Query sequence field is filled by nucleotide sequence image

@mzueva @rodichenko @DmitriiKrasnov

Verified

Tatyana2022 commented 3 years ago

Bug was found: Empty GENE table displays after scrolling the GENE table and opening any panel from context menu

Steps to reproduce:

  1. Select SV_Sample1 dataset
  2. Open GENES panel
  3. Scroll down the table
  4. Right click on any row
  5. Click on any button in context menu(e.g. BLASTn search)
  6. Go back to GENES panel

Expected result: GENES table should be filled Actual result: Empty GENES table is displayed

Extra details: The data is displayed again if you apply a scroll The current behavior was found on MAC only

@rodichenko @mzueva

Tatyana2022 commented 3 years ago

BUG was found: A column is still selected in the additional menu after hiding it on the table

Steps to reproduce:

  1. Select NC_003071 dataset in the Datasets panel
  2. Go to GENE panel
  3. Expand Additional menu
  4. Select any column (e.g.Chromosome)
  5. Open expand menu in the added column
  6. Click on Hide Column
  7. Expand Additional menu

Expected result: Hidden column (e.g. Chromosome) should not be selected in the additional menu Actual result: Hidden column (e.g. Chromosome) is selected in the additional menu Extra details: Hidden column appears again in the table after reloading the page The same behavior in the Variants panel

@mzueva @rodichenko @DmitriiKrasnov

It was decided to leave this behavior as it is for the moment after conversation with @mzueva FYI @DmitriiKrasnov @rodichenko

Tatyana2022 commented 2 years ago

BUG was found: BLASTn tab displays after searching by BLASTp from track and GENE panel

Preconditions:

  1. Remove 'blastSearchRequest' in the Application of DevTools
  2. Close BLAST panel (if opened)
  3. Reload the page

Steps to reproduce:

  1. Open SV_Sample1 in DATASETS panel
  2. Open GENE panel from Views
  3. Open filter in Hamburger menu of GENE panel
  4. Apply filter in Name column by macf1-010 value
  5. Open context menu
  6. Select BLASTp search
  7. Look at BLAST panel

Expected result: BLASTp tab should be displayed in the BLAST panel

Actual result: BLASTn tab displays in the BLAST panel

image

Extra details: The same behavior for searching from track

@mzueva @rodichenko @DmitriiKrasnov

Verified

Tatyana2022 commented 2 years ago

Bug was found: An endless loader displays in the GENE panel after reopening the panel

Preconditions: Close GENES panel if it is opened

Steps to reproduce:

  1. Open SV_Sample1 in DATASETS panel
  2. Open GENES panel from Views menu

Expected result: GENES menu should be loaded with values inside

Actual result: An endless loader displays in the GENES panel

@mzueva @rodichenko @DmitriiKrasnov

Verified

Tatyana2022 commented 2 years ago

Bug was found: An error displays in the console after opening GENES panel from VIEWS menu

@mzueva @rodichenko @DmitriiKrasnov

Verified

Tatyana2022 commented 2 years ago

Bug was found: Error loading sequence for feature displays instead of a Sequence in the Feature Info window

Steps to reproduce:

  1. Select NC_003071 in DATASETS panel
  2. Open GENES panel from Views
  3. Open Info window for any row
  4. Look at Sequence section

Expected result: Sequence should be displayed in the window (e.g. CTTCTTCACTTGTCAGCTCT)

Actual result: No sequence in the Feature info window. There the error is displayed: Error loading sequence for feature

Extra details: 400 error displays in the Console and Network

@mzueva

Verified

Tatyana2022 commented 2 years ago

Bug was found: Duplicate GENE's Type selenocysteine is displayed in the Type column

Steps to reproduce:

  1. Select SV_Sample1 dataset in DATASETS panel
  2. Go to GENES panel
  3. Select Show filters in Hamburger menu
  4. Сlick on the filter input field of the Type column
  5. Look at expanded menu of Type's column

Expected result: Values in the filter must not be repeated. selenocysteine value is only one in the list

Actual result: Type filter has two selenocysteine values image

Extra details: It is impossible to unclick selected selenocysteine type. The same behavior in Feature menu in Gene track

@mzueva

Verified

Tatyana2022 commented 2 years ago

Bug was found: A dash is displayed in the Type column of GENES panel

Steps to reproduce:

  1. Select NC_003071 dataset in DATASETS panel
  2. Go to GENES panel
  3. Open filters in Hamburger menu
  4. Select Id(attr) column
  5. Find row with nc_003071 value
  6. Look at value in TYPE column

Expected result: "Default value" displays in the row Actual result: Dash is displayed in the TYPE column

Extra details: Such values come from the server and it was previously planned that instead of a dash there would be some default value

@sidoruka @mzueva @rodichenko

Fixed and verified

Tatyana2022 commented 2 years ago

Bug was found: Incorrect display of spelling of genes types (3UTR, 5UTR) display in the GENES panel and filters

  1. Select MK024327_data dataset in DATASETS panel
  2. Go to GENES panel
  3. Open filters in Hamburger menu
  4. Find genes with 3UTR and 5UTR values in Type column
  5. Look at found values

Expected result: The search results display in the panel. The correct type names are displayed in the filters and on the panel: 3UTR, 5UTR Actual result: The following names of types display in the panel and in filters: 3%27UTR, 5%27UTR

@mzueva @SilinPavel @sidoruka

SilinPavel commented 2 years ago

Bug was found: Duplicate GENE's Type selenocysteine is displayed in the Type column

Steps to reproduce:

1. Select **SV_Sample1** dataset in DATASETS panel

2. Go to GENES panel

3. Select **Show filters** in **Hamburger menu**

4. Сlick on the filter input field of the Type column

5. Look at expanded menu of Type's column

Expected result: Values in the filter must not be repeated. selenocysteine value is only one in the list

Actual result: Type filter has two selenocysteine values image

Extra details: It is impossible to unclick selected selenocysteine type. The same behavior in Feature menu in Gene track

@mzueva

@Tatyana2022 should be resolved by f501b9b986b15728aceebc08c155c564cde704b4

Verified

SilinPavel commented 2 years ago

Bug was found: A dash is displayed in the Type column of GENES panel

Steps to reproduce:

1. Select **NC_003071** dataset in DATASETS panel

2. Go to **GENES** panel

3. Open filters in **Hamburger** menu

4. Select **Id(attr)** column

5. Find row with **nc_003071** value

6. Look at  value in **TYPE** column

Expected result: "Default value" displays in the row Actual result: Dash is displayed in the TYPE column

Extra details: Such values come from the server and it was previously planned that instead of a dash there would be some default value

@sidoruka @mzueva @rodichenko

@Tatyana2022 @mzueva @rodichenko it is because source feature from gbk was translated to empty feature in gene fine we agreed to remove colored tag for such features on ui

Fixed and verified

Tatyana2022 commented 2 years ago

Bug was found: An error is displayed after sorting by empty column and scrolling down

Steps to reproduce:

  1. Go tom NGB
  2. Select SV_Sample1 dataset in DATASETS panel
  3. Go to GENES panel
  4. Sort Asc by Name column
  5. Scroll to the very bottom

Expected result: The GENES panel should be scrolled down Actual result The GENES table became empty. An error displays in the page:

Extra details: The same behavior for all columns with empty value

@mzueva @SilinPavel @sidoruka

Fixed and verified

SilinPavel commented 2 years ago

Bug was found: An error is displayed after sorting by empty column and scrolling down

Steps to reproduce:

1. Go tom NGB

2. Select **SV_Sample1** dataset in DATASETS panel

3. Go to **GENES** panel

4. Sort Asc by Name column

5. Scroll to the very bottom

Expected result: The GENES panel should be scrolled down Actual result The GENES table became empty. An error displays in the page:

Extra details: The same behavior for all columns with empty value

@mzueva @SilinPavel @sidoruka

@Tatyana2022 should be fixed by 1f73d74dcf1bb4c7500d2a7808445472a43734da

Verified

Tatyana2022 commented 2 years ago

Bug was found: The context menu does not close when the Info window is opened

Steps to reproduce:

  1. Go tom NGB
  2. Select SV_Sample1 dataset in DATASETS panel
  3. Go to GENES panel
  4. Open context menu for any gene by right click
  5. Click on Info button for any gene

Expected result: Info window is opened. Context menu window should be closed Actual result Info window is opened. Context menu displays above the Info window

@mzueva @rodichenko @DmitriiKrasnov

Verified

rodichenko commented 2 years ago

Bug was found: Empty GENE table displays after scrolling the GENE table and opening any panel from context menu

Steps to reproduce:

  1. Select SV_Sample1 dataset
  2. Open GENES panel
  3. Scroll down the table
  4. Right click on any row
  5. Click on any button in context menu(e.g. BLASTn search)
  6. Go back to GENES panel

Expected result: GENES table should be filled Actual result: Empty GENES table is displayed

Extra details: The sam e behavior The data is displayed again if you apply a scroll The current behavior was found on MAC only The same behavior when clicking on the maximise/minimise button in the header @rodichenko @mzueva

@Tatyana2022 85f74e1 should fix that

NShaforostov commented 2 years ago

Docs were added via #566 and located here.