src/objtools/validator/validerror_feat.cpp File Reference

#include <ncbi_pch.hpp>
#include <corelib/ncbistd.hpp>
#include <corelib/ncbistr.hpp>
#include "validatorp.hpp"
#include "utilities.hpp"
#include <serial/serialbase.hpp>
#include <objmgr/bioseq_handle.hpp>
#include <objmgr/seq_entry_handle.hpp>
#include <objmgr/feat_ci.hpp>
#include <objmgr/seqdesc_ci.hpp>
#include <objmgr/seq_vector.hpp>
#include <objmgr/scope.hpp>
#include <objmgr/util/sequence.hpp>
#include <objmgr/util/feature.hpp>
#include <objects/seqfeat/Seq_feat.hpp>
#include <objects/seqfeat/BioSource.hpp>
#include <objects/seqfeat/Cdregion.hpp>
#include <objects/seqfeat/Code_break.hpp>
#include <objects/seqfeat/Gb_qual.hpp>
#include <objects/seqfeat/Genetic_code.hpp>
#include <objects/seqfeat/Genetic_code_table.hpp>
#include <objects/seqfeat/Imp_feat.hpp>
#include <objects/seqfeat/Org_ref.hpp>
#include <objects/seqfeat/Prot_ref.hpp>
#include <objects/seqfeat/RNA_ref.hpp>
#include <objects/seqfeat/SubSource.hpp>
#include <objects/seqfeat/Trna_ext.hpp>
#include <objects/seqloc/Seq_loc.hpp>
#include <objects/seqloc/Seq_interval.hpp>
#include <objects/seqloc/Seq_point.hpp>
#include <objects/seqloc/Textseq_id.hpp>
#include <objects/seqset/Seq_entry.hpp>
#include <objects/seqset/Bioseq_set.hpp>
#include <objects/seq/MolInfo.hpp>
#include <objects/seq/Bioseq.hpp>
#include <objects/seq/seqport_util.hpp>
#include <objects/pub/Pub.hpp>
#include <objects/pub/Pub_set.hpp>
#include <objects/general/Dbtag.hpp>
#include <util/static_set.hpp>
#include <util/sequtil/sequtil_convert.hpp>
#include <algorithm>
#include <string>

Include dependency graph for validerror_feat.cpp:

Go to the source code of this file.

Enumerations

enum  EAccessionFormatError {
  eAccessionFormat_valid = 0, eAccessionFormat_no_start_letters, eAccessionFormat_wrong_number_of_digits, eAccessionFormat_null,
  eAccessionFormat_too_long, eAccessionFormat_missing_version, eAccessionFormat_bad_version
}

Functions

static bool s_IsLocRefSeqMrna (const CSeq_loc &loc, CScope &scope)
static bool s_IsLocGEDL (const CSeq_loc &loc, CScope &scope)
static int s_GetStrictGenCode (const CBioSource &src)
const char * GetAAName (unsigned char aa, bool is_ascii)
static string GetGeneticCodeName (int gcode)
static bool s_RptUnitIsBaseRange (string str, int &from, int &to)
static EAccessionFormatError s_ValidateAccessionString (string accession, bool require_version)
static bool s_StringConsistsOf (string str, string consist)
 DEFINE_STATIC_ARRAY_MAP (CStaticArraySet< string >, sc_BypassMrnaTransCheck, sc_BypassMrnaTransCheckText)
 DEFINE_STATIC_ARRAY_MAP (CStaticArraySet< string >, sc_BypassCdsTransCheck, sc_BypassCdsTransCheckText)
static void s_LocIdType (const CSeq_loc &loc, CScope &scope, const CSeq_entry &tse, bool &is_nt, bool &is_ng, bool &is_nw, bool &is_nc)

Variables

const string s_PlastidTxt []
static string s_LegalRepeatTypes []
static string s_LegalConsSpliceStrings []
int s_LegalNcbieaaValues []
static const char * kAANames []
static const string sc_BypassMrnaTransCheckText []
static const string s_LegalExceptionStrings []
static const string s_RefseqExceptionStrings []
static const string sc_BypassCdsTransCheckText []


