diff bwa-0.6.2/ksw.h @ 0:dd1186b11b3b draft

Uploaded BWA
author ashvark
date Fri, 18 Jul 2014 07:55:14 -0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bwa-0.6.2/ksw.h	Fri Jul 18 07:55:14 2014 -0400
@@ -0,0 +1,54 @@
+#ifndef __AC_KSW_H
+#define __AC_KSW_H
+
+struct _ksw_query_t;
+typedef struct _ksw_query_t ksw_query_t;
+
+typedef struct {
+	// input
+	unsigned gapo, gape; // the first gap costs gapo+gape
+	unsigned T; // threshold
+	// output
+	int score, te, qe, score2, te2;
+} ksw_aux_t;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+	/**
+	 * Initialize the query data structure
+	 *
+	 * @param size   Number of bytes used to store a score; valid valures are 1 or 2
+	 * @param qlen   Length of the query sequence
+	 * @param query  Query sequence
+	 * @param m      Size of the alphabet
+	 * @param mat    Scoring matrix in a one-dimension array
+	 *
+	 * @return       Query data structure
+	 */
+	ksw_query_t *ksw_qinit(int size, int qlen, const uint8_t *query, int m, const int8_t *mat); // to free, simply call free()
+
+	/**
+	 * Compute the maximum local score for queries initialized with ksw_qinit(1, ...)
+	 *
+	 * @param q       Query data structure returned by ksw_qinit(1, ...)
+	 * @param tlen    Length of the target sequence
+	 * @param target  Target sequence
+	 * @param a       Auxiliary data structure (see ksw.h)
+	 *
+	 * @return        The maximum local score; if the returned value equals 255, the SW may not be finished
+	 */
+	int ksw_sse2_8(ksw_query_t *q, int tlen, const uint8_t *target, ksw_aux_t *a);
+
+	/** Compute the maximum local score for queries initialized with ksw_qinit(2, ...) */
+	int ksw_sse2_16(ksw_query_t *q, int tlen, const uint8_t *target, ksw_aux_t *a);
+
+	/** Unified interface for ksw_sse2_8() and ksw_sse2_16() */
+	int ksw_sse2(ksw_query_t *q, int tlen, const uint8_t *target, ksw_aux_t *a);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif