File: AlignConfig.hpp

package info (click to toggle)
consensuscore 1.1.1%2Bdfsg-4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 3,404 kB
  • sloc: cpp: 38,940; python: 2,083; ansic: 542; sh: 184; makefile: 82; cs: 10
file content (39 lines) | stat: -rw-r--r-- 775 bytes parent folder | download | duplicates (4)
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
// Author: David Alexander

#pragma once

namespace ConsensusCore {
//
// Scoring params for Needleman-Wunsch or Smith-Waterman style aligners
//
struct AlignParams
{
    int Match;
    int Mismatch;
    int Insert;
    int Delete;

    AlignParams(int match, int mismatch, int insert, int delete_);

    // Edit distance params
    static AlignParams Default();
};

enum AlignMode
{
    GLOBAL = 0,      // Global in both sequences
    SEMIGLOBAL = 1,  // Global in query, local in target
    LOCAL = 2        // Local in both sequences
};

struct AlignConfig
{
    AlignParams Params;
    AlignMode Mode;

    AlignConfig(AlignParams params, AlignMode mode);

    // Default corresponds to global alignment mode, edit distance params
    static AlignConfig Default();
};
}