📄 alnmix.hpp
字号:
int m_DS_Count; const CBioseq_Handle* m_BioseqHandle; CRef<CSeq_id> m_SeqId; int m_Score; bool m_IsAA; int m_Width; int m_Frame; bool m_PositiveStrand; TStarts m_Starts; CAlnMixSeq * m_RefBy; CAlnMixSeq * m_ExtraRow; int m_RowIndex; int m_SeqIndex; int m_DSIndex; TStarts::iterator m_StartIt; TMatchList m_MatchList; CSeqVector& GetSeqVector(void) { if ( !m_SeqVector ) { m_SeqVector = new CSeqVector (m_BioseqHandle->GetSeqVector(CBioseq_Handle::eCoding_Iupac)); } return *m_SeqVector; }private: CRef<CSeqVector> m_SeqVector;};class CAlnMixMatch : public CObject{public: CAlnMixMatch(void) : m_Score(0), m_Start1(0), m_Start2(0), m_Len(0), m_StrandsDiffer(false), m_DSIndex(0) {}; int m_Score; CAlnMixSeq * m_AlnSeq1, * m_AlnSeq2; TSeqPos m_Start1, m_Start2, m_Len; bool m_StrandsDiffer; int m_DSIndex; CAlnMixSeq::TMatchList::iterator m_MatchIter1, m_MatchIter2;};//////////////////////////////////////////////////////////////////////////////// inline methods /////////////////////////////////////////////////////////////////////////////////inlineCScope& CAlnMix::GetScope() const{ return const_cast<CScope&>(*m_Scope);}inlineconst CAlnMix::TConstDSs& CAlnMix::GetInputDensegs() const{ return m_InputDSs;}inlineconst CAlnMix::TConstAlns& CAlnMix::GetInputSeqAligns() const{ return m_InputAlns;}inlineconst CDense_seg& CAlnMix::GetDenseg() const{ if (!m_DS) { NCBI_THROW(CAlnException, eMergeFailure, "CAlnMix::GetDenseg(): " "Dense_seg is not available until after Merge()"); } return *m_DS;}inlineconst CSeq_align& CAlnMix::GetSeqAlign() const{ if (!m_Aln) { NCBI_THROW(CAlnException, eMergeFailure, "CAlnMix::GetSeqAlign(): " "Seq_align is not available until after Merge()"); } return *m_Aln;}///////////////////////////////////////////////////////////////////////////// end of inline methods /////////////////////////////////////////////////////////////////////////////END_objects_SCOPE // namespace ncbi::objects::END_NCBI_SCOPE/** ===========================================================================** $Log: alnmix.hpp,v $* Revision 1000.3 2004/06/01 19:38:16 gouriano* PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.38** Revision 1.38 2004/05/25 16:00:20 todorov* remade truncation of overlaps** Revision 1.37 2004/03/30 23:27:32 todorov* Switch from CAlnMix::x_RankSeqId() to CSeq_id::BestRank()** Revision 1.36 2004/03/15 17:46:03 todorov* Avoid multiple inheritance since Workshop has problems placing the vtables.* Now CAlnMix inherits from SSeqIdChooser which inherits from CObject** Revision 1.35 2004/03/09 17:15:46 todorov* + SSeqIdChooser implementation** Revision 1.34 2003/12/22 18:30:38 todorov* ObjMgr is no longer created internally. Scope should be passed as a reference in the ctor** Revision 1.33 2003/12/08 21:28:04 todorov* Forced Translation of Nucleotide Sequences** Revision 1.32 2003/11/03 14:43:52 todorov* Use CDense_seg::Validate()** Revision 1.31 2003/08/20 19:35:41 todorov* Added x_ValidateDenseg** Revision 1.30 2003/08/20 15:06:25 todorov* include path fixed** Revision 1.29 2003/08/20 14:35:14 todorov* Support for NA2AA Densegs** Revision 1.28 2003/06/26 21:35:53 todorov* + fFillUnalignedRegions** Revision 1.27 2003/06/25 15:17:26 todorov* truncation consistent for the whole segment now** Revision 1.26 2003/06/24 15:24:28 todorov* added optional truncation of overlaps** Revision 1.25 2003/06/09 20:54:12 todorov* Use of ObjMgr is now optional** Revision 1.24 2003/06/02 16:01:38 dicuccio* Rearranged include/objects/ subtree. This includes the following shifts:* - include/objects/alnmgr --> include/objtools/alnmgr* - include/objects/cddalignview --> include/objtools/cddalignview* - include/objects/flat --> include/objtools/flat* - include/objects/objmgr/ --> include/objmgr/* - include/objects/util/ --> include/objmgr/util/* - include/objects/validator --> include/objtools/validator** Revision 1.23 2003/05/30 17:42:45 todorov* x_CreateSegmentsVector now uses a stack to order the segs** Revision 1.22 2003/05/09 16:41:46 todorov* Optional mixing of the query sequence only** Revision 1.21 2003/03/28 16:47:22 todorov* Introduced TAddFlags (fCalcScore for now)** Revision 1.20 2003/03/26 16:38:31 todorov* mix independent densegs** Revision 1.19 2003/03/10 22:12:10 todorov* fixed x_CompareAlnMatchScores callback** Revision 1.18 2003/03/05 17:42:28 todorov* Allowing multiple mixes + general case speed optimization** Revision 1.17 2003/02/11 21:32:37 todorov* fMinGap optional merging algorithm** Revision 1.16 2003/01/23 16:30:36 todorov* Moved calc score to alnvec** Revision 1.15 2003/01/22 20:13:02 vasilche* Changed use of CBioseqHandle::GetSeqVector() method.** Revision 1.14 2003/01/10 00:42:42 todorov* Optional sorting of seqs by score** Revision 1.13 2003/01/02 16:39:57 todorov* Added accessors to the input data** Revision 1.12 2002/12/26 12:38:08 dicuccio* Added Win32 export specifiers** Revision 1.11 2002/12/24 16:20:57 todorov* Fixed initializing of a CTypeConstIterator** Revision 1.10 2002/12/23 18:03:41 todorov* Support for putting in and getting out Seq-aligns** Revision 1.9 2002/12/19 15:09:07 ucko* Reorder some definitions to make Compaq's C++ compiler happy.** Revision 1.8 2002/12/19 00:06:55 todorov* Added optional consolidation of segments that are gapped on the query.** Revision 1.7 2002/12/18 03:47:05 todorov* created an algorithm for mixing alignments that share a single sequence.** Revision 1.6 2002/11/08 19:43:33 grichenk* CConstRef<> constructor made explicit** Revision 1.5 2002/11/04 21:28:57 grichenk* Fixed usage of const CRef<> and CRef<> constructor** Revision 1.4 2002/10/25 20:02:20 todorov* new fTryOtherMethodOnFail flag** Revision 1.3 2002/10/24 21:31:33 todorov* adding Dense-segs instead of Seq-aligns** Revision 1.2 2002/10/08 18:02:09 todorov* changed the aln lst input param** Revision 1.1 2002/08/23 14:43:50 ucko* Add the new C++ alignment manager to the public tree (thanks, Kamen!)*** ===========================================================================*/#endif // OBJECTS_ALNMGR___ALNMIX__HPP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -