include/algo/align/ngalign/alignment_scorer.hpp

Go to the documentation of this file.
00001 #ifndef NGALIGN_ALIGNMENT_SCORER__HPP
00002 #define NGALIGN_ALIGNMENT_SCORER__HPP
00003 
00004 /*  $Id: alignment_scorer.hpp 174239 2009-10-26 15:16:34Z boukn $
00005  * ===========================================================================
00006  *
00007  *                            PUBLIC DOMAIN NOTICE
00008  *               National Center for Biotechnology Information
00009  *
00010  *  This software/database is a "United States Government Work" under the
00011  *  terms of the United States Copyright Act.  It was written as part of
00012  *  the author's official duties as a United States Government employee and
00013  *  thus cannot be copyrighted.  This software/database is freely available
00014  *  to the public for use. The National Library of Medicine and the U.S.
00015  *  Government have not placed any restriction on its use or reproduction.
00016  *
00017  *  Although all reasonable efforts have been taken to ensure the accuracy
00018  *  and reliability of the software and data, the NLM and the U.S.
00019  *  Government do not and cannot warrant the performance or results that
00020  *  may be obtained by using this software or data. The NLM and the U.S.
00021  *  Government disclaim all warranties, express or implied, including
00022  *  warranties of performance, merchantability or fitness for any particular
00023  *  purpose.
00024  *
00025  *  Please cite the author in any work or product based on this material.
00026  *
00027  * ===========================================================================
00028  *
00029  * Authors:  Nathan Bouk
00030  *
00031  * File Description:
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 

Generated on Sun Dec 6 21:55:27 2009 for NCBI C++ ToolKit by  doxygen 1.4.6
Modified on Mon Dec 07 16:20:32 2009 by modify_doxy.py rev. 173732