Skip to content

Commit

Permalink
Release 2.2.3
Browse files Browse the repository at this point in the history
  • Loading branch information
jwcodee committed Sep 27, 2019
2 parents 86b159b + c793d04 commit fc70a39
Show file tree
Hide file tree
Showing 14 changed files with 68 additions and 17 deletions.
9 changes: 6 additions & 3 deletions BloomDBG/bloom-dbg.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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);

Expand Down
10 changes: 9 additions & 1 deletion ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
2019-09-20 Johnathan Wong <jowong@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@bcgsc.ca>

* Release version 2.2.2
Expand All @@ -11,7 +19,7 @@
2019-08-01 Johnathan Wong <jowong@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
Expand Down
5 changes: 5 additions & 0 deletions Common/ContigNode.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
{
Expand Down
7 changes: 7 additions & 0 deletions Graph/ContigGraph.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
9 changes: 8 additions & 1 deletion Graph/DirectedGraph.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion Misc/samtobreak.hs
Original file line number Diff line number Diff line change
Expand Up @@ -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"

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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).
Expand Down
5 changes: 3 additions & 2 deletions Unittest/BloomDBG/CountingBloomFilterTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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));
Expand Down
24 changes: 22 additions & 2 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -152,10 +152,30 @@ jobs:
steps:
- script: |
brew update
brew install automake boost@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
2 changes: 1 addition & 1 deletion bin/abyss-pe
Original file line number Diff line number Diff line change
Expand Up @@ -398,7 +398,7 @@ help:
@echo 'Report bugs to https://github.com/bcgsc/abyss/issues or abyss-users@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"
Expand Down
2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
AC_PREREQ(2.62)
AC_INIT(ABySS, 2.2.2, abyss-users@bcgsc.ca, abyss,
AC_INIT(ABySS, 2.2.3, abyss-users@bcgsc.ca, abyss,
http://www.bcgsc.ca/platform/bioinfo/software/abyss)

AC_CONFIG_MACRO_DIR([m4])
Expand Down
2 changes: 1 addition & 1 deletion doc/ABYSS.1
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 1 addition & 1 deletion doc/abyss-pe.1
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 1 addition & 1 deletion doc/abyss-tofastq.1
Original file line number Diff line number Diff line change
@@ -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
Expand Down

0 comments on commit fc70a39

Please sign in to comment.