44 :
CAppJob(
"GFF3 Export"), m_Params(params)
65 unsigned int flags = 0;
97 const CBioseq* bioseq =
dynamic_cast<const CBioseq*
> (it->object.GetPointer());
104 const CSeq_loc* seqLoc =
dynamic_cast<const CSeq_loc*
> (it->object.GetPointer());
115 CFeat_CI iter(*scope, *seqLoc, sel);
116 for (; iter; ++iter) {
119 annot->
SetData().SetFtable().push_back(feat);
126 const CSeq_id* seqId =
dynamic_cast<const CSeq_id*
>(it->object.GetPointer());
136 err_msg =
"Failed to save file:\n";
140 if (err_msg.empty()) {
CAppJobError Default implementation for IAppJobError - encapsulates a text error message.
CAppJob - default implementation of IAppJob that could be used as a base class.
bool WriteFooter() override
Write a trailer marking the end of a parsing context.
bool WriteAnnot(const CSeq_annot &annot, const string &asmblyName="", const string &asmblyAccession="") override
Convenience function to render a "naked" Seq-annot.
bool WriteBioseqHandle(CBioseq_Handle bsh, const string &asmblyName="", const string &asmblyAccession="") override
Write Bioseq contained in given handle Essentially, will write all features that live on the given Bi...
bool WriteSeqEntryHandle(CSeq_entry_Handle seh, const string &asmblyName="", const string &asmblyAccession="") override
Write Seq-entry contained in a given handle.
bool WriteAlign(const CSeq_align &, const string &asmblyName="", const string &asmblyAccession="") override
Write a raw Seq-align to the internal output stream.
bool WriteHeader() override
Write a file header.
CGffExportParams m_Params
CGffExportJob(const CGffExportParams ¶ms)
virtual EJobState Run()
Function that does all the useful work, called by the Engine.
bool GetExactFlevel() const
wxString GetFileName() const
wxString GetFeatureDepth() const
bool GetExtraQuals() const
const TConstScopedObjects & GetObjects() const
namespace ncbi::objects::
static unsigned char depth[2 *(256+1+29)+1]
USING_SCOPE(ncbi::objects)
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define LOG_POST(message)
This macro is deprecated and it's strongly recomended to move in all projects (except tests) to macro...
const string & GetMsg(void) const
Get message string.
void Info(CExceptionArgs_Base &args)
CRef< CAppJobError > m_Error
string m_Descr
mutex to sync our internals
EJobState
Job states (describe FSM)
vector< SConstScopedObject > TConstScopedObjects
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Set object to copy of another one.
CBioseq_Handle AddBioseq(CBioseq &bioseq, TPriority pri=kPriority_Default, EExist action=eExist_Throw)
Add bioseq, return bioseq handle.
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...
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.
SAnnotSelector & SetExactDepth(bool value=true)
SetExactDepth() specifies that annotations will be searched on the segment level specified by SetReso...
const CSeq_feat & GetOriginalFeature(void) const
Get original feature with unmapped location/product.
SAnnotSelector & SetResolveDepth(int depth)
SetResolveDepth sets the limit of subsegment resolution in searching annotations.
void Reset(void)
Reset reference object.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
IO_PREFIX::ofstream CNcbiOfstream
Portable alias for ofstream.
void SetData(TData &value)
Assign a value to Data data member.
Defines classes: CDirEntry, CFile, CDir, CSymLink, CMemoryFile, CFileUtil, CFileLock,...