From 5c821121ece759ad907abbdf81c640c805eb197d Mon Sep 17 00:00:00 2001 From: Petar Petrov Date: Sun, 8 Jul 2018 19:40:22 +0100 Subject: academic/perlprimer: Updated for version 1.2.3_f7d3bd0. Signed-off-by: David Spencer --- academic/perlprimer/01_sytaxerrors.patch | 157 ------------------------- academic/perlprimer/02_fix-defined-slist.patch | 11 -- academic/perlprimer/README | 18 +-- academic/perlprimer/perlprimer.SlackBuild | 24 ++-- academic/perlprimer/perlprimer.info | 8 +- academic/perlprimer/slack-desc | 2 +- 6 files changed, 23 insertions(+), 197 deletions(-) delete mode 100644 academic/perlprimer/01_sytaxerrors.patch delete mode 100644 academic/perlprimer/02_fix-defined-slist.patch 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 -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: -- cgit v1.2.3