Skip to content
Sequence Bloom Tree, supporting determined/how split filters
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
reproduce made --cull= and advertized option Nov 6, 2018
scripts
tutorial () Feb 25, 2019
.gitignore
LICENSE
Makefile
Makefile_full
README.md
bit_utilities.cc
bit_utilities.h
bit_vector.cc
bit_vector.h
bloom_filter.cc
bloom_filter.h
bloom_filter_file.h
bloom_tree.cc
bloom_tree.h
cmd_bf_distance.cc
cmd_bf_distance.h
cmd_bf_operate.cc
cmd_bf_operate.h
cmd_bit_stats.cc
cmd_bit_stats.h
cmd_build_sbt.cc
cmd_build_sbt.h
cmd_bv_operate.cc
cmd_bv_operate.h
cmd_cluster.cc
cmd_cluster.h
cmd_combine_bf.cc
cmd_combine_bf.h
cmd_compress_bf.cc
cmd_compress_bf.h
cmd_dump_bf.cc
cmd_dump_bf.h
cmd_dump_bv.cc
cmd_dump_bv.h
cmd_load_test.cc
cmd_load_test.h
cmd_make_bf.cc
cmd_make_bf.h
cmd_make_bv.cc
cmd_make_bv.h
cmd_node_stats.cc
cmd_node_stats.h
cmd_query.cc
cmd_query.h
cmd_query_bf.cc
cmd_query_bf.h
cmd_random_bv.cc
cmd_random_bv.h
cmd_sabuhash_test.cc
cmd_sabuhash_test.h
cmd_validate_rrr.cc
cmd_validate_rrr.h
cmd_validate_tree.cc
cmd_validate_tree.h
cmd_version.cc
cmd_version.h
commands.h
file_manager.cc
file_manager.h
hash.h
howdesbt.cc
jelly_kmers.h
jellyhash.h
prng.cc
prng.h
query.cc
query.h
sabuhash.h
support.cc
support.h
utilities.cc
utilities.h

README.md

HowDeSBT

Sequence Bloom Tree, supporting determined/how split filters

Dependencies

Installation

To install subutan from the source:

1a. Download the latest version of subutan using Github

     git clone https://github.com/medvedevgroup/HowDeSBT  

1b. Modify the Makefile

If you have installed the dependencies somewhere other than ${HOME}, you need to modify the Makefile. Specifically, in both the CXXFLAGS and LDFLAGS definitions $${HOME} should be changed to your install path.

1c. Jellyfish install workaround

(There are other ways to accomplish this, see the note at the end of this step.)

Jellyfish installation requires an extra step for its include directory. After you have installed Jellyfish, do

    cd ${HOME}/include
    ls | grep jellyfish

You should see something like

    jellyfish-2.2.6

where 2.2.6 is the version of Jellyfish you've installed. Then make a symbolic link named 'jellyfish' that points to the includes directory for the version you've installed:

    cd ${HOME}/include
    ln -s jellyfish-2.2.6/jellyfish jellyfish

Note: the symbolic link is a workaround for the way that Jellyfish installs its files. That install expects the user to have the program pkg-config installed and an environment variable PKG_CONFIG_PATH defined. The Makefile here woud then use pkg-config to get the path to the include files. While that paradigm is apparently widespread it isn't universal. The symbolic link workaround seems less of a burden than requiring that users install another package and set up an environment variable. See https://github.com/gmarcais/Jellyfish/issues/139 for more details.

2. Compile:

    cd HowDeSBT  
    make  

3. Install:

    cd HowDeSBT  
    cp howdesbt ${HOME}/bin

Another alternative is to make sure the path to the HowDeSBT directory is in your PATH environment variable.

Quick Start

A usage tutorial can be found at https://github.com/medvedevgroup/HowDeSBT/tree/master/tutorial

The command howdesbt ? will show a list of subcommands with brief descriptions. As of this writing, that will look like this:

    $ howdesbt ?
    makebf--  convert a sequence file to a bloom filter
    cluster-- determine a tree topology by clustering bloom filters
    build--   build a sequence bloom tree from a topology file and leaves
    query--   query a sequence bloom tree
    version-- report this program's version

The command howdesbt ?<subcommand> will give a more detailed description of a subcommand. For example, howdesbt ?makebf gives details for how to convert a sequence file to a bloom filter.

You can’t perform that action at this time.