summaryrefslogtreecommitdiff
path: root/academic/perlprimer
diff options
context:
space:
mode:
authorPetar Petrov <slackalaxy@gmail.com>2018-07-08 19:40:22 +0100
committerDavid Spencer <idlemoor@slackbuilds.org>2018-07-08 19:40:22 +0100
commit5c821121ece759ad907abbdf81c640c805eb197d (patch)
tree6577c355b892a347eaa136a878844505e37dc256 /academic/perlprimer
parentcb07f25ef0cebcbb1587cdbe41c496b2c4f2d4b1 (diff)
downloadslackbuilds-5c821121ece759ad907abbdf81c640c805eb197d.tar.gz
academic/perlprimer: Updated for version 1.2.3_f7d3bd0.
Signed-off-by: David Spencer <idlemoor@slackbuilds.org>
Diffstat (limited to 'academic/perlprimer')
-rw-r--r--academic/perlprimer/01_sytaxerrors.patch157
-rw-r--r--academic/perlprimer/02_fix-defined-slist.patch11
-rw-r--r--academic/perlprimer/README18
-rw-r--r--academic/perlprimer/perlprimer.SlackBuild24
-rw-r--r--academic/perlprimer/perlprimer.info8
-rw-r--r--academic/perlprimer/slack-desc2
6 files changed, 23 insertions, 197 deletions
diff --git a/academic/perlprimer/01_sytaxerrors.patch b/academic/perlprimer/01_sytaxerrors.patch
deleted file mode 100644
index 45b9cd570d..0000000000
--- a/academic/perlprimer/01_sytaxerrors.patch
+++ /dev/null
@@ -1,157 +0,0 @@
-Author: Steffen Moeller <steffen_moeller@gmx.de>
-Description: Fixes a series of errors indicated by Perl 5.18.
-Forwarded: https://sourceforge.net/p/perlprimer/patches/6/
-
-Index: git/perlprimer.pl
-===================================================================
---- git.orig/perlprimer.pl
-+++ git/perlprimer.pl
-@@ -3093,23 +3093,24 @@
- # and because it's 3' primer-dimers that are the real problem in PCR.
-
- # create a binding array for each of the four bases
-- for $l (0 .. $pfl-1) {
-+ foreach $l (0 .. $pfl-1) {
- my $mbase = substr($fprimer_r, $l, 1);
- $primer_hash{$mbase}[$l]=1;
-- for $k qw(a g c t) {
-+ my @nucleotides = qw(a g c t);
-+ foreach $k (@nucleotides) {
- $primer_hash{$k}[$l] ||=0;
- }
- }
-
- # create the primer matrix
- my @primer_comp;
-- for $k (0 .. $prl-1) {
-+ foreach $k (0 .. $prl-1) {
- $primer_comp[$k]=$primer_hash{substr($rcomprlc, $k, 1)};
- }
-
- # read each combination from the matrix, calculate dG for each dimer
- my $pd_len = ($pd_full ? $pfl+$prl-1 : $pl-2);
-- for $k (0 .. $pd_len) {
-+ foreach $k (0 .. $pd_len) {
- $score[$k]=0;
- my $bind;
- my $score_p=0;
-@@ -3129,7 +3130,7 @@
- # }
-
- # read the binding data
-- for $l (0 .. $prl-1) {
-+ foreach $l (0 .. $prl-1) {
- if (($k-$l)<$pfl) {
- $bind .= $primer_comp[$l][$k-$l] if ($k-$l)>=0;
- } else {
-@@ -3148,7 +3149,7 @@
-
- # Find start and end of similarity
- my ($pb_init,$pb_end);
-- for $l (0 .. length($bind)-1) {
-+ foreach $l (0 .. length($bind)-1) {
- # at first I tried finding the initiating terminal bases with
- # regexps, but that was much slower ...
- if (substr($bind, $l, 1) eq "1") {
-@@ -3159,7 +3160,7 @@
-
- if (defined($pb_init)) {
- # deltaG calculation
-- for $l ($pb_init .. $pb_end-1) {
-+ foreach $l ($pb_init .. $pb_end-1) {
- next if substr($bind, $l, 2) eq "00";
- next if substr($bind, $l, 1) eq "2";
- $score_p+=$oligo_dG{substr($primer_f, $pfl-$k+$l-1, 2).substr($rprimer_r, $l, 2)};
-@@ -3228,44 +3229,44 @@
- # and because it's 3' primer-dimers that are the real problem in PCR.
-
- # create a binding array for each of the four bases
-- for $l (0 .. $pfl-1) {
-+ foreach $l (0 .. $pfl-1) {
- my $mbase = substr($fprimer_r, $l, 1);
- $primer_hash{$mbase}[$l]=1;
-- for $k qw(a g c t) {
-+ foreach $k (qw(a g c t)) {
- $primer_hash{$k}[$l] ||=0;
- }
- }
-
- # create the primer matrix
- my @primer_comp;
-- for $k (0 .. $prl-1) {
-- $primer_comp[$k]=$primer_hash{substr($rcomprlc, $k, 1)};
-+ foreach my $kk (0 .. $prl-1) {
-+ $primer_comp[$kk]=$primer_hash{substr($rcomprlc, $kk, 1)};
- }
-
- # print the matrix - for debugging
- print "$primer_f vs. $primer_r - full pd = $pd_full\n";
- print " \t";
-- for $l (0 .. $pfl-1) {
-+ foreach $l (0 .. $pfl-1) {
- my $mbase = substr($fprimer_r, $l, 1);
- print "$mbase ";
- }
- print "\n";
-- for $k (0 .. $prl-1) {
-- my $base = substr($rprimer_r, $k, 1);
-- print "$base:\t@{$primer_comp[$k]}\n";
-+ foreach my $kk (0 .. $prl-1) {
-+ my $base = substr($rprimer_r, $kk, 1);
-+ print "$base:\t@{$primer_comp[$kk]}\n";
- }
-
- my @binding_data;
- # read each combination from the matrix, calculate dG for each dimer
- my $pd_len = ($pd_full ? $pfl+$prl-1 : $pl-2);
-- for my $k (0 .. $pd_len) {
-- $score[$k]=0;
-+ foreach my $kk (0 .. $pd_len) {
-+ $score[$kk]=0;
- my $bind;
- my $score_p=0;
-
- # starting coords
-- my $pf_coord_start = ($k >= $pfl ? $pfl-1 : $k);
-- my $pr_coord_start = ($k - $pfl > 0 ? $k - $pfl : 0);
-+ my $pf_coord_start = ($kk >= $pfl ? $pfl-1 : $kk);
-+ my $pr_coord_start = ($kk - $pfl > 0 ? $kk - $pfl : 0);
- my ($pf_coord, $pr_coord, $first, $flag);
-
- # read through each combination finding multiple matches
-@@ -3285,7 +3286,7 @@
- }
- } elsif ($flag) {
- # end of a binding stretch
-- push @binding_data, [$k, $first, $bind] if $bind > 1;
-+ push @binding_data, [$kk, $first, $bind] if $bind > 1;
- $bind=0;
- $flag=0;
- }
-@@ -3325,7 +3326,7 @@
- # # }
- #
- # # read the binding data
-- # for $l (0 .. $prl-1) {
-+ # foreach $l (0 .. $prl-1) {
- # if (($k-$l)<$pfl) {
- # $bind .= $primer_comp[$l][$k-$l] if ($k-$l)>=0;
- # } else {
-@@ -3344,7 +3345,7 @@
- #
- # # Find start and end of similarity
- # my ($pb_init,$pb_end);
-- # for $l (0 .. length($bind)-1) {
-+ # foreach $l (0 .. length($bind)-1) {
- # # at first I tried finding the initiating terminal bases with
- # # regexps, but that was much slower ...
- # if (substr($bind, $l, 1) eq "1") {
-@@ -3355,7 +3356,7 @@
- #
- # if (defined($pb_init)) {
- # # deltaG calculation
-- # for $l ($pb_init .. $pb_end-1) {
-+ # foreach $l ($pb_init .. $pb_end-1) {
- # next if substr($bind, $l, 2) eq "00";
- # next if substr($bind, $l, 1) eq "2";
- # $score_p+=$oligo_dG{substr($primer_f, $pfl-$k+$l-1, 2).substr($rprimer_r, $l, 2)};
diff --git a/academic/perlprimer/02_fix-defined-slist.patch b/academic/perlprimer/02_fix-defined-slist.patch
deleted file mode 100644
index 38b375c844..0000000000
--- a/academic/perlprimer/02_fix-defined-slist.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- orig/perlprimer.pl 2016-11-22 21:06:25.135978000 +0200
-+++ new/perlprimer.pl 2016-11-22 21:08:09.001971413 +0200
-@@ -5226,7 +5226,7 @@ sub generate_report {
- }
-
- my ($hlist_sel) = $$hlist_ref->selectionGet;
-- unless (defined(@$slist) && defined($hlist_sel)) {
-+ unless (@$slist && defined($hlist_sel)) {
- dialogue("The Generate Report function saves the statistics and alignment of a particular primer pair - please select a primer pair first");
- return;
- }
diff --git a/academic/perlprimer/README b/academic/perlprimer/README
index bb7ab97f96..70a8c1ca8d 100644
--- a/academic/perlprimer/README
+++ b/academic/perlprimer/README
@@ -1,21 +1,21 @@
-PerlPrimer is a free, open-source GUI application written in Perl
-that designs primers for standard PCR, bisulphite PCR, real-time PCR
-(QPCR) and sequencing. It aims to automate and simplify the process
-of primer design.
+PerlPrimer is a free, open-source GUI application written in Perl
+that designs primers for standard PCR, bisulphite PCR, real-time PCR
+(QPCR) and sequencing. It aims to automate and simplify the process
+of primer design.
PerlPrimer's current features include the following:
- Calculation of possible primer-dimers
-- Retrieval of genomic or cDNA sequences from Ensembl (including both
+- Retrieval of genomic or cDNA sequences from Ensembl (including both
sequences automatically for QPCR)
-- Ability to BLAST search primers using the NCBI server or a local
+- Ability to BLAST search primers using the NCBI server or a local
server
-- Results can be saved or optionally exported in a tab-delimited
+- Results can be saved or optionally exported in a tab-delimited
format that is compatible with most spreadsheet applications.
- ORF and CpG island detection algorithms
-- Ability to add cloning sequences to primers, automatically adjusted
+- Ability to add cloning sequences to primers, automatically adjusted
to be in-frame
-- QPCR primer design without manual intron-exon boundary entry
+- QPCR primer design without manual intron-exon boundary entry
An optional run-time dependency is spidey, for Real Time PCR.
diff --git a/academic/perlprimer/perlprimer.SlackBuild b/academic/perlprimer/perlprimer.SlackBuild
index 8e681db655..686c973a34 100644
--- a/academic/perlprimer/perlprimer.SlackBuild
+++ b/academic/perlprimer/perlprimer.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for perlprimer
-# Copyright 2011-2016 Petar Petrov slackalaxy@gmail.com
+# Copyright 2011-2018 Petar Petrov slackalaxy@gmail.com
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,8 +23,9 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=perlprimer
-VERSION=${VERSION:-1.1.21}
-BUILD=${BUILD:-3}
+VERSION=${VERSION:-1.2.3_f7d3bd0}
+COMMIT=${COMMIT:-f7d3bd0b7f509d88cb0aded4fc08042bcff7f5dd}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
ARCH=noarch
@@ -39,9 +40,9 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
-cd $PRGNAM-$VERSION
+rm -rf $PRGNAM-$COMMIT
+tar xvf $CWD/$PRGNAM-$COMMIT.tar.gz
+cd $PRGNAM-$COMMIT
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
@@ -49,14 +50,7 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-# Thanks to Debian for the patch!
-patch -p1 -i $CWD/01_sytaxerrors.patch
-
-# A quick fix to this issue:
-# https://bugs.launchpad.net/ubuntu/+source/perlprimer/+bug/1575074
-patch -p1 -i $CWD/02_fix-defined-slist.patch
-
-install -D -m755 perlprimer.pl $PKG/usr/bin/perlprimer.pl
+install -D -m755 $PRGNAM $PKG/usr/bin/perlprimer.pl
install -D -m644 gcg.603 $PKG/usr/share/$PRGNAM/gcg.603
mkdir -p $PKG/usr/share/{applications,pixmaps}
@@ -65,7 +59,7 @@ cp $CWD/$PRGNAM.png $PKG/usr/share/pixmaps
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
- Changelog ReadMe.txt todo tutorial.html tutorial_files \
+ Changelog LICENSE README.md tutorial.html tutorial_files \
$PKG/usr/doc/$PRGNAM-$VERSION/
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
cat $CWD/References > $PKG/usr/doc/$PRGNAM-$VERSION/References
diff --git a/academic/perlprimer/perlprimer.info b/academic/perlprimer/perlprimer.info
index abf42fdaf6..bb2859f430 100644
--- a/academic/perlprimer/perlprimer.info
+++ b/academic/perlprimer/perlprimer.info
@@ -1,8 +1,8 @@
PRGNAM="perlprimer"
-VERSION="1.1.21"
-HOMEPAGE="http://perlprimer.sourceforge.net/"
-DOWNLOAD="http://downloads.sourceforge.net/perlprimer/perlprimer-1.1.21.tar.bz2"
-MD5SUM="016eb870b988a280cdb730a86dd67591"
+VERSION="1.2.3_f7d3bd0"
+HOMEPAGE="https://github.com/owenjm/perlprimer"
+DOWNLOAD="https://github.com/owenjm/perlprimer/archive/f7d3bd0/perlprimer-f7d3bd0b7f509d88cb0aded4fc08042bcff7f5dd.tar.gz"
+MD5SUM="c4fe53c120d3ed61514dacd355a93791"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="libwww-perl perl-tk"
diff --git a/academic/perlprimer/slack-desc b/academic/perlprimer/slack-desc
index 76f45a1ded..61e7fe70ea 100644
--- a/academic/perlprimer/slack-desc
+++ b/academic/perlprimer/slack-desc
@@ -14,6 +14,6 @@ perlprimer: (QPCR) and sequencing. It aims to automate and simplify the process
perlprimer: of primer design.
perlprimer:
perlprimer: Home: http://perlprimer.sourceforge.net/
-perlprimer: References: /usr/doc/perlprimer-1.1.21/References
+perlprimer:
perlprimer:
perlprimer: