[Bioperl-l] optimal integration of primer3 into biopython and others using swig and biomoby

Xian bioboy at uga.edu
Mon May 10 03:05:52 EDT 2004

optimal integration of primer3 into biopython and others using swig and 

Primer3 is the de facto open source C program for automated PCR primer 
selection; it is used by emboss and biopython, among others. There is no 
active development [last release 0.9 9/98]. I have used primer3 and 
python to study Arabidopsis genome function. I aim to integrate primer3 
into biopython. Specifically, my goal is to develop primer3 into a set 
of C modules or libraries to provide: a) standardized access via python, 
perl, etc b) impetus to further primer3 development.  I propose here an 
optimal development path that maximizes target audience while minimizing 
code rewriting.

TTBOMK, Biopython and bioperl each have a primer3 i/o parser. These 
multiple, unstandardized dependencies may hinder future primer3 
development [such as the addition of  R. Griffais's K-tuple frequency 
method, Nucl. Acids. Res. 1991 19: 3887-3891 ]. My aim is to develop 
primer3 into a maintainable and easily  extendable set of C modules or 
libraries that are natively accessible by perl and python.

Swig is a "C compiler" that provide this functionality; e.g. primer3's 
Tm analysis module [oligotm.h and oligotm.c] can be compiled and 
imported as a python module whose methods are native C functions. Once 
this is done adding new language support is trivial.

Well-defined, standard i/o structures for these libraries will 
facilitate their use by the bioinformatics community from within perl or 
python, and should be considered in development. Biomoby is an XML-based 
data ontology which represents data as heirarchical objects in the 
ontology, e.g. the hypothetical object "PrimerPair" contains two 
instances of "DNASequence" along with any other data such as Tm, 
self-hybridization, etc.  Designing a biomoby object for primer3 data 
i/o has the additional benefit of easing information-sharing with 
existing databases and other biomoby-aware services.

Please reply if you are interested in using, testing, designing, or 
developing this project. Likewise, feel free to forward this to such 
people. If there is sufficient interest, I will spawn a mailing group or 
possibly a sourceforge project.
Thanks for your time,

Primer3[down at time of writing]:  

Emboss's eprimer3 [primer3 wrapper]: 

SWIG, Simplified Wrapper and Interface Generator: http://www.swig.org/

biomoby: http://www.biomoby.org/overview.html

biomoby, bioperl, and much more: http://open-bio.org/

More information about the Bioperl-l mailing list