UNPKG

@rcsb/rcsb-saguaro-app

Version:
30 lines (29 loc) 1.41 kB
import { SequenceAlignments, QueryAlignmentsArgs, SequenceReference } from "@rcsb/rcsb-api-tools/lib/RcsbGraphQL/Types/Borrego/GqlTypes"; import { RcsbQueryGroupAlignmentArguments } from "../../RcsbGraphQL/RcsbQueryAlignment"; import { ExternalTrackBuilderInterface } from "../FeatureTools/ExternalTrackBuilderInterface"; interface CommonAlignmentInterface { externalTrackBuilder?: ExternalTrackBuilderInterface; filterByTargetContains?: string; dynamicDisplay?: boolean; excludeAlignmentLinks?: boolean; fitTitleWidth?: boolean; excludeFirstRowLink?: boolean; } type QueryAlignmentArgsTypes = { [K in keyof QueryAlignmentsArgs]: NonNullable<QueryAlignmentsArgs[K]>; }; export interface CollectAlignmentInterface extends QueryAlignmentArgsTypes, CommonAlignmentInterface { } export interface CollectGroupAlignmentInterface extends RcsbQueryGroupAlignmentArguments, CommonAlignmentInterface { sequencePrefix: string; from?: SequenceReference; to?: SequenceReference; } export type AlignmentCollectConfig = Partial<CollectAlignmentInterface & CollectGroupAlignmentInterface>; export interface AlignmentCollectorInterface { getTargets(): Promise<Array<string>>; getAlignment(): Promise<SequenceAlignments>; getAlignmentLength(): Promise<number>; collect(requestConfig: AlignmentCollectConfig, filter?: Array<string>): Promise<SequenceAlignments>; } export {};