33 #ifndef OBJTOOLS_READERS___GFF3_READER__HPP
34 #define OBJTOOLS_READERS___GFF3_READER__HPP
54 const string& )
override;
88 fGeneXrefs = (0x1 << 12),
94 const string& name =
"",
95 const string& title =
"",
113 const string&)
const;
126 virtual bool xInitializeFeature(
139 virtual bool xUpdateAnnotExon(
145 virtual bool xJoinLocationIntoRna(
149 virtual bool xUpdateAnnotCds(
155 virtual bool xUpdateAnnotGene(
161 virtual bool xUpdateAnnotRegion(
167 virtual bool xUpdateAnnotGeneric(
173 virtual bool xUpdateAnnotRna(
179 virtual bool xFindFeatureUnderConstruction(
183 void xVerifyCdsParents(
189 virtual bool xFeatureSetXrefGrandParent(
193 virtual bool xFeatureSetXrefParent(
199 static string xNextGenericId();
201 string xMakeRecordId(
204 void xVerifyExonLocation(
209 const string&)
override;
211 virtual void xAddPendingExon(
215 virtual void xGetPendingExons(
222 void xProcessAlignmentData(
230 virtual bool xParseAlignment(
231 const string& strLine);
234 const string& pragma)
override;
void xProcessData(const TReaderData &, CSeq_annot &) override
virtual bool xAddFeatureToAnnot(CRef< CSeq_feat >, CSeq_annot &)
virtual bool xParseFeature(const string &, CSeq_annot &, ILineErrorListener *)
void xPostProcessAnnot(CSeq_annot &) override
virtual bool xIsIgnoredFeatureType(const string &)
virtual bool xUpdateAnnotFeature(const CGff2Record &, CSeq_annot &, ILineErrorListener *=0)
virtual void xProcessSequenceRegionPragma(const string &)
string x_NormalizedAttributeKey(const string &)
bool AssignFromGff(const string &) override
map< string, string > mIdToSeqIdMap
CGff3ReadRecord * x_CreateRecord() override
map< string, string > mCdsParentMap
SAlignmentData mAlignmentData
shared_ptr< CGff3LocationMerger > mpLocations
PENDING_EXONS mPendingExons
shared_ptr< CGff3LocationMerger > GetLocationMerger()
map< string, CRef< CSeq_interval > > mMrnaLocs
static unsigned int msGenericIdCounter
CRef< CSeq_id >(*)(const string &, TReaderFlags, bool) SeqIdResolver
static CRef< CSeq_id > AsSeqId(const string &rawId, long flags=0, bool localInts=true)
Convert a raw ID string to a Seq-id, based in given customization flags.
virtual void xValidateAnnot(const CSeq_annot &)
virtual CRef< CSeq_annot > ReadSeqAnnot(CNcbiIstream &istr, ILineErrorListener *pErrors=nullptr)
Read an object from a given input stream, render it as a single Seq-annot.
Abstract base class for lightweight line-by-line reading.
Include a standard set of the NCBI C++ Toolkit most basic headers.
unsigned int TSeqPos
Type for sequence locations and lengths.
#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_XOBJREAD_EXPORT
MAP_ID_TO_ALIGN mAlignments