BitMagic-C++
|
Example: SNP search in human genome. More...
#include <iostream>
#include <sstream>
#include <chrono>
#include <regex>
#include <time.h>
#include <stdio.h>
#include <vector>
#include <map>
#include <utility>
#include "bm.h"
#include "bmalgo.h"
#include "bmserial.h"
#include "bmrandom.h"
#include "bmsparsevec.h"
#include "bmsparsevec_compr.h"
#include "bmsparsevec_algo.h"
#include "bmsparsevec_serial.h"
#include "bmalgo_similarity.h"
#include "bmsparsevec_util.h"
#include "bmdbg.h"
#include "bmtimer.h"
#include "bmundef.h"
Go to the source code of this file.
Typedefs | |
typedef bm::sparse_vector< unsigned, bm::bvector<> > | sparse_vector_u32 |
typedef bm::rsc_sparse_vector< unsigned, sparse_vector_u32 > | rsc_sparse_vector_u32 |
typedef std::vector< std::pair< unsigned, unsigned > > | vector_pairs |
Functions | |
static void | show_help () |
static int | parse_args (int argc, char *argv[]) |
static int | load_snp_report (const std::string &fname, sparse_vector_u32 &sv) |
static void | generate_random_subset (const sparse_vector_u32 &sv, std::vector< unsigned > &vect, unsigned count) |
static void | build_vector_pairs (const sparse_vector_u32 &sv, vector_pairs &vp) |
static bool | search_vector_pairs (const vector_pairs &vp, unsigned rs_id, unsigned &pos) |
static void | run_benchmark (const sparse_vector_u32 &sv, const rsc_sparse_vector_u32 &csv) |
int | main (int argc, char *argv[]) |
Variables | |
std::string | sv_out_name |
std::string | rsc_out_name |
std::string | sv_in_name |
std::string | rsc_in_name |
std::string | isnp_name |
bool | is_diag = false |
bool | is_timing = false |
bool | is_bench = false |
bm::chrono_taker::duration_map_type | timing_map |
Example: SNP search in human genome.
Brief description of used method:
This example should be useful for construction of compressed columnar tables with parallel search capabilities.
Definition in file xsample03.cpp.
typedef bm::rsc_sparse_vector<unsigned, sparse_vector_u32 > rsc_sparse_vector_u32 |
Definition at line 205 of file xsample03.cpp.
typedef bm::sparse_vector<unsigned, bm::bvector<> > sparse_vector_u32 |
Definition at line 204 of file xsample03.cpp.
typedef std::vector<std::pair<unsigned, unsigned> > vector_pairs |
Definition at line 206 of file xsample03.cpp.
|
static |
Definition at line 312 of file xsample03.cpp.
References bm::sparse_vector< Val, BV >::begin(), bm::sparse_vector< unsigned, bm::bvector<> >::const_iterator, and bm::sparse_vector< Val, BV >::end().
Referenced by run_benchmark().
|
static |
Definition at line 292 of file xsample03.cpp.
References bm::bvector< Alloc >::first(), bm::base_sparse_vector< Val, BV, MAX_SIZE >::get_null_bvector(), bm::sparse_vector< Val, BV >::push_back(), bm::random_subset< BV >::sample(), and bm::bvector< Alloc >::iterator_base::valid().
Referenced by run_benchmark().
|
static |
Definition at line 218 of file xsample03.cpp.
References bm::bvector< Alloc >::init(), bm::sparse_vector< Val, BV >::set(), bm::bvector< Alloc >::set_bit_no_check(), bm::bvector< Alloc >::test(), and timing_map.
Referenced by main().
int main | ( | int | argc, |
char * | argv[] | ||
) |
Definition at line 460 of file xsample03.cpp.
References bm::chrono_taker::ct_ops_per_sec, bm::rsc_sparse_vector< Val, SV >::empty(), bm::sparse_vector< Val, BV >::empty(), bm::sparse_vector< Val, BV >::equal(), is_bench, is_diag, is_timing, isnp_name, bm::rsc_sparse_vector< Val, SV >::load_from(), load_snp_report(), bm::rsc_sparse_vector< Val, SV >::load_to(), bm::rsc_sparse_vector< Val, SV >::optimize(), bm::sparse_vector< Val, BV >::optimize(), parse_args(), bm::chrono_taker::print_duration_map(), rsc_in_name, rsc_out_name, run_benchmark(), show_help(), sv_in_name, sv_out_name, timing_map, and bm::use_null.
|
static |
Definition at line 110 of file xsample03.cpp.
References is_bench, is_diag, is_timing, isnp_name, rsc_in_name, rsc_out_name, show_help(), sv_in_name, and sv_out_name.
Referenced by main().
|
static |
Definition at line 349 of file xsample03.cpp.
References build_vector_pairs(), bm::bvector< Alloc >::compare(), bm::rsc_sparse_vector< Val, SV >::empty(), bm::sparse_vector< Val, BV >::empty(), bm::sparse_vector_scanner< SV >::find_eq(), generate_random_subset(), bm::bvector< Alloc >::init(), search_vector_pairs(), bm::bvector< Alloc >::set_bit_no_check(), and timing_map.
Referenced by main().
|
static |
Definition at line 330 of file xsample03.cpp.
Referenced by run_benchmark().
|
static |
Definition at line 81 of file xsample03.cpp.
Referenced by main(), and parse_args().
bool is_bench = false |
Definition at line 107 of file xsample03.cpp.
Referenced by main(), and parse_args().
bool is_diag = false |
Definition at line 105 of file xsample03.cpp.
Referenced by main(), and parse_args().
bool is_timing = false |
Definition at line 106 of file xsample03.cpp.
Referenced by main(), and parse_args().
std::string isnp_name |
Definition at line 104 of file xsample03.cpp.
Referenced by main(), and parse_args().
std::string rsc_in_name |
Definition at line 103 of file xsample03.cpp.
Referenced by main(), and parse_args().
std::string rsc_out_name |
Definition at line 101 of file xsample03.cpp.
Referenced by main(), and parse_args().
std::string sv_in_name |
Definition at line 102 of file xsample03.cpp.
Referenced by main(), and parse_args().
std::string sv_out_name |
Definition at line 100 of file xsample03.cpp.
Referenced by main(), and parse_args().
bm::chrono_taker::duration_map_type timing_map |
Definition at line 210 of file xsample03.cpp.
Referenced by load_snp_report(), main(), and run_benchmark().