168 bioseq_set.
SetAnnot().push_back(gnomon_models_annot_ref);
172 NameAnnot(*seq_annot,
"Gnomon internal attributes");
173 bioseq_set.
SetAnnot().push_back(seq_annot);
178 contig_name(a_contig_name),
179 contig_sid(
CIdHandler::ToSeq_id(a_contig_name)),
180 gencode(genetic_code),
201 int genetic_code,
int shift) :
212 return m_data->main_seq_entry;
233 nucprots->push_back(model_products);
241 if (models_in_internal_feature_table.find(
id) == models_in_internal_feature_table.end()) {
243 internal_feature_table->push_back(internal_feat);
244 models_in_internal_feature_table.insert(
id);
256 cds_feat = create_cdregion_feature(md);
262 nucprots->push_back(model_products);
264 CRef<CSeq_feat> mrna_feat = feature_generator->ConvertAlignToAnnot(*align, *gnomon_models_annot, model_products->
SetSet(), model.
GeneID(), cds_feat_ptr);
269 mrna_feat->
SetExts().push_back(user_obj);
271 AddInternalFeature(md);
287 cdrcode->SetId(gencode);
288 cdregion_feature->
SetData().SetCdregion().SetCode().Set().push_back(cdrcode);
305 code_break->
SetLoc(*pstop);
311 code_break->
SetAa(*aa);
312 code_breaks.push_back(code_break);
332 cdregion_feature->
SetData().SetCdregion().SetFrame(ncbi_frame);
338 if (0 < altstart && altstart != start)
339 cdregion_location->
SetInt().SetFuzz_from().SetAlt().push_back(altstart);
350 return cdregion_feature;
366 if (interval_range_on_mrna.
Empty())
369 bool extends_to_left = interval_range_on_mrna.
GetFrom() > limits_on_mrna.
GetFrom();
370 bool extends_to_right = interval_range_on_mrna.
GetTo() < limits_on_mrna.
GetTo();
372 swap(extends_to_left,extends_to_right);
377 if (
i > 0 && (!e->
m_fsplice || (model.
Exons()[
i-1].Limits().Empty() && extends_to_left))) {
381 if (
i < model.
Exons().size()-1 && (!e->
m_ssplice || (model.
Exons()[
i+1].Limits().Empty() && extends_to_right))) {
408 evidence.GetModel(model.
ID());
418 NameAnnot(*seq_annot,
"Evidence for " + id_str);
421 annot_id->SetGeneral().SetDb(
"GNOMON");
423 seq_annot->
SetId().push_back(annot_id);
428 Int8 id = s->GetId();
432 aligns->push_back(
a);
436 unique_ptr<SModelData> smd;
437 smd.reset(
new SModelData(*m, contig_seq, shift) );
438 AddInternalFeature(*smd);
439 CreateModelProducts(*smd);
440 aligns->push_back(model2spliced_seq_align(*smd));
455 copy(strs.begin(), strs.end(), back_inserter(values));
469 for(
int i = 1;
i < (
int)model.
Exons().size() && !ggap; ++
i) {
470 ggap = model.
Exons()[
i-1].m_ssplice_sig ==
"XX" || model.
Exons()[
i].m_fsplice_sig ==
"XX";
473 method = ggap ?
"Chainer_GapFilled" :
"Chainer";
476 method =
"FullAbInitio";
478 method = ggap ?
"PartAbInitio_GapFilled" :
"PartAbInitio";
497 type->SetStr(
"ModelEvidence");
504 support_field->
SetLabel().SetStr(
"Support");
505 vector<string> chains;
506 vector<string> cores;
507 vector<string> proteins;
508 vector<string> mrnas;
510 vector<string> short_reads;
511 vector<string> long_sras;
512 vector<string> others;
513 vector<string> unknown;
516 int long_sras_count = 0;
517 int others_count = 0;
520 Int8 id = s->GetId();
534 cores.push_back(accession);
537 chains.push_back(accession);
550 proteins.push_back(accession);
552 mrnas.push_back(accession);
555 ests.push_back(accession);
556 ests_count += m->
Weight();
558 long_sras.push_back(accession);
559 long_sras_count += m->
Weight();
561 others.push_back(accession);
562 others_count += m->
Weight();
565 short_reads.push_back(accession);
567 unknown.push_back(accession);
571 bool have_something =
false;
573 if (!chains.empty()) {
574 support_field->
AddField(
"Chains",chains);
576 have_something =
true;
578 if (!cores.empty()) {
579 support_field->
AddField(
"Core",cores);
581 have_something =
true;
583 if (!proteins.empty()) {
584 sort(proteins.begin(),proteins.end());
585 support_field->
AddField(
"Proteins",proteins);
587 have_something =
true;
589 if (!mrnas.empty()) {
590 sort(mrnas.begin(),mrnas.end());
591 support_field->
AddField(
"mRNAs",mrnas);
593 have_something =
true;
596 sort(ests.begin(),ests.end());
597 support_field->
AddField(
"ESTs",ests);
598 support_field->
SetData().SetFields().back()->SetNum(ests_count);
599 have_something =
true;
601 if (!short_reads.empty()) {
602 sort(short_reads.begin(),short_reads.end());
603 support_field->
AddField(
"RNASeq",short_reads);
605 have_something =
true;
607 if (!long_sras.empty()) {
608 sort(long_sras.begin(),long_sras.end());
609 support_field->
AddField(
"longSRA",long_sras);
610 support_field->
SetData().SetFields().back()->SetNum(long_sras_count);
611 have_something =
true;
613 if (!others.empty()) {
614 sort(others.begin(),others.end());
615 support_field->
AddField(
"other",others);
616 support_field->
SetData().SetFields().back()->SetNum(others_count);
617 have_something =
true;
619 if (!unknown.empty()) {
620 support_field->
AddField(
"unknown",unknown);
622 have_something =
true;
626 user_obj->
SetData().push_back(support_field);
632 user_obj->
AddField(
"CDS support",
string(
"full"));
648 feature->
SetIds().push_back(feat_id);
652 user->
SetType().SetStr(
"Model Internal Attributes");
653 feature->
SetExts().push_back(user);
663 if (!
a->second.empty())
683 feature->
SetLocation(*create_packed_int_seqloc(model,rcds_on_mrna));
686 feature->
SetData().SetCdregion().SetCode().Set().push_back(cdrcode);
691 feature->
SetData().SetCdregion().SetFrame(ncbi_frame);
706 se->SetGenomic_start(e.
GetFrom());
707 se->SetGenomic_end(e.
GetTo());
710 se->SetGenomic_id(*fillerid);
718 scr->SetValue().SetReal(e.
m_ident);
722 se->SetScores().Set().push_back(scr);
759 seq_align->
SetId().push_back(
id);
767 int product_length = model.
TargetLen()/3;
787 TInDels::const_iterator indel_i = indels.begin();
788 for (
int i = 0;
i < (
int)model.
Exons().size(); ++
i) {
798 se->SetProduct_start().SetNucpos(transcript_exon.
GetFrom());
799 se->SetProduct_end().SetNucpos(transcript_exon.
GetTo());
804 for( ;indel_i != indels.end() && indel_i->Loc() <= e->
GetTo()+1; ++indel_i) {
808 if (indel.
Loc()-last_chunk > 0) {
812 chunk->SetDiag(indel.
Loc()-last_chunk);
814 chunk->SetMatch(indel.
Loc()-last_chunk);
816 chunk->SetMatch(indel.
Loc()-last_chunk);
817 se->SetParts().push_back(chunk);
818 last_chunk = indel.
Loc();
824 chunk->SetMismatch(indel.
Len());
825 se->SetParts().push_back(chunk);
827 last_chunk += indel.
Len();
830 chunk->SetGenomic_ins(indel.
Len());
831 se->SetParts().push_back(chunk);
833 last_chunk += indel.
Len();
836 chunk->SetProduct_ins(indel.
Len());
837 se->SetParts().push_back(chunk);
840 if (e->
GetFrom() <= last_chunk && last_chunk <= e->GetTo()) {
844 chunk->SetDiag(e->
GetTo()-last_chunk+1);
846 chunk->SetMatch(e->
GetTo()-last_chunk+1);
848 chunk->SetMatch(e->
GetTo()-last_chunk+1);
849 se->SetParts().push_back(chunk);
860 se->SetParts().push_back(chunk);
865 _ASSERT( indel_i == indels.end() );
877 if(!model.
FrameShifts().empty() && !is_protalign) {
879 int left_not_aligned = tlim.
GetFrom();
882 swap(left_not_aligned, right_not_aligned);
884 string mismatches(left_not_aligned,
'N');
886 TInDels::const_iterator indl = model.
FrameShifts().begin();
887 for(
int e = 0; e < (
int)model.
Exons().size(); ++e) {
888 if(model.
Exons()[e].Limits().Empty())
890 if(e > 0 && !model.
Exons()[e].m_fsplice) {
898 for( ; indl != model.
FrameShifts().end() && indl->IntersectingWith(model.
Exons()[e].GetFrom(), model.
Exons()[e].GetTo()); ++indl) {
899 switch(indl->GetStatus()) {
901 mismstatus.push_back(
'n');
break;
903 mismstatus.push_back(
'c');
break;
905 mismstatus.push_back(
'u');
break;
907 if(!indl->IsInsertion())
908 mismatches += indl->GetInDelV();
911 mismatches +=
string(right_not_aligned,
'N');
913 if(mismatches.find_first_not_of(
'N') != string::npos) {
916 typem->
SetStr(
"MismatchedBases");
918 userm->
AddField(
"Bases", mismatches);
919 seq_align->
SetExt().push_back(userm);
922 if(mismstatus.find_first_not_of(
'u') != string::npos) {
925 types->SetStr(
"MismatchedBasesStatus");
927 users->
AddField(
"Status", mismstatus);
928 seq_align->
SetExt().push_back(users);
937 bool is_align = !(
Type()&(eChain|eGnomon));
940 if(is_align && (
Type()&eProt) && HasStop()) {
941 _ASSERT(GetCdsInfo().IsMappedToGenome());
942 TSignedSeqRange lim = GetCdsInfo().Start()+GetCdsInfo().ReadingFrame();
943 model.
Clip(lim,eRemoveExons);
948 mrna_sid->
Assign(*GetTargetId());
959 if(Status()&eBestPlacement)
962 if(Status()&eUnknownOrientation)
971 modi->SetStart_codon_found(
true);
976 modi->SetStop_codon_found(
true);
994 type->SetStr(
"AlignmentAttributes");
996 seq_align->
SetExt().push_back(user);
1019 if ((*uo)->GetType().GetStr() ==
"ModelEvidence" ) {
1032 if (method.find(
"AbInitio") != string::npos || method.find(
"Gnomon") != string::npos)
1034 else if (method.find(
"Chainer") != string::npos)
1091 switch (ncbi_frame) {
1178 if ((*u)->CanGetClass() && (*u)->GetClass() ==
"Gnomon" &&
1193 if (annot == seq_annot_map.
end())
1202 if (!processed_ids.
insert(
id).second)
1212 cds_handle = feat_handle;
1214 unique_ptr<CAlignModel> model(
RestoreModel(feat_handle, cds_handle, seq_align) );
1215 evidence_models.push_back(*model);
1217 ExtractSupportModels(
id, evidence_models, evidence_alignments, seq_entry_handle, seq_annot_map, processed_ids);
1223 evidence_alignments.push_back(align_ref);
1241 CAnnot_descr::Tdata::const_iterator iter = (*annot)->GetDesc().Get().begin();
1244 for ( ; iter != (*annot)->GetDesc().
Get().end(); ++iter) {
1245 if ((*iter)->IsName() ) {
1246 name = (*iter)->GetName();
1248 if ((*iter)->IsRegion() ) {
1252 if (!name.empty()) {
1253 seq_annot_map[name] = *annot;
1254 if (name==
"Gnomon models") {
1264 CRef<CSeq_annot> internal_feature_table = seq_annot_map[
"Gnomon internal attributes"];
1272 if (contig.empty() && feat_ci) {
1277 for (; feat_ci; ++feat_ci) {
1279 model_list.push_back(*model);
1280 processed_ids.
insert(model->ID());
1281 ExtractSupportModels(model->ID(), evidence_models, evidence_alignments, seq_entry_handle, seq_annot_map, processed_ids);
1286 for (; internal_feat_ci; ++internal_feat_ci) {
1288 if (processed_ids.
find(
id) != processed_ids.
end())
1291 if (model.get() ==
NULL)
1293 evidence_models.push_back(*model);
1294 processed_ids.
insert(
id);
1295 ExtractSupportModels(model->ID(), evidence_models, evidence_alignments, seq_entry_handle, seq_annot_map, processed_ids);
@ eExtreme_Biological
5' and 3'
CRef< CUser_object > GetModelEvidenceUserObject(const CSeq_feat_Handle &feat)
CAlignModel * RestoreModelFromPublicMrnaFeature(const CSeq_feat_Handle &feat)
void ParseAttributes(TAttributes &attributes, CAlignModel &a)
CRef< CSpliced_exon > spliced_exon(const CModelExon &e, EStrand strand)
bool IsGnomonConstructed(const CSeq_align &seq_align)
USING_SCOPE(ncbi::objects)
CRef< CProduct_pos > NucPosToProtPos(int nultripos)
int CollectUserField(const CUser_field &field, const string &name, vector< string > &values)
void ExpandSupport(const CSupportInfoSet &src, CSupportInfoSet &dst, IEvidence &evidence)
void CollectAttributes(const CAlignModel &a, TAttributes &attributes)
void RestoreModelMethod(const CSeq_feat_Handle &feat, CAlignModel &model)
void NameAnnot(CSeq_annot &annot, const string &name)
void ExtractSupportModels(Int8 model_id, TAlignModelList &evidence_models, list< CRef< CSeq_align > > &evidence_alignments, CSeq_entry_Handle seq_entry_handle, map< string, CRef< CSeq_annot > > &seq_annot_map, set< Int8 > &processed_ids)
void RestoreModelAttributes(const CSeq_feat_Handle &feat_handle, CAlignModel &model)
void RestoreModelReadingFrame(const CSeq_feat_Handle &feat, CAlignModel &model)
Int8 GetModelId(const CSeq_align &seq_align)
const string kGnomonConstructed
CAlignModel * RestoreModel(const CSeq_feat_Handle &internal_feat, const CSeq_feat_Handle &cds_feat, const CSeq_align &align)
string ModelMethod(const CGeneModel &model)
CAlignModel * RestoreModelFromInternalGnomonFeature(const CSeq_feat_Handle &feat)
CRef< CSeq_align > AlignModelToSeqalign(const CAlignModel &model, CSeq_id &mrnaid, CSeq_id &contigid, bool is_align, bool is_protalign, bool stop_found)
void MoveOrigin(TSignedSeqPos shift)
TSignedSeqRange MapRangeEditedToOrig(TSignedSeqRange edited_range, bool withextras=true) const
void EditedSequence(const In &original_sequence, Out &edited_sequence, bool includeholes=false) const
TSignedSeqRange MapRangeOrigToEdited(TSignedSeqRange orig_range, ERangeEnd lend, ERangeEnd rend) const
CRef< objects::CSeq_align > MakeSeqAlign(const string &contig) const
virtual void Clip(TSignedSeqRange limits, EClipMode mode, bool ensure_cds_invariant=true)
CConstRef< objects::CSeq_id > GetTargetId() const
virtual CAlignMap GetAlignMap() const
CBioseq_set::TSeq_set * nucprots
void AddModel(const CAlignModel &model)
CRef< CSeq_id > contig_sid
map< Int8, CRef< CSeq_feat > > TGeneMap
CImplementationData(const string &contig_name, const CResidueVec &seq, IEvidence &evdnc, int genetic_code, int sh)
CRef< CUser_object > create_ModelEvidence_user_object(const CGeneModel &model)
CSeq_annot::C_Data::TFtable * feature_table
CRef< CSeq_align > model2spliced_seq_align(SModelData &md)
CRef< CSeq_feat > create_cdregion_feature(SModelData &md)
void DumpEvidence(const SModelData &md)
CRef< CSeq_feat > create_internal_feature(const SModelData &md)
void CreateModelProducts(SModelData &model)
CSeq_annot::C_Data::TFtable * internal_feature_table
CSeq_annot * gnomon_models_annot
unique_ptr< CFeatureGenerator > feature_generator
void AddInternalFeature(const SModelData &md)
CRef< CSeq_loc > create_packed_int_seqloc(const CGeneModel &model, TSignedSeqRange limits_on_mrna=TSignedSeqRange::GetWhole())
set< Int8 > models_in_internal_feature_table
CRef< CSeq_entry > main_seq_entry
static string ExtractModels(objects::CSeq_entry &seq_entry, TAlignModelList &model_list, TAlignModelList &evidence_models, list< CRef< objects::CSeq_align > > &evidence_alignments, map< Int8, CRef< CUser_object > > &model_evidence_uo)
CAnnotationASN1(const string &contig_name, const CResidueVec &seq, IEvidence &evidence, int genetic_code=1, int shift=0)
CRef< objects::CSeq_entry > GetASN1() const
unique_ptr< CImplementationData > m_data
void AddModel(const CAlignModel &model)
CCDSInfo MapFromEditedToOrig(const CAlignMap &amap) const
CCDSInfo MapFromOrigToEdited(const CAlignMap &amap) const
TSignedSeqRange MaxCdsLimits() const
bool IsMappedToGenome() const
void SetScore(double score, bool open=false)
TSignedSeqRange Start() const
TSignedSeqRange Cds() const
TSignedSeqRange ReadingFrame() const
const TPStops & PStops() const
void SetReadingFrame(TSignedSeqRange r, bool protein=false)
TSignedSeqRange TranscriptLimits() const
EStrand Orientation() const
const CSupportInfoSet & Support() const
const TExons & Exons() const
TSignedSeqRange ReadingFrame() const
virtual CAlignMap GetAlignMap() const
TSignedSeqRange TranscriptExon(int i) const
void SetCdsInfo(const CCDSInfo &cds_info)
TSignedSeqRange Limits() const
const CCDSInfo & GetCdsInfo() const
const string & ProteinHit() const
TInDels GetInDels(bool fs_only) const
bool PStop(bool includeall=true) const
static string TypeToString(int type)
static CRef< CSeq_id > GnomonMRNA(Int8 id)
static void SetId(CObject_id &obj, Int8 value)
static CRef< CSeq_id > ToSeq_id(const string &str)
static string ToString(const CSeq_id &id)
static Int8 GetId(const CObject_id &obj)
static CRef< CSeq_id > GnomonProtein(Int8 id)
TSignedSeqPos Loc() const
CInDelInfo::SSource m_source
TSignedSeqPos GetFrom() const
const TSignedSeqRange & Limits() const
TSignedSeqPos GetTo() const
void AddInterval(const CSeq_interval &ival)
for convenience
void SetNamedScore(const string &id, int score)
TSeqPos GetAlignLength(bool include_gaps=true) const
Get the length of this alignment.
void Validate(bool full_test=false) const
void SetNameDesc(const string &name)
void SetTitleDesc(const string &title)
bool IsFtable(void) const
namespace ncbi::objects::
CSeq_feat_Handle GetFeatureWithId(CSeqFeatData::E_Choice type, TFeatureIdInt id) const
const CUser_field & GetField(const string &str, const string &delim=".", NStr::ECase use_case=NStr::eCase) const
Access a named field in this user field.
CUser_field & AddField(const string &label, int value)
add fields to the current user field
bool HasField(const string &str, const string &delim=".", NStr::ECase use_case=NStr::eCase) const
Verify that a named field exists.
bool HasField(const string &str, const string &delim=".", NStr::ECase use_case=NStr::eCase) const
Verify that a named field exists.
CUser_object & AddField(const string &label, const string &value, EParseField parse=eParse_String)
add a data field to the user object that holds a given value
const CUser_field & GetField(const string &str, const string &delim=".", NStr::ECase use_case=NStr::eCase) const
Access a named field in this user object.
virtual const CAlignModel * GetModel(Int8 id)=0
const_iterator end() const
const_iterator find(const key_type &key) const
iterator_bool insert(const value_type &val)
const_iterator find(const key_type &key) const
const_iterator end() const
static const struct attribute attributes[]
static const struct type types[]
vector< TResidue > CResidueVec
list< CAlignModel > TAlignModelList
bool Include(TSignedSeqRange big, TSignedSeqRange small)
vector< CInDelInfo > TInDels
unsigned int TSeqPos
Type for sequence locations and lengths.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define NON_CONST_ITERATE(Type, Var, Cont)
Non constant version of ITERATE macro.
void swap(NCBI_NS_NCBI::pair_base_member< T1, T2 > &pair1, NCBI_NS_NCBI::pair_base_member< T1, T2 > &pair2)
#define MSerial_AsnText
I/O stream manipulators –.
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Optimized implementation of CSerialObject::Assign, which is not so efficient.
bool Match(const CSeq_id &sid2) const
Match() - TRUE if SeqIds are equivalent.
void SetPacked_int(TPacked_int &v)
TRange GetTotalRange(void) const
CRef< CSeq_loc > Merge(TOpFlags flags, ISynonymMapper *syn_mapper) const
All functions create and return a new seq-loc object.
const CSeq_id * GetId(void) const
Get the id of the location return NULL if has multiple ids or no id at all.
void SetPartialStart(bool val, ESeqLocExtremes ext)
set / remove e_Lim fuzz on start or stop (lt/gt - indicating partial interval)
void SetPartialStop(bool val, ESeqLocExtremes ext)
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.
CSeq_annot_Handle GetSeq_annotHandle(const CSeq_annot &annot, EMissing action=eMissing_Default)
CConstRef< CBioseq > GetCompleteBioseq(void) const
Get the complete bioseq.
const CSeq_annot_Handle & GetAnnot(void) const
Get handle to seq-annot for this feature.
virtual CConstRef< CSeq_feat > GetSeq_feat(void) const
const CTSE_Handle & GetTSE_Handle(void) const
const CSeqFeatData & GetData(void) const
const CTSE_Handle & GetTSE_Handle(void) const
virtual const CSeq_loc & GetProduct(void) const
virtual const CSeq_loc & GetLocation(void) const
CScope & GetScope(void) const
Get scope this handle belongs to.
CConstRef< CSeq_feat > GetOriginalSeq_feat(void) const
CSeqFeatData::E_Choice GetFeatType(void) const
SAnnotSelector & SetFeatType(TFeatType type)
Set feature type (also set annotation type to feat)
const CSeq_loc & GetLocation(void) const
const CSeq_feat & GetOriginalFeature(void) const
Get original feature with unmapped location/product.
const CSeq_feat_Handle & GetSeq_feat_Handle(void) const
Get original feature handle.
bool NotNull(void) const THROWS_NONE
Check if pointer is not null – same effect as NotEmpty().
TObjectType * GetPointer(void) THROWS_NONE
Get pointer,.
void Reset(void)
Reset reference object.
bool NotEmpty(void) const THROWS_NONE
Check if CRef is not empty – pointing to an object and has a non-null value.
bool NotEmpty(void) const THROWS_NONE
Check if CConstRef is not empty – pointing to an object and has a non-null value.
int64_t Int8
8-byte (64-bit) signed integer
position_type GetLength(void) const
bool NotEmpty(void) const
bool IntersectingWith(const TThisType &r) const
CRange< TSignedSeqPos > TSignedSeqRange
static TThisType GetWhole(void)
#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 DoubleToString(double value, int precision=-1, TNumToStringFlags flags=0)
Convert double to string.
static double StringToDouble(const CTempStringEx str, TStringToNumFlags flags=0)
Convert string to double.
static bool StartsWith(const CTempString str, const CTempString start, ECase use_case=eCase)
Check if a string starts with a specified prefix value.
static enable_if< is_arithmetic< TNumeric >::value||is_convertible< TNumeric, Int8 >::value, string >::type NumericToString(TNumeric value, TNumToStringFlags flags=0, int base=10)
Convert numeric value to string.
void SetFrom(TFrom value)
Assign a value to From data member.
TTo GetTo(void) const
Get the To member data.
TFrom GetFrom(void) const
Get the From member data.
void SetTo(TTo value)
Assign a value to To data member.
const TStr & GetStr(void) const
Get the variant data.
const TStrs & GetStrs(void) const
Get the variant data.
const TData & GetData(void) const
Get the Data member data.
bool CanGetNum(void) const
Check if it is safe to call GetNum method.
const TClass & GetClass(void) const
Get the Class member data.
bool IsStr(void) const
Check if variant Str is selected.
void SetClass(const TClass &value)
Assign a value to Class data member.
TData & SetData(void)
Assign a value to Data data member.
const TStr & GetStr(void) const
Get the variant data.
void SetLabel(TLabel &value)
Assign a value to Label data member.
TStr & SetStr(void)
Select the variant.
const TData & GetData(void) const
Get the Data member data.
TReal GetReal(void) const
Get the variant data.
void SetType(TType &value)
Assign a value to Type data member.
void SetData(TData &value)
Assign a value to Data data member.
const TLabel & GetLabel(void) const
Get the Label member data.
const TType & GetType(void) const
Get the Type member data.
vector< CStringUTF8 > TStrs
vector< CRef< CUser_field > > TData
TNum GetNum(void) const
Get the Num member data.
const TId & GetId(void) const
Get the Id member data.
TModifiers & SetModifiers(void)
Assign a value to Modifiers data member.
TId & SetId(void)
Assign a value to Id data member.
void SetAmin(TAmin value)
Assign a value to Amin data member.
bool IsSetParts(void) const
basic seqments always are in biologic order Check if a value has been assigned to Parts data member.
void SetProduct_id(TProduct_id &value)
Assign a value to Product_id data member.
void SetSegs(TSegs &value)
Assign a value to Segs data member.
TExons & SetExons(void)
Assign a value to Exons data member.
void SetProduct_strand(TProduct_strand value)
Assign a value to Product_strand data member.
void SetProduct_length(TProduct_length value)
Assign a value to Product_length data member.
list< CRef< CUser_object > > TExt
void SetType(TType value)
Assign a value to Type data member.
TExt & SetExt(void)
Assign a value to Ext data member.
void SetProduct_type(TProduct_type value)
Assign a value to Product_type data member.
bool CanGetExt(void) const
Check if it is safe to call GetExt method.
list< CRef< CSpliced_exon > > TExons
void SetPoly_a(TPoly_a value)
Assign a value to Poly_a data member.
TProtpos & SetProtpos(void)
Select the variant.
TParts & SetParts(void)
Assign a value to Parts data member.
void SetGenomic_id(TGenomic_id &value)
Assign a value to Genomic_id data member.
const TExt & GetExt(void) const
Get the Ext member data.
void SetGenomic_strand(TGenomic_strand value)
Assign a value to Genomic_strand data member.
void SetFrame(TFrame value)
Assign a value to Frame data member.
@ eType_partial
mapping pieces together
@ eProduct_type_transcript
void SetAa(TAa &value)
Assign a value to Aa data member.
const TExts & GetExts(void) const
Get the Exts member data.
void SetLocation(TLocation &value)
Assign a value to Location data member.
const TIds & GetIds(void) const
Get the Ids member data.
bool IsCdregion(void) const
Check if variant Cdregion is selected.
TIds & SetIds(void)
Assign a value to Ids data member.
list< CRef< CUser_object > > TExts
void SetPartial(TPartial value)
Assign a value to Partial data member.
void SetProduct(TProduct &value)
Assign a value to Product data member.
TExts & SetExts(void)
Assign a value to Exts data member.
TLocal & SetLocal(void)
Select the variant.
list< CRef< CCode_break > > TCode_break
TFrame GetFrame(void) const
Get the Frame member data.
const TData & GetData(void) const
Get the Data member data.
void SetData(TData &value)
Assign a value to Data data member.
const TCdregion & GetCdregion(void) const
Get the variant data.
void SetLoc(TLoc &value)
Assign a value to Loc data member.
bool CanGetFrame(void) const
Check if it is safe to call GetFrame method.
@ eFrame_not_set
not set, code uses one
@ eFrame_three
reading frame
ENa_strand
strand of nucleic acid
void SetFuzz_to(TFuzz_to &value)
Assign a value to Fuzz_to data member.
void SetFuzz_from(TFuzz_from &value)
Assign a value to Fuzz_from data member.
TSet & SetSet(void)
Select the variant.
TAnnot & SetAnnot(void)
Assign a value to Annot data member.
list< CRef< CSeq_annot > > TAnnot
list< CRef< CSeq_entry > > TSeq_set
TSeq_set & SetSeq_set(void)
Assign a value to Seq_set data member.
void SetData(TData &value)
Assign a value to Data data member.
const TInst & GetInst(void) const
Get the Inst member data.
void SetDesc(TDesc &value)
Assign a value to Desc data member.
list< CRef< CSeq_align > > TAlign
const TAssembly & GetAssembly(void) const
Get the Assembly member data.
TRegion & SetRegion(void)
Select the variant.
const THist & GetHist(void) const
Get the Hist member data.
list< CRef< CSeq_feat > > TFtable
TId & SetId(void)
Assign a value to Id data member.
unsigned int
A callback function used to compare two keys in a database.
const TYPE & Get(const CNamedParameterList *param)
constexpr auto sort(_Init &&init)
const struct ncbi::grid::netcache::search::fields::SIZE size
Magic spell ;-) needed for some weird compilers... very empiric.
void copy(Njn::Matrix< S > *matrix_, const Njn::Matrix< T > &matrix0_)
SModelData(const CAlignModel &model, const CEResidueVec &contig_seq, int shift)
const value_slice::CValueConvert< value_slice::SRunTimeCP, FROM > Convert(const FROM &value)