| restrict

## Wiki

The master copies of EMBOSS documentation are available at http://emboss.open-bio.org/wiki/Appdocs on the EMBOSS Wiki.

Please help by correcting and extending the Wiki pages.

## Function

Report restriction enzyme cleavage sites in a nucleotide sequence

## Description

restrict scans one or more nucleotide sequences for cut sites for a supplied set of restriction enzymes. One or more restriction enzymes can be specified or alternatively all the enzymes in the REBASE database can be investigated. The minimum length of a recognition site to be reported must be specified. It writes an output file showing the location of the cut sites. There are several options to control exactly what sites are reported and the format of the output file. Optionally, the fragment lengths of the forward sense strand produced by complete restriction by each restriction enzyme on its own, or by using all of the input enzymes together, may be reported. Results are added to the tail section of the report.

## Algorithm

## Usage

Here is a sample session with restrict

    % restrict
    Report restriction enzyme cleavage sites in a nucleotide sequence
    Input nucleotide sequence(s): tembl:x65923
    Minimum recognition site length [4]:
    Comma separated enzyme list [all]:
    Output report [x65923.restrict]:

Go to the input files for this example
Go to the output files for this example

Example 2

This gives the lengths of the restriction fragments produced by cutting with all of the specified enzymes.

    % restrict -fragments
    Report restriction enzyme cleavage sites in a nucleotide sequence
    Input nucleotide sequence(s): tembl:x65923
    Minimum recognition site length [4]:
    Comma separated enzyme list [all]:
    Output report [x65923.restrict]:

Go to the output files for this example

Example 3

This gives the lengths of the restriction fragments created by cutting with just one of each of the specified enzymes in turn.

    % restrict -solofragment
    Report restriction enzyme cleavage sites in a nucleotide sequence
    Input nucleotide sequence(s): tembl:x65923
    Minimum recognition site length [4]:
    Comma separated enzyme list [all]:
    Output report [x65923.restrict]:

Go to the output files for this example

