diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 64fc6173db..6af530298c 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -263,6 +263,7 @@ structure of the predicted RNA.")
     (inputs
      `(("htslib" ,htslib-1.3) ; At least one test fails on htslib-1.4+.
        ("samtools" ,samtools)
+       ("bash" ,bash-minimal) ; for wrap-program
        ("bwa" ,bwa)
        ("grep" ,grep)
        ("sed" ,sed)
@@ -757,7 +758,8 @@ cpp.find_library('hdf5_cpp', dirs : '~a'), "
                   "Ribotaper.sh")))
              #t)))))
     (inputs
-     `(("bedtools" ,bedtools-2.18)
+     `(("bash" ,bash-minimal) ; for wrap-program
+       ("bedtools" ,bedtools-2.18)
        ("samtools" ,samtools-0.1)
        ("r-minimal" ,r-minimal)
        ("r-foreach" ,r-foreach)
@@ -1166,7 +1168,9 @@ alignments and perform the following operations:
                               `("PERL5LIB" ":" prefix (,path))))
                           (find-files bin "\\.pl$"))
                 #t))))))
-      (inputs inputs)
+      (inputs
+       `(("bash" ,bash-minimal) ; for wrap-program
+         ,@inputs))
       (native-inputs
        `(("perl-test-most" ,perl-test-most)))
       (home-page "https://metacpan.org/release/BioPerl")
