SW#
All Files Functions Variables Typedefs Macros
db_alignment.h
Go to the documentation of this file.
1 /*
2 swsharp - CUDA parallelized Smith Waterman with applying Hirschberg's and
3 Ukkonen's algorithm and dynamic cell pruning.
4 Copyright (C) 2013 Matija Korpar, contributor Mile Šikić
5 
6 This program is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
10 
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15 
16 You should have received a copy of the GNU General Public License
17 along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 Contact the author by mkorpar@gmail.com.
20 */
27 #ifndef __SW_SHARP_DBALIGNMENTH__
28 #define __SW_SHARP_DBALIGNMENTH__
29 
30 #include "alignment.h"
31 #include "chain.h"
32 #include "scorer.h"
33 
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37 
47 typedef struct DbAlignment DbAlignment;
48 
73 extern DbAlignment* dbAlignmentCreate(Chain* query, int queryStart, int queryEnd,
74  int queryIdx, Chain* target, int targetStart, int targetEnd, int targetIdx,
75  double value, int score, Scorer* scorer, char* path, int pathLen);
76 
77 extern DbAlignment* dbAlignmentCopy(DbAlignment* dbAlignment);
78 
84 extern void dbAlignmentDelete(DbAlignment* dbAlignment);
85 
97 extern char dbAlignmentGetMove(DbAlignment* dbAlignment, int index);
98 
106 extern int dbAlignmentGetPathLen(DbAlignment* dbAlignment);
107 
115 extern Chain* dbAlignmentGetQuery(DbAlignment* dbAlignment);
116 
124 extern int dbAlignmentGetQueryEnd(DbAlignment* dbAlignment);
125 
133 extern int dbAlignmentGetQueryIdx(DbAlignment* dbAlignment);
134 
142 extern int dbAlignmentGetQueryStart(DbAlignment* dbAlignment);
143 
151 extern int dbAlignmentGetScore(DbAlignment* dbAlignment);
152 
160 extern Scorer* dbAlignmentGetScorer(DbAlignment* dbAlignment);
161 
169 extern Chain* dbAlignmentGetTarget(DbAlignment* dbAlignment);
170 
178 extern int dbAlignmentGetTargetEnd(DbAlignment* dbAlignment);
179 
187 extern int dbAlignmentGetTargetIdx(DbAlignment* dbAlignment);
188 
196 extern int dbAlignmentGetTargetStart(DbAlignment* dbAlignment);
197 
205 extern double dbAlignmentGetValue(DbAlignment* dbAlignment);
206 
216 extern void dbAlignmentCopyPath(DbAlignment* dbAlignment, char* dest);
217 
225 extern Alignment* dbAlignmentToAlignment(DbAlignment* dbAlignment);
226 
227 #ifdef __cplusplus
228 }
229 #endif
230 #endif // __SW_SHARP_DBALIGNMENTH__
double dbAlignmentGetValue(DbAlignment *dbAlignment)
Value getter.
int dbAlignmentGetQueryStart(DbAlignment *dbAlignment)
Query start getter.
Chain * dbAlignmentGetQuery(DbAlignment *dbAlignment)
Query getter.
Provides object used for alignment scoring.
Pairwise sequnce alignment result storage header.
int dbAlignmentGetScore(DbAlignment *dbAlignment)
Score getter.
struct DbAlignment DbAlignment
Database sequnce alignment result storage object.
Definition: db_alignment.h:47
struct Scorer Scorer
Scorer object used for alignment scoring.
Definition: scorer.h:42
void dbAlignmentDelete(DbAlignment *dbAlignment)
DbAlignment destructor.
struct Alignment Alignment
Pairwise sequnce alignment result storage object.
Definition: alignment.h:79
int dbAlignmentGetTargetEnd(DbAlignment *dbAlignment)
Target end getter.
Scorer * dbAlignmentGetScorer(DbAlignment *dbAlignment)
Scorer getter.
void dbAlignmentCopyPath(DbAlignment *dbAlignment, char *dest)
Copies path to the destination buffer.
int dbAlignmentGetTargetIdx(DbAlignment *dbAlignment)
Target index getter.
Provides object for storing named sequnces.
int dbAlignmentGetTargetStart(DbAlignment *dbAlignment)
Target start getter.
Alignment * dbAlignmentToAlignment(DbAlignment *dbAlignment)
Creates alignment object from the dbAlignment object.
int dbAlignmentGetQueryIdx(DbAlignment *dbAlignment)
Query index getter.
Chain * dbAlignmentGetTarget(DbAlignment *dbAlignment)
Target getter.
int dbAlignmentGetQueryEnd(DbAlignment *dbAlignment)
Query end getter.
DbAlignment * dbAlignmentCreate(Chain *query, int queryStart, int queryEnd, int queryIdx, Chain *target, int targetStart, int targetEnd, int targetIdx, double value, int score, Scorer *scorer, char *path, int pathLen)
DbAlignment object constructor.
char dbAlignmentGetMove(DbAlignment *dbAlignment, int index)
Move getter.
struct Chain Chain
Chain object used for storing named sequnces.
Definition: chain.h:43
int dbAlignmentGetPathLen(DbAlignment *dbAlignment)
Path length getter.