Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
Bio::SeqFeature::PrimeUser Contributed Perl DocumentBio::SeqFeature::Primer(3)

       Bio::SeqFeature::Primer - Primer	Generic	SeqFeature

	 use Bio::SeqFeature::Primer;

	 # Primer object with explicitly-defined sequence object or sequence string
	 my $primer = Bio::SeqFeature::Primer->new( -seq => 'ACGTAGCT' );
	 print "These are the details of the primer:\n".
	       "Name:	  ".$primer->display_name."\n".
	       "Tag:	  ".$primer->primary_tag."\n".	 # always 'Primer'
	       "Sequence: ".$primer->seq->seq."\n".
	       "Tm:	  ".$primer->Tm."\n\n";		   # melting temperature

	 # Primer object with implicit sequence	object
	 # It is a lighter approach for	when the primer	location on a template is known
	 use Bio::Seq;
	 my $template =	Bio::Seq->new( -seq => 'ACGTAGCTCTTTTCATTCTGACTGCAACG' );
	 $primer   = Bio::SeqFeature::Primer->new( -start => 1,	-end =>5, -strand => 1 );
	 print "Primer sequence	is: ".$primer->seq->seq."\n";
	 # Primer sequence is 'ACGTA'

       This module handles PCR primer sequences. The Bio::SeqFeature::Primer
       object is a Bio::SeqFeature::Subseq object that can additionally
       contain a primer	sequence and its coordinates on	a template sequence.
       The primary_tag() for this object is 'Primer'. A	method is provided to
       calculate the melting temperature Tm of the primer.
       Bio::SeqFeature::Primer objects are useful to build Bio::Seq::PrimedSeq
       amplicon	objects	such as	the ones returned by Bio::Tools::Primer3.

   Mailing Lists
       User feedback is	an integral part of the	evolution of this and other
       Bioperl modules.	Send your comments and suggestions preferably to one
       of the Bioperl mailing lists.  Your participation is much appreciated.			- General discussion	- About	the mailing lists

       Please direct usage questions or	support	issues to the mailing list:

       rather than to the module maintainer directly. Many experienced and
       reponsive experts will be able look at the problem and quickly address
       it. Please include a thorough description of the	problem	with code and
       data examples if	at all possible.

   Reporting Bugs
       Report bugs to the Bioperl bug tracking system to help us keep track
       the bugs	and their resolution.  Bug reports can be submitted via	the

       Rob Edwards,

       The original concept and	much of	the code was written by	Chad Matsalla,

       The rest	of the documentation details each of the object	methods.
       Internal	methods	are usually preceded with a _

	Title	: new()
	Usage	: my $primer = Bio::SeqFeature::Primer(	-seq =>	$seq_object );
	Function: Instantiate a	new Bio::SeqFeature::Primer object
	Returns	: A Bio::SeqFeature::Primer object
	Args	: -seq , a sequence object or a	sequence string	(optional)
		  -id  , the ID	to give	to the primer sequence,	not feature (optional)

	Title	: Tm()
	Usage	: my $tm = $primer->Tm(-salt =>	0.05, -oligo =>	0.0000001);
	Function: Calculate the	Tm (melting temperature) of the	primer
	Returns	: A scalar containing the Tm.
	Args	: -salt	 : set the Na+ concentration on	which to base the calculation
			   (default=0.05 molar).
		: -oligo : set the oligo concentration on which	to base	the
			   calculation (default=0.00000025 molar).
	Notes	: Calculation of Tm as per Allawi et. al Biochemistry 1997
		  36:10581-10594. Also see documentation at as they use this
		  formula and have a couple nice help pages. These Tm values will be
		  about	are about 0.5-3	degrees	off from those of the idtdna web tool.
		  I don't know why.

		  This was suggested by	Barry Moore (thanks!). See the discussion on
		  the bioperl-l	with the subject "Bio::SeqFeature::Primer Calculating
		  the PrimerTM"

	Title	: Tm_estimate
	Usage	: my $tm = $primer->Tm_estimate(-salt => 0.05);
	Function: Estimate the Tm (melting temperature)	of the primer
	Returns	: A scalar containing the Tm.
	Args	: -salt	set the	Na+ concentration on which to base the calculation.
	Notes	: This is only an estimate of the Tm that is kept in for comparative
		  reasons. You should probably use Tm instead!

		  This Tm calculations are taken from the Primer3 docs:	They are
		  based	on Bolton and McCarthy,	PNAS 84:1390 (1962)
		  as presented in Sambrook, Fritsch and	Maniatis,
		  Molecular Cloning, p 11.46 (1989, CSHL Press).

		  Tm = 81.5 + 16.6(log10([Na+])) + .41*(%GC) - 600/length

		  where	[Na+] is the molar sodium concentration, %GC is	the
		  %G+C of the sequence,	and length is the length of the	sequence.

		  However.... I	can never get this calculation to give me the same result
		  as primer3 does. Don't ask why, I never figured it out. But I	did
		  want to include a Tm calculation here	because	I use these modules for
		  other	things besides reading primer3 output.

		  The primer3 calculation is saved as 'PRIMER_LEFT_TM' or 'PRIMER_RIGHT_TM'
		  and this calculation is saved	as $primer->Tm so you can get both and
		  average them!

   primary_tag,	source_tag, location, start, end, strand...
       The documentation of Bio::SeqFeature::Generic describes all the methods
       that Bio::SeqFeature::Primer object inherit.

perl v5.24.1			  2017-07-08	    Bio::SeqFeature::Primer(3)


Want to link to this manual page? Use this URL:

home | help