[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#781314: marked as done (unblock: fasttree/2.1.7-2)



Your message dated Sat, 28 Mar 2015 08:35:02 +0100
with message-id <551659A6.1040406@thykier.net>
and subject line Re: Bug#781314: unblock: fasttree/2.1.7-2
has caused the Debian Bug report #781314,
regarding unblock: fasttree/2.1.7-2
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
781314: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=781314
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package fasttree

The patch fixes bug #781259 which rendered the package unusable.

Debdiff is attached.

unblock fasttree/2.1.7-2

-- System Information:
Debian Release: 7.8
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-4-amd64 (SMP w/1 CPU core)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
diff -Nru fasttree-2.1.7/debian/changelog fasttree-2.1.7/debian/changelog
--- fasttree-2.1.7/debian/changelog	2013-05-06 20:40:37.000000000 +0200
+++ fasttree-2.1.7/debian/changelog	2015-03-27 11:53:35.000000000 +0100
@@ -1,3 +1,14 @@
+fasttree (2.1.7-2) unstable; urgency=low
+
+  * Team upload
+  * Modify/add patches to use double precision and increase branch
+    length precision. This is absolutely crucial to prevent flawed datas
+    analysis as described e.g. in
+    http://darlinglab.org/blog/2015/03/23/not-so-fast-fasttree.html
+    Closes: #781259
+
+ -- Roland Fehrenbacher <rf@q-leap.de>  Tue, 24 Mar 2015 18:37:23 +0000
+
 fasttree (2.1.7-1) unstable; urgency=low
 
   * New upstream version
diff -Nru fasttree-2.1.7/debian/patches/increase-branch-length-precision.patch fasttree-2.1.7/debian/patches/increase-branch-length-precision.patch
--- fasttree-2.1.7/debian/patches/increase-branch-length-precision.patch	1970-01-01 01:00:00.000000000 +0100
+++ fasttree-2.1.7/debian/patches/increase-branch-length-precision.patch	2015-03-26 17:22:50.000000000 +0100
@@ -0,0 +1,65 @@
+From 66d0f73b44065272ddefc71870156d35aad4df64 Mon Sep 17 00:00:00 2001
+From: Roland Fehrenbacher <rf@q-leap.de>
+Date: Tue, 24 Mar 2015 18:21:03 +0000
+Subject: [PATCH] Use double precision and increase branch length precision
+
+This is absolutely crucial to prevent flawed data analysis as
+described e.g. in
+http://darlinglab.org/blog/2015/03/23/not-so-fast-fasttree.html
+---
+ fasttree.c | 19 ++++++++++++++-----
+ 1 file changed, 14 insertions(+), 5 deletions(-)
+
+diff --git a/fasttree.c b/fasttree.c
+index 12862e2..a8426ab 100644
+--- a/fasttree.c
++++ b/fasttree.c
+@@ -1,4 +1,10 @@
+ /*
++ * 2014/12/11 - Modifications to raise the precision of branch length
++ *              estimation. This should accompany setting USE_DOUBLE.
++ *              Search tolerances have been decreased to 1e-9 from 
++ *              their original 1e-4.
++ *
++ * 
+  * FastTree -- inferring approximately-maximum-likelihood trees for large
+  * multiple sequence alignments.
+  *
+@@ -852,10 +858,13 @@ const double Log2 = 0.693147180559945;
+    were increased to prevent numerical problems in rare cases.
+    If compiled with -DUSE_DOUBLE then these minimums could be decreased.
+ */
+-const double MLMinBranchLengthTolerance = 1.0e-4; /* absolute tolerance for optimizing branch lengths */
++const double MLMinBranchLengthTolerance = 1.0e-9; /* absolute tolerance for optimizing branch lengths */
+ const double MLFTolBranchLength = 0.001; /* fractional tolerance for optimizing branch lengths */
+-const double MLMinBranchLength = 5.0e-4;
+-const double MLMinRelBranchLength = 2.5e-4; /* minimum of rate * length */
++const double MLMinBranchLength = 5.0e-9;
++const double MLMinRelBranchLength = 2.5e-9; /* minimum of rate * length */
++
++const double fPostTotalTolerance = 1.0e-20; /* mzd 2015/01/06, added as original assertion is violated when 
++	                                           MLMMinBranchLengthTolerance is decreased to 1e-9. */
+ 
+ int mlAccuracy = 1;		/* Rounds of optimization of branch lengths; 1 means do 2nd round only if close */
+ double closeLogLkLimit = 5.0;	/* If partial optimization of an NNI looks like it would decrease the log likelihood
+@@ -4962,7 +4971,7 @@ profile_t *PosteriorProfile(profile_t *p1, profile_t *p2,
+       double fPostTot = 0;
+       for (j = 0; j < 4; j++)
+ 	fPostTot += fPost[j];
+-      assert(fPostTot > 1e-10);
++      assert(fPostTot > fPostTotalTolerance);
+       double fPostInv = 1.0/fPostTot;
+ #if 0 /* SSE3 is slower */
+       vector_multiply_by(fPost, fPostInv, 4);
+@@ -5025,7 +5034,7 @@ profile_t *PosteriorProfile(profile_t *p1, profile_t *p2,
+ 	fPost[j] = value >= 0 ? value : 0;
+       }
+       double fPostTot = vector_sum(fPost, 20);
+-      assert(fPostTot > 1e-10);
++      assert(fPostTot > fPostTotalTolerance);
+       double fPostInv = 1.0/fPostTot;
+       vector_multiply_by(/*IN/OUT*/fPost, fPostInv, 20);
+       int ch = -1;		/* the dominant character, if any */
+-- 
+2.1.4
+
diff -Nru fasttree-2.1.7/debian/patches/Makefile.patch fasttree-2.1.7/debian/patches/Makefile.patch
--- fasttree-2.1.7/debian/patches/Makefile.patch	2012-06-15 12:00:58.000000000 +0200
+++ fasttree-2.1.7/debian/patches/Makefile.patch	2015-03-26 17:22:50.000000000 +0100
@@ -1,18 +1,34 @@
-Description: As the original source is just a c-file, the Makefile
- needs to be created.
-Index: fasttree-2.1.0.c/Makefile
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ fasttree-2.1.0.c/Makefile	2011-03-02 19:07:11.000000000 +0100
-@@ -0,0 +1,11 @@
+From 183c0d979cae6199e89ad11df1956e7f8dce13b0 Mon Sep 17 00:00:00 2001
+From: Roland Fehrenbacher <rf@q-leap.de>
+Date: Tue, 24 Mar 2015 18:25:21 +0000
+Subject: [PATCH] Create a Makefile
+
+Description:
+As the original source is just a c-file, a Makefile needs to be
+created. Also use double precision to prevent analysis flaws.
+---
+ Makefile | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+ create mode 100644 Makefile
+
+diff --git a/Makefile b/Makefile
+new file mode 100644
+index 0000000..599e62b
+--- /dev/null
++++ b/Makefile
+@@ -0,0 +1,12 @@
++ADD_CPPFLAGS = -DUSE_DOUBLE
 +
 +all: fasttree fasttreeMP
 +
 +fasttree:	fasttree.c
-+	$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $< -lm
++	$(CC) $(CFLAGS) $(CPPFLAGS) $(ADD_CPPFLAGS) $(LDFLAGS) -o $@ $< -lm
 +
 +fasttreeMP:	fasttree.c
-+	$(CC) -DOPENMP -fopenmp $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $< -lm
++	$(CC) -DOPENMP -fopenmp $(CFLAGS) $(CPPFLAGS) $(ADD_CPPFLAGS) $(LDFLAGS) -o $@ $< -lm
 +
 +distclean clean:
 +	rm -f fasttree
+-- 
+2.1.4
+
diff -Nru fasttree-2.1.7/debian/patches/series fasttree-2.1.7/debian/patches/series
--- fasttree-2.1.7/debian/patches/series	2012-04-02 10:15:17.000000000 +0200
+++ fasttree-2.1.7/debian/patches/series	2015-03-26 17:22:50.000000000 +0100
@@ -1 +1,2 @@
 Makefile.patch
+increase-branch-length-precision.patch

--- End Message ---
--- Begin Message ---
On 2015-03-27 13:52, Andreas Tille wrote:
> Package: release.debian.org
> Severity: normal
> User: release.debian.org@packages.debian.org
> Usertags: unblock
> 
> Please unblock package fasttree
> 
> The patch fixes bug #781259 which rendered the package unusable.
> 
> Debdiff is attached.
> 
> unblock fasttree/2.1.7-2
> 
> [...]

Unblocked, thanks.

~Niels

--- End Message ---

Reply to: