1 #ifndef ALGO_GNOMON___PARSE__HPP 2 #define ALGO_GNOMON___PARSE__HPP 3 4 /* $Id: parse.hpp 116643 2008-01-07 14:42:04Z chetvern $ 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: Alexandre Souvorov 30 * 31 * File Description: 32 * 33 */ 34 35 #include <corelib/ncbistd.hpp> 36 37 #include <algo/gnomon/gnomon.hpp> 38 #include "hmm.hpp" 39 40 BEGIN_NCBI_SCOPE 41 BEGIN_SCOPE(gnomon) 42 43 class CParse 44 { 45 public: 46 CParse(const CSeqScores& ss, 47 const CIntronParameters& intron_params, 48 const CIntergenicParameters& intergenic_params, 49 const CExonParameters& exon_params, 50 bool leftanchor, bool rightanchor); Path() const51 const CHMM_State* Path() const { return m_path; } 52 void PrintInfo() const; 53 list<CGeneModel> GetGenes() const; 54 // typedef list<CGene>::iterator TGenIt; 55 56 private: 57 CParse& operator=(const CParse&); 58 const CSeqScores& m_seqscr; 59 const CHMM_State* m_path; 60 61 vector<CIntergenic> m_igplus, m_igminus; 62 vector<CIntron> m_inplus[2][3], m_inminus[2][3]; 63 vector<CFirstExon> m_feplus[2][3], m_feminus; 64 vector<CInternalExon> m_ieplus[2][3], m_ieminus[2][3]; 65 vector<CLastExon> m_leplus, m_leminus[2][3]; 66 vector<CSingleExon> m_seplus, m_seminus; 67 }; 68 69 void LogicalCheck(const CHMM_State& st, const CSeqScores& ss); 70 71 72 END_SCOPE(gnomon) 73 END_NCBI_SCOPE 74 75 #endif // ALGO_GNOMON___PARSE__HPP 76