## Command line arguments

    Report restriction enzyme cleavage sites in a nucleotide sequence
    Version: EMBOSS:6.5.6.0

       Standard (Mandatory) qualifiers:
      [-sequence]          seqall     Nucleotide sequence(s) filename and optional
                                      format, or reference (input USA)
       -sitelen            integer    [4] This sets the minimum length of the
                                      restriction enzyme recognition site. Any
                                      enzymes with sites shorter than this will be
                                      ignored. (Integer from 2 to 20)
       -enzymes            string     [all] The name 'all' reads in all enzyme
                                      names from the REBASE database. You can
                                      specify enzymes by giving their names with
                                      commas between then, such as:
                                      'HincII,hinfI,ppiI,hindiii'.
                                      The case of the names is not important. You
                                      can specify a file of enzyme names to read
                                      in by giving the name of the file holding
                                      the enzyme names with a '@' character in
                                      front of it, for example, '@enz.list'.
                                      Blank lines and lines starting with a hash
                                      character or '!' are ignored and all other
                                      lines are concatenated together with a comma
                                      character ',' and then treated as the list
                                      of enzymes to search for.
                                      An example of a file of enzyme names is:
                                      ! my enzymes
                                      HincII, ppiII
                                      ! other enzymes
                                      hindiii
                                      HinfI
                                      PpiI (Any string)
      [-outfile]           report     [*.restrict] Output report file name
                                      (default -rformat table)

       Additional (Optional) qualifiers: (none)
       Advanced (Unprompted) qualifiers:
       -datafile           datafile   Restriction enzyme data file (optional)
       -mfile              datafile   [Emethylsites.dat] Restriction enzyme
                                      methylation data file
       -min                integer    [1] This sets the minimum number of cuts for
                                      any restriction enzyme that will be
                                      considered. Any enzymes that cut fewer times
                                      than this will be ignored. (Integer from 1
                                      to 1000)
       -max                integer    [2000000000] This sets the maximum number of
                                      cuts for any restriction enzyme that will
                                      be considered. Any enzymes that cut more
                                      times than this will be ignored. (Any
                                      integer value)
       -solofragment       boolean    [N] This gives the fragment lengths of the
                                      forward sense strand produced by complete
                                      restriction by each restriction enzyme on
                                      its own. Results are added to the tail
                                      section of the report.
       -single             boolean    [N] If this is set then this forces the
                                      values of the mincuts and maxcuts qualifiers
                                      to both be 1. Any other value you may have
                                      set them to will be ignored.
       -[no]blunt          boolean    [Y] This allows those enzymes which cut at
                                      the same position on the forward and reverse
                                      strands to be considered.
       -[no]sticky         boolean    [Y] This allows those enzymes which cut at
                                      different positions on the forward and
                                      reverse strands, leaving an overhang, to be
                                      considered.
       -[no]ambiguity      boolean    [Y] This allows those enzymes which have one
                                      or more 'N' ambiguity codes in their
                                      pattern to be considered
       -plasmid            boolean    [N] If this is set then this allows searches
                                      for restriction enzyme recognition site and
                                      cut positions that span the end of the
                                      sequence to be considered.
       -methylation        boolean    [N] If this is set then RE recognition sites
                                      will not match methylated bases.
       -[no]commercial     boolean    [Y] If this is set, then only those enzymes
                                      with a commercial supplier will be searched
                                      for. This qualifier is ignored if you have
                                      specified an explicit list of enzymes to
                                      search for, rather than searching through
                                      'all' the enzymes in the REBASE database. It
                                      is assumed that, if you are asking for an
                                      explicit enzyme, then you probably know
                                      where to get it from and so all enzymes
                                      names that you have asked to be searched
                                      for, and which cut, will be reported whether
                                      or not they have a commercial supplier.
       -[no]limit          boolean    [Y] This limits the reporting of enzymes to
                                      just one enzyme from each group of
                                      isoschizomers. The enzyme chosen to
                                      represent an isoschizomer group is the
                                      prototype indicated in the data file
                                      'embossre.equ', which is created by the
                                      program 'rebaseextract'. If you prefer
                                      different prototypes to be used, make a copy
                                      of embossre.equ in your home directory and
                                      edit it. If this value is set to be false
                                      then all of the input enzymes will be
                                      reported. You might like to set this to
                                      false if you are supplying an explicit set
                                      of enzymes rather than searching 'all' of
                                      them.
       -alphabetic         boolean    [N] Sort output alphabetically
       -fragments          boolean    [N] This gives the fragment lengths of the
                                      forward sense strand produced by complete
                                      restriction using all of the input enzymes
                                      together. Results are added to the tail
                                      section of the report.
       -name               boolean    [N] Show sequence name

       Associated qualifiers:

       "-sequence" associated qualifiers
       -sbegin1            integer    Start of each sequence to be used
       -send1              integer    End of each sequence to be used
       -sreverse1          boolean    Reverse (if DNA)
       -sask1              boolean    Ask for begin/end/reverse
       -snucleotide1       boolean    Sequence is nucleotide
       -sprotein1          boolean    Sequence is protein
       -slower1            boolean    Make lower case
       -supper1            boolean    Make upper case
       -scircular1         boolean    Sequence is circular
       -sformat1           string     Input sequence format
       -iquery1            string     Input query fields or ID list
       -ioffset1           integer    Input start position offset
       -sdbname1           string     Database name
       -sid1               string     Entryname
       -ufo1               string     UFO features
       -fformat1           string     Features format
       -fopenfile1         string     Features file name

       "-outfile" associated qualifiers
       -rformat2           string     Report format
       -rname2             string     Base file name
       -rextension2        string     File name extension
       -rdirectory2        string     Output directory
       -raccshow2          boolean    Show accession number in the report
       -rdesshow2          boolean    Show description in the report
       -rscoreshow2        boolean    Show the score in the report
       -rstrandshow2       boolean    Show the nucleotide strand in the report
       -rusashow2          boolean    Show the full USA in the report
       -rmaxall2           integer    Maximum total hits to report
       -rmaxseq2           integer    Maximum hits to report for one sequence

       General qualifiers:
       -auto               boolean    Turn off prompts
       -stdout             boolean    Write first file to standard output
       -filter             boolean    Read first file from standard input, write
                                      first file to standard output
       -options            boolean    Prompt for standard and additional values
       -debug              boolean    Write debug output to program.dbg
       -verbose            boolean    Report some/full command line options
       -help               boolean    Report command line options and exit. More
                                      information on associated and general
                                      qualifiers can be found with -help -verbose
       -warning            boolean    Report warnings
       -error              boolean    Report errors
       -fatal              boolean    Report fatal errors
       -die                boolean    Report dying program messages
       -version            boolean    Report version number and exit

Qualifier | Type | Description | Allowed values | Default
--- | --- | --- | --- | ---
Standard (Mandatory) qualifiers
[-sequence] (Parameter 1) | seqall | Nucleotide sequence(s) filename and optional format, or reference (input USA) | Readable sequence(s) | Required
-sitelen | integer | This sets the minimum length of the restriction enzyme recognition site. Any enzymes with sites shorter than this will be ignored. | Integer from 2 to 20 | 4

-enzymes

string

The name 'all' reads in all enzyme names from the REBASE database. You can specify enzymes by giving their names with commas between then, such as: 'HincII,hinfI,ppiI,hindiii'. The case of the names is not important. You can specify a file of enzyme names to read in by giving the name of the file holding the enzyme names with a '@' character in front of it, for example, '@enz.list'. Blank lines and lines starting with a hash character or '!' are ignored and all other lines are concatenated together with a comma character ',' and then treated as the list of enzymes to search for. An example of a file of enzyme names is: ! my enzymes HincII, ppiII ! other enzymes hindiii HinfI PpiI

