forked from Kingsford-Group/rnaseqtools
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgenome1.h
50 lines (40 loc) · 1.19 KB
/
genome1.h
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
#ifndef __GENOME1_H__
#define __GENOME1_H__
#include "genome.h"
using namespace std;
typedef pair<PI32, set<int> > PPIS;
typedef map<PI32, set<int> > MPIS;
typedef pair<int, int> PII;
typedef map<int, int> MII;
class genome1
{
public:
genome1();
public:
vector<transcript> transcripts;
private:
MPIS intron_index;
public:
int build(const string &file);
int clear();
int print(int index);
int write(const string &file);
int compare(const genome1 &gy);
int shrink(const string &file);
int filter(const string &file, double c);
int select_by_length(const string &file, int min_length, int max_length);
int top(const string &file, int n);
int stats_exons(const string &file, int n);
int stats_length(const string &file);
private:
int build_multiexon_transcripts(const string &file);
int build_all_transcripts(const string &file);
int build_intron_index();
int query(const transcript &t, const set<int> &fb);
int query(const transcript &t, int min_index);
};
bool transcript_cmp_coverage(const transcript &x, const transcript &y);
bool transcript_cmp_intron_chain(const transcript &x, const transcript &y);
string compute_intron_hashing(const transcript &t);
string tostring(int32_t p);
#endif