String sequence OR any NucleicAcid to convert to DNA
const dna1 = new DNA('ATCG');
const dna2 = new DNA(someRNA);
Readonly
nucleicPrivate
Readonly
sequenceChecks if the sequence contains the specified subsequence
The subsequence to search for (string or same nucleic acid type)
True if the subsequence is found, false otherwise
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
The suffix to check for (string or same nucleic acid type)
True if the sequence ends with the suffix, false otherwise
const dna = new DNA('ATCGATCG');
console.log(dna.endsWith('TCG')); // true
console.log(dna.endsWith('ATC')); // false
Checks if the given NucleicAcid is equal
The NucleicAcid to compare
True if the NucleicAcids are equal, false otherwise
Returns the complement as a new DNA instance This is the object-oriented API for getting DNA complements
A new DNA instance containing the complement sequence
const dnaResult = DNA.create('ATCG');
if (dnaResult.success) {
const complement = dnaResult.data.getComplement(); // Returns new DNA('TAGC')
console.log(complement.getSequence()); // 'TAGC'
}
Returns the reverse complement as a new DNA instance This represents the opposite strand of double-stranded DNA
A new DNA instance containing the reverse complement sequence
const dnaResult = DNA.create('ATCG');
if (dnaResult.success) {
const dna = dnaResult.data;
const reverseComplement = dna.getReverseComplement(); // Returns new DNA('CGAT')
// Chainable operations
const original = dna.getReverseComplement().getReverseComplement(); // Returns new DNA('ATCG')
const doubleComplement = dna.getComplement().getComplement(); // Returns new DNA('ATCG')
}
Returns the reverse complement of the sequence This represents the opposite strand of double-stranded nucleic acids
String representing the reverse complement of the sequence
const dna = new DNA('ATCG');
console.log(dna.getReverseComplementSequence()); // 'CGAT'
const rna = new RNA('AUCG');
console.log(rna.getReverseComplementSequence()); // 'CGAU'
Returns a DNA subsequence from the specified start position to the end position
The starting position (inclusive, 0-based)
Optional
end: numberThe ending position (exclusive, 0-based). If not specified, goes to end of sequence
A new DNA instance containing the subsequence
const dnaResult = DNA.create('ATCGATCG');
if (dnaResult.success) {
const sub = dnaResult.data.getSubsequence(2, 5); // Creates new DNA with 'CGA'
console.log(sub.getSequence()); // 'CGA'
}
Returns the index of the first occurrence of the specified subsequence
The subsequence to search for (string or same nucleic acid type)
The position to start searching from (default: 0)
The index of the first occurrence, or -1 if not found
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
The prefix to check for (string or same nucleic acid type)
True if the sequence starts with the prefix, false otherwise
const dna = new DNA('ATCGATCG');
console.log(dna.startsWith('ATC')); // true
console.log(dna.startsWith('GTC')); // false
Static
createCreates a DNA instance with validation.
String sequence OR any NucleicAcid to convert to DNA
ValidationResult containing DNA or error
A class representing DNA with a valid sequence. The constructor enforces validation, and the sequence is immutable after construction. All DNA objects are guaranteed to be in a valid state.