[med-svn] [Git][med-team/abyss][master] 8 commits: New upstream version

Michael R. Crusoe gitlab at salsa.debian.org
Sat Sep 28 11:06:38 BST 2019



Michael R. Crusoe pushed to branch master at Debian Med / abyss


Commits:
5665d586 by Michael R. Crusoe at 2019-09-28T08:22:24Z
New upstream version

- - - - -
2fd2fcae by Michael R. Crusoe at 2019-09-28T08:22:25Z
New upstream version 2.2.3
- - - - -
40cef023 by Michael R. Crusoe at 2019-09-28T08:22:27Z
Update upstream source from tag 'upstream/2.2.3'

Update to upstream version '2.2.3'
with Debian dir aa97618ff0085c98603f3de5b5cfbcca5423a3a4
- - - - -
37037f50 by Michael R. Crusoe at 2019-09-28T08:33:35Z
Remove strict-alignment patch as per upstream

- - - - -
da98c1f8 by Michael R. Crusoe at 2019-09-28T08:33:49Z
spelling patch has been forwarded to upstream

- - - - -
3e835742 by Michael R. Crusoe at 2019-09-28T08:39:28Z
upstream has fixed the g++9 warnings problem

- - - - -
c3087b6a by Michael R. Crusoe at 2019-09-28T08:39:28Z
try without 32bit patch

- - - - -
a3f928f9 by Michael R. Crusoe at 2019-09-28T10:05:16Z
release 2.2.3-1

- - - - -


19 changed files:

- BloomDBG/bloom-dbg.cc
- ChangeLog
- Common/ContigNode.h
- Graph/ContigGraph.h
- Graph/DirectedGraph.h
- Misc/samtobreak.hs
- README.md
- Unittest/BloomDBG/CountingBloomFilterTest.cpp
- azure-pipelines.yml
- bin/abyss-pe
- configure.ac
- debian/changelog
- debian/patches/series
- debian/patches/spelling
- − debian/patches/strict_alignment.patch
- debian/rules
- doc/ABYSS.1
- doc/abyss-pe.1
- doc/abyss-tofastq.1


Changes:

=====================================
BloomDBG/bloom-dbg.cc
=====================================
@@ -357,11 +357,14 @@ countingBloomAssembly(int argc, char** argv, const BloomDBG::AssemblyParams& par
 		cerr << params;
 
 	/* Initialize a counting Bloom filter:
-	   Divide the requested memory in bytes by the byte-size of each counter to determine the number
-	   of counters, and then round up that count to the next multiple of 64.*/
+	   Divide the requested memory in bytes by 1.125 to account for the memory used
+	   in building the visitedKmer BloomFilter. Then further divide the byte-size
+	   of each counter to determine the number of counters, and then round up that
+	   count to the next multiple of 64.*/
 
+	double countingBloomFilterSize = params.bloomSize / 1.125 / sizeof(BloomCounterType);
 	size_t counters =
-	    BloomDBG::roundUpToMultiple(params.bloomSize / sizeof(BloomCounterType), (size_t)64);
+	    BloomDBG::roundUpToMultiple((size_t) round(countingBloomFilterSize), (size_t)64);
 
 	CountingBloomFilterType bloom(counters, params.numHashes, params.k, params.minCov);
 


=====================================
ChangeLog
=====================================
@@ -1,3 +1,11 @@
+2019-09-20  Johnathan Wong <jowong at bcgsc.ca>
+
+	* Release version 2.2.3
+	* Revert memory consumption of Bloom filters to pre 2.2.0 behaviour
+	ABySS will now share the specified memory among all Bloom filters
+	instead of just the counting Bloom filter.
+	* Fix gcc-9 compilation warnings
+
 2019-08-16  Johnathan Wong <jowong at bcgsc.ca>
 
 	* Release version 2.2.2
@@ -11,7 +19,7 @@
 2019-08-01  Johnathan Wong <jowong at bcgsc.ca>
 
 	* Release version 2.2.0
-	* Construct a counting bloom filter instead of a cascading bloom filter.
+	* Construct a counting Bloom filter instead of a cascading Bloom filter.
 
 	abyss-bloom:
 	* Add 'counting' as valid argument to '-t' option to build a counting


=====================================
Common/ContigNode.h
=====================================
@@ -69,6 +69,11 @@ ContigNode operator^(bool sense) const
 	return ContigNode(m_index ^ sense);
 }
 
