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

    Type Alias iupac

    iupac: <T extends string>(
        template: TemplateStringsArray,
        ...substitutions: string[],
    ) => ValidIUPACString<T> extends never ? never : IUPACSequence<T>

    Template literal tag for IUPAC DNA sequences (includes degenerate bases)

    Creates validated IUPAC DNA sequences supporting all ambiguity codes. Essential for primers with degenerate positions and biological variation handling.

    Type Declaration

      • <T extends string>(
            template: TemplateStringsArray,
            ...substitutions: string[],
        ): ValidIUPACString<T> extends never ? never : IUPACSequence<T>
      • Type Parameters

        • T extends string

        Parameters

        • template: TemplateStringsArray

          Template strings array from template literal

        • ...substitutions: string[]

          Any interpolated values

        Returns ValidIUPACString<T> extends never ? never : IUPACSequence<T>

        Branded IUPAC sequence that widens to string

    const standard = iupac`ATCGATCG`;           // ✅ Standard bases work
    const degenerate = iupac`ATCGRYSWKMN`; // ✅ All IUPAC codes
    const threeBases = iupac`ATCGBDHV`; // ✅ Three-base codes (B,D,H,V)
    const universal = iupac`GTGCCAGCMGCCGCGGTAA`; // ✅ Real 515F primer (M=A|C)
    const invalid = iupac`ATCGXYZ`; // ❌ Runtime error - X,Y,Z invalid

    // String compatibility maintained
    const length = degenerate.length; // Works like normal string