1 | // =============================================================== // |
---|
2 | // // |
---|
3 | // File : adGene.h // |
---|
4 | // Purpose : Specific defines for ARB genome // |
---|
5 | // // |
---|
6 | // Coded by Ralf Westram (coder@reallysoft.de) in July 2002 // |
---|
7 | // Institute of Microbiology (Technical University Munich) // |
---|
8 | // http://www.arb-home.de/ // |
---|
9 | // // |
---|
10 | // =============================================================== // |
---|
11 | |
---|
12 | #ifndef ADGENE_H |
---|
13 | #define ADGENE_H |
---|
14 | |
---|
15 | #ifndef _GLIBCXX_CSTDLIB |
---|
16 | #include <cstdlib> |
---|
17 | #endif |
---|
18 | |
---|
19 | #define GENOM_ALIGNMENT "ali_genom" |
---|
20 | #define GENOM_DB_TYPE "genom_db" // main flag (true = genom db, false/missing=normal db) |
---|
21 | |
---|
22 | #define ARB_HIDDEN "ARB_display_hidden" |
---|
23 | |
---|
24 | /* GEN_position is interpreted as |
---|
25 | * |
---|
26 | * join( complement[0](start_pos[0]..stop_pos[0]), |
---|
27 | * complement[1](start_pos[1]..stop_pos[1]), |
---|
28 | * complement[2](start_pos[2], stop_pos[2]), |
---|
29 | * ... ) |
---|
30 | * |
---|
31 | * start_pos is always lower than stop_pos |
---|
32 | * joined genes on complementary strand are normally ordered backwards |
---|
33 | * (i.e. part with highest positions comes first) |
---|
34 | */ |
---|
35 | |
---|
36 | struct GEN_position { |
---|
37 | int parts; |
---|
38 | bool joinable; // true = join(...), false = order(...) aka not joinable or unknown |
---|
39 | size_t *start_pos; |
---|
40 | size_t *stop_pos; |
---|
41 | unsigned char *complement; // ASCII 0 = normal or ASCII 1 = complementary |
---|
42 | |
---|
43 | // [optional elements] |
---|
44 | |
---|
45 | // start_uncertain/stop_uncertain contain one char per part (or NULL which means "all positions are certain") |
---|
46 | // meaning of characters: |
---|
47 | // '<' = position MIGHT be lower |
---|
48 | // '=' = position is certain |
---|
49 | // '>' = position MIGHT be higher |
---|
50 | // '+' = position is directly BEHIND (but before next base position, i.e. specifies a location between to base positions) |
---|
51 | // '-' = position is BEFORE |
---|
52 | |
---|
53 | unsigned char *start_uncertain; |
---|
54 | unsigned char *stop_uncertain; |
---|
55 | }; |
---|
56 | |
---|
57 | #else |
---|
58 | #error adGene.h included twice |
---|
59 | #endif // ADGENE_H |
---|