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

Go to the SVN repository for this file.

1 /* $Id: tblastn_args.hpp 94683 2021-08-30 13:30:53Z fongah2 $
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 tblastn_args.hpp
31  * Main argument class for TBLASTN application
32  */
33 
34 #ifndef ALGO_BLAST_BLASTINPUT___TBLASTN_ARGS__HPP
35 #define ALGO_BLAST_BLASTINPUT___TBLASTN_ARGS__HPP
36 
38 
40 BEGIN_SCOPE(blast)
41 
42 /// Handles command line arguments for Tblastn binary
44 {
45 public:
46  /// Constructor
48 
49  /// Get the PSSM
50  /// @return non-NULL PSSM if it's psi-tblastn
51  CRef<objects::CPssmWithParameters> GetInputPssm() const;
52 
53  /// Set the PSSM from the saved search strategy
54  void SetInputPssm(CRef<objects::CPssmWithParameters> pssm);
55 
56  /// Get the query batch size
57  virtual int GetQueryBatchSize() const;
58 
59 protected:
61  x_CreateOptionsHandle(CBlastOptions::EAPILocality locality,
62  const CArgs& args);
63 
64  /// PSI-BLAST specific argument class (for psi-tblastn)
65  /// @note this program is added to tblastn because all options for tblastn
66  /// apply to psitblastn (i.e.: db genetic code, cannot be iterated)
68 };
69 
71 {
72 public:
73  /// Constructor
74  CTblastnNodeArgs(const string & input);
75 
76  /// @inheritDoc
77  virtual int GetQueryBatchSize() const;
78 
79  /// Get the input stream
80  virtual CNcbiIstream& GetInputStream();
81 
82  /// Get the output stream
83  virtual CNcbiOstream& GetOutputStream();
84 
85  CNcbiStrstream & GetOutputStrStream() { return m_OutputStream; }
86 
87  virtual ~CTblastnNodeArgs();
88 
89 protected:
90  /// @inheritDoc
93 
94 private :
97 };
98 
99 END_SCOPE(blast)
101 
102 #endif /* ALGO_BLAST_BLASTINPUT___TBLASTN_ARGS__HPP */
Interface for converting blast-related command line arguments into blast options.
int GetQueryBatchSize(EProgram program, bool is_ungapped=false, bool remote=false, bool use_default=true, string task="", bool mt_mode=false)
Retrieve the appropriate batch size for the specified task.
CArgs –.
Definition: ncbiargs.hpp:379
Base command line argument class for a generic BLAST command line binary.
virtual CNcbiIstream & GetInputStream()
Get the input stream.
virtual CNcbiOstream & GetOutputStream()
Get the output stream.
EAPILocality
Enumerates the possible contexts in which objects of this type can be used.
Handles command line arguments for Tblastn binary.
virtual int GetQueryBatchSize() const
Get the query batch size.
CRef< CPsiBlastArgs > m_PsiBlastArgs
PSI-BLAST specific argument class (for psi-tblastn)
virtual CRef< CBlastOptionsHandle > x_CreateOptionsHandle(CBlastOptions::EAPILocality locality, const CArgs &args)
Create the options handle based on the command line arguments.
CNcbiStrstream m_OutputStream
CNcbiIstrstream * m_InputStream
CNcbiStrstream & GetOutputStrStream()
#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
IO_PREFIX::ostream CNcbiOstream
Portable alias for ostream.
Definition: ncbistre.hpp:149
IO_PREFIX::istream CNcbiIstream
Portable alias for istream.
Definition: ncbistre.hpp:146
#define NCBI_BLASTINPUT_EXPORT
Definition: ncbi_export.h:336
static int input()
Modified on Sun Jun 23 05:20:59 2024 by modify_doxy.py rev. 669887