primersearch

 

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

Search DNA sequences for matches with primer pairs

Description

primersearch reads in primer pairs from an input file and searches them against DNA sequence(s) specified by the user. Each of the primers in a pair is searched against the sequence and potential amplimers are reported. The output file is in the format of Whitehead primer3_core program. 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.

Algorithm

Each primer pair is specified in the input file by 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.

Usage

Here is a sample session with primersearch


% primersearch tembl:z52466 
Search DNA sequences for matches with primer pairs
Primer pairs file: primers
Allowed percent mismatch [0]: 
Whitehead primer3_core program output file [z52466.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 
Search DNA sequences for matches with primer pairs
Primer pairs file: primers
Allowed percent mismatch [0]: 20
Whitehead primer3_core program output file [z52466.primersearch]: 

Go to the output files for this example

Command line arguments

Search DNA sequences for matches with primer pairs
Version: EMBOSS:6.6.0.0

   Standard (Mandatory) qualifiers:
  [-seqall]            seqall     Nucleotide sequence(s) filename and optional
                                  format, or reference (input USA)
  [-infile]            infile     Primer pairs file
  [-mismatchpercent]   integer    [0] Allowed percent mismatch (Any integer
                                  value)
  [-outfile]           outfile    [*.primersearch] Whitehead primer3_core
                                  program output file

   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
   -scircular1         boolean    Sequence is circular
   -squick1            boolean    Read id and sequence only
   -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
   -odirectory4        string     Output directory

   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
[-seqall]
(Parameter 1)
seqall Nucleotide sequence(s) filename and optional format, or reference (input USA) Readable sequence(s) Required
[-infile]
(Parameter 2)
infile Primer pairs file Input file Required
[-mismatchpercent]
(Parameter 3)
integer Allowed percent mismatch Any integer value 0
[-outfile]
(Parameter 4)
outfile Whitehead primer3_core program output file Output file <*>.primersearch
Additional (Optional) qualifiers
(none)
Advanced (Unprompted) qualifiers
(none)
Associated qualifiers
"-seqall" associated seqall qualifiers
-sbegin1
-sbegin_seqall
integer Start of each sequence to be used Any integer value 0
-send1
-send_seqall
integer End of each sequence to be used Any integer value 0
-sreverse1
-sreverse_seqall
boolean Reverse (if DNA) Boolean value Yes/No N
-sask1
-sask_seqall
boolean Ask for begin/end/reverse Boolean value Yes/No N
-snucleotide1
-snucleotide_seqall
boolean Sequence is nucleotide Boolean value Yes/No N
-sprotein1
-sprotein_seqall
boolean Sequence is protein Boolean value Yes/No N
-slower1
-slower_seqall
boolean Make lower case Boolean value Yes/No N
-supper1
-supper_seqall
boolean Make upper case Boolean value Yes/No N
-scircular1
-scircular_seqall
boolean Sequence is circular Boolean value Yes/No N
-squick1
-squick_seqall
boolean Read id and sequence only Boolean value Yes/No N
-sformat1
-sformat_seqall
string Input sequence format Any string  
-iquery1
-iquery_seqall
string Input query fields or ID list Any string  
-ioffset1
-ioffset_seqall
integer Input start position offset Any integer value 0
-sdbname1
-sdbname_seqall
string Database name Any string  
-sid1
-sid_seqall
string Entryname Any string  
-ufo1
-ufo_seqall
string UFO features Any string  
-fformat1
-fformat_seqall
string Features format Any string  
-fopenfile1
-fopenfile_seqall
string Features file name Any string  
"-outfile" associated outfile qualifiers
-odirectory4
-odirectory_outfile
string Output directory Any string  
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

primersearch reads in 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:z52466' is a sequence entry in the example nucleic acid database 'tembl'

File: 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   Z52466; SV 1; linear; genomic DNA; STS; HUM; 389 BP.
XX
AC   Z52466;
XX
DT   18-MAR-1996 (Rel. 47, Created)
DT   09-SEP-2004 (Rel. 81, Last updated, Version 4)
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; Euarchontoglires; Primates; Haplorrhini; Catarrhini; Hominidae;
OC   Homo.
XX
RN   [1]
RP   1-389
RA   Weissenbach J.;
RT   ;
RL   Submitted (01-SEP-1995) to the INSDC.
RL   Genethon, B.P. 60, 91002 Evry Cedex France. E-mail:
RL   Jean.Weissenbach@genethon.fr
XX
RN   [2]
RP   1-389
RX   DOI; 10.1038/380152a0.
RX   PUBMED; 8600387.
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(6570):152-154(1996).
XX
DR   GDB; 606855.
XX
CC   full automatic;
XX
FH   Key             Location/Qualifiers
FH
FT   source          1..389
FT                   /organism="Homo sapiens"
FT                   /chromosome="1"
FT                   /mol_type="genomic DNA"
FT                   /clone_lib="genomic DNA"
FT                   /cell_line="CEPH 134702"
FT                   /note="cloning vector is M13mp18"
FT                   /db_xref="taxon:9606"
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: z52466.primersearch


Primer name D1S243

Primer name D1S468

Primer name D1S2845

Primer name D1S1608

Primer name D1S2893

Primer name D1S2660
Amplimer 1
	Sequence: Z52466 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: z52466.primersearch


Primer name D1S243

Primer name D1S468

Primer name D1S2845

Primer name D1S1608

Primer name D1S2893

Primer name D1S2660
Amplimer 1
	Sequence: Z52466 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: Z52466 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.

References

None.

Warnings

This program is processor-intensive. You should probably not use it, for example, to search the whole of EMBL or even the human section of EMBL. It will take longer with more primer pairs and if mismatches are allowed.

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 Pick PCR primers and hybridization oligos
eprimer32 Pick PCR primers and hybridization oligos
stssearch Search 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 formerly at:
Sanger Institute, Wellcome Trust Genome Campus, Hinxton, Cambridge, CB10 1SA, UK.

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

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

None