Note: This page has been translated by MathWorks. Please click here

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

Split nucleotide sequence at restriction site

* Fragments* = restrict(

`SeqNT`

`Enzyme`

`Fragments`

`SeqNT`

`NTPattern`

`Position`

[

`Fragments`

`CuttingSites`

[

`Fragments`

`CuttingSites`

`Lengths`

... = restrict(..., 'PartialDigest',

`PartialDigestValue`

`SeqNT` | One of the following: Character vector of codes specifying a nucleotide sequence. For valid letter codes, see the table Mapping Nucleotide Letter Codes to Integers. Row vector of integers specifying a nucleotide sequence. For valid integers, see the table Mapping Nucleotide Integers to Letter Codes. MATLAB ^{®}structure containing a`Sequence` field that contains a nucleotide sequence, such as returned by`fastaread` ,`fastqread` ,`emblread` ,`getembl` ,`genbankread` , or`getgenbank` .
| |

`Enzyme` | Character vector specifying a name of a restriction enzyme
from REBASE
| |

`NTPattern` | Short nucleotide sequence recognition pattern to search
for in can
be either of the following: `NTPattern` Character vector
| |

`Position` | Either of the following: Integer specifying a position in the to cut, relative to`SeqNT` .`NTPattern` Two-element vector specifying two positions in the to cut, relative to`SeqNT` .`NTPattern`
| |

`PartialDigestValue` | Value from |

cuts * Fragments* = restrict(

`SeqNT`

`Enzyme`

`SeqNT`

`Enzyme`

`restrict`

function stores
the return values in `Fragments`

cuts * Fragments* = restrict(

`SeqNT`

`NTPattern`

`Position`

`SeqNT`

`NTPattern`

`Position`

`[`

returns a numeric vector with the indices
representing the cutting sites. The * Fragments*,

`CuttingSites`

`restrict`

function
adds a `0`

to the beginning of the `CuttingSites`

`CuttingSites`

`Fragments`

`CuttingSites`

+ 1

to
point to the first base of every fragment respective to the original
sequence.`[`

returns a numeric vector with the lengths
of every fragment.* Fragments*,

`CuttingSites`

`Lengths`

simulates
a partial digest where each restriction site in the sequence has a

... = restrict(..., 'PartialDigest', * PartialDigestValue*)

`PartialDigestValue`

REBASE, the Restriction Enzyme Database, is a collection of information about restriction enzymes and related proteins. For more information about REBASE or to search REBASE for the name of a restriction enzyme, see:

**Splitting a Nucleotide Sequence by Specifying an Enzyme**

Enter a nucleotide sequence.

`Seq = 'AGAGGGGTACGCGCTCTGAAAAGCGGGAACCTCGTGGCGCTTTATTAA';`

Use the restriction enzyme

`HspAI`

(which specifies a recognition sequence of`GCGC`

and a cleavage position of`1`

) to cleave the nucleotide sequence.`fragmentsEnzyme = restrict(Seq,'HspAI')`

MATLAB returns:

fragmentsEnzyme = 'AGAGGGGTACG' 'CGCTCTGAAAAGCGGGAACCTCGTGG' 'CGCTTTATTAA'

**Splitting a Nucleotide Sequence by Specifying a Pattern and
Position**

Enter a nucleotide sequence.

`Seq = 'AGAGGGGTACGCGCTCTGAAAAGCGGGAACCTCGTGGCGCTTTATTAA';`

Use the sequence pattern

`GCGC`

with the point of cleavage at position`3`

to cleave the nucleotide sequence.`fragmentsPattern = restrict(Seq,'GCGC',3)`

MATLAB returns:

fragmentsPattern = 'AGAGGGGTACGCG' 'CTCTGAAAAGCGGGAACCTCGTGGCG' 'CTTTATTAA'

**Splitting a Nucleotide Sequence by Specifying a Regular Expression
for the Pattern**

Enter a nucleotide sequence.

`Seq = 'AGAGGGGTACGCGCTCTGAAAAGCGGGAACCTCGTGGCGCTTTATTAA';`

Use a regular expression to specify the sequence pattern.

`fragmentsRegExp = restrict(Seq,'GCG[^C]',3)`

MATLAB returns:

fragmentsRegExp = 'AGAGGGGTACGCGCTCTGAAAAGCG' 'GGAACCTCGTGGCGCTTTATTAA'

**Returning the Cutting Sites and Fragment Lengths**

Enter a nucleotide sequence.

`Seq = 'AGAGGGGTACGCGCTCTGAAAAGCGGGAACCTCGTGGCGCTTTATTAA';`

Capture the cutting sites and fragment lengths as well as the fragments.

`[fragments, cut_sites, lengths] = restrict(Seq,'HspAI')`

MATLAB returns:

fragments = 'AGAGGGGTACG' 'CGCTCTGAAAAGCGGGAACCTCGTGG' 'CGCTTTATTAA' cut_sites = 0 11 37 lengths = 11 26 11

**Splitting a Double-Stranded Nucleotide Sequence**

Some enzymes specify cutting rules for both a strand and its
complement strand. `restrict`

applies the cutting
rule only for the 5' —> 3' strand. You can apply this rule
manually for the complement strand.

Enter a nucleotide sequence.

seq = 'CCCGCNNNNNNN';

Use the

`seqcomplement`

function to determine the complement strand, which is in the 3' —> 5' direction.seqc = seqcomplement(seq)

MATLAB returns:

seqc = GGGCGNNNNNNN

Cut the first strand using the restriction enzyme

`FauI`

(which specifies a recognition sequence pattern of`CCCGC`

and a cleavage position of`9`

).cuts_strand1 = restrict(seq, 'FauI')

MATLAB returns:

cuts_strand1 = 'CCCGCNNNN' 'NNN'

Cut the complement strand according the rule specified by

`FauI`

(which specifies a recognition sequence pattern of`GGGCG`

with the point of cleavage at position`11`

).cuts_strand2 = restrict(seqc, 'GGGCG', 11)

MATLAB returns:

cuts_strand2 = 'GGGCGNNNNNN' 'N'

[1] Roberts, R.J., Vincze, T., Posfai, J.,
and Macelis, D. (2007). REBASE—enzymes and genes for DNA restriction
and modification. Nucl. Acids Res. *35*, D269–D270.

[2] Official REBASE Web site: `http://rebase.neb.com`

.

`cleave`

| `cleavelookup`

| `rebasecuts`

| `regexp`

| `seq2regexp`

| `seqcomplement`

| `seqshowwords`

Was this topic helpful?