File: base.h

package info (click to toggle)
arb 6.0.6-8
  • links: PTS, VCS
  • area: non-free
  • in suites: sid, trixie
  • size: 66,204 kB
  • sloc: ansic: 394,911; cpp: 250,290; makefile: 19,644; sh: 15,879; perl: 10,473; fortran: 6,019; ruby: 683; xml: 503; python: 53; awk: 32
file content (47 lines) | stat: -rw-r--r-- 986 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#ifndef BASE_H
#define BASE_H

#ifndef DEFINES_H
#include "defines.h"
#endif

enum BaseType {
    BASE_A,
    BASE_C,
    BASE_G,
    BASE_T,
    BASE_DEL

};

#define BASETYPES           4
#define BASECHARS           (BASETYPES+1)
#define BASEQUAD            (BASETYPES*BASETYPES)

#define MAXBASECHAR         ((int)'t')    // vom ASCII-Wert her groesstes Zeichen
#define PROB_NOT_DEF        (-1.0)

#define isDeleted(b)        (charIsDelete[(int)(b)])
#define isHelical(b)        (charIsHelical[(int)(b)])
#define isPairing(b1, b2)   (basesArePairing[(int)(b1)][(int)(b2)])

extern char helixBaseChar[BASECHARS],
            loopBaseChar[BASECHARS];
extern int  basesArePairing[BASECHARS][BASECHARS], // Kombination paarend?
            baseCharType[],
            charIsDelete[],
            charIsHelical[];

#define char2BaseType(c)    ((enum BaseType)baseCharType[(int)c])

#ifdef __cplusplus
extern "C" {
#endif

    void initBaseLookups ();

#ifdef __cplusplus
}
#endif

#endif