@@ -2226,6 +2230,7 @@ high-throughput sequencing data – with an emphasis on simplicity.")
              #t)))))
     (inputs
      `(("coreutils" ,coreutils)
+       ("bash" ,bash-minimal) ; for wrap-program
        ("bedtools" ,bedtools)
        ("python-argparse" ,python2-argparse)
        ("python-pysam" ,python2-pysam)
@@ -2423,7 +2428,8 @@ gene predictor designed to work with assembled, aligned RNA-seq transcripts.")
                 `("GUIX_PYTHONPATH" ":" prefix (,path))))
             #t)))))
     (inputs
-     `(("python" ,python-2)
+     `(("bash" ,bash-minimal) ; for wrap-program
+       ("python" ,python-2)
        ("python2-pillow" ,python2-pillow)
        ("python2-numpy" ,python2-numpy)
        ("python2-scipy" ,python2-scipy)
@@ -3001,7 +3007,8 @@ bases are detected.")
                (wrap-program (string-append bin "/RepeatMasker")
                  `("PERL5LIB" ":" prefix (,path ,share)))))))))
     (inputs
-     `(("perl" ,perl)
+     `(("bash" ,bash-minimal) ; for wrap-program
+       ("perl" ,perl)
        ("perl-text-soundex" ,perl-text-soundex)
        ("python" ,python)
        ("python-h5py" ,python-h5py)
@@ -3255,7 +3262,8 @@ quantitative phenotypes.")
                      "-filter" "-help")
              #t)))))
     (inputs
-     `(("edirect-go-programs" ,edirect-go-programs)
+     `(("bash" ,bash-minimal) ; for wrap-program
+       ("edirect-go-programs" ,edirect-go-programs)
        ("perl-html-parser" ,perl-html-parser)
        ("perl-encode-locale" ,perl-encode-locale)
        ("perl-file-listing" ,perl-file-listing)
@@ -4952,7 +4960,8 @@ sequencing tag position and orientation.")
                          (find-files bin)))
              #t)))))
     (inputs
-     `(("perl" ,perl)
+     `(("bash" ,bash-minimal) ; for wrap-program
+       ("perl" ,perl)
        ("ruby" ,ruby)
        ("gawk" ,gawk)
        ("grep" ,grep)
@@ -5485,7 +5494,8 @@ generated using the PacBio Iso-Seq protocol.")
                (install-file "prank.1" man))
              #t)))))
     (inputs
-     `(("mafft" ,mafft)
+     `(("bash" ,bash-minimal) ; for wrap-program
+       ("mafft" ,mafft)
        ("exonerate" ,exonerate)
        ("bppsuite" ,bppsuite)))
     (home-page "http://wasabiapp.org/software/prank/")
@@ -5718,7 +5728,8 @@ partial genes, and identifies translation initiation sites.")
        ("perl-test-most" ,perl-test-most)
        ("perl-test-output" ,perl-test-output)))
     (inputs
-     `(("perl-array-utils" ,perl-array-utils)
+     `(("bash" ,bash-minimal) ; for wrap-program
+       ("perl-array-utils" ,perl-array-utils)
        ("bioperl" ,bioperl-minimal)
        ("perl-digest-md5-file" ,perl-digest-md5-file)
        ("perl-exception-class" ,perl-exception-class)
@@ -5871,7 +5882,8 @@ phylogenies.")
                            "rsem-run-prsem-testing-procedure")))
              #t)))))
     (inputs
-     `(("boost" ,boost)
+     `(("bash" ,bash-minimal) ; for wrap-program
+       ("boost" ,boost)
        ("r-minimal" ,r-minimal)
        ("perl" ,perl)
        ("htslib" ,htslib-1.3)
@@ -7764,7 +7776,8 @@ data.  It also generates basic statistics for your sequences.")
              (when tests?
                (invoke "make" "check")))))))
     (inputs
-     `(("boost" ,boost)
+     `(("bash" ,bash-minimal) ; for wrap-program
+       ("boost" ,boost)
        ("htslib" ,htslib)
        ("python" ,python)
        ("python-biopython" ,python-biopython)
@@ -8035,7 +8048,8 @@ secondary structure and comparative analysis in R.")
                  `("R_LIBS_SITE" ":" = (,(getenv "R_LIBS_SITE")))))
              #t)))))
     (inputs
-     `(("r-minimal" ,r-minimal)
+     `(("bash" ,bash-minimal) ; for wrap-program
+       ("r-minimal" ,r-minimal)
        ("r-rcas" ,r-rcas)
        ("guile" ,guile-2.2)
        ("guile-json" ,guile-json-1)
@@ -11189,7 +11203,8 @@ conversions, region filtering, FASTA sequence extraction and more.")
                              "unmapped2anchors.py")))
                #t)))))
       (inputs
-       `(("python2" ,python-2)
+       `(("bash" ,bash-minimal) ; for wrap-program
+         ("python2" ,python-2)
          ("python2-pysam" ,python2-pysam)
          ("python2-numpy" ,python2-numpy)))
       (home-page "https://github.com/marvin-jens/find_circ")
@@ -12329,7 +12344,8 @@ datasets.")
                  (("awk") (which "gawk")))
                #t)))))
       (inputs
-       `(("gawk" ,gawk)                 ;for read_info_histograms.sh
+       `(("bash" ,bash-minimal)         ;for wrap-program
+         ("gawk" ,gawk)                 ;for read_info_histograms.sh
          ("python" ,python-2)           ;required for histogram.py
          ("zlib" ,zlib)))
       (home-page "https://github.com/rrwick/Filtlong/")
@@ -12407,7 +12423,8 @@ choosing which reads pass the filter.")
                                           `("PERL5LIB" ":" prefix (,perl5lib))))
                            (find-files scripts "\\.pl"))))))))
       (inputs
-       `(("guile" ,guile-3.0) ; for wrappers
+       `(("bash" ,bash-minimal) ; for wrap-program
+         ("guile" ,guile-3.0) ; for other wrappers
          ("eigen" ,eigen)
          ("hdf5" ,hdf5)
          ("htslib" ,htslib)
@@ -12707,7 +12724,8 @@ includes a command line tool and an analysis pipeline.")
                  `("R_LIBS_SITE" ":" prefix (,(getenv "R_LIBS_SITE")))))
              #t)))))
     (inputs
-     `(("htslib" ,htslib)
+     `(("bash" ,bash-minimal) ; for wrap-program
+       ("htslib" ,htslib)
        ("r-minimal" ,r-minimal)
        ("r-circlize" ,r-circlize)
        ("r-genomicalignments" ,r-genomicalignments)
@@ -12914,7 +12932,8 @@ downstream analysis.")
                    `("PATH" ":" prefix (,path)))))
              #t)))))
     (inputs
-     `(("infernal" ,infernal)
+     `(("bash" ,bash-minimal) ; for wrap-program
+       ("infernal" ,infernal)
        ("hmmer" ,hmmer)))
     (propagated-inputs
      `(("python-biopython" ,python2-biopython)
@@ -14172,7 +14191,8 @@ my @test_files = map {\"$dirname\\/t\\/\".$_} grep {!/^\\./ && /\\.t$/} readdir
 runtests(@test_files);
 "))))))))
       (inputs
-       `(("bioperl-minimal" ,bioperl-minimal)
+       `(("bash" ,bash-minimal) ; for wrap-program
+         ("bioperl-minimal" ,bioperl-minimal)
          ("perl-bio-db-hts" ,perl-bio-db-hts)
          ("perl-dbi" ,perl-dbi)
          ("perl-dbd-mysql" ,perl-dbd-mysql)
