react-mutation-mapper
Version:
Generic Mutation Mapper
161 lines (160 loc) • 7.17 kB
TypeScript
import { AggregatedHotspots, ICivicGeneIndex, ICivicVariantIndex, IHotspotIndex, IMyCancerGenomeData, IOncoKbData, PostTranslationalModification, UniprotFeature, UniprotTopology } from 'cbioportal-utils';
import { Gene, Mutation, IMyVariantInfoIndex } from 'cbioportal-utils';
import { CancerGene, IndicatorQueryResp, OncoKBInfo } from 'oncokb-ts-api-client';
import { EnsemblTranscript, Hotspot, PfamDomain, PostTranslationalModification as DbPtm, VariantAnnotation } from 'genome-nexus-ts-api-client';
import MobxPromise from 'mobxpromise';
import { DataFilter } from '../model/DataFilter';
import DataStore from '../model/DataStore';
import { ApplyFilterFn, FilterApplier } from '../model/FilterApplier';
import { MutationMapperDataFetcher } from '../model/MutationMapperDataFetcher';
import { MutationMapperStore } from '../model/MutationMapperStore';
interface DefaultMutationMapperStoreConfig {
annotationFields?: string[];
isoformOverrideSource?: string;
ptmSources?: string[];
filterMutationsBySelectedTranscript?: boolean;
genomeNexusUrl?: string;
oncoKbUrl?: string;
enableCivic?: boolean;
enableOncoKb?: boolean;
enableRevue?: boolean;
cachePostMethodsOnClients?: boolean;
apiCacheLimit?: number;
getMutationCount?: (mutation: Partial<Mutation>) => number;
getTumorType?: (mutation: Partial<Mutation>) => string;
filterApplier?: FilterApplier;
filterAppliersOverride?: {
[filterType: string]: ApplyFilterFn;
};
dataFetcher?: MutationMapperDataFetcher;
dataFilters?: DataFilter[];
selectionFilters?: DataFilter[];
highlightFilters?: DataFilter[];
groupFilters?: {
group: string;
filter: DataFilter;
}[];
genomeBuild?: string;
}
declare class DefaultMutationMapperStore<T extends Mutation> implements MutationMapperStore<T> {
gene: Gene;
protected config: DefaultMutationMapperStoreConfig;
protected getMutations: () => T[];
getTranscriptId?: (() => string | undefined) | undefined;
protected getDataFetcher?: () => MutationMapperDataFetcher;
private _selectedTranscript;
get selectedTranscript(): string | undefined;
constructor(gene: Gene, config: DefaultMutationMapperStoreConfig, getMutations: () => T[], getTranscriptId?: (() => string | undefined) | undefined);
readonly activeTranscript: MobxPromise<string | undefined>;
setSelectedTranscript(transcript: string | undefined): void;
get isoformOverrideSource(): string;
get ptmSources(): string[];
get annotationFields(): string[];
protected getDataStore?: () => DataStore;
get dataStore(): DataStore;
readonly myCancerGenomeData: IMyCancerGenomeData;
get mutations(): T[];
protected getAnnotatedMutationsByTranscriptId(mutations: T[], transcriptId: string, indexedVariantAnnotations: {
[genomicLocation: string]: VariantAnnotation;
}): T[];
getAnnotatedMutations(transcriptId: string): T[];
get filterApplier(): FilterApplier;
get dataFetcher(): MutationMapperDataFetcher;
get mutationsByPosition(): {
[pos: number]: T[];
};
get groupedMutationsByPosition(): {
group: string;
mutations: {
[pos: number]: T[];
};
}[];
protected getMutationsGroupedByProteinImpactType?: () => {
[type: string]: {
group: string;
data: any[];
};
};
protected get mutationsGroupedByProteinImpactType(): {
[type: string]: {
group: string;
data: any[];
};
};
get mutationCountsByProteinImpactType(): {
[proteinImpactType: string]: number;
};
get uniqueMutationCountsByPosition(): {
[pos: number]: number;
};
get uniqueGroupedMutationCountsByPosition(): {
group: string;
counts: {
[pos: number]: number;
};
}[];
get transcriptsByTranscriptId(): {
[transcriptId: string]: EnsemblTranscript;
};
countUniqueMutationsByPosition(mutationsByPosition: {
[pos: number]: T[];
}, group?: string): {
[pos: number]: number;
};
countUniqueMutations(mutations: T[], group?: string): number;
protected getMutationCount(mutations: T[], getMutationCount: (mutation: Partial<T>) => number): number;
readonly mutationData: MobxPromise<Partial<T>[] | undefined>;
readonly swissProtId: MobxPromise<string>;
readonly uniprotId: MobxPromise<string | undefined>;
readonly pfamDomainData: MobxPromise<PfamDomain[] | undefined>;
readonly canonicalTranscript: MobxPromise<EnsemblTranscript | undefined>;
readonly allTranscripts: MobxPromise<EnsemblTranscript[] | undefined>;
readonly transcriptsByHugoSymbol: MobxPromise<EnsemblTranscript[] | undefined>;
readonly transcriptsWithProteinLength: MobxPromise<string[] | undefined>;
readonly transcriptsWithAnnotations: MobxPromise<string[] | undefined>;
readonly ptmData: MobxPromise<PostTranslationalModification[]>;
readonly uniprotPtmData: MobxPromise<UniprotFeature[]>;
readonly uniprotTopologyData: MobxPromise<UniprotTopology[]>;
readonly dbPtmData: MobxPromise<DbPtm[]>;
readonly ptmDataByProteinPosStart: MobxPromise<{
[pos: number]: PostTranslationalModification[];
} | undefined>;
readonly ptmDataByTypeAndProteinPosStart: MobxPromise<{
[type: string]: {
[position: number]: PostTranslationalModification[];
};
} | undefined>;
readonly cancerHotspotsData: MobxPromise<Hotspot[]>;
readonly cancerHotspotsDataByProteinPosStart: MobxPromise<{
[pos: number]: Hotspot[];
}>;
readonly hotspotData: MobxPromise<AggregatedHotspots[]>;
readonly indexedHotspotData: MobxPromise<IHotspotIndex | undefined>;
get hotspotsByPosition(): {
[pos: number]: Hotspot[];
};
readonly oncoKbCancerGenes: MobxPromise<CancerGene[] | Error>;
readonly oncoKbInfo: MobxPromise<OncoKBInfo>;
get usingPublicOncoKbInstance(): boolean;
readonly oncoKbAnnotatedGenes: MobxPromise<{
[entrezGeneId: number]: boolean;
}>;
readonly oncoKbData: MobxPromise<IOncoKbData | Error>;
get oncoKbDataByPosition(): {
[pos: number]: IndicatorQueryResp[];
};
readonly civicGenes: MobxPromise<ICivicGeneIndex | undefined>;
readonly civicVariants: import("mobxpromise").MobxPromiseUnionType<ICivicVariantIndex | undefined>;
readonly indexedVariantAnnotations: MobxPromise<{
[genomicLocation: string]: VariantAnnotation;
} | undefined>;
readonly indexedMyVariantInfoAnnotations: MobxPromise<IMyVariantInfoIndex | undefined>;
get mutationsByTranscriptId(): {
[transcriptId: string]: T[];
};
protected getDefaultTumorType(mutation: T): string;
protected getDefaultEntrezGeneId(mutation: T): number;
readonly ensemblTranscriptLookUp: MobxPromise<any | undefined>;
get genomeBuild(): string;
}
export default DefaultMutationMapperStore;