NCBI C++ ToolKit
blast_hspstream_mt_utils.h
Go to the documentation of this file.

Go to the SVN repository for this file.

1 /* $Id: blast_hspstream_mt_utils.h 71621 2016-03-18 14:26:46Z rackerst $
2  * ===========================================================================
3  *
4  * PUBLIC DOMAIN NOTICE
5  * National Center for Biotechnology Information
6  *
7  * This software/database is a "United States Government Work" under the
8  * terms of the United States Copyright Act. It was written as part of
9  * the author's official duties as a United States Government employee and
10  * thus cannot be copyrighted. This software/database is freely available
11  * to the public for use. The National Library of Medicine and the U.S.
12  * Government have not placed any restriction on its use or reproduction.
13  *
14  * Although all reasonable efforts have been taken to ensure the accuracy
15  * and reliability of the software and data, the NLM and the U.S.
16  * Government do not and cannot warrant the performance or results that
17  * may be obtained by using this software or data. The NLM and the U.S.
18  * Government disclaim all warranties, express or implied, including
19  * warranties of performance, merchantability or fitness for any particular
20  * purpose.
21  *
22  * Please cite the author in any work or product based on this material.
23  *
24  * ===========================================================================
25  *
26  * Author: Christiam Camacho
27  *
28  */
29 
30 /** @file blast_hspstream_mt_utils.h
31  * Private interfaces to support the multi-threaded traceback in conjunction
32  * with the BlastHSPStream
33  */
34 
35 #ifndef ALGO_BLAST_CORE___BLAST_HSPSTREAM_MT_UTILS_PRIV__H
36 #define ALGO_BLAST_CORE___BLAST_HSPSTREAM_MT_UTILS_PRIV__H
37 
39 
40 #ifdef __cplusplus
41 extern "C" {
42 #endif
43 
44 /** Structure to extract the contents of the BlastHSPStream for MT traceback
45  * processing */
47  /** Array of batches, each corresponding to a single OID with BLAST hits */
49  /** number of batches populated in the array_of_batches element */
51  /** number of batches allocated in the array_of_batches element */
54 
55 /** Extracts all data from the BlastHSPStream into its output parameters.
56  * @param hsp_stream The BlastHSPStream object [in]
57  * @param batches Each batch contains the results for a single OID [in|out]
58  * kBlastHSPStream_Success on successful conversion, otherwise an error code which explains the problem.
59  */
63 
64 /**
65  * Creates a BlastHSPStreamResultsBatchArray with a single element.
66  * Used to mimic BlastHSPStreamToHSPStreamResultsBatch when there is no
67  * hsp_stream.
68  */
72 
73 /** Releases memory acquired in BlastHSPStreamToHSPStreamResultsBatch
74  */
78 
79 
80 #ifdef __cplusplus
81 }
82 #endif
83 
84 #endif /* !ALGO_BLAST_CORE__BLAST_HSPSTREAM_MT_UTILS_PRIV__H */
#define NCBI_XBLAST_EXPORT
NULL operations for other cases.
Definition: blast_export.h:65
Declaration of ADT to save and retrieve lists of HSPs in the BLAST engine.
int BlastHSPStreamToHSPStreamResultsBatch(BlastHSPStream *hsp_stream, BlastHSPStreamResultsBatchArray **batches)
Extracts all data from the BlastHSPStream into its output parameters.
struct BlastHSPStreamResultsBatchArray BlastHSPStreamResultsBatchArray
Structure to extract the contents of the BlastHSPStream for MT traceback processing.
BlastHSPStreamResultsBatchArray * BlastHSPStreamResultsBatchNew(void)
Creates a BlastHSPStreamResultsBatchArray with a single element.
BlastHSPStreamResultsBatchArray * BlastHSPStreamResultsBatchArrayFree(BlastHSPStreamResultsBatchArray *batches)
Releases memory acquired in BlastHSPStreamToHSPStreamResultsBatch.
uint32_t Uint4
4-byte (32-bit) unsigned integer
Definition: ncbitype.h:103
structure used to hold a collection of hits retrieved from the HSPStream
Structure to extract the contents of the BlastHSPStream for MT traceback processing.
Uint4 num_batches
number of batches populated in the array_of_batches element
BlastHSPStreamResultBatch ** array_of_batches
Array of batches, each corresponding to a single OID with BLAST hits.
Uint4 num_allocated
number of batches allocated in the array_of_batches element
Default implementation of BlastHSPStream.
Modified on Tue May 28 05:53:06 2024 by modify_doxy.py rev. 669887