validatorp.hpp

来自「ncbi源码」· HPP 代码 · 共 1,149 行 · 第 1/3 页

HPP
1,149
字号
    void ValidateProt(const CProt_ref& prot, const CSerialObject& obj);    void ValidateRna(const CRNA_ref& rna, const CSeq_feat& feat);    void ValidateTrnaCodons(const CTrna_ext& trna, const CSeq_feat& feat);    void ValidateMrnaTrans(const CSeq_feat& feat);    void ValidateCommonMRNAProduct(const CSeq_feat& feat);    void ValidateRnaProductType(const CRNA_ref& rna, const CSeq_feat& feat);    void ValidateImp(const CImp_feat& imp, const CSeq_feat& feat);    void ValidateImpGbquals(const CImp_feat& imp, const CSeq_feat& feat);    void ValidatePeptideOnCodonBoundry(const CSeq_feat& feat,         const string& key);    void ValidateFeatPartialness(const CSeq_feat& feat);    void ValidateExcept(const CSeq_feat& feat);    void ValidateExceptText(const string& text, const CSeq_feat& feat);    void ValidateFeatCit(const CPub_set& cit, const CSeq_feat& feat);    void ValidateFeatComment(const string& comment, const CSeq_feat& feat);    void ValidateFeatBioSource(const CBioSource& bsrc, const CSeq_feat& feat);    bool IsPlastid(int genome);    bool IsOverlappingGenePseudo(const CSeq_feat& feat);    unsigned char Residue(unsigned char res);    int  CheckForRaggedEnd(const CSeq_loc&, const CCdregion& cdr);    bool SuppressCheck(const string& except_text);    string MapToNTCoords(const CSeq_feat& feat, const CSeq_loc& product,        TSeqPos pos);    bool IsPartialAtSpliceSite(const CSeq_loc& loc, unsigned int errtype);    bool IsTransgenic(const CBioSource& bsrc);    bool IsSameAsCDS(const CSeq_feat& feat);    bool IsCDDFeat(const CSeq_feat& feat) const;    // data    size_t m_NumGenes;    size_t m_NumGeneXrefs;};// =============================  Validate SeqDesc  ============================class CValidError_desc : private CValidError_base{public:    CValidError_desc(CValidError_imp& imp);    virtual ~CValidError_desc(void);    void ValidateSeqDesc(const CSeqdesc& desc);private:    void ValidateComment(const string& comment, const CSeqdesc& desc);    void ValidateUser(const CUser_object& usr, const CSeqdesc& desc);    void ValidateMolInfo(const CMolInfo& minfo, const CSeqdesc& desc);};// ============================  Validate SeqAlign  ============================class CValidError_align : private CValidError_base{public:    CValidError_align(CValidError_imp& imp);    virtual ~CValidError_align(void);    void ValidateSeqAlign(const CSeq_align& align);private:    typedef CSeq_align::C_Segs::TDendiag    TDendiag;    typedef CSeq_align::C_Segs::TDenseg     TDenseg;    typedef CSeq_align::C_Segs::TPacked     TPacked;    typedef CSeq_align::C_Segs::TStd        TStd;    typedef CSeq_align::C_Segs::TDisc       TDisc;    void x_ValidateDendiag(const TDendiag& dendiags, const CSeq_align& align);    void x_ValidateDenseg(const TDenseg& denseg, const CSeq_align& align);    void x_ValidateStd(const TStd& stdsegs, const CSeq_align& align);    void x_ValidatePacked(const TPacked& packed, const CSeq_align& align);    size_t x_CountBits(const CPacked_seg::TPresent& present);    // Check if dimension is valid    template <typename T>    bool x_ValidateDim(T& obj, const CSeq_align& align, size_t part = 0);    // Check if the  strand is consistent in SeqAlignment of global     // or partial type    void x_ValidateStrand(const TDenseg& denseg, const CSeq_align& align);    void x_ValidateStrand(const TPacked& packed, const CSeq_align& align);    void x_ValidateStrand(const TStd& std_segs, const CSeq_align& align);    // Check if an alignment is FASTA-like.     // Alignment is FASTA-like if all gaps are at the end with dimensions > 2.    void x_ValidateFastaLike(const TDenseg& denseg, const CSeq_align& align);    void x_ValidateFastaLike(const TPacked& packed, const CSeq_align& align);    void x_ValidateFastaLike(const TStd& std_segs, const CSeq_align& align);    // Check if there is a gap for all sequences in a segment.    void x_ValidateSegmentGap(const TDenseg& denseg, const CSeq_align& align);    void x_ValidateSegmentGap(const TPacked& packed, const CSeq_align& align);    void x_ValidateSegmentGap(const TStd& std_segs, const CSeq_align& align);    // Validate SeqId in sequence alignment.    void x_ValidateSeqId(const CSeq_align& align);    void x_GetIds(const CSeq_align& align, vector< CRef< CSeq_id > >& ids);    // Check segment length, start and end point in Dense_seg, Dense_diag     // and Std_seg    void x_ValidateSeqLength(const TDenseg& denseg, const CSeq_align& align);    void x_ValidateSeqLength(const TPacked& packed, const CSeq_align& align);    void x_ValidateSeqLength(const TStd& std_segs, const CSeq_align& align);    void x_ValidateSeqLength(const CDense_diag& dendiag, size_t dendiag_num,        const CSeq_align& align);};// ============================  Validate SeqGraph  ============================class CValidError_graph : private CValidError_base{public:    CValidError_graph(CValidError_imp& imp);    virtual ~CValidError_graph(void);    void ValidateSeqGraph(const CSeq_graph& graph);    SIZE_TYPE GetNumMisplacedGraphs(void) const { return m_NumMisplaced; }private:    bool x_IsMisplaced(const CSeq_graph& graph);    SIZE_TYPE   m_NumMisplaced;};// ============================  Validate SeqAnnot  ============================class CValidError_annot : private CValidError_base{public:    CValidError_annot(CValidError_imp& imp);    virtual ~CValidError_annot(void);    void ValidateSeqAnnot(const CSeq_annot& annot);private:};// ============================  Validate SeqDescr  ============================class CValidError_descr : private CValidError_base{public:    CValidError_descr(CValidError_imp& imp);    virtual ~CValidError_descr(void);    void ValidateSeqDescr(const CSeq_descr& descr);private:};END_SCOPE(validator)END_SCOPE(objects)END_NCBI_SCOPE/** ===========================================================================** $Log: validatorp.hpp,v $* Revision 1000.3  2004/06/01 19:47:42  gouriano* PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.64** Revision 1.64  2004/05/10 13:56:22  shomrat* Use CSeq_feat_Handle instead of FeatAnnotMap** Revision 1.63  2004/05/10 13:20:11  shomrat* + methods for validation of abutting UTRs** Revision 1.62  2004/04/27 18:40:50  shomrat* ProtWithoutFullRef report CDS feature instead of protein bioseq** Revision 1.61  2004/04/23 16:26:35  shomrat* Use sequence::GetNucleotideParent() instead of GetNucGivenProt()** Revision 1.60  2004/03/25 18:32:26  shomrat* + ValidatemRNABioseqContext()** Revision 1.59  2004/03/19 14:48:14  shomrat* + SEQ_FEAT_PartialsInconsistent** Revision 1.58  2004/03/10 21:23:09  shomrat* + SEQ_DESCR_UnwantedCompleteFlag** Revision 1.57  2004/03/01 18:39:21  shomrat* Added alternative start codon error** Revision 1.56  2004/02/25 15:52:51  shomrat* Added CollidingLocusTags error** Revision 1.55  2004/01/16 20:08:14  shomrat* Added LocusTagProblem error** Revision 1.54  2004/01/12 20:24:42  shomrat* Added ValidateCitSub** Revision 1.53  2003/12/17 19:15:19  shomrat* declarations for graph packaging problem test** Revision 1.52  2003/12/16 17:34:48  shomrat* Added SEQ_INST_SeqLocLength** Revision 1.51  2003/12/16 16:18:40  shomrat* Added ValidateCdConflict** Revision 1.50  2003/11/14 15:55:48  shomrat* added TPA history check** Revision 1.49  2003/11/12 20:30:24  shomrat* added error code for multiple cds on mRNA bioseq** Revision 1.48  2003/10/27 17:00:37  shomrat* changed signature of ValidatePubArticle** Revision 1.47  2003/10/27 14:53:57  shomrat* added eErr_SEQ_FEAT_UTRdoesNotAbutCDS** Revision 1.46  2003/10/27 14:14:11  shomrat* added eErr_SEQ_INST_SeqLitGapLength0** Revision 1.45  2003/10/24 17:56:07  shomrat* added ValidateOperon** Revision 1.44  2003/10/20 18:30:43  shomrat* added x_IsArtificial** Revision 1.43  2003/10/20 16:08:55  shomrat* genes and gene xrefs counters** Revision 1.42  2003/10/13 18:44:02  shomrat* Added error code for bad tRNA amino acid** Revision 1.41  2003/10/01 22:42:45  ucko* Actually declare CValidError_feat::IsCDDFeat....** Revision 1.40  2003/09/23 13:25:55  shomrat* Added IsDeltaSeqOnly test** Revision 1.39  2003/09/22 20:23:33  shomrat* Added x_IsMicroRNA** Revision 1.38  2003/09/03 18:25:09  shomrat* added SEQ_DESCR_RefGeneTrackingWithoutStatus** Revision 1.37  2003/08/06 15:05:42  shomrat* Added test for adjacent Ns in Seq-literal** Revision 1.36  2003/07/24 20:16:18  vasilche* Fixed typedefs for dbxref: list<CRef<CDbtag>> -> vector<CRef<CDbtag>>** Revision 1.35  2003/07/21 21:18:19  shomrat* Added eErr_SEQ_FEAT_MissingLocation** Revision 1.34  2003/07/15 18:26:43  shomrat* Added x_IsActiveFin** Revision 1.33  2003/07/02 21:03:38  shomrat* Added ValidateCDSPartial** Revision 1.32  2003/06/27 18:53:20  shomrat* Changed ValidateDbxref definition** Revision 1.31  2003/06/19 15:34:09  shomrat* Added IsOtherDNA and IsSynthetic** Revision 1.30  2003/06/02 16:06:43  dicuccio* Rearranged src/objects/ subtree.  This includes the following shifts:*     - src/objects/asn2asn --> arc/app/asn2asn*     - src/objects/testmedline --> src/objects/ncbimime/test*     - src/objects/objmgr --> src/objmgr*     - src/objects/util --> src/objmgr/util*     - src/objects/alnmgr --> src/objtools/alnmgr*     - src/objects/flat --> src/objtools/flat*     - src/objects/validator --> src/objtools/validator*     - src/objects/cddalignview --> src/objtools/cddalignview* In addition, libseq now includes six of the objects/seq... libs, and libmmdb* replaces the three libmmdb? libs.** Revision 1.29  2003/05/28 16:23:45  shomrat* Minor corrections.** Revision 1.28  2003/05/05 15:35:45  shomrat* Added ValidateCdsProductId** Revision 1.27  2003/04/29 14:55:09  shomrat* Added SeqAlign validation** Revision 1.26  2003/04/24 16:16:00  vasilche* Added missing includes and forward class declarations.** Revision 1.25  2003/04/15 14:53:32  shomrat* Added a progress callback mechanism** Revision 1.24  2003/04/10 19:25:07  shomrat* Added ValidateMolTypeContext** Revision 1.23  2003/04/07 14:56:09  shomrat* Added Seq-loc ids validation** Revision 1.22  2003/04/04 18:39:17  shomrat* Added Internal Exception error and tests for the availabilty of the sequence** Revision 1.21  2003/03/31 14:41:21  shomrat* $id: -> $id$** Revision 1.20  2003/03/28 16:28:53  shomrat* Added Seq-graph tests related methods** Revision 1.19  2003/03/21 21:12:17  shomrat* Added eErr_SEQ_DESCR_UnnecessaryBioSourceFocus; Change to signature of ValidateOrgContext** Revision 1.18  2003/03/21 19:37:04  shomrat* Added IsNucAcc and IsFlybaseDbxrefs** Revision 1.17  2003/03/21 16:21:46  shomrat* Added ValidateIDSetAgainstDb** Revision 1.16  2003/03/20 18:55:28  shomrat* Added validation of standalone Seq-annot objects** Revision 1.15  2003/02/24 20:16:41  shomrat* Holds refernce to the CValidError object, and not the internal TErrs** Revision 1.14  2003/02/14 21:46:20  shomrat* Added methods to check Bioseqs with no MolInfo** Revision 1.13  2003/02/12 17:40:35  shomrat* Added function for SEQ_DESCR checks** Revision 1.12  2003/02/07 21:09:43  shomrat* Added eErr_SEQ_INST_TerminalNs; Added helper methods** Revision 1.11  2003/02/03 20:18:14  shomrat* Added flag to skip performance bottlenecks (for testing)** Revision 1.10  2003/02/03 17:08:48  shomrat* Changed return value for GetCDSGivenProduct** Revision 1.9  2003/01/29 21:55:19  shomrat* Added check for et al** Revision 1.8  2003/01/24 20:39:40  shomrat* Added history validation for bioseq** Revision 1.7  2003/01/21 20:20:43  shomrat* Added private methods to facilitate the PubDesc Validation** Revision 1.6  2003/01/10 16:31:23  shomrat* Added private functions to CValidError_feat** Revision 1.5  2003/01/08 18:35:31  shomrat* Added mapping features to their enclosing annotation** Revision 1.4  2003/01/02 21:57:21  shomrat* Add eErr_SEQ_FEAT_BadProductSeqId error; Chenges in (mostly private) interfaces of validation classes** Revision 1.3  2002/12/24 16:52:15  shomrat* Changes to include directives** Revision 1.2  2002/12/23 20:09:02  shomrat* Added static functions as private members; Added base class for specific validation classes*** ===========================================================================*/#endif  /* VALIDATOR___VALIDATORP__HPP */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?