Skip to content

Commit

Permalink
perlPackages.BioExtAlign: bug fix and add test (#380488)
Browse files Browse the repository at this point in the history
  • Loading branch information
GaetanLepage authored Feb 13, 2025
2 parents 4ef254b + ebe61cd commit 145fa63
Show file tree
Hide file tree
Showing 5 changed files with 121 additions and 10 deletions.
8 changes: 4 additions & 4 deletions pkgs/by-name/ke/kent/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
export HOME=$TMPDIR
export DESTBINDIR=$HOME/bin
mkdir -p $HOME/lib $HOME/bin/x86_64
mkdir -p $HOME/lib $HOME/bin/${stdenv.hostPlatform.parsed.cpu.name}
cd ./src
chmod +x ./checkUmask.sh
Expand All @@ -63,8 +63,8 @@ stdenv.mkDerivation rec {
cd jkOwnLib
make
cp ../lib/x86_64/jkOwnLib.a $HOME/lib
cp ../lib/x86_64/jkweb.a $HOME/lib
cp ../lib/${stdenv.hostPlatform.parsed.cpu.name}/jkOwnLib.a $HOME/lib
cp ../lib/${stdenv.hostPlatform.parsed.cpu.name}/jkweb.a $HOME/lib
cp -r ../inc $HOME/
cd ../utils
Expand All @@ -79,7 +79,7 @@ stdenv.mkDerivation rec {
mkdir -p $out/bin $out/lib $out/inc
cp $HOME/lib/jkOwnLib.a $out/lib
cp $HOME/lib/jkweb.a $out/lib
cp $HOME/bin/x86_64/* $out/bin
cp $HOME/bin/${stdenv.hostPlatform.parsed.cpu.name}/* $out/bin
cp -r $HOME/inc/* $out/inc/
runHook postInstall
Expand Down
24 changes: 19 additions & 5 deletions pkgs/development/perl-modules/Bio-Ext-Align/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,7 @@ buildPerlPackage rec {
pname = "BioExtAlign";
version = "1.5.1";

outputs = [
"out"
"dev"
];
outputs = [ "out" ];

src = fetchFromGitHub {
owner = "bioperl";
Expand All @@ -20,7 +17,15 @@ buildPerlPackage rec {
sha256 = "sha256-+0tZ6q3PFem8DWa2vq+njOLmjDvMB0JhD0FGk00lVMA=";
};

patches = [ ./fprintf.patch ];
patches = [
# Starting for Perl 5.6, implicit function declaration are treated as errors
# There may be an error but ensembl-vep (the main package for this dependency)
# runs
./no-implicit-function.patch
# Tests need other parts of BioExt, disabling them
./disable-other-tests.patch
./fprintf.patch
];

# Do not install other Bio-ext packages
preConfigure = ''
Expand All @@ -32,12 +37,21 @@ buildPerlPackage rec {
make
'';

checkPhase = ''
runHook preCheck
make test
runHook postCheck
'';

meta = {
homepage = "https://github.com/bioperl/bioperl-ext";
description = "Write Perl Subroutines in Other Programming Languages";
longDescription = ''
Part of BioPerl Extensions (BioPerl-Ext) distribution, a collection of Bioperl C-compiled extensions.
'';
license = with lib.licenses; [ artistic1 ];
maintainers = with lib.maintainers; [ apraga ];
};
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
diff --git a/Bio/Ext/Align/test.pl b/Bio/Ext/Align/test.pl
index 72411f3..1deb77b 100755
--- a/Bio/Ext/Align/test.pl
+++ b/Bio/Ext/Align/test.pl
@@ -8,13 +8,10 @@ my $DEBUG = $ENV{'BIOPERLDEBUG'} || 0;
BEGIN {
eval { require Test; };
use Test;
- plan tests => 9;
+ plan tests => 4;
}

use Bio::Ext::Align;
-use Bio::Tools::dpAlign;
-use Bio::Seq;
-use Bio::AlignIO;

$loaded = 1;
ok(1); # modules loaded
@@ -34,64 +31,3 @@ $alb = &Bio::Ext::Align::Align_Sequences_ProteinSmithWaterman($seq1,$seq2,
$seq2->seq,15,50,STDERR) if $DEBUG;


-warn( "Testing Local Alignment case...\n") if $DEBUg;
-
-$alnout = new Bio::AlignIO(-format => 'pfam', -fh => \*STDERR);
-$aln = &Bio::Ext::Align::Align_DNA_Sequences("AATGCCATTGACGG",
- "CAGCCTCGCTTAG",3,-1,3,1,
- Bio::Tools::dpAlign::DPALIGN_LOCAL_MILLER_MYERS);
-
-$out = Bio::SimpleAlign->new();
-
-$out->add_seq(Bio::LocatableSeq->new(-seq => $aln->aln1,
- -start => $aln->start1,
- -end => $aln->end1,
- -id => "one"));
-
-$out->add_seq(Bio::LocatableSeq->new(-seq => $aln->aln2,
- -start => $aln->start2,
- -end => $aln->end2,
- -id => "two"));
-$alnout->write_aln($out) if $DEBUG;
-
-$aln = &Bio::Ext::Align::Align_Protein_Sequences("WLGQRNLVSSTGGNLLNVWLKDW","WMGNRNVVNLLNVWFRDW",0,
- Bio::Tools::dpAlign::DPALIGN_LOCAL_MILLER_MYERS);
-$out = Bio::SimpleAlign->new();
-ok($aln);
-
-$out->add_seq(Bio::LocatableSeq->new(-seq => $aln->aln1,
- -start => $aln->start1,
- -end => $aln->end1,
- -id => "one"));
-
-$out->add_seq(Bio::LocatableSeq->new(-seq => $aln->aln2,
- -start => $aln->start2,
- -end => $aln->end2,
- -id => "two"));
-$alnout->write_aln($out) if $DEBUG;
-ok(1);
-
-warn( "Testing Global Alignment case...\n") if $DEBUG;
-
-$factory = new Bio::Tools::dpAlign('-alg' => Bio::Tools::dpAlign::DPALIGN_GLOBAL_MILLER_MYERS);
-$s1 = new Bio::Seq(-id => "one", -seq => "AATGCCATTGACGG", -alphabet => 'dna');
-$s2 = new Bio::Seq(-id => "two", -seq => "CAGCCTCGCTTAG", -alphabet => 'dna');
-$aln = $factory->pairwise_alignment($s1, $s2);
-$alnout->write_aln($aln) if $DEBUG;
-$factory->align_and_show($s1, $s2) if $DEBUG;
-
-ok(1);
-
-$s1 = new Bio::Seq(-id => "one", -seq => "WLGQRNLVSSTGGNLLNVWLKDW",
- -alphabet => 'protein');
-$s2 = new Bio::Seq(-id => "two", -seq => "WMGNRNVVNLLNVWFRDW",
- -alphabet => 'protein');
-$aln = $factory->pairwise_alignment($s1, $s2);
-$alnout->write_aln($aln) if $DEBUG;
-$factory->align_and_show($s1, $s2) if $DEBUG;
-ok(1);
-
-$prof = $factory->sequence_profile($s1);
-warn( "Optimal Alignment Score = %d\n", $factory->pairwise_alignment_score($prof, $s2)) if $DEBUG;
-
-ok($factory->pairwise_alignment_score($prof,$s2),77);
2 changes: 1 addition & 1 deletion pkgs/development/perl-modules/Bio-Ext-Align/fprintf.patch
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ index 0e07b67..0eab932 100644
dpAlign_fatal(char * s)
{
- fprintf(stderr, s);
+ fputs(stderr, s);
+ fputs(s, stderr);
exit(-1);
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
diff --git a/Bio/Ext/Align/Makefile.PL b/Bio/Ext/Align/Makefile.PL
index cc6c343..ea5cffa 100755
--- a/Bio/Ext/Align/Makefile.PL
+++ b/Bio/Ext/Align/Makefile.PL
@@ -5,7 +5,7 @@ WriteMakefile(
'NAME' => 'Bio::Ext::Align',
'VERSION' => '1.5.1',
'LIBS' => ['-lm'], # e.g., '-lm'
- 'DEFINE' => '-DPOSIX -DNOERROR', # e.g., '-DHAVE_SOMETHING'
+ 'DEFINE' => '-DPOSIX -DNOERROR -Wno-implicit-function-declaration', # e.g., '-DHAVE_SOMETHING'
'INC' => '-I./libs', # e.g., '-I/usr/include/other'
'MYEXTLIB' => 'libs/libsw$(LIB_EXT)',
'clean' => { 'FILES' => 'libs/*.o libs/*.a' }

0 comments on commit 145fa63

Please sign in to comment.