[Bioperl-l] Re: Fwd: nucleic acid melting temperature

Barry Moore barry.moore at genetics.utah.edu
Tue Feb 24 13:21:39 EST 2004


There is a module (primer.pm) that will allow you to generate a primer 
object.  This object has a Tm method to return the melting temperature 
of that primer.  About a week ago that method was updated to use the 
nearest-neighbor thermodynamic approach to calculating Tm, and there has 
been a discussion going on since then about that.  Your program exceeds 
the capabilities of that method in a variety of ways.  The current 
method calculates the enthalpy and entropy for all dinucleotide pairs, 
and adjusts those for duplex initiation.  It calculates Tm based on 
those values, the oligo concentration and salt concentration as per 
Allawi et. al Biochemistry 1997 36:10581-10594 (however the salt 
adjustment was taken from http://biotools.idtdna.com/analyzer/).  The 
primer.pm module containing that code can be found at: 
I believe that Rob Edwards is the current maintainer of that module.  
What the current method does not do that your program does is account 
for the possibility of mismatches and dangling ends.  I think the 
current primer object would need some redesigning to allow for those.  
You may also be using a more accurate adjustments for salt concentration.

Your Melting program looks like it would be a great addition to 
bioperl.  I'm farily new to bioperl, and don't know the overall object 
structure well enough yet to comment from a developers point of view, 
but I wonder if your algorithm would be better placed somewhere with a 
boarder scope than as a method of the SeqFeature::Primer object, perhaps 
as a method available to all sequence objects.  I beleive Rob made a 
similar comment in his original documentation of the Tm method.  Perhaps 
some of the seasoned Bioperl developers can discuss where a module with 
the capabilities of Melting should live.  Also as a new user, I would 
suggest that porting Melting to perl and integrating it into Bioperl is 
preferable to simply writing a wrapper (from the users point of view, 
not the developers of course).  To casual and new users of Bioperl, long 
lists of dependencies can be very daunting.

Barry Moore

Nicolas Le Novere wrote:

>On Tue, 24 Feb 2004, Jason Stajich wrote:
>>Would absolutely love your help/contibution here if you've got some
>>working code, I've CC-ed the interested parties.
>I do not have BioPerl working code regarding that issue. However I
>have a C program that is much better and much more plastic than
>EMBOSS DAN, or the GCG equivalent (well, last time I looked at those
>programs. Maybe they evolved). 
>What is the current state of melting temp calculation in BioPerl? Do
>you already have a module?
>If not, we could envision to write a wrapper to MELTING, like in WWW
>interface of the program, or in OligoDB, SOL or SEPON, that use
>MELTING for the elementary Tm.
>Or on can rewrite MELTING as a BioPerl module and then take advantage
>of the reimplementation to improve the program, for instance to add
>correction for Mg2+ ions.
>Just tell me how I can help.

Barry Moore
Dept. of Human Genetics
University of Utah
Salt Lake City, UT

More information about the Bioperl-l mailing list