import type Dataset from "../model/dataset.js"; import type Job from "../model/job.js"; import MetadataFile from "../model/metadata-file.js"; export default class PhenodataUtils { static readonly PHENODATA_PREFIX = "phenodata"; static readonly DEFAULT_PHENODATA_FILENAME = "phenodata.tsv"; static readonly GROUP_COLOMN = "group"; static hasOwnPhenodata(dataset: Dataset): boolean; static getOwnPhenodata(dataset: Dataset | null): string | null; static getOwnPhenodataFile(dataset: Dataset | null): MetadataFile | null | undefined; /** * If given dataset has its own phenodata, return that phenodata. * Otherwise search ancestors for a dataset which has phenodata and return phenodata * of that ancestor if found. * * @param dataset */ static getPhenodata(dataset: Dataset, jobsMap: Map, datasetsMap: Map, phenodataTypeCheck: (dataset: Dataset) => boolean): string | null; /** * If given dataset has its own phenodata, return given dataset. * Otherwise search ancestors for a dataset which has phenodata and return that * ancestor if found. * * @param dataset */ static getPhenodataDataset(dataset: Dataset, jobsMap: Map, datasetsMap: Map, phenodataTypeCheck: (dataset: Dataset) => boolean): Dataset | null; static getAncestorDatasetsWithPhenodata(dataset: Dataset, jobsMap: Map, datasetsMap: Map, phenodataTypeCheck: (dataset: Dataset) => boolean): Dataset[]; /** * TODO Recursive and that _.uniqWith maybe not good. * * @param sessionData * @param datasets * @param filter */ static getAncestorsBottomUpBreadthFirstWithFilter(datasets: Dataset[], filter: (dataset: Dataset) => boolean, jobsMap: Map, datasetsMap: Map): Dataset[]; static getParentDatasets(dataset: Dataset, jobsMap: Map, datasetsMap: Map): Dataset[]; } //# sourceMappingURL=phenodata-utils.d.ts.map