~ubuntu-branches/ubuntu/saucy/ncbi-tools6/saucy-proposed

« back to all changes in this revision

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

  • Committer: Bazaar Package Importer
  • Author(s): Aaron M. Ucko
  • Date: 2009-08-11 22:03:47 UTC
  • mfrom: (1.4.1 upstream)
  • mto: This revision was merged to the branch mainline in revision 10.
  • Revision ID: james.westby@ubuntu.com-20090811220347-g4b6lzdvphvvbpiu
* New upstream release.
* debian/libncbi6.symbols: update accordingly.
* debian/control: clean up obsolete or redundant relationship declarations.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*  $Id: blast_seqsrc.h,v 1.49 2008/07/17 17:55:44 kazimird Exp $
 
1
/*  $Id: blast_seqsrc.h,v 1.51 2009/05/27 17:39:36 kazimird Exp $
2
2
 * ===========================================================================
3
3
 *
4
4
 *                            PUBLIC DOMAIN NOTICE
198
198
     * eBlastEncodingNucleotide, etc [in] */
199
199
    EBlastEncoding encoding;
200
200
 
201
 
    /** Specify true here to enable this OID's ranges before fetching.
202
 
     * OID ranges are a (somewhat complicated) performance feature that
203
 
     * reduces the amount of nucleotide unpacking needed for some OIDs.
204
 
     * If in doubt, specify FALSE here.
205
 
     * TRUE to use ranges if they exist, FALSE to disable them. [in] */
206
 
    Boolean enable_ranges;
 
201
    /** This option allows the BLAST engine to communicate with the BlastSeqSrc
 
202
     * that the offset ranges for a given OID should be reset and the entire
 
203
     * sequence data should be fetched. The motivation for this option is to
 
204
     * exploit CSeqDB's performance feature that allows to retrieve only
 
205
     * pre-selected portions of the sequence data for the traceback stage.
 
206
     * BlastSeqSrc implementations that do not have this feature can safely
 
207
     * ignore this field.
 
208
     * By default, this should be set to FALSE. [in] */
 
209
    Boolean reset_ranges;
207
210
 
208
211
    /** Check whether an OID is excluded due to overlapping filtering.
209
212
     * The disease is rare, and the test for it is somewhat expensive,
276
279
} Blast_GiList;
277
280
 
278
281
/** Allocate a gi list with default size */
 
282
NCBI_XBLAST_EXPORT
279
283
Blast_GiList* Blast_GiListNew(void);
280
284
 
281
285
/** Allocate a gi list with the requested size 
282
286
 * @param list_size initial list size [in]
283
287
 */
 
288
NCBI_XBLAST_EXPORT
284
289
Blast_GiList* Blast_GiListNewEx(size_t list_size);
285
290
 
286
291
/** Deallocate memory associated with the gi list
287
292
 * @return NULL
288
293
 */
 
294
NCBI_XBLAST_EXPORT
289
295
Blast_GiList* Blast_GiListFree(Blast_GiList* gilist);
290
296
 
291
297
/* Return values */
292
298
 
293
299
/** Invalid parameter used in a function call */
 
300
NCBI_XBLAST_EXPORT
294
301
extern const Int2 kBadParameter;
295
302
/** Failure due to out-of-memory condition */
 
303
NCBI_XBLAST_EXPORT
296
304
extern const Int2 kOutOfMemory;
297
305
 
298
306
/** Appends to an existing gi list, allocating memory if necessary
323
331
NCBI_XBLAST_EXPORT
324
332
BlastSeqSrcIterator* BlastSeqSrcIteratorNew(void);
325
333
 
326
 
/** How many database sequences to process in one database chunk. */
 
334
/** How many database sequences to process in one database chunk. 
 
335
 * this value is overriden in seqdb implementation, where the number of sequences
 
336
 * is determined by the mmaped slice size */
327
337
extern const unsigned int kBlastSeqSrcDefaultChunkSize;
328
338
 
329
339
/** Allocate and initialize an iterator over a BlastSeqSrc. 
357
367
NCBI_XBLAST_EXPORT
358
368
void BlastSeqSrcResetChunkIterator(BlastSeqSrc* seq_src);
359
369
 
 
370
/** Set the number of threads for MT mode 
 
371
 * @param nthreads the number of threads [in]
 
372
 */
 
373
NCBI_XBLAST_EXPORT
 
374
void BlastSeqSrcSetNumberOfThreads(BlastSeqSrc* seq_src, int nthreads);
 
375
 
360
376
/*****************************************************************************/
361
377
 
362
378
#ifdef __cplusplus