IntaRNA 3.4.1
RNA-RNA interaction prediction | C++ API
Loading...
Searching...
No Matches
AccessibilityFromStream.h
Go to the documentation of this file.
1
2#ifndef INTARNA_ACCESSIBILITYFROMSTREAM_H_
3#define INTARNA_ACCESSIBILITYFROMSTREAM_H_
4
6
7#include <iostream>
8
9#include "IntaRNA/Matrix.h"
10
11namespace IntaRNA {
12
18{
19public:
20
26
27public:
28
43 const RnaSequence& sequence
44 , const size_t maxLength
46 , std::istream & inStream
47 , const InStreamType inStreamType
48 , const Z_type RT
49 );
50
51
56
57
69 virtual
70 E_type
71 getED( const size_t from, const size_t to ) const;
72
81 virtual
82 size_t
83 getMaxLength() const;
84
85
92 void writeBinary( std::ostream & out ) const override;
93
94protected:
95
98
101
103 void parseBinary( std::istream & inStream );
104
107
115 void
116 parsePu_RNAplfold_text( std::istream & inStream, const Z_type RT );
117
118
124 void
125 parseED_RNAplfold_text( std::istream & inStream );
126
136 void
137 parseRNAplfold_text( std::istream & inStream
138 , const Z_type RT
139 , const bool parseProbs );
140
141
142};
143
145
146inline
147void
148AccessibilityFromStream::writeBinary( std::ostream & out ) const
149{
151}
152
153inline
154E_type
156getED( const size_t from, const size_t to ) const
157{
158 // input range check
159 checkIndices(from,to);
160
161 if ((to-from+1) <= getMaxLength()+1) { // "getMaxLength()+1" to allow for dangling-end probability computation
162 // check for constrained end positions
163 if (!getAccConstraint().isAccessible(from) || !getAccConstraint().isAccessible(to)) {
164 // end position blocked --> omit accessibility
165 return ED_UPPER_BOUND;
166 }
167 // return according ED value from the precomputed matrix
168 return edValues (from,to);
169 } else {
170 // region length exceeds maximally allowed length -> no value
171 return ED_UPPER_BOUND;
172 }
173}
174
176
177inline
178size_t
184
186
187inline
188void
190parsePu_RNAplfold_text( std::istream & inStream, const Z_type RT )
191{
192 parseRNAplfold_text( inStream, RT, true );
193}
194
196
197inline
198void
200parseED_RNAplfold_text( std::istream & inStream )
201{
202 parseRNAplfold_text( inStream, 1.0, false );
203}
204
206
207} // namespace
208
209#endif /* ACCESSIBILITYFROMSTREAM_H_ */
Definition AccessibilityConstraint.h:26
Definition AccessibilityFromStream.h:18
virtual size_t getMaxLength() const
Definition AccessibilityFromStream.h:180
void parseRNAplfold_text(std::istream &inStream, const Z_type RT, const bool parseProbs)
void parsePu_RNAplfold_text(std::istream &inStream, const Z_type RT)
Definition AccessibilityFromStream.h:190
InStreamType
Definition AccessibilityFromStream.h:21
@ Pu_RNAplfold_Text
Pu values in RNAplfold text format.
Definition AccessibilityFromStream.h:22
@ ED_RNAplfold_Text
ED values in RNAplfold text Pu format.
Definition AccessibilityFromStream.h:23
@ IntaRNA_Binary
native Boost binary ED archive, already decompressed
Definition AccessibilityFromStream.h:24
void parseBinary(std::istream &inStream)
UpperBandedMatrix< E_type > EdMatrix
type for the ED value matrix (upper triangular matrix banded by maxLength)
Definition AccessibilityFromStream.h:97
AccessibilityFromStream(const RnaSequence &sequence, const size_t maxLength, const AccessibilityConstraint *const accConstraint, std::istream &inStream, const InStreamType inStreamType, const Z_type RT)
virtual E_type getED(const size_t from, const size_t to) const
Definition AccessibilityFromStream.h:156
size_t availMaxLength
maximal available window size
Definition AccessibilityFromStream.h:106
void writeBinary(std::ostream &out) const override
Definition AccessibilityFromStream.h:148
EdMatrix edValues
the ED values for the given sequence
Definition AccessibilityFromStream.h:100
void parseED_RNAplfold_text(std::istream &inStream)
Definition AccessibilityFromStream.h:200
Definition Accessibility.h:25
static const E_type ED_UPPER_BOUND
upper bound for all ED return values
Definition Accessibility.h:30
AccessibilityConstraint accConstraint
accessibility constraint
Definition Accessibility.h:185
virtual const AccessibilityConstraint & getAccConstraint() const
Definition Accessibility.h:279
virtual void writeBinary(std::ostream &out) const
virtual void checkIndices(const size_t from, const size_t to) const
Definition Accessibility.h:245
const size_t maxLength
the maximal length of an unpaired regions to be considered
Definition Accessibility.h:182
Definition RnaSequence.h:29
Definition Matrix.h:433
Definition Accessibility.h:13
int E_type
type for energy values (energy + accessibility [ED]) (internally)
Definition general.h:78
double Z_type
type for probabilities, RT and Boltzmann values
Definition general.h:88