LocARNA-2.0.0
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 
10 #include "ext_rna_data.hh"
11 #include "rna_data_impl.hh"
12 #include "sequence.hh"
13 #include "sparse_vector.hh"
14 
15 namespace LocARNA {
16 
17  // class Sequence;
18  // class RnaEnsemble;
19  // class PFoldParams;
20 
25  public:
26  // ----------------------------------------
27  // TYPES
28 
31 
34 
37 
40 
41  // ----------------------------------------
42  // ATTRIBUTES
43 
45 
47  double p_bpilcut_;
48 
50  double p_uilcut_;
51 
54 
57 
61 
62  // ----------------------------------------
63  // CONSTRUCTORS
64 
75  ExtRnaDataImpl(ExtRnaData *self, double p_bpilcut, double p_uilcut);
76 
77  // ----------------------------------------
78  // METHODS
79 
80  private:
85  void
86  init_fixed_unpaired_in_loop(size_t i,
87  size_t j,
88  const RnaStructure &structure);
93  void
94  init_fixed_basepairs_in_loop(size_t i,
95  size_t j,
96  const RnaStructure &structure);
97 
98  public:
108  void
109  init_from_fixed_structure(const RnaStructure &structure);
110 
120  void
121  init_from_ext_rna_ensemble(const RnaEnsemble &rna_ensemble);
122 
133  std::istream &
134  read_pp_in_loop_probabilities(std::istream &in);
135 
142  void
143  read_pp_in_loop_probabilities_kwline(const std::string &line);
144 
151  void
152  read_pp_in_loop_probabilities_line(const std::string &line);
153 
164  std::ostream &
165  write_pp_in_loop_probabilities(std::ostream &out,
166  double p_outbpcut,
167  double p_outbpilcut,
168  double p_outuilcut) const;
169 
181  std::ostream &
182  write_pp_in_loop_probability_line(std::ostream &out,
183  size_t i,
184  size_t j,
185  double p_bpcut,
186  double p_ucut) const;
196  std::ostream &
197  write_pp_basepair_in_loop_probabilities(std::ostream &out,
198  const arc_prob_matrix_t &probs,
199  double p_cut) const;
200 
210  std::ostream &
211  write_pp_unpaired_in_loop_probabilities(std::ostream &out,
212  const arc_prob_vector_t &probs,
213  double p_cut) const;
214 
220  void
221  drop_worst_bps(size_t keep);
222 
229  void
230  drop_worst_uil(size_t keep);
231 
237  void
238  drop_worst_bpil(size_t keep);
239 
247  void
248  drop_worst_bpil_precise(double ratio);
249 
250  }; // end ExtRnaDataImpl
251 
252 } // end namespace LocARNA
253 
254 #endif // LOCARNA_EXT_RNA_DATA_IMPL_HH
Implementation of ExtRnaData.
Definition: ext_rna_data_impl.hh:24
ExtRnaData * self_
Definition: ext_rna_data_impl.hh:44
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:1143
SparseMatrix< arc_prob_matrix_t > arc_prob_matrix_matrix_t
matrix of arc probability matrices
Definition: ext_rna_data_impl.hh:39
RnaDataImpl::arc_prob_matrix_t arc_prob_matrix_t
matrix of arc probabilities
Definition: ext_rna_data_impl.hh:33
void drop_worst_uil(size_t keep)
Drop unpaired bases in loops with lowest probability.
Definition: rna_data.cc:1638
arc_prob_matrix_matrix_t arc_in_loop_probs_
in loop probabilities of base pairs
Definition: ext_rna_data_impl.hh:53
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:1170
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:1386
double p_bpilcut_
cutoff probabilitiy for base pair in loop
Definition: ext_rna_data_impl.hh:47
arc_prob_vector_matrix_t unpaired_in_loop_probs_
in loop probabilities of unpaired bases
Definition: ext_rna_data_impl.hh:56
ExtRnaDataImpl(ExtRnaData *self, double p_bpilcut, double p_uilcut)
Construct.
Definition: rna_data.cc:196
void init_from_ext_rna_ensemble(const RnaEnsemble &rna_ensemble)
initialize from rna ensemble
Definition: rna_data.cc:550
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:1414
void init_from_fixed_structure(const RnaStructure &structure)
initialize in loop probabilities from fixed structure
Definition: rna_data.cc:465
std::istream & read_pp_in_loop_probabilities(std::istream &in)
read in loop probability section of pp-format
Definition: rna_data.cc:1126
SparseVector< double > arc_prob_vector_t
vector of arc probabilities
Definition: ext_rna_data_impl.hh:30
void drop_worst_bpil_precise(double ratio)
Drop base pairs in loops with lowest probability based on loop length.
Definition: rna_data.cc:1700
void drop_worst_bps(size_t keep)
Drop in loop bases and base pairs without base pairs.
Definition: rna_data.cc:1603
SparseMatrix< arc_prob_vector_t > arc_prob_vector_matrix_t
matrix of arc probability vectors
Definition: ext_rna_data_impl.hh:36
bool has_in_loop_probs_
Definition: ext_rna_data_impl.hh:60
double p_uilcut_
cutoff probabilitiy for unpaired base in loop
Definition: ext_rna_data_impl.hh:50
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:1428
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:1353
void drop_worst_bpil(size_t keep)
Drop base pairs in loops with lowest probability.
Definition: rna_data.cc:1669
represent sparsified data of RNA ensemble extended by in loop probabilities
Definition: ext_rna_data.hh:37
Represents the raw structure ensemble data for an RNA.
Definition: rna_ensemble.hh:41
An RNA secondary structure.
Definition: rna_structure.hh:32
Represents a sparse vector.
Definition: sparse_vector.hh:24
Definition: aligner.cc:15