align_parms.hpp
上传用户:yhdzpy8989
上传日期:2007-06-13
资源大小:13604k
文件大小:4k
源码类别:

生物技术

开发平台:

C/C++

  1. /*
  2.  * ===========================================================================
  3.  * PRODUCTION $Log: align_parms.hpp,v $
  4.  * PRODUCTION Revision 1000.0  2004/04/12 17:54:45  gouriano
  5.  * PRODUCTION PRODUCTION: IMPORTED [CATCHUP_003] Dev-tree R1.1
  6.  * PRODUCTION
  7.  * ===========================================================================
  8.  */
  9. #ifndef ALGO_BLAST_API_DEMO___ALIGN_PARMS__HPP
  10. #define ALGO_BLAST_API_DEMO___ALIGN_PARMS__HPP
  11. /*  $Id: align_parms.hpp,v 1000.0 2004/04/12 17:54:45 gouriano Exp $
  12.  * ===========================================================================
  13.  *
  14.  *                            PUBLIC DOMAIN NOTICE
  15.  *               National Center for Biotechnology Information
  16.  *
  17.  *  This software/database is a "United States Government Work" under the
  18.  *  terms of the United States Copyright Act.  It was written as part of
  19.  *  the author's official duties as a United States Government employee and
  20.  *  thus cannot be copyrighted.  This software/database is freely available
  21.  *  to the public for use. The National Library of Medicine and the U.S.
  22.  *  Government have not placed any restriction on its use or reproduction.
  23.  *
  24.  *  Although all reasonable efforts have been taken to ensure the accuracy
  25.  *  and reliability of the software and data, the NLM and the U.S.
  26.  *  Government do not and cannot warrant the performance or results that
  27.  *  may be obtained by using this software or data. The NLM and the U.S.
  28.  *  Government disclaim all warranties, express or implied, including
  29.  *  warranties of performance, merchantability or fitness for any particular
  30.  *  purpose.
  31.  *
  32.  *  Please cite the author in any work or product based on this material.
  33.  *
  34.  * ===========================================================================
  35.  *
  36.  * Author:  Kevin Bealer
  37.  *
  38.  */
  39. /// @file align_parms.hpp
  40. /// This sets up formatting parametes for DisplaySeqalign.
  41. ///
  42. /// This code controls formatting options for the new DisplaySeqalign
  43. /// code.  Seperating it facilitates maintaining compatibility if and
  44. /// when DisplaySeqalign changes.
  45. #include "optional.hpp"
  46. #include <objtools/alnmgr/util/showalign.hpp>
  47. USING_NCBI_SCOPE;
  48. USING_SCOPE(objects);
  49. /// CAlignParms class sets formatting options for DisplaySeqalign.
  50. ///
  51. /// During the setup and execution of the search, this object is
  52. /// imbued with search details and formatting options necessary to
  53. /// configure the display of the output.  When it is time to output,
  54. /// adjust_display is called to set up the DisplaySeqalign object.
  55. /// The DisplaySeqalign code is new and malleable; this code is
  56. /// designed to isolate remote_blast from these changes.  It also
  57. /// serves to collect knowledge of the formatting interfaces in one
  58. /// part of the remote_blast application.
  59. class CAlignParms
  60. {
  61. public:
  62.     /// Constructor (no arguments required).
  63.     ///
  64.     /// Constructor (no arguments required).
  65.     CAlignParms(void)
  66.     {
  67.     }
  68.     
  69.     /// Set the RID to provide to DisplaySeqalign.
  70.     ///
  71.     /// I do not believe DisplaySeqalign makes use of the RID (yet),
  72.     /// but it has the option, so we set it in case this changes.
  73.     /// @param v RID string to pass to DisplaySeqalign.
  74.     void SetRID(const string & v) { m_RID = v; }
  75.     
  76.     /// Set the number of alignments to display.
  77.     ///
  78.     /// This number of alignments will be shown.  Currently, this
  79.     /// will always equal the number of the alignments retrieved, but
  80.     /// there are plans to change this.
  81.     /// @param n Number of alignments to display.
  82.     void SetNumAlgn(const TOptInteger & n)
  83.     {
  84.         m_NumAlgn = n;
  85.     }
  86.     
  87.     /// Set up the DisplaySeqalign.
  88.     ///
  89.     /// Set the accumulated and calculated formatting and output
  90.     /// options in the specified CDisplaySeqalign object.
  91.     /// @param disp The object to adjust.
  92.     void AdjustDisplay(CDisplaySeqalign & disp);
  93.     
  94. private:
  95.     /// RID of this search.
  96.     string      m_RID;
  97.     /// Number of alignments to display.
  98.     ///
  99.     /// If set, output will be limited to this number of alignments.
  100.     TOptInteger m_NumAlgn;
  101. };
  102. /*
  103.  * ===========================================================================
  104.  *
  105.  * $Log: align_parms.hpp,v $
  106.  * Revision 1000.0  2004/04/12 17:54:45  gouriano
  107.  * PRODUCTION: IMPORTED [CATCHUP_003] Dev-tree R1.1
  108.  *
  109.  * Revision 1.1  2004/02/18 17:04:41  bealer
  110.  * - Adapt blast_client code for Remote Blast API, merging code into the
  111.  *   remote_blast demo application.
  112.  *
  113.  * ===========================================================================
  114.  */
  115. #endif // ALGO_BLAST_API_DEMO___ALIGN_PARMS__HPP