source: tags/ms_r16q2/TREEGEN/base.h

Last change on this file was 7812, checked in by westram, 11 years ago

merge from dev [7751] [7752]

  • updated many old-style typedefs (typedef struct/enum)
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 986 bytes
Line 
1#ifndef BASE_H
2#define BASE_H
3
4#ifndef DEFINES_H
5#include "defines.h"
6#endif
7
8enum BaseType {
9    BASE_A,
10    BASE_C,
11    BASE_G,
12    BASE_T,
13    BASE_DEL
14
15};
16
17#define BASETYPES           4
18#define BASECHARS           (BASETYPES+1)
19#define BASEQUAD            (BASETYPES*BASETYPES)
20
21#define MAXBASECHAR         ((int)'t')    // vom ASCII-Wert her groesstes Zeichen
22#define PROB_NOT_DEF        (-1.0)
23
24#define isDeleted(b)        (charIsDelete[(int)(b)])
25#define isHelical(b)        (charIsHelical[(int)(b)])
26#define isPairing(b1, b2)   (basesArePairing[(int)(b1)][(int)(b2)])
27
28extern char helixBaseChar[BASECHARS],
29            loopBaseChar[BASECHARS];
30extern int  basesArePairing[BASECHARS][BASECHARS], // Kombination paarend?
31            baseCharType[],
32            charIsDelete[],
33            charIsHelical[];
34
35#define char2BaseType(c)    ((enum BaseType)baseCharType[(int)c])
36
37#ifdef __cplusplus
38extern "C" {
39#endif
40
41    void initBaseLookups ();
42
43#ifdef __cplusplus
44}
45#endif
46
47#endif
Note: See TracBrowser for help on using the repository browser.