diff --git a/src/main/java/org/cbioportal/persistence/helper/StudyViewFilterHelper.java b/src/main/java/org/cbioportal/persistence/helper/StudyViewFilterHelper.java index 14c77b47f04..a5d16a6de94 100644 --- a/src/main/java/org/cbioportal/persistence/helper/StudyViewFilterHelper.java +++ b/src/main/java/org/cbioportal/persistence/helper/StudyViewFilterHelper.java @@ -1,108 +1,48 @@ package org.cbioportal.persistence.helper; -import org.cbioportal.model.ClinicalAttribute; -import org.cbioportal.persistence.enums.ClinicalAttributeDataSource; -import org.cbioportal.web.parameter.CategorizedClinicalDataCountFilter; +import org.cbioportal.web.parameter.ClinicalDataFilter; import org.cbioportal.web.parameter.CustomSampleIdentifier; import org.cbioportal.web.parameter.StudyViewFilter; import org.springframework.lang.NonNull; import org.springframework.lang.Nullable; import java.util.ArrayList; -import java.util.EnumMap; import java.util.List; -import java.util.Map; import java.util.Objects; public final class StudyViewFilterHelper { public static StudyViewFilterHelper build(@Nullable StudyViewFilter studyViewFilter, - @Nullable Map> clinicalAttributesMap, - @Nullable List customDataSamples) { + @Nullable List customDataSamples) { if (Objects.isNull(studyViewFilter)) { studyViewFilter = new StudyViewFilter(); } - if (Objects.isNull(clinicalAttributesMap)) { - clinicalAttributesMap = new EnumMap<>(ClinicalAttributeDataSource.class); - } if (Objects.isNull(customDataSamples)) { customDataSamples = new ArrayList<>(); } - return new StudyViewFilterHelper(studyViewFilter, clinicalAttributesMap, customDataSamples); + return new StudyViewFilterHelper(studyViewFilter, customDataSamples); } - + private final StudyViewFilter studyViewFilter; - private final CategorizedClinicalDataCountFilter categorizedClinicalDataCountFilter; private final List customDataSamples; - private final boolean applyPatientIdFilters; - - private StudyViewFilterHelper(@NonNull StudyViewFilter studyViewFilter, @NonNull Map> clinicalAttributesMap, - @NonNull List customDataSamples) { + private StudyViewFilterHelper(@NonNull StudyViewFilter studyViewFilter, + @NonNull List customDataSamples) { this.studyViewFilter = studyViewFilter; - this.categorizedClinicalDataCountFilter = extractClinicalDataCountFilters(studyViewFilter, clinicalAttributesMap); + this.customDataSamples = customDataSamples; - this.applyPatientIdFilters = shouldApplyPatientIdFilters(); } - + public StudyViewFilter studyViewFilter() { return studyViewFilter; } - - public CategorizedClinicalDataCountFilter categorizedClinicalDataCountFilter() { - return categorizedClinicalDataCountFilter; - } - + public List customDataSamples() { return this.customDataSamples; } - - private CategorizedClinicalDataCountFilter extractClinicalDataCountFilters(final StudyViewFilter studyViewFilter, Map> clinicalAttributesMap) { - - if (studyViewFilter.getClinicalDataFilters() == null || clinicalAttributesMap.isEmpty()) { - return CategorizedClinicalDataCountFilter.getBuilder().build(); - } - - List patientCategoricalAttributes = clinicalAttributesMap.get(ClinicalAttributeDataSource.PATIENT) - .stream().filter(ca -> ca.getDatatype().equals("STRING")) - .map(ClinicalAttribute::getAttrId) - .toList(); - - List patientNumericalAttributes = clinicalAttributesMap.get(ClinicalAttributeDataSource.PATIENT) - .stream().filter(ca -> ca.getDatatype().equals("NUMBER")) - .map(ClinicalAttribute::getAttrId) - .toList(); - - List sampleCategoricalAttributes = clinicalAttributesMap.get(ClinicalAttributeDataSource.SAMPLE) - .stream().filter(ca -> ca.getDatatype().equals("STRING")) - .map(ClinicalAttribute::getAttrId) - .toList(); - - List sampleNumericalAttributes = clinicalAttributesMap.get(ClinicalAttributeDataSource.SAMPLE) - .stream().filter(ca -> ca.getDatatype().equals("NUMBER")) - .map(ClinicalAttribute::getAttrId) - .toList(); - - return CategorizedClinicalDataCountFilter.getBuilder() - .setPatientCategoricalClinicalDataFilters(studyViewFilter.getClinicalDataFilters() - .stream().filter(clinicalDataFilter -> patientCategoricalAttributes.contains(clinicalDataFilter.getAttributeId())) - .toList()) - .setPatientNumericalClinicalDataFilters(studyViewFilter.getClinicalDataFilters().stream() - .filter(clinicalDataFilter -> patientNumericalAttributes.contains(clinicalDataFilter.getAttributeId())) - .toList()) - .setSampleCategoricalClinicalDataFilters(studyViewFilter.getClinicalDataFilters().stream() - .filter(clinicalDataFilter -> sampleCategoricalAttributes.contains(clinicalDataFilter.getAttributeId())) - .toList()) - .setSampleNumericalClinicalDataFilters(studyViewFilter.getClinicalDataFilters().stream() - .filter(clinicalDataFilter -> sampleNumericalAttributes.contains(clinicalDataFilter.getAttributeId())) - .toList()) - .build(); - } - public boolean shouldApplyPatientIdFilters() { - return studyViewFilter.getClinicalEventFilters() != null && !studyViewFilter.getClinicalEventFilters().isEmpty() - || studyViewFilter.getPatientTreatmentFilters() != null && studyViewFilter.getPatientTreatmentFilters().getFilters()!= null && !studyViewFilter.getPatientTreatmentFilters().getFilters().isEmpty() - || categorizedClinicalDataCountFilter.getPatientCategoricalClinicalDataFilters() != null && !categorizedClinicalDataCountFilter.getPatientCategoricalClinicalDataFilters().isEmpty() - || categorizedClinicalDataCountFilter.getPatientNumericalClinicalDataFilters() != null && !categorizedClinicalDataCountFilter.getPatientNumericalClinicalDataFilters().isEmpty(); + public boolean isCategoricalClinicalDataFilter(ClinicalDataFilter clinicalDataFilter) { + var filterValue = clinicalDataFilter.getValues().getFirst(); + return filterValue.getValue() != null; } } diff --git a/src/main/java/org/cbioportal/persistence/mybatisclickhouse/StudyViewMyBatisRepository.java b/src/main/java/org/cbioportal/persistence/mybatisclickhouse/StudyViewMyBatisRepository.java index 5bf385f366e..d522b2f3b9b 100644 --- a/src/main/java/org/cbioportal/persistence/mybatisclickhouse/StudyViewMyBatisRepository.java +++ b/src/main/java/org/cbioportal/persistence/mybatisclickhouse/StudyViewMyBatisRepository.java @@ -101,7 +101,7 @@ public List getMolecularProfileSampleCounts(StudyViewFilterCon } public StudyViewFilterHelper createStudyViewFilterHelper(StudyViewFilterContext studyViewFilterContext) { - return StudyViewFilterHelper.build(studyViewFilterContext.studyViewFilter(), getClinicalAttributeNameMap(), studyViewFilterContext.customDataFilterSamples()); + return StudyViewFilterHelper.build(studyViewFilterContext.studyViewFilter(), studyViewFilterContext.customDataFilterSamples()); } @Override diff --git a/src/main/resources/org/cbioportal/persistence/mybatisclickhouse/StudyViewFilterMapper.xml b/src/main/resources/org/cbioportal/persistence/mybatisclickhouse/StudyViewFilterMapper.xml index f2ce040188e..ca289ebc4b5 100644 --- a/src/main/resources/org/cbioportal/persistence/mybatisclickhouse/StudyViewFilterMapper.xml +++ b/src/main/resources/org/cbioportal/persistence/mybatisclickhouse/StudyViewFilterMapper.xml @@ -5,7 +5,7 @@ - INTERSECT + INTERSECT SELECT sample_unique_id FROM sample_derived WHERE cancer_study_identifier IN @@ -32,7 +32,7 @@ ) - + INTERSECT SELECT * FROM ( @@ -47,16 +47,16 @@ #{studyId} - AND + AND gp.stable_id LIKE '%_${genomicProfileId}' ) - + - + INTERSECT SELECT sample_unique_id @@ -115,39 +115,21 @@ #{molecularProfileId} - + hugo_gene_symbol = #{geneFilterQuery.hugoGeneSymbol} - cna_alteration = #{alteration.code} + cna_alteration = #{alteration.code} - - - - - - - - - - - - - - - - - - - + @@ -161,10 +143,24 @@ + + + + + + + + + + + + + + - + SELECT concat(ced.cancer_study_identifier, '_', ced.sample_id) AS sample_unique_id @@ -180,7 +176,7 @@ key = 'SAMPLE_ID' AND (event_type LIKE 'Sample Acquisition' OR event_type LIKE 'SPECIMEN') - GROUP BY patient_unique_id, ced.value, cancer_study_identifier + GROUP BY patient_unique_id, ced.value, cancer_study_identifier ) ced INNER JOIN ( @@ -198,10 +194,10 @@ ced_inner.treatment = '${sampleTreatmentFilter.treatment}' - AND ced.time_taken <= ced_inner.treatment_time_taken + AND ced.time_taken <= ced_inner.treatment_time_taken - AND ced.time_taken > ced_inner.treatment_time_taken + AND ced.time_taken > ced_inner.treatment_time_taken @@ -212,62 +208,87 @@ + SELECT sample_unique_id + FROM sample_derived + WHERE patient_unique_id in ( SELECT patient_unique_id FROM clinical_event_derived - - - event_type = '${dataFilterValue.value}' - - + + event_type = '${dataFilterValue.value}' + + + ) - + + SELECT sample_unique_id + FROM sample_derived + WHERE patient_unique_id in ( SELECT patient_unique_id FROM clinical_event_derived - - - lower(event_type) = 'treatment' - AND key = 'AGENT' - AND value = '${patientTreatmentFilter.treatment}' - - - + + lower(event_type) = 'treatment' + AND key = 'AGENT' + AND value = '${patientTreatmentFilter.treatment}' + + + ) + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + ( + + + + + + + + + + + + + + + + + + UNION DISTINCT + SELECT sample_unique_id + FROM sample_derived + WHERE patient_unique_id in ( + + + + + + + + + + + + + + + + + ) + ) + @@ -292,7 +313,7 @@ AND match(attribute_value, '^[-+]?[0-9]*[.,]?[0-9]+$') - + AND abs( @@ -323,7 +344,7 @@ - + SELECT ${unique_id} FROM ${table_name} @@ -339,7 +360,7 @@ - + @@ -403,7 +424,7 @@ - + @@ -432,18 +453,18 @@ #{studyId} - + AND alteration_value IN #{dataFilterValue.value} - + AND alteration_value IS NULL - + AND alteration_value IS NULL OR alteration_value IN diff --git a/src/main/resources/org/cbioportal/persistence/mybatisclickhouse/StudyViewMapper.xml b/src/main/resources/org/cbioportal/persistence/mybatisclickhouse/StudyViewMapper.xml index 5af781dfeb0..2da2eff0f0b 100644 --- a/src/main/resources/org/cbioportal/persistence/mybatisclickhouse/StudyViewMapper.xml +++ b/src/main/resources/org/cbioportal/persistence/mybatisclickhouse/StudyViewMapper.xml @@ -14,7 +14,7 @@ FROM sample_derived - + ORDER BY sample_stable_id ASC; @@ -31,7 +31,7 @@ variant_type = 'mutation' AND - + @@ -53,7 +53,7 @@ variant_type = 'cna' AND - + @@ -72,7 +72,7 @@ variant_type = 'structural_variant' AND - + GROUP BY entrez_gene_id, hugo_gene_symbol; @@ -120,7 +120,7 @@ AND type = 'patient' - + - + - + SELECT @@ -182,7 +182,7 @@ AND UPPER(value) NOT IN #{filteredAttributeValue} - + AND attribute_name IN @@ -220,13 +220,13 @@ GROUP BY attribute_name, value - + SELECT count(distinct sample_unique_id) as count FROM sample_derived - WHERE sample_unique_id IN () + WHERE sample_unique_id IN () - + SELECT attr_id as attrId, @@ -344,16 +344,16 @@ - + - - + - + - + - + - - + + - - SELECT count(distinct ced.value) AS totalSamples FROM clinical_event_derived ced @@ -484,9 +484,6 @@ AND (event_type LIKE 'Sample Acquisition' OR event_type LIKE 'SPECIMEN') AND concat(ced.cancer_study_identifier, '_', ced.value) IN ( ) - - AND patient_unique_id IN () - AND patient_unique_id IN ( SELECT @@ -503,7 +500,7 @@ ) - + @@ -528,10 +525,10 @@ GROUP BY patient_unique_id, ced.value, cancer_study_identifier ), treatments AS ( - SELECT + SELECT patient_unique_id, value AS treatment, argMin(start_date, start_date) AS treatment_time_taken @@ -550,43 +547,34 @@ INNER JOIN treatments ON treatments.patient_unique_id = ced.patient_unique_id concat(ced.cancer_study_identifier, '_', ced.sample_id) IN ( ) - - AND patient_unique_id IN () - GROUP BY treatments.treatment; - - - - - sample_unique_id IN ( ) - - AND patient_unique_id IN () - - + patient_unique_id in ( SELECT patient_unique_id @@ -594,34 +582,18 @@ sample_unique_id IN () - - - INTERSECT - - ) - + - sample_unique_id IN ( - - INTERSECT - - ) + sample_unique_id IN () - - SELECT sample_unique_id - FROM sample_derived - - patient_unique_id IN () - - - + ${attribute_value}='' @@ -656,7 +628,7 @@ upperUTF8(${attribute_value})='FALSE' - + multiIf( diff --git a/src/test/java/org/cbioportal/persistence/mybatisclickhouse/MolecularProfileCountTest.java b/src/test/java/org/cbioportal/persistence/mybatisclickhouse/MolecularProfileCountTest.java index b7a25d3ec0e..34cce3f47a4 100644 --- a/src/test/java/org/cbioportal/persistence/mybatisclickhouse/MolecularProfileCountTest.java +++ b/src/test/java/org/cbioportal/persistence/mybatisclickhouse/MolecularProfileCountTest.java @@ -2,7 +2,6 @@ import org.cbioportal.persistence.helper.StudyViewFilterHelper; import org.cbioportal.persistence.mybatisclickhouse.config.MyBatisConfig; -import org.cbioportal.web.parameter.CategorizedClinicalDataCountFilter; import org.cbioportal.web.parameter.StudyViewFilter; import org.junit.Test; @@ -45,7 +44,7 @@ public void getMolecularProfileCounts() { studyViewFilter.setGenomicProfiles(profileGroups); - var molecularProfileCounts = studyViewMapper.getMolecularProfileSampleCounts(StudyViewFilterHelper.build(studyViewFilter, null, null)); + var molecularProfileCounts = studyViewMapper.getMolecularProfileSampleCounts(StudyViewFilterHelper.build(studyViewFilter, null)); var size = molecularProfileCounts.stream().filter(gc->gc.getValue().equals("mutations")) .findFirst().get().getCount().intValue(); @@ -63,7 +62,7 @@ public void getMolecularProfileCountsMultipleStudies() { studyViewFilter.setGenomicProfiles(profileGroups); - var molecularProfileCounts = studyViewMapper.getMolecularProfileSampleCounts(StudyViewFilterHelper.build(studyViewFilter, null, null)); + var molecularProfileCounts = studyViewMapper.getMolecularProfileSampleCounts(StudyViewFilterHelper.build(studyViewFilter, null)); var size = molecularProfileCounts.stream().filter(gc->gc.getValue().equals("mutations")) .findFirst().get().getCount().intValue(); @@ -81,7 +80,7 @@ public void getMolecularProfileCountsMultipleProfilesUnion() { studyViewFilter.setGenomicProfiles(profileGroups); - var molecularProfileCounts = studyViewMapper.getMolecularProfileSampleCounts(StudyViewFilterHelper.build(studyViewFilter, null, null)); + var molecularProfileCounts = studyViewMapper.getMolecularProfileSampleCounts(StudyViewFilterHelper.build(studyViewFilter, null)); var sizeMutations = molecularProfileCounts.stream().filter(gc->gc.getValue().equals("mutations")) .findFirst().get().getCount().intValue(); @@ -104,7 +103,7 @@ public void getMolecularProfileCountsMultipleProfilesIntersect() { studyViewFilter.setGenomicProfiles(profileGroups); - var molecularProfileCounts = studyViewMapper.getMolecularProfileSampleCounts(StudyViewFilterHelper.build(studyViewFilter, null, null)); + var molecularProfileCounts = studyViewMapper.getMolecularProfileSampleCounts(StudyViewFilterHelper.build(studyViewFilter, null)); var sizeMutations = molecularProfileCounts.stream().filter(gc->gc.getValue().equals("mutations")) .findFirst().get().getCount().intValue(); diff --git a/src/test/java/org/cbioportal/persistence/mybatisclickhouse/StudyViewCaseListSamplesCountsTest.java b/src/test/java/org/cbioportal/persistence/mybatisclickhouse/StudyViewCaseListSamplesCountsTest.java index 929650750bb..f62d95ab686 100644 --- a/src/test/java/org/cbioportal/persistence/mybatisclickhouse/StudyViewCaseListSamplesCountsTest.java +++ b/src/test/java/org/cbioportal/persistence/mybatisclickhouse/StudyViewCaseListSamplesCountsTest.java @@ -4,7 +4,6 @@ import org.cbioportal.persistence.mybatisclickhouse.config.MyBatisConfig; import org.cbioportal.service.impl.StudyViewColumnarServiceImpl; -import org.cbioportal.web.parameter.CategorizedClinicalDataCountFilter; import org.cbioportal.web.parameter.StudyViewFilter; import org.junit.Test; import org.junit.runner.RunWith; @@ -46,7 +45,7 @@ public void getMolecularProfileCounts() { studyViewFilter.setCaseLists(caseListGroups); - var sampleListCounts = studyViewMapper.getCaseListDataCountsPerStudy(StudyViewFilterHelper.build(studyViewFilter, null, null) ); + var sampleListCounts = studyViewMapper.getCaseListDataCountsPerStudy(StudyViewFilterHelper.build(studyViewFilter, null) ); var size = sampleListCounts.stream().filter(gc->gc.getValue().equals("mrna")) .findFirst().get().getCount().intValue(); @@ -64,7 +63,7 @@ public void getMolecularProfileCountsMultipleListsOr() { studyViewFilter.setCaseLists(caseListGroups); - var sampleListCounts = studyViewMapper.getCaseListDataCountsPerStudy(StudyViewFilterHelper.build(studyViewFilter, null, null) ); + var sampleListCounts = studyViewMapper.getCaseListDataCountsPerStudy(StudyViewFilterHelper.build(studyViewFilter, null) ); var size = sampleListCounts.stream().filter(gc->gc.getValue().equals("mrna")) .findFirst().get().getCount().intValue(); @@ -83,7 +82,7 @@ public void getMolecularProfileCountsMultipleListsAnd() { studyViewFilter.setCaseLists(caseListGroups); - var sampleListCounts = studyViewMapper.getCaseListDataCountsPerStudy(StudyViewFilterHelper.build(studyViewFilter, null, null) ); + var sampleListCounts = studyViewMapper.getCaseListDataCountsPerStudy(StudyViewFilterHelper.build(studyViewFilter, null) ); var size = sampleListCounts.stream().filter(gc->gc.getValue().equals("mrna")) .findFirst().get().getCount().intValue(); @@ -101,7 +100,7 @@ public void getMolecularProfileCountsAcrossStudies() { studyViewFilter.setCaseLists(caseListGroups); - var unMergedCounts = studyViewMapper.getCaseListDataCountsPerStudy(StudyViewFilterHelper.build(studyViewFilter, null, null) ); + var unMergedCounts = studyViewMapper.getCaseListDataCountsPerStudy(StudyViewFilterHelper.build(studyViewFilter, null) ); var caseListCountsMerged = StudyViewColumnarServiceImpl.mergeCaseListCounts( unMergedCounts diff --git a/src/test/java/org/cbioportal/persistence/mybatisclickhouse/StudyViewMapperClinicalDataCountTest.java b/src/test/java/org/cbioportal/persistence/mybatisclickhouse/StudyViewMapperClinicalDataCountTest.java index 90bc9b864d8..d8ff81d2004 100644 --- a/src/test/java/org/cbioportal/persistence/mybatisclickhouse/StudyViewMapperClinicalDataCountTest.java +++ b/src/test/java/org/cbioportal/persistence/mybatisclickhouse/StudyViewMapperClinicalDataCountTest.java @@ -1,11 +1,8 @@ package org.cbioportal.persistence.mybatisclickhouse; -import org.cbioportal.model.ClinicalAttribute; import org.cbioportal.model.ClinicalDataCount; -import org.cbioportal.persistence.enums.ClinicalAttributeDataSource; import org.cbioportal.persistence.helper.StudyViewFilterHelper; import org.cbioportal.persistence.mybatisclickhouse.config.MyBatisConfig; -import org.cbioportal.web.parameter.CategorizedClinicalDataCountFilter; import org.cbioportal.web.parameter.ClinicalDataFilter; import org.cbioportal.web.parameter.DataFilterValue; import org.cbioportal.web.parameter.StudyViewFilter; @@ -21,9 +18,7 @@ import java.math.BigDecimal; import java.util.Collections; -import java.util.HashMap; import java.util.List; -import java.util.Map; import static org.junit.Assert.assertEquals; @@ -46,7 +41,7 @@ public void getMutationCounts() { studyViewFilter.setStudyIds(List.of(STUDY_GENIE_PUB)); var mutationsCounts = studyViewMapper.getClinicalDataCounts( - StudyViewFilterHelper.build(studyViewFilter, null, null), + StudyViewFilterHelper.build(studyViewFilter, null), List.of("mutation_count"), Collections.emptyList() ); @@ -67,7 +62,7 @@ public void getCenterCounts() { studyViewFilter.setStudyIds(List.of(STUDY_GENIE_PUB)); var categoricalClinicalDataCounts = studyViewMapper.getClinicalDataCounts( - StudyViewFilterHelper.build(studyViewFilter, null, null), + StudyViewFilterHelper.build(studyViewFilter, null), List.of("center"), Collections.emptyList() ); @@ -89,7 +84,7 @@ public void getDeadCounts() { studyViewFilter.setStudyIds(List.of(STUDY_GENIE_PUB)); var categoricalClinicalDataCounts = studyViewMapper.getClinicalDataCounts( - StudyViewFilterHelper.build(studyViewFilter, null, null), + StudyViewFilterHelper.build(studyViewFilter, null), List.of("dead"), Collections.emptyList() ); @@ -110,7 +105,7 @@ public void getMutationAndCenterCounts() { studyViewFilter.setStudyIds(List.of(STUDY_GENIE_PUB)); var combinedClinicalDataCounts = studyViewMapper.getClinicalDataCounts( - StudyViewFilterHelper.build(studyViewFilter, null, null), + StudyViewFilterHelper.build(studyViewFilter, null), List.of("mutation_count", "center"), Collections.emptyList() ); @@ -124,7 +119,7 @@ public void getAgeCounts() { studyViewFilter.setStudyIds(List.of(STUDY_GENIE_PUB)); var ageCounts = studyViewMapper.getClinicalDataCounts( - StudyViewFilterHelper.build(studyViewFilter, null, null), + StudyViewFilterHelper.build(studyViewFilter, null), List.of("age"), Collections.emptyList() ); @@ -141,7 +136,7 @@ public void getAgeCountsForMultipleStudies() { studyViewFilter.setStudyIds(List.of(STUDY_GENIE_PUB, STUDY_ACC_TCGA)); var ageCounts = studyViewMapper.getClinicalDataCounts( - StudyViewFilterHelper.build(studyViewFilter, null, null), + StudyViewFilterHelper.build(studyViewFilter, null), List.of("age"), Collections.emptyList() ); @@ -185,15 +180,8 @@ public void getMutationCountsFilteredByAge() { ClinicalDataFilter filter = buildClinicalDataFilter("age", 20, 70); studyViewFilter.setClinicalDataFilters(List.of(filter)); - Map> clinicalAttributeDataSourceListMap = new HashMap<>(); - var clinicalAttr = new ClinicalAttribute(); - clinicalAttr.setAttrId("age"); - clinicalAttr.setPatientAttribute(true); - clinicalAttr.setDatatype("NUMBER"); - clinicalAttributeDataSourceListMap.put(ClinicalAttributeDataSource.PATIENT, List.of(clinicalAttr)); - clinicalAttributeDataSourceListMap.put(ClinicalAttributeDataSource.SAMPLE, List.of()); var mutationCountsFiltered = studyViewMapper.getClinicalDataCounts( - StudyViewFilterHelper.build(studyViewFilter, clinicalAttributeDataSourceListMap, null), + StudyViewFilterHelper.build(studyViewFilter, null), List.of("mutation_count"), Collections.emptyList() ); @@ -214,15 +202,8 @@ public void getMutationCountsFilteredByAgeWithOpenStartValues() { ClinicalDataFilter filter = buildClinicalDataFilter("age", null, 20); studyViewFilter.setClinicalDataFilters(List.of(filter)); - Map> clinicalAttributeDataSourceListMap = new HashMap<>(); - var clinicalAttr = new ClinicalAttribute(); - clinicalAttr.setAttrId("age"); - clinicalAttr.setPatientAttribute(true); - clinicalAttr.setDatatype("NUMBER"); - clinicalAttributeDataSourceListMap.put(ClinicalAttributeDataSource.PATIENT, List.of(clinicalAttr)); - clinicalAttributeDataSourceListMap.put(ClinicalAttributeDataSource.SAMPLE, List.of()); var mutationCountsFiltered = studyViewMapper.getClinicalDataCounts( - StudyViewFilterHelper.build(studyViewFilter, clinicalAttributeDataSourceListMap, null), + StudyViewFilterHelper.build(studyViewFilter, null), List.of("mutation_count"), Collections.emptyList() ); @@ -247,15 +228,8 @@ public void getMutationCountsFilteredByAgeWithOpenEndValues() { ClinicalDataFilter filter = buildClinicalDataFilter("age", 80, null); studyViewFilter.setClinicalDataFilters(List.of(filter)); - Map> clinicalAttributeDataSourceListMap = new HashMap<>(); - var clinicalAttr = new ClinicalAttribute(); - clinicalAttr.setAttrId("age"); - clinicalAttr.setPatientAttribute(true); - clinicalAttr.setDatatype("NUMBER"); - clinicalAttributeDataSourceListMap.put(ClinicalAttributeDataSource.PATIENT, List.of(clinicalAttr)); - clinicalAttributeDataSourceListMap.put(ClinicalAttributeDataSource.SAMPLE, List.of()); var mutationCountsFiltered = studyViewMapper.getClinicalDataCounts( - StudyViewFilterHelper.build(studyViewFilter, clinicalAttributeDataSourceListMap, null), + StudyViewFilterHelper.build(studyViewFilter, null), List.of("mutation_count"), Collections.emptyList() ); diff --git a/src/test/java/org/cbioportal/persistence/mybatisclickhouse/StudyViewMapperTest.java b/src/test/java/org/cbioportal/persistence/mybatisclickhouse/StudyViewMapperTest.java index b0c54597f3f..5e99f865a0d 100644 --- a/src/test/java/org/cbioportal/persistence/mybatisclickhouse/StudyViewMapperTest.java +++ b/src/test/java/org/cbioportal/persistence/mybatisclickhouse/StudyViewMapperTest.java @@ -53,7 +53,7 @@ public class StudyViewMapperTest extends AbstractTestcontainers { public void getFilteredSamples() { StudyViewFilter studyViewFilter = new StudyViewFilter(); studyViewFilter.setStudyIds(Arrays.asList(STUDY_TCGA_PUB, STUDY_ACC_TCGA)); - var filteredSamples = studyViewMapper.getFilteredSamples(StudyViewFilterHelper.build(studyViewFilter, null, null)); + var filteredSamples = studyViewMapper.getFilteredSamples(StudyViewFilterHelper.build(studyViewFilter, null)); assertEquals(19, filteredSamples.size()); } @@ -61,7 +61,7 @@ public void getFilteredSamples() { public void getMutatedGenes() { StudyViewFilter studyViewFilter = new StudyViewFilter(); studyViewFilter.setStudyIds(List.of(STUDY_TCGA_PUB)); - var alterationCountByGenes = studyViewMapper.getMutatedGenes(StudyViewFilterHelper.build(studyViewFilter, null, null), + var alterationCountByGenes = studyViewMapper.getMutatedGenes(StudyViewFilterHelper.build(studyViewFilter, null), AlterationFilterHelper.build(studyViewFilter.getAlterationFilter())); assertEquals(3, alterationCountByGenes.size()); @@ -82,7 +82,7 @@ public void getMutatedGenesWithAlterationFilter() { mutationEventTypeFilterMap.put(MutationEventType.other, Boolean.FALSE); alterationFilter.setMutationEventTypes(mutationEventTypeFilterMap); - var alterationCountByGenes = studyViewMapper.getMutatedGenes(StudyViewFilterHelper.build(studyViewFilter, null, null), + var alterationCountByGenes = studyViewMapper.getMutatedGenes(StudyViewFilterHelper.build(studyViewFilter, null), AlterationFilterHelper.build(alterationFilter)); assertEquals(2, alterationCountByGenes.size()); @@ -92,7 +92,7 @@ public void getMutatedGenesWithAlterationFilter() { onlyMutationStatusFilter.setIncludeSomatic(false); onlyMutationStatusFilter.setIncludeUnknownStatus(true); - var alterationCountByGenes1 = studyViewMapper.getMutatedGenes(StudyViewFilterHelper.build(studyViewFilter, null, null), + var alterationCountByGenes1 = studyViewMapper.getMutatedGenes(StudyViewFilterHelper.build(studyViewFilter, null), AlterationFilterHelper.build(onlyMutationStatusFilter)); assertEquals(1, alterationCountByGenes1.size()); @@ -103,7 +103,7 @@ public void getMutatedGenesWithAlterationFilter() { mutationTypeAndStatusFilter.setIncludeSomatic(false); mutationTypeAndStatusFilter.setIncludeUnknownStatus(true); - var alterationCountByGenes2 = studyViewMapper.getMutatedGenes(StudyViewFilterHelper.build(studyViewFilter, null, null), + var alterationCountByGenes2 = studyViewMapper.getMutatedGenes(StudyViewFilterHelper.build(studyViewFilter, null), AlterationFilterHelper.build(onlyMutationStatusFilter)); assertEquals(1, alterationCountByGenes2.size()); } @@ -113,7 +113,7 @@ public void getTotalProfiledCountsByGene() { StudyViewFilter studyViewFilter = new StudyViewFilter(); studyViewFilter.setStudyIds(List.of(STUDY_TCGA_PUB)); - var totalProfiledCountsMap = studyViewMapper.getTotalProfiledCounts(StudyViewFilterHelper.build(studyViewFilter, null, null), + var totalProfiledCountsMap = studyViewMapper.getTotalProfiledCounts(StudyViewFilterHelper.build(studyViewFilter, null), "MUTATION_EXTENDED"); assertEquals(3, totalProfiledCountsMap.size()); @@ -128,7 +128,7 @@ public void getClinicalEventTypeCounts() { StudyViewFilter studyViewFilter = new StudyViewFilter(); studyViewFilter.setStudyIds(List.of(STUDY_TCGA_PUB)); - var clinicalEventTypeCounts = studyViewMapper.getClinicalEventTypeCounts(StudyViewFilterHelper.build(studyViewFilter, null, null)); + var clinicalEventTypeCounts = studyViewMapper.getClinicalEventTypeCounts(StudyViewFilterHelper.build(studyViewFilter, null)); assertEquals(4, clinicalEventTypeCounts.size()); @@ -144,7 +144,7 @@ public void getClinicalEventTypeCounts() { dataFilter.setValues(List.of(dataFilterValue)); studyViewFilter.setClinicalEventFilters(List.of(dataFilter)); - clinicalEventTypeCounts = studyViewMapper.getClinicalEventTypeCounts(StudyViewFilterHelper.build(studyViewFilter, null, null)); + clinicalEventTypeCounts = studyViewMapper.getClinicalEventTypeCounts(StudyViewFilterHelper.build(studyViewFilter, null)); assertEquals(3, clinicalEventTypeCounts.size()); @@ -160,9 +160,9 @@ public void getPatientTreatmentReportCounts() { studyViewFilter.setStudyIds(List.of(STUDY_TCGA_PUB)); - var patientTreatmentCounts = studyViewMapper.getPatientTreatmentCounts(StudyViewFilterHelper.build(studyViewFilter, null, null)); + var patientTreatmentCounts = studyViewMapper.getPatientTreatmentCounts(StudyViewFilterHelper.build(studyViewFilter, null)); - var patientTreatments = studyViewMapper.getPatientTreatments(StudyViewFilterHelper.build(studyViewFilter, null, null)); + var patientTreatments = studyViewMapper.getPatientTreatments(StudyViewFilterHelper.build(studyViewFilter, null)); assertEquals(1, patientTreatmentCounts); assertEquals("madeupanib", patientTreatments.getFirst().treatment()); @@ -177,9 +177,9 @@ public void getPatientTreatmentReportCounts() { andedPatientTreatmentFilters.setFilters(List.of(oredPatientTreatmentFilters)); studyViewFilter.setPatientTreatmentFilters(andedPatientTreatmentFilters); - patientTreatmentCounts = studyViewMapper.getPatientTreatmentCounts(StudyViewFilterHelper.build(studyViewFilter, null, null)); + patientTreatmentCounts = studyViewMapper.getPatientTreatmentCounts(StudyViewFilterHelper.build(studyViewFilter, null)); - patientTreatments = studyViewMapper.getPatientTreatments(StudyViewFilterHelper.build(studyViewFilter, null, null)); + patientTreatments = studyViewMapper.getPatientTreatments(StudyViewFilterHelper.build(studyViewFilter, null)); assertEquals(1, patientTreatmentCounts); assertEquals("madeupanib", patientTreatments.getFirst().treatment()); @@ -192,9 +192,9 @@ public void getSampleTreatmentCounts() { studyViewFilter.setStudyIds(List.of(STUDY_TCGA_PUB)); - var totalSampleTreatmentCount = studyViewMapper.getTotalSampleTreatmentCounts(StudyViewFilterHelper.build(studyViewFilter, null, null)); + var totalSampleTreatmentCount = studyViewMapper.getTotalSampleTreatmentCounts(StudyViewFilterHelper.build(studyViewFilter, null)); - var sampleTreatmentCounts = studyViewMapper.getSampleTreatmentCounts(StudyViewFilterHelper.build(studyViewFilter, null, null)); + var sampleTreatmentCounts = studyViewMapper.getSampleTreatmentCounts(StudyViewFilterHelper.build(studyViewFilter, null)); assertEquals(1, totalSampleTreatmentCount); assertEquals("madeupanib", sampleTreatmentCounts.getFirst().treatment()); @@ -212,9 +212,9 @@ public void getSampleTreatmentCounts() { andedSampleTreatmentFilters.setFilters(List.of(oredSampleTreatmentFilters)); studyViewFilter.setSampleTreatmentFilters(andedSampleTreatmentFilters); - totalSampleTreatmentCount = studyViewMapper.getTotalSampleTreatmentCounts(StudyViewFilterHelper.build(studyViewFilter, null, null)); + totalSampleTreatmentCount = studyViewMapper.getTotalSampleTreatmentCounts(StudyViewFilterHelper.build(studyViewFilter, null)); - sampleTreatmentCounts = studyViewMapper.getSampleTreatmentCounts(StudyViewFilterHelper.build(studyViewFilter, null, null)); + sampleTreatmentCounts = studyViewMapper.getSampleTreatmentCounts(StudyViewFilterHelper.build(studyViewFilter, null)); assertEquals(0, totalSampleTreatmentCount); assertEquals(0, sampleTreatmentCounts.size());