Bio::S...:Primer(3pm)

๐Ÿ“ฆ
version 1.7.8 ยท 3 versions
, in debian bookworm, debian trixie, ubuntu jammy, ubuntu noble

๐Ÿ’– Bio::SeqFeature::Primer โ€” Primer Generic SeqFeature ๐Ÿ’–

okay bestie, so this page is from the User Contributed Perl Documentation for Perl (that's the 3pm section, the module man pages, iykyk) and it's literally called Bio::SeqFeature::Primer. It's a primer thing. A PCR primer thing. We're doing bioinformatics now, slay. ๐Ÿงฌโœจ


๐ŸŒธ SYNOPSIS ๐ŸŒธ

  use Bio::SeqFeature::Primer;

  # Primer object with explicitly-defined sequence object or sequence string
  my $primer = Bio::SeqFeature::Primer->new( -seq => 'ACGTAGCT' );
  $primer->display_name('test_id');
  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 );
  $template->add_SeqFeature($primer);
  print "Primer sequence is: ".$primer->seq->seq."\n";
  # Primer sequence is 'ACGTA'

๐Ÿฆ‹ DESCRIPTION ๐Ÿฆ‹

So like, this module handles PCR primer sequences, periodt. 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 always 'Primer'. There's a method that calculates the melting temperature Tm of the primer, which is giving thermodynamics. ๐Ÿ”ฅ

Bio::SeqFeature::Primer objects are useful for building Bio::Seq::PrimedSeq amplicon objects, like the ones that come back from Bio::Tools::Primer3. Very demure, very amplicon. ๐Ÿ‘‘


๐Ÿซถ FEEDBACK ๐Ÿซถ

๐Ÿ’Œ Mailing Lists

User feedback is an integral part of the evolution of this and other Bioperl modules, no cap. Send your comments and suggestions preferably to one of the Bioperl mailing lists. Your participation is much appreciated, bestie, genuinely. ๐Ÿฅน

  bioperl-l@bioperl.org                  - General discussion
  http://bioperl.org/wiki/Mailing_lists  - About the mailing lists

๐Ÿ†˜ Support

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

bioperl-l@bioperl.org

rather than to the module maintainer directly. Like, the way that there are so many experienced and responsive experts on the list who will be able to look at the problem and quickly address it? Iconic. 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 of the bugs and their resolution. Bug reports can be submitted via the web:

https://github.com/bioperl/bioperl-live/issues

๐Ÿ‘‘ AUTHOR ๐Ÿ‘‘

Rob Edwards, redwards@utmem.edu โœจ

The original concept and much of the code was written by Chad Matsalla, bioinformatics1@dieselwurks.com โ€” we stan a co-author, fr fr. ๐Ÿ’œ


๐Ÿ“– APPENDIX ๐Ÿ“–

The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _ (you know the vibe, don't touch the underscore ones unless you know what you're doing ๐Ÿ’…).

๐ŸŒŸ new()

  • 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 the feature (optional)

๐ŸŒก๏ธ Tm()

  • 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 http://www.idtdna.com/Scitools/Scitools.aspx 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".

๐Ÿงฎ Tm_estimate

  • 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! (Math girlies rise up ๐Ÿงš)

๐ŸŒˆ primary_tag, source_tag, location, start, end, strand...

The documentation of Bio::SeqFeature::Generic describes all the methods that Bio::SeqFeature::Primer object inherit. Go read that one next, bestie. ๐ŸŽ€


โœจ cute sign-off time โœจ โ€” this page is from perl v5.32.1, dated 2021-08-15, and it's the Bio::SeqFeature::Primer(3pm) page from the User Contributed Perl Documentation. Mwah. ๐Ÿ’–๐Ÿฆ‹๐Ÿ’…
๐Ÿ“ฆ where this page comes from