-
Notifications
You must be signed in to change notification settings - Fork 19
/
Transcript.h
62 lines (49 loc) · 1.56 KB
/
Transcript.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
51
52
53
54
55
56
57
58
59
60
61
62
// Copyright 2013 Nadia Davidson for Murdoch Childrens Research
// Institute Australia. This program is distributed under the GNU
// General Public License. We also ask that you cite this software in
// publications where you made use of it for any part of the data
// analysis.
/**
* A class to store the names of transcripts.
* This allows transcripts to be idenfitied by a pointer to their "pair"
* rather than using the full name (which is a string). This makes the code
* run faster and require less memory.
*
* Author: Nadia Davidson
* Modified: 3 May 3013
*/
#ifndef TRANSCRIPT_H
#define TRANSCRIPT_H
#include <string>
#include <vector>
#include <sstream>
#include <cstdlib>
#include <algorithm>
#include <StringSet.h>
using namespace std;
class Read;
class Transcript{
string name_;
int pos_; // used later by Cluster
vector<Read*> reads_; //temporary vector so we can quickly remove the alignments
//for transcripts with less then min_count hits.
// bool reached_min_counts_;
public:
Transcript(){name_="";};
Transcript(string name);
string get_name(){return name_; } ;
void pos(int position){pos_=position;};
int pos(){return pos_;};
void add_read( Read * read );
bool reached_min_counts();
//return reached_min_counts_; };
void remove(); //remove myself from the reads lists ..
static int samples;
static int groups;
static int min_counts;
static int min_reads_for_link;
static int max_alignments;
vector<Read*> * get_reads(){ return &reads_ ; } ;
};
typedef StringSet<Transcript> TranscriptList;
#endif