@rcsb/rcsb-saguaro-app 3.2.1 → 4.0.0-groups.11

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.
Files changed (59) hide show
  1. package/CHANGELOG.md +19 -2
  2. package/README.md +2 -2
  3. package/build/dist/RcsbAnnotationConfig/RcsbAnnotationConfig.d.ts +2 -1
  4. package/build/dist/RcsbChartWeb/RcsbChartTools/ChartTools.d.ts +32 -0
  5. package/build/dist/RcsbChartWeb/RcsbChartView/BarChartView.d.ts +9 -0
  6. package/build/dist/RcsbChartWeb/RcsbChartView/ChartViewInterface.d.ts +26 -0
  7. package/build/dist/RcsbChartWeb/RcsbChartView/HistogramChartView.d.ts +11 -0
  8. package/build/dist/RcsbChartWeb/RcsbChartView/PieChartView.d.ts +9 -0
  9. package/build/dist/RcsbChartWeb/RcsbChartView/RcsbChartLayout.d.ts +13 -0
  10. package/build/dist/RcsbCollectTools/AnnotationCollector/AnnotationCollector.d.ts +0 -1
  11. package/build/dist/RcsbCollectTools/AnnotationCollector/AnnotationCollectorInterface.d.ts +7 -4
  12. package/build/dist/RcsbCollectTools/AnnotationCollector/AnnotationTrackManager.d.ts +2 -1
  13. package/build/dist/RcsbCollectTools/CoreCollectorInterface.d.ts +0 -1
  14. package/build/dist/RcsbCollectTools/FeatureTools/ExternalTrackBuilderInterface.d.ts +4 -4
  15. package/build/dist/RcsbCollectTools/PropertyCollector/GroupPropertyCollector.d.ts +9 -0
  16. package/build/dist/RcsbCollectTools/SequenceCollector/SequenceCollector.d.ts +0 -1
  17. package/build/dist/RcsbCollectTools/SequenceCollector/SequenceCollectorHelper.d.ts +1 -1
  18. package/build/dist/RcsbCollectTools/SequenceCollector/SequenceCollectorInterface.d.ts +6 -2
  19. package/build/dist/RcsbCollectTools/Translators/GroupMemberCollector.d.ts +6 -0
  20. package/build/dist/RcsbFvWeb/RcsbFvBuilder/RcsbFvContextManager.d.ts +12 -0
  21. package/build/dist/RcsbFvWeb/RcsbFvBuilder/RcsbFvCoreBuilder.d.ts +3 -0
  22. package/build/dist/RcsbFvWeb/RcsbFvBuilder/RcsbFvGroupBuilder.d.ts +6 -0
  23. package/build/dist/RcsbFvWeb/RcsbFvBuilder.d.ts +4 -2
  24. package/build/dist/RcsbFvWeb/RcsbFvGroup/GroupSequenceTabs.d.ts +20 -0
  25. package/build/dist/RcsbFvWeb/RcsbFvGroup/Logo.d.ts +15 -0
  26. package/build/dist/RcsbFvWeb/RcsbFvModule/RcsbFvAbstractModule.d.ts +1 -0
  27. package/build/dist/RcsbFvWeb/RcsbFvModule/RcsbFvEntity.d.ts +1 -0
  28. package/build/dist/RcsbFvWeb/RcsbFvModule/RcsbFvGroupAlignment.d.ts +12 -0
  29. package/build/dist/RcsbFvWeb/RcsbFvModule/RcsbFvGroupAnnotation.d.ts +12 -0
  30. package/build/dist/RcsbFvWeb/RcsbFvModule/RcsbFvModuleInterface.d.ts +7 -1
  31. package/build/dist/RcsbFvWeb/RcsbFvModule/RcsbFvUniprotEntity.d.ts +1 -0
  32. package/build/dist/RcsbFvWeb/WebTools/RcsbTabs.d.ts +16 -0
  33. package/build/dist/RcsbFvWeb/WebTools/SelectButton.d.ts +4 -0
  34. package/build/dist/RcsbFvWeb/WebTools/WebToolsManager.d.ts +4 -0
  35. package/build/dist/RcsbGraphQL/RcsbClient.d.ts +8 -2
  36. package/build/dist/RcsbGraphQL/RcsbQueryAlignment.d.ts +11 -1
  37. package/build/dist/RcsbGraphQL/RcsbQueryAnnotations.d.ts +5 -1
  38. package/build/dist/RcsbGraphQL/RcsbQueryGroup.d.ts +7 -0
  39. package/build/dist/RcsbGroupWeb/RcsbGroupBuilder.d.ts +7 -0
  40. package/build/dist/RcsbGroupWeb/RcsbGroupView/RcsbGroupDisplay.d.ts +8 -0
  41. package/build/dist/RcsbGroupWeb/RcsbGroupView/RcsbGroupHeader.d.ts +9 -0
  42. package/build/dist/RcsbGroupWeb/RcsbGroupView/RcsbGroupMembers/GroupMembersGrid.d.ts +28 -0
  43. package/build/dist/RcsbGroupWeb/RcsbGroupView/RcsbGroupMembers.d.ts +25 -0
  44. package/build/dist/RcsbSeacrh/FacetStore/EntityGranularitySearchFacetStore.d.ts +15 -0
  45. package/build/dist/RcsbSeacrh/FacetStore/EntityGroupFacetStore.d.ts +15 -0
  46. package/build/dist/RcsbSeacrh/FacetStore/FacetMemberInterface.d.ts +11 -0
  47. package/build/dist/RcsbSeacrh/FacetStore/FacetStoreInterface.d.ts +8 -0
  48. package/build/dist/RcsbSeacrh/FacetTools.d.ts +20 -0
  49. package/build/dist/RcsbSeacrh/QueryStore/SearchGroupQuery.d.ts +5 -0
  50. package/build/dist/RcsbSeacrh/SearchRequestProperty.d.ts +11 -0
  51. package/build/dist/app.d.ts +8 -1
  52. package/build/dist/app.js +19 -14
  53. package/build/dist/app.js.map +1 -1
  54. package/build/dist/plot.d.ts +1 -0
  55. package/build/dist/plot.js +95 -0
  56. package/build/dist/plot.js.map +1 -0
  57. package/build/dist/worker.js +1 -1
  58. package/build/dist/worker.js.map +1 -1
  59. package/package.json +12 -8
