7 #ifndef GDST_SEARCH_HPP_ 8 #define GDST_SEARCH_HPP_ 11 #include "boost/algorithm/string/predicate.hpp" 12 #include "boost/algorithm/string/classification.hpp" 13 #include "boost/assert.hpp" 14 #include "boost/foreach.hpp" 27 MinLength
const& min_len
29 if( ss.empty() )
return;
30 const unsigned shortest = ss[ss.
by_size().front()].size();
31 std::vector<Seq_id> sidv;
32 for(
unsigned len = ss[ss.
by_size().back()].size(); len >= shortest; --len ) {
33 BOOST_FOREACH(
const Seq_id sid, ss.
by_size(len)) sidv.push_back(sid);
34 BOOST_FOREACH(
const Seq_id sid, sidv) {
35 std::string
const& seq = ss[sid].sequence();
39 if( cs.
seq_.empty() ) {
42 ss.remove_subsequence(sid, cs.
seq_);
void remove_subsequences(Seq_store &ss, gdst::Gdst &st, MinLength const &min_len)
identify unique sequences in sequence store, insert them into suffix tree, and remove non-unique ones...
Definition: gdst_search.hpp:24
Common subsequence.
Definition: common_subsequence.hpp:18
size_range by_size() const
Definition: sequence_store.hpp:103
detail::Vector_set< super_seq > seq_
Definition: common_subsequence.hpp:27
Definition: nucleotide_index.hpp:330
Main namespace of vdj_pipe library.
Definition: sequence_file.hpp:14
Common_subseq find_longest(const seq_type seq, std::size_t min_len=0) const
Generalized DNA suffix tree.
Definition: gdst.hpp:66
Store sequence and related information.
Definition: sequence_store.hpp:30