Skip to content

Commit

Permalink
Initial import of primer3.
Browse files Browse the repository at this point in the history
Primer3 is a widely used program for designing PCR primers (PCR =
"Polymerase Chain Reaction").  PCR is an essential and ubiquitous tool
in genetics and molecular biology.  Primer3 can also design
hybridization probes and sequencing primers.
  • Loading branch information
brook committed Oct 31, 2011
1 parent beaf4d5 commit ef58d03
Show file tree
Hide file tree
Showing 6 changed files with 96 additions and 1 deletion.
3 changes: 2 additions & 1 deletion biology/Makefile
@@ -1,4 +1,4 @@
# $NetBSD: Makefile,v 1.32 2011/10/05 22:29:44 ryoon Exp $
# $NetBSD: Makefile,v 1.33 2011/10/31 21:28:03 brook Exp $
#

COMMENT= Software for the biological sciences
Expand Down Expand Up @@ -26,6 +26,7 @@ SUBDIR+= nut
SUBDIR+= openbabel
SUBDIR+= pdbalign
SUBDIR+= phylip
SUBDIR+= primer3
SUBDIR+= profit
SUBDIR+= puzzle
SUBDIR+= py-mol
Expand Down
24 changes: 24 additions & 0 deletions biology/primer3/DESCR
@@ -0,0 +1,24 @@
Primer3 is a widely used program for designing PCR primers (PCR =
"Polymerase Chain Reaction"). PCR is an essential and ubiquitous tool
in genetics and molecular biology. Primer3 can also design
hybridization probes and sequencing primers.

Primer3 picks primers for PCR reactions, considering as criteria: o

- oligonucleotide melting temperature, size, GC content, and
primer-dimer possibilities,
- PCR product size,
- positional constraints within the source (template) sequence,
- possibilities for ectopic priming (amplifying the wrong sequence), and
- many other constraints.

All of these criteria are user-specifiable as constraints, and some
are specifiable as terms in an objective function that characterizes
an optimal primer pair.

Whitehead Institute for Biomedical Research provides a basic web-based
front end to primer3 named primer3web at http://fokker.wi.mit.edu/

Wageningen University Laboratory of Bioinformatics provides a enhanced
web-based front end to primer3 named primer3plus at
http://www.bioinformatics.nl/cgi-bin/primer3plus/primer3plus.cgi
39 changes: 39 additions & 0 deletions biology/primer3/Makefile
@@ -0,0 +1,39 @@
# $NetBSD: Makefile,v 1.1.1.1 2011/10/31 21:25:57 brook Exp $
#

VERS= 2.2.3

DISTNAME= primer3-${VERS}
CATEGORIES= biology
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=primer3/}

MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://primer3.sourceforge.net/
COMMENT= Design PCR primers
LICENSE= gnu-gpl-v2

PKG_DESTDIR_SUPPORT= user-destdir

USE_LANGUAGES= c c++
USE_TOOLS+= gmake
BUILD_DIRS= src
NO_CONFIGURE= yes

BINFILES+= long_seq_tm_test ntdpal ntthal oligotm primer3_core
DOCFILES+= primer3_manual.htm primer3_v1_1_4_default_settings.txt
DOCFILES+= primer3web_v0_4_0_default_settings.txt example

BINDIR= ${PREFIX}/bin
DOCDIR= ${PREFIX}/share/doc/primer3

INSTALLATION_DIRS+= ${BINDIR} ${DOCDIR}

do-install:
.for f in ${BINFILES}
${INSTALL_DATA} ${WRKSRC}/src/${f} ${DESTDIR}${BINDIR}
.endfor
.for f in ${DOCFILES}
${INSTALL_DATA} ${WRKSRC}/${f} ${DESTDIR}${DOCDIR}
.endfor

.include "../../mk/bsd.pkg.mk"
10 changes: 10 additions & 0 deletions biology/primer3/PLIST
@@ -0,0 +1,10 @@
@comment $NetBSD: PLIST,v 1.1.1.1 2011/10/31 21:25:57 brook Exp $
bin/long_seq_tm_test
bin/ntdpal
bin/ntthal
bin/oligotm
bin/primer3_core
share/doc/primer3/primer3_manual.htm
share/doc/primer3/primer3_v1_1_4_default_settings.txt
share/doc/primer3/primer3web_v0_4_0_default_settings.txt
share/doc/primer3/example
6 changes: 6 additions & 0 deletions biology/primer3/distinfo
@@ -0,0 +1,6 @@
$NetBSD: distinfo,v 1.1.1.1 2011/10/31 21:25:57 brook Exp $

SHA1 (primer3-2.2.3.tar.gz) = 20c6a00455b86a5712c1e297930f2624fca45881
RMD160 (primer3-2.2.3.tar.gz) = 040b41649f5bfc17214502b2ba5e98d1a5afd73f
Size (primer3-2.2.3.tar.gz) = 2284282 bytes
SHA1 (patch-src_primer3__boulder__main.c) = a9228eb3f8f1969a6bc332f828db2def7cf00005
15 changes: 15 additions & 0 deletions biology/primer3/patches/patch-src_primer3__boulder__main.c
@@ -0,0 +1,15 @@
$NetBSD: patch-src_primer3__boulder__main.c,v 1.1.1.1 2011/10/31 21:25:57 brook Exp $

getopt_long_only is not very portable; use getopt_long instead.

--- src/primer3_boulder_main.c.orig 2010-07-08 17:58:25.000000000 +0000
+++ src/primer3_boulder_main.c
@@ -133,7 +133,7 @@ main(int argc, char *argv[])

/* Read in the flags provided with the program call */
opterr = 0;
- while ((opt = getopt_long_only(argc, argv, "", long_options, &option_index)) != -1) {
+ while ((opt = getopt_long(argc, argv, "", long_options, &option_index)) != -1) {
switch (opt) {
case 'a':
about = 1;

0 comments on commit ef58d03

Please sign in to comment.