Genotype API Documentation - v0.1.0
    Preparing search index...

    Class SequenceStatsCalculator

    High-performance sequence statistics calculator with streaming support

    Calculates comprehensive statistics from sequences while maintaining constant memory usage through streaming computation where possible.

    // Basic statistics
    const calculator = new SequenceStatsCalculator();
    const stats = await calculator.calculateStats(sequences);
    console.log(`N50: ${stats.n50}, GC: ${stats.gcContent}%`);

    // Detailed statistics with quality
    const detailedStats = await calculator.calculateStats(sequences, {
    detailed: true,
    includeQuality: true,
    includeComposition: true
    });

    // Tabular output for command-line
    const tableStats = await calculator.calculateStats(sequences, {
    tabular: true,
    fileName: 'genome.fasta'
    });
    Index

    Constructors

    Methods

    • Calculate N50, N90, and other percentile metrics

      N50 is the sequence length where 50% of the total bases are in sequences of this length or longer. This is a key metric for genome assembly quality assessment.

      Parameters

      • lengths: number[]

        Array of sequence lengths (will be sorted)

      • percentile: number

        Target percentile (50 for N50, 90 for N90)

      Returns number

      The NX value

      const lengths = [100, 200, 300, 400, 500];
      const n50 = calculator.calculateNX(lengths, 50);
      const n90 = calculator.calculateNX(lengths, 90);
    • Calculate quality statistics for FASTQ sequences

      Computes mean, min, max, and percentile-based quality metrics from quality strings using the appropriate encoding.

      Parameters

      • qualities: string[]

        Array of quality strings

      • encoding: QualityEncoding

        Quality encoding system

      Returns {
          mean: number;
          min: number;
          max: number;
          q20Percentage: number;
          q30Percentage: number;
      }

      Quality statistics