@rcsb/rcsb-saguaro-app 3.2.1 → 3.3.0-interfaces

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/CHANGELOG.md CHANGED
@@ -2,6 +2,16 @@
2
2
 
3
3
  [Semantic Versioning](https://semver.org/)
4
4
 
5
+ ## [3.3.0] - 2021-11-29
6
+ ### Annotations configuration improvements
7
+ - Removed interface `CollectAnnotationsInterface` attribute `addTargetInTitle`
8
+ - Added `titleSuffix` and `trackTitle` attributes to `CollectAnnotationsInterface`
9
+ - 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
10
+ - New `RcsbFvInterface` module
11
+ - Interface `InstanceSequenceConfig` provides a new attribute `module` to choose between the `RcsbFvInstance` or RcsbFvInterface` modules
12
+ - New classes to collect and translate instance/interface ids relationships from data api
13
+ - `RcsbQueryInterfaceInstances`, `InterfaceInstanceCollector` and `InterfaceInstanceTranslate`
14
+
5
15
  ## [3.2.1] - 2021-11-10
6
16
  ### Minor configuration
7
17
  - Dropdown title configuration is exposed in `InstanceSequenceConfig` attribute `dropdownTitle`
@@ -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;
@@ -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 } 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,8 +20,9 @@ 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
27
  export declare type AnnotationCollectConfig = Partial<CollectAnnotationsInterface>;
27
28
  export interface AnnotationCollectorInterface extends CoreCollectorInterface {
@@ -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
  }
@@ -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;
@@ -0,0 +1,11 @@
1
+ import { QueryInterfacesArgs } from "@rcsb/rcsb-api-tools/build/RcsbGraphQL/Types/Yosemite/GqlTypes";
2
+ export interface InterfaceInstanceInterface {
3
+ rcsbId: string;
4
+ assemblyId: string;
5
+ interfaceId: string;
6
+ asymIds: [string, string];
7
+ }
8
+ export declare class InterfaceInstanceCollector {
9
+ private readonly rcsbFvQuery;
10
+ collect(requestConfig: QueryInterfacesArgs): Promise<Array<InterfaceInstanceInterface>>;
11
+ }
@@ -2,11 +2,13 @@ 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 { InterfaceInstanceTranslate } from "../../RcsbUtils/InterfaceInstanceTranslate";
5
6
  declare class RcsbFvContextManager {
6
7
  private rcsbFvManager;
7
8
  private rcsbButtonManager;
8
9
  private polymerEntityToInstanceMap;
9
10
  private entryToAssemblyMap;
11
+ private interfaceToInstanceMap;
10
12
  getFv(elementFvId: string, boardConfig?: Partial<RcsbFvBoardConfigInterface>): RcsbFv;
11
13
  hasFv(elementFvId: string): boolean;
12
14
  private setFv;
@@ -18,6 +20,7 @@ declare class RcsbFvContextManager {
18
20
  getEntityToInstance(entryId: string): Promise<PolymerEntityInstanceTranslate>;
19
21
  getEntryToAssembly(entryId: string): Promise<EntryAssemblyTranslate>;
20
22
  getEntityToChromosome(entityIds: Array<string>): Promise<PolymerEntityChromosomeTranslate>;
23
+ getInterfaceToInstance(interfaceId: string): Promise<InterfaceInstanceTranslate>;
21
24
  }
22
25
  export declare const rcsbFvCtxManager: RcsbFvContextManager;
23
26
  export {};
@@ -9,6 +9,7 @@ export interface InstanceSequenceOnchangeInterface {
9
9
  authId: string;
10
10
  asymId: string;
11
11
  }
12
+ declare type instanceModule = "interface" | "instance";
12
13
  export interface InstanceSequenceConfig {
13
14
  dropdownTitle?: string;
14
15
  defaultValue?: string | undefined | null;
@@ -16,10 +17,12 @@ export interface InstanceSequenceConfig {
16
17
  filterInstances?: Set<string>;
17
18
  displayAuthId?: boolean;
18
19
  selectButtonOptionProps?: (props: OptionProps<OptionPropsInterface>) => JSX.Element;
20
+ module?: instanceModule;
19
21
  }
20
22
  export declare class RcsbFvInstanceBuilder {
21
23
  static buildMultipleInstanceSequenceFv(elementFvId: string, elementEntrySelectId: string, elementInstanceSelectId: string, entryIdList: Array<string>, config: InstanceSequenceConfig, additionalConfig?: RcsbFvAdditionalConfig): Promise<RcsbFvModulePublicInterface>;
22
24
  static buildInstanceSequenceFv(elementFvId: string, elementSelectId: string, entryId: string, config: InstanceSequenceConfig, additionalConfig?: RcsbFvAdditionalConfig): Promise<RcsbFvModulePublicInterface>;
23
25
  static buildSelectorInstanceFv(instanceList: Array<PolymerEntityInstanceInterface>, elementFvId: string, elementSelectId: string, entryId: string, config: InstanceSequenceConfig, additionalConfig?: RcsbFvAdditionalConfig): Promise<RcsbFvModulePublicInterface>;
24
- static buildInstanceFv(elementId: string, instanceId: string, additionalConfig?: RcsbFvAdditionalConfig, rcsbContext?: PolymerEntityInstanceInterface): Promise<RcsbFvModulePublicInterface>;
26
+ static buildInstanceFv(elementId: string, instanceId: string, additionalConfig?: RcsbFvAdditionalConfig, rcsbContext?: PolymerEntityInstanceInterface, module?: instanceModule): Promise<RcsbFvModulePublicInterface>;
25
27
  }
28
+ export {};
@@ -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,10 @@
1
+ import { RcsbFvAbstractModule } from "./RcsbFvAbstractModule";
2
+ import { RcsbFvModuleBuildInterface } from "./RcsbFvModuleInterface";
3
+ import { AnnotationCollectorInterface } from "../../RcsbCollectTools/AnnotationCollector/AnnotationCollectorInterface";
4
+ export declare class RcsbFvInterface extends RcsbFvAbstractModule {
5
+ protected readonly annotationCollector: AnnotationCollectorInterface;
6
+ protected protectedBuild(buildConfig: RcsbFvModuleBuildInterface): Promise<void>;
7
+ protected concatAlignmentAndAnnotationTracks(buildConfig: RcsbFvModuleBuildInterface): void;
8
+ private titleSuffix;
9
+ private trackTitle;
10
+ }
@@ -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
  }
@@ -1,14 +1,16 @@
1
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";
2
+ import { CoreEntry, CoreInterface, CorePolymerEntity, QueryEntriesArgs, QueryEntryArgs, QueryInterfacesArgs, QueryPolymer_EntitiesArgs } from "@rcsb/rcsb-api-tools/build/RcsbGraphQL/Types/Yosemite/GqlTypes";
3
3
  export declare class RcsbClient {
4
4
  private rcsbQueryAnnotations;
5
5
  private rcsbQueryAlignment;
6
6
  private rcsbQueryEntityInstances;
7
7
  private rcsbQueryMutipleEntityInstances;
8
8
  private rcsbQueryEntryProperties;
9
+ private rcsbQueryInterfaceInstances;
9
10
  requestRcsbPdbAnnotations(requestConfig: QueryAnnotationsArgs): Promise<Array<AnnotationFeatures>>;
10
11
  requestAlignment(requestConfig: QueryAlignmentArgs): Promise<AlignmentResponse>;
11
12
  requestEntityInstances(requestConfig: QueryEntryArgs): Promise<CoreEntry>;
12
13
  requestMultipleEntityInstances(requestConfig: QueryPolymer_EntitiesArgs): Promise<Array<CorePolymerEntity>>;
13
14
  requestMultipleEntriesProperties(requestConfig: QueryEntriesArgs): Promise<Array<CoreEntry>>;
15
+ requestInterfaceInstances(requestConfig: QueryInterfacesArgs): Promise<Array<CoreInterface>>;
14
16
  }
@@ -0,0 +1,7 @@
1
+ import { RcsbCoreQueryInterface } from "./RcsbCoreQueryInterface";
2
+ import { CoreInterface, QueryInterfacesArgs } from "@rcsb/rcsb-api-tools/build/RcsbGraphQL/Types/Yosemite/GqlTypes";
3
+ import { GraphQLRequest } from "@rcsb/rcsb-api-tools/build/RcsbGraphQL/GraphQLRequest";
4
+ export declare class RcsbQueryInterfaceInstances implements RcsbCoreQueryInterface<QueryInterfacesArgs, Array<CoreInterface>> {
5
+ readonly client: GraphQLRequest;
6
+ request(requestConfig: QueryInterfacesArgs): Promise<Array<CoreInterface>>;
7
+ }
@@ -0,0 +1,7 @@
1
+ import { InterfaceInstanceInterface } from "../RcsbCollectTools/Translators/InterfaceInstanceCollector";
2
+ export declare class InterfaceInstanceTranslate {
3
+ private readonly rawData;
4
+ private readonly instances;
5
+ constructor(data: Array<InterfaceInstanceInterface>);
6
+ getInstances(rcsbId: string): [string, string];
7
+ }