ValueObject
Table of Contents
Classes
- AbstractMolecularSequence
- A molecular sequence is defined by its symbols only : two instances holding the same symbols are
interchangeable, so the class carries no identity and exposes no setter. Every transformation
returns a brand new instance.
- AbstractNucleicSequence
- Holds what DNA and RNA have in common : a complement table covering the IUPAC degenerated
symbols, and the GC content.
- AminoAcidSequence
- Accepts the twenty amino acids in single-letter format, the two genetically encoded ones
(U selenocysteine, O pyrrolysine), the IUPAC ambiguity codes (B : D or N, Z : E or Q, J : I or L),
X for an unknown residue and the asterisk for a stop codon.
- CircularDnaSequence
- A DNA sequence with no first or last symbol : position 0 follows the last symbol, so rotating and
slicing must be able to cross that origin. All the methods below are zero-based, consistently
with AbstractMolecularSequence::subSequence(). Extracting a piece, with sliceCircular() across the
origin or with subSequence() within it, yields a plain, linear DnaSequence : a fragment cut out of
a circular molecule is no longer circular, and may be empty.
- DnaSequence
- Accepts the four deoxyribonucleotides and the IUPAC degenerated symbols already tolerated by
SequenceTrait::cleanSequence().
- RestrictionEnzymeDefinition
- Wraps the normalized properties of a restriction enzyme (name, aliases, family, recognition and
computing patterns, cleavage positions). It never computes an overhang: that requires a target
sequence and belongs to the digestion services that compose this value object.
- RnaSequence
- Accepts the four ribonucleotides and the IUPAC degenerated symbols already tolerated by
SequenceTrait::cleanSequence().