m_GraphValidator(imp),
57m_AlignValidator(imp),
80 const CObject_id& oid = iter->GetUser().GetType();
82 if(oid.
GetStr() ==
"Blast Type") {
84 "Record contains BLAST alignments", annot);
97}
else if(annot.
IsIds()) {
99 "Record contains Seq-annot.data.ids", annot);
100}
else if(annot.
IsLocs()) {
102 "Record contains Seq-annot.data.locs", annot);
103}
else if(annot.
IsGraph()) {
118 if(appropriate_parent) {
148 string label= seq.
GetId().front()->AsFastaString();
152 "Feature is not indexed on Bioseq "+
label, *feat_it);
157 for(
CSeq_loc_CIloc_it(feat_it->GetLocation()); loc_it; ++loc_it) {
158 const CSeq_id&
id= loc_it.GetSeq_id();
160 for(
const auto& id_it : seq.
GetId()) {
171loc_it.GetEmbeddingSeq_loc(),
175 if(parent && parent.
IsSeq()) {
194 if(parent && parent.
IsSeq()) {
221 boolanswer =
false;
224 const CBioseq* bioseq = b_ci->GetCompleteBioseq();
226 for(
const auto& id_it : bioseq->
GetId()) {
227 switch(id_it->Which()) {
261 const CSeq_id&
id= loc_it.GetSeq_id();
288 "Feature is not indexed on Bioseq ?", *feat_it);
289}
else if(is_embl_or_ddbj_on_set) {
291}
else if(!
set.IsSetClass() ||
294}
else if(feat_it->IsSetLocation() &&
311 boolfound_one =
false;
313 const CSeq_id&
id= loc_it.GetSeq_id();
318 if(! loc_it.IsWhole() && loc_it.GetRange().GetFrom() > in_record.
GetBioseqLength() - 1) {
326 if(! loc_it.IsWhole() && loc_it.GetRange().GetFrom() > seq_len - 1) {
339 if(!
f.IsSetLocation()) {
343 unsigned intzero_gi = 0;
346 if(lit.GetSeq_id().IsGi() && lit.GetSeq_id().GetGi() ==
ZERO_GI) {
353 "Feature has "+
NStr::UIntToString(zero_gi) +
" gi|0 location"+ (zero_gi > 1 ?
"s":
"") +
" on Bioseq "+
label,
User-defined methods of the data storage class.
User-defined methods of the data storage class.
@ eErr_SEQ_ANNOT_AnnotIDs
@ eErr_SEQ_FEAT_FeatureLocationIsGi0
@ eErr_SEQ_ALIGN_BlastAligns
@ eErr_SEQ_FEAT_UnindexedFeature
@ eErr_SEQ_ANNOT_AnnotLOCs
bool IsFtable(void) const
namespace ncbi::objects::
Seq-loc iterator class â iterates all intervals from a seq-loc in the correct order.
void ValidateSeqAlign(const CSeq_align &align, int order=-1)
~CValidError_annot() override
void ValidateSeqAnnot(const CSeq_annot_Handle &annot)
void ValidateSeqAnnotContext(const CSeq_annot &annot, const CBioseq &seq)
CValidError_align m_AlignValidator
bool IsLocationUnindexed(const CSeq_loc &loc)
void ReportLocationGI0(const CSeq_feat &f, const string &label)
CValidError_feat m_FeatValidator
CValidError_graph m_GraphValidator
static CSeq_entry_Handle GetAppropriateXrefParent(CSeq_entry_Handle seh)
void PostErr(EDiagSev sv, EErrType et, const string &msg, const CSerialObject &obj)
void SetScope(CScope &scope)
void SetTSE(CSeq_entry_Handle seh)
void ValidateSeqFeat(const CSeq_feat &feat)
void ValidateSeqGraph(const CSeq_graph &graph)
void ValidateSeqGraphContext(const CSeq_graph &graph, const CBioseq_set &set)
const CSeq_entry_Handle & GetTSEH()
void PostErr(EDiagSev sv, EErrType et, const string &msg, const CSerialObject &obj)
void IncrementMisplacedFeatureCount()
bool IsValidateAlignments() const
const CTSE_Handle & GetTSE_Handle()
bool IsSmallGenomeSet() const
void IncrementSmallGenomeSetMisplacedCount()
const CSeq_entry & GetTSE() const
bool ShouldSubdivide() const
CBioseq_Handle GetBioseqHandleFromLocation(CScope *scope, const CSeq_loc &loc, const CTSE_Handle &tse)
Include a standard set of the NCBI C++ Toolkit most basic headers.
const TSeqPos kInvalidSeqPos
Define special value for invalid sequence position.
@ eDiag_Error
Error message.
@ eDiag_Critical
Critical error message.
virtual bool Equals(const CSerialObject &object, ESerialRecursionMode how=eRecursive) const
Check if both objects contain the same values.
@ e_YES
SeqIds compared, but are different.
sequence::ECompare Compare(const CSeq_loc &loc1, const CSeq_loc &loc2, CScope *scope)
Returns the sequence::ECompare containment relationship between CSeq_locs.
CBioseq_Handle GetBioseqHandleFromTSE(const CSeq_id &id, const CTSE_Handle &tse)
Get bioseq handle for sequence withing one TSE.
static CRef< CObjectManager > GetInstance(void)
Return the existing object manager or create one.
CSeq_entry_Handle AddTopLevelSeqEntry(CSeq_entry &top_entry, TPriority pri=kPriority_Default, EExist action=eExist_Default)
Add seq_entry, default priority is higher than for defaults or loaders Add object to the score with p...
TSeqPos GetSequenceLength(const CSeq_id &id, TGetFlags flags=0)
Get sequence length Return kInvalidSeqPos if sequence is not found.
CBioseq_Handle GetBioseqHandle(const CSeq_id &id)
Get bioseq handle by seq-id.
void AddDefaults(TPriority pri=kPriority_Default)
Add default data loaders from object manager.
CBioseq_set_Handle GetBioseq_setHandle(const CBioseq_set &seqset, EMissing action=eMissing_Default)
CSeq_annot_Handle GetSeq_annotHandle(const CSeq_annot &annot, EMissing action=eMissing_Default)
@ fDoNotRecalculate
avoid time-consuming recalculation of missing data
CConstRef< CBioseq > GetCompleteBioseq(void) const
Get the complete bioseq.
TClass GetClass(void) const
CBioseq_set_Handle GetParentBioseq_set(void) const
Return a handle for the parent Bioseq-set, or null handle.
CSeq_entry_Handle GetParentEntry(void) const
Get parent Seq-entry handle.
TSeqPos GetBioseqLength(void) const
CConstRef< CSeq_annot > GetCompleteSeq_annot(void) const
Complete and return const reference to the current seq-annot.
CConstRef< CBioseq_set > GetCompleteBioseq_set(void) const
Return the complete bioseq-set object.
CBioseq_set_Handle GetParentBioseq_set(void) const
Return a handle for the parent Bioseq-set, or null handle.
CSeq_entry_Handle GetParentEntry(void) const
Get parent Seq-entry handle.
CConstRef< CSeq_entry > GetCompleteSeq_entry(void) const
Complete and get const reference to the seq-entry.
CSeq_entry_Handle GetParentEntry(void) const
Get parent Seq-entry handle.
TObjectType * GetPointer(void) const THROWS_NONE
Get pointer,.
#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.
static string UIntToString(unsigned int value, TNumToStringFlags flags=0, int base=10)
Convert UInt to string.
static const char label[]
bool IsStr(void) const
Check if variant Str is selected.
const TStr & GetStr(void) const
Get the variant data.
@ e_Tpe
Third Party Annot/Seq EMBL.
@ e_Tpd
Third Party Annot/Seq DDBJ.
@ eClass_parts
parts for 2 or 3
@ eClass_nuc_prot
nuc acid and coded proteins
@ eClass_gen_prod_set
genomic products, chrom+mRNA+protein
@ eClass_segset
segmented sequence + parts
TRepr GetRepr(void) const
Get the Repr member data.
const Tdata & Get(void) const
Get the member data.
const TGraph & GetGraph(void) const
Get the variant data.
const TInst & GetInst(void) const
Get the Inst member data.
const TId & GetId(void) const
Get the Id member data.
const TDesc & GetDesc(void) const
Get the Desc member data.
bool IsSetDesc(void) const
used only for stand alone Seq-annots Check if a value has been assigned to Desc data member.
const TAlign & GetAlign(void) const
Get the variant data.
const TFtable & GetFtable(void) const
Get the variant data.
const TData & GetData(void) const
Get the Data member data.
bool IsSetId(void) const
equivalent identifiers Check if a value has been assigned to Id data member.
@ eRepr_seg
segmented sequence
@ eRepr_raw
continuous sequence
bool s_IsBioseqInSet(CBioseq_Handle bsh, const CBioseq_set &set)
bool s_HasOneIntervalInSet(const CSeq_loc &loc, const CBioseq_set &set, CScope &scope, const CSeq_entry &tse)
static bool x_IsEmblOrDdbjOnSet(const CBioseq_set_Handle &set)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4