-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathseq.h
78 lines (65 loc) · 1.29 KB
/
seq.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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/* Copyright(c) Ryuichiro Nakato <[email protected]>
* This file is a part of DROMPA sources.
*/
/* 一般的なデータ形式を格納する構造体の宣言 */
#ifndef _SEQ_H_
#define _SEQ_H_
#define BEDFILE_MAX 1000
typedef enum{
STRAND_PLUS,
STRAND_MINUS,
STRANDNUM
} Strand;
extern const char str_strand[][STRANDNUM];
typedef struct{
int start;
int end;
} SE;
typedef struct{
char *name;
long len, len_mpbl;
double p_mpbl; /* mappability */
double gcov; /* genome coverage for bin */
} Fastadata;
typedef struct{
Fastadata *genome;
Fastadata *chr;
int chrnum;
int chrmax;
int *GCdist;
long sum_GCdist;
} RefGenome;
typedef struct{
int r;
int g;
int b;
} Rgbval;
/* bed format */
struct bed{
/* required fields */
int s,e;
/* optional fields */
char *name;
double score;
Strand strand;
int ts, te; /* thickStart, thickEnd (used by UCSC drawing code) */
Rgbval itemRgb; /* RGB colour value */
};
typedef struct{
struct bed *bed;
int num;
int arraynum;
} BedChr;
typedef struct{
BedChr *chr;
int nline;
int num;
long len_total;
char *name;
char *argv;
} BedFile;
RefGenome *refgenome_new();
void refgenome_delete(RefGenome *);
BedFile *bedfile_new(int);
void bedfile_delete(BedFile *p, int);
#endif /* _SEQ_H_ */