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 + -
显示快捷键?