| dreg

## Function

regular expression search of a nucleotide sequence

## Description

This searches for matches of a regular expression to a nucleic acid sequence.

A regular expression is a way of specifying an ambiguous pattern to search for. Regular expressions are commonly used in some computer programming languages and may be more familiar to some users than to others.

The following is a short guide to regular expressions in EMBOSS:

^
  use this at the start of a pattern to insist that the pattern can only match at the start of a sequence. (eg. '^AUG' matches a start codon at the start of the sequence)
$
  use this at the end of a pattern to insist that the pattern can only match at the end of a sequence (eg. 'A+$' matches a poly-A sequence at the end of the sequence)
()
  groups a pattern. This is commonly used with '|' (eg. '(AUG)|(ATG)' matches either the DNA or RNA form of the initiation codon )
|
  This is the OR operator to enable a match to be made to either one pattern OR another. There is no AND operator in this version of regular expressions.

The following quantifier characters specify the number of time that the character before (in this case 'x') matches:

x?
  matches 0 or 1 times (ie, '' or 'x')
x*
  matches 0 or more times (ie, '' or 'x' or 'xx' or 'xxx', etc)
x+
  matches 1 or more times (ie, 'x' or 'xx' or 'xxx', etc)

Quantifiers can follow any of the following types of character specification:

x
  any character (ie 'A')
\x
  the character after the backslash is used instead of its normal regular expression meaning. This is commonly used to turn off the special meaning of the characters '^$()|?*+[]-.'. It may be especially useful when searching for gap characters in a sequence (eg '\.' matches only a dot character '.')
[xy]
  match one of the characters 'x' or 'y'. You may have one or more characters in this set.
[x-z]
  match any one of the set of characters starting with 'x' and ending in 'y' in ASCII order (eg '[A-G]' matches any one of: 'A', 'B', 'C', 'D', 'E', 'F', 'G')
[^x-z]
  matches anything except any one of the group of characters in ASCII order (eg '[^A-G]' matches anything EXCEPT any one of: 'A', 'B', 'C', 'D', 'E', 'F', 'G')
.
  the dot character matches any other character (eg: 'A.G' matches 'AAG', 'AaG', 'AZG', 'A-G' 'A G', etc.)

Combining some of these features gives the example:

    '([AGC]+GGG)|(TTTGGG)'

which matches one or more of any one of 'A' or 'G' or 'C' followed by three 'G's or it matches just 'TTTGGG'.

Regular expressions are case-sensitive. The pattern 'AAAA' will not match the sequence 'aaaa'.

## Usage

Here is a sample session with dreg

    % dreg
    regular expression search of a nucleotide sequence
    Input sequence(s): tembl:paamir
    Regular expression pattern: ggtacc
    Output file [paamir.dreg]:

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

## Command line arguments

       Mandatory qualifiers:
      [-sequence]          seqall     Sequence database USA
      [-pattern]           regexp     Regular expression pattern
      [-outfile]           outfile    Output file name

       Optional qualifiers: (none)
       Advanced qualifiers: (none)
       Associated qualifiers:
      "-sequence" related qualifiers
       -sbegin1             integer    First base used
       -send1               integer    Last base used, def=seq length
       -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
       -sformat1            string     Input sequence format
       -sopenfile1          string     Input filename
       -sdbname1            string     Database name
       -sid1                string     Entryname
       -ufo1                string     UFO features
       -fformat1            string     Features format
       -fopenfile1          string     Features file name
      "-outfile" related qualifiers
       -odirectory3         string     Output directory

       General qualifiers:
       -auto                boolean    Turn off prompts
       -stdout              boolean    Write standard output
       -filter              boolean    Read standard input, write standard output
       -options             boolean    Prompt for required and optional values
       -debug               boolean    Write debug output to program.dbg
       -acdlog              boolean    Write ACD processing log to program.acdlog
       -acdpretty           boolean    Rewrite ACD file as program.acdpretty
       -acdtable            boolean    Write HTML table of options
       -verbose             boolean    Report some/full command line options
       -help                boolean    Report command line options. 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 deaths

Mandatory qualifiers | Allowed values | Default
--- | --- | ---
[-sequence] (Parameter 1) | Sequence database USA | Readable sequence(s) | Required
[-pattern] (Parameter 2) | Regular expression pattern | Any regular epression pattern is accepted | Required
[-outfile] (Parameter 3) | Output file name | Output file | <sequence>.dreg
Optional qualifiers | Allowed values | Default
(none)
Advanced qualifiers | Allowed values | Default
(none)

