00001 #ifndef ALGO_BLAST_API___ADVPROT_OPTIONS__HPP 00002 #define ALGO_BLAST_API___ADVPROT_OPTIONS__HPP 00003 00004 /* $Id: blast_advprot_options.hpp 144802 2008-11-03 20:57:20Z camacho $ 00005 * =========================================================================== 00006 * 00007 * PUBLIC DOMAIN NOTICE 00008 * National Center for Biotechnology Information 00009 * 00010 * This software/database is a "United States Government Work" under the 00011 * terms of the United States Copyright Act. It was written as part of 00012 * the author's official duties as a United States Government employee and 00013 * thus cannot be copyrighted. This software/database is freely available 00014 * to the public for use. The National Library of Medicine and the U.S. 00015 * Government have not placed any restriction on its use or reproduction. 00016 * 00017 * Although all reasonable efforts have been taken to ensure the accuracy 00018 * and reliability of the software and data, the NLM and the U.S. 00019 * Government do not and cannot warrant the performance or results that 00020 * may be obtained by using this software or data. The NLM and the U.S. 00021 * Government disclaim all warranties, express or implied, including 00022 * warranties of performance, merchantability or fitness for any particular 00023 * purpose. 00024 * 00025 * Please cite the author in any work or product based on this material. 00026 * 00027 * =========================================================================== 00028 * 00029 * Authors: Tom Madden 00030 * 00031 */ 00032 00033 /// @file blast_advprot_options.hpp 00034 /// Declares the CBlastAdvancedProteinOptionsHandle class. 00035 /// This class supports protein options such as composition-based stats and 00036 /// Smith-Waterman that are not implemented for blastx, tblastn, etc. 00037 00038 00039 #include <algo/blast/api/blast_prot_options.hpp> 00040 00041 /** @addtogroup AlgoBlast 00042 * 00043 * @{ 00044 */ 00045 00046 00047 BEGIN_NCBI_SCOPE 00048 BEGIN_SCOPE(blast) 00049 00050 /// Handle to the Advanced BLASTP options. 00051 /// 00052 /// Adapter class for advanced BLASTP options 00053 /// Exposes an interface to allow manipulation the options that are relevant to 00054 /// this type of search. 00055 00056 class CBlastAdvancedProteinOptionsHandle : 00057 public CBlastProteinOptionsHandle 00058 { 00059 public: 00060 00061 /// Creates object with default options set 00062 CBlastAdvancedProteinOptionsHandle(EAPILocality locality = CBlastOptions::eLocal); 00063 00064 /******************* Gapped extension options *******************/ 00065 00066 /// Returns this mode, which mostly specifies whether composition of db 00067 /// sequence is taken into account when calculating expect values. 00068 ECompoAdjustModes GetCompositionBasedStats() const { 00069 return m_Opts->GetCompositionBasedStats(); 00070 } 00071 00072 /// Sets this mode, which mostly specifies whether composition of db 00073 /// sequence is taken into account when calculating expect values. 00074 /// @param mode composition-based statistics mode [in] 00075 void SetCompositionBasedStats(ECompoAdjustModes mode) { 00076 m_Opts->SetCompositionBasedStats(mode); 00077 } 00078 00079 /// Returns this mode, specifying that smith waterman rather than the normal blast heuristic 00080 /// should be used for final extensions. 00081 /// into account when calculating expect values. 00082 bool GetSmithWatermanMode() const { return m_Opts->GetSmithWatermanMode(); } 00083 00084 /// Sets this mode, specifying that smith waterman rather than the normal blast heuristic 00085 /// should be used for final extensions. 00086 /// @param m use smith-waterman if true [in] 00087 void SetSmithWatermanMode(bool m = false) { m_Opts->SetSmithWatermanMode(m); } 00088 00089 protected: 00090 /// Overrides SetGappedExtensionDefaults for advanced blastp options 00091 void SetGappedExtensionDefaults(); 00092 00093 /// Overrides SetQueryOptionDefaults for advanced blastp options to disable filtering 00094 void SetQueryOptionDefaults(); 00095 00096 private: 00097 /// Disallow copy constructor 00098 CBlastAdvancedProteinOptionsHandle(const CBlastAdvancedProteinOptionsHandle& rhs); 00099 /// Disallow assignment operator 00100 CBlastAdvancedProteinOptionsHandle& operator=(const CBlastAdvancedProteinOptionsHandle& rhs); 00101 }; 00102 00103 END_SCOPE(blast) 00104 END_NCBI_SCOPE 00105 00106 00107 /* @} */ 00108 00109 #endif /* ALGO_BLAST_API___ADVPROT_OPTIONS__HPP */ 00110 00111
1.4.6
Modified on Wed Dec 09 08:17:25 2009 by modify_doxy.py rev. 173732