Class RNA

A class representing RNA with a valid sequence. The constructor enforces validation, and the sequence is immutable after construction. All RNA objects are guaranteed to be in a valid state.

Hierarchy (view full)

Constructors

Properties

nucleicAcidType: NucleicAcidType
sequence: string

Methods

  • Checks if the sequence contains the specified subsequence

    Parameters

    • subsequence: string | NucleicAcid

      The subsequence to search for (string or same nucleic acid type)

    Returns boolean

    True if the subsequence is found, false otherwise

    Example

    const dna = new DNA('ATCGATCG');
    console.log(dna.contains('TCG')); // true
    console.log(dna.contains('AAA')); // false
  • Checks if the sequence ends with the specified suffix

    Parameters

    • suffix: string | NucleicAcid

      The suffix to check for (string or same nucleic acid type)

    Returns boolean

    True if the sequence ends with the suffix, false otherwise

    Example

    const dna = new DNA('ATCGATCG');
    console.log(dna.endsWith('TCG')); // true
    console.log(dna.endsWith('ATC')); // false
  • Returns the complement as a new RNA instance This is the object-oriented API for getting RNA complements

    Returns RNA

    A new RNA instance containing the complement sequence

    Example

    const rnaResult = RNA.create('AUCG');
    if (rnaResult.success) {
    const complement = rnaResult.data.getComplement(); // Returns new RNA('UAGC')
    console.log(complement.getSequence()); // 'UAGC'
    }
  • Returns the reverse complement as a new RNA instance This represents the opposite strand orientation for RNA binding

    Returns RNA

    A new RNA instance containing the reverse complement sequence

    Example

    const rnaResult = RNA.create('AUCG');
    if (rnaResult.success) {
    const rna = rnaResult.data;
    const reverseComplement = rna.getReverseComplement(); // Returns new RNA('CGAU')

    // Chainable operations
    const original = rna.getReverseComplement().getReverseComplement(); // Returns new RNA('AUCG')
    const doubleComplement = rna.getComplement().getComplement(); // Returns new RNA('AUCG')
    }
  • Returns the reverse complement of the sequence This represents the opposite strand of double-stranded nucleic acids

    Returns string

    String representing the reverse complement of the sequence

    Example

    const dna = new DNA('ATCG');
    console.log(dna.getReverseComplementSequence()); // 'CGAT'

    const rna = new RNA('AUCG');
    console.log(rna.getReverseComplementSequence()); // 'CGAU'
  • Returns an RNA subsequence from the specified start position to the end position

    Parameters

    • start: number

      The starting position (inclusive, 0-based)

    • Optional end: number

      The ending position (exclusive, 0-based). If not specified, goes to end of sequence

    Returns RNA

    A new RNA instance containing the subsequence

    Example

    const rnaResult = RNA.create('AUCGAUCG');
    if (rnaResult.success) {
    const sub = rnaResult.data.getSubsequence(2, 5); // Creates new RNA with 'CGA'
    console.log(sub.getSequence()); // 'CGA'
    }
  • Returns the index of the first occurrence of the specified subsequence

    Parameters

    • subsequence: string | NucleicAcid

      The subsequence to search for (string or same nucleic acid type)

    • startPosition: number = 0

      The position to start searching from (default: 0)

    Returns number

    The index of the first occurrence, or -1 if not found

    Example

    const dna = new DNA('ATCGATCG');
    console.log(dna.indexOf('TCG')); // 1
    console.log(dna.indexOf('TCG', 2)); // 5
    console.log(dna.indexOf('AAA')); // -1
  • Checks if the sequence starts with the specified prefix

    Parameters

    • prefix: string | NucleicAcid

      The prefix to check for (string or same nucleic acid type)

    Returns boolean

    True if the sequence starts with the prefix, false otherwise

    Example

    const dna = new DNA('ATCGATCG');
    console.log(dna.startsWith('ATC')); // true
    console.log(dna.startsWith('GTC')); // false