Any string

all

[-outfile] (Parameter 2) | report | Output report file name | (default -rformat table) | <*>.restrict
Additional (Optional) qualifiers
(none)
Advanced (Unprompted) qualifiers
-datafile | datafile | Restriction enzyme data file (optional) | Data file | File in the data file path
-mfile | datafile | Restriction enzyme methylation data file | Data file | Emethylsites.dat
-min | integer | This sets the minimum number of cuts for any restriction enzyme that will be considered. Any enzymes that cut fewer times than this will be ignored. | Integer from 1 to 1000 | 1
-max | integer | This sets the maximum number of cuts for any restriction enzyme that will be considered. Any enzymes that cut more times than this will be ignored. | Any integer value | 2000000000
-solofragment | boolean | This gives the fragment lengths of the forward sense strand produced by complete restriction by each restriction enzyme on its own. Results are added to the tail section of the report. | Boolean value Yes/No | No
-single | boolean | If this is set then this forces the values of the mincuts and maxcuts qualifiers to both be 1. Any other value you may have set them to will be ignored. | Boolean value Yes/No | No
-[no]blunt | boolean | This allows those enzymes which cut at the same position on the forward and reverse strands to be considered. | Boolean value Yes/No | Yes
-[no]sticky | boolean | This allows those enzymes which cut at different positions on the forward and reverse strands, leaving an overhang, to be considered. | Boolean value Yes/No | Yes
-[no]ambiguity | boolean | This allows those enzymes which have one or more 'N' ambiguity codes in their pattern to be considered | Boolean value Yes/No | Yes
-plasmid | boolean | If this is set then this allows searches for restriction enzyme recognition site and cut positions that span the end of the sequence to be considered. | Boolean value Yes/No | No
-methylation | boolean | If this is set then RE recognition sites will not match methylated bases. | Boolean value Yes/No | No

-[no]commercial

boolean

If this is set, then only those enzymes with a commercial supplier will be searched for. This qualifier is ignored if you have specified an explicit list of enzymes to search for, rather than searching through 'all' the enzymes in the REBASE database. It is assumed that, if you are asking for an explicit enzyme, then you probably know where to get it from and so all enzymes names that you have asked to be searched for, and which cut, will be reported whether or not they have a commercial supplier.

Boolean value Yes/No

Yes

-[no]limit

boolean

This limits the reporting of enzymes to just one enzyme from each group of isoschizomers. The enzyme chosen to represent an isoschizomer group is the prototype indicated in the data file 'embossre.equ', which is created by the program 'rebaseextract'. If you prefer different prototypes to be used, make a copy of embossre.equ in your home directory and edit it. If this value is set to be false then all of the input enzymes will be reported. You might like to set this to false if you are supplying an explicit set of enzymes rather than searching 'all' of them.

Boolean value Yes/No

Yes

-alphabetic | boolean | Sort output alphabetically | Boolean value Yes/No | No
-fragments | boolean | This gives the fragment lengths of the forward sense strand produced by complete restriction using all of the input enzymes together. Results are added to the tail section of the report. | Boolean value Yes/No | No
-name | boolean | Show sequence name | Boolean value Yes/No | No
Associated qualifiers
"-sequence" associated seqall qualifiers
-sbegin1 -sbegin_sequence | integer | Start of each sequence to be used | Any integer value | 0
-send1 -send_sequence | integer | End of each sequence to be used | Any integer value | 0
-sreverse1 -sreverse_sequence | boolean | Reverse (if DNA) | Boolean value Yes/No | N
-sask1 -sask_sequence | boolean | Ask for begin/end/reverse | Boolean value Yes/No | N
-snucleotide1 -snucleotide_sequence | boolean | Sequence is nucleotide | Boolean value Yes/No | N
-sprotein1 -sprotein_sequence | boolean | Sequence is protein | Boolean value Yes/No | N
-slower1 -slower_sequence | boolean | Make lower case | Boolean value Yes/No | N
-supper1 -supper_sequence | boolean | Make upper case | Boolean value Yes/No | N
-scircular1 -scircular_sequence | boolean | Sequence is circular | Boolean value Yes/No | N
-sformat1 -sformat_sequence | string | Input sequence format | Any string |
-iquery1 -iquery_sequence | string | Input query fields or ID list | Any string |
-ioffset1 -ioffset_sequence | integer | Input start position offset | Any integer value | 0
-sdbname1 -sdbname_sequence | string | Database name | Any string |
-sid1 -sid_sequence | string | Entryname | Any string |
-ufo1 -ufo_sequence | string | UFO features | Any string |
-fformat1 -fformat_sequence | string | Features format | Any string |
-fopenfile1 -fopenfile_sequence | string | Features file name | Any string |
"-outfile" associated report qualifiers
-rformat2 -rformat_outfile | string | Report format | Any string | table
-rname2 -rname_outfile | string | Base file name | Any string |
-rextension2 -rextension_outfile | string | File name extension | Any string |
-rdirectory2 -rdirectory_outfile | string | Output directory | Any string |
-raccshow2 -raccshow_outfile | boolean | Show accession number in the report | Boolean value Yes/No | N
-rdesshow2 -rdesshow_outfile | boolean | Show description in the report | Boolean value Yes/No | N
-rscoreshow2 -rscoreshow_outfile | boolean | Show the score in the report | Boolean value Yes/No | N
-rstrandshow2 -rstrandshow_outfile | boolean | Show the nucleotide strand in the report | Boolean value Yes/No | Y
-rusashow2 -rusashow_outfile | boolean | Show the full USA in the report | Boolean value Yes/No | N
-rmaxall2 -rmaxall_outfile | integer | Maximum total hits to report | Any integer value | 0
-rmaxseq2 -rmaxseq_outfile | integer | Maximum hits to report for one sequence | Any integer value | 0
General qualifiers
-auto | boolean | Turn off prompts | Boolean value Yes/No | N
-stdout | boolean | Write first file to standard output | Boolean value Yes/No | N
-filter | boolean | Read first file from standard input, write first file to standard output | Boolean value Yes/No | N
-options | boolean | Prompt for standard and additional values | Boolean value Yes/No | N
-debug | boolean | Write debug output to program.dbg | Boolean value Yes/No | N
-verbose | boolean | Report some/full command line options | Boolean value Yes/No | Y
-help | boolean | Report command line options and exit. More information on associated and general qualifiers can be found with -help -verbose | Boolean value Yes/No | N
-warning | boolean | Report warnings | Boolean value Yes/No | Y
-error | boolean | Report errors | Boolean value Yes/No | Y
-fatal | boolean | Report fatal errors | Boolean value Yes/No | Y
-die | boolean | Report dying program messages | Boolean value Yes/No | Y
-version | boolean | Report version number and exit | Boolean value Yes/No | N

