UNPKG

siafun

Version:
44 lines (43 loc) 2.57 kB
interface Pattern { p: number; l: number; ts: number[]; r?: number; } interface PatternGraph { [key: number]: number[]; } interface Tree<T> { [key: number]: Array<Tree<T> | T> | T; } /** assumes that all occurrences of segments are of the same length! */ export declare function inferHierarchyFromPatternOccurrences(occs: number[][][]): void; export declare function inferHierarchyFromMatrix2(matrix: number[][]): Pattern[][]; export declare function inferHierarchyFromMatrix(matrix: number[][]): Pattern[][]; /** simply takes the first of possible patterns and builds a hierarchy */ export declare function quicklyInferHierarchyFromMatrix(matrix: number[][], simplify: boolean, labels?: number[]): Tree<number>; export declare function keepNBestSegments(matrix: number[][], n: number): number[][]; export declare function getTransitiveMatrix(matrix: number[][], simplify: boolean): number[][]; export declare function getFirstPatterns(matrix: number[][]): Pattern[]; export declare function simplifyPatterns(patterns: Pattern[], minLength?: number): Pattern[]; export declare function subGraph(s: PatternGraph, t: PatternGraph): boolean; export declare function toPatternGraph(s: Pattern): PatternGraph; export declare function graphToPattern(s: PatternGraph): Pattern; export declare function getEdges(matrix: number[][]): number[]; export declare function rateHierarchy<T>(tree: Tree<T>): number; /** overlaps have to be removed before, and need to be sorted from longest to shortest length */ export declare function addTransitivity(patterns: Pattern[]): Pattern[]; export declare function minDistFromParents(pattern: Pattern, parentCandidates: Pattern[]): number; /** returns true if p1 is fully contained by p2 */ export declare function containedBy(p1: Pattern, p2: Pattern): boolean; export declare function getDistance(p1: Pattern, p2: Pattern): number; export declare function unpack(patterns: Pattern[]): Pattern[]; export declare function patternsToMatrix(patterns: Pattern[], size: [number, number]): number[][]; export declare function alignmentToPattern(a: number[][]): Pattern; /** returns all possible partitions into patterns for the given alignment. the partitions include full occurrences and initial and final residues */ export declare function alignmentToPatterns(a: number[][]): Pattern[][]; /** infers a hierarchy BOTTOM-UP from a sequence of numbers representing types */ export declare function inferHierarchyFromTypeSequence(typeSequence: number[], unequalPairsOnly: boolean, log?: boolean): any[]; export {};