7 #ifndef ME_AMBIGUOUS_HPP_ 8 #define ME_AMBIGUOUS_HPP_ 10 #include "boost/foreach.hpp" 11 #include "boost/utility/string_ref.hpp" 35 std::string
const& match_value_name,
36 std::string
const& score_value_name,
40 const bool ignore_dups,
41 const bool require_best,
42 const bool track_mismatches
54 min_score_(track_mismatches ? - min_score : min_score),
57 if( sv.empty() ) BOOST_THROW_EXCEPTION(
67 if( ms.first.empty() ) {
87 std::size_t best_pos = 0;
91 std::size_t
n = si1.lower(), max = si1.upper() -
sm_.
min_len() + 1;
95 const sequence s = seq.substr(
n);
107 res.assign(best_pos, best_pos +
sm_.
seq(m.
id1()).size());
std::string const & name(const Mid_id id) const
Definition: sequence_map_full.hpp:67
Definition: sequence_map_full.hpp:23
Seq_map_full sm_
Definition: me_ambiguous.hpp:119
bool length_defined() const
Definition: me_relative_interval.hpp:42
Val_id name_val_id_
Definition: me_ambiguous.hpp:117
Definition: best_match_pair.hpp:16
Definition: sequence_record.hpp:35
std::size_t min_len() const
Definition: sequence_map_full.hpp:69
scoring_matrix_t const & scoring_matrix()
Definition: nucleotide_index.hpp:307
Relative_position const & position() const
Definition: me_relative_interval.hpp:43
Qual_record::quality quality
Definition: me_ambiguous.hpp:31
Definition: find_shared.hpp:22
Relative_interval ri_
Definition: me_ambiguous.hpp:120
void finish()
Definition: me_ambiguous.hpp:113
bool find_closest(const Seq s, match_type &m, scoring_matrix_t const &sm) const
Definition: sequence_map_full.hpp:77
Main namespace of vdj_pipe library.
Definition: keywords_variable.hpp:11
Qual_record::quality qual
Definition: match_element_run.cpp:26
bool require_best_
Definition: me_ambiguous.hpp:123
sequence_interval sequence_interval_invalid()
Definition: sequence_interval.hpp:44
seq_type seq(const Mid_id id) const
Definition: sequence_map_full.hpp:65
Value_map vm_
Definition: me_ambiguous.hpp:116
Mid_id insert(std::string name, std::string const &seq)
Definition: sequence_map_full.hpp:94
const std::size_t n
Definition: vector_set_test.cpp:26
Definition: me_ambiguous.hpp:29
Val_id score_val_id_
Definition: me_ambiguous.hpp:118
bool is_acceptable(const score_type min_score, const bool require_best) const
Definition: best_match_pair.hpp:35
id_type const & id1() const
Definition: best_match_pair.hpp:29
boost::numeric::interval< int, boost::numeric::interval_lib::policies< boost::numeric::interval_lib::rounded_math< int >, detail::Interval_checking_policy< int > > > sequence_interval
Definition: sequence_interval.hpp:40
Definition: exception.hpp:23
int min_score_
Definition: me_ambiguous.hpp:122
boost::error_info< struct errinfo_message_, std::string > msg_t
Definition: exception.hpp:24
boost::string_ref sequence
Definition: me_ambiguous.hpp:30
bool is_valid(vdj_pipe::sequence_interval const &si)
Definition: sequence_interval.hpp:62
score_type score1() const
Definition: best_match_pair.hpp:32
sequence_interval operator()(const sequence seq, quality const &qual, sequence_interval const &si)
Definition: me_ambiguous.hpp:75
Find best match between DNA sequence interval and a set of sequences without gaps that may include am...
Definition: me_ambiguous.hpp:27
std::pair< std::string, std::string > match_seq
Definition: sequence_map_types.hpp:14
Match_element_ambiguous(Value_map const &vm, std::string const &match_value_name, std::string const &score_value_name, Relative_interval const &ri, detail::name_seq_vector const &sv, const int min_score, const bool ignore_dups, const bool require_best, const bool track_mismatches)
Definition: me_ambiguous.hpp:33
Store values mapped against name strings and value IDs.
Definition: value_map.hpp:23
scoring_matrix_t const * scoring_matrix_
Definition: me_ambiguous.hpp:121
const sequence_interval si1(0, 18)
std::vector< match_seq > name_seq_vector
Definition: sequence_map_types.hpp:15
Definition: me_relative_interval.hpp:15
bool has_score() const
Definition: best_match_pair.hpp:31