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

生物技术

开发平台:

C/C++

  1. /*
  2.  * ===========================================================================
  3.  * PRODUCTION $Log: splign_app.hpp,v $
  4.  * PRODUCTION Revision 1000.3  2004/06/01 18:05:29  gouriano
  5.  * PRODUCTION PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.9
  6.  * PRODUCTION
  7.  * ===========================================================================
  8.  */
  9. #ifndef ALGO_ALIGN_DEMO_SPLIGN_APP_HPP
  10. #define ALGO_ALIGN_DEMO_SPLIGN_APP_HPP
  11. /* $Id: splign_app.hpp,v 1000.3 2004/06/01 18:05:29 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:  Yuri Kapustin
  37. *
  38. * File Description:  Splign application class declarations
  39. *                   
  40. * ===========================================================================
  41. */
  42. #include "seq_loader.hpp"
  43. #include <algo/align/splign/splign.hpp>
  44. #include <corelib/ncbiapp.hpp>
  45. #include <corelib/ncbienv.hpp>
  46. #include <corelib/ncbiargs.hpp>
  47. BEGIN_NCBI_SCOPE
  48. class CSplignApp: public CNcbiApplication
  49. {
  50. public:
  51.     virtual void Init();
  52.     virtual int  Run();
  53. protected:
  54.     string    x_RunOnPair(vector<CHit>* hits, int model_id,
  55.                           size_t range_left, size_t range_right);
  56.     bool      x_GetNextPair(istream* ifs, vector<CHit>* hits);
  57.     istream*  x_GetPairwiseHitStream(CSeqLoaderPairwise& seq_loader_pw) const;
  58.     // status log
  59.     ofstream m_logstream;
  60.     void   x_LogStatus(size_t model_id, const string& query,
  61.                        const string& subj, bool error, const string& msg);
  62. private:
  63.     string       m_firstline;
  64.     vector<CHit> m_pending; 
  65. #ifdef GENOME_PIPELINE
  66.     CNWAligner::TScore m_Wm;
  67.     CNWAligner::TScore m_Wms;
  68.     CNWAligner::TScore m_Wg;
  69.     CNWAligner::TScore m_Ws;
  70.     CNWAligner::TScore m_Wi [4];
  71.     size_t m_IntronMinSize;
  72. #endif
  73. };
  74. END_NCBI_SCOPE
  75. /*
  76.  * ===========================================================================
  77.  * $Log: splign_app.hpp,v $
  78.  * Revision 1000.3  2004/06/01 18:05:29  gouriano
  79.  * PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.9
  80.  *
  81.  * Revision 1.9  2004/05/10 16:40:12  kapustin
  82.  * Support a pairwise mode
  83.  *
  84.  * Revision 1.8  2004/05/04 15:23:45  ucko
  85.  * Split splign code out of xalgoalign into new xalgosplign.
  86.  *
  87.  * Revision 1.7  2004/04/23 14:33:32  kapustin
  88.  * *** empty log message ***
  89.  *
  90.  * Revision 1.5  2003/12/23 16:50:25  kapustin
  91.  * Reorder includes to activate msvc pragmas
  92.  *
  93.  * Revision 1.4  2003/12/15 20:16:58  kapustin
  94.  * GetNextQuery() ->GetNextPair()
  95.  *
  96.  * Revision 1.3  2003/11/20 14:38:10  kapustin
  97.  * Add -nopolya flag to suppress Poly(A) detection.
  98.  *
  99.  * Revision 1.2  2003/11/05 20:32:11  kapustin
  100.  * Include source information into the index
  101.  *
  102.  * Revision 1.1  2003/10/30 19:37:20  kapustin
  103.  * Initial toolkit revision
  104.  *
  105.  * ===========================================================================
  106.  */
  107. #endif