File: _pairwisealigner.h

package info (click to toggle)
python-biopython 1.86%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 128,424 kB
  • sloc: xml: 1,050,354; python: 360,709; ansic: 18,503; sql: 1,208; makefile: 132; sh: 84
file content (60 lines) | stat: -rw-r--r-- 1,917 bytes parent folder | download
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
48
49
50
51
52
53
54
55
56
57
58
59
60
/* Copyright 2018-2019 by Michiel de Hoon.  All rights reserved.
 * This file is part of the Biopython distribution and governed by your
 * choice of the "Biopython License Agreement" or the "BSD 3-Clause License".
 * Please see the LICENSE file that should have been included as part of this
 * package.
 */


#define PY_SSIZE_T_CLEAN
#include "Python.h"

#define HORIZONTAL 0x1
#define VERTICAL 0x2
#define DIAGONAL 0x4

typedef enum {NeedlemanWunschSmithWaterman,
              Gotoh,
              WatermanSmithBeyer,
              FOGSAA,
              Unknown} Algorithm;

typedef enum {Global, Local, FOGSAA_Mode} Mode;

typedef struct {
    PyObject_HEAD
    Mode mode;
    Algorithm algorithm;
    double match;
    double mismatch;
    double epsilon;
    double open_internal_insertion_score;
    double extend_internal_insertion_score;
    double open_left_insertion_score;
    double extend_left_insertion_score;
    double open_right_insertion_score;
    double extend_right_insertion_score;
    double open_internal_deletion_score;
    double extend_internal_deletion_score;
    double open_left_deletion_score;
    double extend_left_deletion_score;
    double open_right_deletion_score;
    double extend_right_deletion_score;
    bool open_internal_insertion_score_set;
    bool extend_internal_insertion_score_set;
    bool open_left_insertion_score_set;
    bool extend_left_insertion_score_set;
    bool open_right_insertion_score_set;
    bool extend_right_insertion_score_set;
    bool open_internal_deletion_score_set;
    bool extend_internal_deletion_score_set;
    bool open_left_deletion_score_set;
    bool extend_left_deletion_score_set;
    bool open_right_deletion_score_set;
    bool extend_right_deletion_score_set;
    PyObject* insertion_score_function;
    PyObject* deletion_score_function;
    Py_buffer substitution_matrix;
    PyObject* alphabet;
    int wildcard;
} Aligner;