diff --git a/src/main/java/org/cbioportal/web/columnar/util/CustomDataFilterUtil.java b/src/main/java/org/cbioportal/web/columnar/util/CustomDataFilterUtil.java index 253b63b1b1f..b7c75eaa0b3 100644 --- a/src/main/java/org/cbioportal/web/columnar/util/CustomDataFilterUtil.java +++ b/src/main/java/org/cbioportal/web/columnar/util/CustomDataFilterUtil.java @@ -22,6 +22,7 @@ import java.util.Objects; import java.util.function.Function; import java.util.stream.Collectors; +import java.util.stream.Stream; @Component public class CustomDataFilterUtil { @@ -41,12 +42,28 @@ public List extractCustomDataSamples(final StudyViewFilt return null; } - List customSampleIdentifiers = new ArrayList<>(); - if (CollectionUtils.isEmpty(studyViewFilter.getCustomDataFilters())) { return null; } + final List customSamplesFromProperty = studyViewFilter.getCustomDataFilters().stream() + .flatMap(filter -> { + List samples = filter.getSamples(); + return (samples != null) ? samples.stream() : Stream.empty(); + }) + .toList(); + + if (!customSamplesFromProperty.isEmpty()) { + return extractCustomDataSamplesWithoutSession(studyViewFilter, customSamplesFromProperty); + } + else { + return extractCustomDataSamplesWithSession(studyViewFilter); + } + } + + private List extractCustomDataSamplesWithSession(final StudyViewFilter studyViewFilter) { + List customSampleIdentifiers = new ArrayList<>(); + final List attributeIds = studyViewFilter.getCustomDataFilters().stream() .map(ClinicalDataFilter::getAttributeId) .collect(Collectors.toList()); @@ -74,7 +91,6 @@ public List extractCustomDataSamples(final StudyViewFilt CustomSampleIdentifier customSampleIdentifier = new CustomSampleIdentifier(); customSampleIdentifier.setStudyId(datum.getStudyId()); customSampleIdentifier.setSampleId(datum.getSampleId()); - customSampleIdentifier.setAttributeId(customDataSession.getId()); customSampleIdentifiers.add(customSampleIdentifier); customDataByStudySampleSession.put(datum.getStudyId(), datum.getSampleId(), customDataSession.getId(), value); }) @@ -119,6 +135,74 @@ public List extractCustomDataSamples(final StudyViewFilt return filtered; } + + private List extractCustomDataSamplesWithoutSession(final StudyViewFilter studyViewFilter, List customSamplesFromProperty) { + List customSampleIdentifiers = new ArrayList<>(customSamplesFromProperty); + + List equalityFilters = new ArrayList<>(); + List intervalFilters = new ArrayList<>(); + + studyViewFilter.getCustomDataFilters().forEach(filter -> { + if (filter.getDatatype() + .equals(CustomDatatype.STRING.name()) + ) { + equalityFilters.add(filter); + } else { + intervalFilters.add(filter); + } + }); + + MultiKeyMap customDataByStudySampleName = new MultiKeyMap<>(); + + studyViewFilter.getCustomDataFilters().stream().forEach(filter -> + filter.getSamples().forEach(datum -> { + String value = datum.getValue().toUpperCase(); + if (value.equals("NAN") || value.equals("N/A")) { + value = "NA"; + } + customDataByStudySampleName.put(datum.getStudyId(), datum.getSampleId(), filter.getDisplayName(), value); + }) + ); + + List filtered = new ArrayList<>(); + customSampleIdentifiers.forEach(customSampleIdentifier -> { + int equalityFilterCount = getFilteredCountByDataEqualityWithStudySampleNameMap(equalityFilters, customDataByStudySampleName, + customSampleIdentifier.getSampleId(), customSampleIdentifier.getStudyId(), false); + int intervalFilterCount = getFilteredCountByDataIntervalWithStudySampleNameMap(intervalFilters, customDataByStudySampleName, + customSampleIdentifier.getSampleId(), customSampleIdentifier.getStudyId()); + if (equalityFilterCount == equalityFilters.size() + && intervalFilterCount == intervalFilters.size() + ) { + filtered.add(customSampleIdentifier); + } + else { + customSampleIdentifier.setIsFilteredOut(true); + filtered.add(customSampleIdentifier); + } + }); + return filtered; + } + + private Integer getFilteredCountByDataEqualityWithStudySampleNameMap(List attributes, MultiKeyMap clinicalDataMap, + String entityId, String studyId, boolean negateFilters) { + Integer count = 0; + for (ClinicalDataFilter s : attributes) { + List filteredValues = s.getValues() + .stream() + .map(DataFilterValue::getValue) + .collect(Collectors.toList()); + filteredValues.replaceAll(String::toUpperCase); + if (clinicalDataMap.containsKey(studyId, entityId, s.getDisplayName())) { + String value = clinicalDataMap.get(studyId, entityId, s.getDisplayName()); + if (negateFilters ^ filteredValues.contains(value)) { + count++; + } + } else if (negateFilters ^ filteredValues.contains("NA")) { + count++; + } + } + return count; + } private Integer getFilteredCountByDataInterval(List attributes, MultiKeyMap clinicalDataMap, String entityId, String studyId) { @@ -157,6 +241,39 @@ else if (specialValues.contains(attrValue.toUpperCase())) { return count; } + private Integer getFilteredCountByDataIntervalWithStudySampleNameMap(List attributes, MultiKeyMap clinicalDataMap, + String entityId, String studyId) { + int count = 0; + + for (ClinicalDataFilter filter : attributes) { + if (clinicalDataMap.containsKey(studyId, entityId, filter.getDisplayName())) { + String attrValue = clinicalDataMap.get(studyId, entityId, filter.getDisplayName()); + Range rangeValue = calculateRangeValueForAttr(attrValue); + + // find range filters + List> ranges = filter.getValues().stream() + .map(this::calculateRangeValueForFilter) + .filter(Objects::nonNull) + .toList(); + + // find special value filters + List specialValues = filter.getValues().stream() + .filter(f -> f.getValue() != null) + .map(f -> f.getValue().toUpperCase()) + .toList(); + + if ((rangeValue != null && ranges.stream().anyMatch(r -> r.encloses(rangeValue))) || + (rangeValue == null && specialValues.contains(attrValue.toUpperCase()))) { + count++; + } + } else if (Boolean.TRUE.equals(containsNA(filter))) { + count++; + } + } + + return count; + } + private Range calculateRangeValueForAttr(String attrValue) { if (attrValue == null) { return null; diff --git a/src/main/java/org/cbioportal/web/parameter/ClinicalDataFilter.java b/src/main/java/org/cbioportal/web/parameter/ClinicalDataFilter.java index fc9d2bffbf0..73b4d388363 100644 --- a/src/main/java/org/cbioportal/web/parameter/ClinicalDataFilter.java +++ b/src/main/java/org/cbioportal/web/parameter/ClinicalDataFilter.java @@ -6,6 +6,9 @@ public class ClinicalDataFilter extends DataFilter implements Serializable { private String attributeId; + private List samples; + private String datatype; + private String displayName; public String getAttributeId() { return attributeId; @@ -15,4 +18,28 @@ public void setAttributeId(String attributeId) { this.attributeId = attributeId; } + public List getSamples() { + return samples; + } + + public void setSamples(List samples) { + this.samples = samples; + } + + public String getDatatype() { + return datatype; + } + + public void setDatatype(String datatype) { + this.datatype = datatype; + } + + public String getDisplayName() { + return displayName; + } + + public void setDisplayName(String displayName) { + this.displayName = displayName; + } + } diff --git a/src/main/java/org/cbioportal/web/parameter/CustomSampleIdentifier.java b/src/main/java/org/cbioportal/web/parameter/CustomSampleIdentifier.java index 53fbe707f1a..9f5f4e0bfe0 100644 --- a/src/main/java/org/cbioportal/web/parameter/CustomSampleIdentifier.java +++ b/src/main/java/org/cbioportal/web/parameter/CustomSampleIdentifier.java @@ -5,7 +5,7 @@ public class CustomSampleIdentifier extends SampleIdentifier implements Serializable { private boolean isFilteredOut = false; - private String attributeId; + private String value; public boolean getIsFilteredOut() { return isFilteredOut; @@ -15,11 +15,11 @@ public void setIsFilteredOut(boolean isFilteredOut) { this.isFilteredOut = isFilteredOut; } - public String getAttributeId() { - return attributeId; + public String getValue() { + return value; } - public void setAttributeId(String attributeId) { - this.attributeId = attributeId; + public void setValue(String value) { + this.value = value; } } diff --git a/src/main/resources/org/cbioportal/persistence/mybatisclickhouse/StudyViewFilterMapper.xml b/src/main/resources/org/cbioportal/persistence/mybatisclickhouse/StudyViewFilterMapper.xml index 0e47b2fe499..8e1089e8de1 100644 --- a/src/main/resources/org/cbioportal/persistence/mybatisclickhouse/StudyViewFilterMapper.xml +++ b/src/main/resources/org/cbioportal/persistence/mybatisclickhouse/StudyViewFilterMapper.xml @@ -82,7 +82,7 @@ sample_unique_id IN ( '', - + '${sampleIdentifier.studyId}_${sampleIdentifier.sampleId}' @@ -94,9 +94,7 @@ OR sample_unique_id NOT IN ( - - '${sampleIdentifier.studyId}_${sampleIdentifier.sampleId}' - + '${sampleIdentifier.studyId}_${sampleIdentifier.sampleId}' ) diff --git a/src/test/java/org/cbioportal/persistence/mybatisclickhouse/StudyViewMapperTest.java b/src/test/java/org/cbioportal/persistence/mybatisclickhouse/StudyViewMapperTest.java index 54e85266741..3d77bbb3492 100644 --- a/src/test/java/org/cbioportal/persistence/mybatisclickhouse/StudyViewMapperTest.java +++ b/src/test/java/org/cbioportal/persistence/mybatisclickhouse/StudyViewMapperTest.java @@ -6,7 +6,11 @@ import org.cbioportal.persistence.helper.AlterationFilterHelper; import org.cbioportal.persistence.helper.StudyViewFilterHelper; import org.cbioportal.persistence.mybatisclickhouse.config.MyBatisConfig; -import org.cbioportal.web.parameter.*; +import org.cbioportal.web.parameter.ClinicalDataFilter; +import org.cbioportal.web.parameter.CustomSampleIdentifier; +import org.cbioportal.web.parameter.DataFilter; +import org.cbioportal.web.parameter.DataFilterValue; +import org.cbioportal.web.parameter.StudyViewFilter; import org.cbioportal.web.parameter.filter.AndedPatientTreatmentFilters; import org.cbioportal.web.parameter.filter.AndedSampleTreatmentFilters; import org.cbioportal.web.parameter.filter.OredPatientTreatmentFilters; @@ -23,7 +27,12 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringRunner; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; @@ -59,7 +68,6 @@ public void getFilteredSamples() { assertEquals(0, filteredSamples1.size()); CustomSampleIdentifier customSampleIdentifier = new CustomSampleIdentifier(); - customSampleIdentifier.setAttributeId("123"); customSampleIdentifier.setStudyId("acc_tcga"); customSampleIdentifier.setSampleId("tcga-a1-a0sb-01"); var filteredSamples2 = studyViewMapper.getFilteredSamples(StudyViewFilterHelper.build(studyViewFilter, null, Arrays.asList(customSampleIdentifier))); diff --git a/test/api-e2e/specs/custom-data-bin-counts-filter.json b/test/api-e2e/specs/custom-data-bin-counts-filter.json new file mode 100644 index 00000000000..7349b980f24 --- /dev/null +++ b/test/api-e2e/specs/custom-data-bin-counts-filter.json @@ -0,0 +1,1373 @@ +[ + { + "name": "filter on one value from one numerical custom data filter for two studies", + "note": "testing one numerical custom data filter of one value on two tcga studies", + "filterURL": "/study/summary?id=coadread_tcga_pan_can_atlas_2018%2Clgg_tcga_pan_can_atlas_2018#filterJson={\"customDataFilters\":[{\"attributeId\":\"66ccdb47955a443698dbcfeb\",\"values\":[{\"start\":1,\"end\":1}]}],\"studyIds\":[\"coadread_tcga_pan_can_atlas_2018\",\"lgg_tcga_pan_can_atlas_2018\"],\"alterationFilter\":{\"copyNumberAlterationEventTypes\":{\"AMP\":true,\"HOMDEL\":true},\"mutationEventTypes\":{\"any\":true},\"structuralVariants\":null,\"includeDriver\":true,\"includeVUS\":true,\"includeUnknownOncogenicity\":true,\"includeUnknownTier\":true,\"includeGermline\":true,\"includeSomatic\":true,\"includeUnknownStatus\":true,\"tiersBooleanMap\":{}}}", + "filterText": "Custom Data 1:1", + "studies": [ + "coadread_tcga_pan_can_atlas_2018", + "lgg_tcga_pan_can_atlas_2018" + ], + "tests": [ + { + "hash": -821508532, + "filterString": "Custom Data 1:1", + "data": { + "attributes": [ + { + "attributeId": "PATH_M_STAGE" + } + ], + "studyViewFilter": { + "customDataFilters": [ + { + "attributeId": "66ccdb47955a443698dbcfeb", + "values": [ + { + "start": 1, + "end": 1 + } + ], + "datatype": "NUMBER", + "displayName": "Custom Data 1", + "samples": [ + { + "sampleId": "TCGA-3L-AA1B-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "1" + }, + { + "sampleId": "TCGA-4N-A93T-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "2" + }, + { + "sampleId": "TCGA-5M-AAT4-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "2" + }, + { + "sampleId": "TCGA-5M-AAT5-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "2" + }, + { + "sampleId": "TCGA-5M-AAT6-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "3" + }, + { + "sampleId": "TCGA-CS-4938-01", + "studyId": "lgg_tcga_pan_can_atlas_2018", + "value": "2" + }, + { + "sampleId": "TCGA-CS-4941-01", + "studyId": "lgg_tcga_pan_can_atlas_2018", + "value": "1" + }, + { + "sampleId": "TCGA-CS-4942-01", + "studyId": "lgg_tcga_pan_can_atlas_2018", + "value": "3" + }, + { + "sampleId": "TCGA-CS-4943-01", + "studyId": "lgg_tcga_pan_can_atlas_2018", + "value": "1" + } + ] + } + ], + "studyIds": [ + "coadread_tcga_pan_can_atlas_2018", + "lgg_tcga_pan_can_atlas_2018" + ], + "alterationFilter": { + "copyNumberAlterationEventTypes": { + "AMP": true, + "HOMDEL": true + }, + "mutationEventTypes": { + "any": true + }, + "structuralVariants": null, + "includeDriver": true, + "includeVUS": true, + "includeUnknownOncogenicity": true, + "includeUnknownTier": true, + "includeGermline": true, + "includeSomatic": true, + "includeUnknownStatus": true, + "tiersBooleanMap": {} + } + } + }, + "url": "/api/column-store/clinical-data-counts/fetch?", + "label": "ClinicalDataCounts", + "studies": [ + "coadread_tcga_pan_can_atlas_2018", + "lgg_tcga_pan_can_atlas_2018" + ], + "filterUrl": "/study/summary?id=coadread_tcga_pan_can_atlas_2018%2Clgg_tcga_pan_can_atlas_2018#filterJson={\"customDataFilters\":[{\"attributeId\":\"66ccdb47955a443698dbcfeb\",\"values\":[{\"start\":1,\"end\":1}]}],\"studyIds\":[\"coadread_tcga_pan_can_atlas_2018\",\"lgg_tcga_pan_can_atlas_2018\"],\"alterationFilter\":{\"copyNumberAlterationEventTypes\":{\"AMP\":true,\"HOMDEL\":true},\"mutationEventTypes\":{\"any\":true},\"structuralVariants\":null,\"includeDriver\":true,\"includeVUS\":true,\"includeUnknownOncogenicity\":true,\"includeUnknownTier\":true,\"includeGermline\":true,\"includeSomatic\":true,\"includeUnknownStatus\":true,\"tiersBooleanMap\":{}}}", + "assertResponse": [ + { + "attributeId": "PATH_M_STAGE", + "counts": [ + { + "value": "M0", + "count": 1 + }, + { + "value": "NA", + "count": 2 + } + ] + } + ] + } + ] + }, + { + "name": "filter on one range from one numerical custom data filter for two studies", + "note": "testing one numerical custom data filter of a range of values on two tcga studies", + "filterURL": "/study/summary?id=coadread_tcga_pan_can_atlas_2018%2Clgg_tcga_pan_can_atlas_2018#filterJson={\"customDataFilters\":[{\"attributeId\":\"66ccdd8a955a443698dbcfed\",\"values\":[{\"start\":1,\"end\":1},{\"start\":2,\"end\":2}]}],\"studyIds\":[\"coadread_tcga_pan_can_atlas_2018\",\"lgg_tcga_pan_can_atlas_2018\"],\"alterationFilter\":{\"copyNumberAlterationEventTypes\":{\"AMP\":true,\"HOMDEL\":true},\"mutationEventTypes\":{\"any\":true},\"structuralVariants\":null,\"includeDriver\":true,\"includeVUS\":true,\"includeUnknownOncogenicity\":true,\"includeUnknownTier\":true,\"includeGermline\":true,\"includeSomatic\":true,\"includeUnknownStatus\":true,\"tiersBooleanMap\":{}}}", + "filterText": "Custom Data 1: ≤ x ≤ 12", + "studies": [ + "coadread_tcga_pan_can_atlas_2018", + "lgg_tcga_pan_can_atlas_2018" + ], + "tests": [ + { + "hash": -2103178783, + "filterString": "Custom Data 1: ≤ x ≤ 12", + "data": { + "attributes": [ + { + "attributeId": "PATH_M_STAGE" + }, + { + "attributeId": "SUBTYPE" + } + ], + "studyViewFilter": { + "customDataFilters": [ + { + "attributeId": "66ccdd8a955a443698dbcfed", + "values": [ + { + "start": 1, + "end": 1 + }, + { + "start": 2, + "end": 2 + } + ], + "datatype": "NUMBER", + "displayName": "Custom Data 1", + "samples": [ + { + "sampleId": "TCGA-3L-AA1B-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "1" + }, + { + "sampleId": "TCGA-4N-A93T-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "2" + }, + { + "sampleId": "TCGA-5M-AAT4-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "2" + }, + { + "sampleId": "TCGA-5M-AAT5-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "2" + }, + { + "sampleId": "TCGA-5M-AAT6-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "3" + }, + { + "sampleId": "TCGA-CS-4938-01", + "studyId": "lgg_tcga_pan_can_atlas_2018", + "value": "2" + }, + { + "sampleId": "TCGA-CS-4941-01", + "studyId": "lgg_tcga_pan_can_atlas_2018", + "value": "1" + }, + { + "sampleId": "TCGA-CS-4942-01", + "studyId": "lgg_tcga_pan_can_atlas_2018", + "value": "3" + }, + { + "sampleId": "TCGA-CS-4943-01", + "studyId": "lgg_tcga_pan_can_atlas_2018", + "value": "1" + } + ] + } + ], + "studyIds": [ + "coadread_tcga_pan_can_atlas_2018", + "lgg_tcga_pan_can_atlas_2018" + ], + "alterationFilter": { + "copyNumberAlterationEventTypes": { + "AMP": true, + "HOMDEL": true + }, + "mutationEventTypes": { + "any": true + }, + "structuralVariants": null, + "includeDriver": true, + "includeVUS": true, + "includeUnknownOncogenicity": true, + "includeUnknownTier": true, + "includeGermline": true, + "includeSomatic": true, + "includeUnknownStatus": true, + "tiersBooleanMap": {} + } + } + }, + "url": "/api/column-store/clinical-data-counts/fetch?", + "label": "ClinicalDataCounts", + "studies": [ + "coadread_tcga_pan_can_atlas_2018", + "lgg_tcga_pan_can_atlas_2018" + ], + "filterUrl": "/study/summary?id=coadread_tcga_pan_can_atlas_2018%2Clgg_tcga_pan_can_atlas_2018#filterJson={\"customDataFilters\":[{\"attributeId\":\"66ccdd8a955a443698dbcfed\",\"values\":[{\"start\":1,\"end\":1},{\"start\":2,\"end\":2}]}],\"studyIds\":[\"coadread_tcga_pan_can_atlas_2018\",\"lgg_tcga_pan_can_atlas_2018\"],\"alterationFilter\":{\"copyNumberAlterationEventTypes\":{\"AMP\":true,\"HOMDEL\":true},\"mutationEventTypes\":{\"any\":true},\"structuralVariants\":null,\"includeDriver\":true,\"includeVUS\":true,\"includeUnknownOncogenicity\":true,\"includeUnknownTier\":true,\"includeGermline\":true,\"includeSomatic\":true,\"includeUnknownStatus\":true,\"tiersBooleanMap\":{}}}", + "assertResponse": [ + { + "attributeId": "PATH_M_STAGE", + "counts": [ + { + "value": "M0", + "count": 2 + }, + { + "value": "M1B", + "count": 1 + }, + { + "value": "NA", + "count": 4 + } + ] + }, + { + "attributeId": "SUBTYPE", + "counts": [ + { + "value": "LGG_IDHwt", + "count": 1 + }, + { + "value": "COAD_CIN", + "count": 4 + }, + { + "value": "LGG_IDHmut-non-codel", + "count": 2 + } + ] + } + ] + } + ] + }, + { + "name": "filter on two ranges from two numerical custom data filters for two studies", + "note": "testing two numerical custom data filters of two ranges of values on two tcga studies", + "filterURL": "/study/summary?id=coadread_tcga_pan_can_atlas_2018%2Clgg_tcga_pan_can_atlas_2018#filterJson={\"customDataFilters\":[{\"attributeId\":\"66ccdd8a955a443698dbcfed\",\"values\":[{\"start\":1,\"end\":1},{\"start\":2,\"end\":2}]},{\"attributeId\":\"66cce0eb955a443698dbcfee\",\"values\":[{\"start\":3,\"end\":3},{\"start\":4,\"end\":4}]}],\"studyIds\":[\"coadread_tcga_pan_can_atlas_2018\",\"lgg_tcga_pan_can_atlas_2018\"],\"alterationFilter\":{\"copyNumberAlterationEventTypes\":{\"AMP\":true,\"HOMDEL\":true},\"mutationEventTypes\":{\"any\":true},\"structuralVariants\":null,\"includeDriver\":true,\"includeVUS\":true,\"includeUnknownOncogenicity\":true,\"includeUnknownTier\":true,\"includeGermline\":true,\"includeSomatic\":true,\"includeUnknownStatus\":true,\"tiersBooleanMap\":{}}}", + "filterText": "Custom Data 1: ≤ x ≤ 12Custom Data 2: ≤ x ≤ 34", + "studies": [ + "coadread_tcga_pan_can_atlas_2018", + "lgg_tcga_pan_can_atlas_2018" + ], + "tests": [ + { + "hash": 698458271, + "filterString": "Custom Data 1: ≤ x ≤ 12Custom Data 2: ≤ x ≤ 34", + "data": { + "attributes": [ + { + "attributeId": "PATH_M_STAGE" + }, + { + "attributeId": "SUBTYPE" + }, + { + "attributeId": "TUMOR_TYPE" + } + ], + "studyViewFilter": { + "customDataFilters": [ + { + "attributeId": "66ccdd8a955a443698dbcfed", + "values": [ + { + "start": 1, + "end": 1 + }, + { + "start": 2, + "end": 2 + } + ], + "datatype": "NUMBER", + "displayName": "Custom Data 1", + "samples": [ + { + "sampleId": "TCGA-3L-AA1B-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "1" + }, + { + "sampleId": "TCGA-4N-A93T-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "2" + }, + { + "sampleId": "TCGA-5M-AAT4-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "2" + }, + { + "sampleId": "TCGA-5M-AAT5-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "2" + }, + { + "sampleId": "TCGA-5M-AAT6-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "3" + }, + { + "sampleId": "TCGA-CS-4938-01", + "studyId": "lgg_tcga_pan_can_atlas_2018", + "value": "2" + }, + { + "sampleId": "TCGA-CS-4941-01", + "studyId": "lgg_tcga_pan_can_atlas_2018", + "value": "1" + }, + { + "sampleId": "TCGA-CS-4942-01", + "studyId": "lgg_tcga_pan_can_atlas_2018", + "value": "3" + }, + { + "sampleId": "TCGA-CS-4943-01", + "studyId": "lgg_tcga_pan_can_atlas_2018", + "value": "1" + } + ] + }, + { + "attributeId": "66cce0eb955a443698dbcfee", + "values": [ + { + "start": 3, + "end": 3 + }, + { + "start": 4, + "end": 4 + } + ], + "datatype": "NUMBER", + "displayName": "Custom Data 2", + "samples": [ + { + "sampleId": "TCGA-3L-AA1B-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "4" + }, + { + "sampleId": "TCGA-4N-A93T-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "3" + }, + { + "sampleId": "TCGA-4T-AA8H-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "2" + }, + { + "sampleId": "TCGA-5M-AAT4-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "2" + }, + { + "sampleId": "TCGA-5M-AAT5-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "1" + }, + { + "sampleId": "TCGA-5M-AAT6-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "4" + }, + { + "sampleId": "TCGA-5M-AATA-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "2" + }, + { + "sampleId": "TCGA-CS-4942-01", + "studyId": "lgg_tcga_pan_can_atlas_2018", + "value": "3" + }, + { + "sampleId": "TCGA-CS-4943-01", + "studyId": "lgg_tcga_pan_can_atlas_2018", + "value": "1" + }, + { + "sampleId": "TCGA-CS-4944-01", + "studyId": "lgg_tcga_pan_can_atlas_2018", + "value": "3" + }, + { + "sampleId": "TCGA-CS-4945-01", + "studyId": "lgg_tcga_pan_can_atlas_2018", + "value": "1" + } + ] + } + ], + "studyIds": [ + "coadread_tcga_pan_can_atlas_2018", + "lgg_tcga_pan_can_atlas_2018" + ], + "alterationFilter": { + "copyNumberAlterationEventTypes": { + "AMP": true, + "HOMDEL": true + }, + "mutationEventTypes": { + "any": true + }, + "structuralVariants": null, + "includeDriver": true, + "includeVUS": true, + "includeUnknownOncogenicity": true, + "includeUnknownTier": true, + "includeGermline": true, + "includeSomatic": true, + "includeUnknownStatus": true, + "tiersBooleanMap": {} + } + } + }, + "url": "/api/column-store/clinical-data-counts/fetch?", + "label": "ClinicalDataCounts", + "studies": [ + "coadread_tcga_pan_can_atlas_2018", + "lgg_tcga_pan_can_atlas_2018" + ], + "filterUrl": "/study/summary?id=coadread_tcga_pan_can_atlas_2018%2Clgg_tcga_pan_can_atlas_2018#filterJson={\"customDataFilters\":[{\"attributeId\":\"66ccdd8a955a443698dbcfed\",\"values\":[{\"start\":1,\"end\":1},{\"start\":2,\"end\":2}]},{\"attributeId\":\"66cce0eb955a443698dbcfee\",\"values\":[{\"start\":3,\"end\":3},{\"start\":4,\"end\":4}]}],\"studyIds\":[\"coadread_tcga_pan_can_atlas_2018\",\"lgg_tcga_pan_can_atlas_2018\"],\"alterationFilter\":{\"copyNumberAlterationEventTypes\":{\"AMP\":true,\"HOMDEL\":true},\"mutationEventTypes\":{\"any\":true},\"structuralVariants\":null,\"includeDriver\":true,\"includeVUS\":true,\"includeUnknownOncogenicity\":true,\"includeUnknownTier\":true,\"includeGermline\":true,\"includeSomatic\":true,\"includeUnknownStatus\":true,\"tiersBooleanMap\":{}}}", + "assertResponse": [ + { + "attributeId": "PATH_M_STAGE", + "counts": [ + { + "value": "M0", + "count": 2 + } + ] + }, + { + "attributeId": "SUBTYPE", + "counts": [ + { + "value": "COAD_CIN", + "count": 2 + } + ] + }, + { + "attributeId": "TUMOR_TYPE", + "counts": [ + { + "value": "Colon Adenocarcinoma", + "count": 2 + } + ] + } + ] + } + ] + }, + { + "name": "filter on NA value from one numerical custom data filters for two studies", + "note": "testing one numerical custom data filter NA value on two tcga studies", + "filterURL": "/study/summary?id=coadread_tcga_pan_can_atlas_2018%2Clgg_tcga_pan_can_atlas_2018#filterJson={\"customDataFilters\":[{\"attributeId\":\"66ccec22955a443698dbcfef\",\"values\":[{\"value\":\"NA\"}]}],\"studyIds\":[\"coadread_tcga_pan_can_atlas_2018\",\"lgg_tcga_pan_can_atlas_2018\"],\"alterationFilter\":{\"copyNumberAlterationEventTypes\":{\"AMP\":true,\"HOMDEL\":true},\"mutationEventTypes\":{\"any\":true},\"structuralVariants\":null,\"includeDriver\":true,\"includeVUS\":true,\"includeUnknownOncogenicity\":true,\"includeUnknownTier\":true,\"includeGermline\":true,\"includeSomatic\":true,\"includeUnknownStatus\":true,\"tiersBooleanMap\":{}}}", + "filterText": "Custom Data 1:NA", + "studies": [ + "coadread_tcga_pan_can_atlas_2018", + "lgg_tcga_pan_can_atlas_2018" + ], + "tests": [ + { + "hash": 1348752016, + "filterString": "Custom Data 1:NA", + "data": { + "attributes": [ + { + "attributeId": "PATH_M_STAGE" + } + ], + "studyViewFilter": { + "customDataFilters": [ + { + "attributeId": "66ccec22955a443698dbcfef", + "values": [ + { + "value": "NA" + } + ], + "datatype": "NUMBER", + "displayName": "Custom Data 1", + "samples": [ + { + "sampleId": "TCGA-3L-AA1B-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "1" + }, + { + "sampleId": "TCGA-4N-A93T-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "2" + }, + { + "sampleId": "TCGA-5M-AAT4-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "2" + }, + { + "sampleId": "TCGA-5M-AAT5-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "2" + }, + { + "sampleId": "TCGA-5M-AAT6-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "3" + }, + { + "sampleId": "TCGA-CS-4938-01", + "studyId": "lgg_tcga_pan_can_atlas_2018", + "value": "2" + }, + { + "sampleId": "TCGA-CS-4941-01", + "studyId": "lgg_tcga_pan_can_atlas_2018", + "value": "1" + }, + { + "sampleId": "TCGA-CS-4942-01", + "studyId": "lgg_tcga_pan_can_atlas_2018", + "value": "3" + }, + { + "sampleId": "TCGA-CS-4943-01", + "studyId": "lgg_tcga_pan_can_atlas_2018", + "value": "1" + } + ] + } + ], + "studyIds": [ + "coadread_tcga_pan_can_atlas_2018", + "lgg_tcga_pan_can_atlas_2018" + ], + "alterationFilter": { + "copyNumberAlterationEventTypes": { + "AMP": true, + "HOMDEL": true + }, + "mutationEventTypes": { + "any": true + }, + "structuralVariants": null, + "includeDriver": true, + "includeVUS": true, + "includeUnknownOncogenicity": true, + "includeUnknownTier": true, + "includeGermline": true, + "includeSomatic": true, + "includeUnknownStatus": true, + "tiersBooleanMap": {} + } + } + }, + "url": "/api/column-store/clinical-data-counts/fetch?", + "label": "ClinicalDataCounts", + "studies": [ + "coadread_tcga_pan_can_atlas_2018", + "lgg_tcga_pan_can_atlas_2018" + ], + "filterUrl": "/study/summary?id=coadread_tcga_pan_can_atlas_2018%2Clgg_tcga_pan_can_atlas_2018#filterJson={\"customDataFilters\":[{\"attributeId\":\"66ccec22955a443698dbcfef\",\"values\":[{\"value\":\"NA\"}]}],\"studyIds\":[\"coadread_tcga_pan_can_atlas_2018\",\"lgg_tcga_pan_can_atlas_2018\"],\"alterationFilter\":{\"copyNumberAlterationEventTypes\":{\"AMP\":true,\"HOMDEL\":true},\"mutationEventTypes\":{\"any\":true},\"structuralVariants\":null,\"includeDriver\":true,\"includeVUS\":true,\"includeUnknownOncogenicity\":true,\"includeUnknownTier\":true,\"includeGermline\":true,\"includeSomatic\":true,\"includeUnknownStatus\":true,\"tiersBooleanMap\":{}}}", + "assertResponse": [ + { + "attributeId": "PATH_M_STAGE", + "counts": [ + { + "value": "M0", + "count": 438 + }, + { + "value": "M1", + "count": 69 + }, + { + "value": "MX", + "count": 62 + }, + { + "value": "M1A", + "count": 10 + }, + { + "value": "M1B", + "count": 2 + }, + { + "value": "NA", + "count": 518 + } + ] + } + ] + } + ] + }, + { + "name": "filter on NA and non-NA value from one numerical custom data filter for two studies", + "note": "testing one numerical custom data filter of a NA and non-NA values on two tcga studies", + "filterURL": "/study/summary?id=coadread_tcga_pan_can_atlas_2018%2Clgg_tcga_pan_can_atlas_2018#filterJson={\"customDataFilters\":[{\"attributeId\":\"66ccdd8a955a443698dbcfed\",\"values\":[{\"start\":3,\"end\":3},{\"value\":\"NA\"}]}],\"studyIds\":[\"coadread_tcga_pan_can_atlas_2018\",\"lgg_tcga_pan_can_atlas_2018\"],\"alterationFilter\":{\"copyNumberAlterationEventTypes\":{\"AMP\":true,\"HOMDEL\":true},\"mutationEventTypes\":{\"any\":true},\"structuralVariants\":null,\"includeDriver\":true,\"includeVUS\":true,\"includeUnknownOncogenicity\":true,\"includeUnknownTier\":true,\"includeGermline\":true,\"includeSomatic\":true,\"includeUnknownStatus\":true,\"tiersBooleanMap\":{}}}", + "filterText": "Custom Data 1:NA3, ", + "studies": [ + "coadread_tcga_pan_can_atlas_2018", + "lgg_tcga_pan_can_atlas_2018" + ], + "tests": [ + { + "hash": -980559746, + "filterString": "Custom Data 1:NA3, ", + "data": { + "attributes": [ + { + "attributeId": "PATH_M_STAGE" + }, + { + "attributeId": "SUBTYPE" + }, + { + "attributeId": "TUMOR_TYPE" + } + ], + "studyViewFilter": { + "customDataFilters": [ + { + "attributeId": "66ccdd8a955a443698dbcfed", + "values": [ + { + "start": 3, + "end": 3 + }, + { + "value": "NA" + } + ], + "datatype": "NUMBER", + "displayName": "Custom Data 1", + "samples": [ + { + "sampleId": "TCGA-3L-AA1B-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "1" + }, + { + "sampleId": "TCGA-4N-A93T-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "2" + }, + { + "sampleId": "TCGA-5M-AAT4-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "2" + }, + { + "sampleId": "TCGA-5M-AAT5-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "2" + }, + { + "sampleId": "TCGA-5M-AAT6-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "3" + }, + { + "sampleId": "TCGA-CS-4938-01", + "studyId": "lgg_tcga_pan_can_atlas_2018", + "value": "2" + }, + { + "sampleId": "TCGA-CS-4941-01", + "studyId": "lgg_tcga_pan_can_atlas_2018", + "value": "1" + }, + { + "sampleId": "TCGA-CS-4942-01", + "studyId": "lgg_tcga_pan_can_atlas_2018", + "value": "3" + }, + { + "sampleId": "TCGA-CS-4943-01", + "studyId": "lgg_tcga_pan_can_atlas_2018", + "value": "1" + } + ] + } + ], + "studyIds": [ + "coadread_tcga_pan_can_atlas_2018", + "lgg_tcga_pan_can_atlas_2018" + ], + "alterationFilter": { + "copyNumberAlterationEventTypes": { + "AMP": true, + "HOMDEL": true + }, + "mutationEventTypes": { + "any": true + }, + "structuralVariants": null, + "includeDriver": true, + "includeVUS": true, + "includeUnknownOncogenicity": true, + "includeUnknownTier": true, + "includeGermline": true, + "includeSomatic": true, + "includeUnknownStatus": true, + "tiersBooleanMap": {} + } + } + }, + "url": "/api/column-store/clinical-data-counts/fetch?", + "label": "ClinicalDataCounts", + "studies": [ + "coadread_tcga_pan_can_atlas_2018", + "lgg_tcga_pan_can_atlas_2018" + ], + "filterUrl": "/study/summary?id=coadread_tcga_pan_can_atlas_2018%2Clgg_tcga_pan_can_atlas_2018#filterJson={\"customDataFilters\":[{\"attributeId\":\"66ccdd8a955a443698dbcfed\",\"values\":[{\"start\":3,\"end\":3},{\"value\":\"NA\"}]}],\"studyIds\":[\"coadread_tcga_pan_can_atlas_2018\",\"lgg_tcga_pan_can_atlas_2018\"],\"alterationFilter\":{\"copyNumberAlterationEventTypes\":{\"AMP\":true,\"HOMDEL\":true},\"mutationEventTypes\":{\"any\":true},\"structuralVariants\":null,\"includeDriver\":true,\"includeVUS\":true,\"includeUnknownOncogenicity\":true,\"includeUnknownTier\":true,\"includeGermline\":true,\"includeSomatic\":true,\"includeUnknownStatus\":true,\"tiersBooleanMap\":{}}}", + "assertResponse": [ + { + "attributeId": "PATH_M_STAGE", + "counts": [ + { + "value": "M0", + "count": 438 + }, + { + "value": "M1", + "count": 69 + }, + { + "value": "MX", + "count": 62 + }, + { + "value": "M1A", + "count": 11 + }, + { + "value": "M1B", + "count": 2 + }, + { + "value": "NA", + "count": 519 + } + ] + }, + { + "attributeId": "SUBTYPE", + "counts": [ + { + "value": "LGG_IDHwt", + "count": 91 + }, + { + "value": "COAD_CIN", + "count": 222 + }, + { + "value": "READ_POLE", + "count": 4 + }, + { + "value": "NA", + "count": 142 + }, + { + "value": "LGG_IDHmut-non-codel", + "count": 246 + }, + { + "value": "COAD_MSI", + "count": 60 + }, + { + "value": "COAD_POLE", + "count": 6 + }, + { + "value": "COAD_GS", + "count": 49 + }, + { + "value": "READ_MSI", + "count": 3 + }, + { + "value": "LGG_IDHmut-codel", + "count": 167 + }, + { + "value": "READ_CIN", + "count": 102 + }, + { + "value": "READ_GS", + "count": 9 + } + ] + }, + { + "attributeId": "TUMOR_TYPE", + "counts": [ + { + "value": "Oligoastrocytoma", + "count": 130 + }, + { + "value": "Colon Adenocarcinoma", + "count": 374 + }, + { + "value": "Oligodendroglioma", + "count": 189 + }, + { + "value": "Rectum Adenocarcinoma", + "count": 6 + }, + { + "value": "Low-Grade Glioma", + "count": 1 + }, + { + "value": "Astrocytoma", + "count": 191 + }, + { + "value": "Rectal Adenocarcinoma", + "count": 136 + }, + { + "value": "Rectal Adenocarcinoma, Mucinous Type", + "count": 13 + }, + { + "value": "Colon Adenocarcinoma, Mucinous Type", + "count": 61 + } + ] + } + ] + } + ] + }, + { + "name": "filter on NA and non-NA ranges from two numerical custom data filters for two studies", + "note": "testing two numerical custom data filters of two ranges of NA and non-NA values on two tcga studies", + "filterURL": "/study/summary?id=coadread_tcga_pan_can_atlas_2018%2Clgg_tcga_pan_can_atlas_2018#filterJson={\"customDataFilters\":[{\"attributeId\":\"66ccdd8a955a443698dbcfed\",\"values\":[{\"start\":3,\"end\":3},{\"value\":\"NA\"}]},{\"attributeId\":\"66cce0eb955a443698dbcfee\",\"values\":[{\"start\":3,\"end\":3},{\"start\":4,\"end\":4},{\"value\":\"NA\"}]}],\"studyIds\":[\"coadread_tcga_pan_can_atlas_2018\",\"lgg_tcga_pan_can_atlas_2018\"],\"alterationFilter\":{\"copyNumberAlterationEventTypes\":{\"AMP\":true,\"HOMDEL\":true},\"mutationEventTypes\":{\"any\":true},\"structuralVariants\":null,\"includeDriver\":true,\"includeVUS\":true,\"includeUnknownOncogenicity\":true,\"includeUnknownTier\":true,\"includeGermline\":true,\"includeSomatic\":true,\"includeUnknownStatus\":true,\"tiersBooleanMap\":{}}}", + "filterText": "Custom Data 1:NA3, Custom Data 2: ≤ x ≤ NA34, ", + "studies": [ + "coadread_tcga_pan_can_atlas_2018", + "lgg_tcga_pan_can_atlas_2018" + ], + "tests": [ + { + "hash": -192671518, + "filterString": "Custom Data 1:NA3, Custom Data 2: ≤ x ≤ NA34, ", + "data": { + "attributes": [ + { + "attributeId": "PATH_M_STAGE" + }, + { + "attributeId": "SUBTYPE" + } + ], + "studyViewFilter": { + "customDataFilters": [ + { + "attributeId": "66ccdd8a955a443698dbcfed", + "values": [ + { + "start": 3, + "end": 3 + }, + { + "value": "NA" + } + ], + "datatype": "NUMBER", + "displayName": "Custom Data 1", + "samples": [ + { + "sampleId": "TCGA-3L-AA1B-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "1" + }, + { + "sampleId": "TCGA-4N-A93T-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "2" + }, + { + "sampleId": "TCGA-5M-AAT4-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "2" + }, + { + "sampleId": "TCGA-5M-AAT5-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "2" + }, + { + "sampleId": "TCGA-5M-AAT6-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "3" + }, + { + "sampleId": "TCGA-CS-4938-01", + "studyId": "lgg_tcga_pan_can_atlas_2018", + "value": "2" + }, + { + "sampleId": "TCGA-CS-4941-01", + "studyId": "lgg_tcga_pan_can_atlas_2018", + "value": "1" + }, + { + "sampleId": "TCGA-CS-4942-01", + "studyId": "lgg_tcga_pan_can_atlas_2018", + "value": "3" + }, + { + "sampleId": "TCGA-CS-4943-01", + "studyId": "lgg_tcga_pan_can_atlas_2018", + "value": "1" + } + ] + }, + { + "attributeId": "66cce0eb955a443698dbcfee", + "values": [ + { + "start": 3, + "end": 3 + }, + { + "start": 4, + "end": 4 + }, + { + "value": "NA" + } + ], + "datatype": "NUMBER", + "displayName": "Custom Data 2", + "samples": [ + { + "sampleId": "TCGA-3L-AA1B-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "4" + }, + { + "sampleId": "TCGA-4N-A93T-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "3" + }, + { + "sampleId": "TCGA-4T-AA8H-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "2" + }, + { + "sampleId": "TCGA-5M-AAT4-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "2" + }, + { + "sampleId": "TCGA-5M-AAT5-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "1" + }, + { + "sampleId": "TCGA-5M-AAT6-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "4" + }, + { + "sampleId": "TCGA-5M-AATA-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "2" + }, + { + "sampleId": "TCGA-CS-4942-01", + "studyId": "lgg_tcga_pan_can_atlas_2018", + "value": "3" + }, + { + "sampleId": "TCGA-CS-4943-01", + "studyId": "lgg_tcga_pan_can_atlas_2018", + "value": "1" + }, + { + "sampleId": "TCGA-CS-4944-01", + "studyId": "lgg_tcga_pan_can_atlas_2018", + "value": "3" + }, + { + "sampleId": "TCGA-CS-4945-01", + "studyId": "lgg_tcga_pan_can_atlas_2018", + "value": "1" + } + ] + } + ], + "studyIds": [ + "coadread_tcga_pan_can_atlas_2018", + "lgg_tcga_pan_can_atlas_2018" + ], + "alterationFilter": { + "copyNumberAlterationEventTypes": { + "AMP": true, + "HOMDEL": true + }, + "mutationEventTypes": { + "any": true + }, + "structuralVariants": null, + "includeDriver": true, + "includeVUS": true, + "includeUnknownOncogenicity": true, + "includeUnknownTier": true, + "includeGermline": true, + "includeSomatic": true, + "includeUnknownStatus": true, + "tiersBooleanMap": {} + } + } + }, + "url": "/api/column-store/clinical-data-counts/fetch?", + "label": "ClinicalDataCounts", + "studies": [ + "coadread_tcga_pan_can_atlas_2018", + "lgg_tcga_pan_can_atlas_2018" + ], + "filterUrl": "/study/summary?id=coadread_tcga_pan_can_atlas_2018%2Clgg_tcga_pan_can_atlas_2018#filterJson={\"customDataFilters\":[{\"attributeId\":\"66ccdd8a955a443698dbcfed\",\"values\":[{\"start\":3,\"end\":3},{\"value\":\"NA\"}]},{\"attributeId\":\"66cce0eb955a443698dbcfee\",\"values\":[{\"start\":3,\"end\":3},{\"start\":4,\"end\":4},{\"value\":\"NA\"}]}],\"studyIds\":[\"coadread_tcga_pan_can_atlas_2018\",\"lgg_tcga_pan_can_atlas_2018\"],\"alterationFilter\":{\"copyNumberAlterationEventTypes\":{\"AMP\":true,\"HOMDEL\":true},\"mutationEventTypes\":{\"any\":true},\"structuralVariants\":null,\"includeDriver\":true,\"includeVUS\":true,\"includeUnknownOncogenicity\":true,\"includeUnknownTier\":true,\"includeGermline\":true,\"includeSomatic\":true,\"includeUnknownStatus\":true,\"tiersBooleanMap\":{}}}", + "assertResponse": [ + { + "attributeId": "PATH_M_STAGE", + "counts": [ + { + "value": "M0", + "count": 438 + }, + { + "value": "M1", + "count": 69 + }, + { + "value": "MX", + "count": 61 + }, + { + "value": "M1A", + "count": 11 + }, + { + "value": "M1B", + "count": 2 + }, + { + "value": "NA", + "count": 518 + } + ] + }, + { + "attributeId": "SUBTYPE", + "counts": [ + { + "value": "LGG_IDHwt", + "count": 91 + }, + { + "value": "COAD_CIN", + "count": 220 + }, + { + "value": "READ_POLE", + "count": 4 + }, + { + "value": "NA", + "count": 142 + }, + { + "value": "LGG_IDHmut-non-codel", + "count": 246 + }, + { + "value": "COAD_MSI", + "count": 60 + }, + { + "value": "COAD_POLE", + "count": 6 + }, + { + "value": "COAD_GS", + "count": 49 + }, + { + "value": "READ_MSI", + "count": 3 + }, + { + "value": "LGG_IDHmut-codel", + "count": 167 + }, + { + "value": "READ_CIN", + "count": 102 + }, + { + "value": "READ_GS", + "count": 9 + } + ] + } + ] + } + ] + }, + { + "name": "filter on NA and non-NA ranges from two numerical custom data filters", + "note": "testing two numerical custom data filters of two ranges of NA and non-NA values on one tcga study", + "filterURL": "/study/summary?id=coadread_tcga_pan_can_atlas_2018#filterJson={\"customDataFilters\":[{\"attributeId\":\"66ccf430955a443698dbcff4\",\"values\":[{\"start\":1,\"end\":1},{\"start\":2,\"end\":2},{\"start\":3,\"end\":3},{\"value\":\"NA\"}]},{\"attributeId\":\"66ccf437955a443698dbcff5\",\"values\":[{\"start\":1,\"end\":1},{\"start\":2,\"end\":2},{\"start\":3,\"end\":3},{\"start\":4,\"end\":4}]}],\"studyIds\":[\"coadread_tcga_pan_can_atlas_2018\"],\"alterationFilter\":{\"copyNumberAlterationEventTypes\":{\"AMP\":true,\"HOMDEL\":true},\"mutationEventTypes\":{\"any\":true},\"structuralVariants\":null,\"includeDriver\":true,\"includeVUS\":true,\"includeUnknownOncogenicity\":true,\"includeUnknownTier\":true,\"includeGermline\":true,\"includeSomatic\":true,\"includeUnknownStatus\":true,\"tiersBooleanMap\":{}}}", + "filterText": "Custom Data 1: ≤ x ≤ NA13, Custom Data 2: ≤ x ≤ 14", + "studies": [ + "coadread_tcga_pan_can_atlas_2018" + ], + "tests": [ + { + "hash": 427644381, + "filterString": "Custom Data 1: ≤ x ≤ NA13, Custom Data 2: ≤ x ≤ 14", + "data": { + "attributes": [ + { + "attributeId": "PATH_M_STAGE" + } + ], + "studyViewFilter": { + "customDataFilters": [ + { + "attributeId": "66ccf430955a443698dbcff4", + "values": [ + { + "start": 1, + "end": 1 + }, + { + "start": 2, + "end": 2 + }, + { + "start": 3, + "end": 3 + }, + { + "value": "NA" + } + ], + "datatype": "NUMBER", + "displayName": "Custom Data 1", + "samples": [ + { + "sampleId": "TCGA-3L-AA1B-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "1" + }, + { + "sampleId": "TCGA-4N-A93T-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "2" + }, + { + "sampleId": "TCGA-5M-AAT4-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "2" + }, + { + "sampleId": "TCGA-5M-AAT5-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "2" + }, + { + "sampleId": "TCGA-5M-AAT6-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "3" + } + ] + }, + { + "attributeId": "66ccf437955a443698dbcff5", + "values": [ + { + "start": 1, + "end": 1 + }, + { + "start": 2, + "end": 2 + }, + { + "start": 3, + "end": 3 + }, + { + "start": 4, + "end": 4 + } + ], + "datatype": "NUMBER", + "displayName": "Custom Data 2", + "samples": [ + { + "sampleId": "TCGA-3L-AA1B-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "4" + }, + { + "sampleId": "TCGA-4N-A93T-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "3" + }, + { + "sampleId": "TCGA-4T-AA8H-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "2" + }, + { + "sampleId": "TCGA-5M-AAT4-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "2" + }, + { + "sampleId": "TCGA-5M-AAT5-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "1" + }, + { + "sampleId": "TCGA-5M-AAT6-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "4" + }, + { + "sampleId": "TCGA-5M-AATA-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "2" + } + ] + } + ], + "studyIds": [ + "coadread_tcga_pan_can_atlas_2018" + ], + "alterationFilter": { + "copyNumberAlterationEventTypes": { + "AMP": true, + "HOMDEL": true + }, + "mutationEventTypes": { + "any": true + }, + "structuralVariants": null, + "includeDriver": true, + "includeVUS": true, + "includeUnknownOncogenicity": true, + "includeUnknownTier": true, + "includeGermline": true, + "includeSomatic": true, + "includeUnknownStatus": true, + "tiersBooleanMap": {} + } + } + }, + "url": "/api/column-store/clinical-data-counts/fetch?", + "label": "ClinicalDataCounts", + "studies": [ + "coadread_tcga_pan_can_atlas_2018" + ], + "filterUrl": "/study/summary?id=coadread_tcga_pan_can_atlas_2018#filterJson={\"customDataFilters\":[{\"attributeId\":\"66ccf430955a443698dbcff4\",\"values\":[{\"start\":1,\"end\":1},{\"start\":2,\"end\":2},{\"start\":3,\"end\":3},{\"value\":\"NA\"}]},{\"attributeId\":\"66ccf437955a443698dbcff5\",\"values\":[{\"start\":1,\"end\":1},{\"start\":2,\"end\":2},{\"start\":3,\"end\":3},{\"start\":4,\"end\":4}]}],\"studyIds\":[\"coadread_tcga_pan_can_atlas_2018\"],\"alterationFilter\":{\"copyNumberAlterationEventTypes\":{\"AMP\":true,\"HOMDEL\":true},\"mutationEventTypes\":{\"any\":true},\"structuralVariants\":null,\"includeDriver\":true,\"includeVUS\":true,\"includeUnknownOncogenicity\":true,\"includeUnknownTier\":true,\"includeGermline\":true,\"includeSomatic\":true,\"includeUnknownStatus\":true,\"tiersBooleanMap\":{}}}", + "assertResponse": [ + { + "attributeId": "PATH_M_STAGE", + "counts": [ + { + "value": "M0", + "count": 2 + }, + { + "value": "MX", + "count": 1 + }, + { + "value": "M1B", + "count": 1 + }, + { + "value": "M1A", + "count": 1 + }, + { + "value": "NA", + "count": 2 + } + ] + } + ] + } + ] + } +] \ No newline at end of file diff --git a/test/api-e2e/specs/custom-data-counts-filter.json b/test/api-e2e/specs/custom-data-counts-filter.json new file mode 100644 index 00000000000..cc60708f1f3 --- /dev/null +++ b/test/api-e2e/specs/custom-data-counts-filter.json @@ -0,0 +1,1153 @@ +[ + { + "name": "filter on one value from one categorical custom data filter", + "note": "testing one categorical custom data filter of one value on one tcga study", + "filterURL": "/study/summary?id=coadread_tcga_pan_can_atlas_2018#filterJson={\"customDataFilters\":[{\"attributeId\":\"66c8eeb56704ad7736da5640\",\"values\":[{\"value\":\"brown\"}]}],\"studyIds\":[\"coadread_tcga_pan_can_atlas_2018\"],\"alterationFilter\":{\"copyNumberAlterationEventTypes\":{\"AMP\":true,\"HOMDEL\":true},\"mutationEventTypes\":{\"any\":true},\"structuralVariants\":null,\"includeDriver\":true,\"includeVUS\":true,\"includeUnknownOncogenicity\":true,\"includeUnknownTier\":true,\"includeGermline\":true,\"includeSomatic\":true,\"includeUnknownStatus\":true,\"tiersBooleanMap\":{}}}", + "filterText": "Custom Data 1:brown", + "studies": [ + "coadread_tcga_pan_can_atlas_2018" + ], + "tests": [ + { + "hash": -560317715, + "filterString": "Custom Data 1:brown", + "data": { + "attributes": [ + { + "attributeId": "PATH_M_STAGE" + } + ], + "studyViewFilter": { + "customDataFilters": [ + { + "attributeId": "66ccf867955a443698dbcff7", + "values": [ + { + "value": "brown" + } + ], + "datatype": "STRING", + "displayName": "Custom Data 1", + "samples": [ + { + "sampleId": "TCGA-3L-AA1B-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "brown" + }, + { + "sampleId": "TCGA-4N-A93T-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "brown" + }, + { + "sampleId": "TCGA-5M-AAT4-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "blue" + }, + { + "sampleId": "TCGA-5M-AAT5-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "brown" + }, + { + "sampleId": "TCGA-5M-AAT6-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "blue" + } + ] + } + ], + "studyIds": [ + "coadread_tcga_pan_can_atlas_2018" + ], + "alterationFilter": { + "copyNumberAlterationEventTypes": { + "AMP": true, + "HOMDEL": true + }, + "mutationEventTypes": { + "any": true + }, + "structuralVariants": null, + "includeDriver": true, + "includeVUS": true, + "includeUnknownOncogenicity": true, + "includeUnknownTier": true, + "includeGermline": true, + "includeSomatic": true, + "includeUnknownStatus": true, + "tiersBooleanMap": {} + } + } + }, + "url": "/api/column-store/clinical-data-counts/fetch?", + "label": "ClinicalDataCounts", + "studies": [ + "coadread_tcga_pan_can_atlas_2018" + ], + "filterUrl": "/study/summary?id=coadread_tcga_pan_can_atlas_2018#filterJson={\"customDataFilters\":[{\"attributeId\":\"66ccf867955a443698dbcff7\",\"values\":[{\"value\":\"brown\"}]}],\"studyIds\":[\"coadread_tcga_pan_can_atlas_2018\"],\"alterationFilter\":{\"copyNumberAlterationEventTypes\":{\"AMP\":true,\"HOMDEL\":true},\"mutationEventTypes\":{\"any\":true},\"structuralVariants\":null,\"includeDriver\":true,\"includeVUS\":true,\"includeUnknownOncogenicity\":true,\"includeUnknownTier\":true,\"includeGermline\":true,\"includeSomatic\":true,\"includeUnknownStatus\":true,\"tiersBooleanMap\":{}}}", + "assertResponse": [ + { + "attributeId": "PATH_M_STAGE", + "counts": [ + { + "value": "M0", + "count": 2 + }, + { + "value": "NA", + "count": 1 + } + ] + } + ] + } + ] + }, + { + "name": "filter on two values from one categorical custom data filter", + "note": "testing one categorical custom data filter of two values on one tcga study", + "filterURL": "/study/summary?id=coadread_tcga_pan_can_atlas_2018#filterJson={\"customDataFilters\":[{\"attributeId\":\"66c8eeb56704ad7736da5640\",\"values\":[{\"value\":\"brown\"},{\"value\":\"blue\"}]}],\"studyIds\":[\"coadread_tcga_pan_can_atlas_2018\"],\"alterationFilter\":{\"copyNumberAlterationEventTypes\":{\"AMP\":true,\"HOMDEL\":true},\"mutationEventTypes\":{\"any\":true},\"structuralVariants\":null,\"includeDriver\":true,\"includeVUS\":true,\"includeUnknownOncogenicity\":true,\"includeUnknownTier\":true,\"includeGermline\":true,\"includeSomatic\":true,\"includeUnknownStatus\":true,\"tiersBooleanMap\":{}}}", + "filterText": "Custom Data 1:brown OR blue", + "studies": [ + "coadread_tcga_pan_can_atlas_2018" + ], + "tests": [ + { + "hash": 1064825610, + "filterString": "Custom Data 1:brown OR blue", + "data": { + "attributes": [ + { + "attributeId": "PATH_M_STAGE" + }, + { + "attributeId": "SUBTYPE" + } + ], + "studyViewFilter": { + "customDataFilters": [ + { + "attributeId": "66c8eeb56704ad7736da5640", + "values": [ + { + "value": "brown" + }, + { + "value": "blue" + } + ], + "datatype": "STRING", + "displayName": "Custom Data 1", + "samples": [ + { + "sampleId": "TCGA-3L-AA1B-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "brown" + }, + { + "sampleId": "TCGA-4N-A93T-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "brown" + }, + { + "sampleId": "TCGA-5M-AAT4-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "blue" + }, + { + "sampleId": "TCGA-5M-AAT5-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "brown" + }, + { + "sampleId": "TCGA-5M-AAT6-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "blue" + } + ] + } + ], + "studyIds": [ + "coadread_tcga_pan_can_atlas_2018" + ], + "alterationFilter": { + "copyNumberAlterationEventTypes": { + "AMP": true, + "HOMDEL": true + }, + "mutationEventTypes": { + "any": true + }, + "structuralVariants": null, + "includeDriver": true, + "includeVUS": true, + "includeUnknownOncogenicity": true, + "includeUnknownTier": true, + "includeGermline": true, + "includeSomatic": true, + "includeUnknownStatus": true, + "tiersBooleanMap": {} + } + } + }, + "url": "/api/column-store/clinical-data-counts/fetch?", + "label": "ClinicalDataCounts", + "studies": [ + "coadread_tcga_pan_can_atlas_2018" + ], + "filterUrl": "/study/summary?id=coadread_tcga_pan_can_atlas_2018#filterJson={\"customDataFilters\":[{\"attributeId\":\"66c8eeb56704ad7736da5640\",\"values\":[{\"value\":\"brown\"},{\"value\":\"blue\"}]}],\"studyIds\":[\"coadread_tcga_pan_can_atlas_2018\"],\"alterationFilter\":{\"copyNumberAlterationEventTypes\":{\"AMP\":true,\"HOMDEL\":true},\"mutationEventTypes\":{\"any\":true},\"structuralVariants\":null,\"includeDriver\":true,\"includeVUS\":true,\"includeUnknownOncogenicity\":true,\"includeUnknownTier\":true,\"includeGermline\":true,\"includeSomatic\":true,\"includeUnknownStatus\":true,\"tiersBooleanMap\":{}}}", + "assertResponse": [ + { + "attributeId": "PATH_M_STAGE", + "counts": [ + { + "value": "M0", + "count": 2 + }, + { + "value": "M1B", + "count": 1 + }, + { + "value": "M1A", + "count": 1 + }, + { + "value": "NA", + "count": 1 + } + ] + }, + { + "attributeId": "SUBTYPE", + "counts": [ + { + "value": "COAD_CIN", + "count": 4 + }, + { + "value": "COAD_MSI", + "count": 1 + } + ] + } + ] + } + ] + }, + { + "name": "filter on values from two categorical custom data filters", + "note": "testing two categorical custom data filters on one tcga study", + "filterURL": "/study/summary?id=coadread_tcga_pan_can_atlas_2018#filterJson={\"customDataFilters\":[{\"attributeId\":\"66c8eeb56704ad7736da5640\",\"values\":[{\"value\":\"brown\"},{\"value\":\"blue\"}]},{\"attributeId\":\"66c8f20b6704ad7736da5641\",\"values\":[{\"value\":\"black\"}]}],\"studyIds\":[\"coadread_tcga_pan_can_atlas_2018\"],\"alterationFilter\":{\"copyNumberAlterationEventTypes\":{\"AMP\":true,\"HOMDEL\":true},\"mutationEventTypes\":{\"any\":true},\"structuralVariants\":null,\"includeDriver\":true,\"includeVUS\":true,\"includeUnknownOncogenicity\":true,\"includeUnknownTier\":true,\"includeGermline\":true,\"includeSomatic\":true,\"includeUnknownStatus\":true,\"tiersBooleanMap\":{}}}", + "filterText": "Custom Data 1:brown OR blueCustom Data 2:black", + "studies": [ + "coadread_tcga_pan_can_atlas_2018" + ], + "tests": [ + { + "hash": 1369241692, + "filterString": "Custom Data 1:brown OR blueCustom Data 2:black", + "data": { + "attributes": [ + { + "attributeId": "PATH_M_STAGE" + }, + { + "attributeId": "SUBTYPE" + }, + { + "attributeId": "TUMOR_TYPE" + } + ], + "studyViewFilter": { + "customDataFilters": [ + { + "attributeId": "66c8eeb56704ad7736da5640", + "values": [ + { + "value": "brown" + }, + { + "value": "blue" + } + ], + "datatype": "STRING", + "displayName": "Custom Data 1", + "samples": [ + { + "sampleId": "TCGA-3L-AA1B-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "brown" + }, + { + "sampleId": "TCGA-4N-A93T-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "brown" + }, + { + "sampleId": "TCGA-5M-AAT4-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "blue" + }, + { + "sampleId": "TCGA-5M-AAT5-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "brown" + }, + { + "sampleId": "TCGA-5M-AAT6-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "blue" + } + ] + }, + { + "attributeId": "66c8f20b6704ad7736da5641", + "values": [ + { + "value": "black" + } + ], + "datatype": "STRING", + "displayName": "Custom Data 2", + "samples": [ + { + "sampleId": "TCGA-3L-AA1B-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "black" + }, + { + "sampleId": "TCGA-4N-A93T-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "blond" + }, + { + "sampleId": "TCGA-4T-AA8H-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "black" + }, + { + "sampleId": "TCGA-5M-AAT4-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "black" + }, + { + "sampleId": "TCGA-5M-AAT5-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "blond" + }, + { + "sampleId": "TCGA-5M-AAT6-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "black" + }, + { + "sampleId": "TCGA-5M-AATA-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "blond" + } + ] + } + ], + "studyIds": [ + "coadread_tcga_pan_can_atlas_2018" + ], + "alterationFilter": { + "copyNumberAlterationEventTypes": { + "AMP": true, + "HOMDEL": true + }, + "mutationEventTypes": { + "any": true + }, + "structuralVariants": null, + "includeDriver": true, + "includeVUS": true, + "includeUnknownOncogenicity": true, + "includeUnknownTier": true, + "includeGermline": true, + "includeSomatic": true, + "includeUnknownStatus": true, + "tiersBooleanMap": {} + } + } + }, + "url": "/api/column-store/clinical-data-counts/fetch?", + "label": "ClinicalDataCounts", + "studies": [ + "coadread_tcga_pan_can_atlas_2018" + ], + "filterUrl": "/study/summary?id=coadread_tcga_pan_can_atlas_2018#filterJson={\"customDataFilters\":[{\"attributeId\":\"66c8eeb56704ad7736da5640\",\"values\":[{\"value\":\"brown\"},{\"value\":\"blue\"}]},{\"attributeId\":\"66c8f20b6704ad7736da5641\",\"values\":[{\"value\":\"black\"}]}],\"studyIds\":[\"coadread_tcga_pan_can_atlas_2018\"],\"alterationFilter\":{\"copyNumberAlterationEventTypes\":{\"AMP\":true,\"HOMDEL\":true},\"mutationEventTypes\":{\"any\":true},\"structuralVariants\":null,\"includeDriver\":true,\"includeVUS\":true,\"includeUnknownOncogenicity\":true,\"includeUnknownTier\":true,\"includeGermline\":true,\"includeSomatic\":true,\"includeUnknownStatus\":true,\"tiersBooleanMap\":{}}}", + "assertResponse": [ + { + "attributeId": "PATH_M_STAGE", + "counts": [ + { + "value": "M0", + "count": 1 + }, + { + "value": "M1B", + "count": 1 + }, + { + "value": "M1A", + "count": 1 + } + ] + }, + { + "attributeId": "SUBTYPE", + "counts": [ + { + "value": "COAD_CIN", + "count": 2 + }, + { + "value": "COAD_MSI", + "count": 1 + } + ] + }, + { + "attributeId": "TUMOR_TYPE", + "counts": [ + { + "value": "Colon Adenocarcinoma", + "count": 3 + } + ] + } + ] + } + ] + }, + { + "name": "filter on NA value from one categorical custom data filter", + "note": "testing one categorical custom data filter of NA value on one tcga study", + "filterURL": "/study/summary?id=coadread_tcga_pan_can_atlas_2018#filterJson={\"customDataFilters\":[{\"attributeId\":\"66c8f44c6704ad7736da5642\",\"values\":[{\"value\":\"NA\"}]}],\"studyIds\":[\"coadread_tcga_pan_can_atlas_2018\"],\"alterationFilter\":{\"copyNumberAlterationEventTypes\":{\"AMP\":true,\"HOMDEL\":true},\"mutationEventTypes\":{\"any\":true},\"structuralVariants\":null,\"includeDriver\":true,\"includeVUS\":true,\"includeUnknownOncogenicity\":true,\"includeUnknownTier\":true,\"includeGermline\":true,\"includeSomatic\":true,\"includeUnknownStatus\":true,\"tiersBooleanMap\":{}}}", + "filterText": "Custom Data 1:NA", + "studies": [ + "coadread_tcga_pan_can_atlas_2018" + ], + "tests": [ + { + "hash": 1691282374, + "filterString": "Custom Data 1:NA", + "data": { + "attributes": [ + { + "attributeId": "PATH_M_STAGE" + } + ], + "studyViewFilter": { + "customDataFilters": [ + { + "attributeId": "66c8f44c6704ad7736da5642", + "values": [ + { + "value": "NA" + } + ], + "datatype": "STRING", + "displayName": "Custom Data 1", + "samples": [ + { + "sampleId": "TCGA-3L-AA1B-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "brown" + }, + { + "sampleId": "TCGA-4N-A93T-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "brown" + }, + { + "sampleId": "TCGA-5M-AAT4-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "blue" + }, + { + "sampleId": "TCGA-5M-AAT5-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "brown" + }, + { + "sampleId": "TCGA-5M-AAT6-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "blue" + } + ] + } + ], + "studyIds": [ + "coadread_tcga_pan_can_atlas_2018" + ], + "alterationFilter": { + "copyNumberAlterationEventTypes": { + "AMP": true, + "HOMDEL": true + }, + "mutationEventTypes": { + "any": true + }, + "structuralVariants": null, + "includeDriver": true, + "includeVUS": true, + "includeUnknownOncogenicity": true, + "includeUnknownTier": true, + "includeGermline": true, + "includeSomatic": true, + "includeUnknownStatus": true, + "tiersBooleanMap": {} + } + } + }, + "url": "/api/column-store/clinical-data-counts/fetch?", + "label": "ClinicalDataCounts", + "studies": [ + "coadread_tcga_pan_can_atlas_2018" + ], + "filterUrl": "/study/summary?id=coadread_tcga_pan_can_atlas_2018#filterJson={\"customDataFilters\":[{\"attributeId\":\"66c8f44c6704ad7736da5642\",\"values\":[{\"value\":\"NA\"}]}],\"studyIds\":[\"coadread_tcga_pan_can_atlas_2018\"],\"alterationFilter\":{\"copyNumberAlterationEventTypes\":{\"AMP\":true,\"HOMDEL\":true},\"mutationEventTypes\":{\"any\":true},\"structuralVariants\":null,\"includeDriver\":true,\"includeVUS\":true,\"includeUnknownOncogenicity\":true,\"includeUnknownTier\":true,\"includeGermline\":true,\"includeSomatic\":true,\"includeUnknownStatus\":true,\"tiersBooleanMap\":{}}}", + "assertResponse": [ + { + "attributeId": "PATH_M_STAGE", + "counts": [ + { + "value": "M0", + "count": 438 + }, + { + "value": "M1", + "count": 69 + }, + { + "value": "MX", + "count": 62 + }, + { + "value": "M1A", + "count": 10 + }, + { + "value": "M1B", + "count": 2 + }, + { + "value": "NA", + "count": 8 + } + ] + } + ] + } + ] + }, + { + "name": "filter on NA and non-NA values from one categorical custom data filter", + "note": "testing one categorical custom data filter of NA and non-NA values on one tcga study", + "filterURL": "/study/summary?id=coadread_tcga_pan_can_atlas_2018#filterJson={\"customDataFilters\":[{\"attributeId\":\"66c8f44c6704ad7736da5642\",\"values\":[{\"value\":\"NA\"},{\"value\":\"brown\"}]}],\"studyIds\":[\"coadread_tcga_pan_can_atlas_2018\"],\"alterationFilter\":{\"copyNumberAlterationEventTypes\":{\"AMP\":true,\"HOMDEL\":true},\"mutationEventTypes\":{\"any\":true},\"structuralVariants\":null,\"includeDriver\":true,\"includeVUS\":true,\"includeUnknownOncogenicity\":true,\"includeUnknownTier\":true,\"includeGermline\":true,\"includeSomatic\":true,\"includeUnknownStatus\":true,\"tiersBooleanMap\":{}}}", + "filterText": "Custom Data 1:NA OR brown", + "studies": [ + "coadread_tcga_pan_can_atlas_2018" + ], + "tests": [ + { + "hash": -764324949, + "filterString": "Custom Data 1:NA OR brown", + "data": { + "attributes": [ + { + "attributeId": "PATH_M_STAGE" + }, + { + "attributeId": "SUBTYPE" + }, + { + "attributeId": "TUMOR_TYPE" + } + ], + "studyViewFilter": { + "customDataFilters": [ + { + "attributeId": "66c8f44c6704ad7736da5642", + "values": [ + { + "value": "NA" + }, + { + "value": "brown" + } + ], + "datatype": "STRING", + "displayName": "Custom Data 1", + "samples": [ + { + "sampleId": "TCGA-3L-AA1B-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "brown" + }, + { + "sampleId": "TCGA-4N-A93T-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "brown" + }, + { + "sampleId": "TCGA-5M-AAT4-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "blue" + }, + { + "sampleId": "TCGA-5M-AAT5-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "brown" + }, + { + "sampleId": "TCGA-5M-AAT6-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "blue" + } + ] + } + ], + "studyIds": [ + "coadread_tcga_pan_can_atlas_2018" + ], + "alterationFilter": { + "copyNumberAlterationEventTypes": { + "AMP": true, + "HOMDEL": true + }, + "mutationEventTypes": { + "any": true + }, + "structuralVariants": null, + "includeDriver": true, + "includeVUS": true, + "includeUnknownOncogenicity": true, + "includeUnknownTier": true, + "includeGermline": true, + "includeSomatic": true, + "includeUnknownStatus": true, + "tiersBooleanMap": {} + } + } + }, + "url": "/api/column-store/clinical-data-counts/fetch?", + "label": "ClinicalDataCounts", + "studies": [ + "coadread_tcga_pan_can_atlas_2018" + ], + "filterUrl": "/study/summary?id=coadread_tcga_pan_can_atlas_2018#filterJson={\"customDataFilters\":[{\"attributeId\":\"66c8f44c6704ad7736da5642\",\"values\":[{\"value\":\"NA\"},{\"value\":\"brown\"}]}],\"studyIds\":[\"coadread_tcga_pan_can_atlas_2018\"],\"alterationFilter\":{\"copyNumberAlterationEventTypes\":{\"AMP\":true,\"HOMDEL\":true},\"mutationEventTypes\":{\"any\":true},\"structuralVariants\":null,\"includeDriver\":true,\"includeVUS\":true,\"includeUnknownOncogenicity\":true,\"includeUnknownTier\":true,\"includeGermline\":true,\"includeSomatic\":true,\"includeUnknownStatus\":true,\"tiersBooleanMap\":{}}}", + "assertResponse": [ + { + "attributeId": "PATH_M_STAGE", + "counts": [ + { + "value": "M0", + "count": 440 + }, + { + "value": "M1", + "count": 69 + }, + { + "value": "MX", + "count": 62 + }, + { + "value": "M1A", + "count": 10 + }, + { + "value": "M1B", + "count": 2 + }, + { + "value": "NA", + "count": 9 + } + ] + }, + { + "attributeId": "SUBTYPE", + "counts": [ + { + "value": "COAD_CIN", + "count": 225 + }, + { + "value": "READ_POLE", + "count": 4 + }, + { + "value": "NA", + "count": 135 + }, + { + "value": "COAD_MSI", + "count": 59 + }, + { + "value": "COAD_POLE", + "count": 6 + }, + { + "value": "COAD_GS", + "count": 49 + }, + { + "value": "READ_MSI", + "count": 3 + }, + { + "value": "READ_CIN", + "count": 102 + }, + { + "value": "READ_GS", + "count": 9 + } + ] + }, + { + "attributeId": "TUMOR_TYPE", + "counts": [ + { + "value": "Colon Adenocarcinoma", + "count": 376 + }, + { + "value": "Rectum Adenocarcinoma", + "count": 6 + }, + { + "value": "Rectal Adenocarcinoma", + "count": 136 + }, + { + "value": "Rectal Adenocarcinoma, Mucinous Type", + "count": 13 + }, + { + "value": "Colon Adenocarcinoma, Mucinous Type", + "count": 61 + } + ] + } + ] + } + ] + }, + { + "name": "filter on NA and non-NA values from two categorical custom data filter", + "note": "testing two categorical custom data filters of NA and non-NA values on one tcga study", + "filterURL": "/study/summary?id=coadread_tcga_pan_can_atlas_2018#filterJson={\"customDataFilters\":[{\"attributeId\":\"66c8f7656704ad7736da5644\",\"values\":[{\"value\":\"brown\"},{\"value\":\"NA\"}]},{\"attributeId\":\"66c8f7716704ad7736da5645\",\"values\":[{\"value\":\"black\"},{\"value\":\"NA\"}]}],\"studyIds\":[\"coadread_tcga_pan_can_atlas_2018\"],\"alterationFilter\":{\"copyNumberAlterationEventTypes\":{\"AMP\":true,\"HOMDEL\":true},\"mutationEventTypes\":{\"any\":true},\"structuralVariants\":null,\"includeDriver\":true,\"includeVUS\":true,\"includeUnknownOncogenicity\":true,\"includeUnknownTier\":true,\"includeGermline\":true,\"includeSomatic\":true,\"includeUnknownStatus\":true,\"tiersBooleanMap\":{}}}", + "filterText": "Custom Data 1:brown OR NACustom Data 2:black OR NA", + "studies": [ + "coadread_tcga_pan_can_atlas_2018" + ], + "tests": [ + { + "hash": -2064702415, + "filterString": "Custom Data 1:brown OR NACustom Data 2:black OR NA", + "data": { + "attributes": [ + { + "attributeId": "PATH_M_STAGE" + }, + { + "attributeId": "SUBTYPE" + } + ], + "studyViewFilter": { + "customDataFilters": [ + { + "attributeId": "66c8f7656704ad7736da5644", + "values": [ + { + "value": "brown" + }, + { + "value": "NA" + } + ], + "datatype": "STRING", + "displayName": "Custom Data 1", + "samples": [ + { + "sampleId": "TCGA-3L-AA1B-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "brown" + }, + { + "sampleId": "TCGA-4N-A93T-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "brown" + }, + { + "sampleId": "TCGA-5M-AAT4-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "blue" + }, + { + "sampleId": "TCGA-5M-AAT5-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "brown" + }, + { + "sampleId": "TCGA-5M-AAT6-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "blue" + } + ] + }, + { + "attributeId": "66c8f7716704ad7736da5645", + "values": [ + { + "value": "black" + }, + { + "value": "NA" + } + ], + "datatype": "STRING", + "displayName": "Custom Data 2", + "samples": [ + { + "sampleId": "TCGA-3L-AA1B-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "black" + }, + { + "sampleId": "TCGA-4N-A93T-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "blond" + }, + { + "sampleId": "TCGA-4T-AA8H-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "black" + }, + { + "sampleId": "TCGA-5M-AAT4-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "black" + }, + { + "sampleId": "TCGA-5M-AAT5-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "blond" + }, + { + "sampleId": "TCGA-5M-AAT6-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "black" + }, + { + "sampleId": "TCGA-5M-AATA-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "blond" + } + ] + } + ], + "studyIds": [ + "coadread_tcga_pan_can_atlas_2018" + ], + "alterationFilter": { + "copyNumberAlterationEventTypes": { + "AMP": true, + "HOMDEL": true + }, + "mutationEventTypes": { + "any": true + }, + "structuralVariants": null, + "includeDriver": true, + "includeVUS": true, + "includeUnknownOncogenicity": true, + "includeUnknownTier": true, + "includeGermline": true, + "includeSomatic": true, + "includeUnknownStatus": true, + "tiersBooleanMap": {} + } + } + }, + "url": "/api/column-store/clinical-data-counts/fetch?", + "label": "ClinicalDataCounts", + "studies": [ + "coadread_tcga_pan_can_atlas_2018" + ], + "filterUrl": "/study/summary?id=coadread_tcga_pan_can_atlas_2018#filterJson={\"customDataFilters\":[{\"attributeId\":\"66c8f7656704ad7736da5644\",\"values\":[{\"value\":\"brown\"},{\"value\":\"NA\"}]},{\"attributeId\":\"66c8f7716704ad7736da5645\",\"values\":[{\"value\":\"black\"},{\"value\":\"NA\"}]}],\"studyIds\":[\"coadread_tcga_pan_can_atlas_2018\"],\"alterationFilter\":{\"copyNumberAlterationEventTypes\":{\"AMP\":true,\"HOMDEL\":true},\"mutationEventTypes\":{\"any\":true},\"structuralVariants\":null,\"includeDriver\":true,\"includeVUS\":true,\"includeUnknownOncogenicity\":true,\"includeUnknownTier\":true,\"includeGermline\":true,\"includeSomatic\":true,\"includeUnknownStatus\":true,\"tiersBooleanMap\":{}}}", + "assertResponse": [ + { + "attributeId": "PATH_M_STAGE", + "counts": [ + { + "value": "M0", + "count": 439 + }, + { + "value": "M1", + "count": 69 + }, + { + "value": "MX", + "count": 62 + }, + { + "value": "M1A", + "count": 10 + }, + { + "value": "M1B", + "count": 2 + }, + { + "value": "NA", + "count": 7 + } + ] + }, + { + "attributeId": "SUBTYPE", + "counts": [ + { + "value": "COAD_CIN", + "count": 222 + }, + { + "value": "READ_POLE", + "count": 4 + }, + { + "value": "NA", + "count": 135 + }, + { + "value": "COAD_MSI", + "count": 59 + }, + { + "value": "COAD_POLE", + "count": 6 + }, + { + "value": "COAD_GS", + "count": 49 + }, + { + "value": "READ_MSI", + "count": 3 + }, + { + "value": "READ_CIN", + "count": 102 + }, + { + "value": "READ_GS", + "count": 9 + } + ] + } + ] + } + ] + }, + { + "name": "filter on NA and non-NA values from two categorical custom data filter for two studies", + "note": "testing two categorical custom data filters of NA and non-NA values on two tcga studies", + "filterURL": "/study/summary?id=coadread_tcga_pan_can_atlas_2018%2Clgg_tcga_pan_can_atlas_2018#filterJson={\"customDataFilters\":[{\"attributeId\":\"66ccf311955a443698dbcff0\",\"values\":[{\"value\":\"brown\"},{\"value\":\"blue\"}]},{\"attributeId\":\"66ccf319955a443698dbcff1\",\"values\":[{\"value\":\"black\"},{\"value\":\"blond\"},{\"value\":\"NA\"}]}],\"studyIds\":[\"coadread_tcga_pan_can_atlas_2018\",\"lgg_tcga_pan_can_atlas_2018\"],\"alterationFilter\":{\"copyNumberAlterationEventTypes\":{\"AMP\":true,\"HOMDEL\":true},\"mutationEventTypes\":{\"any\":true},\"structuralVariants\":null,\"includeDriver\":true,\"includeVUS\":true,\"includeUnknownOncogenicity\":true,\"includeUnknownTier\":true,\"includeGermline\":true,\"includeSomatic\":true,\"includeUnknownStatus\":true,\"tiersBooleanMap\":{}}}", + "filterText": "Custom Data 1:brown OR blueCustom Data 2:black OR blond OR NA", + "studies": [ + "coadread_tcga_pan_can_atlas_2018", + "lgg_tcga_pan_can_atlas_2018" + ], + "tests": [ + { + "hash": 1281047624, + "filterString": "Custom Data 1:brown OR blueCustom Data 2:black OR blond OR NA", + "data": { + "attributes": [ + { + "attributeId": "PATH_M_STAGE" + } + ], + "studyViewFilter": { + "customDataFilters": [ + { + "attributeId": "66ccf311955a443698dbcff0", + "values": [ + { + "value": "brown" + }, + { + "value": "blue" + } + ], + "datatype": "STRING", + "displayName": "Custom Data 1", + "samples": [ + { + "sampleId": "TCGA-3L-AA1B-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "brown" + }, + { + "sampleId": "TCGA-4N-A93T-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "brown" + }, + { + "sampleId": "TCGA-5M-AAT4-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "blue" + }, + { + "sampleId": "TCGA-5M-AAT5-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "brown" + }, + { + "sampleId": "TCGA-5M-AAT6-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "blue" + }, + { + "sampleId": "TCGA-CS-4938-01", + "studyId": "lgg_tcga_pan_can_atlas_2018", + "value": "brown" + }, + { + "sampleId": "TCGA-CS-4941-01", + "studyId": "lgg_tcga_pan_can_atlas_2018", + "value": "blue" + }, + { + "sampleId": "TCGA-CS-4942-01", + "studyId": "lgg_tcga_pan_can_atlas_2018", + "value": "brown" + }, + { + "sampleId": "TCGA-CS-4943-01", + "studyId": "lgg_tcga_pan_can_atlas_2018", + "value": "brown" + } + ] + }, + { + "attributeId": "66ccf319955a443698dbcff1", + "values": [ + { + "value": "black" + }, + { + "value": "blond" + }, + { + "value": "NA" + } + ], + "datatype": "STRING", + "displayName": "Custom Data 2", + "samples": [ + { + "sampleId": "TCGA-3L-AA1B-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "black" + }, + { + "sampleId": "TCGA-4N-A93T-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "blond" + }, + { + "sampleId": "TCGA-4T-AA8H-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "black" + }, + { + "sampleId": "TCGA-5M-AAT4-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "black" + }, + { + "sampleId": "TCGA-5M-AAT5-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "blond" + }, + { + "sampleId": "TCGA-5M-AAT6-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "black" + }, + { + "sampleId": "TCGA-5M-AATA-01", + "studyId": "coadread_tcga_pan_can_atlas_2018", + "value": "blond" + } + ] + } + ], + "studyIds": [ + "coadread_tcga_pan_can_atlas_2018", + "lgg_tcga_pan_can_atlas_2018" + ], + "alterationFilter": { + "copyNumberAlterationEventTypes": { + "AMP": true, + "HOMDEL": true + }, + "mutationEventTypes": { + "any": true + }, + "structuralVariants": null, + "includeDriver": true, + "includeVUS": true, + "includeUnknownOncogenicity": true, + "includeUnknownTier": true, + "includeGermline": true, + "includeSomatic": true, + "includeUnknownStatus": true, + "tiersBooleanMap": {} + } + } + }, + "url": "/api/column-store/clinical-data-counts/fetch?", + "label": "ClinicalDataCounts", + "studies": [ + "coadread_tcga_pan_can_atlas_2018", + "lgg_tcga_pan_can_atlas_2018" + ], + "filterUrl": "/study/summary?id=coadread_tcga_pan_can_atlas_2018%2Clgg_tcga_pan_can_atlas_2018#filterJson={\"customDataFilters\":[{\"attributeId\":\"66ccf311955a443698dbcff0\",\"values\":[{\"value\":\"brown\"},{\"value\":\"blue\"}]},{\"attributeId\":\"66ccf319955a443698dbcff1\",\"values\":[{\"value\":\"black\"},{\"value\":\"blond\"},{\"value\":\"NA\"}]}],\"studyIds\":[\"coadread_tcga_pan_can_atlas_2018\",\"lgg_tcga_pan_can_atlas_2018\"],\"alterationFilter\":{\"copyNumberAlterationEventTypes\":{\"AMP\":true,\"HOMDEL\":true},\"mutationEventTypes\":{\"any\":true},\"structuralVariants\":null,\"includeDriver\":true,\"includeVUS\":true,\"includeUnknownOncogenicity\":true,\"includeUnknownTier\":true,\"includeGermline\":true,\"includeSomatic\":true,\"includeUnknownStatus\":true,\"tiersBooleanMap\":{}}}", + "assertResponse": [ + { + "attributeId": "PATH_M_STAGE", + "counts": [ + { + "value": "M0", + "count": 2 + }, + { + "value": "M1B", + "count": 1 + }, + { + "value": "M1A", + "count": 1 + }, + { + "value": "NA", + "count": 5 + } + ] + } + ] + } + ] + } +] \ No newline at end of file