source: tags/initial/ALIV3/BI_helix.hxx

Last change on this file was 2, checked in by oldcode, 24 years ago

Initial revision

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.7 KB
Line 
1#define HELIX_MAX_NON_ST 10
2
3#define HELIX_AWAR_PAIR_TEMPLATE "Helix/pairs/%s"
4#define HELIX_AWAR_SYMBOL_TEMPLATE "Helix/symbols/%s"
5
6typedef enum {
7        HELIX_NONE,
8        HELIX_STRONG_PAIR,
9        HELIX_PAIR,
10        HELIX_WEAK_PAIR,
11        HELIX_NO_PAIR,
12        HELIX_USER0,
13        HELIX_USER1,
14        HELIX_USER2,
15        HELIX_USER3,
16        HELIX_DEFAULT,
17        HELIX_NON_STANDART0,
18        HELIX_NON_STANDART1,
19        HELIX_NON_STANDART2,
20        HELIX_NON_STANDART3,
21        HELIX_NON_STANDART4,
22        HELIX_NON_STANDART5,
23        HELIX_NON_STANDART6,
24        HELIX_NON_STANDART7,
25        HELIX_NON_STANDART8,
26        HELIX_NON_STANDART9,
27        HELIX_NO_MATCH,
28        HELIX_MAX
29} BI_PAIR_TYPE;
30
31
32class BI_helix {
33        private:
34        int _check_pair(char left, char right, BI_PAIR_TYPE pair_type);
35        public:
36                // read only section
37        struct BI_helix_entry {
38                long pair_pos;
39                BI_PAIR_TYPE pair_type;
40                char    *helix_nr;
41        } *entries;
42        // **read only:
43        char    *pairs[HELIX_MAX];
44        char    *char_bind[HELIX_MAX];
45        long size;
46        static char error[256];
47
48        // ***** read and write
49#ifdef _USE_AW_WINDOW
50        BI_helix(AW_root *aw_root); 
51#else
52        BI_helix(void);
53#endif
54        ~BI_helix(void);       
55
56        char *init(GBDATA *gb_main);
57        char *init(GBDATA *gb_main, char *alignment_name,
58                char *helix_nr_name, char *helix_name);
59        char *init(GBDATA *gb_helix_nr,GBDATA *gb_helix,long size);
60        char *init(char *helix_nr, char *helix, long size);
61
62        int check_pair(char left, char right, BI_PAIR_TYPE pair_type);
63                // returns 1 if bases form a pair
64
65#ifdef _USE_AW_WINDOW
66        char get_symbol(char left, char right, BI_PAIR_TYPE pair_type);
67
68        int show_helix( void *device, int gc1 , char *sequence,
69                AW_pos x, AW_pos y,
70                AW_bitset filter,
71                AW_CL cd1, AW_CL cd2);
72#endif
73};
74
75#ifdef _USE_AW_WINDOW
76AW_window *create_helix_props_window(AW_root *awr, AW_cb_struct * /*owner*/awcbs);
77#endif
Note: See TracBrowser for help on using the repository browser.