vdj_pipe
pipeline for processing DNA sequence data
value_map_access_paired.hpp
Go to the documentation of this file.
1 
7 #ifndef VALUE_MAP_ACCESS_PAIRED_HPP_
8 #define VALUE_MAP_ACCESS_PAIRED_HPP_
9 #include "vdj_pipe/value_map.hpp"
11 
12 namespace vdj_pipe{
13 
16 class Vm_access_paired : public Value_map {
17 public:
20 
21  struct Err : public base_exception {};
22 
24  : Value_map(), ids_(*this)
25  {}
26 
27  std::string const& description_fwd() const {
28  return value<std::string>(ids_.description_fwd());
29  }
30 
31  void description_fwd(std::string const& descr) {
32  (*this)[ids_.description_fwd()] = descr;
33  }
34 
35  std::string const& description_rev() const {
36  return value<std::string>(ids_.description_rev());
37  }
38 
39  void description_rev(std::string const& descr) {
40  (*this)[ids_.description_rev()] = descr;
41  }
42 
43  seq_type const& sequence_fwd() const {
44  return value<std::string>(ids_.sequence_fwd());
45  }
46 
47  std::string sequence_fwd(const bool trim) const {
48  return sequence(ids_.sequence_fwd(), ids_.interval_fwd(), trim, false);
49  }
50 
51  void sequence_fwd(seq_type const& seq) {
52  (*this)[ids_.sequence_fwd()] = seq;
53  }
54 
55  seq_type const& sequence_rev() const {
56  return value<std::string>(ids_.sequence_rev());
57  }
58 
59  std::string sequence_rev(const bool trim, const bool reverse) const {
60  return sequence(ids_.sequence_rev(), ids_.interval_rev(), trim, reverse);
61  }
62 
63  void sequence_rev(seq_type const& seq) {
64  (*this)[ids_.sequence_rev()] = seq;
65  }
66 
67  qual_type const& quality_fwd() const {
68  return value<qual_type>(ids_.quality_fwd());
69  }
70 
71  qual_type quality_fwd(const bool trim) const {
72  return quality(ids_.quality_fwd(), ids_.interval_fwd(), trim, false);
73  }
74 
75  void quality_fwd(qual_type const& qual) {
76  (*this)[ids_.quality_fwd()] = qual;
77  }
78 
79  qual_type const& quality_rev() const {
80  return value<qual_type>(ids_.quality_rev());
81  }
82 
83  qual_type quality_rev(const bool trim, const bool reverse) const {
84  return quality(ids_.quality_rev(), ids_.interval_rev(), trim, reverse);
85  }
86 
87  void quality_rev(qual_type const& qual) {
88  (*this)[ids_.quality_rev()] = qual;
89  }
90 
92  return value<sequence_interval>(ids_.interval_fwd());
93  }
94 
95  void interval_fwd(sequence_interval const& si) {
96  (*this)[ids_.interval_fwd()] = si;
97  }
98 
100  return value<sequence_interval>(ids_.interval_rev());
101  }
102 
103  void interval_rev(sequence_interval const& si) {
104  (*this)[ids_.interval_rev()] = si;
105  }
106 
107  std::string const& sequence_path_fwd() const {
108  return value<std::string>(ids_.sequence_path_fwd());
109  }
110 
111  void sequence_path_fwd(std::string const& s) {
112  (*this)[ids_.sequence_path_fwd()] = s;
113  }
114 
115  std::string const& sequence_path_rev() const {
116  return value<std::string>(ids_.sequence_path_rev());
117  }
118 
119  void sequence_path_rev(std::string const& s) {
120  (*this)[ids_.sequence_path_rev()] = s;
121  }
122 
123  std::string const& quality_path_fwd() const {
124  return value<std::string>(ids_.quality_path_fwd());
125  }
126 
127  void quality_path_fwd(std::string const& s) {
128  (*this)[ids_.quality_path_fwd()] = s;
129  }
130 
131  std::string const& quality_path_rev() const {
132  return value<std::string>(ids_.quality_path_rev());
133  }
134 
135  void quality_path_rev(std::string const& s) {
136  (*this)[ids_.quality_path_rev()] = s;
137  }
138 
139 protected:
141 };
142 
146 public:
148  : Vm_access_paired(), ids_(*this)
149  {}
150 
151  seq_type const& emid_fwd() const {
152  return value<std::string>(ids_.emid_fwd());
153  }
154 
155  void emid_fwd(seq_type const& seq) {
156  (*this)[ids_.emid_fwd()] = seq;
157  }
158 
159  seq_type const& emid_rev() const {
160  return value<std::string>(ids_.emid_rev());
161  }
162 
163  void emid_rev(seq_type const& seq) {
164  (*this)[ids_.emid_rev()] = seq;
165  }
166 
167  std::string const& emid_path_fwd() const {
168  return value<std::string>(ids_.emid_path_fwd());
169  }
170 
171  std::string const& emid_path_rev() const {
172  return value<std::string>(ids_.emid_path_rev());
173  }
174 
175  void emid_path_fwd(std::string const& s) {
176  (*this)[ids_.emid_path_fwd()] = s;
177  }
178 
179  void emid_path_rev(std::string const& s) {
180  (*this)[ids_.emid_path_rev()] = s;
181  }
182 
183 private:
185 };
186 
187 }//namespace vdj_pipe
188 #endif /* VALUE_MAP_ACCESS_PAIRED_HPP_ */
Vm_access_paired_emid()
Definition: value_map_access_paired.hpp:147
Val_id sequence_rev() const
Definition: value_names.hpp:95
void sequence_rev(seq_type const &seq)
Definition: value_map_access_paired.hpp:63
Val_id description_fwd() const
Definition: value_names.hpp:92
Provides access to standard values for paired read pipeline.
Definition: value_names.hpp:70
void sequence_path_fwd(std::string const &s)
Definition: value_map_access_paired.hpp:111
void quality_path_fwd(std::string const &s)
Definition: value_map_access_paired.hpp:127
Val_id quality_fwd() const
Definition: value_names.hpp:96
Provides access to standard eMID values.
Definition: value_names.hpp:111
Vm_access_paired()
Definition: value_map_access_paired.hpp:23
void sequence_fwd(seq_type const &seq)
Definition: value_map_access_paired.hpp:51
Definition: sequence_record.hpp:35
Value_ids_paired ids_
Definition: value_map_access_paired.hpp:140
Val_id interval_fwd() const
Definition: value_names.hpp:98
sequence_interval interval_fwd() const
Definition: value_map_access_paired.hpp:91
std::string const & emid_path_fwd() const
Definition: value_map_access_paired.hpp:167
void quality_path_rev(std::string const &s)
Definition: value_map_access_paired.hpp:135
seq_type const & emid_rev() const
Definition: value_map_access_paired.hpp:159
Val_id sequence_path_fwd() const
Definition: value_names.hpp:100
Seq_record::sequence seq_type
Definition: value_map_access_paired.hpp:18
void emid_path_rev(std::string const &s)
Definition: value_map_access_paired.hpp:179
std::string sequence_rev(const bool trim, const bool reverse) const
Definition: value_map_access_paired.hpp:59
void interval_fwd(sequence_interval const &si)
Definition: value_map_access_paired.hpp:95
std::string const & emid_path_rev() const
Definition: value_map_access_paired.hpp:171
seq_type const & emid_fwd() const
Definition: value_map_access_paired.hpp:151
Access to value map for paired read pipeline and processing steps.
Definition: value_map_access_paired.hpp:16
qual_type quality_rev(const bool trim, const bool reverse) const
Definition: value_map_access_paired.hpp:83
void quality_rev(qual_type const &qual)
Definition: value_map_access_paired.hpp:87
Val_id quality_rev() const
Definition: value_names.hpp:97
Access to value map for paired eMID read pipeline and processing steps.
Definition: value_map_access_paired.hpp:145
Val_id quality_path_fwd() const
Definition: value_names.hpp:102
sequence_interval interval_rev() const
Definition: value_map_access_paired.hpp:99
Val_id interval_rev() const
Definition: value_names.hpp:99
Main namespace of vdj_pipe library.
Definition: keywords_variable.hpp:11
Val_id sequence_fwd() const
Definition: value_names.hpp:94
seq_type const & sequence_rev() const
Definition: value_map_access_paired.hpp:55
std::string sequence_fwd(const bool trim) const
Definition: value_map_access_paired.hpp:47
std::string const & description_rev() const
Definition: value_map_access_paired.hpp:35
Qual_record::quality qual
Definition: match_element_run.cpp:26
Value_ids_emid ids_
Definition: value_map_access_paired.hpp:184
Val_id description_rev() const
Definition: value_names.hpp:93
void emid_fwd(seq_type const &seq)
Definition: value_map_access_paired.hpp:155
seq_type const & sequence_fwd() const
Definition: value_map_access_paired.hpp:43
Qual_record::quality quality(const Val_id qual_id, const Val_id trim_id, const bool trimmed, const bool reverse_compl) const
Definition: value_map.hpp:207
std::string const & sequence_path_fwd() const
Definition: value_map_access_paired.hpp:107
void description_fwd(std::string const &descr)
Definition: value_map_access_paired.hpp:31
std::string const & sequence_path_rev() const
Definition: value_map_access_paired.hpp:115
void emid_path_fwd(std::string const &s)
Definition: value_map_access_paired.hpp:175
Val_id quality_path_rev() const
Definition: value_names.hpp:103
Qual_record::quality qual_type
Definition: value_map_access_paired.hpp:19
Definition: value_map_access_paired.hpp:21
std::string const & quality_path_rev() const
Definition: value_map_access_paired.hpp:131
void interval_rev(sequence_interval const &si)
Definition: value_map_access_paired.hpp:103
std::string const & quality_path_fwd() const
Definition: value_map_access_paired.hpp:123
void quality_fwd(qual_type const &qual)
Definition: value_map_access_paired.hpp:75
Val_id sequence_path_rev() const
Definition: value_names.hpp:101
qual_type const & quality_fwd() const
Definition: value_map_access_paired.hpp:67
std::string sequence
Definition: sequence_record.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
void sequence_path_rev(std::string const &s)
Definition: value_map_access_paired.hpp:119
std::string const & description_fwd() const
Definition: value_map_access_paired.hpp:27
void emid_rev(seq_type const &seq)
Definition: value_map_access_paired.hpp:163
Store values mapped against name strings and value IDs.
Definition: value_map.hpp:23
void description_rev(std::string const &descr)
Definition: value_map_access_paired.hpp:39
qual_type const & quality_rev() const
Definition: value_map_access_paired.hpp:79
std::string sequence(const Val_id seq_id, const Val_id trim_id, const bool trimmed, const bool reverse_compl) const
Definition: value_map.hpp:191
qual_type quality_fwd(const bool trim) const
Definition: value_map_access_paired.hpp:71