00001 #ifndef NGALIGN_ALIGNMENT_SCORER__HPP
00002 #define NGALIGN_ALIGNMENT_SCORER__HPP
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 #include <corelib/ncbistd.hpp>
00036 #include <corelib/ncbiobj.hpp>
00037 #include <objects/seqloc/Na_strand.hpp>
00038
00039 #include <objects/seqloc/Seq_loc.hpp>
00040 #include <objects/seqloc/Seq_id.hpp>
00041 #include <objmgr/scope.hpp>
00042 #include <objects/seqalign/Seq_align.hpp>
00043 #include <objects/seqalign/Seq_align_set.hpp>
00044 #include <objects/seqalign/Dense_seg.hpp>
00045
00046 #include <algo/blast/api/blast_types.hpp>
00047 #include <algo/blast/api/blast_options_handle.hpp>
00048 #include <algo/blast/api/sseqloc.hpp>
00049
00050 #include <algo/align/ngalign/ngalign_interface.hpp>
00051
00052
00053 BEGIN_NCBI_SCOPE
00054
00055 BEGIN_SCOPE(objects)
00056 class CScope;
00057 class CSeq_align;
00058 class CSeq_align_set;
00059 class CSeq_id;
00060 class CDense_seg;
00061 END_SCOPE(objects)
00062
00063 BEGIN_SCOPE(blast)
00064 class SSeqLoc;
00065 class CBlastOptionsHandle;
00066 END_SCOPE(blast)
00067
00068
00069
00070 class CBlastScorer : public IAlignmentScorer
00071 {
00072 public:
00073 CBlastScorer() { ; }
00074
00075 void ScoreAlignments(TAlignResultsRef Alignments, objects::CScope& Scope);
00076 };
00077
00078
00079 class CPctIdentScorer : public IAlignmentScorer
00080 {
00081 public:
00082 CPctIdentScorer() { ; }
00083
00084 void ScoreAlignments(TAlignResultsRef Alignments, objects::CScope& Scope);
00085 };
00086
00087
00088 class CPctCoverageScorer : public IAlignmentScorer
00089 {
00090 public:
00091 CPctCoverageScorer() { ; }
00092
00093 void ScoreAlignments(TAlignResultsRef Alignments, objects::CScope& Scope);
00094 };
00095
00096
00097 class CCommonComponentScorer : public IAlignmentScorer
00098 {
00099 public:
00100 CCommonComponentScorer() { ; }
00101
00102 void ScoreAlignments(TAlignResultsRef Alignments, objects::CScope& Scope);
00103
00104 private:
00105
00106 void x_GetUserCompList(CBioseq_Handle Handle,
00107 list<CRef<objects::CSeq_id> >& CompIds);
00108 void x_GetDeltaExtCompList(CBioseq_Handle Handle,
00109 TSeqPos Start, TSeqPos Stop,
00110 list<CRef<objects::CSeq_id> >& CompIds);
00111 void x_GetSeqHistCompList(CBioseq_Handle Handle,
00112 TSeqPos Start, TSeqPos Stop,
00113 list<CRef<objects::CSeq_id> >& CompIds);
00114
00115 void x_GetCompList(const objects::CSeq_id& Id,
00116 TSeqPos Start, TSeqPos Stop,
00117 list<CRef<objects::CSeq_id> >& CompIds,
00118 objects::CScope& Scope);
00119
00120 bool x_CompareCompLists(list<CRef<objects::CSeq_id> >& QueryIds,
00121 list<CRef<objects::CSeq_id> >& SubjectIds);
00122
00123 };
00124
00125
00126
00127
00128 END_NCBI_SCOPE
00129
00130 #endif
00131
00132