Enumeration Type Documentation

enum EAccessionFormatError
 

Enumerator:
eAccessionFormat_valid 
eAccessionFormat_no_start_letters 
eAccessionFormat_wrong_number_of_digits 
eAccessionFormat_null 
eAccessionFormat_too_long 
eAccessionFormat_missing_version 
eAccessionFormat_bad_version 

Definition at line 1594 of file validerror_feat.cpp.


Function Documentation

DEFINE_STATIC_ARRAY_MAP CStaticArraySet< string >  ,
sc_BypassCdsTransCheck  ,
sc_BypassCdsTransCheckText 
 

DEFINE_STATIC_ARRAY_MAP CStaticArraySet< string >  ,
sc_BypassMrnaTransCheck  ,
sc_BypassMrnaTransCheckText 
 

const char* GetAAName unsigned char  aa,
bool  is_ascii
 

Definition at line 1300 of file validerror_feat.cpp.

References CSeq_data_Base::e_Ncbieaa, CSeq_data_Base::e_Ncbistdaa, and CSeqportUtil::GetMapToIndex().

static string GetGeneticCodeName int  gcode  )  [static]
 

Definition at line 1314 of file validerror_feat.cpp.

References CGenetic_code_table_Base::Get(), and CGen_code_table::GetCodeTable().

static int s_GetStrictGenCode const CBioSource src  )  [static]
 

Definition at line 608 of file validerror_feat.cpp.

References CBioSource_Base::eGenome_apicoplast, CBioSource_Base::eGenome_chloroplast, CBioSource_Base::eGenome_chromoplast, CBioSource_Base::eGenome_cyanelle, CBioSource_Base::eGenome_kinetoplast, CBioSource_Base::eGenome_leucoplast, CBioSource_Base::eGenome_mitochondrion, CBioSource_Base::eGenome_plastid, CBioSource_Base::eGenome_proplastid, CBioSource_Base::eGenome_unknown, CBioSource_Base::GetGenome(), CBioSource_Base::GetOrg(), CBioSource_Base::IsSetGenome(), and CBioSource_Base::IsSetOrg().

static bool s_IsLocGEDL const CSeq_loc loc,
CScope scope
[static]
 

Definition at line 221 of file validerror_feat.cpp.

References CSeq_id::eAcc_gb_embl_ddbj, CSeq_id::eAcc_local, FOR_EACH_SEQID_ON_BIOSEQ, CBioseq_Handle::GetBioseqCore(), and CScope::GetBioseqHandle().

static bool s_IsLocRefSeqMrna const CSeq_loc loc,
CScope scope
[static]
 

Definition at line 206 of file validerror_feat.cpp.

References CSeq_id::eAcc_refseq_mrna, FOR_EACH_SEQID_ON_BIOSEQ, CBioseq_Handle::GetBioseqCore(), and CScope::GetBioseqHandle().

static void s_LocIdType const CSeq_loc loc,
CScope scope,
const CSeq_entry tse,
bool &  is_nt,
bool &  is_ng,
bool &  is_nw,
bool &  is_nc
[static]
 

Definition at line 2684 of file validerror_feat.cpp.

References CSeq_id::eAcc_refseq_chromosome, CSeq_id::eAcc_refseq_contig, CSeq_id::eAcc_refseq_genomic, CSeq_id::eAcc_refseq_wgs_intermed, FOR_EACH_SEQID_ON_BIOSEQ, CBioseq_Handle::GetBioseqCore(), CScope::GetBioseqHandleFromTSE(), GetId(), and IsOneBioseq().

static bool s_RptUnitIsBaseRange string  str,
int &  from,
int &  to
[static]
 

Definition at line 1572 of file validerror_feat.cpp.

static bool s_StringConsistsOf string  str,
string  consist
[static]
 

Definition at line 1700 of file validerror_feat.cpp.

static EAccessionFormatError s_ValidateAccessionString string  accession,
bool  require_version
[static]
 