## Input file format

restrict reads one or more nucleotide sequences.

The input is a standard EMBOSS sequence query (also known as a 'USA').

Major sequence database sources defined as standard in EMBOSS installations include srs:embl, srs:uniprot and ensembl

Data can also be read from sequence output in any supported format written by an EMBOSS or third-party application.

The input format can be specified by using the command-line qualifier `-sformat xxx`, where 'xxx' is replaced by the name of the required format. The available format names are: gff (gff3), gff2, embl (em), genbank (gb, refseq), ddbj, refseqp, pir (nbrf), swissprot (swiss, sw), dasgff and debug.

See: http://emboss.sf.net/docs/themes/SequenceFormats.html for further information on sequence formats.

### Input files for usage example

'tembl:x65923' is a sequence entry in the example nucleic acid database 'tembl'

### Database entry: tembl:x65923

    ID   X65923; SV 1; linear; mRNA; STD; HUM; 518 BP.
    XX
    AC   X65923;
    XX
    DT   13-MAY-1992 (Rel. 31, Created)
    DT   18-APR-2005 (Rel. 83, Last updated, Version 11)
    XX
    DE   H.sapiens fau mRNA
    XX
    KW   fau gene.
    XX
    OS   Homo sapiens (human)
    OC   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia;
    OC   Eutheria; Euarchontoglires; Primates; Haplorrhini; Catarrhini; Hominidae;
    OC   Homo.
    XX
    RN   [1]
    RP   1-518
    RA   Michiels L.M.R.;
    RT   ;
    RL   Submitted (29-APR-1992) to the INSDC.
    RL   L.M.R. Michiels, University of Antwerp, Dept of Biochemistry,
    RL   Universiteisplein 1, 2610 Wilrijk, BELGIUM
    XX
    RN   [2]
    RP   1-518
    RX   PUBMED; 8395683.
    RA   Michiels L., Van der Rauwelaert E., Van Hasselt F., Kas K., Merregaert J.;
    RT   "fau cDNA encodes a ubiquitin-like-S30 fusion protein and is expressed as
    RT   an antisense sequence in the Finkel-Biskis-Reilly murine sarcoma virus";
    RL   Oncogene 8(9):2537-2546(1993).
    XX
    DR   Ensembl-Gn; ENSG00000149806; Homo_sapiens.
    DR   Ensembl-Tr; ENST00000279259; Homo_sapiens.
    DR   Ensembl-Tr; ENST00000434372; Homo_sapiens.
    DR   Ensembl-Tr; ENST00000525297; Homo_sapiens.
    DR   Ensembl-Tr; ENST00000526555; Homo_sapiens.
    DR   Ensembl-Tr; ENST00000527548; Homo_sapiens.
    DR   Ensembl-Tr; ENST00000529259; Homo_sapiens.
    DR   Ensembl-Tr; ENST00000529639; Homo_sapiens.
    DR   Ensembl-Tr; ENST00000531743; Homo_sapiens.
    XX
    FH   Key             Location/Qualifiers
    FH
    FT   source          1..518
    FT                   /organism="Homo sapiens"
    FT                   /chromosome="11q"
    FT                   /map="13"
    FT                   /mol_type="mRNA"
    FT                   /clone_lib="cDNA"
    FT                   /clone="pUIA 631"
    FT                   /tissue_type="placenta"
    FT                   /db_xref="taxon:9606"
    FT   misc_feature    57..278
    FT                   /note="ubiquitin like part"
    FT   CDS             57..458
    FT                   /gene="fau"
    FT                   /db_xref="GDB:135476"
    FT                   /db_xref="GOA:P35544"
    FT                   /db_xref="GOA:P62861"
    FT                   /db_xref="H-InvDB:HIT000322806.14"
    FT                   /db_xref="HGNC:3597"
    FT                   /db_xref="InterPro:IPR000626"
    FT                   /db_xref="InterPro:IPR006846"
    FT                   /db_xref="InterPro:IPR019954"
    FT                   /db_xref="InterPro:IPR019955"
    FT                   /db_xref="InterPro:IPR019956"
    FT                   /db_xref="PDB:2L7R"
    FT                   /db_xref="UniProtKB/Swiss-Prot:P35544"
    FT                   /db_xref="UniProtKB/Swiss-Prot:P62861"
    FT                   /protein_id="CAA46716.1"
    FT                   /translation="MQLFVRAQELHTFEVTGQETVAQIKAHVASLEGIAPEDQVVLLAG
    FT                   APLEDEATLGQCGVEALTTLEVAGRMLGGKVHGSLARAGKVRGQTPKVAKQEKKKKKTG
    FT                   RAKRRMQYNRRFVNVVPTFGKKKGPNANS"
    FT   misc_feature    98..102
    FT                   /note="nucleolar localization signal"
    FT   misc_feature    279..458
    FT                   /note="S30 part"
    FT   polyA_signal    484..489
    FT   polyA_site      509
    XX
    SQ   Sequence 518 BP; 125 A; 139 C; 148 G; 106 T; 0 other;
         ttcctctttc tcgactccat cttcgcggta gctgggaccg ccgttcagtc gccaatatgc        60
         agctctttgt ccgcgcccag gagctacaca ccttcgaggt gaccggccag gaaacggtcg       120
         cccagatcaa ggctcatgta gcctcactgg agggcattgc cccggaagat caagtcgtgc       180
         tcctggcagg cgcgcccctg gaggatgagg ccactctggg ccagtgcggg gtggaggccc       240
         tgactaccct ggaagtagca ggccgcatgc ttggaggtaa agttcatggt tccctggccc       300
         gtgctggaaa agtgagaggt cagactccta aggtggccaa acaggagaag aagaagaaga       360
         agacaggtcg ggctaagcgg cggatgcagt acaaccggcg ctttgtcaac gttgtgccca       420
         cctttggcaa gaagaagggc cccaatgcca actcttaagt cttttgtaat tctggctttc       480
         tctaataaaa aagccactta gttcagtcaa aaaaaaaa                               518
    //

