(
auto& annt : bsp.
GetAnnot()) {
142 if(! annt->IsFtable()) {
145 for(
auto& feat : annt->GetData().GetFtable()) {
146 if(! feat->IsSetQual()) {
149 for(
auto& qual : feat->GetQual()) {
160}
else if(sep.
IsSet()) {
162 for(
auto& seqentry : bssp.
GetSeq_set()) {
168 for(
auto& annt : bssp.
GetAnnot()) {
169 if(! annt->IsFtable()) {
172 for(
auto& feat : annt->GetData().GetFtable()) {
173 if(! feat->IsSetQual()) {
176 for(
auto& qual : feat->GetQual()) {
197 intnumInferences = 0;
208 template<
typename_Pred>
229 booluseSeqEntryIndexing =
true;
240useSeqEntryIndexing =
false;
244 if(useSeqEntryIndexing) {
259 booldoProt =
false;
260 booldoFastSets =
false;
279 if(showDebugTiming) {
289 if( tseh.
IsSet() ) {
307 cleanup.BasicCleanup( *tmp_se, options );
309 if( tmp_se->
IsSet() ) {
316 if(showDebugTiming) {
322 if(showDebugTiming) {
328 if(topent && topent->
IsSet()) {
423formatter->SetContext(*
m_Ctx);
425 if(showDebugTiming) {
433 for(
CBioseq_CIbioseq_it(entry); bioseq_it; ++bioseq_it) {
435 if(showDebugTiming) {
440 if(! bsh)
continue;
442 if( ! accn_filt.empty()) {
445 for(
auto& sid : bsp.
GetId()) {
446 switch(sid->Which()) {
458 const stringaccn_string = sid->GetSeqIdString();
459 if( accn_filt == accn_string ) {
462 const stringfasta_str = sid->AsFastaString();
463 if( accn_filt == fasta_str ) {
478 if(showDebugTiming) {
479 NcbiCerr<<
"Accession: "<< sidh <<
", ";
486 boolis_genomic =
false;
487 boolis_RNA =
false;
490 if(closest_molinfo) {
536flatfile_os = mo.
m_Os;
537 if( bsh.
IsNa() && ! doNuc )
continue;
538 if( bsh.
IsAa() && ! doProt )
continue;
539}
else if( bsh.
IsNa() ) {
541flatfile_os = mo.
m_On;
542}
else if((is_genomic || ! closest_molinfo) && mo.
m_Og) {
543flatfile_os = mo.
m_Og;
544}
else if(is_RNA && mo.
m_Or) {
545flatfile_os = mo.
m_Or;
547}
else if( bsh.
IsAa() ) {
549flatfile_os = mo.
m_Op;
553flatfile_os = mo.
m_Ou;
554}
else if(mo.
m_On) {
555flatfile_os = mo.
m_On;
562 if( bsh.
IsNa() && ! doNuc )
continue;
563 if( bsh.
IsAa() && ! doProt )
continue;
564newitem_os.
Reset(&item_os);
572 if(newitem_os.
Empty())
continue;
578*newitem_os, pCanceled) );
588gatherer->Gather(*
m_Ctx, *pItemOS, ent, bsh, useSeqEntryIndexing, doNuc, doProt, doFastSets);
590 if(showDebugTiming) {
758formatter->SetContext(*
ctx);
766 if(ftree.
Empty()) {
769ftree.
Reset(
newfeature::CFeatTree (iter));
825 return "(pos:"+ pos +
",aa:"+ aa +
",seq:"+ seq +
")";
842 if(!
rna.IsSetType()) {
851 if(!
rna.IsSetExt()) {
884 "Cannot deduce target bioseq.");
894loc.
SetInt().SetFrom(from);
897loc.
SetInt().SetStrand(strand);
906 if( entry.
IsSeq() ) {
914 "Cannot deduce target bioseq.");
958 "Cannot deduce target bioseq.");
973 if( m_pCanceledCallback && m_pCanceledCallback->IsCanceled() ) {
975 "FlatFileGeneration canceled by ICancel callback");
977m_pUnderlying->AddItem(item);
User-defined methods of the data storage class.
CBioseq_set_EditHandle â.
CConstRef< CSeqdesc > GetClosestDescriptor(CSeqdesc::E_Choice choice, int *level=NULL) const
@ eClean_FlatfileHTMLMode
@ eClean_FlatfileGenerator
In-memory stream (a la strstream or stringstream)
void SetStyleMaster(void)
const TFormat & GetFormat(void) const
bool IsPolicyInternal(void) const
const ICanceled * GetCanceledCallback(void) const
bool IsPolicyExhaustive(void) const
bool IsPolicyExternal(void) const
CFlatFileConfig & SetUseSeqEntryIndexer(bool val=true)
bool DisableDefaultIndex(void) const
bool OnlyNearFeatures(void) const
bool ShowCDDFeatures(void) const
bool IsPolicyFtp(void) const
bool UseSeqEntryIndexer(void) const
bool ShowSNPFeatures(void) const
bool IsPolicyWeb(void) const
int GetGapDepth(void) const
bool IsViewNuc(void) const
bool IsPolicyGenomes(void) const
bool ShowDebugTiming(void) const
int GetFeatDepth(void) const
bool IsViewAll(void) const
const string & GetSingleAccession(void) const
bool IsViewProt(void) const
bool HideSNPFeatures(void) const
bool HideCDDFeatures(void) const
bool BasicCleanup(void) const
bool FasterReleaseSets(void) const
bool IsStyleNormal(void) const
CFlatFileConfig & SetConfig(void)
void SetLocation(const CSeq_loc *loc)
SAnnotSelector & SetAnnotSelector(void)
const CRef< CSeqEntryIndex > GetSeqEntryIndex(void) const
void SetSubmit(const CSubmit_block &sub)
void SetSeqEntryIndex(CRef< CSeqEntryIndex > idx)
void ResetSeqEntryIndex(void)
bool UsingSeqEntryIndex(void) const
void SetSGS(const bool sgs)
const CFlatFileConfig & GetConfig(void) const
void SetEntry(const CSeq_entry_Handle &entry)
void SetFeatTree(feature::CFeatTree *tree)
Use this class to wrap CFlatItemOStream instances so that they check if canceled for every item added...
void AddItem(CConstRef< IFlatItem > item) override
void SetFormatter(IFormatter *formatter) override
If a subclass overrides this, it must call the parent class's version as its first action.
CRef< CFlatItemOStream > m_pUnderlying
void Generate(const CSeq_entry_Handle &entry, CFlatItemOStream &item_os, const multiout &={})
~CFlatFileGenerator(void)
SAnnotSelector & SetAnnotSelector(void)
void SetFeatTree(feature::CFeatTree *tree)
void ResetSeqEntryIndex(void)
static bool HasInference(const CSeq_entry_Handle &topseh)
CFlatFileGenerator(const CFlatFileConfig &cfg)
CBioseq_Handle x_DeduceTarget(const CSeq_entry_Handle &entry)
void SetSeqEntryIndex(CRef< CSeqEntryIndex > idx)
CRef< CFlatFileContext > m_Ctx
static string GetFTableAnticodonText(const CTrna_ext &trna_ext, CBioseqContext &ctx)
void SetConfig(const CFlatFileConfig &cfg)
static string GetSeqFeatText(const CMappedFeat &feat, CScope &scope, const CFlatFileConfig &cfg, CRef< feature::CFeatTree > ftree=null)
void x_GetLocation(const CSeq_entry_Handle &entry, TSeqPos from, TSeqPos to, ENa_strand strand, CSeq_loc &loc)
static CFlatGatherer * New(CFlatFileConfig::TFormat format)
static CFlatItemFormatter * New(CFlatFileConfig::TFormat format)
virtual void SetFormatter(IFormatter *formatter)
If a subclass overrides this, it must call the parent class's version as its first action.
const string & GetString(void) const
@RNA_ref.hpp User-defined methods of the data storage class.
CRef< CSeqMasterIndex > GetMasterIndex(void) const
void SetFeatDepth(int featDepth)
bool IsIndexFailure(void)
void SetGapDepth(int gapDepth)
CSeq_entry_Handle GetTopSEH(void) const
namespace ncbi::objects::
Interface for testing cancellation request in a long lasting operation.
Include a standard set of the NCBI C++ Toolkit most basic headers.
static void x_InferenceInSeqs(const CSeq_entry &sep, int *numInferences)
const int kInferenceCutoff
void VisitAllSeqSets(const objects::CSeq_entry &entry, _Pred m)
static void cleanup(void)
static const char location[]
unsigned int TSeqPos
Type for sequence locations and lengths.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
void ToString(string *)
The CConnMemoryStream::To* methods allow to obtain unread portion of the stream into a single contain...
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Optimized implementation of CSerialObject::Assign, which is not so efficient.
CBioseq_Handle GetBioseqFromSeqLoc(const CSeq_loc &loc, CScope &scope, CScope::EGetBioseqFlag flag=CScope::eGetBioseq_Loaded)
Retrieve the Bioseq Handle from a location.
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...
CSeq_entry_Handle GetSeq_entryHandle(CDataLoader *loader, const TBlobId &blob_id, EMissing action=eMissing_Default)
Get Seq-entry handle by its blob-id, with possible loading.
CBioseq_Handle GetBioseqHandle(const CSeq_id &id)
Get bioseq handle by seq-id.
CConstRef< CBioseq > GetCompleteBioseq(void) const
Get the complete bioseq.
TClass GetClass(void) const
TSet SelectSet(TClass set_class=CBioseq_set::eClass_not_set) const
Convert the empty Seq-entry to Bioseq-set.
CSeq_entry_Handle GetParentEntry(void) const
Get parent Seq-entry handle.
TBioseqCore GetBioseqCore(void) const
Get bioseq core structure.
CConstRef< TObject > GetCompleteObject(void) const
E_Choice Which(void) const
CSeq_id_Handle GetAccessSeq_id_Handle(void) const
Get any CSeq_id_Handle handle that can be used to access this bioseq Use GetSeq_id_Handle() if it's n...
const CSeqFeatData & GetData(void) const
CSeq_entry_Handle GetSeq_entry_Handle(void) const
Get parent Seq-entry handle.
TInst_Mol GetInst_Mol(void) const
CConstRef< CSeq_id > GetSeqId(void) const
Get id which can be used to access this bioseq handle Throws an exception if none is available.
void Remove(ERemoveMode mode=eRemoveSeq_entry) const
void Remove(ERemoveMode mode=eRemoveSeq_entry) const
Remove current seqset-entry from its location.
CConstRef< TObject > GetCompleteObject(void) const
TSeq SelectSeq(CBioseq &seq) const
Make the empty Seq-entry be in seq state with specified Bioseq object.
CSeq_entry_EditHandle GetEditHandle(void) const
Get 'edit' version of handle.
CSeq_entry_Handle GetTopLevelEntry(void) const
Get top level Seq-entry handle.
TInst_Length GetInst_Length(void) const
bool IsSetClass(void) const
CConstRef< CSeq_entry > GetCompleteSeq_entry(void) const
Complete and get const reference to the seq-entry.
TMol GetSequenceType(void) const
CConstRef< TObject > GetCompleteObject(void) const
CSeq_entry_Handle GetTopLevelEntry(void) const
Get top level Seq-entry handle.
@ eCoding_Iupac
Set coding to printable coding (Iupacna or Iupacaa)
const CSeq_loc & GetLocation(void) const
void GetSeqData(TSeqPos start, TSeqPos stop, string &buffer) const
Fill the buffer string with the sequence data for the interval [start, stop).
void Reset(void)
Reset reference object.
void Reset(void)
Reset reference object.
bool NotEmpty(void) const THROWS_NONE
Check if CConstRef is not empty â pointing to an object and has a non-null value.
bool Empty(void) const THROWS_NONE
Check if CRef is empty â not pointing to any object, which means having a null value.
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.
IO_PREFIX::ostream CNcbiOstream
Portable alias for ostream.
static bool EqualNocase(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2)
Case-insensitive equality of a substring with another string.
static string & ToLower(string &str)
Convert string to lower case â string& version.
double Elapsed(void) const
Return time elapsed since first Start() or last Restart() call (in seconds).
void Start(void)
Start the timer.
void Reset(void)
Stop (if running) and reset the timer.
TTo GetTo(void) const
Get the To member data.
TFrom GetFrom(void) const
Get the From member data.
const TAnticodon & GetAnticodon(void) const
Get the Anticodon member data.
TNcbi8aa GetNcbi8aa(void) const
Get the variant data.
const TAa & GetAa(void) const
Get the Aa member data.
TNcbistdaa GetNcbistdaa(void) const
Get the variant data.
E_Choice Which(void) const
Which variant is currently selected.
bool IsSetAnticodon(void) const
location of anticodon Check if a value has been assigned to Anticodon data member.
EType
type of RNA feature
TNcbieaa GetNcbieaa(void) const
Get the variant data.
TIupacaa GetIupacaa(void) const
Get the variant data.
E_Choice Which(void) const
Which variant is currently selected.
const TTRNA & GetTRNA(void) const
Get the variant data.
const TLocation & GetLocation(void) const
Get the Location member data.
E_Choice
Choice variants.
const TData & GetData(void) const
Get the Data member data.
bool IsBiosrc(void) const
Check if variant Biosrc is selected.
ENa_strand
strand of nucleic acid
const TSeq & GetSeq(void) const
Get the variant data.
TSet & SetSet(void)
Select the variant.
TClass GetClass(void) const
Get the Class member data.
const TSet & GetSet(void) const
Get the variant data.
bool IsSeq(void) const
Check if variant Seq is selected.
bool IsSetAnnot(void) const
Check if a value has been assigned to Annot data member.
bool IsSet(void) const
Check if variant Set is selected.
const TSeq_set & GetSeq_set(void) const
Get the Seq_set member data.
const TAnnot & GetAnnot(void) const
Get the Annot member data.
list< CRef< CSeq_entry > > TSeq_set
TSeq & SetSeq(void)
Select the variant.
@ eClass_nuc_prot
nuc acid and coded proteins
@ eClass_gen_prod_set
genomic products, chrom+mRNA+protein
@ eClass_genbank
converted genbank
@ eClass_segset
segmented sequence + parts
@ eClass_small_genome_set
viral segments or mitochondrial minicircles
@ e_not_set
No variant selected.
bool IsSetAnnot(void) const
Check if a value has been assigned to Annot data member.
const TAnnot & GetAnnot(void) const
Get the Annot member data.
const TId & GetId(void) const
Get the Id member data.
TBiomol GetBiomol(void) const
Get the Biomol member data.
EMol
molecule class in living organism
const TMolinfo & GetMolinfo(void) const
Get the variant data.
@ e_Molinfo
info on the molecule and techniques
@ eMol_na
just a nucleic acid
const TEntrys & GetEntrys(void) const
Get the variant data.
const TData & GetData(void) const
Get the Data member data.
const TSub & GetSub(void) const
Get the Sub member data.
bool IsEntrys(void) const
Check if variant Entrys is selected.
bool CanGetSub(void) const
Check if it is safe to call GetSub method.
bool CanGetData(void) const
Check if it is safe to call GetData method.
The blob sat and sat key Both must be positive integers</td > n< td > Non empty string The interpretation of the blob id depends on a processor Cassandra n processor expects the following format
static void text(MDB_val *v)
Portable reference counted smart and weak pointers using CWeakRef, CRef, CObject and CObjectEx.
Defines: CTimeFormat - storage class for time format.
const char * GetAAName(unsigned char aa, bool is_ascii)
#define NCBI_BIOMOL(Type)
CMolInfo definitions.
#define NCBI_SEQID(Type)
@NAME Convenience macros for NCBI objects
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