-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathbkgd_n_sites.c
More file actions
80 lines (57 loc) · 1.77 KB
/
bkgd_n_sites.c
File metadata and controls
80 lines (57 loc) · 1.77 KB
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
#include <stdio.h>
#include <stdlib.h>
#include <util/config.h>
#include "bkgd_data.h"
void write_data(FILE *fh, BkgdEvoMdlData *data) {
long i, n;
BkgdBin *bin;
bin = data->bin;
/* write header line */
fprintf(fh, "B.EX\tB.NEX\tCAT\tN\t"
"H\tC\tG\tO\tM\t"
"HC\tHG\tCG\tHO\tCO\tHCG\t"
"CONS\n");
for(i =0; i < data->n_bin; i++) {
n = bin[i].h + bin[i].c + bin[i].g + bin[i].o + bin[i].m +
bin[i].hc + bin[i].hg + bin[i].cg + bin[i].ho + bin[i].co +
bin[i].hcg + bin[i].cons;
fprintf(fh, "%g\t%g\t%g\t%ld\t"
"%ld\t%ld\t%ld\t%ld\t%ld\t"
"%ld\t%ld\t%ld\t%ld\t%ld\t"
"%ld\t%ld\n",
bin[i].B_ex, bin[i].B_nex, bin[i].cat, n,
bin[i].h, bin[i].c, bin[i].g, bin[i].o, bin[i].m,
bin[i].hc, bin[i].hg, bin[i].cg, bin[i].ho, bin[i].co,
bin[i].hcg, bin[i].cons);
}
}
int main(int argc, char **argv) {
BkgdEvoMdlData *data;
Config *config;
if(argc != 2) {
fprintf(stderr, "usage: %s <config_file>", argv[0]);
exit(2);
}
fprintf(stderr, "Reading config\n");
config = config_read_file(argv[1], CONFIG_MISSING_KEY_ERROR);
data = bkgd_data_read_data(config);
if(config_get_boolean(config, "COMBINE_CAT_BINS")) {
double min_cat, max_cat;
min_cat = config_get_double(config, "MIN_CAT");
max_cat = config_get_double(config, "MAX_CAT");
bkgd_data_combine_cat_bin(data, min_cat, max_cat);
}
if(config_get_boolean(config, "COMBINE_DATA_BINS")) {
long n_bin = config_get_long(config, "N_DATA_BIN");
bkgd_data_combine_bin(data, n_bin);
}
if(config_get_boolean(config, "WRITE_COUNTS")) {
bkgd_data_write_site_counts(stdout, data);
}
if(config_get_boolean(config, "WRITE_BINS")) {
write_data(stdout, data);
}
g_free(data->bin);
g_free(data);
return 0;
}