Skip to content

Commit

Permalink
Release 13.0.0 (#201)
Browse files Browse the repository at this point in the history
* Pass drug screen when multiple data types are selected

* Clean up code

* Add additional depletion screen scores

Caleydo/tdp_bi_bioinfodb#1364

* orphan import

* Linting and other fixes

* Linting

* prepare next development version 12.0.1-SNAPSHOT

* Replace `gene_map_ensgs` with idtype mapping

Closes Caleydo/tdp_bi_bioinfodb#419

* Replace `gene_map_ensgs` request with native idtype mapping
* Remove python DB view
* Remove `_id` from typing, as it was not returned by the API and was not used previously

* Remove orphan import

* Fix typo in depletion screen score name

* Allow for the domain of the scores to be auto-inferred (#175)

Co-authored-by: Holger Stitz <[email protected]>

* Fix Typescript compile errors in `selectionChanged` and `parameterCanged` of ranking views (#191)

* Fix TS errors ranking views

The return value of `selectionChanged` and `parameterCanged` has been typed/changed in datavisyn/tdp_core#725

* Fix data type select in welcome tour (#192)

* Fix outdated dist folder (#194)

* Prepare github changes

* Remove circleci

* prepare next dev version

* Update fontawesome

* refactor: Improve Cypress setup and use Cypress commands.js (#169)

Co-authored-by: Florian Engertsberger <[email protected]>
Co-authored-by: Holger Stitz <[email protected]>

* Merge visyn_scripts

* prepare release 13.0.0

Co-authored-by: oltionchampari <[email protected]>
Co-authored-by: Holger Stitz <[email protected]>
Co-authored-by: Champari Oltion <[email protected]>
Co-authored-by: anita-steiner <>
Co-authored-by: Florian Engertsberger <[email protected]>
  • Loading branch information
5 people committed Sep 8, 2022
1 parent 2f541cf commit 5bfc75c
Show file tree
Hide file tree
Showing 245 changed files with 6,815 additions and 421 deletions.
72 changes: 1 addition & 71 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,71 +1 @@
module.exports = {
root: true,
extends: [
"airbnb",
"airbnb-typescript",
"airbnb/hooks",
"eslint:recommended",
"plugin:import/recommended",
"plugin:react/recommended",
"plugin:@typescript-eslint/recommended",
"plugin:jest/recommended",
"plugin:prettier/recommended"
],
plugins: ["react", "@typescript-eslint", "jest"],
ignorePatterns: ["*.js"],
env: {
browser: true,
es6: true,
jest: true
},
globals: {
Atomics: "readonly",
SharedArrayBuffer: "readonly",
},
parser: "@typescript-eslint/parser",
parserOptions: {
// Make sure eslint and VS Code use the same path for the tsconfig.json:
// https://github.com/typescript-eslint/typescript-eslint/issues/251
tsconfigRootDir: __dirname,
project: "./tsconfig.eslint.json"
},
rules: {
// Disables jsx-a11y https://github.com/import-js/eslint-plugin-import/blob/v2.25.4/docs/rules/no-webpack-loader-syntax.md
...Object.keys(require('eslint-plugin-jsx-a11y').rules).reduce((acc, rule) => { acc[`jsx-a11y/${rule}`] = 'off'; return acc }, {}),
"class-methods-use-this":"off",
"linebreak-style": "off",
"no-continue": "off",
"no-multi-assign": "warn",
"no-nested-ternary": "off",
"no-param-reassign": ["error", { "props": false }],
"no-return-assign": "warn",
"no-restricted-syntax": "off",
"no-plusplus": "off",
"no-prototype-builtins": "warn",
"no-minusminus": "off",
"no-underscore-dangle": "off",
"max-classes-per-file": "off",
"no-param-reassign": "warn",
"import/no-extraneous-dependencies": "off",
// Disable the following 2 lines because to allow webpack file-loaders syntax
"import/no-webpack-loader-syntax": "off",
"import/no-unresolved": "off",
"import/prefer-default-export": "off",
"import/order": "error",
"prefer-destructuring": ["warn", {"object": true, "array": false}],
"prefer-promise-reject-errors": "warn",
"prefer-spread": "warn",
"@typescript-eslint/ban-ts-comment": "warn",
"react/destructuring-assignment": "warn",
"react/jsx-props-no-spreading": "off",
"react/no-unused-class-component-methods": "warn",
"react/prop-types": "off",
"react/require-default-props": "off",
"react/static-property-placement": ["warn", "property assignment", {
childContextTypes: "static getter",
contextTypes: "static public field",
contextType: "static public field",
displayName: "static public field",
}]
}
};
module.exports = require('visyn_scripts/config/eslintrc.template')({ tsconfigRootDir: __dirname });
10 changes: 9 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
/.idea
/lib/
/build/
/dist/tsBuildInfoFile
/dist_python/
*.egg-info/
*.egg
Expand All @@ -27,3 +26,12 @@ node_modules/
/tests/**/*.map
*.css
package-lock.json
/yarn.lock
# yarn
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions
7 changes: 1 addition & 6 deletions .prettierrc.js
Original file line number Diff line number Diff line change
@@ -1,6 +1 @@
module.exports = {
"endOfLine": "auto",
"singleQuote": true,
"trailingComma": "all",
"printWidth": 160
};
module.exports = require('visyn_scripts/config/prettierrc.template')
783 changes: 783 additions & 0 deletions .yarn/releases/yarn-3.2.2.cjs

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions .yarnrc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
yarnPath: .yarn/releases/yarn-3.2.2.cjs
nodeLinker: node-modules
3 changes: 0 additions & 3 deletions .yo-rc.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,6 @@
"today": "Sun, 06 Nov 2016 23:21:43 GMT",
"app": "",
"clientOnly": false,
"entries": {
"app": "./src/index.ts"
},
"libraryAliases": {
"d3": "d3/d3",
"scrollTo": "jquery.scrollto/jquery.scrollTo.js"
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ tdp_publicdb
=====================
[![Phovea][phovea-image-client]][phovea-url] [![Phovea][phovea-image-server]][phovea-url] [![NPM version][npm-image]][npm-url] [![Build Status][circleci-image]][circleci-url]

This repository contains the database connector to the bioinfoDB.hg38 database and the respective SQL queries to drive the [tdp_gene](https://github.com/Caleydo/tdp_gene/) views and visualizations.
This repository contains the database connector to the bioinfoDB.hg38 database and the respective SQL queries to show the views and visualizations.

Installation
------------
Expand Down
6 changes: 6 additions & 0 deletions cypress/integration/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
export * from './long-running-score.spec';
export * from './session_all_genes.spec';
export * from './session_all_celllines.spec';
export * from './session_all_tissues.spec';

export * from './ordino-video-test.spec';
43 changes: 43 additions & 0 deletions cypress/integration/long-running-score.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
// https://www.youtube.com/watch?v=JZIIf-k852g&t=1s
it('Long Running Score', function() {
cy.visit(Cypress.env('host'));
// Login
cy.get('[data-testid=ordino-navbar] [data-testid=start-analysis-button]').click();

cy.login(); // use Cypress command registerd in Ordino app

// Show you can select single genes if you wanted
cy.scrollElementIntoCenter('[data-testid=dataset-card-genes-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click()
cy.get('[data-testid=dataset-card-genes-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click()
// wait intentionally a few seconds
cy.wait(2000)
cy.get('[data-testid=dataset-card-genes-dataset] [data-testid=human-link]').click();

// Open Lineup ranking
// Define api calls to wait:
cy.intercept('/api/tdp/db/publicdb/gene/desc').as('gene_desc');
cy.intercept('/api/tdp/db/publicdb/gene/filter?filter_species=human&filter_panel=normal+chromosome+protein+coding+human+genes').as('human_genes');
cy.get('[data-testid=normal-chromosome-protein-coding-human-genes-button]').click();
cy.wait('@gene_desc');
cy.wait('@human_genes');
cy.waitLineupReadyOrdino(0)

// Add column
cy.get('[data-testid=add-column-button]').click();
cy.wait(2000);
cy.get('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span').click();
cy.select2SingleSelect("data-type", "Relative Copy Number")
cy.formSelect("aggregation", "Boxplot")
cy.get('[data-testid=primary-dialog-button]').click();
cy.checkScoreColLoadedOrdino(0, ['Relative Copy Number', 'Boxplot'], 9)

// Add column
cy.get('[data-testid=add-column-button]').click();
cy.get('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span').click();
cy.formSelect("aggregation", "Frequency")
cy.formSelect("comparison-operator", "> greater than")
cy.get(':nth-child(5) > .form-control').clear();
cy.get(':nth-child(5) > .form-control').type('4');
cy.get('[data-testid=primary-dialog-button]').click();
cy.checkScoreColLoadedOrdino(0, ['Frequency > 4'], 10)
})
151 changes: 151 additions & 0 deletions cypress/integration/ordino-video-test.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
import { cy, it, Cypress } from 'local-cypress';

// https://www.youtube.com/watch?v=JZIIf-k852g&t=1s
it('ordino video', function() {
cy.visit(Cypress.env('host'));

cy.get('[data-testid=ordino-navbar] [data-testid=start-analysis-button]').click();

cy.login(); // use Cypress command registerd in Ordino app

// Show you can select single genes if you wanted
cy.scrollElementIntoCenter('[data-testid=dataset-card-genes-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click()
cy.get('[data-testid=dataset-card-genes-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click()
// wait intentionally a few seconds
cy.wait(2000)
cy.get('[data-testid=dataset-card-genes-dataset] [data-testid=human-link]').click();

// Open Lineup ranking
// Define api calls to wait:
cy.intercept('/api/tdp/db/publicdb/gene/desc').as('gene_desc');
cy.intercept('/api/tdp/db/publicdb/gene/filter?filter_species=human&filter_panel=normal+chromosome+protein+coding+human+genes').as('human_genes');
cy.get('[data-testid=normal-chromosome-protein-coding-human-genes-button]').click();
cy.wait('@gene_desc');
cy.wait('@human_genes');
cy.waitLineupReadyOrdino(0)

// Add column
cy.get('[data-testid=add-column-button]').click();
cy.get('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span').click();
cy.select2MultiSelect("cell-line", "HCC1954")
cy.select2MultiSelect("data-type", "Relative Copy Number")
cy.get('[data-testid=primary-dialog-button]').click();
cy.checkScoreColLoadedOrdino(0, ['HCC1954', 'Relative Copy Number'], 9);

// Sort by column
cy.get('[data-testid=viewWrapper-0] > .view > .inner > .tdp-view > :nth-child(1) > .le > .le-header > .le-thead > section:nth-last-child(-n+1) > .lu-toolbar > .lu-action-sort').click();

// Show some information
cy.get('[data-testid="(un)collapse-button"] > .fas').click();
// intentionally wait 1 second
cy.wait(1000)
// filter with histogram not possible
cy.get('[data-testid="(un)collapse-button"] > .fas').click();

// Add column
cy.get('[data-testid=add-column-button]').click();
cy.get('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span').click();
cy.select2MultiSelect("cell-line", "HCC1954")
cy.select2MultiSelect("data-type", "Normalized Gene Expression (TPM Values)")
cy.get('[data-testid=primary-dialog-button]').click();
cy.checkScoreColLoadedOrdino(0, ['HCC1954', 'Normalized Gene Expression (TPM Values)'], 10)

// Add column
cy.get('[data-testid=add-column-button]').click();
cy.get('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(5) > span').click();
cy.select2MultiSelect("cell-line", "HCC1954")
cy.select2MultiSelect("data-type", "DRIVE RSA (ER McDonald III et al., Cell, 2017)")
cy.get('[data-testid=primary-dialog-button]').click();
cy.checkScoreColLoadedOrdino(0, ['HCC1954', 'DRIVE RSA (ER McDonald III et al., Cell, 2017)'], 11)

// Invert column
// Here the title should be used. For some reason cypress has problmes, because there is a " character in the title. For now I use the data-id
cy.get('[data-id="col10"] > .lu-toolbar > .lu-action-more').click();
cy.get('.lu-action-data-mapping > span').click();
cy.get('.browser-default').select('linear_invert');
cy.get('.lu-dialog-buttons > [type="submit"]').click();

// Add column
cy.get('[data-testid=add-column-button]').click();
cy.get('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span').click();
cy.formSelect("row-1", "Tumor Type")
cy.select2MultiSelect("row-1", "breast carcinoma")
cy.select2SingleSelect("data-type", "Normalized Gene Expression (TPM Values)")
cy.get('[data-testid=primary-dialog-button]').click();
cy.checkScoreColLoadedOrdino(0, ['Tumor Type', 'breast carcinoma', 'Normalized Gene Expression (TPM Values)'], 12)

// Add column
cy.get('[data-testid=add-column-button]').click();
cy.wait(2000);
cy.get('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span').click();
cy.select2SingleSelect("data-type", "Relative Copy Number")
cy.formSelect("aggregation", "Boxplot")
cy.get('[data-testid=primary-dialog-button]').click();
cy.checkScoreColLoadedOrdino(0, ['Relative Copy Number', 'Boxplot'], 13)

// Add column
cy.get('[data-testid=add-column-button]').click();
cy.get('[data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(2) > span').click();
cy.formSelect("aggregation", "Frequency")
cy.formSelect("comparison-operator", "> greater than")
cy.get(':nth-child(5) > .form-control').clear();
cy.get(':nth-child(5) > .form-control').type('4');
cy.get('[data-testid=primary-dialog-button]').click();
cy.checkScoreColLoadedOrdino(0, ['Frequency > 4'], 14)

// Select elements and click on detail views
cy.waitLineupReadyOrdino(0)
cy.get('[data-index="0"] > .lu-renderer-selection').click();
cy.get('[data-testid=celllinedb_expression_vs_copynumber]').click();
cy.waitTdpNotBusy()
cy.waitLineupReadyOrdino(0)
cy.wait(2000)
// cy.get('[data-index="6"] > .lu-renderer-selection').click();
// cy.waitTdpNotBusy()
// cy.waitLineupReadyOrdino(0)
// cy.wait(2000)
cy.get('[data-testid=targetvalidation]').click();
cy.waitTdpNotBusy()
cy.wait(2000)
cy.get('[data-testid=ensembl_org]').click();
cy.waitTdpNotBusy()
cy.wait(2000)
cy.get('[data-testid=copynumbertable]').click();
cy.waitTdpNotBusy()
cy.wait(2000)

// Sort and filter columns
cy.get('[data-testid=viewWrapper-1] > .view > .inner > .tdp-view > :nth-child(1) > .le > .le-header > .le-thead > section:nth-last-child(-n+1) > .lu-toolbar > .lu-action-sort').click();
cy.get('[title="Tumor Type"] > .lu-toolbar > .lu-action-filter').click();
cy.get('.lu-dialog-table > :nth-child(1) > :nth-child(2) > div').click();
cy.get('.lu-dialog-table > :nth-child(1) > input').uncheck();
cy.get(':nth-child(6) > :nth-child(2) > .lu-dialog-filter-table-entry-label').click();
cy.get('.lu-dialog-table > :nth-child(6) > input').check();
cy.get('.lu-dialog-buttons > [type="submit"]').click();

// Add column
cy.get('[data-testid=viewWrapper-1] [data-testid=side-panel-wrapper] [data-testid=lu-adder-div] [data-testid=add-column-button]').click();
cy.get('[data-testid=viewWrapper-1] > .view > .inner > .tdp-view > [data-testid=side-panel-wrapper] > .panel-header > :nth-child(2) > [data-testid=lu-adder-div] > .lu-search > .lu-search-list > :nth-child(2) > ul > :nth-child(1) > span').click();
cy.select2MultiSelect("gene-symbol", ["BRCA1", "BRCA2"])
cy.select2MultiSelect("data-type", "AA Mutated")
cy.get('[data-testid=primary-dialog-button]').click();
cy.checkScoreColLoadedOrdino(1, ['BRCA1', 'AA Mutated'], 10)
cy.checkScoreColLoadedOrdino(1, ['BRCA2', 'AA Mutated'], 10)

cy.waitLineupReadyOrdino(1)
cy.get('[data-testid=viewWrapper-1] [data-index="0"] > .lu-renderer-selection').click();
cy.get('[data-testid=viewWrapper-1] [data-index="12"] > .lu-renderer-selection').click();
cy.get('[data-testid=cosmic]').click();
// Intentionally wait 2 seconds
cy.waitTdpNotBusy()
cy.wait(2000)
cy.get('[data-testid=show] [data-testid=form-select]').select('687455');
// Intentionally wait 2 seconds
cy.waitTdpNotBusy()
cy.wait(2000)
cy.get('[data-testid=ordino_sessions_shortcut-link]').click();
cy.get('[data-testid=current-session-sessionscard] [data-testid=ordino0] [data-testid=save-button]').click();
cy.get('[data-testid=agree-input]').check();
cy.get('[data-testid=primary-dialog-button]').click();
cy.get('[data-testid=ordino_sessions_tab] [data-testid=close-button]').click();
})
24 changes: 24 additions & 0 deletions cypress/integration/session_all_celllines.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
it('Load all Celllines', function() {
cy.visit(Cypress.env('host'));

// Login
cy.get('[data-testid=ordino-navbar] [data-testid=start-analysis-button]').click();

cy.login(); // use Cypress command registerd in Ordino app

// Show you can select single genes if you wanted
cy.scrollElementIntoCenter('[data-testid=dataset-card-cellline-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click()
cy.get('[data-testid=dataset-card-cellline-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click()
// wait intentionally a few seconds
cy.wait(2000)
cy.get('[data-testid=dataset-card-cellline-dataset] [data-testid=human-link]').click();

// Open Lineup ranking
// Define api calls to wait:
cy.intercept('/api/tdp/db/publicdb/cellline/desc').as('cellline_desc');
cy.intercept('/api/tdp/db/publicdb/cellline/filter?filter_species=human&filter_panel=CCLE').as('human_cellline');
cy.get('[data-testid=ccle-button]').click();
cy.wait('@cellline_desc');
cy.wait('@human_cellline');
cy.waitLineupReadyOrdino(0)
});
24 changes: 24 additions & 0 deletions cypress/integration/session_all_genes.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
it('Load all Genes', function() {
cy.visit(Cypress.env('host'));

// Login
cy.get('[data-testid=ordino-navbar] [data-testid=start-analysis-button]').click();

cy.login(); // use Cypress command registerd in Ordino app

// Show you can select single genes if you wanted
cy.scrollElementIntoCenter('[data-testid=dataset-card-genes-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click()
cy.get('[data-testid=dataset-card-genes-dataset] [data-testid=human-tab] [data-testid=ordino-dataset-searchbox] [data-testid=async-paginate-input]').click()
// wait intentionally a few seconds
cy.wait(2000)
cy.get('[data-testid=dataset-card-genes-dataset] [data-testid=human-link]').click();

// Open Lineup ranking
// Define api calls to wait:
cy.intercept('/api/tdp/db/publicdb/gene/desc').as('gene_desc');
cy.intercept('/api/tdp/db/publicdb/gene/filter?filter_species=human&filter_panel=normal+chromosome+protein+coding+human+genes').as('human_genes');
cy.get('[data-testid=normal-chromosome-protein-coding-human-genes-button]').click();
cy.wait('@gene_desc');
cy.wait('@human_genes');
cy.waitLineupReadyOrdino(0)
});
Loading

0 comments on commit 5bfc75c

Please sign in to comment.