~ubuntu-branches/ubuntu/feisty/ncbi-tools6/feisty

« back to all changes in this revision

Viewing changes to algo/blast/api/blast_prelim.h

  • Committer: Bazaar Package Importer
  • Author(s): Barry deFreese
  • Date: 2005-09-27 15:38:20 UTC
  • mfrom: (1.1.3 upstream) (2.1.1 sarge)
  • Revision ID: james.westby@ubuntu.com-20050927153820-1t1sta0qirjpxaar
Tags: 6.1.20050429-1ubuntu1
GL/GLU Transition

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* $Id: blast_prelim.h,v 1.1 2004/07/06 19:56:08 dondosha Exp $
 
1
/* $Id: blast_prelim.h,v 1.6 2005/04/06 23:27:53 dondosha Exp $
2
2
* ===========================================================================
3
3
*
4
4
*                            PUBLIC DOMAIN NOTICE
21
21
*
22
22
*  Please cite the author in any work or product based on this material.
23
23
*
 
24
*  Author: Ilya Dondoshansky
24
25
* ===========================================================================*/
25
26
 
26
 
/*****************************************************************************
27
 
 
28
 
File name: blast_prelim.h
29
 
 
30
 
Author: Ilya Dondoshansky
31
 
 
32
 
Contents: Preliminary stage of a BLAST search performed by one of the threads
33
 
          in a multi-threaded search.
34
 
 
35
 
******************************************************************************
36
 
 * $Revision: 1.1 $
37
 
 * */
 
27
/** @file blast_prelim.h
 
28
 * Preliminary stage of a BLAST search performed by one of the threads
 
29
 * in a multi-threaded search.
 
30
 */
 
31
 
38
32
#ifndef __BLAST_PRELIM__
39
33
#define __BLAST_PRELIM__
40
34
 
52
46
#include <algo/blast/core/blast_hspstream.h>
53
47
#include <algo/blast/core/blast_diagnostics.h>
54
48
 
 
49
/** @addtogroup CToolkitAlgoBlast
 
50
 *
 
51
 * @{
 
52
 */
 
53
 
55
54
/** Data structure containing all information necessary for performing 
56
55
 * preliminary stage of a BLAST search.
57
56
 */
58
57
typedef struct BlastPrelimSearchThreadData {
59
 
   EBlastProgramType program;
 
58
   EBlastProgramType program; /**< BLAST program type */
60
59
   BLAST_SequenceBlk* query; /**< Query sequence */
61
60
   BlastQueryInfo* query_info; /**< Query information, including context
62
61
                                  offsets and effective lengths. */
63
62
   BlastSeqSrc* seq_src; /**< Source of the subject sequences */
64
 
   LookupTableWrap* lut;
65
 
   BlastScoringOptions* score_options;
66
 
   BlastInitialWordOptions* word_options;
67
 
   BlastExtensionOptions* ext_options;
68
 
   BlastHitSavingOptions* hit_options;
69
 
   BlastEffectiveLengthsOptions* eff_len_options;
70
 
   PSIBlastOptions* psi_options;
71
 
   BlastDatabaseOptions* db_options;
72
 
   BlastScoreBlk* sbp;
73
 
   BlastDiagnostics* diagnostics;
 
63
   LookupTableWrap* lut; /**< Lookup table for finding initial seeds. */
 
64
   const BlastScoringOptions* score_options; /**< Options for scoring
 
65
                                                  alignments. */
 
66
   const BlastInitialWordOptions* word_options; /**< Options for ungapped 
 
67
                                                 extension of initial seeds. */
 
68
   const BlastExtensionOptions* ext_options; /**< Gapped extension options. */
 
69
   const BlastHitSavingOptions* hit_options; /**< Hit saving options. */
 
70
   const BlastEffectiveLengthsOptions* eff_len_options; /**< Options specifying 
 
71
                                                           effective lengths */
 
72
   const PSIBlastOptions* psi_options; /**< Options specific to PSI BLAST. */
 
73
   const BlastDatabaseOptions* db_options; /**< Database options - genetic 
 
74
                                                code */
 
75
   BlastScoreBlk* sbp; /**< Scoring block, containing Karlin-Altschul 
 
76
                            parameters. */
 
77
   BlastDiagnostics* diagnostics; /**< Search diagnostic data, 
 
78
                                       e.g. hit counts. */
74
79
   BlastHSPStream* hsp_stream; /**< Source of the BLAST results */
75
80
} BlastPrelimSearchThreadData;
76
81
 
95
100
BlastPrelimSearchThreadData* 
96
101
BlastPrelimSearchThreadDataInit(EBlastProgramType program,
97
102
   BLAST_SequenceBlk* query, BlastQueryInfo* query_info,
98
 
   BlastSeqSrc* seq_src, LookupTableWrap* lut, 
99
 
   BlastScoringOptions* score_options, BlastInitialWordOptions* word_options,
100
 
   BlastExtensionOptions* ext_options, BlastHitSavingOptions* hit_options,
101
 
   BlastEffectiveLengthsOptions* eff_len_options,
102
 
   PSIBlastOptions* psi_options, BlastDatabaseOptions* db_options,
 
103
   const BlastSeqSrc* seq_src, LookupTableWrap* lut, 
 
104
   const BlastScoringOptions* score_options, 
 
105
   const BlastInitialWordOptions* word_options,
 
106
   const BlastExtensionOptions* ext_options, 
 
107
   const BlastHitSavingOptions* hit_options,
 
108
   const BlastEffectiveLengthsOptions* eff_len_options,
 
109
   const PSIBlastOptions* psi_options, 
 
110
   const BlastDatabaseOptions* db_options,
103
111
   BlastScoreBlk* sbp, BlastDiagnostics* diagnostics,
104
112
   BlastHSPStream* hsp_stream);
105
113
 
109
117
BlastPrelimSearchThreadData* 
110
118
BlastPrelimSearchThreadDataFree(BlastPrelimSearchThreadData* data);
111
119
 
112
 
/** Driver for the thread producing tabular output. */
 
120
/** Driver for the thread producing tabular output.
 
121
 * @param data Pointer to the BlastPrelimSearchThreadData structure. [in]
 
122
 */
113
123
void* Blast_PrelimSearchThreadRun(void* data);
114
124
 
 
125
/* @} */
 
126
 
115
127
#ifdef __cplusplus
116
128
}
117
129
#endif
 
130
 
118
131
#endif /* !__BLAST_PRELIM__ */
119
132