LocARNA-2.0.0
ext_rna_data.hh
1 #ifndef LOCARNA_EXT_RNA_DATA_HH
2 #define LOCARNA_EXT_RNA_DATA_HH
3 
4 #ifdef HAVE_CONFIG_H
5 #include <config.h>
6 #endif
7 
8 #include <memory>
9 #include <iosfwd>
10 #include "aux.hh"
11 #include "sparse_matrix.hh"
12 #include "rna_data.hh"
13 
14 namespace LocARNA {
15 
16  class RnaEnsemble;
17  class ExtRnaDataImpl;
18  class PFoldParams;
19  class RnaStructure;
20 
37  class ExtRnaData : public RnaData {
38  friend class ExtRnaDataImpl;
39  public:
52  ExtRnaData(const RnaEnsemble &rna_ensemble,
53  double p_bpcut,
54  double p_bpilcut,
55  double p_uilcut,
56  double max_bps_length_ratio,
57  double max_uil_length_ratio,
58  double max_bpil_length_ratio,
59  const PFoldParams &pfoldparams);
60 
73  ExtRnaData(const std::string &filename,
74  double p_bpcut,
75  double p_bpilcut,
76  double p_uilcut,
77  double max_bps_length_ratio,
78  double max_uil_length_ratio,
79  double max_bpil_length_ratio,
80  const PFoldParams &pfoldparams);
84  ~ExtRnaData();
85 
90  double
92 
103  double
105 
114  double
115  arc_external_prob(pos_type i, pos_type j) const;
116 
121  double
123 
133  double
135 
143  double
145 
153  std::ostream &
154  write_size_info(std::ostream &out) const;
155 
170  std::ostream &
171  write_pp(std::ostream &out,
172  double p_outbpcut = 0,
173  double p_outbpilcut = 0,
174  double p_outuilcut = 0) const;
175 
176  protected:
184  virtual std::istream &
185  read_pp(std::istream &in);
186 
196  virtual void
197  init_from_fixed_structure(const RnaStructure &structure,
198  const PFoldParams &pfoldparams);
199 
211  virtual void
212  init_from_rna_ensemble(const RnaEnsemble &rna_ensemble,
213  const PFoldParams &pfoldparams);
214 
223  virtual bool
224  inloopprobs_ok() const;
225 
226  private:
228  std::unique_ptr<ExtRnaDataImpl> ext_pimpl_;
229 
233  ExtRnaData(const ExtRnaData &);
234 
238  ExtRnaData &
239  operator=(const ExtRnaData &);
240 
241 
242  }; // end class ExtRnaData
243 }
244 
245 #endif // LOCARNA_EXT_RNA_DATA_HH
Implementation of ExtRnaData.
Definition: ext_rna_data_impl.hh:24
represent sparsified data of RNA ensemble extended by in loop probabilities
Definition: ext_rna_data.hh:37
virtual std::istream & read_pp(std::istream &in)
Definition: rna_data.cc:1016
double unpaired_in_loop_cutoff_prob() const
Get unpaired base in loop cutoff probability.
Definition: rna_data.cc:762
double arc_external_prob(pos_type i, pos_type j) const
Get base pair in loop probability.
Definition: rna_data.cc:755
virtual void init_from_fixed_structure(const RnaStructure &structure, const PFoldParams &pfoldparams)
initialize from fixed structure
Definition: rna_data.cc:411
std::ostream & write_size_info(std::ostream &out) const
Write object size information.
Definition: rna_data.cc:1450
double unpaired_in_loop_prob(pos_type k, pos_type p, pos_type q) const
Get base pair in loop probability.
Definition: rna_data.cc:767
~ExtRnaData()
destructor
Definition: rna_data.cc:193
double unpaired_external_prob(pos_type k) const
Get base pair in loop probability.
Definition: rna_data.cc:776
std::ostream & write_pp(std::ostream &out, double p_outbpcut=0, double p_outbpilcut=0, double p_outuilcut=0) const
Definition: rna_data.cc:1254
virtual bool inloopprobs_ok() const
check in loop probabilities
Definition: rna_data.cc:666
ExtRnaData(const RnaEnsemble &rna_ensemble, double p_bpcut, double p_bpilcut, double p_uilcut, double max_bps_length_ratio, double max_uil_length_ratio, double max_bpil_length_ratio, const PFoldParams &pfoldparams)
Construct from RnaEnsemble with cutoff probability.
Definition: rna_data.cc:172
double arc_in_loop_cutoff_prob() const
Get base pair in loop cutoff probability.
Definition: rna_data.cc:740
virtual void init_from_rna_ensemble(const RnaEnsemble &rna_ensemble, const PFoldParams &pfoldparams)
initialize from rna ensemble
Definition: rna_data.cc:502
double arc_in_loop_prob(pos_type i, pos_type j, pos_type p, pos_type q) const
Get base pair in loop probability.
Definition: rna_data.cc:745
Parameters for partition folding.
Definition: pfold_params.hh:32
represent sparsified data of RNA ensemble
Definition: rna_data.hh:44
Represents the raw structure ensemble data for an RNA.
Definition: rna_ensemble.hh:41
An RNA secondary structure.
Definition: rna_structure.hh:32
Definition: aligner.cc:15
size_type pos_type
type of a sequence position
Definition: aux.hh:126