/usr/include/libMems-1.6/libMems/LCB.h is in libmems-1.6-dev 1.6.0+4725-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | #ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#ifndef __LCB_h__
#define __LCB_h__
#include <vector>
#include <libGenome/gnDefs.h>
namespace mems {
/**
* This class is used to track relationships between LCBs during the LCB determination process.
*/
class LCB{
public:
LCB() : lcb_id(0), weight(0), to_be_deleted(false) {};
std::vector< int64 > left_end; /**< The left end position of the LCB in each sequence */
std::vector< int64 > right_end; /**< The right end position of the LCB in each sequence */
std::vector< uint > left_adjacency; /**< 'Pointers' (actually IDs) to the LCBs on the left in each sequence */
std::vector< uint > right_adjacency; /**< 'Pointers' (actually IDs) to the LCBs on the right in each sequence */
int lcb_id; /**< A numerical ID that can be assigned to this LCB */
double weight; /**< The weight (or coverage) of this LCB */
bool to_be_deleted; /**< set to true if this LCB is about to be deleted, but the deletion hasn't yet been processed */
};
/**
* Compares LCBs.
* Used by LCB construction algorithm
*/
class LCBLeftComparator {
public:
LCBLeftComparator( uint seq ) : m_seq(seq){};
bool operator()(const LCB& a, const LCB& b) const{
int64 a_start = a.left_end[ m_seq ], b_start = b.left_end[ m_seq ];
if( a_start == NO_MATCH || b_start == NO_MATCH ){
if( b_start != NO_MATCH )
return true;
return false;
}
if(a_start < 0)
a_start = -a_start;
if(b_start < 0)
b_start = -b_start;
int64 diff = a_start - b_start;
return diff < 0;
}
protected:
uint m_seq;
private:
LCBLeftComparator();
};
class LCBIDComparator {
public:
bool operator()(const LCB& a, const LCB& b) const
{
return a.lcb_id < b.lcb_id;
}
};
} // namespace mems
#endif // __LCB_h__
|