+/** Copy constructors */
+ContigNode(ContigNode&&) = default;
+ContigNode& operator=(const ContigNode&) = default;
+ContigNode& operator=(ContigNode&&) = default;
+
 /** Return whether this ContigNode is ambiguous. */
 bool ambiguous() const
 {


=====================================
Graph/ContigGraph.h
=====================================
@@ -15,6 +15,13 @@ using boost::graph_traits;
 template <typename G>
 class ContigGraph : public G {
   public:
+
+	/** Copy constructors */
+	ContigGraph(const ContigGraph&) = default;
+	ContigGraph(ContigGraph&&) = default;
+	ContigGraph& operator=(const ContigGraph&) = default;
+	ContigGraph& operator=(ContigGraph&&) = default;
+
 	typedef G base_type;
 
 	// Graph


=====================================
Graph/DirectedGraph.h
=====================================
@@ -545,8 +545,15 @@ class Edge
 		return ui < m_removed.size() ? m_removed[ui] : false;
 	}
 
+  protected:
+
+	/** Copy constructors */
+	DirectedGraph(const DirectedGraph& d) = default;
+	DirectedGraph(DirectedGraph&&) = default;
+	DirectedGraph& operator=(const DirectedGraph&) = default;
+	DirectedGraph& operator=(DirectedGraph&&) = default;
+
   private:
-	DirectedGraph& operator =(const DirectedGraph& x);
 
 	/** The set of vertices. */
 	Vertices m_vertices;


=====================================
Misc/samtobreak.hs
=====================================
@@ -279,7 +279,7 @@ parseArgs = do
   where
   help = putStr (usageInfo usage options) >> exitSuccess
   tryHelp = "Try 'abyss-samtobreak --help' for more information."
-  version = "abyss-samtobreak (ABySS) 2.2.2\n"
+  version = "abyss-samtobreak (ABySS) 2.2.3\n"
   usage = "Usage: samtobreak [OPTION]... [FILE]...\n\
 \Calculate contig and scaffold contiguity and correctness metrics.\n"
 


=====================================
README.md
=====================================
@@ -330,8 +330,8 @@ verbose logging enabled:
 At the current time, the user must calculate suitable values for `B` and `H` on
 their own, and finding the best value for `kc` may require experimentation
 (optimal values are typically in the range of 2-4). Internally, the Bloom filter
-assembler allocates the entire memory budget (`B`) to a Counting Bloom filter,
-and an additional (`B/8`) memory to another Bloom filter that is used to track
+assembler allocates the entire memory budget (`B * 8/9`) to a Counting Bloom filter,
+and an additional (`B/9`) memory to another Bloom filter that is used to track
 k-mers that have previously been included in contigs. Users are recommended to
 target a Bloom filter false positive rate (FPR) that is less than 5%, as reported
 by the assembly log when using the `v=-v` option (verbose level 1).


=====================================
Unittest/BloomDBG/CountingBloomFilterTest.cpp
=====================================
@@ -19,16 +19,17 @@ TEST(CountingBloomFilter, base) {
   const char *b = "TGGACAGCGTTACCTC";
   const char *c = "TAATAACAGTCCCTAT";
   const char *d = "GATCGTGGCGGGCGAT";
+  const char *e = "TTTTTTTTTTTTTTTT";
 
   RollingHashIterator itA(a, numHashes, k);
   RollingHashIterator itB(b, numHashes, k);
   RollingHashIterator itC(c, numHashes, k);
   RollingHashIterator itD(d, numHashes, k);
-  size_t hash = 0;
+  RollingHashIterator itE(e, numHashes, k);
 
   x.insert(*itA);
   EXPECT_EQ(x.filtered_popcount(), 0U);
-  EXPECT_FALSE(x.contains(&hash));
+  EXPECT_FALSE(x.contains(*itE));
   x.insert(*itA);
   EXPECT_EQ(x.filtered_popcount(), 1U);
   EXPECT_TRUE(x.contains(*itA));


=====================================
azure-pipelines.yml
=====================================
@@ -152,10 +152,30 @@ jobs:
   steps:
   - script: |
       brew update
-      brew install automake boost at 1.70 openmpi google-sparsehash make pandoc ghc
+      brew install automake boost openmpi google-sparsehash make pandoc ghc
     displayName: Install common
   - script: |
       ./autogen.sh
-      ./configure --with-boost=/usr/local/Cellar/boost/1.70.0/include/ --with-mpi=/usr/local/Cellar/open-mpi/4.0.1_2/ CPPFLAGS=-I/usr/local/Cellar/google-sparsehash/2.0.3/include/
+      ./configure --with-boost=/usr/local/opt/boost/include --with-mpi=/usr/local/Cellar/open-mpi/4.0.1_2 CPPFLAGS=-I/usr/local/Cellar/google-sparsehash/2.0.3/include
       make -j12 distcheck
     displayName: Compiling ABySS with default gcc
+
+- job: linux_gcc9
+  pool:
+    vmImage: Ubuntu 16.04
+  steps:
+  - script: |
+      sudo apt-get update -qq
+      sudo apt-get install -qq software-properties-common
+      sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
+      sudo apt-get update -qq
+      sudo apt-get install -qq autoconf automake gcc g++ libboost-dev libgtest-dev libopenmpi-dev libsparsehash-dev make pandoc
+    displayName: Install common
+  - script: sudo apt-get install -qq gcc-9 g++-9
+    displayName: Install gcc-9
+  - script: |
+      ./autogen.sh
+      export DISTCHECK_CONFIGURE_FLAGS="CC=gcc-9 CXX=g++-9"
+      ./configure CC=gcc-9 CXX=g++-9 --with-mpi=/usr/lib/openmpi
+      make -j12 distcheck
+    displayName: Compiling ABySS with gcc-9


=====================================
bin/abyss-pe
=====================================
@@ -398,7 +398,7 @@ help:
 	@echo 'Report bugs to https://github.com/bcgsc/abyss/issues or abyss-users at bcgsc.ca.'
 
 version:
-	@echo "abyss-pe (ABySS) 2.2.2"
+	@echo "abyss-pe (ABySS) 2.2.3"
 	@echo "Written by Shaun Jackman and Anthony Raymond."
 	@echo
 	@echo "Copyright 2012 Canada's Michael Smith Genome Science Centre"


=====================================
configure.ac
=====================================
@@ -1,5 +1,5 @@
 AC_PREREQ(2.62)
-AC_INIT(ABySS, 2.2.2, abyss-users at bcgsc.ca, abyss,
+AC_INIT(ABySS, 2.2.3, abyss-users at bcgsc.ca, abyss,
 		http://www.bcgsc.ca/platform/bioinfo/software/abyss)
 
 AC_CONFIG_MACRO_DIR([m4])


=====================================
debian/changelog
=====================================
@@ -1,3 +1,16 @@
+abyss (2.2.3-1) unstable; urgency=medium
+
+  * New upstream version
+  * Remove strict-alignment patch as per upstream:
+    "Adding an additionally memcpy would slow down these inner-loop functions.
+     Architectures without hardware support for unaligned memory access are
+     currently unsupported by ABySS."
+    https://github.com/bcgsc/abyss/pull/279#issuecomment-468079889
+  * Turn off the 32-bit patch for now. Local testing with i386 shows that it
+    may not be needed as suggested by upstream.
+
+ -- Michael R. Crusoe <michael.crusoe at gmail.com>  Sat, 28 Sep 2019 12:04:53 +0200
+
 abyss (2.2.2-1) unstable; urgency=medium
 
   * New upstream version


=====================================
debian/patches/series
=====================================
@@ -1,5 +1,4 @@
 abyss-pe.patch
 # gtest.patch
-abyss-32-bit.patch
-strict_alignment.patch
+#abyss-32-bit.patch
 spelling


=====================================
debian/patches/spelling
=====================================
@@ -1,5 +1,6 @@
 From: Michael R. Crusoe <michael.crusoe at gmail.com>
 Subject: typo fixes, courtesy lintian
+Forwarded: https://github.com/bcgsc/abyss/pull/301
 --- abyss.orig/Sealer/README.md
 +++ abyss/Sealer/README.md
 @@ -24,7 +24,7 @@


=====================================
debian/patches/strict_alignment.patch deleted
=====================================
@@ -1,30 +0,0 @@
-Author: David Matthew Mattli <dmm at mattli.us>
-Last-Change: Fri, 2 Feb 2018 15:28:32 +0000 (by James Clarke <jrtc27 at debian.org>)
-Bug-Debian: https://bugs.debian.org/889147
-Forwarded: https://github.com/bcgsc/abyss/pull/279
-Description: Fix strict alignment violation on sparc64
-
---- a/Common/Kmer.cpp
-+++ b/Common/Kmer.cpp
-@@ -188,7 +188,8 @@ static Seq load(const uint8_t *src)
- 	Seq seq;
- #if MAX_KMER > 96
- # if WORDS_BIGENDIAN
--	const size_t *s = reinterpret_cast<const size_t*>(src);
-+	size_t s[Kmer::NUM_BYTES / sizeof(size_t)];
-+	memcpy(s, src, Kmer::NUM_BYTES);
- 	size_t *d = reinterpret_cast<size_t*>(&seq + 1);
- 	copy(s, s + Kmer::NUM_BYTES/sizeof(size_t), reverse_iterator<size_t*>(d));
- # else
-@@ -235,9 +236,10 @@ static void storeReverse(uint8_t *dest,
- #if MAX_KMER > 96
- # if WORDS_BIGENDIAN
- 	const size_t *s = reinterpret_cast<const size_t*>(&seq);
--	size_t *d = reinterpret_cast<size_t*>(dest);
-+	size_t d[Kmer::NUM_BYTES / sizeof(size_t)];
- 	copy(s, s + Kmer::NUM_BYTES/sizeof(size_t),
- 			reverse_iterator<size_t*>(d +  Kmer::NUM_BYTES/sizeof(size_t)));
-+	memcpy(dest, d, Kmer::NUM_BYTES);
- 	reverse(dest, dest + Kmer::NUM_BYTES);
- # else
- 	memcpy(dest, &seq, Kmer::NUM_BYTES);


=====================================
debian/rules
=====================================
@@ -1,6 +1,6 @@
 #!/usr/bin/make -f
 
-export DEB_CXXFLAGS_MAINT_APPEND = -DGTEST_USE_OWN_TR1_TUPLE=0 -Wno-error=deprecated-copy -Wno-error=array-bounds
+export DEB_CXXFLAGS_MAINT_APPEND = -DGTEST_USE_OWN_TR1_TUPLE=0
 
 export DEB_BUILD_MAINT_OPTIONS = hardening=+all
 


=====================================
doc/ABYSS.1
=====================================
@@ -1,4 +1,4 @@
-.TH ABYSS "1" "2015-May" "ABYSS (ABySS) 2.2.2" "User Commands"
+.TH ABYSS "1" "2015-May" "ABYSS (ABySS) 2.2.3" "User Commands"
 .SH NAME
 ABYSS \- assemble short reads into contigs
 .SH SYNOPSIS


=====================================
doc/abyss-pe.1
=====================================
@@ -1,4 +1,4 @@
-.TH abyss-pe "1" "2015-May" "abyss-pe (ABySS) 2.2.2" "User Commands"
+.TH abyss-pe "1" "2015-May" "abyss-pe (ABySS) 2.2.3" "User Commands"
 .SH NAME
 abyss-pe - assemble reads into contigs
 .SH SYNOPSIS


=====================================
doc/abyss-tofastq.1
=====================================
@@ -1,4 +1,4 @@
-.TH abyss-tofastq "1" "2015-May" "ABySS 2.2.2" "User Commands"
+.TH abyss-tofastq "1" "2015-May" "ABySS 2.2.3" "User Commands"
 .SH NAME
 abyss-tofastq \- convert various file formats to FASTQ format
 .br



View it on GitLab: https://salsa.debian.org/med-team/abyss/compare/c7f5402a4a10b145c64d73e3e8f15c65247dc62a...a3f928f99577bb66c920920def6528fb74faf572

-- 
View it on GitLab: https://salsa.debian.org/med-team/abyss/compare/c7f5402a4a10b145c64d73e3e8f15c65247dc62a...a3f928f99577bb66c920920def6528fb74faf572
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/20190928/5effaa3c/attachment-0001.html>


More information about the debian-med-commit mailing list