~ubuntu-branches/ubuntu/quantal/ncbi-tools6/quantal

« back to all changes in this revision

Viewing changes to algo/blast/core/blast_def.h

Tags: upstream-6.1.20081116a
ImportĀ upstreamĀ versionĀ 6.1.20081116a

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* $Id: blast_def.h,v 1.83 2008/01/31 23:55:41 kazimird Exp $
 
1
/* $Id: blast_def.h,v 1.86 2008/11/03 20:59:44 kazimird Exp $
2
2
 * ===========================================================================
3
3
 *
4
4
 *                            PUBLIC DOMAIN NOTICE
150
150
   Int4 right;  /**< right endpoint of range (zero based) */
151
151
} SSeqRange;
152
152
 
 
153
/** Create a new SSeqRange structure with both fields initialized
 
154
 * @param start the start of the range [in]
 
155
 * @param stop the end of the range [in]
 
156
 */
 
157
NCBI_XBLAST_EXPORT
 
158
SSeqRange SSeqRangeNew(Int4 start, Int4 stop);
 
159
 
 
160
/** Determine if two ranges intersect
 
161
 * @param a first range to compare [in]
 
162
 * @param b second range to compare [in]
 
163
 * @return TRUE if they intersect, otherwise FALSE 
 
164
 */
 
165
NCBI_XBLAST_EXPORT
 
166
Boolean SSeqRangeIntersectsWith(const SSeqRange* a, const SSeqRange* b);
 
167
 
153
168
/** Used to hold a set of positions, mostly used for filtering. 
154
169
 * oid holds the index of the query sequence.
155
170
*/
190
205
                               sequence as that byte is a NULL sentinel byte.*/
191
206
   Int4     length;         /**< Length of sequence. */
192
207
   Int2 frame; /**< Frame of the query, needed for translated searches */
 
208
   Int2 subject_strand; /**< Strand of the subject sequence for translated searches. 
 
209
                          Uses the same values as ENa_strand. */
193
210
   Int4 oid; /**< The ordinal id of the current sequence */
194
211
   Boolean sequence_allocated; /**< TRUE if memory has been allocated for 
195
212
                                  sequence */
215
232
                              owned by the genetic code singleton. 
216
233
                              @sa gencode_singleton.h
217
234
                              */
 
235
   /* BEGIN: Data members needed for masking subjects from a BLAST database */
 
236
   SSeqRange* seq_ranges;   /**< Ranges of the sequence to search */
 
237
   Uint4 num_seq_ranges;    /**< Number of elements in seq_ranges */
 
238
   Boolean seq_ranges_allocated;   /**< TRUE if memory has been allocated for
 
239
                                      seq_ranges */
 
240
   /* END: Data members needed for masking subjects from a BLAST database */
218
241
} BLAST_SequenceBlk;
219
242
 
220
243
/** Information about a single pattern occurence in the query. */
232
255
                                        structures. */
233
256
    Int4 allocated_size; /**< Allocated size of the occurrences array. */
234
257
    double probability; /**< Estimated probability of the pattern */
 
258
    char* pattern;   /**< Pattern used, saved here for formatting purposes. */
235
259
} SPHIQueryInfo;
236
260
 
237
261
/************************* Progress monitoring/interruptible API *************/
268
292
 * [in]
269
293
 * Implemented in blast_util.c 
270
294
 */
 
295
NCBI_XBLAST_EXPORT
271
296
SBlastProgress* SBlastProgressNew(void* user_data);
272
297
 
273
298
/** Deallocates a SBlastProgress structure.
274
299
 * Implemented in blast_util.c */
 
300
NCBI_XBLAST_EXPORT
275
301
SBlastProgress* SBlastProgressFree(SBlastProgress* progress_info);
276
302
 
277
303
/** Resets the progress structure to its original state (as if newly allocated)
278
304
 * for a fresh start without touching the user_data field */
 
305
NCBI_XBLAST_EXPORT
279
306
void SBlastProgressReset(SBlastProgress* progress_info);
280
307
 
281
308
#ifdef __cplusplus