10 #include <robin_hood.h>
12 #include <seqan3/alphabet/nucleotide/dna4.hpp>
13 #include <seqan3/io/sequence_file/input.hpp>
14 #include <seqan3/search/dream_index/interleaved_bloom_filter.hpp>
15 #include <seqan3/search/kmer_index/shape.hpp>
16 #include <seqan3/search/views/minimiser_hash.hpp>
18 inline constexpr
static uint64_t adjust_seed(uint8_t
const kmer_size, uint64_t
const seed = 0x8F3F73B5CF1C9ADEULL) noexcept
20 return seed >> (64u - 2u * kmer_size);
34 seqan3::seed
s{0x8F3F73B5CF1C9ADEULL};
47 template<
class Archive>
48 void save(Archive & archive)
const
60 template<
class Archive>
61 void load(Archive & archive)
80 std::ifstream is{ipath, std::ios::binary};
81 cereal::BinaryInputArchive iarchive{is};
91 std::ofstream os{opath, std::ios::binary};
92 cereal::BinaryOutputArchive oarchive{os};
97 struct my_traits : seqan3::sequence_file_input_default_traits_dna
109 template <
class IBFType>
112 std::ifstream is{ipath, std::ios::binary};
113 cereal::BinaryInputArchive iarchive{is};
121 template <
class IBFType>
123 std::filesystem::path opath)
125 std::ofstream os{opath, std::ios::binary};
126 cereal::BinaryOutputArchive oarchive{os};
127 oarchive(seqan3::interleaved_bloom_filter(
ibf));
std::vector< uint16_t > ibf(std::vector< std::filesystem::path > const &sequence_files, estimate_ibf_arguments &ibf_args, minimiser_arguments &minimiser_args, std::vector< double > &fpr, std::vector< uint8_t > &cutoffs, std::filesystem::path const expression_by_genome_file="", size_t num_hash=1)
Creates IBFs.
Definition: ibf.cpp:672
uint64_t shape
Definition: main.cpp:17
void load_ibf(IBFType &ibf, std::filesystem::path ipath)
Function, loading compressed and uncompressed ibfs.
Definition: shared.h:110
void store_ibf(IBFType const &ibf, std::filesystem::path opath)
Function, which stored compressed and uncompressed ibfs.
Definition: shared.h:122
arguments used for all tools
Definition: shared.h:25
uint8_t threads
Definition: shared.h:27
std::filesystem::path path_out
Definition: shared.h:26
arguments used for estimate, ibf, ibfmin
Definition: shared.h:41
void load(Archive &archive)
Definition: shared.h:61
std::vector< uint16_t > expression_thresholds
Definition: shared.h:43
uint8_t number_expression_thresholds
Definition: shared.h:44
bool compressed
Definition: shared.h:42
bool samplewise
Definition: shared.h:45
void save(Archive &archive) const
Definition: shared.h:48
arguments used for estimate, ibf, minimiser
Definition: shared.h:32
uint8_t k
Definition: shared.h:33
seqan3::shape shape
Definition: shared.h:35
seqan3::window_size w_size
Definition: shared.h:36
seqan3::seed s
Definition: shared.h:34
Use dna4 instead of default dna5.
Definition: shared.h:98
seqan3::dna4 sequence_alphabet
Definition: shared.h:99