| primersearch

# Program primersearch

## Function

Searches DNA sequences for matches with primer pairs

## Description

primersearch reads in primer pairs from an input file and searches them against sequence(s) specified by the user. Each of the primers in a pair is searched against the sequence and potential amplimers are reported.

The user can specify a maximum percent mismatch level; for example, 10% mismatch on a primer of length 20bp means that the program will classify a primer as matching a sequence if 18 of the 20 base pairs matches.

It will only report matches if both primers in the pair have a match in opposite orientations.

## Usage

Here is a sample session with primersearch

    % primersearch tembl:z52466
    Searches DNA sequences for matches with primer pairs
    Primer file: ../../data/primers
    Allowed percent mismatch [0]:
    Output file [hsa203yc1.primersearch]:

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

Example 2

Here we run the same example but allowing 20% mismatch between the primers and the sequence:

    % primersearch tembl:z52466
    Searches DNA sequences for matches with primer pairs
    Primer file: ../../data/primers
    Allowed percent mismatch [0]: 20
    Output file [hsa203yc1.primersearch]:

Go to the output files for this example

## Command line arguments

       Standard (Mandatory) qualifiers:
      [-seqall]            seqall     Sequence database USA
      [-primersfile]       infile     Primer file
      [-mismatchpercent]   integer    Allowed percent mismatch
      [-outfile]           outfile    Output file name

       Additional (Optional) qualifiers: (none)
       Advanced (Unprompted) qualifiers: (none)
       Associated qualifiers:

       "-seqall" 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
       -sformat1            string     Input sequence format
       -sdbname1            string     Database name
       -sid1                string     Entryname
       -ufo1                string     UFO features
       -fformat1            string     Features format
       -fopenfile1          string     Features file name

       "-outfile" associated qualifiers
       -odirectory4         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 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. 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

Standard (Mandatory) qualifiers | Allowed values | Default
--- | --- | ---
[-seqall] (Parameter 1) | Sequence database USA | Readable sequence(s) | Required
[-primersfile] (Parameter 2) | Primer file | Input file | Required
[-mismatchpercent] (Parameter 3) | Allowed percent mismatch | Any integer value | 0
[-outfile] (Parameter 4) | Output file name | Output file | <sequence>.primersearch
Additional (Optional) qualifiers | Allowed values | Default
(none)
Advanced (Unprompted) qualifiers | Allowed values | Default
(none)

## Input file format

primersearch reads in any nucleic acid sequence USAs.

### Input files for usage example

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

### File: ../../data/primers

    # This is my primer file
    D1S243  cacacaggctcacatgcc      gctccagcgtcatggact
    D1S468 aattaaccgttttggtcct     gcgacacacacttccc
    D1S2845 ccaaagggtgcttctc        gtggcattccaacctc
    D1S1608 gatggcttttggggactatt    cactgagccaagtgacacag
    D1S2893 aaaacatcaactctcccctg    ctcaaaccccaataagcctt
    D1S2660 cacacatgcacatgcac       agtgacaccagcaggg

### Database entry: tembl:z52466

    ID   HSA203YC1  standard; DNA; STS; 389 BP.
    XX
    AC   Z52466;
    XX
    SV   Z52466.1
    XX
    DT   18-MAR-1996 (Rel. 47, Created)
    DT   23-MAR-1996 (Rel. 47, Last updated, Version 3)
    XX
    DE   H.sapiens (D1S2660) DNA segment containing (CA) repeat; clone AFMa203yc1;
    DE   single read.
    XX
    KW   CA repeat; dinucleotide repeat; GT repeat; microsatellite DNA;
    KW   microsatellite marker; repeat polymorphism; STS.
    XX
    OS   Homo sapiens (human)
    OC   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia;
    OC   Eutheria; Primates; Catarrhini; Hominidae; Homo.
    XX
    RN   [1]
    RP   1-389
    RA   Weissenbach J.;
    RT   ;
    RL   Submitted (01-SEP-1995) to the EMBL/GenBank/DDBJ databases.
    RL   Genethon, B.P. 60, 91002 Evry Cedex France. E-mail:
    RL   Jean.Weissenbach@genethon.fr
    XX
    RN   [2]
    RP   1-389
    RX   MEDLINE; 96176476.
    RA   Dib C., Faure S., Fizames C., Samson D., Drouot N., Vignal A.,
    RA   Millasseau P., Marc S., Hazan J., Seboun E., Lathrop M., Gyapay G.,
    RA   Morissette J., Weissenbach J.;
    RT   "A comprehensive genetic map of the human genome based on 5,264
    RT   microsatellites";
    RL   Nature 380:152-154(1996).
    XX
    CC   full automatic;
    XX
    FH   Key             Location/Qualifiers
    FH
    FT   source          1..389
    FT                   /chromosome="1"
    FT                   /db_xref="taxon:9606"
    FT                   /note="cloning vector is M13mp18"
    FT                   /organism="Homo sapiens"
    FT                   /cell_line="CEPH 134702"
    FT                   /clone_lib="genomic DNA"
    XX
    SQ   Sequence 389 BP; 118 A; 124 C; 86 G; 57 T; 4 other;
         agctgtgtgc acacaacatg anggggcaca catgcacatg cacacatgcc cacatgcata        60
         tgcacacaca cacacacaca cacacacaca ttcatgccca agcacgccca ccctcatgtc       120
         tcaccatgtg cacataacac acagtcacat ataccctggc acacatgccc acatgcagac       180
         acgaaacaca ggcccacgnt tncatgcaca caggtatggg cacacatacc atgcacacat       240
         aangacaaat accaggccag acatgatttg cccctgctgg tgtcactgtt aagtgtgaca       300
         gacaagcaga ggacacacac ccacctggga cgcggggctt caggagagag gcagacctaa       360
         tagggcccgg attcggggct ggggaggct                                         389
    //