## Output file format

The output is a standard EMBOSS report file.

The results can be output in one of several styles by using the command-line qualifier `-rformat xxx`, where 'xxx' is replaced by the name of the required format. The available format names are: embl, genbank, gff, pir, swiss, dasgff, debug, listfile, dbmotif, diffseq, draw, restrict, excel, feattable, motif, nametable, regions, seqtable, simple, srs, table, tagseq.

See: http://emboss.sf.net/docs/themes/ReportFormats.html for further information on report formats.

By default restrict writes a 'table' format report file.

### Output files for usage example

### File: x65923.restrict

    ########################################
    # Program: restrict
    # Rundate: Sun 15 Jul 2012 12:00:00
    # Commandline: restrict
    #    -sequence tembl:x65923
    # Report_format: table
    # Report_file: x65923.restrict
    ########################################

    #=======================================
    #
    # Sequence: X65923     from: 1   to: 518
    # HitCount: 54
    #
    # Minimum cuts per enzyme: 1
    # Maximum cuts per enzyme: 2000000000
    # Minimum length of recognition site: 4
    # Blunt ends allowed
    # Sticky ends allowed
    # DNA is linear
    # Ambiguities allowed
    #
    #=======================================

      Start     End  Strand Enzyme_name Restriction_site 5prime 3prime 5primerev 3primerev
         11      14       + TaqI        TCGA                 11     13         .         .
         25      28       - AciI        CCGC                 25     27         .         .
         31      36       - BseYI       CCCAGC               31     35         .         .
         38      41       + AciI        CCGC                 38     40         .         .
         40      44       - BceAI       ACGGC                25     27         .         .
         71      81       + BsiYI       CCNNNNNNNGG          77     74         .         .
         71      74       + AciI        CCGC                 71     73         .         .
         73      76       + Hin6I       GCGC                 73     75         .         .
         73      76       + HhaI        GCGC                 75     73         .         .
         77      81       + EcoRII      CCWGG                76     81         .         .
         77      81       + BssKI       CCNGG                76     81         .         .
         94      97       + TaqI        TCGA                 94     96         .         .
        103     106       + HpaII       CCGG                103    105         .         .
        105     108       + HaeIII      GGCC                106    106         .         .
        107     111       + EcoRII      CCWGG               106    111         .         .
        107     111       + BssKI       CCNGG               106    111         .         .
        107     117       + BsiYI       CCNNNNNNNGG         113    110         .         .
        122     132       + BsiYI       CCNNNNNNNGG         128    125         .         .
        125     135       + Hin4I       GAYNNNNNVTC         116    111       148       143
        146     150       + BsrI        ACTGG               151    149         .         .
        161     165       + BssKI       CCNGG               160    165         .         .
        162     165       + HpaII       CCGG                162    164         .         .
        182     186       + EcoRII      CCWGG               181    186         .         .
        182     186       + BssKI       CCNGG               181    186         .         .
        190     193       + Hin6I       GCGC                190    192         .         .
        190     193       + HhaI        GCGC                192    190         .         .
        192     195       + Hin6I       GCGC                192    194         .         .
        192     195       + HhaI        GCGC                194    192         .         .
        197     201       + EcoRII      CCWGG               196    201         .         .
        197     201       + BssKI       CCNGG               196    201         .         .
        209     212       + HaeIII      GGCC                210    210         .         .
        219     222       + HaeIII      GGCC                220    220         .         .
        221     231       + BsiYI       CCNNNNNNNGG         227    224         .         .
        221     225       - BsrI        ACTGG               221    219         .         .
        226     229       - AciI        CCGC                226    228         .         .
        236     239       + HaeIII      GGCC                237    237         .         .
        248     252       + EcoRII      CCWGG               247    252         .         .
        248     252       + BssKI       CCNGG               247    252         .         .
        261     264       + HaeIII      GGCC                262    262         .         .
        263     266       + AciI        CCGC                263    265         .         .
        293     297       + EcoRII      CCWGG               292    297         .         .
        293     297       + BssKI       CCNGG               292    297         .         .
        296     299       + HaeIII      GGCC                297    297         .         .
        335     338       + HaeIII      GGCC                336    336         .         .
        377     380       - AciI        CCGC                377    379         .         .
        380     383       - AciI        CCGC                380    382         .         .
        395     398       + HpaII       CCGG                395    397         .         .
        398     401       + Hin6I       GCGC                398    400         .         .
        398     401       + HhaI        GCGC                400    398         .         .
        405     410       + HindII      GTYRAC              407    407         .         .
        408     413       + AclI        AACGTT              409    411         .         .
        409     412       + MaeII       ACGT                409    411         .         .
        417     427       + BsiYI       CCNNNNNNNGG         423    420         .         .
        438     441       + HaeIII      GGCC                439    439         .         .

    #---------------------------------------
    #---------------------------------------

    #---------------------------------------
    # Total_sequences: 1
    # Total_length: 518
    # Reported_sequences: 1
    # Reported_hitcount: 54
    #---------------------------------------

