NCBI C++ ToolKit
objmgr_query_data.hpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 /* $Id: objmgr_query_data.hpp 39051 2008-08-21 19:28:07Z camacho $
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 objmgr_query_data.hpp
31  * NOTE: This file contains work in progress and the APIs are likely to change,
32  * please do not rely on them until this notice is removed.
33  */
34 
35 #ifndef ALGO_BLAST_API__OBJMGR_QUERY_DATA__HPP
36 #define ALGO_BLAST_API__OBJMGR_QUERY_DATA__HPP
37 
40 
41 /** @addtogroup AlgoBlast
42  *
43  * @{
44  */
45 
47 BEGIN_SCOPE(blast)
48 
49 /// NCBI C++ Object Manager dependant implementation of IQueryFactory
51 {
52 public:
53  /// ctor that takes a vector of SSeqLoc
54  /// @param queries vector of SSeqLoc [in]
56  /// ctor that takes a CBlastQueryVector (preferred)
57  /// @param queries for search [in]
59 
60  /// Retrieve the CScope objects associated with the query sequences
61  /// associated with this object. In the case when CSeq_loc or TSeqLocs are
62  /// provided, a newly constructed CScope object will be returned per query
63  /// @note This method is intended to be used for query splitting only
64  vector< CRef<objects::CScope> > ExtractScopes();
65 
66  /// Retrieve any user specified masking locations
67  /// @note This method is intended to be used for query splitting only
68  TSeqLocInfoVector ExtractUserSpecifiedMasks();
69 
70  /// Retrieves the TSeqLocVector used to construct this object or a
71  /// conversion of the CBlastQueryVector provided
72  TSeqLocVector GetTSeqLocVector();
73 
74 protected:
75  CRef<ILocalQueryData> x_MakeLocalQueryData(const CBlastOptions* opts);
76  CRef<IRemoteQueryData> x_MakeRemoteQueryData();
77 
78 private:
81 };
82 
83 END_SCOPE(blast)
85 
86 /* @} */
87 
88 #endif /* ALGO_BLAST_API__OBJMGR_QUERY_DATA_HPP */
#define NCBI_XBLAST_EXPORT
NULL operations for other cases.
Definition: blast_export.h:65
Encapsulates ALL the BLAST algorithm's options.
Query Vector.
Definition: sseqloc.hpp:276
NCBI C++ Object Manager dependant implementation of IQueryFactory.
Source of query sequence data for BLAST Provides an interface for search classes to retrieve sequence...
Definition: query_data.hpp:147
CRef< CBlastQueryVector > m_QueryVector
TSeqLocVector m_SSeqLocVector
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define END_SCOPE(ns)
End the previously defined scope.
Definition: ncbistl.hpp:75
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
#define BEGIN_SCOPE(ns)
Define a new scope.
Definition: ncbistl.hpp:72
NOTE: This file contains work in progress and the APIs are likely to change, please do not rely on th...
vector< TMaskedQueryRegions > TSeqLocInfoVector
Collection of masked regions for all queries in a BLAST search.
Definition: seqlocinfo.hpp:139
Definition of SSeqLoc structure.
vector< SSeqLoc > TSeqLocVector
Vector of sequence locations.
Definition: sseqloc.hpp:129
Modified on Sat Mar 02 10:54:53 2024 by modify_doxy.py rev. 669887