## Input file format

Any nucleic sequence.

### Input files for usage example

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

### Database entry: tembl:paamir

    ID   PAAMIR     standard; DNA; PRO; 2167 BP.
    XX
    AC   X13776; M43175;
    XX
    SV   X13776.1
    XX
    DT   19-APR-1989 (Rel. 19, Created)
    DT   17-FEB-1997 (Rel. 50, Last updated, Version 22)
    XX
    DE   Pseudomonas aeruginosa amiC and amiR gene for aliphatic amidase regulation
    XX
    KW   aliphatic amidase regulator; amiC gene; amiR gene.
    XX
    OS   Pseudomonas aeruginosa
    OC   Bacteria; Proteobacteria; gamma subdivision; Pseudomonadaceae; Pseudomonas.
    XX
    RN   [1]
    RP   1167-2167
    RA   Rice P.M.;
    RT   ;
    RL   Submitted (16-DEC-1988) to the EMBL/GenBank/DDBJ databases.
    RL   Rice P.M., EMBL, Postfach 10-2209, Meyerhofstrasse 1, 6900 Heidelberg, FRG.
    XX
    RN   [2]
    RP   1167-2167
    RX   MEDLINE; 89211409.
    RA   Lowe N., Rice P.M., Drew R.E.;
    RT   "Nucleotide sequence of the aliphatic amidase regulator gene of Pseudomonas
    RT   aeruginosa";
    RL   FEBS Lett. 246:39-43(1989).
    XX
    RN   [3]
    RP   1-1292
    RX   MEDLINE; 91317707.
    RA   Wilson S., Drew R.;
    RT   "Cloning and DNA seqence of amiC, a new gene regulating expression of the
    RT   Pseudomonas aeruginosa aliphatic amidase, and purification of the amiC
    RT   product.";
    RL   J. Bacteriol. 173:4914-4921(1991).
    XX
    RN   [4]
    RP   1-2167
    RA   Rice P.M.;
    RT   ;
    RL   Submitted (04-SEP-1991) to the EMBL/GenBank/DDBJ databases.
    RL   Rice P.M., EMBL, Postfach 10-2209, Meyerhofstrasse 1, 6900 Heidelberg, FRG.
    XX
    DR   SWISS-PROT; P10932; AMIR_PSEAE.
    DR   SWISS-PROT; P27017; AMIC_PSEAE.
    DR   SWISS-PROT; Q51417; AMIS_PSEAE.

      [Part of this file has been deleted for brevity]

    FT                   phenotype"
    FT                   /replace=""
    FT                   /gene="amiC"
    FT   misc_feature    1
    FT                   /note="last base of an XhoI site"
    FT   misc_feature    648..653
    FT                   /note="end of 658bp XhoI fragment, deletion in  pSW3 causes
    FT                   constitutive expression of amiE"
    FT   conflict        1281
    FT                   /replace="g"
    FT                   /citation=[3]
    XX
    SQ   Sequence 2167 BP; 363 A; 712 C; 730 G; 362 T; 0 other;
         ggtaccgctg gccgagcatc tgctcgatca ccaccagccg ggcgacggga actgcacgat        60
         ctacctggcg agcctggagc acgagcgggt tcgcttcgta cggcgctgag cgacagtcac       120
         aggagaggaa acggatggga tcgcaccagg agcggccgct gatcggcctg ctgttctccg       180
         aaaccggcgt caccgccgat atcgagcgct cgcacgcgta tggcgcattg ctcgcggtcg       240
         agcaactgaa ccgcgagggc ggcgtcggcg gtcgcccgat cgaaacgctg tcccaggacc       300
         ccggcggcga cccggaccgc tatcggctgt gcgccgagga cttcattcgc aaccgggggg       360
         tacggttcct cgtgggctgc tacatgtcgc acacgcgcaa ggcggtgatg ccggtggtcg       420
         agcgcgccga cgcgctgctc tgctacccga ccccctacga gggcttcgag tattcgccga       480
         acatcgtcta cggcggtccg gcgccgaacc agaacagtgc gccgctggcg gcgtacctga       540
         ttcgccacta cggcgagcgg gtggtgttca tcggctcgga ctacatctat ccgcgggaaa       600
         gcaaccatgt gatgcgccac ctgtatcgcc agcacggcgg cacggtgctc gaggaaatct       660
         acattccgct gtatccctcc gacgacgact tgcagcgcgc cgtcgagcgc atctaccagg       720
         cgcgcgccga cgtggtcttc tccaccgtgg tgggcaccgg caccgccgag ctgtatcgcg       780
         ccatcgcccg tcgctacggc gacggcaggc ggccgccgat cgccagcctg accaccagcg       840
         aggcggaggt ggcgaagatg gagagtgacg tggcagaggg gcaggtggtg gtcgcgcctt       900
         acttctccag catcgatacg cccgccagcc gggccttcgt ccaggcctgc catggtttct       960
         tcccggagaa cgcgaccatc accgcctggg ccgaggcggc ctactggcag accttgttgc      1020
         tcggccgcgc cgcgcaggcc gcaggcaact ggcgggtgga agacgtgcag cggcacctgt      1080
         acgacatcga catcgacgcg ccacaggggc cggtccgggt ggagcgccag aacaaccaca      1140
         gccgcctgtc ttcgcgcatc gcggaaatcg atgcgcgcgg cgtgttccag gtccgctggc      1200
         agtcgcccga accgattcgc cccgaccctt atgtcgtcgt gcataacctc gacgactggt      1260
         ccgccagcat gggcggggga ccgctcccat gagcgccaac tcgctgctcg gcagcctgcg      1320
         cgagttgcag gtgctggtcc tcaacccgcc gggggaggtc agcgacgccc tggtcttgca      1380
         gctgatccgc atcggttgtt cggtgcgcca gtgctggccg ccgccggaag ccttcgacgt      1440
         gccggtggac gtggtcttca ccagcatttt ccagaatggc caccacgacg agatcgctgc      1500
         gctgctcgcc gccgggactc cgcgcactac cctggtggcg ctggtggagt acgaaagccc      1560
         cgcggtgctc tcgcagatca tcgagctgga gtgccacggc gtgatcaccc agccgctcga      1620
         tgcccaccgg gtgctgcctg tgctggtatc ggcgcggcgc atcagcgagg aaatggcgaa      1680
         gctgaagcag aagaccgagc agctccagga ccgcatcgcc ggccaggccc ggatcaacca      1740
         ggccaaggtg ttgctgatgc agcgccatgg ctgggacgag cgcgaggcgc accagcacct      1800
         gtcgcgggaa gcgatgaagc ggcgcgagcc gatcctgaag atcgctcagg agttgctggg      1860
         aaacgagccg tccgcctgag cgatccgggc cgaccagaac aataacaaga ggggtatcgt      1920
         catcatgctg ggactggttc tgctgtacgt tggcgcggtg ctgtttctca atgccgtctg      1980
         gttgctgggc aagatcagcg gtcgggaggt ggcggtgatc aacttcctgg tcggcgtgct      2040
         gagcgcctgc gtcgcgttct acctgatctt ttccgcagca gccgggcagg gctcgctgaa      2100
         ggccggagcg ctgaccctgc tattcgcttt tacctatctg tgggtggccg ccaaccagtt      2160
         cctcgag                                                                2167
    //

## Output file format

### Output files for usage example

### File: paamir.dreg

    dreg search of tembl:paamir with pattern GGTACC
    Matches in PAAMIR
             PAAMIR     1 GGTACC

## Data files

None.

## Notes

None.

## References

None.

## Warnings

Regular expressions are case-sensitive. The pattern 'AAAA' will not match the sequence 'aaaa'.

## Diagnostic Error Messages

None.

## Exit status

Always returns 0.

## Known bugs

None.

## See also

Program name | Description
--- | ---
fuzznuc | Nucleic acid pattern search
fuzztran | Protein pattern search after translation
marscan | Finds MAR/SAR sites in nucleic sequences

Other EMBOSS programs allow you to search for simple patterns and may be easier for the user who has never used regular expressions before:

- fuzznuc - Nucleic acid pattern search
- fuzzpro - Protein pattern search
- fuzztran - Protein pattern search after translation

## Author(s)

Peter Rice (pmr © ebi.ac.uk)
Informatics Division, European Bioinformatics Institute, Wellcome Trust Genome Campus, Hinxton, Cambridge CB10 1SD, UK

## History

Written (1999) - Peter Rice.

## Target users

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

## Comments