/usr/include/ncbi/mbalign.h is in libncbi6-dev 6.1.20110713-3ubuntu2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | #ifndef _MBALIGN_H_
#define _MBALIGN_H_
#include <ncbi.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef Uint4 edit_op_t; /* 32 bits */
typedef struct {
edit_op_t *op; /* array of edit operations */
Uint4 size, num; /* size of allocation, number in use */
edit_op_t last; /* most recent operation added */
} edit_script_t;
edit_script_t *edit_script_free(edit_script_t *es);
edit_script_t *edit_script_new(void);
edit_script_t *edit_script_append(edit_script_t *es, edit_script_t *et);
enum {
EDIT_OP_MASK = 0x3,
EDIT_OP_ERR = 0x0,
EDIT_OP_INS = 0x1,
EDIT_OP_DEL = 0x2,
EDIT_OP_REP = 0x3
};
enum { /* half of the (fixed) match score */
ERROR_FRACTION=2, /* 1/this */
MAX_SPACE=1000000,
sC = 0, sI = 1, sD = 2, LARGE=100000000
};
/* ----- pool allocator ----- */
typedef struct _three_val_ {
Int4 I, C, D;
} ThreeVal, PNTR ThreeValPtr;
typedef struct mb_space_struct {
ThreeValPtr space_array;
Int4 used, size;
struct mb_space_struct *next;
} MBSpace, *MBSpacePtr;
#define EDIT_VAL(op) (op >> 2)
#define EDIT_OPC(op) (op & EDIT_OP_MASK)
MBSpacePtr new_mb_space(void);
void refresh_mb_space(MBSpacePtr sp);
void free_mb_space(MBSpacePtr sp);
ThreeValPtr get_mb_space(MBSpacePtr S, Int4 amount);
typedef struct greedy_align_mem {
Int4Ptr PNTR flast_d;
Int4Ptr max_row_free;
ThreeValPtr PNTR flast_d_affine;
Int4Ptr uplow_free;
MBSpacePtr space;
} GreedyAlignMem, PNTR GreedyAlignMemPtr;
Int4
MegaBlastGreedyAlign PROTO((const UcharPtr s1, Int4 len1,
const UcharPtr s2, Int4 len2,
Boolean reverse, Int4 xdrop_threshold,
Int4 match_cost, Int4 mismatch_cost,
Int4Ptr e1, Int4Ptr e2, GreedyAlignMemPtr abmp,
edit_script_t *S, Uint1 rem));
Int4
MegaBlastAffineGreedyAlign PROTO((const UcharPtr s1, Int4 len1,
const UcharPtr s2, Int4 len2,
Boolean reverse, Int4 xdrop_threshold,
Int4 match_cost, Int4 mismatch_cost,
Int4 gap_open, Int4 gap_extend,
Int4Ptr e1, Int4Ptr e2,
GreedyAlignMemPtr abmp,
edit_script_t *S, Uint1 rem));
GreedyAlignMemPtr
GreedyAlignMemFree PROTO((GreedyAlignMemPtr abmp));
#ifdef __cplusplus
}
#endif
#endif /* _MBALIGN_H_ */
|