1 #ifndef ALGO_BLAST_API___DELTABLAST_OPTIONS__HPP 2 #define ALGO_BLAST_API___DELTABLAST_OPTIONS__HPP 3 4 /* $Id: deltablast_options.hpp 349728 2012-01-12 18:51:12Z boratyng $ 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: Greg Boratyn 30 * 31 */ 32 33 /// @file deltablast_options.hpp 34 /// Declares the CDeltaBlastOptionsHandle class. 35 36 37 #include <algo/blast/api/psiblast_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 class NCBI_XBLAST_EXPORT CDeltaBlastOptionsHandle : public CPSIBlastOptionsHandle 53 { 54 public: 55 56 /// Creates object with default options set 57 CDeltaBlastOptionsHandle(EAPILocality locality = CBlastOptions::eLocal); 58 /// Destructor ~CDeltaBlastOptionsHandle()59 ~CDeltaBlastOptionsHandle() {} 60 61 /******************* DELTA BLAST options ***********************/ 62 63 /// Get e-value threshold for including domains in Pssm calculation 64 /// @return E-value cutoff for domains GetDomainInclusionThreshold(void) const65 double GetDomainInclusionThreshold(void) const 66 { return m_Opts->GetDomainInclusionThreshold(); } 67 68 /// Set e-value threshold for including domains in Pssm calculation 69 /// @param th E-value cutoff for domains [in] SetDomainInclusionThreshold(double th)70 void SetDomainInclusionThreshold(double th) 71 { m_Opts->SetDomainInclusionThreshold(th); } 72 73 /// Get e-value threshold for including sequences in Pssm calculation 74 /// @return E-value cutoff for sequences 75 /// 76 /// Same as GetInclusionThreshold().It was added for clear distinction 77 /// between Psi and Delta Blast inclusion thresholds GetPSIInclusionThreshold(void) const78 double GetPSIInclusionThreshold(void) const 79 {return GetInclusionThreshold(); } 80 81 /// Set e-value threshold for including sequences in Pssm calculation 82 /// @param th E-value cutoff for sequences [in] 83 /// 84 /// Same as SetInclusionThreshold().It was added for clear distinction 85 /// between Psi and Delta Blast inclusion thresholds SetPSIInclusionThreshold(double th)86 void SetPSIInclusionThreshold(double th) 87 { SetInclusionThreshold(th); } 88 89 protected: 90 91 /// Set the program and service name for remote blast SetRemoteProgramAndService_Blast3()92 virtual void SetRemoteProgramAndService_Blast3() 93 { 94 m_Opts->SetRemoteProgramAndService_Blast3("blastp", "delta_blast"); 95 } 96 97 /// Override the parent class' default for filtering query sequence (i.e.: 98 /// no filtering applied to the query by default) 99 virtual void SetQueryOptionDefaults(); 100 101 /// Override the parent class' defaults for gapped extension (i.e.: 102 /// composition based statistics 1) 103 virtual void SetGappedExtensionDefaults(); 104 105 /// Sets Delta Blast defaults 106 void SetDeltaBlastDefaults(); 107 108 private: 109 /// Disallow copy constructor 110 CDeltaBlastOptionsHandle(const CDeltaBlastOptionsHandle& rhs); 111 /// Disallow assignment operator 112 CDeltaBlastOptionsHandle& operator=(const CDeltaBlastOptionsHandle& rhs); 113 }; 114 115 END_SCOPE(blast) 116 END_NCBI_SCOPE 117 118 119 /* @} */ 120 121 #endif /* ALGO_BLAST_API___DELTABLAST_OPTIONS__HPP */ 122