-
Notifications
You must be signed in to change notification settings - Fork 602
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clickhouse mode of study view #11224
Merged
Merged
Changes from all commits
Commits
Show all changes
150 commits
Select commit
Hold shift + click to select a range
bd2918f
:heavy_plus_sign: Add infra to support multi db and Columnar DataSour…
haynescd 86bd2cc
Add Columnar support for Mybatis
haynescd 9db2295
Add Columnar Study View Controller /api/column-store
haynescd b4a8a38
Feature/ch/update poc base branch (#10776)
haynescd 6485aa3
:white_check_mark: Add Unit test for StudyViewMapper Clickhouse
haynescd 12b7b07
use regular views instead of materialized views (#10793)
onursumer 83f2743
Feature/mutated genes AlterationFilter and Fix unit test (#10803)
haynescd 63858cf
Add missing POC clinical data binning function (#10778)
onursumer b5fb29e
Create sample materialized view and use it (#10822)
alisman f566075
Feature/mutated genes total profiled counts and gene panels (#10824)
haynescd a03ec54
RFC80:density plot endpoint(#10837)
uklineale 1051dea
Fix clinical data counts query/filter using new derived table (#10833)
alisman ed26ca7
Molecular-profile-counts service implementation (#10840)
alisman 2015f69
Fix clinical data scatterplot (point at new derived cd table) (#10846)
alisman 6e8e6c7
Rfc80/add cna genes endpoint (#10845)
haynescd 5b0f2bd
:sparkles: Add StructuralVariant-genes endpoint (#10854)
haynescd 3cac3a2
Implement study view sample-lists-counts endpoint in Clickhouse (#10849)
alisman 3dd1e2a
Fix class import (#10856)
alisman a7af899
Move ClinicalCategoricalFilter to repository (#10847)
onursumer ab3000a
Rfc80/fix patient level filtering for alteration counts endpoints (#1…
haynescd fc03406
:bug: Fix totalCount calculation when WES not available (#10858)
haynescd 604568f
Consolidate SQL files used to create CH Tables (#10867)
haynescd a569ec6
Demo rfc80 poc violin plot (#10863)
uklineale 783b608
replace sample_mv references with sample_derived (#10880)
onursumer fc2f99d
:wrench: Update Sonar Cloud Token (#10888)
haynescd d50433d
Simplify clinical data binning related SQL (#10823)
onursumer 0961680
Fix patient_derived table population (patient stable id was getting b…
alisman 0a28546
Always load frontend over https (localdev mode) (#10901)
alisman 827d587
Rfc80/clinical event timeline endpoint (#10899)
haynescd 8ab5f25
Fix alteration count services (#10911)
haynescd 94b431c
Rfc80/treatments patients endpoint (#10903)
haynescd dbaa897
Hide replacement clickhouse endpoints from swagger (except new treatm…
alisman 89847e6
Rfc80/sample treatment endpoint (#10927)
haynescd 71cf574
Rfc80/update open api annotation for sampleTreatment Endpoint (#10929)
haynescd d622c4e
Molecular-profile-counts-service (#10934)
alisman 44e7c55
Add entrez_id to alteration Count endpoints (#10936)
haynescd 21afb8b
Demo rfc80 poc mutation data counts & genomic data counts (#10807)
fuzhaoyuan 0307a90
Add tests for case list sample counts endpoint (#10935)
alisman 6ff724d
add unit tests for clinical data counts sql (#10933)
onursumer ff7ecbc
Implement custom-data-bin-counts endpoint (#10827)
gblaih 3a975aa
normalize clinical data (#10943)
onursumer c34c28e
improve numerical clinical data filter (#10951)
onursumer c57362d
Update Treatment Endpoint to handle event_type TREATMENT, previously …
haynescd c83fc86
Remove need to filter via Patient-IDs, All filters utilize sample-ids…
haynescd 8cb4ec7
add api test specs to backend (#10979)
alisman 8712aed
fix api test merge writer (#10980)
alisman 2b8499d
Genomic and Generic Assay bin counts endpoints (#10964)
dippindots cb7fb2d
Fix clinical data NA counts for multiple studies (#10978)
onursumer 3c95157
Demo rfc80 poc mutation data count unit tests (#10981)
fuzhaoyuan b9afc4a
Delete custom specs (#10987)
alisman 2900e6f
Fix GenomicDataFilterTest
dippindots 8c6b5ae
Rfc80/add tests mutated-genes,cna-genes,structural-variants filters (…
haynescd c290bcd
Set custom http header with elapsed time on all api endpoints (#10994)
alisman 64d263f
fix clinical data NA count logic (#10991)
onursumer beb1ade
Remove Sample Treatments with no counts (#10995)
haynescd a46d7e6
All custom header elapsed-time on CORS headers (#10999)
alisman 0c22ed3
Remove caching from cd-bin-counts (#11001)
alisman 65a97d3
We have to cast all numbers to floats in Clickhouse SQL in order to c…
alisman 69d712a
Merge Alteration Counts that have conflicting HugoSymbols for Study V…
haynescd aec32c0
Add clickhouse custom data endpoints (#10963)
gblaih da299c5
Add samples field to custom filters to allow fetching samples without…
gblaih ed1165f
Add support for NA in genomic-data-bin-counts (#11006)
alisman 218bf61
Update to add QValue for Alteration Count Services (#11034)
haynescd c9bd23b
Demo rfc80 poc na count for generic assay (#11039)
fuzhaoyuan 70fb74f
Normalize data counts in a generic case-insensitive way (#11037)
onursumer 2f48ea7
filter out null labels when counting sample lists (#11045)
onursumer 29be4af
Rfc80/add na clinical data filtering (#11050)
haynescd a396f71
Add generic-assay-data-counts endpoint (#11059)
haynescd bd40799
Update SQL to remove duplicate Reference Genome entry (#11060)
haynescd e8ee142
Add checks to prevent null pointer on alterations in geneFilterQuery …
haynescd f88d85e
remove duplicate attributes when calculating missing NA (#11076)
onursumer e24a413
Re-apply caching to all study view service methods (#11091)
alisman 1dd6462
fetch missing patient clinical data for violin plot (#11092)
onursumer 3fc8001
Update to allow Qvalue when filtered cohort returns samples from a si…
haynescd fc691d0
Add new property for clickhouse cache enabling (#11109)
gblaih 09e0917
Fix trim trailing error (#11085)
fuzhaoyuan 928f5b1
SQL variable format clean up (#11110)
fuzhaoyuan 302fdb4
ClinicalViolinPlot Serializable (#11124)
fuzhaoyuan b888b7f
Add isUnfiltered condition to cacheable clickhouse methods (#11120)
gblaih 30b45c4
Fix violin plot sample filtering and counting issues (#11122)
onursumer 1cfd84d
fetch missing patient clinical data for the density plot (#11132)
onursumer 4efde5b
Fix profiling count issues in legacy (#11105)
alisman 1934161
add internal id to sample and clinical data SQL queries (#11139)
onursumer aa04102
use case-insensitive ILIKE instead of case-sensitive LIKE when lookin…
onursumer 5b6f136
ignore non-numeric values for violin plot to prevent number format ex…
onursumer 6e2371f
Rfc80/clinical data counts refactor (#11084)
haynescd eff0c23
Filter out Mutations with Status UnCalled for Counts (#11166)
haynescd 1b6d814
Update Profiled counts to use WES count when gene panel is not available
haynescd 136dac2
Update to handle use case when sampleProfileWithoutGenePanel is 0 the…
haynescd bfab365
add custom driver filtering unit tests
076ecf6
add missing study filter param to clickhouse method for caching condi…
e00f084
CNA profile counts should only count samples once
alisman 14b6a65
Add back NA counts when corresponding samples are filtered out of stu…
alisman 5804a71
Update generic assay table schema (#11189)
fuzhaoyuan c56d3ea
Do not used prepared statements for the studyid lists (#11191)
alisman a4ced11
Api Tests Config for CircleCI (#11188)
zainasir 74209d4
Revert "add custom driver filtering unit tests" (#11203)
alisman 85329b6
Update Total profile Count to filter on genetic profile (#11198)
haynescd 01b72a9
Add tests for profiled counts (#11190)
gblaih 543f115
Remove test failing due to legacy miscount (#11205)
alisman 4e3dc8f
cast all data filter start and end values to float (#11207)
onursumer 242ca4d
Split clickhouse integration tests into separate files for each metho…
gblaih cad5ab8
Adding option for extracting study ids from sample identifiers for cl…
dippindots 3174391
Add missing DROP TABLE statements (#11211)
sheridancbio db43621
Use PR-specific image for circleci api tests (#11217)
zainasir 1e95a1c
Pretty print portal info in api-test logs
zainasir ce3354d
Add a frontend prop for clickhouse mode (#11219)
alisman a6ace50
require approval for restricted tests
zainasir ef25b13
rename approval job for circleci tests
zainasir 53c7126
add integration tests for cna-genes and sv-genes (#11221)
gblaih 2b45019
Fix Rebase issues with master
64fe5d0
Merge branch 'master' into demo-rfc80-poc
haynescd b44eb6e
Use upstream repo for api-tests
zainasir b780409
Fix swagger decorators for rfc80 clickhouse controller (#11230)
alisman 2aac75e
check for non-numerical values in numerical clinical data count filter
onursumer 9075f37
unify numerical data filters in one sql
onursumer 17a5dad
do not normalize attribute value if not NA
onursumer c97fc06
add unit tests
onursumer 97c5c5e
Add TransactionManager to handle lazy loading of data from db (cursor…
haynescd 219c111
add unit tests for logic in service and repository methods
cc16f2c
fix error with case list counts method
b72ddaa
Add categorical patient level filtering for generic-assay-data-counts…
fuzhaoyuan 04c9b42
Fix unfiltered method call in cacheable condition (#11250)
alisman 68dfdaf
skip web-and-data image build for api tests (#11255)
zainasir 955f85e
run cbioportal instance in clickhouse mode for apitests
zainasir 8828759
pass env var to circleci environment
zainasir a2cc213
Merge pull request #11257 from cBioPortal/fix/circleci-clickhouse
zainasir a8d1e95
Update cBioPortal to dynamically load ch Components only when propert…
haynescd b31fe9e
Optimize bins filtering by merging bins (#11248)
fuzhaoyuan 94e6381
Fix CNA query (#11265)
onursumer 9c109f6
make CaseListDataCount serializable (#11267)
onursumer 1107607
Fix CH primary keying of genetic-alteration-derived (#11268)
alisman 4f04525
Make sure study ids exist before using them in filter SQL (#11272)
onursumer a0b4cd2
automate connection checks
zainasir fa1e4f3
Merge pull request #11276 from cBioPortal/fix/circleci-test-script
zainasir d761c96
skip build step if image exists
zainasir 7390662
streamline shell checks
zainasir 1bcd1c9
fix docker tags
zainasir 5128ae5
use double quotes
zainasir 5008d5f
Merge pull request #11277 from cBioPortal/fix/apitest-docker-build
zainasir 540b57d
Add more unit tests for clickhouse service related methods (#11262)
gblaih fca2f1f
rollback gene panel mapper changes from profiling counts fix (#11292)
gblaih 7ea2fe3
Custom sample filtering performance and security improvement (#11274)
dippindots 07ef648
Revert "Custom sample filtering performance and security improvement …
alisman dfa4740
Merge branch 'master' into demo-rfc80-poc
alisman 79f5261
add a comment for elapsed-time header intercept (#11297)
alisman b8090ea
Update api-tests to use master branch of cbioportal-frontend
zainasir a7d0d14
simplify circleci apitests dependencies
zainasir 6d58f8f
Custom sample filtering performance and security improvement (#11296)
dippindots 8703b87
Update rfc80 poc (#11298)
haynescd File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -223,6 +223,134 @@ jobs: | |
DOCKER_IMAGE_SESSION_SERVICE: cbioportal/session-service:0.5.0 | ||
FRONTEND_TEST_DO_NOT_LOAD_EXTERNAL_FRONTEND: true | ||
|
||
pull_cbioportal_test_codebase: | ||
machine: | ||
image: ubuntu-2204:2024.08.1 | ||
resource_class: medium | ||
working_directory: /tmp/repos | ||
steps: | ||
- run: | ||
name: Checkout cbioportal/cbioportal-test | ||
environment: | ||
TEST_REPO_URL: https://github.com/cBioPortal/cbioportal-test | ||
command: | | ||
git clone ${TEST_REPO_URL} | ||
- persist_to_workspace: | ||
root: /tmp/repos | ||
paths: | ||
- cbioportal-test | ||
|
||
pull_cbioportal_frontend_codebase: | ||
machine: | ||
image: ubuntu-2204:2024.08.1 | ||
resource_class: medium | ||
working_directory: /tmp/repos | ||
steps: | ||
- run: | ||
name: Checkout cbioportal/cbioportal-frontend | ||
environment: | ||
FRONTEND_REPO_URL: https://github.com/cBioPortal/cbioportal-frontend.git | ||
FRONTEND_REPO_BRANCH: master | ||
command: | | ||
git clone -b ${FRONTEND_REPO_BRANCH} --single-branch ${FRONTEND_REPO_URL} | ||
- persist_to_workspace: | ||
root: /tmp/repos | ||
paths: | ||
- cbioportal-frontend | ||
|
||
build_push_image: | ||
machine: | ||
image: ubuntu-2204:2024.08.1 | ||
resource_class: medium | ||
working_directory: /tmp/repos | ||
steps: | ||
- attach_workspace: | ||
at: /tmp/repos | ||
- checkout: | ||
path: /tmp/repos/cbioportal | ||
- run: | ||
name: Build cBioPortal docker image | ||
environment: | ||
DOCKER_REPO: cbioportal/cbioportal-dev | ||
command: | | ||
export DOCKER_TAG=$CIRCLE_SHA1 | ||
URL="https://hub.docker.com/v2/repositories/cbioportal/cbioportal-dev/tags/$DOCKER_TAG-web-shenandoah" | ||
TAG_FOUND=$(curl -s $URL | jq -r .name) | ||
if [ $TAG_FOUND = "$DOCKER_TAG-web-shenandoah" ]; then | ||
echo "Image already exists. Skipping build step!" | ||
exit 0 | ||
fi | ||
cd cbioportal-test | ||
./scripts/build-push-image.sh --src=/tmp/repos/cbioportal --push=true --skip_web_and_data=true | ||
EXISTS=$(docker manifest inspect $DOCKER_REPO:$DOCKER_TAG-web-shenandoah > /dev/null; echo $?) | ||
if [ $EXISTS -eq 0 ]; then | ||
echo "Build succeeded!" | ||
else | ||
echo "Build failed!" | ||
exit 1 | ||
fi | ||
|
||
run_api_tests: | ||
machine: | ||
image: ubuntu-2204:2024.08.1 | ||
docker_layer_caching: true | ||
resource_class: large | ||
working_directory: /tmp/repos | ||
steps: | ||
- attach_workspace: | ||
at: /tmp/repos | ||
- checkout: | ||
path: /tmp/repos/cbioportal | ||
- run: | ||
name: Instantiate a cbioportal instance | ||
environment: | ||
DOCKER_REPO: cbioportal/cbioportal-dev | ||
APP_CLICKHOUSE_MODE: "true" | ||
command: | | ||
cd cbioportal-test | ||
export DOCKER_IMAGE_CBIOPORTAL=$DOCKER_REPO:$CIRCLE_SHA1-web-shenandoah | ||
nohup ./scripts/docker-compose.sh >> /tmp/repos/docker-compose-logs.txt 2>&1 & | ||
- run: | ||
name: Wait for cbioportal to be live at localhost | ||
command: | | ||
cd cbioportal-test | ||
./utils/check-connection.sh --url=localhost:8080 | ||
- run: | ||
name: Confirm cbioportal config matches PR | ||
command: | | ||
cd cbioportal | ||
echo "Matching gitCommitId..." | ||
INSTANCE_COMMIT_ID=$(curl -s http://localhost:8080/api/info | jq -r '.["gitCommitId"]') | ||
PR_COMMIT_ID=$CIRCLE_SHA1 | ||
if [ "$INSTANCE_COMMIT_ID" = "$PR_COMMIT_ID" ]; then | ||
echo "gitCommitId successfully matched!" | ||
echo "cBioPortal is ready:" | ||
curl -s http://localhost:8080/api/info | jq | ||
exit 0 | ||
else | ||
echo "gitCommitIds do not match!" | ||
echo "Instance Commit ID: $INSTANCE_COMMIT_ID" | ||
echo "PR Commit ID: $PR_COMMIT_ID" | ||
exit 1 | ||
fi | ||
- run: | ||
name: Run API Tests | ||
environment: | ||
API_TEST_HOST: http://localhost:8080 | ||
BACKEND_ROOT: /tmp/repos/cbioportal | ||
command: | | ||
cd cbioportal-frontend | ||
nvm install 15.2.1 | ||
nvm use 15.2.1 | ||
npm install -g [email protected] | ||
yarn --ignore-engines | ||
yarn run apitests | ||
|
||
- store_artifacts: | ||
path: /tmp/repos/cbioportal-test/web-metadata.json | ||
- store_artifacts: | ||
path: /tmp/repos/docker-compose-logs.txt | ||
|
||
|
||
workflows: | ||
version: 2 | ||
|
@@ -238,3 +366,22 @@ workflows: | |
- build_backend | ||
- pull_frontend_codebase | ||
- install_yarn | ||
api_tests: | ||
jobs: | ||
- pull_cbioportal_test_codebase | ||
- pull_cbioportal_frontend_codebase | ||
- wait_for_approval: | ||
type: approval | ||
requires: | ||
- pull_cbioportal_test_codebase | ||
- pull_cbioportal_frontend_codebase | ||
- build_push_image: | ||
context: | ||
- api-tests | ||
requires: | ||
- wait_for_approval | ||
- run_api_tests: | ||
context: | ||
- api-tests | ||
requires: | ||
- build_push_image |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,8 @@ | ||
package org.cbioportal.model; | ||
|
||
public enum AlterationType { | ||
MUTATION, | ||
COPY_NUMBER_ALTERATION | ||
MUTATION_EXTENDED, | ||
COPY_NUMBER_ALTERATION, | ||
STRUCTURAL_VARIANT, | ||
GENERIC_ASSAY; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
4 changes: 3 additions & 1 deletion
4
src/main/java/org/cbioportal/model/ClinicalViolinPlotBoxData.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
3 changes: 2 additions & 1 deletion
3
src/main/java/org/cbioportal/model/ClinicalViolinPlotData.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
4 changes: 3 additions & 1 deletion
4
src/main/java/org/cbioportal/model/ClinicalViolinPlotIndividualPoint.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
3 changes: 2 additions & 1 deletion
3
src/main/java/org/cbioportal/model/ClinicalViolinPlotRowData.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@alisman do we want to keep this?