LocARNA-1.8.11
ext_rna_data_impl.hh
1 #ifndef LOCARNA_EXT_RNA_DATA_IMPL_HH
2 #define LOCARNA_EXT_RNA_DATA_IMPL_HH
3 
4 #ifdef HAVE_CONFIG_H
5 # include <config.h>
6 #endif
7 
8 #include <iosfwd>
9 #include "ext_rna_data.hh"
10 #include "sequence.hh"
11 #include "sparse_vector.hh"
12 
13 namespace LocARNA {
14 
15  // class Sequence;
16  // class RnaEnsemble;
17  // class PFoldParams;
18 
23  public:
24  // ----------------------------------------
25  // TYPES
26 
29 
32 
35 
38 
39 
40  // ----------------------------------------
41  // ATTRIBUTES
42 
44 
46  double p_bpilcut_;
47 
49  double p_uilcut_;
50 
52  arc_prob_matrix_matrix_t arc_in_loop_probs_;
53 
55  arc_prob_vector_matrix_t unpaired_in_loop_probs_;
56 
60 
61  // ----------------------------------------
62  // CONSTRUCTORS
63 
64 
75  double p_bpilcut,
76  double p_uilcut);
77 
78  // ----------------------------------------
79  // METHODS
80 
81  private:
82  void
83  init_fixed_unpaired_in_loop(size_t i,
84  size_t j,
85  const RnaStructure &structure);
86  void
87  init_fixed_basepairs_in_loop(size_t i,
88  size_t j,
89  const RnaStructure &structure);
90  public:
91 
92 
101  void
103 
113  void
114  init_from_ext_rna_ensemble(const RnaEnsemble &rna_ensemble);
115 
126  std::istream &
127  read_pp_in_loop_probabilities(std::istream &in);
128 
129 
136  void
137  read_pp_in_loop_probabilities_kwline(const std::string &line);
138 
145  void
146  read_pp_in_loop_probabilities_line(const std::string &line);
147 
158  std::ostream &
159  write_pp_in_loop_probabilities(std::ostream &out,
160  double p_outbpcut,
161  double p_outbpilcut,
162  double p_outuilcut
163  ) const;
164 
176  std::ostream &
177  write_pp_in_loop_probability_line(std::ostream &out,
178  size_t i, size_t j,
179  double p_bpcut,
180  double p_ucut) const;
190  std::ostream &
191  write_pp_basepair_in_loop_probabilities(std::ostream &out,
192  const arc_prob_matrix_t &probs,
193  double p_cut) const;
194 
204  std::ostream &
205  write_pp_unpaired_in_loop_probabilities(std::ostream &out,
206  const arc_prob_vector_t &probs,
207  double p_cut) const;
208 
214  void
215  drop_worst_bps(size_t keep);
216 
222  void
223  drop_worst_uil(size_t keep);
224 
230  void
231  drop_worst_bpil(size_t keep);
232 
233 
234 
241  void
242  drop_worst_bpil_precise(double ratio);
243 
244  }; // end ExtRnaDataImpl
245 
246 
247 } //end namespace LocARNA
248 
249 
250 #endif // LOCARNA_EXT_RNA_DATA_IMPL_HH
void drop_worst_bpil_precise(double ratio)
Drop base pairs in loops with lowest probability based on loop length.
Definition: rna_data.cc:1724
void read_pp_in_loop_probabilities_line(const std::string &line)
read probability line in loop probability section of pp-format
Definition: rna_data.cc:1190
SparseVector< double > arc_prob_vector_t
vector of arc probabilities
Definition: ext_rna_data_impl.hh:28
represent sparsified data of RNA ensemble extended by in loop probabilities
Definition: ext_rna_data.hh:34
void init_from_ext_rna_ensemble(const RnaEnsemble &rna_ensemble)
initialize from rna ensemble
Definition: rna_data.cc:585
std::ostream & write_pp_basepair_in_loop_probabilities(std::ostream &out, const arc_prob_matrix_t &probs, double p_cut) const
Write in loop base pair probabilities for a specific base pair.
Definition: rna_data.cc:1439
std::ostream & write_pp_in_loop_probability_line(std::ostream &out, size_t i, size_t j, double p_bpcut, double p_ucut) const
Write a line of in loop probabilities for one base pair.
Definition: rna_data.cc:1414
Definition: aligner.cc:17
Implementation of ExtRnaData.
Definition: ext_rna_data_impl.hh:22
void drop_worst_bps(size_t keep)
Drop in loop bases and base pairs without base pairs.
Definition: rna_data.cc:1612
double p_uilcut_
cutoff probabilitiy for unpaired base in loop
Definition: ext_rna_data_impl.hh:49
std::ostream & write_pp_unpaired_in_loop_probabilities(std::ostream &out, const arc_prob_vector_t &probs, double p_cut) const
Write in loop unpaired probabilities for a specific base pair.
Definition: rna_data.cc:1453
void read_pp_in_loop_probabilities_kwline(const std::string &line)
read keyword line in loop probability section of pp-format
Definition: rna_data.cc:1165
void init_from_fixed_structure(const SequenceAnnotation &structure)
initialize in loop probabilities from fixed structure
Definition: rna_data.cc:483
void drop_worst_uil(size_t keep)
Drop unpaired bases in loops with lowest probability.
Definition: rna_data.cc:1653
bool has_in_loop_probs_
Definition: ext_rna_data_impl.hh:59
Represents a sparse vector.
Definition: sparse_vector.hh:25
ExtRnaData * self_
Definition: ext_rna_data_impl.hh:43
An RNA secondary structure.
Definition: rna_structure.hh:26
SparseMatrix< arc_prob_matrix_t > arc_prob_matrix_matrix_t
matrix of arc probability matrices
Definition: ext_rna_data_impl.hh:37
void drop_worst_bpil(size_t keep)
Drop base pairs in loops with lowest probability.
Definition: rna_data.cc:1688
Represents the raw structure ensemble data for an RNA.
Definition: rna_ensemble.hh:40
SparseMatrix< arc_prob_vector_t > arc_prob_vector_matrix_t
matrix of arc probability vectors
Definition: ext_rna_data_impl.hh:34
std::ostream & write_pp_in_loop_probabilities(std::ostream &out, double p_outbpcut, double p_outbpilcut, double p_outuilcut) const
Write in loop probability section of pp 2.0.
Definition: rna_data.cc:1376
ExtRnaDataImpl(ExtRnaData *self, double p_bpilcut, double p_uilcut)
Construct.
Definition: rna_data.cc:182
double p_bpilcut_
cutoff probabilitiy for base pair in loop
Definition: ext_rna_data_impl.hh:46
Annotation of a sequence.
Definition: sequence_annotation.hh:24
arc_prob_matrix_matrix_t arc_in_loop_probs_
in loop probabilities of base pairs
Definition: ext_rna_data_impl.hh:52
std::istream & read_pp_in_loop_probabilities(std::istream &in)
read in loop probability section of pp-format
Definition: rna_data.cc:1148
RnaDataImpl::arc_prob_matrix_t arc_prob_matrix_t
matrix of arc probabilities
Definition: ext_rna_data_impl.hh:31
arc_prob_vector_matrix_t unpaired_in_loop_probs_
in loop probabilities of unpaired bases
Definition: ext_rna_data_impl.hh:55
Represents a sparse 2D matrix.
Definition: sparse_matrix.hh:27