### Output files for usage example 2

### File: x65923.restrict

    ########################################
    # Program: restrict
    # Rundate: Sun 15 Jul 2012 12:00:00
    # Commandline: restrict
    #    -fragments
    #    -sequence tembl:x65923
    # Report_format: table
    # Report_file: x65923.restrict
    ########################################

    #=======================================
    #
    # Sequence: X65923     from: 1   to: 518
    # HitCount: 54
    #
    # Minimum cuts per enzyme: 1
    # Maximum cuts per enzyme: 2000000000
    # Minimum length of recognition site: 4
    # Blunt ends allowed
    # Sticky ends allowed
    # DNA is linear
    # Ambiguities allowed
    #
    #=======================================

      Start     End  Strand Enzyme_name Restriction_site 5prime 3prime 5primerev 3primerev
         11      14       + TaqI        TCGA                 11     13         .         .
         25      28       - AciI        CCGC                 25     27         .         .
         31      36       - BseYI       CCCAGC               31     35         .         .
         38      41       + AciI        CCGC                 38     40         .         .
         40      44       - BceAI       ACGGC                25     27         .         .
         71      81       + BsiYI       CCNNNNNNNGG          77     74         .         .
         71      74       + AciI        CCGC                 71     73         .         .
         73      76       + Hin6I       GCGC                 73     75         .         .
         73      76       + HhaI        GCGC                 75     73         .         .
         77      81       + EcoRII      CCWGG                76     81         .         .
         77      81       + BssKI       CCNGG                76     81         .         .
         94      97       + TaqI        TCGA                 94     96         .         .
        103     106       + HpaII       CCGG                103    105         .         .
        105     108       + HaeIII      GGCC                106    106         .         .
        107     111       + EcoRII      CCWGG               106    111         .         .
        107     111       + BssKI       CCNGG               106    111         .         .
        107     117       + BsiYI       CCNNNNNNNGG         113    110         .         .
        122     132       + BsiYI       CCNNNNNNNGG         128    125         .         .
        125     135       + Hin4I       GAYNNNNNVTC         116    111       148       143
        146     150       + BsrI        ACTGG               151    149         .         .
        161     165       + BssKI       CCNGG               160    165         .         .
        162     165       + HpaII       CCGG                162    164         .         .
        182     186       + EcoRII      CCWGG               181    186         .         .
        182     186       + BssKI       CCNGG               181    186         .         .

      [Part of this file has been deleted for brevity]

    #     29
    #     20
    #     19
    #     17
    #     16
    #     15
    #     15
    #     14
    #     14
    #     14
    #     12
    #     11
    #     10
    #     10
    #     10
    #     9
    #     9
    #     9
    #     7
    #     7
    #     7
    #     6
    #     5
    #     5
    #     3
    #     3
    #     3
    #     3
    #     3
    #     2
    #     2
    #     2
    #     2
    #     2
    #     2
    #     2
    #     2
    #     1
    #     1
    #     1
    #     1
    #     1
    #
    #---------------------------------------

    #---------------------------------------
    # Total_sequences: 1
    # Total_length: 518
    # Reported_sequences: 1
    # Reported_hitcount: 54
    #---------------------------------------

