[med-svn] [Git][med-team/gubbins][master] 9 commits: New upstream version 3.3.5
Étienne Mollier (@emollier)
gitlab at salsa.debian.org
Wed May 22 21:22:00 BST 2024
Étienne Mollier pushed to branch master at Debian Med / gubbins
Commits:
bf60acc2 by Étienne Mollier at 2024-05-12T11:52:42+02:00
New upstream version 3.3.5
- - - - -
9f793fa9 by Étienne Mollier at 2024-05-12T11:52:51+02:00
Update upstream source from tag 'upstream/3.3.5'
Update to upstream version '3.3.5'
with Debian dir 1a77ad9a5a17aad74a95d6116904ce09d727318a
- - - - -
25dc7520 by Étienne Mollier at 2024-05-12T11:54:28+02:00
iqtree2.patch: unfuzz.
- - - - -
4d0351d5 by Étienne Mollier at 2024-05-22T19:31:43+02:00
python3-shebang.patch: new.
This fixes a couple of occurrences of unversionned Python interpreter
declared in the shebang of a couple of scripts.
- - - - -
7f2d987f by Étienne Mollier at 2024-05-22T19:31:48+02:00
d/control: move to pkgconf.
- - - - -
1c03f043 by Étienne Mollier at 2024-05-22T22:17:22+02:00
remove-numba-temporarily.patch: new.
Remove temporarily numba-accelerated pyjar.py functions decorators.
This allows decorellation of gubbins from numba until the latter is
available again in trixie. The change may affect performances, but
should not affect gubbins results and functionalities otherwise.
- - - - -
3f938610 by Étienne Mollier at 2024-05-22T22:17:40+02:00
d/control: promote and comment out dependency on python3-numba.
This prepares the field for when it will be possible to bring numba
support back to gubbins, once numba 0.59 or later makes it to trixie.
- - - - -
bdb552a9 by Étienne Mollier at 2024-05-22T22:19:12+02:00
d/t/control: autopkgtests do not depend on python3-numba anymore.
Closes: #1058474
- - - - -
84c75371 by Étienne Mollier at 2024-05-22T22:21:02+02:00
ready to upload to unstable.
- - - - -
17 changed files:
- VERSION
- debian/changelog
- debian/control
- debian/patches/iqtree2.patch
- + debian/patches/python3-shebang.patch
- + debian/patches/remove-numba-temporarily.patch
- debian/patches/series
- debian/tests/control
- environment.yml
- python/gubbins/PreProcessFasta.py
- python/gubbins/ValidateFastaAlignment.py
- python/gubbins/__init__.py
- python/gubbins/common.py
- python/gubbins/pyjar.py
- python/gubbins/run_gubbins.py
- python/gubbins/treebuilders.py
- python/gubbins/utils.py
Changes:
=====================================
VERSION
=====================================
@@ -1 +1 @@
-3.3.1
+3.3.5
=====================================
debian/changelog
=====================================
@@ -1,3 +1,24 @@
+gubbins (3.3.5-1) unstable; urgency=medium
+
+ * New upstream version 3.3.5
+ * iqtree2.patch: unfuzz.
+ * python3-shebang.patch: new.
+ This fixes a couple of occurrences of unversioned Python interpreter
+ declared in the shebang of a couple of scripts.
+ * d/control: move to pkgconf.
+ * remove-numba-temporarily.patch: new.
+ Remove temporarily numba-accelerated pyjar.py functions decorators.
+ This allows decorellation of gubbins from numba until the latter is
+ available again in trixie. The change may affect performances, but
+ should not affect gubbins results and functionalities otherwise.
+ * d/control: promote and comment out dependency on python3-numba.
+ This prepares the field for when it will be possible to bring numba
+ support back to gubbins, once numba 0.59 or later makes it to trixie.
+ * d/t/control: autopkgtests do not depend on python3-numba anymore.
+ (Closes: #1058474)
+
+ -- Étienne Mollier <emollier at debian.org> Wed, 22 May 2024 22:19:47 +0200
+
gubbins (3.3.3-1) unstable; urgency=medium
* New upstream version
=====================================
debian/control
=====================================
@@ -7,7 +7,7 @@ Priority: optional
Build-Depends: debhelper-compat (= 13),
dh-sequence-python3,
autoconf-archive,
- pkg-config,
+ pkgconf,
fasttree,
iqtree,
raxml,
@@ -35,9 +35,12 @@ Depends: ${shlibs:Depends},
${python3:Depends},
python3,
raxml
+# FIXME: python3-numba is disabled until version 0.59 makes it back to testing.
+# Delete also remove-numba-temporarily.patch when the time comes to bring back
+# numba support in gubbins.
+# python3-numba
Recommends: iqtree,
- fasttree,
- python3-numba
+ fasttree
Suggests: r-base-core
Description: phylogenetic analysis of genome sequences
Gubbins supports rapid phylogenetic analysis of large samples of
=====================================
debian/patches/iqtree2.patch
=====================================
@@ -6,7 +6,7 @@ Forwarded: https://github.com/nickjcroucher/gubbins/issues/379
--- gubbins.orig/python/gubbins/treebuilders.py
+++ gubbins/python/gubbins/treebuilders.py
-@@ -276,7 +276,7 @@
+@@ -278,7 +278,7 @@
self.additional_args = additional_args
# Construct base command
=====================================
debian/patches/python3-shebang.patch
=====================================
@@ -0,0 +1,71 @@
+Description: fix unversioned Python shebang of a couple of scripts.
+
+Author: Étienne Mollier <emollier at debian.org>
+Forwarded: not-needed
+Last-Update: 2024-05-22
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- gubbins.orig/python/gubbins/pyjar.py
++++ gubbins/python/gubbins/pyjar.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/python3
+ # encoding: utf-8
+ #
+ # pyjar written by Simon Harris
+--- gubbins.orig/python/gubbins/run_gubbins.py
++++ gubbins/python/gubbins/run_gubbins.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/python3
+ # encoding: utf-8
+ #
+ # Wellcome Trust Sanger Institute
+--- gubbins.orig/python/gubbins/PreProcessFasta.py
++++ gubbins/python/gubbins/PreProcessFasta.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/python3
+ # encoding: utf-8
+
+ import sys
+--- gubbins.orig/python/gubbins/ValidateFastaAlignment.py
++++ gubbins/python/gubbins/ValidateFastaAlignment.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/python3
+ # encoding: utf-8
+
+ import os
+--- gubbins.orig/python/gubbins/__init__.py
++++ gubbins/python/gubbins/__init__.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/python3
+ # encoding: utf-8
+
+ """
+--- gubbins.orig/python/gubbins/common.py
++++ gubbins/python/gubbins/common.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/python3
+ # encoding: utf-8
+ #
+ # Wellcome Trust Sanger Institute
+--- gubbins.orig/python/gubbins/treebuilders.py
++++ gubbins/python/gubbins/treebuilders.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/python3
+ # encoding: utf-8
+ #
+ # Wellcome Trust Sanger Institute
+--- gubbins.orig/python/gubbins/utils.py
++++ gubbins/python/gubbins/utils.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/python3
+ # encoding: utf-8
+ #
+ # Wellcome Trust Sanger Institute
=====================================
debian/patches/remove-numba-temporarily.patch
=====================================
@@ -0,0 +1,152 @@
+Description: disable numba in upstream code.
+ This patch keeps gubbins running while numba is not available in testing.
+ Ideally, numba should be simply recommended, and the code to proceed to
+ numba JIT compilation should be capable of shifting gears to no-optimization
+ in order to support situations where numba is not available.
+
+Author: Étienne Mollier <emollier at debian.org>
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1058474
+Forwarded: not-needed
+Last-Update: 2024-05-22
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- gubbins.orig/python/gubbins/pyjar.py
++++ gubbins/python/gubbins/pyjar.py
+@@ -16,8 +16,6 @@
+ from Bio import AlignIO
+ from math import log, exp
+ from functools import partial
+-import numba
+-from numba import jit, njit, types, from_dtype
+ from math import ceil
+ import collections
+ import datetime
+@@ -207,9 +205,6 @@
+
+ # Convert bases to integers
+ ###########################
+- at njit(numba.void(numba.typeof(numpy.dtype('U1'))[:],
+- numba.uint8[:]),
+- cache = True)
+ def seq_to_int(seq,out_seq):
+ for i,b in enumerate(seq):
+ if b == 'A':
+@@ -229,13 +224,6 @@
+
+ # Calculate most likely base given bases in descendents
+ #######################################################
+- at njit(numba.void(numba.float32[:,:],
+- numba.uint8[:,:],
+- numba.float32[:,::1],
+- numba.int32,
+- numba.int32[:,:],
+- numba.uint8[::1]),
+- cache=True)
+ def find_most_likely_base_given_descendents(Lmat, Cmat, pij, node_index, child_nodes, column_base_indices):
+ #2a. Lz(i) = maxj Pij(tz) x Lx(j) x Ly(j)
+ #2b. Cz(i) = the value of j attaining the above maximum.
+@@ -251,13 +239,6 @@
+
+ # Calculate the most likely base at the root node
+ #################################################
+- at njit(numba.void(numba.float32[:,:],
+- numba.uint8[:,:],
+- numba.float32[:],
+- numba.int32,
+- numba.int32[:],
+- numba.uint8[:]),
+- cache=True)
+ def calculate_root_likelihood(Lmat, Cmat, base_frequencies, node_index, child_node_indices, column_base_indices):
+ for end_index in column_base_indices:
+ c = Lmat[child_node_indices,end_index].sum()
+@@ -269,12 +250,6 @@
+
+ # Fill in matrices given known or unknown base in sequence
+ ##########################################################
+- at njit(numba.void(numba.float32[:,:],
+- numba.uint8[:,:],
+- numba.float32[:,:],
+- numba.int32,
+- numba.uint8),
+- cache=True)
+ def process_leaf(Lmat, Cmat, pij, node_index, taxon_base_index):
+ if taxon_base_index < 4:
+ #1a. Let j be the amino acid at y. Set, for each amino acid i: Cy(i)= j. This implies that no matter what is the amino acid in the father of y, j is assigned to node y.
+@@ -287,13 +262,6 @@
+
+ # Count the number of substitutions occurring on a branch
+ #########################################################
+- at njit(numba.void(numba.int32[:],
+- numba.int32[:],
+- numba.int32[:],
+- numba.int32,
+- numba.uint8[:],
+- numba.int32[:]),
+- cache=True)
+ def count_node_snps(node_snps,preordered_nodes,parent_nodes,seed_node,reconstructed_alleles,base_pattern_columns):
+ # Note that preordered node list does not include the root
+ for node_index in preordered_nodes:
+@@ -304,14 +272,6 @@
+
+ # Reconstruct missing data at internal nodes
+ ############################################
+- at njit(numba.void(numba.uint8[:],
+- numba.int32[:],
+- numba.int32[:],
+- numba.int32[:],
+- numba.uint8[:],
+- numba.int32[:,:],
+- numba.uint8[:]),
+- cache=True)
+ def reconstruct_alleles(reconstructed_alleles,
+ postordered_nodes,
+ leaf_nodes,
+@@ -336,12 +296,6 @@
+
+ # Transfer reconstructed alleles into alignment
+ ###############################################
+- at njit(numba.void(numba.typeof(numpy.dtype('i1'))[:,:],
+- numba.uint8[:],
+- numba.typeof(numpy.dtype('i1'))[:],
+- numba.int32[:],
+- numba.int32[:]),
+- cache=True)
+ def fill_out_aln(out_aln,reconstructed_alleles,ordered_bases,ancestral_node_order,base_pattern_columns):
+ for index in numpy.arange(ancestral_node_order.size, dtype=numpy.int32):
+ node_index = ancestral_node_order[index]
+@@ -352,25 +306,6 @@
+
+ # Reconstruct each base pattern
+ ###############################
+- at njit(numba.void(numba.uint8[:],
+- numba.int32[:],
+- numba.float32[:,:],
+- numba.uint8[:,:],
+- numba.typeof(numpy.dtype('i1'))[:,:],
+- numba.typeof(numpy.dtype('i1'))[:],
+- numba.int32[:],
+- numba.int32[:],
+- numba.int32[:],
+- numba.int32[:,:],
+- numba.int32,
+- numba.int32[:],
+- numba.int32[:],
+- numba.float32[:,:],
+- numba.float32[:],
+- numba.int32[:],
+- numba.uint8[:],
+- numba.int32[:]),
+- cache=True)
+ def iterate_over_base_patterns(column,
+ base_pattern_columns,
+ Lmat,
+@@ -481,9 +416,6 @@
+ # Convert integers to bases
+ ###########################
+
+- at njit(numba.void(numba.int8[:],
+- numba.typeof(numpy.dtype('U1'))[:]),
+- cache = True)
+ def int_to_seq(seq,out_seq):
+
+ for i,b in enumerate(seq):
=====================================
debian/patches/series
=====================================
@@ -2,3 +2,5 @@ do_not_handle_python_by_upstream_build_system.patch
gubbins_exe_in_usr_lib.patch
iqtree2.patch
autoupdate_configure.ac.patch
+python3-shebang.patch
+remove-numba-temporarily.patch
=====================================
debian/tests/control
=====================================
@@ -1,5 +1,4 @@
Tests: run-example
Depends: @,
- iqtree,
- python3-numba
+ iqtree
Restrictions: allow-stderr
=====================================
environment.yml
=====================================
@@ -6,7 +6,7 @@ channels:
- r
dependencies:
# python
- - python>=3.8
+ - python>=3.8,<3.11
# installation
- autoconf
- automake
=====================================
python/gubbins/PreProcessFasta.py
=====================================
@@ -1,3 +1,6 @@
+#!/usr/bin/env python
+# encoding: utf-8
+
import sys
import hashlib
from Bio import AlignIO
=====================================
python/gubbins/ValidateFastaAlignment.py
=====================================
@@ -1,3 +1,6 @@
+#!/usr/bin/env python
+# encoding: utf-8
+
import os
import re
import sys
=====================================
python/gubbins/__init__.py
=====================================
@@ -1,4 +1,5 @@
-#! /usr/bin/env python3
+#!/usr/bin/env python
+# encoding: utf-8
"""
Imports into the `gubbins` namespace all fundamental
=====================================
python/gubbins/common.py
=====================================
@@ -1,4 +1,6 @@
+#!/usr/bin/env python
# encoding: utf-8
+#
# Wellcome Trust Sanger Institute
# Copyright (C) 2013 Wellcome Trust Sanger Institute
#
@@ -224,7 +226,7 @@ def parse_and_run(input_args, program_description=""):
printer.print("...done. Run time: {:.2f} s".format(time.time() - start_time))
# Find all SNP sites with Gubbins
- gubbins_command = " ".join([gubbins_exec, input_args.alignment_filename])
+ gubbins_command = f"{gubbins_exec} \"{input_args.alignment_filename}\""
printer.print(["\nRunning Gubbins to detect SNPs...", gubbins_command])
try:
subprocess.check_call(gubbins_command, shell=True)
=====================================
python/gubbins/pyjar.py
=====================================
@@ -1,5 +1,6 @@
-#!/usr/bin/env python3
-
+#!/usr/bin/env python
+# encoding: utf-8
+#
# pyjar written by Simon Harris
# code modified from https://github.com/simonrharris/pyjar
# pyjar is free software, licensed under GPLv3.
=====================================
python/gubbins/run_gubbins.py
=====================================
@@ -1,4 +1,4 @@
-#!/usr/bin/env python3
+#!/usr/bin/env python
# encoding: utf-8
#
# Wellcome Trust Sanger Institute
=====================================
python/gubbins/treebuilders.py
=====================================
@@ -1,4 +1,6 @@
+#!/usr/bin/env python
# encoding: utf-8
+#
# Wellcome Trust Sanger Institute
# Copyright (C) 2013 Wellcome Trust Sanger Institute
#
=====================================
python/gubbins/utils.py
=====================================
@@ -1,4 +1,6 @@
+#!/usr/bin/env python
# encoding: utf-8
+#
# Wellcome Trust Sanger Institute
# Copyright (C) 2013 Wellcome Trust Sanger Institute
#
View it on GitLab: https://salsa.debian.org/med-team/gubbins/-/compare/6b0afe393c0088d2fb1c8f143d587350052564af...84c753717101b71a990a4ee96100543f720a749f
--
This project does not include diff previews in email notifications.
View it on GitLab: https://salsa.debian.org/med-team/gubbins/-/compare/6b0afe393c0088d2fb1c8f143d587350052564af...84c753717101b71a990a4ee96100543f720a749f
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20240522/bff23424/attachment-0001.htm>
More information about the debian-med-commit
mailing list