include/algo/blast/api/blast_advprot_options.hpp

Go to the documentation of this file.
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 

Generated on Wed Dec 9 02:54:29 2009 for NCBI C++ ToolKit by  doxygen 1.4.6
Modified on Wed Dec 09 08:17:25 2009 by modify_doxy.py rev. 173732