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