import { Gene, ICivicGeneIndex, ICivicVariantIndex, IHotspotIndex, IMyCancerGenomeData, IOncoKbData, Mutation, PostTranslationalModification, RemoteData, UniprotTopology, } from 'cbioportal-utils'; import { EnsemblTranscript, Hotspot, MyVariantInfo, PfamDomain, VariantAnnotation, } from 'genome-nexus-ts-api-client'; import { CancerGene, IndicatorQueryResp, OncoKBInfo, } from 'oncokb-ts-api-client'; import DataStore from './DataStore'; export interface MutationMapperStore { gene: Gene; dataStore: DataStore; uniprotId: RemoteData; activeTranscript?: RemoteData; canonicalTranscript: RemoteData; mutationData: RemoteData[] | undefined>; pfamDomainData: RemoteData; allTranscripts: RemoteData; transcriptsByTranscriptId: { [transcriptId: string]: EnsemblTranscript }; mutationsByPosition: { [pos: number]: T[] }; groupedMutationsByPosition: { group: string; mutations: { [pos: number]: T[] }; }[]; mutationCountsByProteinImpactType: { [proteinImpactType: string]: number }; uniqueMutationCountsByPosition: { [pos: number]: number }; uniqueGroupedMutationCountsByPosition: { group: string; counts: { [pos: number]: number }; }[]; ptmData: RemoteData; ptmDataByProteinPosStart: RemoteData< { [pos: number]: PostTranslationalModification[] } | undefined >; ptmDataByTypeAndProteinPosStart: RemoteData< | { [type: string]: { [position: number]: PostTranslationalModification[]; }; } | undefined >; uniprotTopologyData: RemoteData; indexedHotspotData: RemoteData; hotspotsByPosition: { [pos: number]: Hotspot[] }; oncoKbCancerGenes: RemoteData; oncoKbData: RemoteData; oncoKbDataByPosition: { [pos: number]: IndicatorQueryResp[] }; oncoKbInfo: RemoteData; usingPublicOncoKbInstance: boolean; civicGenes?: RemoteData; civicVariants?: RemoteData; myCancerGenomeData?: IMyCancerGenomeData; indexedVariantAnnotations: RemoteData< { [genomicLocation: string]: VariantAnnotation } | undefined >; indexedMyVariantInfoAnnotations?: RemoteData< { [genomicLocation: string]: MyVariantInfo } | undefined >; transcriptsWithAnnotations: RemoteData; transcriptsWithProteinLength: RemoteData; mutationsByTranscriptId: { [transcriptId: string]: T[] }; ensemblTranscriptLookUp: RemoteData; genomeBuild: string; setSelectedTranscript?: (id: string | undefined) => void; getTranscriptId?: () => string | undefined; selectedTranscript?: string | undefined; ptmSources?: string[]; } export default MutationMapperStore;