34 #ifndef VALIDATOR___VALIDERROR_IMP__HPP
35 #define VALIDATOR___VALIDERROR_IMP__HPP
135 shared_ptr<SValidatorContext> pContext,
142 void SetOptions(
Uint4 options);
144 void Reset(
size_t initialInferenceCount,
bool notJustLocalOrGeneral,
bool hasRefSeq);
165 bool GetTSANStretchErrors(
const CBioseq& seq);
167 bool GetTSAConflictingBiomolTechErrors (
const CBioseq& seq);
175 bool ShouldSubdivide()
const {
if (m_NumTopSetSiblings > 1000)
return true;
else return false; }
180 bool IsHugeFileMode()
const;
181 bool IsHugeSet(
const CBioseq_set& bioseqSet)
const;
227 bool RaiseGenomeSeverity(
EErrType et);
234 void ValidateOrgRef(
const COrg_ref& orgref,
const CSerialObject& obj,
const CSeq_entry *
ctx,
const bool checkForUndefinedSpecies =
false,
const bool is_single_cell_amplification =
false);
242 bool IsSyntheticConstruct (
const CBioSource& src);
246 const string& prefix,
const CSerialObject& obj,
bool lowerSev =
false);
249 NCBI_STD_DEPRECATED(
"Please use corresponding function in objtools/validator/utilities.hpp")
309 bool IsNoPubs()
const;
310 bool IsNoCitSubPubs()
const;
311 bool IsNoBioSource()
const;
315 bool IsPatent()
const;
316 bool IsRefSeq()
const;
332 bool IsGpipe()
const;
334 bool IsLocalGeneralOnly()
const;
335 bool HasGiOrAccnVer()
const;
336 bool IsGenomic()
const;
337 bool IsSeqSubmit()
const;
338 bool IsSmallGenomeSet()
const;
340 bool IsGenbank()
const;
341 bool DoesAnyFeatLocHaveGI()
const;
342 bool DoesAnyProductLocHaveGI()
const;
343 bool DoesAnyGeneHaveLocusTag()
const;
344 bool DoesAnyProteinHaveGeneralID()
const;
345 bool IsINSDInSep()
const;
346 bool IsGeneious()
const;
348 inline bool HasRefSeq(
void)
const {
return m_HasRefSeq; }
400 bool IsFarSequence(
const CSeq_id&
id);
412 void AddBioseqWithNoPub(
const CBioseq& seq);
413 void AddBioseqWithNoBiosource(
const CBioseq& seq);
415 static bool IsWGSIntermediate(
const CBioseq& seq);
416 static bool IsTSAIntermediate(
const CBioseq& seq);
418 void ReportMissingBiosource(
const CSeq_entry& se);
424 bool IsSerialNumberInComment(
const string& comment);
428 bool RequireLocalProduct(
const CSeq_id* sid)
const;
436 void x_Init(
Uint4 options,
size_t initialInferenceCount,
bool notJustLocalOrGeneral,
bool hasRefSeq);
443 m_scopeToRestore(scope), m_scopeOriginalValue(scope) { }
462 void x_AddValidErrItem(
EDiagSev sev,
467 const string& accession,
472 void InitializeSourceQualTags();
475 bool IsMixedStrands(
const CSeq_loc& loc);
486 bool HasTitle(
const CTitle& title);
487 bool HasIsoJTA(
const CTitle& title);
496 static bool s_IsSalmonellaGenus(
const string& taxname);
514 void x_InitLocCheck(SLocCheck&
lc,
const string& prefix);
515 void x_CheckForStrandChange(SLocCheck&
lc);
527 void x_ReportPCRSeqProblem(
const string& primer_kind,
531 void x_CheckPCRPrimer(
const CPCRPrimer& primer,
532 const string& primer_kind,
538 bool x_DowngradeForMissingAffil(
const CCit_sub& cs);
643 unique_ptr<CTaxValidationAndCleanup> x_CreateTaxValidator()
const;
646 unique_ptr<CValidatorEntryInfo> m_pEntryInfo = make_unique<CValidatorEntryInfo>();
static CRef< CScope > m_Scope
User-defined methods of the data storage class.
User-defined methods of the data storage class.
@Auth_list.hpp User-defined methods of the data storage class.
@Imp_feat.hpp User-defined methods of the data storage class.
@OrgMod.hpp User-defined methods of the data storage class.
@Pubdesc.hpp User-defined methods of the data storage class.
@RNA_ref.hpp User-defined methods of the data storage class.
namespace ncbi::objects::
Base class for all serializable objects.
CScopeRestorer(CRef< CScope > &scope)
CRef< CScope > & m_scopeToRestore
CRef< CScope > m_scopeOriginalValue
CRef< CObjectManager > m_ObjMgr
bool DoRubiscoTest() const
void PostErr(EDiagSev sv, EErrType et, const string &msg, TDesc ds)
const CSeq_entry_Handle & GetTSEH()
bool ReportSpliceAsError() const
void AddToPseudoCount(size_t num)
bool IsLatLonCheckState() const
size_t GetGeneCount(void) const
bool m_ValidateAlignments
void IncrementGeneCount()
bool IsRemoteFetch() const
void AddToTpaWithHistoryCount(size_t num)
bool IsSuppressContext() const
bool m_FarFetchCDSproducts
CValidator::TProgressCallback m_PrgCallback
bool m_GenerateGoldenFile
IValidError * m_ErrRepository
size_t m_NumMisplacedGraphs
bool m_NotJustLocalOrGeneral
void AddToMisplacedFeatureCount(size_t num)
void IncrementMisplacedFeatureCount()
bool IsValidateAlignments() const
size_t m_NumTopSetSiblings
const CConstRef< CSeq_annot > & GetSeqAnnot()
void ResetSmallGenomeSetMisplacedCount()
void ResetTpaWithoutHistoryCount()
bool GenerateGoldenFile() const
bool IsStandaloneAnnot() const
CConstRef< CSeq_feat > GetCachedGene(const CSeq_feat *f)
CConstRef< CSeq_annot > m_SeqAnnot
bool IsValidateIdSet() const
TSuppressed m_SuppressedErrors
bool IsLocusTagGeneralMatch() const
bool IgnoreInferences() const
CValidator::CProgressInfo m_PrgInfo
void AddToGeneXrefCount(size_t num)
const CTSE_Handle & GetTSE_Handle()
bool ValidateInferenceAccessions() const
size_t m_NumMisplacedFeatures
void IncrementMisplacedGraphCount()
void IncrementPseudogeneCount()
bool m_ValidateInferenceAccessions
bool m_LocusTagGeneralMatch
vector< CConstRef< CBioseq > > m_BioseqWithNoSource
const CSeq_annot & TAnnot
bool IsRequireTaxonID() const
void ResetGeneXrefCount()
bool IsSeqSubmitParent() const
size_t m_NumTpaWithHistory
const CSeq_graph & TGraph
void AddToMisplacedGraphCount(size_t num)
size_t m_NumTpaWithoutHistory
bool IsGenomeSubmission() const
void ResetPseudogeneCount()
void AddToGeneCount(size_t num)
void IncrementGeneXrefCount()
void AddToSmallGenomeSetMisplacedCount(size_t num)
bool IsLatLonIgnoreWater() const
bool m_ReportSpliceAsError
bool IsFarFetchCDSproducts() const
void ResetTpaWithHistoryCount()
void AddToTpaWithoutHistoryCount(size_t num)
void IncrementTpaWithHistoryCount()
bool IsValidateExons() const
size_t GetCumulativeInferenceCount(void) const
size_t m_NumSmallGenomeSetMisplaced
map< CSubSource::TSubtype, int > TCount
bool IgnoreExceptions() const
vector< CConstRef< CSeq_id > > m_InitialSeqIds
bool m_FarFetchMRNAproducts
void ResetCumulativeInferenceCount()
void SetFarFetchFailure()
CBioSourceKind m_biosource_kind
CConstRef< CSeq_entry > m_TSE
void IncrementTpaWithoutHistoryCount()
bool IsRefSeqConventions() const
bool IsIndexerVersion() const
bool IsRequireISOJTA() const
CGeneCache & GetGeneCache()
map< const CSeq_feat *, const CSeq_annot * > & TFeatAnnotMap
void AddToCumulativeInferenceCount(size_t num)
void IncrementSmallGenomeSetMisplacedCount()
size_t m_CumulativeInferenceCount
const CSeq_align & TAlign
void IncrementPseudoCount()
vector< int > m_PubSerialNumbers
void AddToPseudogeneCount(size_t num)
bool HasRefSeq(void) const
void ResetMisplacedGraphCount()
const CSeq_entry & TEntry
shared_ptr< SValidatorContext > m_pContext
const CSeq_entry & GetTSE() const
bool IsFarFetchMRNAproducts() const
bool DoCompareVDJCtoCDS() const
bool ShouldSubdivide() const
void IncrementCumulativeInferenceCount()
void ResetMisplacedFeatureCount()
size_t GetGeneXrefCount(void) const
CValidError_imp(const CValidError_imp &)
Cache various information for one validation run.
static const CTSE_Handle kEmptyTSEHandle
bool(* TProgressCallback)(CProgressInfo *)
Include a standard set of the NCBI C++ Toolkit most basic headers.
API (CDeflineGenerator) for computing sequences' titles ("definitions").
static const struct name_t names[]
static const char * str(char *buf, int n)
SStrictId_Entrez::TId TEntrezId
TEntrezId type for entrez ids which require the same strictness as TGi.
SStrictId_Tax::TId TTaxId
Taxon id type.
EDiagSev
Severity level for the posted diagnostics.
#define NCBI_STD_DEPRECATED(message)
uint32_t Uint4
4-byte (32-bit) unsigned integer
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define END_SCOPE(ns)
End the previously defined scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define BEGIN_SCOPE(ns)
Define a new scope.
#define NCBI_VALIDATOR_EXPORT
ENa_strand
strand of nucleic acid
const string version
version string
std::istream & in(std::istream &in_, double &x_)
static wxString GetContext(const wxString &str, int pos)
static SLJIT_INLINE sljit_ins msg(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)