about summary refs log tree commit diff
path: root/pkgs/applications/science/biology
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/science/biology')
-rw-r--r--pkgs/applications/science/biology/aragorn/default.nix1
-rw-r--r--pkgs/applications/science/biology/astral/default.nix51
-rw-r--r--pkgs/applications/science/biology/astral/make-deterministic.patch21
-rw-r--r--pkgs/applications/science/biology/bamtools/default.nix1
-rw-r--r--pkgs/applications/science/biology/bioawk/default.nix1
-rw-r--r--pkgs/applications/science/biology/bwa-mem2/default.nix1
-rw-r--r--pkgs/applications/science/biology/bwa/default.nix1
-rw-r--r--pkgs/applications/science/biology/cmtk/default.nix1
-rw-r--r--pkgs/applications/science/biology/conglomerate/default.nix2
-rw-r--r--pkgs/applications/science/biology/dcm2niix/default.nix1
-rw-r--r--pkgs/applications/science/biology/deeptools/default.nix6
-rw-r--r--pkgs/applications/science/biology/delly/default.nix1
-rw-r--r--pkgs/applications/science/biology/diamond/default.nix1
-rw-r--r--pkgs/applications/science/biology/dssp/default.nix1
-rw-r--r--pkgs/applications/science/biology/est-sfs/default.nix1
-rw-r--r--pkgs/applications/science/biology/fastp/default.nix1
-rw-r--r--pkgs/applications/science/biology/febio-studio/default.nix1
-rw-r--r--pkgs/applications/science/biology/flywheel-cli/default.nix1
-rw-r--r--pkgs/applications/science/biology/genmap/default.nix1
-rw-r--r--pkgs/applications/science/biology/iqtree/default.nix1
-rw-r--r--pkgs/applications/science/biology/itsx/default.nix1
-rw-r--r--pkgs/applications/science/biology/jbrowse/default.nix1
-rw-r--r--pkgs/applications/science/biology/kalign/default.nix1
-rw-r--r--pkgs/applications/science/biology/kallisto/default.nix1
-rw-r--r--pkgs/applications/science/biology/macs2/default.nix1
-rw-r--r--pkgs/applications/science/biology/macse/default.nix1
-rw-r--r--pkgs/applications/science/biology/mafft/default.nix4
-rw-r--r--pkgs/applications/science/biology/minia/default.nix3
-rw-r--r--pkgs/applications/science/biology/minimap2/default.nix5
-rw-r--r--pkgs/applications/science/biology/mmseqs2/default.nix1
-rw-r--r--pkgs/applications/science/biology/mrbayes/default.nix1
-rw-r--r--pkgs/applications/science/biology/muscle/default.nix1
-rw-r--r--pkgs/applications/science/biology/obitools/obitools3.nix1
-rw-r--r--pkgs/applications/science/biology/octopus/default.nix1
-rw-r--r--pkgs/applications/science/biology/plink-ng/default.nix1
-rw-r--r--pkgs/applications/science/biology/prodigal/default.nix1
-rw-r--r--pkgs/applications/science/biology/repseek/default.nix1
-rw-r--r--pkgs/applications/science/biology/sambamba/default.nix1
-rw-r--r--pkgs/applications/science/biology/samblaster/default.nix1
-rw-r--r--pkgs/applications/science/biology/samtools/samtools_0_1_19.nix1
-rw-r--r--pkgs/applications/science/biology/seaview/default.nix1
-rw-r--r--pkgs/applications/science/biology/seqtk/default.nix1
-rw-r--r--pkgs/applications/science/biology/somatic-sniper/default.nix1
-rw-r--r--pkgs/applications/science/biology/sortmerna/default.nix1
-rw-r--r--pkgs/applications/science/biology/svaba/default.nix1
-rw-r--r--pkgs/applications/science/biology/tebreak/default.nix1
-rw-r--r--pkgs/applications/science/biology/trimmomatic/default.nix4
-rw-r--r--pkgs/applications/science/biology/veryfasttree/default.nix1
48 files changed, 109 insertions, 27 deletions
diff --git a/pkgs/applications/science/biology/aragorn/default.nix b/pkgs/applications/science/biology/aragorn/default.nix
index 4ee8501e8e13..3ec62ada04c9 100644
--- a/pkgs/applications/science/biology/aragorn/default.nix
+++ b/pkgs/applications/science/biology/aragorn/default.nix
@@ -44,6 +44,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta = with lib; {
     description = "Detects tRNA, mtRNA, and tmRNA genes in nucleotide sequences";
+    mainProgram = "aragorn";
     homepage = "http://www.ansikte.se/ARAGORN/";
     license = licenses.gpl3Plus;
     maintainers = [ maintainers.bzizou ];
diff --git a/pkgs/applications/science/biology/astral/default.nix b/pkgs/applications/science/biology/astral/default.nix
index 6a9513c6b817..34077949b97d 100644
--- a/pkgs/applications/science/biology/astral/default.nix
+++ b/pkgs/applications/science/biology/astral/default.nix
@@ -2,59 +2,78 @@
 , stdenvNoCC
 , fetchFromGitHub
 , jdk8
-, makeWrapper
 , jre8
+, strip-nondeterminism
+, makeWrapper
 , zip
 }:
