| 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 NULp 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 | 
|---|