package/CHANGELOG.md CHANGED
@@ -2,6 +2,23 @@
2
2
 
3
3
  [Semantic Versioning](https://semver.org/)
4
4
 
5
+ ## [4.0.0-master] - 2021-12-07
6
+ ### Breaking change
7
+ - `ExternalTrackBuilderInterface` methods return a promise and are executed asynchronous
8
+
9
+ ## [3.4.0] - 2021-12-07
10
+ ### UI improvements
11
+ - Exposed methods for creating dropdown menus. Class `RcsbFvUI` static methods
12
+ - `createSelectButton` creates a select dropdown menu
13
+ - `addSelectButton` adds a second menu. Only an additional button can be created (replaced if a new one is created)
14
+ - `clearSelectButton` clear all menus
15
+
16
+ ## [3.3.0] - 2021-11-30
17
+ ### Annotations configuration improvements
18
+ - Removed interface `CollectAnnotationsInterface` attribute `addTargetInTitle`
19
+ - Added `titleSuffix` and `trackTitle` attributes to `CollectAnnotationsInterface`
20
+ - These new attributes are defined as async functions (ann: AnnotationFeatures, d: Feature) => Promise<string|undefined> to provide or modify track titles based on the features content
21
+
5
22
  ## [3.2.1] - 2021-11-10
6
23
  ### Minor configuration
7
24
  - Dropdown title configuration is exposed in `InstanceSequenceConfig` attribute `dropdownTitle`
@@ -12,8 +29,8 @@
12
29
 
13
30
  ## [3.1.0] - 2021-10-27
14
31
  ### External track builder improvements
15
- - `ExternalTrackBuilderInterface` available through `RcsbFvAdditionalConfig` for all `RcsbFvBuilder` types.
16
- In addition, it includes the query context as additional parameter for processing and addition methods.
32
+ - `ExternalTrackBuilderInterface` available through `RcsbFvAdditionalConfig` for all `RcsbFvBuilder` types
33
+ In addition, it includes the query context as additional parameter for processing and addition methods
17
34
  - `processAlignmentAndFeatures` includes the query context as part of the input parameters
18
35
  - `addTo` includes the query context as part of the input parameters
19
36
  - `filterFeatures` new method for filtering positional features
package/README.md CHANGED
@@ -8,7 +8,7 @@ Feature Summaries. The package allows access to RCSB Saguaro methods to add or c
8
8
  <!---
9
9
  <div id="pfvSelect" ></div>
10
10
  <div id="pfv" ></div>
11
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@rcsb/rcsb-saguaro-app@3.2.1/build/dist/app.js"></script>
11
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@rcsb/rcsb-saguaro-app@3.4.0/build/dist/app.js"></script>
12
12
  <script type="text/javascript">
13
13
  RcsbFvWebApp.buildInstanceFv("pfv", "4Z35.A", {
14
14
  boardConfig:{
@@ -23,7 +23,7 @@ RcsbFvWebApp.buildInstanceFv("pfv", "4Z35.A", {
23
23
  `npm install @rcsb/rcsb-saguaro-app`
24
24
 
25
25
  ### CDN JavaScript
26
- `<script src="https://cdn.jsdelivr.net/npm/@rcsb/rcsb-saguaro-app@3.2.1/build/dist/app.js" type="text/javascript"></script>`
26
+ `<script src="https://cdn.jsdelivr.net/npm/@rcsb/rcsb-saguaro-app@3.4.0/build/dist/app.js" type="text/javascript"></script>`
27
27
 
28
28
  ### JavaScript Examples
29
29
  * [PDB Instance Chain View](https://rcsb.github.io/rcsb-saguaro-app/examples/instance.html)
@@ -21,10 +21,11 @@ export declare class RcsbAnnotationConfig {
21
21
  uniprotOrder(): Array<string>;
22
22
  instanceOrder(): Array<string>;
23
23
  entityOrder(): Array<string>;
24
- buildAndAddType(d: Feature, targetId?: string): string;
24
+ buildAndAddType(d: Feature, mainTitle?: string, titleSuffix?: string): string;
25
25
  private addNewType;
26
26
  sortAndIncludeNewTypes(): void;
27
27
  private checkAndIncludeNewType;
28
+ private cleanAddedTypes;
28
29
  isMergedType(type: string): boolean;
29
30
  getMergedType(type: string): string;
30
31
  annotationMergedPreference(type: string, a: RcsbFvTrackDataElementInterface, b: RcsbFvTrackDataElementInterface): boolean;
@@ -0,0 +1,32 @@
1
+ import { ChartObjectInterface } from "../RcsbChartView/ChartViewInterface";
2
+ export declare class ChartTools {
3
+ static readonly paddingLeft: number;
4
+ static readonly paddingBottom: number;
5
+ static readonly paddingTop: number;
6
+ static readonly paddingRight: number;
7
+ static readonly constWidth: number;
8
+ static readonly constHeight: number;
9
+ static readonly xIncrement: number;
10
+ static readonly xDomainPadding: number;
11
+ static readonly barWidth: number;
12
+ static mergeGroupSize(data: ChartObjectInterface[], size: number, mergeName?: string): {
13
+ x: string;
14
+ y: number;
15
+ }[];
16
+ static mostPopulatedGroups(data: ChartObjectInterface[], maxGroups: number, mergeName?: string): {
17
+ x: string;
18
+ y: number;
19
+ }[];
20
+ static mergeDomainMaxValue(data: ChartObjectInterface[], maxValue: number): {
21
+ x: number;
22
+ y: number;
23
+ }[];
24
+ static labelsAsString(data: ChartObjectInterface[]): {
25
+ x: string;
26
+ y: number;
27
+ }[];
28
+ static labelsAsNumber(data: ChartObjectInterface[]): {
29
+ x: number;
30
+ y: number;
31
+ }[];
32
+ }
@@ -0,0 +1,9 @@
1
+ import * as React from "react";
2
+ import { ReactNode } from "react";
3
+ import { ChartViewInterface } from "./ChartViewInterface";
4
+ export declare class BarChartView extends React.Component<ChartViewInterface, ChartViewInterface> {
5
+ readonly state: ChartViewInterface;
6
+ constructor(props: ChartViewInterface);
7
+ private dataByCategory;
8
+ render(): ReactNode;
9
+ }
@@ -0,0 +1,26 @@
1
+ export interface ChartObjectInterface {
2
+ label: string | number;
3
+ population: number;
4
+ }
5
+ export interface ChartConfigInterface {
6
+ mergeGroupSize?: number;
7
+ mergeDomainMaxValue?: number;
8
+ mostPopulatedGroups?: number;
9
+ mergeName?: string;
10
+ domainMinValue?: number;
11
+ histogramBinIncrement?: number;
12
+ tickIncrement?: {
13
+ origin: number;
14
+ increment: number;
15
+ };
16
+ }
17
+ export interface ChartViewInterface {
18
+ data: ChartObjectInterface[];
19
+ subData?: ChartObjectInterface[];
20
+ config?: ChartConfigInterface;
21
+ }
22
+ export declare enum ChartType {
23
+ pie = "pie",
24
+ histogram = "histogram",
25
+ barplot = "barplot"
26
+ }
@@ -0,0 +1,11 @@
1
+ import * as React from "react";
2
+ import { ReactNode } from "react";
3
+ import { ChartViewInterface } from "./ChartViewInterface";
4
+ export declare class HistogramChartView extends React.Component<ChartViewInterface, ChartViewInterface> {
5
+ readonly state: ChartViewInterface;
6
+ constructor(props: ChartViewInterface);
7
+ private data;
8
+ private xDomain;
9
+ private tickValues;
10
+ render(): ReactNode;
11
+ }
@@ -0,0 +1,9 @@
1
+ import * as React from "react";
2
+ import { ReactNode } from "react";
3
+ import { ChartViewInterface } from "./ChartViewInterface";
4
+ export declare class PieChartView extends React.Component<ChartViewInterface, ChartViewInterface> {
5
+ readonly state: ChartViewInterface;
6
+ constructor(props: ChartViewInterface);
7
+ private dataByCategory;
8
+ render(): ReactNode;
9
+ }
@@ -0,0 +1,13 @@
1
+ import * as React from "react";
2
+ import { RcsbChartInterface } from "../../RcsbSeacrh/FacetTools";
3
+ export interface RcsbChartLayoutInterface {
4
+ layout: [string, string?][];
5
+ charts: RcsbChartInterface[];
6
+ subCharts?: RcsbChartInterface[];
7
+ }
8
+ export declare class RcsbChartLayout extends React.Component<RcsbChartLayoutInterface, RcsbChartLayoutInterface> {
9
+ readonly state: RcsbChartLayoutInterface;
10
+ constructor(props: RcsbChartLayoutInterface);
11
+ render(): JSX.Element;
12
+ private renderRow;
13
+ }
@@ -20,7 +20,6 @@ export declare class AnnotationCollector implements AnnotationCollectorInterface
20
20
  private externalTrackBuilder;
21
21
  constructor(acm?: AnnotationConfigInterface);
22
22
  collect(requestConfig: AnnotationCollectConfig): Promise<Array<RcsbFvRowConfigInterface>>;
23
- getPolymerEntityInstanceTranslator(): PolymerEntityInstanceTranslate;
24
23
  setPolymerEntityInstanceTranslator(p: PolymerEntityInstanceTranslate): void;
25
24
  setExternalTrackBuilder(externalTrackBuilder: ExternalTrackBuilderInterface): void;
26
25
  getFeatures(): Promise<Array<Feature>>;
@@ -1,6 +1,6 @@
1
1
  import { CoreCollectorInterface } from "../CoreCollectorInterface";
2
2
  import { RcsbFvRowConfigInterface } from "@rcsb/rcsb-saguaro";
3
- import { AnnotationFeatures, Feature, QueryAnnotationsArgs, Source } from "@rcsb/rcsb-api-tools/build/RcsbGraphQL/Types/Borrego/GqlTypes";
3
+ import { AnnotationFeatures, Feature, QueryAnnotationsArgs, QueryGroup_AnnotationsArgs } from "@rcsb/rcsb-api-tools/build/RcsbGraphQL/Types/Borrego/GqlTypes";
4
4
  import { AnnotationTrack, FeaturePositionGaps } from "./AnnotationTrack";
5
5
  import { ExternalTrackBuilderInterface } from "../FeatureTools/ExternalTrackBuilderInterface";
6
6
  export declare type IncreaseAnnotationValueType = (feature: {
@@ -20,12 +20,15 @@ interface CommonAnnotationInterface {
20
20
  externalAnnotationTrackBuilder?: ExternalTrackBuilderInterface;
21
21
  }
22
22
  export interface CollectAnnotationsInterface extends QueryAnnotationsArgs, CommonAnnotationInterface {
23
- addTargetInTitle?: Set<Source>;
24
23
  collectSwissModel?: boolean;
24
+ titleSuffix?(ann: AnnotationFeatures, d: Feature): Promise<string | undefined>;
25
+ trackTitle?(ann: AnnotationFeatures, d: Feature): Promise<string | undefined>;
25
26
  }
26
- export declare type AnnotationCollectConfig = Partial<CollectAnnotationsInterface>;
27
+ export interface CollectGroupAnnotationsInterface extends QueryGroup_AnnotationsArgs, CommonAnnotationInterface {
28
+ }
29
+ export declare type AnnotationCollectConfig = Partial<CollectAnnotationsInterface & CollectGroupAnnotationsInterface>;
27
30
  export interface AnnotationCollectorInterface extends CoreCollectorInterface {
28
- collect(requestConfig: CollectAnnotationsInterface): Promise<Array<RcsbFvRowConfigInterface>>;
31
+ collect(requestConfig: CollectAnnotationsInterface | CollectGroupAnnotationsInterface): Promise<Array<RcsbFvRowConfigInterface>>;
29
32
  getAnnotationConfigData(): Promise<Array<RcsbFvRowConfigInterface>>;
30
33
  getAnnotationFeatures(): Promise<Array<AnnotationFeatures>>;
31
34
  getFeatures(): Promise<Array<Feature>>;
@@ -8,11 +8,12 @@ export declare class AnnotationTrackManager {
8
8
  private readonly annotationTracks;
9
9
  private polymerEntityInstanceTranslator;
10
10
  constructor(rcsbAnnotationConfig: RcsbAnnotationConfig);
11
- processRcsbPdbAnnotations(data: Array<AnnotationFeatures>, requestConfig: AnnotationCollectConfig): void;
11
+ processRcsbPdbAnnotations(data: Array<AnnotationFeatures>, requestConfig: AnnotationCollectConfig): Promise<void>;
12
12
  getAnnotationTracks(): Map<string, AnnotationTrack>;
13
13
  private getPolymerEntityInstanceTranslator;
14
14
  setPolymerEntityInstanceTranslator(p: PolymerEntityInstanceTranslate): void;
15
15
  private mergeTracks;
16
16
  private buildType;
17
17
  private addAnnotationToTracks;
18
+ private addFeature;
18
19
  }
@@ -5,5 +5,4 @@ export interface CoreCollectorInterface {
5
5
  readonly rcsbFvQuery: RcsbClient;
6
6
  setPolymerEntityInstanceTranslator(p: PolymerEntityInstanceTranslate): void;
7
7
  setExternalTrackBuilder(externalTrackBuilder: ExternalTrackBuilderInterface): void;
8
- getPolymerEntityInstanceTranslator(): PolymerEntityInstanceTranslate;
9
8
  }
@@ -7,12 +7,12 @@ export interface ExternalTrackBuilderInterface {
7
7
  annotations?: Array<AnnotationFeatures>;
8
8
  alignments?: AlignmentResponse;
9
9
  rcsbContext?: Partial<PolymerEntityInstanceInterface>;
10
- }): void;
11
- filterAlignments?(alignments: AlignmentResponse): AlignmentResponse;
12
- filterFeatures?(annotations: Array<AnnotationFeatures>): Array<AnnotationFeatures>;
10
+ }): Promise<void>;
11
+ filterAlignments?(alignments: AlignmentResponse): Promise<AlignmentResponse>;
12
+ filterFeatures?(annotations: Array<AnnotationFeatures>): Promise<Array<AnnotationFeatures>>;
13
13
  addTo?(tracks: {
14
14
  alignmentTracks?: SequenceCollectorDataInterface;
15
15
  annotationTracks?: Array<RcsbFvRowConfigInterface>;
16
16
  rcsbContext?: Partial<PolymerEntityInstanceInterface>;
17
- }): void;
17
+ }): Promise<void>;
18
18
  }
@@ -0,0 +1,9 @@
1
+ import { QueryPolymer_Entity_GroupArgs } from "@rcsb/rcsb-api-tools/build/RcsbGraphQL/Types/Yosemite/GqlTypes";
2
+ export interface GroupPropertyInterface {
3
+ groupName: string;
4
+ groupDescription: string;
5
+ }
6
+ export declare class GroupPropertyCollector {
7
+ private readonly rcsbFvQuery;
8
+ collect(requestConfig: QueryPolymer_Entity_GroupArgs): Promise<GroupPropertyInterface>;
9
+ }
@@ -30,7 +30,6 @@ export declare class SequenceCollector implements SequenceCollectorInterface {
30
30
  getTargets(): Promise<Array<string>>;
31
31
  getAlignmentResponse(): Promise<AlignmentResponse>;
32
32
  getSequenceLength(): number;
33
- getPolymerEntityInstanceTranslator(): PolymerEntityInstanceTranslate;
34
33
  setPolymerEntityInstanceTranslator(p: PolymerEntityInstanceTranslate): void;
35
34
  setExternalTrackBuilder(externalTrackBuilder: ExternalTrackBuilderInterface): void;
36
35
  private complete;
@@ -21,7 +21,7 @@ interface BuildSequenceDataInterface extends TranslateContextInterface {
21
21
  }
22
22
  export declare class SequenceCollectorHelper {
23
23
  private entityInstanceTranslator;
24
- buildAlignments(alignmentData: BuildAlignementsInterface, dynamicDisplayFlag: boolean, tagObservedRegions: (region: AlignedRegion, commonContext: TranslateContextInterface) => Array<AlignedObservedRegion>): {
24
+ buildAlignments(alignmentData: BuildAlignementsInterface, dynamicDisplayFlag: boolean, tagObservedRegions: (region: AlignedRegion, commonContext: TranslateContextInterface, noQuerySequenceFlag?: boolean) => Array<AlignedObservedRegion>): {
25
25
  alignments: Array<RcsbFvRowConfigInterface>;
26
26
  targets: Array<string>;
27
27
  };
@@ -1,6 +1,7 @@
1
1
  import { CoreCollectorInterface } from "../CoreCollectorInterface";
2
2
  import { SequenceCollectorDataInterface } from "./SequenceCollector";
3
3
  import { AlignmentResponse, QueryAlignmentArgs } from "@rcsb/rcsb-api-tools/build/RcsbGraphQL/Types/Borrego/GqlTypes";
4
+ import { RcsbQueryGroupAlignmentArguments } from "../../RcsbGraphQL/RcsbQueryAlignment";
4
5
  interface CommonAlignmentInterface {
5
6
  filterByTargetContains?: string;
6
7
  dynamicDisplay?: boolean;
@@ -10,11 +11,14 @@ interface CommonAlignmentInterface {
10
11
  }
11
12
  export interface CollectAlignmentInterface extends QueryAlignmentArgs, CommonAlignmentInterface {
12
13
  }
13
- export declare type AlignmentCollectConfig = Partial<CollectAlignmentInterface>;
14
+ export interface CollectGroupAlignmentInterface extends RcsbQueryGroupAlignmentArguments, CommonAlignmentInterface {
15
+ sequencePrefix: string;
16
+ }
17
+ export declare type AlignmentCollectConfig = Partial<CollectAlignmentInterface & CollectGroupAlignmentInterface>;
14
18
  export interface SequenceCollectorInterface extends CoreCollectorInterface {
15
19
  getTargets(): Promise<Array<string>>;
16
20
  getAlignmentResponse(): Promise<AlignmentResponse>;
17
21
  getSequenceLength(): number;
18
- collect(requestConfig: CollectAlignmentInterface, filter?: Array<string>, entityInstanceMapCollector?: (instanceIds: Array<string>) => Promise<void>): Promise<SequenceCollectorDataInterface>;
22
+ collect(requestConfig: CollectAlignmentInterface | CollectGroupAlignmentInterface, filter?: Array<string>, entityInstanceMapCollector?: (instanceIds: Array<string>) => Promise<void>): Promise<SequenceCollectorDataInterface>;
19
23
  }
20
24
  export {};
@@ -0,0 +1,6 @@
1
+ import { QueryPolymer_Entity_GroupArgs } from "@rcsb/rcsb-api-tools/build/RcsbGraphQL/Types/Yosemite/GqlTypes";
2
+ import { PolymerEntityInstanceInterface } from "./PolymerEntityInstancesCollector";
3
+ export declare class GroupMemberCollector {
4
+ private readonly rcsbFvQuery;
5
+ collect(requestConfig: QueryPolymer_Entity_GroupArgs): Promise<Array<PolymerEntityInstanceInterface>>;
6
+ }
@@ -2,11 +2,19 @@ import { RcsbFv, RcsbFvBoardConfigInterface } from "@rcsb/rcsb-saguaro";
2
2
  import { PolymerEntityInstanceTranslate } from "../../RcsbUtils/PolymerEntityInstanceTranslate";
3
3
  import { EntryAssemblyTranslate } from "../../RcsbUtils/EntryAssemblyTranslate";
4
4
  import { PolymerEntityChromosomeTranslate } from "../../RcsbUtils/PolymerEntityChromosomeTranslate";
5
+ import { GroupPropertiesProvider } from "../../RcsbUtils/GroupPropertiesProvider";
6
+ import { QueryResult } from "@rcsb/rcsb-api-tools/build/RcsbSearch/Types/SearchResultInterface";
7
+ import { SearchQueryType } from "../../RcsbSeacrh/SearchRequestProperty";
8
+ import { GroupPropertyInterface } from "../../RcsbCollectTools/PropertyCollector/GroupPropertyCollector";
9
+ import { QueryPolymer_Entity_GroupArgs } from "@rcsb/rcsb-api-tools/build/RcsbGraphQL/Types/Yosemite/GqlTypes";
10
+ import { FacetType } from "../../RcsbSeacrh/FacetStore/FacetMemberInterface";
11
+ import { ReturnType } from "@rcsb/rcsb-api-tools/build/RcsbSearch/Types/SearchEnums";
5
12
  declare class RcsbFvContextManager {
6
13
  private rcsbFvManager;
7
14
  private rcsbButtonManager;
8
15
  private polymerEntityToInstanceMap;
9
16
  private entryToAssemblyMap;
17
+ private groupPropertyMap;
10
18
  getFv(elementFvId: string, boardConfig?: Partial<RcsbFvBoardConfigInterface>): RcsbFv;
11
19
  hasFv(elementFvId: string): boolean;
12
20
  private setFv;
@@ -15,9 +23,13 @@ declare class RcsbFvContextManager {
15
23
  removeFv(elementFvId: string): void;
16
24
  private setEntityToInstance;
17
25
  private setEntryToAssembly;
26
+ private setGroupProperties;
18
27
  getEntityToInstance(entryId: string): Promise<PolymerEntityInstanceTranslate>;
19
28
  getEntryToAssembly(entryId: string): Promise<EntryAssemblyTranslate>;
20
29
  getEntityToChromosome(entityIds: Array<string>): Promise<PolymerEntityChromosomeTranslate>;
30
+ getGroupMemberProperties(groupQuery: QueryPolymer_Entity_GroupArgs): Promise<GroupPropertiesProvider>;
31
+ getSearchQueryResult(query: SearchQueryType, facets: FacetType[], returnType: ReturnType): Promise<QueryResult | null>;
32
+ getGroupProperties(groupQuery: QueryPolymer_Entity_GroupArgs): Promise<GroupPropertyInterface>;
21
33
  }
22
34
  export declare const rcsbFvCtxManager: RcsbFvContextManager;
23
35
  export {};
@@ -3,6 +3,8 @@ import { RcsbFv } from "@rcsb/rcsb-saguaro";
3
3
  import { RcsbFvModuleBuildInterface, RcsbFvModuleInterface, RcsbFvModulePublicInterface } from "../RcsbFvModule/RcsbFvModuleInterface";
4
4
  import { SelectButtonConfigInterface } from "../WebTools/WebToolsManager";
5
5
  import { GroupedOptionsInterface, SelectOptionInterface } from "../WebTools/SelectButton";
6
+ import { SearchQuery } from "@rcsb/rcsb-api-tools/build/RcsbSearch/Types/SearchQueryInterface";
7
+ import { GroupReference } from "@rcsb/rcsb-api-tools/build/RcsbGraphQL/Types/Borrego/GqlTypes";
6
8
  export interface CreateFvInterface {
7
9
  elementId: string;
8
10
  fvModuleI: new (elementId: string, rcsbFv: RcsbFv) => RcsbFvModuleInterface;
@@ -32,4 +34,5 @@ export declare class RcsbFvCoreBuilder {
32
34
  static clearAdditionalSelectButton(elementFvId: string, selectButtonId: string): void;
33
35
  static addSelectButton(elementFvId: string, selectButtonId: string, options: Array<SelectOptionInterface>, config?: SelectButtonConfigInterface): void;
34
36
  static showMessage(elementId: string, message: string): void;
37
+ static buildGroupTabs(elementId: string, group: GroupReference, groupId: string, query?: SearchQuery): void;
35
38
  }
@@ -0,0 +1,6 @@
1
+ import { RcsbFvAdditionalConfig, RcsbFvModulePublicInterface } from "../RcsbFvModule/RcsbFvModuleInterface";
2
+ import { GroupReference, SequenceReference } from "@rcsb/rcsb-api-tools/build/RcsbGraphQL/Types/Borrego/GqlTypes";
3
+ export declare class RcsbFvGroupBuilder {
4
+ static buildGroupAnnotationFv(elementId: string, group: GroupReference, groupId: string, to: SequenceReference, from?: SequenceReference, additionalConfig?: RcsbFvAdditionalConfig): Promise<RcsbFvModulePublicInterface>;
5
+ static buildGroupAlignmentFv(elementId: string, group: GroupReference, groupId: string, to: SequenceReference, from?: SequenceReference, additionalConfig?: RcsbFvAdditionalConfig): Promise<RcsbFvModulePublicInterface>;
6
+ }
@@ -1,8 +1,9 @@
1
- import { RcsbFvAdditionalConfig } from "./RcsbFvModule/RcsbFvModuleInterface";
1
+ import { RcsbFvAdditionalConfig, RcsbFvModulePublicInterface } from "./RcsbFvModule/RcsbFvModuleInterface";
2
2
  import { PairwiseAlignmentInterface } from "./PairwiseAlignmentTools/PairwiseAlignmentBuilder";
3
3
  import { InstanceSequenceConfig, InstanceSequenceOnchangeInterface } from "./RcsbFvBuilder/RcsbFvInstanceBuilder";
4
4
  import { PfvBuilderInterface } from "./RcsbFvBuilder/RcsbFvProteinSequenceBuilder";
5
- import { RcsbFvModulePublicInterface } from "./RcsbFvModule/RcsbFvModuleInterface";
5
+ import { GroupReference } from "@rcsb/rcsb-api-tools/build/RcsbGraphQL/Types/Borrego/GqlTypes";
6
+ import { SearchQuery } from "@rcsb/rcsb-api-tools/build/RcsbSearch/Types/SearchQueryInterface";
6
7
  export declare function unmount(elementId: string): void;
7
8
  export declare function buildMultipleAlignmentSequenceFv(elementFvId: string, elementSelectId: string, upAcc: string): Promise<RcsbFvModulePublicInterface>;
8
9
  export declare function buildEntitySummaryFv(elementFvId: string, elementSelectId: string, entityId: string): Promise<RcsbFvModulePublicInterface>;
@@ -21,3 +22,4 @@ export declare function buildFullChromosome(elementFvId: string, chrId: string):
21
22
  export declare function buildEntryChromosome(elementFvId: string, entitySelectId: string, chromosomeSelectId: string, entryId: string): Promise<RcsbFvModulePublicInterface>;
22
23
  export declare function buildEntityChromosome(elementFvId: string, elementSelectId: string, entityId: string): Promise<RcsbFvModulePublicInterface>;
23
24
  export declare function buildChromosome(elementFvId: string, entityId: string, chrId: string, elementSelectId?: string): Promise<RcsbFvModulePublicInterface>;
25
+ export declare function buildGroupFv(elementId: string, group: GroupReference, groupId: string, query?: SearchQuery, additionalConfig?: RcsbFvAdditionalConfig): void;
@@ -0,0 +1,20 @@
1
+ import * as React from "react";
2
+ import { GroupReference } from "@rcsb/rcsb-api-tools/build/RcsbGraphQL/Types/Borrego/GqlTypes";
3
+ import { SearchQuery } from "@rcsb/rcsb-api-tools/build/RcsbSearch/Types/SearchQueryInterface";
4
+ export declare class GroupSequenceTabs extends React.Component<{
5
+ group: GroupReference;
6
+ groupId: string;
7
+ searchQuery?: SearchQuery;
8
+ }, {}> {
9
+ private readonly rendered;
10
+ private filterInstances;
11
+ private filterEntities;
12
+ constructor(props: {
13
+ group: GroupReference;
14
+ groupId: string;
15
+ searchQuery: SearchQuery;
16
+ });
17
+ render(): JSX.Element;
18
+ private onMount;
19
+ private onSelect;
20
+ }
@@ -0,0 +1,15 @@
1
+ import { AlignmentLogo } from "@rcsb/rcsb-api-tools/build/RcsbGraphQL/Types/Borrego/GqlTypes";
2
+ export declare class Logo<T extends string> {
3
+ private readonly symbols;
4
+ private n;
5
+ constructor(logo: AlignmentLogo[]);
6
+ private aaTypes;
7
+ get(aa: T): number;
8
+ forEach(callback: (aa: T, n: number) => void): void;
9
+ mode(): T;
10
+ frequency(): {
11
+ symbol: T;
12
+ value: number;
13
+ }[];
14
+ entropy(): number;
15
+ }
@@ -10,6 +10,7 @@ export declare abstract class RcsbFvAbstractModule implements RcsbFvModuleInterf
10
10
  protected readonly elementId: string;
11
11
  protected boardConfigData: RcsbFvBoardConfigInterface;
12
12
  protected rowConfigData: Array<RcsbFvRowConfigInterface>;
13
+ protected polymerEntityInstance: PolymerEntityInstanceTranslate;
13
14
  protected readonly sequenceCollector: SequenceCollectorInterface;
14
15
  protected readonly annotationCollector: AnnotationCollectorInterface;
15
16
  protected alignmentTracks: SequenceCollectorDataInterface;
@@ -3,4 +3,5 @@ import { RcsbFvModuleBuildInterface } from "./RcsbFvModuleInterface";
3
3
  export declare class RcsbFvEntity extends RcsbFvAbstractModule {
4
4
  protected protectedBuild(buildConfig: RcsbFvModuleBuildInterface): Promise<void>;
5
5
  protected concatAlignmentAndAnnotationTracks(buildConfig: RcsbFvModuleBuildInterface): void;
6
+ private titleSuffix;
6
7
  }
@@ -0,0 +1,12 @@
1
+ import { RcsbFvAbstractModule } from "./RcsbFvAbstractModule";
2
+ import { RcsbFvAdditionalConfig, RcsbFvModuleBuildInterface } from "./RcsbFvModuleInterface";
3
+ import { RcsbFv } from "@rcsb/rcsb-saguaro";
4
+ import { AnnotationCollectorInterface } from "../../RcsbCollectTools/AnnotationCollector/AnnotationCollectorInterface";
5
+ import { SequenceCollectorInterface } from "../../RcsbCollectTools/SequenceCollector/SequenceCollectorInterface";
6
+ export declare class RcsbFvGroupAlignment extends RcsbFvAbstractModule {
7
+ protected readonly annotationCollector: AnnotationCollectorInterface;
8
+ protected readonly sequenceCollector: SequenceCollectorInterface;
9
+ constructor(elementId: string, rcsbFv: RcsbFv, additionalConfig?: RcsbFvAdditionalConfig);
10
+ protected protectedBuild(buildConfig: RcsbFvModuleBuildInterface): Promise<void>;
11
+ protected concatAlignmentAndAnnotationTracks(buildConfig: RcsbFvModuleBuildInterface): void;
12
+ }
@@ -0,0 +1,12 @@
1
+ import { RcsbFvAbstractModule } from "./RcsbFvAbstractModule";
2
+ import { RcsbFvAdditionalConfig, RcsbFvModuleBuildInterface } from "./RcsbFvModuleInterface";
3
+ import { RcsbFv } from "@rcsb/rcsb-saguaro";
4
+ import { AnnotationCollectorInterface } from "../../RcsbCollectTools/AnnotationCollector/AnnotationCollectorInterface";
5
+ import { SequenceCollectorInterface } from "../../RcsbCollectTools/SequenceCollector/SequenceCollectorInterface";
6
+ export declare class RcsbFvGroupAnnotation extends RcsbFvAbstractModule {
7
+ protected readonly annotationCollector: AnnotationCollectorInterface;
8
+ protected readonly sequenceCollector: SequenceCollectorInterface;
9
+ constructor(elementId: string, rcsbFv: RcsbFv, additionalConfig?: RcsbFvAdditionalConfig);
10
+ protectedBuild(buildConfig: RcsbFvModuleBuildInterface): Promise<void>;
11
+ protected concatAlignmentAndAnnotationTracks(buildConfig: RcsbFvModuleBuildInterface): void;
12
+ }
@@ -1,4 +1,4 @@
1
- import { Feature, FilterInput, SequenceReference, Source } from "@rcsb/rcsb-api-tools/build/RcsbGraphQL/Types/Borrego/GqlTypes";
1
+ import { Feature, FilterInput, GroupReference, SequenceReference, Source } from "@rcsb/rcsb-api-tools/build/RcsbGraphQL/Types/Borrego/GqlTypes";
2
2
  import { PolymerEntityInstanceTranslate } from "../../RcsbUtils/PolymerEntityInstanceTranslate";
3
3
  import { RcsbFv, RcsbFvBoardConfigInterface, RcsbFvRowConfigInterface } from "@rcsb/rcsb-saguaro";
4
4
  import { PairwiseAlignmentInterface } from "../PairwiseAlignmentTools/PairwiseAlignmentBuilder";
@@ -16,6 +16,10 @@ export interface RcsbFvAdditionalConfig {
16
16
  annotationProcessing?: AnnotationProcessingInterface;
17
17
  sequenceCollector?: SequenceCollectorInterface;
18
18
  externalTrackBuilder?: ExternalTrackBuilderInterface;
19
+ page?: {
20
+ first: number;
21
+ after: string;
22
+ };
19
23
  rcsbContext?: Partial<{
20
24
  entryId: string;
21
25
  entityId: string;
@@ -28,6 +32,8 @@ export interface RcsbFvAdditionalConfig {
28
32
  }>;
29
33
  }
30
34
  export interface RcsbFvModuleBuildInterface {
35
+ group?: GroupReference;
36
+ groupId?: string;
31
37
  queryId?: string;
32
38
  from?: SequenceReference;
33
39
  to?: SequenceReference;
@@ -3,4 +3,5 @@ import { RcsbFvModuleBuildInterface } from "./RcsbFvModuleInterface";
3
3
  export declare class RcsbFvUniprotEntity extends RcsbFvAbstractModule {
4
4
  protected protectedBuild(buildConfig: RcsbFvModuleBuildInterface): Promise<void>;
5
5
  protected concatAlignmentAndAnnotationTracks(buildConfig: RcsbFvModuleBuildInterface): void;
6
+ private titleSuffix;
6
7
  }
@@ -0,0 +1,16 @@
1
+ import * as React from "react";
2
+ export interface RcsbTabsInterface<T extends string> {
3
+ tabList: Array<{
4
+ key: T;
5
+ title: string;
6
+ }>;
7
+ default: T;
8
+ id: string;
9
+ onSelect(t: T): void;
10
+ onMount(t: T): void;
11
+ }
12
+ export declare class RcsbTabs<T extends string> extends React.Component<RcsbTabsInterface<T>, {}> {
13
+ constructor(props: RcsbTabsInterface<T>);
14
+ render(): JSX.Element;
15
+ componentDidMount(): void;
16
+ }
@@ -13,6 +13,7 @@ export interface SelectOptionInterface {
13
13
  onChange: () => void;
14
14
  }
15
15
  interface SelectButtonInterface {
16
+ elementId: string;
16
17
  options?: Array<SelectOptionInterface> | Array<GroupedOptionsInterface>;
17
18
  additionalOptions?: Array<SelectOptionInterface>;
18
19
  addTitle: boolean;
@@ -20,6 +21,7 @@ interface SelectButtonInterface {
20
21
  width?: number;
21
22
  dropdownTitle?: string;
22
23
  optionProps?: (props: OptionProps<OptionPropsInterface>) => JSX.Element;
24
+ isAdditionalButton?: boolean;
23
25
  }
24
26
  export interface OptionPropsInterface extends SelectOptionInterface {
25
27
  value: number;
@@ -28,6 +30,7 @@ interface SelectButtonState {
28
30
  selectedOption: OptionPropsInterface;
29
31
  }
30
32
  export declare class SelectButton extends React.Component<SelectButtonInterface, SelectButtonState> {
33
+ static readonly BUTTON_CONTAINER_DIV_SUFFIX = "_buttonContainerDiv";
31
34
  private defaultValue;
32
35
  readonly state: SelectButtonState;
33
36
  constructor(props: SelectButtonInterface);
@@ -38,6 +41,7 @@ export declare class SelectButton extends React.Component<SelectButtonInterface,
38
41
  private selectRender;
39
42
  private titleRender;
40
43
  private selectButtonRender;
44
+ private innerSelectButtonRender;
41
45
  private configStyle;
42
46
  private getSelectOpt;
43
47
  }
@@ -1,12 +1,15 @@
1
1
  /// <reference types="react" />
2
2
  import { GroupedOptionsInterface, OptionPropsInterface, SelectOptionInterface } from "./SelectButton";
3
3
  import { OptionProps } from "react-select/src/components/Option";
4
+ import { SearchQuery } from "@rcsb/rcsb-api-tools/build/RcsbSearch/Types/SearchQueryInterface";
5
+ import { GroupReference } from "@rcsb/rcsb-api-tools/build/RcsbGraphQL/Types/Borrego/GqlTypes";
4
6
  export interface SelectButtonConfigInterface {
5
7
  addTitle?: boolean;
6
8
  defaultValue?: string | undefined | null;
7
9
  width?: number;
8
10
  dropdownTitle?: string;
9
11
  optionProps?: (props: OptionProps<OptionPropsInterface>) => JSX.Element;
12
+ isAdditionalButton?: boolean;
10
13
  }
11
14
  export declare class WebToolsManager {
12
15
  private static suffix;
@@ -19,6 +22,7 @@ export declare class WebToolsManager {
19
22
  static clearSelectButton(elementId: string): void;
20
23
  static clearAdditionalSelectButton(elementId: string): void;
21
24
  static innerClearSelectButton(elementId: string, suffix: string): void;
25
+ static buildGroupTabs(elementId: string, group: GroupReference, groupId: string, query?: SearchQuery): void;
22
26
  static buildLoaderSpinner(elementId: string): void;
23
27
  static unmountLoaderSpinner(elementId: string): void;
24
28
  private static hideElement;
@@ -1,14 +1,20 @@
1
- import { AlignmentResponse, AnnotationFeatures, QueryAlignmentArgs, QueryAnnotationsArgs } from "@rcsb/rcsb-api-tools/build/RcsbGraphQL/Types/Borrego/GqlTypes";
2
- import { CoreEntry, CorePolymerEntity, QueryEntriesArgs, QueryEntryArgs, QueryPolymer_EntitiesArgs } from "@rcsb/rcsb-api-tools/build/RcsbGraphQL/Types/Yosemite/GqlTypes";
1
+ import { RcsbQueryGroupAlignmentArguments } from "./RcsbQueryAlignment";
2
+ import { AlignmentResponse, AnnotationFeatures, QueryAlignmentArgs, QueryAnnotationsArgs, QueryGroup_AnnotationsArgs } from "@rcsb/rcsb-api-tools/build/RcsbGraphQL/Types/Borrego/GqlTypes";
3
+ import { CoreEntry, GroupPolymerEntity, CorePolymerEntity, QueryEntriesArgs, QueryEntryArgs, QueryPolymer_EntitiesArgs, QueryPolymer_Entity_GroupArgs } from "@rcsb/rcsb-api-tools/build/RcsbGraphQL/Types/Yosemite/GqlTypes";
3
4
  export declare class RcsbClient {
4
5
  private rcsbQueryAnnotations;
6
+ private rcsbQueryGroupAnnotations;
5
7
  private rcsbQueryAlignment;
8
+ private rcsbQueryGroupAlignment;
6
9
  private rcsbQueryEntityInstances;
7
10
  private rcsbQueryMutipleEntityInstances;
8
11
  private rcsbQueryEntryProperties;
9
12
  requestRcsbPdbAnnotations(requestConfig: QueryAnnotationsArgs): Promise<Array<AnnotationFeatures>>;
13
+ requestRcsbPdbGroupAnnotations(requestConfig: QueryGroup_AnnotationsArgs): Promise<Array<AnnotationFeatures>>;
10
14
  requestAlignment(requestConfig: QueryAlignmentArgs): Promise<AlignmentResponse>;
15
+ requestGroupAlignment(requestConfig: RcsbQueryGroupAlignmentArguments): Promise<AlignmentResponse>;
11
16
  requestEntityInstances(requestConfig: QueryEntryArgs): Promise<CoreEntry>;
12
17
  requestMultipleEntityInstances(requestConfig: QueryPolymer_EntitiesArgs): Promise<Array<CorePolymerEntity>>;
18
+ requestGroupInfo(requestConfig: QueryPolymer_Entity_GroupArgs): Promise<GroupPolymerEntity>;
13
19
  requestMultipleEntriesProperties(requestConfig: QueryEntriesArgs): Promise<Array<CoreEntry>>;
14
20
  }