The input primer file has the following format:

Comment lines start with a '#'
Lines with primer information have three fields separated by spaces or TAB characters. The columns contain:

1. The name of the primer pair - this is reported in the output.
2. The sequence of the first primer.
3. The sequence of the second primer.

Empty files will cause primersearch to note that no primers have been found, and to exit.

## Output file format

### Output files for usage example

### File: hsa203yc1.primersearch

    Primer name D1S243

    Primer name D1S468

    Primer name D1S2845

    Primer name D1S1608

    Primer name D1S2893

    Primer name D1S2660
    Amplimer 1
    	Sequence: HSA203YC1 Z52466
    	H.sapiens (D1S2660) DNA segment containing (CA) repeat; clone AFMa203yc1; single read.
    	CACACATGCACATGCAC hits forward strand at 27 with 0 mismatches
    	AGTGACACCAGCAGGG hits reverse strand at [103] with 0 mismatches
    	Amplimer length: 261 bp

### Output files for usage example 2

### File: hsa203yc1.primersearch

    Primer name D1S243

    Primer name D1S468

    Primer name D1S2845

    Primer name D1S1608

    Primer name D1S2893

    Primer name D1S2660
    Amplimer 1
    	Sequence: HSA203YC1 Z52466
    	H.sapiens (D1S2660) DNA segment containing (CA) repeat; clone AFMa203yc1; single read.
    	CACACATGCACATGCAC hits forward strand at 49 with 2 mismatches
    	AGTGACACCAGCAGGG hits reverse strand at [103] with 0 mismatches
    	Amplimer length: 239 bp
    Amplimer 2
    	Sequence: HSA203YC1 Z52466
    	H.sapiens (D1S2660) DNA segment containing (CA) repeat; clone AFMa203yc1; single read.
    	CACACATGCACATGCAC hits forward strand at 27 with 0 mismatches
    	AGTGACACCAGCAGGG hits reverse strand at [103] with 0 mismatches
    	Amplimer length: 261 bp

## Data files

None.

## Notes

Every potential amplimer will be reported; if one primer matches the forward strand twice and the other matches the reverse strand only once, two potential amplimers are reported. If the reverse primer matches twice, four potential amplimers are reported.

Each primer pair consists of a name, followed by two primer sequences, primerA and primerB. The program first compares primerA to the forward strand and if it matches, primerB is compared to the reverse strand. The approach is then reversed, with the primerB being compared to the forward strand and primerA to the reverse. In this way all possible amplimers are reported.

## References

None.

## Warnings

This program is slow.
Don't try searching all of EMBL!
It might not be sensible to search all of the human section of EMBL - in 2000, this would take a day to do with one primer pair.
It will take longer with more primer pairs.
It will take longer if you allow mismatches.

## Diagnostic Error Messages

"No suitable primers found - exiting" means that either the primers file was empty or there were no compilable primer pairs contained in it.

## Exit status

It always exits with status 0

## Known bugs

None.

## See also

Program name | Description
--- | ---
eprimer3 | Picks PCR primers and hybridization oligos
stssearch | Searches a DNA database for matches with a set of STS primers

stssearch does something similar, but doesn't allow you to find mismatches and will report any match in any orientation and doesn't require you to have both primers matching.

## Author(s)

Val Curwen (vac © sanger.ac.uk)
Sanger Institute, Wellcome Trust Genome Campus, Hinxton, Cambridge, CB10 1SA, UK.

## History

Written Aug 2000 - Val Curwen

## Target users

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

## Comments