1 #ifndef LOCARNA_CONFUSION_MATRIX 2 #define LOCARNA_CONFUSION_MATRIX 35 typedef std::pair<size_t,size_t>
bp_t;
51 operator () (
size_t i,
size_t j)
const {
58 bool operator () (
const bp_t &bp)
const {
59 return (*
this)(bp.first,bp.second);
89 operator () (
size_t i,
size_t j)
const {
124 operator () (
size_t i,
size_t j)
const {
126 return lo_<=(j-i) && (up_==0 || (j-i)<=up_);
134 const std::string &sequence_;
157 operator () (
size_t i,
size_t j)
const {
158 return BPFilter::operator ()(i,j) && canonical(sequence_[i],sequence_[j]);
163 canonical(
char x,
char y) {
164 static std::string cpairs=
"AUCGGUUAGCUG";
165 for(
size_t i=0; i<cpairs.length(); i+=2) {
166 if (x==cpairs[i] && y==cpairs[i+1])
return true;
184 operator () (
size_t i,
size_t j)
const {
185 return fa_(i,j) && fb_(i,j);
200 const std::string &pred,
233 tp()
const {
return tp_; }
244 tn()
const {
return tn_; }
255 fp( )
const {
return fp_; }
405 #endif // LOCARNA_CONFUSION_MATRIX std::pair< size_t, size_t > bp_t
Definition: confusion_matrix.hh:35
base pair filter to allow only canonical base pairs
Definition: confusion_matrix.hh:133
double ppv() const
Definition: confusion_matrix.cc:196
~BPMinLoopSizeFilter()
d'tor
Definition: confusion_matrix.hh:81
size_t count_tps(const RnaStructure &pred, const RnaStructure &ref)
Count true positive base pairs.
Definition: confusion_matrix.cc:37
Compare RNA secondary structure by their confusion matrix.
Definition: confusion_matrix.hh:32
BPMinLoopSizeFilter(size_t mls)
constructor
Definition: confusion_matrix.hh:74
ConfusionMatrix(const std::string &ref, const std::string &pred, const bool slide, const bool conflict, const BPFilter &filter=BPMinLoopSizeFilter(3))
Definition: confusion_matrix.cc:162
size_t count_base_pairs(const RnaStructure &s)
Count base pairs in a structure.
Definition: confusion_matrix.cc:114
~SpanRangeBPFilter()
d'tor
Definition: confusion_matrix.hh:116
double sens() const
Definition: confusion_matrix.cc:202
CanonicalBPFilter(const std::string &sequence)
constructor
Definition: confusion_matrix.hh:141
double f1_score() const
Definition: confusion_matrix.cc:214
size_t tn() const
True negatives.
Definition: confusion_matrix.hh:244
Definition: aligner.cc:17
size_t count_potential_base_pairs(size_t length)
Count potential base pairs.
Definition: confusion_matrix.cc:101
size_t count_conflicting_base_pairs(const RnaStructure &s1, const RnaStructure &s2)
Count conflicting base pairs (including common bps)
Definition: confusion_matrix.cc:77
basic class for base pair filters (no filtering)
Definition: confusion_matrix.hh:40
double mcc() const
Definition: confusion_matrix.cc:220
size_t fn() const
Definition: confusion_matrix.hh:266
base pair range filter
Definition: confusion_matrix.hh:98
loop size base pair filter
Definition: confusion_matrix.hh:66
size_t tp() const
True positives.
Definition: confusion_matrix.hh:233
Definition: confusion_matrix.hh:172
An RNA secondary structure.
Definition: rna_structure.hh:26
double spec() const
Definition: confusion_matrix.cc:208
SpanRangeBPFilter(size_t lo, size_t up)
Construct with range.
Definition: confusion_matrix.hh:108
~CanonicalBPFilter()
d'tor
Definition: confusion_matrix.hh:148
size_t count_common_bps(const RnaStructure &s1, const RnaStructure &s2)
Count common base pairs.
Definition: confusion_matrix.cc:10
size_t fp() const
False positives.
Definition: confusion_matrix.hh:255