Restriction digest of a circular plasmid
Enzymes come from the REBASE catalog of bioapi. On a circular molecule, n cuts give n fragments; each fragment keeps the end left by its enzyme.
1
Starting code
This is the PHP code used by this example.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | public function restrictionDigest( GenbankPlasmidMapperInterface $genbankPlasmidMapper, RestrictionEnzymeCatalogInterface $enzymeCatalog, RestrictionDigestInterface $restrictionDigest, RestrictionEndCompatibilityInterface $endCompatibility ) { $oPlasmid = $this->loadPuc19($genbankPlasmidMapper); // see "Plasmid from GenBank" // Opening the polylinker with two enzymes leaves two fragments with different sticky ends $oDouble = $restrictionDigest->digest($oPlasmid, [ $enzymeCatalog->getByName("EcoRI"), $enzymeCatalog->getByName("HindIII"), ]); // PvuII cuts twice, on both sides of the polylinker, and leaves blunt ends $oPvuII = $restrictionDigest->digest($oPlasmid, [$enzymeCatalog->getByName("PvuII")]); // Can these ends be ligated together? $oEcoRIEnd = $oDouble->getCuts()[0]->getEnd(); $oHindIIIEnd = $oDouble->getCuts()[1]->getEnd(); $aCompatibility = [ "EcoRI / HindIII" => $endCompatibility->checkCompatibility($oEcoRIEnd, $oHindIIIEnd), "EcoRI / MfeI" => $endCompatibility->checkCompatibility($oEcoRIEnd, new RestrictionEnd(RestrictionEnd::FIVE_PRIME, "AATT")), "BamHI / BglII" => $endCompatibility->checkCompatibility( new RestrictionEnd(RestrictionEnd::FIVE_PRIME, "GATC"), new RestrictionEnd(RestrictionEnd::FIVE_PRIME, "GATC") ), "PvuII / EcoRV" => $endCompatibility->checkCompatibility( $oPvuII->getCuts()[0]->getEnd(), new RestrictionEnd(RestrictionEnd::BLUNT) ), ]; return $this->render('default/cloningRestrictionDigest.html.twig', [ 'digests' => ["EcoRI + HindIII" => $oDouble, "PvuII" => $oPvuII], 'compatibility' => $aCompatibility, ]); } |
2
Result
Result returned by BioPHP for the demonstration data.
Digest by EcoRI + HindIII
Cuts
| Enzyme | Site (1-based) | Cut after base (top / bottom strand) | End |
|---|---|---|---|
| EcoRI | 396 | 396 / 400 | 5' overhang AATT |
| HindIII | 447 | 447 / 451 | 5' overhang AGCT |
Fragments
| Length | Left end | Right end |
|---|---|---|
| 51 bp | 5' overhang AATT |
5' overhang AGCT |
| 2635 bp | 5' overhang AGCT |
5' overhang AATT |
Digest by PvuII
Cuts
| Enzyme | Site (1-based) | Cut after base (top / bottom strand) | End |
|---|---|---|---|
| PvuII | 306 | 308 / 308 | blunt |
| PvuII | 628 | 630 / 630 | blunt |
Fragments
| Length | Left end | Right end |
|---|---|---|
| 322 bp | blunt | blunt |
| 2364 bp | blunt | blunt |
Can these ends be ligated?
| EcoRI / HindIII | Incompatible |
|---|---|
| EcoRI / MfeI | Compatible: the ends can be ligated |
| BamHI / BglII | Compatible: the ends can be ligated |
| PvuII / EcoRV | Compatible: the ends can be ligated |
The code above is the one actually executed by this page. Find the other examples in the left-hand column, or the tools in BioTools.