@rcsb/rcsb-saguaro-app 6.0.0 → 6.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/build/app.js +1 -1
- package/build/constants.js +2 -1
- package/build/constants.js.LICENSE.txt +8 -0
- package/build/plot.js +1 -1
- package/build/worker.js +1 -1
- package/lib/RcsbCollectTools/DataCollectors/MultipleEntryPropertyCollector.d.ts +3 -2
- package/lib/RcsbCollectTools/DataCollectors/MultipleEntryPropertyCollector.js +3 -2
- package/lib/RcsbFvExamples/GroupHistogram.js +2 -2
- package/lib/RcsbGroupWeb/RcsbGroupView/RcsbGroupChart/GroupChartEvents.js +20 -9
- package/lib/RcsbQueries/Yosemite/QueryMultipleEntriesProperties.graphql +3 -0
- package/lib/RcsbRequest/RcsbRequestContextManager.d.ts +2 -2
- package/lib/RcsbSeacrh/FacetStore/FacetMemberInterface.d.ts +11 -4
- package/lib/RcsbSeacrh/FacetStore/SequenceGroupFacetStore.js +3 -2
- package/lib/RcsbSeacrh/FacetStore/SingleFacets.d.ts +2 -0
- package/lib/RcsbSeacrh/FacetStore/SingleFacets.js +53 -3
- package/lib/RcsbSeacrh/FacetStore/UniprotGroupFacetStore.js +3 -2
- package/lib/RcsbSeacrh/FacetTools.d.ts +7 -13
- package/lib/RcsbSeacrh/FacetTools.js +7 -15
- package/lib/RcsbUtils/Groups/GroupPropertiesProvider.d.ts +2 -2
- package/lib/commonjs/RcsbCollectTools/DataCollectors/MultipleEntryPropertyCollector.d.ts +3 -2
- package/lib/commonjs/RcsbCollectTools/DataCollectors/MultipleEntryPropertyCollector.js +3 -2
- package/lib/commonjs/RcsbFvExamples/GroupHistogram.js +2 -2
- package/lib/commonjs/RcsbGroupWeb/RcsbGroupView/RcsbGroupChart/GroupChartEvents.js +20 -9
- package/lib/commonjs/RcsbQueries/Yosemite/QueryMultipleEntriesProperties.graphql +3 -0
- package/lib/commonjs/RcsbRequest/RcsbRequestContextManager.d.ts +2 -2
- package/lib/commonjs/RcsbSeacrh/FacetStore/FacetMemberInterface.d.ts +11 -4
- package/lib/commonjs/RcsbSeacrh/FacetStore/SequenceGroupFacetStore.js +2 -1
- package/lib/commonjs/RcsbSeacrh/FacetStore/SingleFacets.d.ts +2 -0
- package/lib/commonjs/RcsbSeacrh/FacetStore/SingleFacets.js +53 -3
- package/lib/commonjs/RcsbSeacrh/FacetStore/UniprotGroupFacetStore.js +2 -1
- package/lib/commonjs/RcsbSeacrh/FacetTools.d.ts +7 -13
- package/lib/commonjs/RcsbSeacrh/FacetTools.js +7 -15
- package/lib/commonjs/RcsbUtils/Groups/GroupPropertiesProvider.d.ts +2 -2
- package/package.json +1 -1
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SearchFacets = exports.GO_COMPONENT_FACET = exports.GO_PROCESS_FACET = exports.GO_FUNCTION_FACET = exports.ENZYME_CLASS_FACET = exports.CHEM_COMP_FACET = exports.ENTITY_NAME_FACET = exports.PFAM_FACET = exports.TAXONOMY_FACET = exports.ORGANISM_FACET = exports.LIGAND_OF_INTEREST_FACET = exports.LIGAND_FACET = exports.ECOD_FACET = exports.CATH_FACET = exports.SCOP_FACET = exports.RELEASE_DATE_FACET = exports.METHODOLOGY_FACET = exports.RESOLUTION_FACET = exports.EXPERIMENTAL_METHOD_FACET = void 0;
|
|
3
|
+
exports.SearchFacets = exports.GO_COMPONENT_FACET = exports.GO_PROCESS_FACET = exports.GO_FUNCTION_FACET = exports.ENZYME_CLASS_FACET = exports.CHEM_COMP_FACET = exports.ENTITY_NAME_FACET = exports.PFAM_FACET = exports.TAXONOMY_FACET = exports.ORGANISM_FACET = exports.LIGAND_OF_INTEREST_FACET = exports.LIGAND_FACET = exports.ECOD_FACET = exports.CATH_FACET = exports.SCOP_FACET = exports.RELEASE_DATE_FACET = exports.CHIMERIC_FACET = exports.METHODOLOGY_FACET = exports.RESOLUTION_FACET = exports.EXPERIMENTAL_METHOD_FACET = void 0;
|
|
4
4
|
const SearchMetadata_1 = require("@rcsb/rcsb-api-tools/build/RcsbSearch/Types/SearchMetadata");
|
|
5
5
|
const SearchEnums_1 = require("@rcsb/rcsb-api-tools/build/RcsbSearch/Types/SearchEnums");
|
|
6
6
|
const ChartConfigInterface_1 = require("@rcsb/rcsb-charts/lib/RcsbChartComponent/ChartConfigInterface");
|
|
7
|
+
const SearchQueryTools_1 = require("../SearchQueryTools");
|
|
7
8
|
exports.EXPERIMENTAL_METHOD_FACET = {
|
|
8
9
|
id: "method",
|
|
9
10
|
title: "Experimental Method",
|
|
@@ -46,7 +47,6 @@ exports.RESOLUTION_FACET = {
|
|
|
46
47
|
constHeight: 225
|
|
47
48
|
},
|
|
48
49
|
histogramBinIncrement: 0.5,
|
|
49
|
-
mergeDomainMaxValue: 5,
|
|
50
50
|
domainMinValue: 0,
|
|
51
51
|
domainMaxValue: 6,
|
|
52
52
|
axisLabel: "Angstroms",
|
|
@@ -56,6 +56,9 @@ exports.RESOLUTION_FACET = {
|
|
|
56
56
|
return `Resolution ${d.x - 0.25} - ${d.x + 0.25}`;
|
|
57
57
|
}
|
|
58
58
|
},
|
|
59
|
+
facetConfig: {
|
|
60
|
+
mergeDomainMaxValue: 5
|
|
61
|
+
},
|
|
59
62
|
facet: {
|
|
60
63
|
name: "RESOLUTION_FACET",
|
|
61
64
|
aggregation_type: SearchEnums_1.AggregationType.Histogram,
|
|
@@ -81,6 +84,52 @@ exports.METHODOLOGY_FACET = {
|
|
|
81
84
|
min_interval_population: 1
|
|
82
85
|
}
|
|
83
86
|
};
|
|
87
|
+
exports.CHIMERIC_FACET = {
|
|
88
|
+
id: "chimeric",
|
|
89
|
+
title: "Protein Sequence Composition",
|
|
90
|
+
attributeName: "CHIMERIC_FACET",
|
|
91
|
+
attribute: SearchMetadata_1.RcsbSearchMetadata.RcsbPolymerEntity.RcsbSourcePartCount.path,
|
|
92
|
+
chartType: ChartConfigInterface_1.ChartType.barplot,
|
|
93
|
+
contentType: "string",
|
|
94
|
+
facetConfig: {
|
|
95
|
+
facetTransform: (buckets) => {
|
|
96
|
+
const out = [];
|
|
97
|
+
const wt = buckets.find(b => b.label == 1);
|
|
98
|
+
if (wt)
|
|
99
|
+
out.push({
|
|
100
|
+
label: "Wild Type",
|
|
101
|
+
population: wt.population
|
|
102
|
+
});
|
|
103
|
+
const synthetic = buckets.find(b => b.label == 0);
|
|
104
|
+
if (synthetic)
|
|
105
|
+
out.push({
|
|
106
|
+
label: "Synthetic",
|
|
107
|
+
population: synthetic.population
|
|
108
|
+
});
|
|
109
|
+
const chimeric = buckets.filter(b => parseInt(b.label.toString()) > 1);
|
|
110
|
+
if ((chimeric === null || chimeric === void 0 ? void 0 : chimeric.length) > 0)
|
|
111
|
+
out.push({
|
|
112
|
+
label: "Chimeric",
|
|
113
|
+
population: chimeric.reduce((c, p) => c + p.population, 0)
|
|
114
|
+
});
|
|
115
|
+
return out;
|
|
116
|
+
},
|
|
117
|
+
bucketClickSearchQuery: (datum, data, e) => {
|
|
118
|
+
if (datum.x == "Wild Type")
|
|
119
|
+
return SearchQueryTools_1.SearchQueryTools.searchAttributeQuery(exports.CHIMERIC_FACET.attribute, 1, SearchEnums_1.Operator.Equals, SearchEnums_1.Service.Text);
|
|
120
|
+
else if (datum.x == "Synthetic")
|
|
121
|
+
return SearchQueryTools_1.SearchQueryTools.searchAttributeQuery(exports.CHIMERIC_FACET.attribute, 0, SearchEnums_1.Operator.Equals, SearchEnums_1.Service.Text);
|
|
122
|
+
else
|
|
123
|
+
return SearchQueryTools_1.SearchQueryTools.searchAttributeQuery(exports.CHIMERIC_FACET.attribute, 1, SearchEnums_1.Operator.Greater, SearchEnums_1.Service.Text);
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
facet: {
|
|
127
|
+
name: "CHIMERIC_FACET",
|
|
128
|
+
aggregation_type: SearchEnums_1.AggregationType.Terms,
|
|
129
|
+
attribute: SearchMetadata_1.RcsbSearchMetadata.RcsbPolymerEntity.RcsbSourcePartCount.path,
|
|
130
|
+
min_interval_population: 1
|
|
131
|
+
}
|
|
132
|
+
};
|
|
84
133
|
exports.RELEASE_DATE_FACET = {
|
|
85
134
|
id: "release_date",
|
|
86
135
|
title: undefined,
|
|
@@ -559,5 +608,6 @@ exports.SearchFacets = {
|
|
|
559
608
|
GO_PROCESS_FACET: exports.GO_PROCESS_FACET,
|
|
560
609
|
GO_COMPONENT_FACET: exports.GO_COMPONENT_FACET,
|
|
561
610
|
LIGAND_OF_INTEREST_FACET: exports.LIGAND_OF_INTEREST_FACET,
|
|
562
|
-
METHODOLOGY_FACET: exports.METHODOLOGY_FACET
|
|
611
|
+
METHODOLOGY_FACET: exports.METHODOLOGY_FACET,
|
|
612
|
+
CHIMERIC_FACET: exports.CHIMERIC_FACET
|
|
563
613
|
};
|
|
@@ -27,7 +27,8 @@ class UniprotGroupFacetStore {
|
|
|
27
27
|
(0, lodash_1.cloneDeep)(SingleFacets_1.ENTITY_NAME_FACET),
|
|
28
28
|
(0, lodash_1.cloneDeep)(SingleFacets_1.GO_FUNCTION_FACET),
|
|
29
29
|
(0, lodash_1.cloneDeep)(SingleFacets_1.GO_PROCESS_FACET),
|
|
30
|
-
(0, lodash_1.cloneDeep)(SingleFacets_1.GO_COMPONENT_FACET)
|
|
30
|
+
(0, lodash_1.cloneDeep)(SingleFacets_1.GO_COMPONENT_FACET),
|
|
31
|
+
(0, lodash_1.cloneDeep)(SingleFacets_1.CHIMERIC_FACET)
|
|
31
32
|
];
|
|
32
33
|
this.nonPolymerFacet = [
|
|
33
34
|
(0, lodash_1.cloneDeep)(SingleFacets_1.CHEM_COMP_FACET)
|
|
@@ -2,7 +2,7 @@ import { BucketFacet } from "@rcsb/rcsb-api-tools/build/RcsbSearch/Types/SearchR
|
|
|
2
2
|
import { FacetMemberInterface } from "./FacetStore/FacetMemberInterface";
|
|
3
3
|
import { AttributeTextQueryParameters } from "@rcsb/rcsb-api-tools/build/RcsbSearch/Types/SearchQueryInterface";
|
|
4
4
|
import { Service } from "@rcsb/rcsb-api-tools/build/RcsbSearch/Types/SearchEnums";
|
|
5
|
-
import { ChartDisplayConfigInterface, ChartObjectInterface
|
|
5
|
+
import { ChartDisplayConfigInterface, ChartObjectInterface } from "@rcsb/rcsb-charts/lib/RcsbChartComponent/ChartConfigInterface";
|
|
6
6
|
import { RcsbSearchAttributeType } from "@rcsb/rcsb-api-tools/build/RcsbSearch/Types/SearchMetadata";
|
|
7
7
|
export type SearchFilter = {
|
|
8
8
|
attribute: RcsbSearchAttributeType;
|
|
@@ -10,16 +10,10 @@ export type SearchFilter = {
|
|
|
10
10
|
operator: AttributeTextQueryParameters["operator"];
|
|
11
11
|
service: Service.Text | Service.TextChem;
|
|
12
12
|
};
|
|
13
|
-
export interface RcsbChartInterface<T = any> {
|
|
14
|
-
chartType: ChartType;
|
|
13
|
+
export interface RcsbChartInterface<T = any> extends Omit<FacetMemberInterface, "id" | "facet"> {
|
|
15
14
|
labelList?: string[];
|
|
16
|
-
attribute: RcsbSearchAttributeType;
|
|
17
|
-
attributeName: string;
|
|
18
|
-
chartConfig?: FacetMemberInterface["chartConfig"];
|
|
19
|
-
title?: string;
|
|
20
15
|
data: ChartObjectInterface<T>[];
|
|
21
16
|
filters?: SearchFilter[];
|
|
22
|
-
contentType: FacetMemberInterface['contentType'];
|
|
23
17
|
}
|
|
24
18
|
export declare class FacetTools {
|
|
25
19
|
static getResultDrilldowns(facetMembers: FacetMemberInterface[], searchResultFacets: Array<BucketFacet>): Array<RcsbChartInterface>;
|
|
@@ -45,15 +39,15 @@ export declare class FacetTools {
|
|
|
45
39
|
barClickCallback?: import("@rcsb/rcsb-charts/lib/RcsbChartComponent/ChartConfigInterface").BarClickCallbackType | undefined;
|
|
46
40
|
sort?: ((b: import("@rcsb/rcsb-charts/lib/RcsbChartDataProvider/ChartDataProviderInterface").ChartDataColumnInterface<any>, a: import("@rcsb/rcsb-charts/lib/RcsbChartDataProvider/ChartDataProviderInterface").ChartDataColumnInterface<any>) => number) | undefined;
|
|
47
41
|
tooltipText?: ((a: import("@rcsb/rcsb-charts/lib/RcsbChartDataProvider/ChartDataProviderInterface").ChartDataValueInterface<any>) => string | string[] | undefined) | undefined;
|
|
48
|
-
mergeDomainMaxValue?: number | undefined;
|
|
49
42
|
};
|
|
50
|
-
chartType: ChartType;
|
|
51
43
|
labelList?: string[] | undefined;
|
|
52
|
-
attribute: RcsbSearchAttributeType;
|
|
53
|
-
attributeName: string;
|
|
54
|
-
title?: string | undefined;
|
|
55
44
|
data: ChartObjectInterface<any>[];
|
|
56
45
|
filters?: SearchFilter[] | undefined;
|
|
46
|
+
title?: string | undefined;
|
|
47
|
+
attribute: RcsbSearchAttributeType;
|
|
48
|
+
attributeName: string;
|
|
49
|
+
chartType: import("@rcsb/rcsb-charts/lib/RcsbChartComponent/ChartConfigInterface").ChartType;
|
|
50
|
+
facetConfig?: import("./FacetStore/FacetMemberInterface").FacetConfigInterface | undefined;
|
|
57
51
|
contentType: "string" | "number" | "date";
|
|
58
52
|
};
|
|
59
53
|
private static includeMissingFacets;
|
|
@@ -12,17 +12,7 @@ class FacetTools {
|
|
|
12
12
|
if (!facet)
|
|
13
13
|
return;
|
|
14
14
|
const chart = FacetTools.getFacetChartTypeFromAttribute(facetMembers, bucket.name);
|
|
15
|
-
out.push({
|
|
16
|
-
chartType: chart.chartType,
|
|
17
|
-
chartConfig: chart.chartConfig,
|
|
18
|
-
labelList: [],
|
|
19
|
-
attributeName: bucket.name,
|
|
20
|
-
attribute: facet.attribute,
|
|
21
|
-
title: chart.title,
|
|
22
|
-
data: applyChartConfigToData(bucket.data, facet === null || facet === void 0 ? void 0 : facet.chartConfig),
|
|
23
|
-
filters: FacetTools.getFacetFiltersFromName(facetMembers, bucket.name),
|
|
24
|
-
contentType: facet.contentType
|
|
25
|
-
});
|
|
15
|
+
out.push(Object.assign(Object.assign({}, chart), { labelList: [], attributeName: bucket.name, attribute: facet.attribute, data: applyChartConfigToData(bucket.data, facet === null || facet === void 0 ? void 0 : facet.facetConfig), filters: FacetTools.getFacetFiltersFromName(facetMembers, bucket.name), contentType: facet.contentType }));
|
|
26
16
|
});
|
|
27
17
|
return out;
|
|
28
18
|
}
|
|
@@ -66,7 +56,7 @@ class FacetTools {
|
|
|
66
56
|
const facet = facetMembers.find((facet) => (facet.attributeName === attribute));
|
|
67
57
|
if (!facet)
|
|
68
58
|
throw `Unknown facet attribute ${attribute}`;
|
|
69
|
-
return
|
|
59
|
+
return facet;
|
|
70
60
|
}
|
|
71
61
|
static getFacetFiltersFromName(facetMembers, attribute) {
|
|
72
62
|
const facet = facetMembers.find((facet) => (facet.attributeName === attribute));
|
|
@@ -94,9 +84,11 @@ class FacetTools {
|
|
|
94
84
|
}
|
|
95
85
|
}
|
|
96
86
|
exports.FacetTools = FacetTools;
|
|
97
|
-
function applyChartConfigToData(data,
|
|
98
|
-
if (
|
|
99
|
-
return mergeDomainMaxValue(data,
|
|
87
|
+
function applyChartConfigToData(data, facetConfig) {
|
|
88
|
+
if (facetConfig === null || facetConfig === void 0 ? void 0 : facetConfig.mergeDomainMaxValue)
|
|
89
|
+
return mergeDomainMaxValue(data, facetConfig.mergeDomainMaxValue);
|
|
90
|
+
if (facetConfig === null || facetConfig === void 0 ? void 0 : facetConfig.facetTransform)
|
|
91
|
+
return facetConfig.facetTransform(data);
|
|
100
92
|
return data;
|
|
101
93
|
}
|
|
102
94
|
function mergeDomainMaxValue(data, domMaxValue) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { EntryPropertyInterface } from "../../RcsbCollectTools/DataCollectors/MultipleEntryPropertyCollector";
|
|
2
2
|
export interface GroupPropertiesProviderInterface {
|
|
3
|
-
entryProperties: Array<
|
|
3
|
+
entryProperties: Array<EntryPropertyInterface>;
|
|
4
4
|
}
|
|
5
5
|
interface ItemPropertyInterface {
|
|
6
6
|
objectId: string;
|