Service
Table of Contents
Namespaces
- Mapper
- Reader
- Writer
Classes
- CircularRestrictionDigestManager
- The upper/lower cleavage position convention is locked by RestrictionEnzymeCatalog's fixtures and
verified against known biology : cleavagePositionUpper is the offset, from the start of a match, of
the upper-strand cut ; cleavagePositionLower is that same offset for the lower strand, expressed
relative to the upper one (RestrictionEnzymeDTO's own wording). A positive relative offset produces
a 5' overhang, a negative one a 3' overhang, zero a blunt end - checked here against EcoRI (5',
offset +4, overhang "AATT"), AatII (3', offset -4, overhang "ACGT") and AatI (blunt, offset 0).
- FeatureOverlapManager
- A feature that crosses the origin (start > end) is treated as two ordinary, linear 1-based
intervals - [start, plasmidLength] and [1, end] - and every query below reduces to comparing those
linear intervals with the standard "s1 <= e2 && s2 <= e1" overlap test. containsPosition() uses the
same 1-based convention as PlasmidFeature's own getStart()/getEnd() ; a position coming from a
RestrictionCut (zero-based, see CircularRestrictionDigestManager's own docblock) must be shifted by
one before being passed in here, exactly as Plasmid::extractFeatureSequence() already does the
reverse conversion for sliceCircular().
- GibsonAssemblyManager
- checkJunction() deliberately does NOT reuse the alignment engine (Domain/Alignment, including its
own semi-global/overlap aligner) : Gibson's exonuclease chew-back and annealing need the two
fragments' homology arm to be essentially IDENTICAL, not merely "well aligned" under some scoring
scheme that would tolerate mismatches or gaps a real reaction would not anneal through. An anchored
exact-match search - does upstream's very last k bases equal downstream's very first k bases,
for the longest k in range - is both the scientifically appropriate check here and simpler than
configuring an aligner strictly enough to approximate one.
- LinearRestrictionDigestManager
- The same geometry as CircularRestrictionDigestManager (see its docblock for the derivation of the
two cut positions, on either strand), without the wrapping : a site is searched on both strands
but must lie wholly inside the sequence, and a cut is kept only when both its strands are cut
inside the sequence. A Type IIs enzyme, which cuts away from its site, therefore loses a site near
an end of the sequence - a warning says which. Positions are zero-based junctions : a cut at u
leaves u bases on its left. The fragments are the top strand between two distinct upper cuts ; the
two ends of the sequence itself are blunt, the only way a bare strand can be taken.
- RestrictionEndCompatibilityManager
- Two blunt ends always ligate. Two sticky ends of the same kind (both 5' or both 3') ligate when
their overhang sequences, AS STORED, are literally equal - not their reverse complement.