-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdd_gv.h
228 lines (201 loc) · 3.36 KB
/
dd_gv.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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
/* Copyright(c) Ryuichiro Nakato <[email protected]>
* This file is a part of DROMPA sources.
*/
#ifndef _DD_GV_H_
#define _DD_GV_H_
#include <stdbool.h>
#include "seq.h"
#define STRUCT_GENE_MAX 10000
#define PDSIZE_DEFAULT 100000
#define LS_DEFAULT 1000
#define SCALE_TAG_DEFAULT 30
#define SCALE_RATIO_DEFAULT 5
#define SCALE_PVALUE_DEFAULT 5
#define SCALE_TAG_BROAD 50
#define SCALE_RATIO_BROAD 3
// for Graph
#define GC_MMIN 20
#define GC_MMAX 70
#define GD_MMIN 0
#define GD_MMAX 40
// page config
#define OFFSET_X 190
#define OFFSET_Y 50
#define WIDTH_DRAW 820
#define PAGEWIDTH 1088
#define FONTS_STYLE "Arial" //"sans-serif"
// for profile and heatmap
// for GV and PD
#define THRE_GENOMELEN4WG 20000000 // 20Mbp
// for page
#define BARNUM_DEFAULT 2
#define YSTEP_DEFAULT 20
typedef enum{
ZERO,
TSS,
TTS,
GENE100,
BEDSITES,
PTYPENUM
} Profile_Type;
typedef enum{
READDIST,
ENRICHDIST,
PVALUEDIST
} ShowDist_Type;
typedef enum{
GTYPE_SINGLE,
GTYPE_MULTI,
GTYPE_MULTI_PROP
} Graph_Type;
typedef enum{
LTYPE_PVALUE_INTER,
LTYPE_PVALUE_ENRICH,
LTYPE_RATIO,
LTYPE_RATIO_GV,
LTYPE_CHIP,
LTYPE_INPUT
} LINE_Type;
typedef struct{
char *argv;
char *name;
int wsize;
double *array;
int arraynum;
double mmin, mmax;
} Graph;
typedef enum{
CODING,
NONCODING,
MIRNA,
PSEUDO,
PROCESS,
OTHERS,
ARS,
TER,
CENTROMERE,
rRNA,
LTR
} GeneAnnoType;
typedef struct{
char name[128];
char ID[128];
int chr;
char dir;
int start;
int end;
int exonnum;
SE *exon;
GeneAnnoType genetype;
bool delete;
} Gene;
typedef enum{
GFTYPE_REFFLAT,
GFTYPE_ENSEMBL,
GFTYPE_GTF,
GFTYPE_SGD
} GeneFile_Type;
typedef struct{
char *argv;
Gene *gene;
int num, numall;
GeneFile_Type type;
} GeneSet;
typedef enum{
RepeatMasker,
SimpleRepeats,
Microsatellite,
RM_SINE,
RM_LINE,
RM_LTR,
RM_DNA,
RM_Simple,
RM_Low_Com,
RM_Satellite,
RM_RNA,
RM_Other,
REPEATTYPENUM
} RepeatType;
typedef struct{
int start;
int end;
char dir;
RepeatType rtype;
char name[32];
char class[32];
} Repeat;
typedef struct{
char *argv;
Repeat *repeat;
int num;
} RepeatSet;
typedef struct{
/* figure */
int chronly;
int makefig;
char *command_mergepdf;
int width_per_line;
int linenum_per_page;
int visualize_p_inter;
int visualize_p_enrich;
int visualize_ratio;
int visualize_ctag;
int visualize_itag;
int barnum;
int do_peakcall;
int viz;
int backcolors;
int stroke_ymem;
int stroke_ylab;
int cl_orange;
/* annotation*/
Graph GC;
Graph GD;
Graph *PD;
int pdnum;
GeneSet gene;
GeneFile_Type gftype;
char *arsfile;
char *terfile;
bool *show_ars;
RepeatSet repeat;
int pdsize;
int png;
int rmchr;
char *drawregion_argv;
char *genefile_argv;
int genefile_len;
BedFile *drawregion;
BedFile **bed;
int bednum;
InteractionSet *inter;
int internum;
/* page_info */
int pageheight;
double ystep;
bool large_genome;
bool gw;
/* CG */
double cgthre;
/* PD */
bool pd_prop;
/* TR */
double tssthre;
/* profile and heatmap */
char *filename_profile;
Peak **peak;
int ptype;
int stype;
int ntype;
int compwidth;
int cwbin;
int ntotal_profile;
int ntotal_skip;
bool showse;
int SEnum;
int hmsort;
bool sortgbody;
bool pdetail;
TYPE_WIGARRAY *mparray, *gaparray;
} DDParam;
#endif /* _DD_GV_H_ */