UNPKG

hyphy-scope

Version:

Reusable Svelte components for HyPhy analysis visualization

105 lines (104 loc) 2.82 kB
/** * Multi-Hit utility functions */ export interface MultiHitResults { 'test results': { 'Triple-hit vs single-hit'?: TestResult; 'Triple-hit vs double-hit'?: TestResult; 'Triple-hit vs Triple-hit-island'?: TestResult; 'Double-hit vs single-hit'?: TestResult; 'Triple-hit-island vs double-hit'?: TestResult; }; 'Evidence Ratios': { [key: string]: number[][]; }; 'Site Log Likelihood': { [key: string]: number[][]; }; 'Site substitutions': { [siteIndex: string]: { [sourceCodon: string]: { [targetCodon: string]: any; }; }; }; input?: any; fits?: any; tested?: any[]; } export interface TestResult { LRT: number; 'p-value': number; } export interface ERThresholds { [key: string]: [number, number]; } export interface CodonLayout { len: number; color: string; label: string; id: string; aa: string; } export interface ChordData { count: number; source: { id: string; start: number; end: number; codon: string; }; target: { id: string; start: number; end: number; codon: string; }; } export declare const translationTable: { [codon: string]: string; }; /** * Get unique amino acids in order */ export declare function getUniqueAminoAcids(): string[]; /** * Get amino acid index for color mapping */ export declare function getAminoAcidIndex(aa: string): number; /** * Format evidence ratio data for table display */ export declare function formatEvidenceRatios(data: MultiHitResults): number[][]; /** * Format site log likelihood data for table display */ export declare function formatSiteLogLikelihood(data: MultiHitResults): number[][]; export declare function getERRange(values: number[]): [number, number]; /** * Initialize ER thresholds from data */ export declare function initializeERThresholds(data: MultiHitResults): ERThresholds; /** * Count nucleotide differences between two codons */ export declare function countNucleotideDifferences(codon1: string, codon2: string): number; /** * Prepare codon substitution data for circos visualization */ export declare function prepareCircosData(substitutions: MultiHitResults['Site substitutions'], evidenceRatios: MultiHitResults['Evidence Ratios'], erThresholds: ERThresholds, minTransitions: number): { layout: CodonLayout[]; chords: ChordData[]; maxCount: number; }; /** * Get color for a codon based on its amino acid */ export declare function getCodonColor(codon: string): string; /** * Get test result summary */ export declare function getTestSummary(data: MultiHitResults, pThreshold?: number): { significant: string[]; total: number; };