Mercurial > repos > ryanmorin > nextgen_variant_identification
comparison SNV/SNVMix2_source/SNVMix2-v0.12.1-rc1/samtools-0.1.6/glf.h @ 0:74f5ea818cea
Uploaded
author | ryanmorin |
---|---|
date | Wed, 12 Oct 2011 19:50:38 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:74f5ea818cea |
---|---|
1 #ifndef GLF_H_ | |
2 #define GLF_H_ | |
3 | |
4 typedef struct { | |
5 unsigned char ref_base:4, dummy:4; /** "XACMGRSVTWYHKDBN"[ref_base] gives the reference base */ | |
6 unsigned char max_mapQ; /** maximum mapping quality */ | |
7 unsigned char lk[10]; /** log likelihood ratio, capped at 255 */ | |
8 unsigned min_lk:8, depth:24; /** minimum lk capped at 255, and the number of mapped reads */ | |
9 } glf1_t; | |
10 | |
11 #include <stdint.h> | |
12 #include "bgzf.h" | |
13 typedef BGZF *glfFile; | |
14 | |
15 #define GLF3_RTYPE_END 0 | |
16 #define GLF3_RTYPE_SUB 1 | |
17 #define GLF3_RTYPE_INDEL 2 | |
18 | |
19 typedef struct { | |
20 uint8_t ref_base:4, rtype:4; /** "XACMGRSVTWYHKDBN"[ref_base] gives the reference base */ | |
21 uint8_t rms_mapQ; /** RMS mapping quality */ | |
22 uint8_t lk[10]; /** log likelihood ratio, capped at 255 */ | |
23 uint32_t min_lk:8, depth:24; /** minimum lk capped at 255, and the number of mapped reads */ | |
24 int32_t offset; /** the first base in a chromosome has offset zero. */ | |
25 // for indel (lkHom1, lkHom2 and lkHet are the first three elements in lk[10]) | |
26 int16_t indel_len[2]; | |
27 int32_t max_len; // maximum indel len; will be modified by glf3_read1() | |
28 char *indel_seq[2]; | |
29 } glf3_t; | |
30 | |
31 typedef struct { | |
32 int32_t l_text; | |
33 uint8_t *text; | |
34 } glf3_header_t; | |
35 | |
36 #ifdef __cplusplus | |
37 extern "C" { | |
38 #endif | |
39 | |
40 #define glf3_init1() ((glf3_t*)calloc(1, sizeof(glf3_t))) | |
41 #define glf3_destroy1(g3) do { free((g3)->indel_seq[0]); free((g3)->indel_seq[1]); free(g3); } while (0) | |
42 | |
43 glf3_header_t *glf3_header_init(); | |
44 glf3_header_t *glf3_header_read(glfFile fp); | |
45 void glf3_header_write(glfFile fp, const glf3_header_t *h); | |
46 void glf3_header_destroy(glf3_header_t *h); | |
47 char *glf3_ref_read(glfFile fp, int *len); | |
48 void glf3_ref_write(glfFile fp, const char *name, int len); | |
49 int glf3_write1(glfFile fp, const glf3_t *g3); | |
50 int glf3_read1(glfFile fp, glf3_t *g3); | |
51 | |
52 #ifdef __cplusplus | |
53 } | |
54 #endif | |
55 | |
56 #endif |