Definition at line 1603 of file validerror_feat.cpp.

References eAccessionFormat_null, eAccessionFormat_too_long, and NStr::IsBlank().


Variable Documentation

const char* kAANames[] [static]
 

Initial value:

 {
    "---", "Ala", "Asx", "Cys", "Asp", "Glu", "Phe", "Gly", "His", "Ile",
    "Lys", "Leu", "Met", "Asn", "Pro", "Gln", "Arg", "Ser", "Thr", "Val",
    "Trp", "OTHER", "Tyr", "Glx", "Sec", "TERM"
}

Definition at line 1293 of file validerror_feat.cpp.

string s_LegalConsSpliceStrings[] [static]
 

Initial value:

 {
  "(5'site:YES, 3'site:YES)",
  "(5'site:YES, 3'site:NO)",
  "(5'site:YES, 3'site:ABSENT)",
  "(5'site:NO, 3'site:YES)",
  "(5'site:NO, 3'site:NO)",
  "(5'site:NO, 3'site:ABSENT)",
  "(5'site:ABSENT, 3'site:YES)",
  "(5'site:ABSENT, 3'site:NO)",
  "(5'site:ABSENT, 3'site:ABSENT)"
}

Definition at line 193 of file validerror_feat.cpp.

const string s_LegalExceptionStrings[] [static]
 

Initial value:

 {
    "RNA editing",
    "reasons given in citation",
    "rearrangement required for product",
    "ribosomal slippage",
    "trans-splicing",
    "alternative processing",
    "artificial frameshift",
    "nonconsensus splice site",
    "modified codon recognition",
    "alternative start codon",
    "dicistronic gene",
    "transcribed product replaced",
    "translated product replaced",
    "transcribed pseudogene",
}

Definition at line 2554 of file validerror_feat.cpp.

int s_LegalNcbieaaValues[]
 

Initial value:

 { 42, 65, 66, 67, 68, 69, 70, 71, 72, 73,
                               75, 76, 77, 78, 80, 81, 82, 83, 84, 85,
                               86, 87, 88, 89, 90 }

Definition at line 1288 of file validerror_feat.cpp.

string s_LegalRepeatTypes[] [static]
 

Initial value:

 {
  "tandem", "inverted", "flanking", "terminal",
  "direct", "dispersed", "other"
}

Definition at line 187 of file validerror_feat.cpp.

Referenced by CValidError_feat::ValidateImpGbquals().

const string s_PlastidTxt[]
 

Initial value:

 {
  "",
  "",
  "chloroplast",
  "chromoplast",
  "",
  "",
  "plastid",
  "",
  "",
  "",
  "",
  "",
  "cyanelle",
  "",
  "",
  "",
  "apicoplast",
  "leucoplast",
  "proplastid",
  ""
}

Definition at line 163 of file validerror_feat.cpp.

const string s_RefseqExceptionStrings[] [static]
 

Initial value:

 {
    "unclassified transcription discrepancy",
    "unclassified translation discrepancy",
    "mismatches in transcription",
    "mismatches in translation",
    "adjusted for low-quality genome",
}

Definition at line 2572 of file validerror_feat.cpp.

const string sc_BypassCdsTransCheckText[] [static]
 

Initial value:

 {
  "RNA editing",
  "artificial frameshift",
  "mismatches in translation",
  "rearrangement required for product",
  "reasons given in citation",
  "unclassified translation discrepancy"  
}

Definition at line 2673 of file validerror_feat.cpp.

const string sc_BypassMrnaTransCheckText[] [static]
 

Initial value:

 {
    "RNA editing",
    "artificial frameshift",
    "mismatches in transcription"
    "reasons given in citation",
    "unclassified transcription discrepancy",    
}

Definition at line 2029 of file validerror_feat.cpp.


Generated on Mon Mar 16 05:07:14 2009 for NCBI C++ ToolKit by  doxygen 1.4.6
Modified on Mon Mar 16 12:51:03 2009 by modify_doxy.py rev. 117643