+
 let
   jdk = jdk8;
   jre = jre8;
 in
-stdenvNoCC.mkDerivation rec {
+stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "astral";
   version = "5.7.1";
 
   src = fetchFromGitHub {
     owner = "smirarab";
     repo = "ASTRAL";
-    rev = "v${version}";
-    sha256 = "043w2z6gbrisqirdid022f4b8jps1pp5syi344krv2bis1gjq5sn";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-VhcsX9BxiZ0nISN6Xe4N+kq0iBMCtNhyxDrm9cwXfBA=";
   };
 
-  nativeBuildInputs = [ jdk makeWrapper jre zip ];
+  patches = [
+    # we can't use stripJavaArchivesHook here, because the build process puts a .jar file into a zip file
+    # this patch calls strip-nondeterminism manually
+    ./make-deterministic.patch
+  ];
+
+  nativeBuildInputs = [
+    jdk
+    zip
+    strip-nondeterminism
+    makeWrapper
+  ];
 
   buildPhase = ''
+    runHook preBuild
     patchShebangs ./make.sh
     ./make.sh
+    runHook postBuild
   '';
 
   doCheck = true;
 
   checkPhase = ''
     runHook preCheck
-    java -jar astral.${version}.jar -i main/test_data/song_primates.424.gene.tre
+    java -jar astral.${finalAttrs.version}.jar -i main/test_data/song_primates.424.gene.tre
     runHook postCheck
   '';
 
   installPhase = ''
-    mkdir -p $out/share/lib
-    mkdir -p $out/bin
-    mv astral.${version}.jar $out/share/
-    mv lib/*.jar $out/share/lib
-    mv Astral.${version}.zip $out/share/
-    cp -a  main/test_data $out/share/
+    runHook preInstall
+
+    install -Dm644 astral.${finalAttrs.version}.jar -t $out/share
+    install -Dm644 lib/*.jar -t $out/share/lib
+    install -Dm644 Astral.${finalAttrs.version}.zip -t $out/share
+    cp -a main/test_data $out/share
+
     makeWrapper ${jre}/bin/java $out/bin/astral \
-        --add-flags "-jar $out/share/astral.${version}.jar"
+        --add-flags "-jar $out/share/astral.${finalAttrs.version}.jar"
+
+    runHook postInstall
   '';
 
   meta = with lib; {
     homepage = "https://github.com/smirarab/ASTRAL";
     description = "Tool for estimating an unrooted species tree given a set of unrooted gene trees";
+    mainProgram = "astral";
     sourceProvenance = with sourceTypes; [
       fromSource
-      binaryBytecode  # source bundles dependencies as jars
+      binaryBytecode # source bundles dependencies as jars
     ];
     license = licenses.asl20;
-    maintainers = with maintainers; [ bzizou ];
+    maintainers = with maintainers; [ bzizou tomasajt ];
   };
-}
+})
diff --git a/pkgs/applications/science/biology/astral/make-deterministic.patch b/pkgs/applications/science/biology/astral/make-deterministic.patch
new file mode 100644
index 000000000000..940182e2f49f
--- /dev/null
+++ b/pkgs/applications/science/biology/astral/make-deterministic.patch
@@ -0,0 +1,21 @@
+diff --git a/make.sh b/make.sh
+index 3ff6529..937b1a2 100644
+--- a/make.sh
++++ b/make.sh
+@@ -17,6 +17,8 @@ jar cvfm ../astral.$version.jar ../manifest.text phylonet/util/BitSet.* phylonet
+ 
+ cd ..
+ 
++strip-nondeterminism --type jar astral.$version.jar
++
+ chmod +x astral.$version.jar
+ sed -e "s/__astral.jar__/astral.$version.jar/g" -e "s/__astral.zip__/Astral.$version.zip/g" README.template.md > README.md
+ sed -e "s/__astral.jar__/astral.$version.jar/g" -e "s/__astral.zip__/Astral.$version.zip/g" astral-tutorial-template.md > astral-tutorial.md
+@@ -32,6 +34,7 @@ ln -s ../astral-tutorial.pdf .
+ cd ..
+ rm -f Astral.$version.zip
+ zip -r Astral.$version.zip Astral 
++strip-nondeterminism --type zip Astral.$version.zip
+ 
+ set +x
+ echo "
diff --git a/pkgs/applications/science/biology/bamtools/default.nix b/pkgs/applications/science/biology/bamtools/default.nix
index 05373dafd381..602254e2966a 100644
--- a/pkgs/applications/science/biology/bamtools/default.nix
+++ b/pkgs/applications/science/biology/bamtools/default.nix
@@ -32,6 +32,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta = with lib; {
     description = "C++ API & command-line toolkit for working with BAM data";
+    mainProgram = "bamtools";
     homepage = "https://github.com/pezmaster31/bamtools";
     changelog = "https://github.com/pezmaster31/bamtools/releases/tag/${finalAttrs.src.rev}";
     license = licenses.mit;
diff --git a/pkgs/applications/science/biology/bioawk/default.nix b/pkgs/applications/science/biology/bioawk/default.nix
index cfbb1a551fac..f7da30fc4f72 100644
--- a/pkgs/applications/science/biology/bioawk/default.nix
+++ b/pkgs/applications/science/biology/bioawk/default.nix
@@ -42,6 +42,7 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     description = "BWK awk modified for biological data";
+    mainProgram = "bioawk";
     homepage = "https://github.com/lh3/bioawk";
     license = licenses.hpnd;
     maintainers = with maintainers; [ natsukium ];
diff --git a/pkgs/applications/science/biology/bwa-mem2/default.nix b/pkgs/applications/science/biology/bwa-mem2/default.nix
index b34b6dc8c90f..c339baf446d2 100644
--- a/pkgs/applications/science/biology/bwa-mem2/default.nix
+++ b/pkgs/applications/science/biology/bwa-mem2/default.nix
@@ -46,6 +46,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta = with lib; {
     description = "Next version of the bwa-mem algorithm in bwa, a software package for mapping low-divergent sequences against a large reference genome";
+    mainProgram = "bwa-mem2";
     license = licenses.mit;
     homepage = "https://github.com/bwa-mem2/bwa-mem2/";
     changelog = "https://github.com/bwa-mem2/bwa-mem2/blob/${finalAttrs.src.rev}/NEWS.md";
diff --git a/pkgs/applications/science/biology/bwa/default.nix b/pkgs/applications/science/biology/bwa/default.nix
index 4786f25beb50..8c883e2617bf 100644
--- a/pkgs/applications/science/biology/bwa/default.nix
+++ b/pkgs/applications/science/biology/bwa/default.nix
@@ -38,6 +38,7 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     description = "A software package for mapping low-divergent sequences against a large reference genome, such as the human genome";
+    mainProgram = "bwa";
     license     = licenses.gpl3Plus;
     homepage    = "https://bio-bwa.sourceforge.net/";
     maintainers = with maintainers; [ luispedro ];
diff --git a/pkgs/applications/science/biology/cmtk/default.nix b/pkgs/applications/science/biology/cmtk/default.nix
index a131c6645499..d7d23dd2d46e 100644
--- a/pkgs/applications/science/biology/cmtk/default.nix
+++ b/pkgs/applications/science/biology/cmtk/default.nix
@@ -36,6 +36,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta = with lib; {
     description = "Computational Morphometry Toolkit";
+    mainProgram = "cmtk";
     longDescription = ''A software toolkit for computational morphometry of
       biomedical images, CMTK comprises a set of command line tools and a
       back-end general-purpose library for processing and I/O'';
diff --git a/pkgs/applications/science/biology/conglomerate/default.nix b/pkgs/applications/science/biology/conglomerate/default.nix
index fe1c1f5511d1..d9092b9eeb11 100644
--- a/pkgs/applications/science/biology/conglomerate/default.nix
+++ b/pkgs/applications/science/biology/conglomerate/default.nix
@@ -32,6 +32,6 @@ stdenv.mkDerivation rec {
     description = "More command-line utilities for working with MINC files";
     maintainers = with maintainers; [ bcdarwin ];
     platforms = platforms.unix;
-    license   = licenses.free;
+    license   = licenses.hpndUc;
   };
 }
diff --git a/pkgs/applications/science/biology/dcm2niix/default.nix b/pkgs/applications/science/biology/dcm2niix/default.nix
index 605ecaadf648..a7f30dbc075d 100644
--- a/pkgs/applications/science/biology/dcm2niix/default.nix
+++ b/pkgs/applications/science/biology/dcm2niix/default.nix
@@ -57,6 +57,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "DICOM to NIfTI converter";
+    mainProgram = "dcm2niix";
     longDescription = ''
       dcm2niix is designed to convert neuroimaging data from the DICOM format to the NIfTI format.
     '';
diff --git a/pkgs/applications/science/biology/deeptools/default.nix b/pkgs/applications/science/biology/deeptools/default.nix
index a7a1f77dfe90..2abd0825e6e3 100644
--- a/pkgs/applications/science/biology/deeptools/default.nix
+++ b/pkgs/applications/science/biology/deeptools/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "deeptools";
-  version = "3.5.4";
+  version = "3.5.5";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "deeptools";
     repo = "deepTools";
-    rev = version;
-    hash = "sha256-A8YdlMptmJyxWW0EYLjXFIWjIO/mttEC7VYdlCe9MaI=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-2kSlL7Y5f/FjVtStnmz+GlTw2oymrtxOCaXlqgbQ7FU=";
   };
 
   nativeBuildInputs = with python3.pkgs; [
diff --git a/pkgs/applications/science/biology/delly/default.nix b/pkgs/applications/science/biology/delly/default.nix
index b483b3d57bef..34ea942b4f5c 100644
--- a/pkgs/applications/science/biology/delly/default.nix
+++ b/pkgs/applications/science/biology/delly/default.nix
@@ -54,6 +54,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta = with lib; {
     description = "Structural variant caller for mapped DNA sequenced data";
+    mainProgram = "delly";
     license = licenses.bsd3;
     maintainers = with maintainers; [ scalavision ];
     platforms = platforms.unix;
diff --git a/pkgs/applications/science/biology/diamond/default.nix b/pkgs/applications/science/biology/diamond/default.nix
index 3349c0392d08..f3afff0f5eb7 100644
--- a/pkgs/applications/science/biology/diamond/default.nix
+++ b/pkgs/applications/science/biology/diamond/default.nix
@@ -17,6 +17,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Accelerated BLAST compatible local sequence aligner";
+    mainProgram = "diamond";
     longDescription = ''
       DIAMOND is a sequence aligner for protein and translated DNA searches, designed for high performance analysis of big sequence data. The key features are:
       - Pairwise alignment of proteins and translated DNA at 100x-10,000x speed of BLAST.
diff --git a/pkgs/applications/science/biology/dssp/default.nix b/pkgs/applications/science/biology/dssp/default.nix
index 006b46db9974..6c7157a91764 100644
--- a/pkgs/applications/science/biology/dssp/default.nix
+++ b/pkgs/applications/science/biology/dssp/default.nix
@@ -51,6 +51,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta = with lib; {
     description = "Calculate the most likely secondary structure assignment given the 3D structure of a protein";
+    mainProgram = "mkdssp";
     homepage = "https://github.com/PDB-REDO/dssp";
     changelog = "https://github.com/PDB-REDO/libcifpp/releases/tag/${finalAttrs.src.rev}";
     license = licenses.bsd2;
diff --git a/pkgs/applications/science/biology/est-sfs/default.nix b/pkgs/applications/science/biology/est-sfs/default.nix
index fe4a3e49930c..c306cfd71c39 100644
--- a/pkgs/applications/science/biology/est-sfs/default.nix
+++ b/pkgs/applications/science/biology/est-sfs/default.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://sourceforge.net/projects/est-usfs";
     description = "Estimate the unfolded site frequency spectrum and ancestral states";
+    mainProgram = "est-sfs";
     license = licenses.gpl3;
     maintainers = [ maintainers.bzizou ];
     platforms = platforms.all;
diff --git a/pkgs/applications/science/biology/fastp/default.nix b/pkgs/applications/science/biology/fastp/default.nix
index e7fc0d4a35f1..0495da0e3c3d 100644
--- a/pkgs/applications/science/biology/fastp/default.nix
+++ b/pkgs/applications/science/biology/fastp/default.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Ultra-fast all-in-one FASTQ preprocessor";
+    mainProgram = "fastp";
     license = licenses.mit;
     homepage = "https://github.com/OpenGene/fastp";
     maintainers = with maintainers; [ jbedo ];
diff --git a/pkgs/applications/science/biology/febio-studio/default.nix b/pkgs/applications/science/biology/febio-studio/default.nix
index 550d221c74eb..708bd0f4305a 100644
--- a/pkgs/applications/science/biology/febio-studio/default.nix
+++ b/pkgs/applications/science/biology/febio-studio/default.nix
@@ -53,6 +53,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "FEBio Suite Solver";
+    mainProgram = "FEBioStudio";
     license = with licenses; [ mit ];
     homepage = "https://febio.org/";
     platforms = platforms.unix;
diff --git a/pkgs/applications/science/biology/flywheel-cli/default.nix b/pkgs/applications/science/biology/flywheel-cli/default.nix
index 254a3c011d27..51600d31c513 100644
--- a/pkgs/applications/science/biology/flywheel-cli/default.nix
+++ b/pkgs/applications/science/biology/flywheel-cli/default.nix
@@ -41,6 +41,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Library and command line interface for interacting with a Flywheel site";
+    mainProgram = "fw";
     homepage = "https://gitlab.com/flywheel-io/public/python-cli";
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     license = licenses.mit;
diff --git a/pkgs/applications/science/biology/genmap/default.nix b/pkgs/applications/science/biology/genmap/default.nix
index c6f9cf1fb193..235135cb6050 100644
--- a/pkgs/applications/science/biology/genmap/default.nix
+++ b/pkgs/applications/science/biology/genmap/default.nix
@@ -32,6 +32,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Ultra-fast computation of genome mappability";
+    mainProgram = "genmap";
     license = lib.licenses.bsd3;
     homepage = "https://github.com/cpockrandt/genmap";
     maintainers = with lib.maintainers; [ jbedo ];
diff --git a/pkgs/applications/science/biology/iqtree/default.nix b/pkgs/applications/science/biology/iqtree/default.nix
index 37a8a58a92e1..17b2ba9f9bde 100644
--- a/pkgs/applications/science/biology/iqtree/default.nix
+++ b/pkgs/applications/science/biology/iqtree/default.nix
@@ -33,6 +33,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "http://www.iqtree.org/";
     description = "Efficient and versatile phylogenomic software by maximum likelihood";
+    mainProgram = "iqtree2";
     license = licenses.lgpl2;
     maintainers = with maintainers; [ bzizou ];
     platforms = [ "x86_64-linux" "x86_64-darwin" ];
diff --git a/pkgs/applications/science/biology/itsx/default.nix b/pkgs/applications/science/biology/itsx/default.nix
index 843f0df57924..366b4add2ed7 100644
--- a/pkgs/applications/science/biology/itsx/default.nix
+++ b/pkgs/applications/science/biology/itsx/default.nix
@@ -26,6 +26,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Improved software detection and extraction of ITS1 and ITS2 from ribosomal ITS sequences of fungi and other eukaryotes for use in environmental sequencing";
+    mainProgram = "ITSx";
     homepage = "https://microbiology.se/software/itsx/";
     license = licenses.gpl3;
     maintainers = [ maintainers.bzizou ];
diff --git a/pkgs/applications/science/biology/jbrowse/default.nix b/pkgs/applications/science/biology/jbrowse/default.nix
index 3ed6a885aa75..15694ae3e638 100644
--- a/pkgs/applications/science/biology/jbrowse/default.nix
+++ b/pkgs/applications/science/biology/jbrowse/default.nix
@@ -31,6 +31,7 @@ appimageTools.wrapType2 {
 
   meta = with lib; {
     description = "The next-generation genome browser";
+    mainProgram = "jbrowse-desktop";
     homepage = "https://jbrowse.org/jb2/";
     license = licenses.asl20;
     maintainers = with maintainers; [ benwbooth ];
diff --git a/pkgs/applications/science/biology/kalign/default.nix b/pkgs/applications/science/biology/kalign/default.nix
index 3ca83978d969..f26b679f799d 100644
--- a/pkgs/applications/science/biology/kalign/default.nix
+++ b/pkgs/applications/science/biology/kalign/default.nix
@@ -37,6 +37,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta = {
     description = "A fast multiple sequence alignment program";
+    mainProgram = "kalign";
     homepage = "https://github.com/TimoLassmann/kalign";
     changelog = "https://github.com/TimoLassmann/kalign/releases/tag/${finalAttrs.src.rev}";
     license = lib.licenses.gpl3Plus;
diff --git a/pkgs/applications/science/biology/kallisto/default.nix b/pkgs/applications/science/biology/kallisto/default.nix
index a193fa59238f..55c555e387de 100644
--- a/pkgs/applications/science/biology/kallisto/default.nix
+++ b/pkgs/applications/science/biology/kallisto/default.nix
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Program for quantifying abundances of transcripts from RNA-Seq data";
+    mainProgram = "kallisto";
     homepage = "https://pachterlab.github.io/kallisto";
     license = licenses.bsd2;
     platforms = platforms.linux;
diff --git a/pkgs/applications/science/biology/macs2/default.nix b/pkgs/applications/science/biology/macs2/default.nix
index 8884d41d9064..73f12af6a605 100644
--- a/pkgs/applications/science/biology/macs2/default.nix
+++ b/pkgs/applications/science/biology/macs2/default.nix
@@ -46,6 +46,7 @@ python3.pkgs.buildPythonPackage rec {
 
   meta = with lib; {
     description = "Model-based Analysis for ChIP-Seq";
+    mainProgram = "macs2";
     homepage = "https://github.com/macs3-project/MACS/";
     changelog = "https://github.com/macs3-project/MACS/releases/tag/v${version}";
     license = licenses.bsd3;
diff --git a/pkgs/applications/science/biology/macse/default.nix b/pkgs/applications/science/biology/macse/default.nix
index 2ac09ca21ab6..06937f7e645e 100644
--- a/pkgs/applications/science/biology/macse/default.nix
+++ b/pkgs/applications/science/biology/macse/default.nix
@@ -24,6 +24,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Multiple alignment of coding sequences";
+    mainProgram = "macse";
     homepage = "https://bioweb.supagro.inra.fr/macse/";
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
     license = licenses.gpl2;
diff --git a/pkgs/applications/science/biology/mafft/default.nix b/pkgs/applications/science/biology/mafft/default.nix
index e9acd1c88b66..f2e3ead2e913 100644
--- a/pkgs/applications/science/biology/mafft/default.nix
+++ b/pkgs/applications/science/biology/mafft/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mafft";
-  version = "7.520";
+  version = "7.525";
 
   src = fetchFromGitLab {
     owner = "sysimm";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-H+EcKahJWwidAx+IUT4uCZEty+S8hUeMSB8VbTu5SmQ=";
+    sha256 = "sha256-ckBmvFssYAmYcBHAEftjQqBV0MB0theGfemaPx3XUws=";
   };
 
   preBuild = ''
diff --git a/pkgs/applications/science/biology/minia/default.nix b/pkgs/applications/science/biology/minia/default.nix
index 023a05d7504f..3665639a2cd9 100644
--- a/pkgs/applications/science/biology/minia/default.nix
+++ b/pkgs/applications/science/biology/minia/default.nix
@@ -25,8 +25,9 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Short read genome assembler";
+    mainProgram = "minia";
     homepage = "https://github.com/GATB/minia";
-    license = licenses.agpl3;
+    license = licenses.agpl3Plus;
     maintainers = with maintainers; [ jbedo ];
     platforms = [ "x86_64-linux" ];
   };
diff --git a/pkgs/applications/science/biology/minimap2/default.nix b/pkgs/applications/science/biology/minimap2/default.nix
index 35c1b076d7eb..eeb31dee0538 100644
--- a/pkgs/applications/science/biology/minimap2/default.nix
+++ b/pkgs/applications/science/biology/minimap2/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "minimap2";
-  version = "2.26";
+  version = "2.27";
 
   src = fetchFromGitHub {
     repo = pname;
     owner = "lh3";
     rev = "v${version}";
-    sha256 = "sha256-vK8Z/j6Ndu1vMFYPPzViP4evtIhyVVFwsfTqNCYnXpQ=";
+    sha256 = "sha256-F6IJrYD2dk+5bKKVIahLiNnD/Hd/CjNQQd9zz0Gkans=";
   };
 
   buildInputs = [ zlib ];
@@ -24,6 +24,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A versatile pairwise aligner for genomic and spliced nucleotide sequences";
+    mainProgram = "minimap2";
     homepage = "https://lh3.github.io/minimap2";
     license = licenses.mit;
     platforms = platforms.all;
diff --git a/pkgs/applications/science/biology/mmseqs2/default.nix b/pkgs/applications/science/biology/mmseqs2/default.nix
index 3e39fcb2918b..18acee7a5f14 100644
--- a/pkgs/applications/science/biology/mmseqs2/default.nix
+++ b/pkgs/applications/science/biology/mmseqs2/default.nix
@@ -42,6 +42,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Ultra fast and sensitive sequence search and clustering suite";
+    mainProgram = "mmseqs";
     homepage = "https://mmseqs.com/";
     license = licenses.gpl3;
     maintainers = with maintainers; [ natsukium ];
diff --git a/pkgs/applications/science/biology/mrbayes/default.nix b/pkgs/applications/science/biology/mrbayes/default.nix
index e4c2bbe65652..54f5b9bbb370 100644
--- a/pkgs/applications/science/biology/mrbayes/default.nix
+++ b/pkgs/applications/science/biology/mrbayes/default.nix
@@ -13,6 +13,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Bayesian Inference of Phylogeny";
+    mainProgram = "mb";
     longDescription = ''
       Bayesian inference of phylogeny is based upon a
       quantity called the posterior probability distribution of trees, which is
diff --git a/pkgs/applications/science/biology/muscle/default.nix b/pkgs/applications/science/biology/muscle/default.nix
index 366d0278227d..cdcf6c7b50aa 100644
--- a/pkgs/applications/science/biology/muscle/default.nix
+++ b/pkgs/applications/science/biology/muscle/default.nix
@@ -20,6 +20,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Multiple sequence alignment with top benchmark scores scalable to thousands of sequences";
+    mainProgram = "muscle";
     license     = licenses.gpl3Plus;
     homepage    = "https://www.drive5.com/muscle/";
     maintainers = with maintainers; [ unode thyol ];
diff --git a/pkgs/applications/science/biology/obitools/obitools3.nix b/pkgs/applications/science/biology/obitools/obitools3.nix
index 9bf579a80c3b..f415c9c39141 100644
--- a/pkgs/applications/science/biology/obitools/obitools3.nix
+++ b/pkgs/applications/science/biology/obitools/obitools3.nix
@@ -27,6 +27,7 @@ python3Packages.buildPythonApplication rec {
 
   meta = with lib ; {
     description = "Management of analyses and data in DNA metabarcoding";
+    mainProgram = "obi";
     homepage = "https://git.metabarcoding.org/obitools/obitools3";
     license = licenses.cecill20;
     maintainers = [ maintainers.bzizou ];
diff --git a/pkgs/applications/science/biology/octopus/default.nix b/pkgs/applications/science/biology/octopus/default.nix
index 0090ca82d6c3..c594108c6f47 100644
--- a/pkgs/applications/science/biology/octopus/default.nix
+++ b/pkgs/applications/science/biology/octopus/default.nix
@@ -38,6 +38,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Bayesian haplotype-based mutation calling";
+    mainProgram = "octopus";
     license = licenses.mit;
     homepage = "https://github.com/luntergroup/octopus";
     maintainers = with maintainers; [ jbedo ];
diff --git a/pkgs/applications/science/biology/plink-ng/default.nix b/pkgs/applications/science/biology/plink-ng/default.nix
index 00fd0ff0083e..0e65bed4cf3e 100644
--- a/pkgs/applications/science/biology/plink-ng/default.nix
+++ b/pkgs/applications/science/biology/plink-ng/default.nix
@@ -33,6 +33,7 @@ stdenv.mkDerivation rec {
   meta = {
     broken = (stdenv.isLinux && stdenv.isAarch64);
     description = "A comprehensive update to the PLINK association analysis toolset";
+    mainProgram = "plink";
     homepage = "https://www.cog-genomics.org/plink2";
     license = lib.licenses.gpl3;
     platforms = lib.platforms.linux;
diff --git a/pkgs/applications/science/biology/prodigal/default.nix b/pkgs/applications/science/biology/prodigal/default.nix
index 28a21522c6b8..cd83a723f91e 100644
--- a/pkgs/applications/science/biology/prodigal/default.nix
+++ b/pkgs/applications/science/biology/prodigal/default.nix
@@ -18,6 +18,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Fast, reliable protein-coding gene prediction for prokaryotic genomes";
+    mainProgram = "prodigal";
     homepage = "https://github.com/hyattpd/Prodigal";
     license = licenses.gpl3;
     platforms = platforms.all;
diff --git a/pkgs/applications/science/biology/repseek/default.nix b/pkgs/applications/science/biology/repseek/default.nix
index 5966c83b7a5f..e5e0193f7911 100644
--- a/pkgs/applications/science/biology/repseek/default.nix
+++ b/pkgs/applications/science/biology/repseek/default.nix
@@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Tool to retrieve approximate repeats from large DNA sequences";
+    mainProgram = "repseek";
     homepage = "https://bioinfo.mnhn.fr/abi/public/RepSeek";
     maintainers = [ lib.maintainers.bzizou ];
     license = lib.licenses.lgpl21;
diff --git a/pkgs/applications/science/biology/sambamba/default.nix b/pkgs/applications/science/biology/sambamba/default.nix
index e1722a7086d8..b6635f02aacd 100644
--- a/pkgs/applications/science/biology/sambamba/default.nix
+++ b/pkgs/applications/science/biology/sambamba/default.nix
@@ -38,6 +38,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "SAM/BAM processing tool";
+    mainProgram = "sambamba";
     homepage = "https://lomereiter.github.io/sambamba/";
     maintainers = with maintainers; [ jbedo ];
     license = with licenses; gpl2;
diff --git a/pkgs/applications/science/biology/samblaster/default.nix b/pkgs/applications/science/biology/samblaster/default.nix
index 4315dd2767e1..f16d0e42d8ef 100644
--- a/pkgs/applications/science/biology/samblaster/default.nix
+++ b/pkgs/applications/science/biology/samblaster/default.nix
@@ -20,6 +20,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Tool for marking duplicates and extracting discordant/split reads from SAM/BAM files";
+    mainProgram = "samblaster";
     maintainers = with maintainers; [ jbedo ];
     license = licenses.mit;
     homepage = "https://github.com/GregoryFaust/samblaster";
diff --git a/pkgs/applications/science/biology/samtools/samtools_0_1_19.nix b/pkgs/applications/science/biology/samtools/samtools_0_1_19.nix
index 2472e4976cad..edb3a9a9da5b 100644
--- a/pkgs/applications/science/biology/samtools/samtools_0_1_19.nix
+++ b/pkgs/applications/science/biology/samtools/samtools_0_1_19.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Tools for manipulating SAM/BAM/CRAM format";
+    mainProgram = "samtools";
     license = licenses.mit;
     homepage = "https://samtools.sourceforge.net/";
     platforms = platforms.unix;
diff --git a/pkgs/applications/science/biology/seaview/default.nix b/pkgs/applications/science/biology/seaview/default.nix
index 640d2f5ae416..06549748018d 100644
--- a/pkgs/applications/science/biology/seaview/default.nix
+++ b/pkgs/applications/science/biology/seaview/default.nix
@@ -16,6 +16,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "GUI for molecular phylogeny";
+    mainProgram = "seaview";
     longDescription = ''
       SeaView is a multiplatform, graphical user interface for multiple sequence alignment and molecular phylogeny.
         - SeaView reads and writes various file formats (NEXUS, MSF, CLUSTAL, FASTA, PHYLIP, MASE, Newick) of DNA and protein sequences and of phylogenetic trees.
diff --git a/pkgs/applications/science/biology/seqtk/default.nix b/pkgs/applications/science/biology/seqtk/default.nix
index 90bd4bb3c65e..417bec9c062f 100644
--- a/pkgs/applications/science/biology/seqtk/default.nix
+++ b/pkgs/applications/science/biology/seqtk/default.nix
@@ -31,6 +31,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Toolkit for processing sequences in FASTA/Q formats";
+    mainProgram = "seqtk";
     license = licenses.mit;
     homepage = "https://github.com/lh3/seqtk";
     platforms = platforms.all;
diff --git a/pkgs/applications/science/biology/somatic-sniper/default.nix b/pkgs/applications/science/biology/somatic-sniper/default.nix
index 034409cfb013..553725fb4566 100644
--- a/pkgs/applications/science/biology/somatic-sniper/default.nix
+++ b/pkgs/applications/science/biology/somatic-sniper/default.nix
@@ -20,6 +20,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Identify single nucleotide positions that are different between tumor and normal";
+    mainProgram = "bam-somaticsniper";
     license = licenses.mit;
     homepage = "https://github.com/genome/somatic-sniper";
     maintainers = with maintainers; [ jbedo ];
diff --git a/pkgs/applications/science/biology/sortmerna/default.nix b/pkgs/applications/science/biology/sortmerna/default.nix
index bfd6d20f1384..d47aae9ce665 100644
--- a/pkgs/applications/science/biology/sortmerna/default.nix
+++ b/pkgs/applications/science/biology/sortmerna/default.nix
@@ -40,6 +40,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Tools for filtering, mapping, and OTU-picking from shotgun genomics data";
+    mainProgram = "sortmerna";
     license = licenses.lgpl3;
     platforms = platforms.x86_64;
     homepage = "https://bioinfo.lifl.fr/RNA/sortmerna/";
diff --git a/pkgs/applications/science/biology/svaba/default.nix b/pkgs/applications/science/biology/svaba/default.nix
index d36c4b668ec3..fec5a5a3b92d 100644
--- a/pkgs/applications/science/biology/svaba/default.nix
+++ b/pkgs/applications/science/biology/svaba/default.nix
@@ -36,6 +36,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     broken = (stdenv.isLinux && stdenv.isAarch64);
     description = "Structural variant and INDEL caller for DNA sequencing data, using genome-wide local assembly";
+    mainProgram = "svaba";
     license = licenses.gpl3;
     homepage = "https://github.com/walaj/svaba";
     maintainers = with maintainers; [ scalavision ];
diff --git a/pkgs/applications/science/biology/tebreak/default.nix b/pkgs/applications/science/biology/tebreak/default.nix
index a046aee1c6c3..879f9b95d846 100644
--- a/pkgs/applications/science/biology/tebreak/default.nix
+++ b/pkgs/applications/science/biology/tebreak/default.nix
@@ -40,6 +40,7 @@ python3.pkgs.buildPythonApplication rec {
 
   meta = with lib; {
     description = "Find and characterise transposable element insertions";
+    mainProgram = "tebreak";
     homepage = "https://github.com/adamewing/tebreak";
     license = licenses.mit;
     maintainers = with maintainers; [ jbedo ];
diff --git a/pkgs/applications/science/biology/trimmomatic/default.nix b/pkgs/applications/science/biology/trimmomatic/default.nix
index 53cff76badce..db19278eaa47 100644
--- a/pkgs/applications/science/biology/trimmomatic/default.nix
+++ b/pkgs/applications/science/biology/trimmomatic/default.nix
@@ -5,7 +5,7 @@
 , jdk
 , jre
 , makeWrapper
-, canonicalize-jars-hook
+, stripJavaArchivesHook
 }:
 
 stdenv.mkDerivation (finalAttrs: {
@@ -29,7 +29,7 @@ stdenv.mkDerivation (finalAttrs: {
     ant
     jdk
     makeWrapper
-    canonicalize-jars-hook
+    stripJavaArchivesHook
   ];
 
   buildPhase = ''
diff --git a/pkgs/applications/science/biology/veryfasttree/default.nix b/pkgs/applications/science/biology/veryfasttree/default.nix
index 63597a75d494..6c054fecd742 100644
--- a/pkgs/applications/science/biology/veryfasttree/default.nix
+++ b/pkgs/applications/science/biology/veryfasttree/default.nix
@@ -29,6 +29,7 @@ stdenv.mkDerivation (finalAttrs: {
 
   meta = {
     description = "Speeding up the estimation of phylogenetic trees for large alignments through parallelization and vectorization strategies";
+    mainProgram = "VeryFastTree";
     homepage = "https://github.com/citiususc/veryfasttree";
     license = lib.licenses.gpl3Plus;
     maintainers = with lib.maintainers; [ thyol ];