GibsonAssemblyManager
in package
implements
GibsonAssemblyInterface
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.
designHomologyArms() splits the requested overlap between the two primers : the upstream fragment's last ceil(k/2) bases become the tail added to the DOWNSTREAM fragment's forward primer, and the downstream fragment's first floor(k/2) bases, reverse-complemented, become the tail added to the UPSTREAM fragment's reverse primer. Each PCR product then ends, or starts, with the other's half, so the two products share exactly k bases. Carrying k bases on each primer would give a 2k overlap instead. Only the homology arm itself is designed here ; the primer's own annealing portion (with its own melting-temperature requirement) is a separate concern this class does not address. Class GibsonAssemblyManager
Tags
Table of Contents
Interfaces
- GibsonAssemblyInterface
- Interface GibsonAssemblyInterface - answers "do these two fragments already share the homology a Gibson junction needs ?" and, when they do not, designs the primer tails that would give them one.
Methods
Methods
checkJunction()
public
checkJunction(DnaSequence $oUpstream, DnaSequence $oDownstream, int $iMinOverlapLength, int $iMaxOverlapLength) : GibsonJunctionResult
Parameters
- $oUpstream : DnaSequence
- $oDownstream : DnaSequence
- $iMinOverlapLength : int
- $iMaxOverlapLength : int
Return values
GibsonJunctionResultdesignHomologyArms()
public
designHomologyArms(DnaSequence $oUpstream, DnaSequence $oDownstream, int $iOverlapLength) : GibsonHomologyArms
Parameters
- $oUpstream : DnaSequence
- $oDownstream : DnaSequence
- $iOverlapLength : int