|
NCBI Home IEB Home C Toolkit docs C++ Toolkit source browser C Toolkit source browser (2) |
NCBI C Toolkit Cross ReferenceC/algo/blast/api/hspfilter_queue.h |
source navigation diff markup identifier search freetext search file search |
1 /* $Id: hspfilter_queue.h,v 1.1 2009/06/01 13:54:56 maning Exp $
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: Ning Ma
27 *
28 */
29
30 /** @file hspfilter_queue.h
31 * Implementation of HSPWriter in queue mode.
32 */
33
34 #ifndef ALGO_BLAST_CORE__HSPFILTER_QUEUE__H
35 #define ALGO_BLAST_CORE__HSPFILTER_QUEUE__H
36
37 #include <algo/blast/core/ncbi_std.h>
38 #include <algo/blast/core/blast_program.h>
39 #include <algo/blast/core/blast_options.h>
40 #include <algo/blast/core/blast_hspfilter.h>
41 #include <algo/blast/core/blast_hits.h>
42 #include <connect/ncbi_core.h>
43
44 #ifdef __cplusplus
45 extern "C" {
46 #endif
47
48 /** Probably need no options */
49 typedef struct BlastHSPQueueParams {
50 EBlastProgramType program;/**< program type */
51 } BlastHSPQueueParams;
52
53 /** Sets up parameter set for use by queue.
54 * @param program Blast program type.[in]
55 * @param hit_options field hitlist_size and hsp_num_max needed, a pointer to
56 * this structure will be stored on resulting structure.[in]
57 * @param ext_options field compositionBasedStats needed here. [in]
58 * @param scoring_options gapped_calculation needed here. [in]
59 * @return the pointer to the allocated parameter
60 */
61 NCBI_XBLAST_EXPORT
62 BlastHSPQueueParams*
63 BlastHSPQueueParamsNew();
64
65 /** Deallocates the BlastHSPQueueParams structure passed in
66 * @param params structure to deallocate [in]
67 * @return NULL
68 */
69 NCBI_XBLAST_EXPORT
70 BlastHSPQueueParams*
71 BlastHSPQueueParamsFree(BlastHSPQueueParams* params);
72
73 /** WriterInfo to create a default writer: the collecter
74 * @param params The queue parameters.
75 * @return pointer to WriterInfo
76 */
77 NCBI_XBLAST_EXPORT
78 BlastHSPWriterInfo*
79 BlastHSPQueueInfoNew(BlastHSPQueueParams* params);
80
81
82 /** Read one HSP list from a queue of HSP lists. If the queue is empty, this
83 * function waits for more results to be written, unless results queue is
84 * already closed for writing.
85 * @param hsp_stream HSP list stream to read from [in]
86 * @param hsp_list_out The read HSP list. NULL, if there is nothing left
87 * in the queue to read.
88 * @return Status: success, error or end of reading.
89 */
90 NCBI_XBLAST_EXPORT
91 int
92 BlastHSPQueueRead(void* data, BlastHSPList** hsp_list_out);
93
94 #ifdef __cplusplus
95 }
96 #endif
97
98 #endif /* !ALGO_BLAST_CORE__HSPFILTER_QUEUE__H */
99 |
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more information. |