1 #ifndef ALGO_BLAST_API___PSIBLAST_OPTIONS__HPP 2 #define ALGO_BLAST_API___PSIBLAST_OPTIONS__HPP 3 4 /* $Id: psiblast_options.hpp 472241 2015-07-08 15:24:13Z fongah2 $ 5 * =========================================================================== 6 * 7 * PUBLIC DOMAIN NOTICE 8 * National Center for Biotechnology Information 9 * 10 * This software/database is a "United States Government Work" under the 11 * terms of the United States Copyright Act. It was written as part of 12 * the author's official duties as a United States Government employee and 13 * thus cannot be copyrighted. This software/database is freely available 14 * to the public for use. The National Library of Medicine and the U.S. 15 * Government have not placed any restriction on its use or reproduction. 16 * 17 * Although all reasonable efforts have been taken to ensure the accuracy 18 * and reliability of the software and data, the NLM and the U.S. 19 * Government do not and cannot warrant the performance or results that 20 * may be obtained by using this software or data. The NLM and the U.S. 21 * Government disclaim all warranties, express or implied, including 22 * warranties of performance, merchantability or fitness for any particular 23 * purpose. 24 * 25 * Please cite the author in any work or product based on this material. 26 * 27 * =========================================================================== 28 * 29 * Authors: Kevin Bealer 30 * 31 */ 32 33 /// @file psiblast_options.hpp 34 /// Declares the CPSIBlastOptionsHandle class. 35 36 37 #include <algo/blast/api/blast_advprot_options.hpp> 38 39 /** @addtogroup AlgoBlast 40 * 41 * @{ 42 */ 43 44 BEGIN_NCBI_SCOPE 45 BEGIN_SCOPE(blast) 46 47 /// Handle to the protein-protein options to the BLAST algorithm. 48 /// 49 /// Adapter class for protein-protein BLAST comparisons. 50 /// Exposes an interface to allow manipulation the options that are relevant to 51 /// this type of search. 52 53 class NCBI_XBLAST_EXPORT CPSIBlastOptionsHandle : public CBlastAdvancedProteinOptionsHandle 54 { 55 public: 56 57 /// Creates object with default options set 58 CPSIBlastOptionsHandle(EAPILocality locality = CBlastOptions::eLocal); 59 CPSIBlastOptionsHandle(CRef<CBlastOptions> opt)60 CPSIBlastOptionsHandle(CRef<CBlastOptions> opt):CBlastAdvancedProteinOptionsHandle(opt) {} 61 /// Destructor ~CPSIBlastOptionsHandle()62 ~CPSIBlastOptionsHandle() {} 63 64 /******************* PSI options ***********************/ 65 /// Returns InclusionThreshold GetInclusionThreshold() const66 double GetInclusionThreshold() const { return m_Opts->GetInclusionThreshold(); } 67 /// Sets InclusionThreshold 68 /// @param incthr InclusionThreshold [in] SetInclusionThreshold(double incthr)69 void SetInclusionThreshold(double incthr) { m_Opts->SetInclusionThreshold(incthr); } 70 71 /// Returns PseudoCount GetPseudoCount() const72 int GetPseudoCount() const { return m_Opts->GetPseudoCount(); } 73 /// Sets PseudoCount 74 /// @param p PseudoCount [in] SetPseudoCount(int p)75 void SetPseudoCount(int p) { m_Opts->SetPseudoCount(p); } 76 77 /// Sets default options for psi tblastn search 78 void SetPSITblastnDefaults(); 79 80 protected: 81 /// Set the program and service name for remote blast. SetRemoteProgramAndService_Blast3()82 virtual void SetRemoteProgramAndService_Blast3() 83 { 84 m_Opts->SetRemoteProgramAndService_Blast3("blastp", "psi"); 85 } 86 87 /// Override the parent class' default for filtering query sequence (i.e.: 88 /// no filtering applied to the query by default) 89 virtual void SetQueryOptionDefaults(); 90 91 /// Sets PSIBlastDefaults 92 void SetPSIBlastDefaults(); 93 94 private: 95 /// Disallow copy constructor 96 CPSIBlastOptionsHandle(const CPSIBlastOptionsHandle& rhs); 97 /// Disallow assignment operator 98 CPSIBlastOptionsHandle& operator=(const CPSIBlastOptionsHandle& rhs); 99 }; 100 101 END_SCOPE(blast) 102 END_NCBI_SCOPE 103 104 105 /* @} */ 106 107 #endif /* ALGO_BLAST_API___PSIBLAST_OPTIONS__HPP */ 108