55 lines
1.5 KiB
Nix
55 lines
1.5 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
fetchFromGitLab,
|
|
runCommand,
|
|
mafft,
|
|
}:
|
|
|
|
stdenv.mkDerivation (finalAttrs: {
|
|
pname = "mafft";
|
|
version = "7.526";
|
|
|
|
src = fetchFromGitLab {
|
|
owner = "sysimm";
|
|
repo = "mafft";
|
|
rev = "v${finalAttrs.version}";
|
|
hash = "sha256-VNe00r12qEkLEbpZdJCe5xZ73JA3uAmuAeG+eSeRDI0=";
|
|
};
|
|
|
|
preBuild = ''
|
|
cd ./core
|
|
make clean
|
|
'';
|
|
|
|
makeFlags = [
|
|
"CC=${stdenv.cc.targetPrefix}cc"
|
|
"PREFIX=$(out)"
|
|
];
|
|
|
|
passthru.tests = {
|
|
simple = runCommand "${finalAttrs.pname}-test" { } ''
|
|
mkdir $out
|
|
cd ${finalAttrs.src}/test
|
|
${lib.getExe mafft} sample > $out/test.fftns2
|
|
${lib.getExe mafft} --maxiterate 100 sample > $out/test.fftnsi
|
|
${lib.getExe mafft} --globalpair sample > $out/test.gins1
|
|
${lib.getExe mafft} --globalpair --maxiterate 100 sample > $out/test.ginsi
|
|
${lib.getExe mafft} --localpair sample > $out/test.lins1
|
|
${lib.getExe mafft} --localpair --maxiterate 100 sample > $out/test.linsi
|
|
diff $out/test.fftns2 sample.fftns2
|
|
diff $out/test.fftnsi sample.fftnsi
|
|
diff $out/test.gins1 sample.gins1
|
|
diff $out/test.ginsi sample.ginsi
|
|
diff $out/test.lins1 sample.lins1
|
|
'';
|
|
};
|
|
|
|
meta = with lib; {
|
|
description = "Multiple alignment program for amino acid or nucleotide sequences";
|
|
homepage = "https://mafft.cbrc.jp/alignment/software/";
|
|
license = licenses.bsd3;
|
|
maintainers = with maintainers; [ natsukium ];
|
|
platforms = platforms.unix;
|
|
};
|
|
})
|