### Output files for usage example 3

### File: x65923.restrict

    ########################################
    # Program: restrict
    # Rundate: Sun 15 Jul 2012 12:00:00
    # Commandline: restrict
    #    -solofragment
    #    -sequence tembl:x65923
    # Report_format: table
    # Report_file: x65923.restrict
    ########################################

    #=======================================
    #
    # Sequence: X65923     from: 1   to: 518
    # HitCount: 54
    #
    # Minimum cuts per enzyme: 1
    # Maximum cuts per enzyme: 2000000000
    # Minimum length of recognition site: 4
    # Blunt ends allowed
    # Sticky ends allowed
    # DNA is linear
    # Ambiguities allowed
    #
    #=======================================

      Start     End  Strand Enzyme_name Restriction_site 5prime 3prime 5primerev 3primerev
         11      14       + TaqI        TCGA                 11     13         .         .
         25      28       - AciI        CCGC                 25     27         .         .
         31      36       - BseYI       CCCAGC               31     35         .         .
         38      41       + AciI        CCGC                 38     40         .         .
         40      44       - BceAI       ACGGC                25     27         .         .
         71      81       + BsiYI       CCNNNNNNNGG          77     74         .         .
         71      74       + AciI        CCGC                 71     73         .         .
         73      76       + Hin6I       GCGC                 73     75         .         .
         73      76       + HhaI        GCGC                 75     73         .         .
         77      81       + EcoRII      CCWGG                76     81         .         .
         77      81       + BssKI       CCNGG                76     81         .         .
         94      97       + TaqI        TCGA                 94     96         .         .
        103     106       + HpaII       CCGG                103    105         .         .
        105     108       + HaeIII      GGCC                106    106         .         .
        107     111       + EcoRII      CCWGG               106    111         .         .
        107     111       + BssKI       CCNGG               106    111         .         .
        107     117       + BsiYI       CCNNNNNNNGG         113    110         .         .
        122     132       + BsiYI       CCNNNNNNNGG         128    125         .         .
        125     135       + Hin4I       GAYNNNNNVTC         116    111       148       143
        146     150       + BsrI        ACTGG               151    149         .         .
        161     165       + BssKI       CCNGG               160    165         .         .
        162     165       + HpaII       CCGG                162    164         .         .
        182     186       + EcoRII      CCWGG               181    186         .         .
        182     186       + BssKI       CCNGG               181    186         .         .

      [Part of this file has been deleted for brevity]

    # BssKI:
    # [CCNGG]
    # 	15	21	30	45	51	54
    # 	76	226
    #
    # EcoRII:
    # [CCWGG]
    # 	15	30	45	51	75	76
    # 	226
    #
    # HaeIII:
    # [GGCC]
    # 	10	17	25	35	39	79
    # 	103	104	106
    #
    # HhaI:
    # [GCGC]
    # 	2	75	117	118	206
    #
    # Hin4I:
    # [GAYNNNNNVTC]
    # 	32	116	370
    #
    # Hin6I:
    # [GCGC]
    # 	2	73	117	120	206
    #
    # HindII:
    # [GTYRAC]
    # 	111	407
    #
    # HpaII:
    # [CCGG]
    # 	59	103	123	233
    #
    # MaeII:
    # [ACGT]
    # 	109	409
    #
    # TaqI:
    # [TCGA]
    # 	11	83	424
    #
    #---------------------------------------

    #---------------------------------------
    # Total_sequences: 1
    # Total_length: 518
    # Reported_sequences: 1
    # Reported_hitcount: 54
    #---------------------------------------

