Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

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.

restrict

Split nucleotide sequence at restriction site

Syntax

Fragments = restrict(SeqNT, Enzyme)
Fragments = restrict(SeqNT, NTPattern, Position)
[Fragments, CuttingSites] = restrict(...)
[Fragments, CuttingSites, Lengths] = restrict(...)

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

Arguments

SeqNT

One of the following:

Enzyme

Character vector specifying a name of a restriction enzyme from REBASE®, the Restriction Enzyme Database.

    Tip   Some enzymes specify cutting rules for both a strand and its complement strand. restrict applies the cutting rule only for the 5' —> 3' strand. For a workaround to applying an enzyme cutting rule for both strands, see Splitting a Double-Stranded Nucleotide Sequence.

NTPattern

Short nucleotide sequence recognition pattern to search for in SeqNT, a larger sequence. NTPattern can be either of the following:

Position

Either of the following:

  • Integer specifying a position in the SeqNT to cut, relative to NTPattern.

  • Two-element vector specifying two positions in the SeqNT to cut, relative to NTPattern.

    Note:   Position 0 corresponds to a cut before the first base of NTPattern.

PartialDigestValue

Value from 0 to 1 (default) specifying the probability that a cleavage site will be cut.

Description

Fragments = restrict(SeqNT, Enzyme) cuts SeqNT, a nucleotide sequence, into fragments at the restriction sites of Enzyme, a restriction enzyme. The restrict function stores the return values in Fragments, a cell array of sequences.

Fragments = restrict(SeqNT, NTPattern, Position) cuts SeqNT, a nucleotide sequence, into fragments at restriction sites specified by NTPattern, a nucleotide recognition pattern, and Position.

[Fragments, CuttingSites] = restrict(...) returns a numeric vector with the indices representing the cutting sites. The restrict function adds a 0 to the beginning of the CuttingSites vector so that the number of elements in CuttingSites equals the number of elements in Fragments. You can use CuttingSites + 1 to point to the first base of every fragment respective to the original sequence.

[Fragments, CuttingSites, Lengths] = restrict(...) returns a numeric vector with the lengths of every fragment.


... = restrict(..., 'PartialDigest', PartialDigestValue)
simulates a partial digest where each restriction site in the sequence has a PartialDigestValue or probability of being cut.

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:

Examples

Splitting a Nucleotide Sequence by Specifying an Enzyme

  1. Enter a nucleotide sequence.

    Seq = 'AGAGGGGTACGCGCTCTGAAAAGCGGGAACCTCGTGGCGCTTTATTAA';
  2. 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

  1. Enter a nucleotide sequence.

    Seq = 'AGAGGGGTACGCGCTCTGAAAAGCGGGAACCTCGTGGCGCTTTATTAA';
  2. 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

  1. Enter a nucleotide sequence.

    Seq = 'AGAGGGGTACGCGCTCTGAAAAGCGGGAACCTCGTGGCGCTTTATTAA';
  2. 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

  1. Enter a nucleotide sequence.

    Seq = 'AGAGGGGTACGCGCTCTGAAAAGCGGGAACCTCGTGGCGCTTTATTAA';
  2. 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.

  1. Enter a nucleotide sequence.

    seq = 'CCCGCNNNNNNN';
    

  2. Use the seqcomplement function to determine the complement strand, which is in the 3' —> 5' direction.

    seqc = seqcomplement(seq)
    

    MATLAB returns:

    seqc =
    
    GGGCGNNNNNNN
    
  3. 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'
    
  4. 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'

References

[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.

Introduced before R2006a

Was this topic helpful?