The output from restrict is a simple text one. The base number, restriction enzyme name, recognition site and cut positions are shown. Note that cuts are always to the right of the residue shown and that 5' cuts are referred to by their associated 3' number sequence.

The program reports enzymes that cut at two or four sites. The program also reports isoschizomers and enzymes having the same recognition sequence but different cut sites.

When the "-fragments" or "-solofragments" qualifiers are given then the sizes of the fragments produced by either all of the specified enzymes cutting, or by each enzyme cutting individually, are given in the 'tail' section at the end of the report file.

## Data files

EMBOSS data files are distributed with the application and stored in the standard EMBOSS data directory, which is defined by the EMBOSS environment variable EMBOSS_DATA.

To see the available EMBOSS data files, run:

    % embossdata -showall

To fetch one of the data files (for example 'Exxx.dat') into your current directory for you to inspect or modify, run:

    % embossdata -fetch -file Exxx.dat

Users can provide their own data files in their own directories. Project specific files can be put in the current directory, or for tidier directory listings in a subdirectory called ".embossdata". Files for all EMBOSS runs can be put in the user's home directory, or again in a subdirectory called ".embossdata".

The directories are searched in the following order:

- . (your current directory)
- .embossdata (under your current directory)
- ~/ (your home directory)
- ~/.embossdata

The EMBOSS REBASE restriction enzyme data files are stored in directory 'data/REBASE/*' under the EMBOSS installation directory.

These files must first be set up using the program 'rebaseextract'. Running 'rebaseextract' may be the job of your system manager.

The data files are stored in the REBASE directory of the standard EMBOSS data directory. The names are:

- embossre.enz Cleavage information
- embossre.ref Reference/methylation information
- embossre.sup Supplier information

The column information is described at the top of the data files

The reported enzyme from any one group of isoschizomers (the prototype) is specified in the REBASE database and the information is held in the data file 'embossre.equ'. You may edit this file to set your own preferred prototype, if you wish.

The format of the file "embossre.equ" is
Enzyme-name Prototype-name

i.e. two columns of enzyme names separated by a space. The first name of the pair of enzymes is the name that is not preferred and the second is the preferred (prototype) name.

## Notes

Several criteria may be set to control what sites are reported: `-min`, `-max`, `-single` (minimum or maximum number of cuts, or single site cuts only. `-blunt` (enzymes which cut at the same position on the forward and reverse strands). `-sticky` (enzymes which cut at different positions on the forward and reverse strands, leaving an overhang). `-ambiguity` (enzymes which have one or more `N` ambiguity codes in their pattern). `-commercial` (enzymes with a commercial supplier). `-plasmid` (allows searches for restriction enzyme recognition site and cut postions that span the end of the sequence).

By default, only one enzyme of any group of isoschizomers (enzymes that have the same recognition site and cut positions) is reported. This behaviour can be changed by specifying `-nolimit`, in which case all isoschizomers are reported. The default behaviour uses the representative enzyme of an isoschizomer group (the prototype) which is specified in the EMBOSS data file `embossre.equ`. This file is generated from the REBASE database by running rebaseextract. You may edit this file to set your own preferred prototype,if you wish.

Output file size is related to the size of the recognition site and the maximum number of allowed cutting positions. Setting the site length to six and restricting the cuts to two is a common choice of parameters. The size of the output can sometimes be reduced by specifying the `-noambiguity` switch.

## References

1. Nucleic Acids Research 27: 312-313 (1999).

## Warnings

restrict uses the EMBOSS REBASE restriction enzyme data files stored in directory `data/REBASE/*` under the EMBOSS installation directory. These files must first be set up using the program rebaseextract. Running rebaseextract may be the job of your system manager.

## Diagnostic Error Messages

None.

## Exit status

It exits with status 0 unless an error is reported.

## Known bugs

None.

## See also

Program name | Description
--- | ---
recoder | Find restriction sites to remove (mutate) with no translation change
redata | Retrieve information from REBASE restriction enzyme database
remap | Display restriction enzyme binding sites in a nucleotide sequence
restover | Find restriction enzymes producing a specific overhang
showseq | Display sequences with features in pretty format
silent | Find restriction sites to insert (mutate) with no translation change

## Author(s)

Alan Bleasby
European Bioinformatics Institute, Wellcome Trust Genome Campus, Hinxton, Cambridge CB10 1SD, UK

Please report all bugs to the EMBOSS bug team (emboss-bug © emboss.open-bio.org) not to the original author.

## History

Completed 16th April 1999

## Target users

This program is intended to be used by everyone and everything, from naive users to embedded scripts.

## Comments

None