87 #define IS_INSERTION(sf, tf) \
88 ( ((sf) & CAlnMap::fSeq) && !((tf) & CAlnMap::fSeq) )
89 #define IS_DELETION(sf, tf) \
90 ( !((sf) & CAlnMap::fSeq) && ((tf) & CAlnMap::fSeq) )
91 #define IS_MATCH(sf, tf) \
92 ( ((sf) & CAlnMap::fSeq) && ((tf) & CAlnMap::fSeq) )
99 unsigned int& wrapSize,
100 unsigned int& wrapPoint)
103 wrapSize = wrapPoint = 0;
104 if (subInts.empty()) {
109 auto bioH =
fc.BioseqHandle();
110 if (bioH.CanGetInst_Topology()) {
111 auto topology = bioH.GetInst_Topology();
119 const auto&
front = *subInts.front();
120 if (!
front.CanGetStrand()) {
123 auto frontStrand =
front.GetStrand();
124 auto pCompare = subInts.begin()++;
125 while (pCompare != subInts.end()) {
126 const auto& interval = **pCompare;
127 if (!interval.CanGetStrand() || interval.GetStrand() != frontStrand) {
134 if (!bioH.CanGetInst_Length()) {
137 wrapSize = bioH.GetInst_Length();
139 subInts.back()->GetFrom() :
140 subInts.front()->GetFrom();
152 typedef vector<CRef<CScore> > SCORES;
157 const SCORES& scoresFrom = alignFrom.
GetScore();
158 for (SCORES::const_iterator itFrom = scoresFrom.begin();
159 itFrom != scoresFrom.end(); ++itFrom) {
161 const CScore& scoreFrom = **itFrom;
164 const string& keyFrom = scoreFrom.
GetId().
GetStr();
165 const SCORES& scoresTo = alignTo.
GetScore();
166 SCORES::const_iterator itTo;
167 for (itTo = scoresTo.begin(); itTo != scoresTo.end(); ++itTo) {
168 const CScore& scoreTo = **itTo;
171 if (keyTo == keyFrom) {
176 if (itTo == scoresTo.end()) {
177 alignTo.
SetScore().push_back(*itFrom);
183 const SCORES& scoresTo = alignFrom.
GetScore();
184 SCORES::const_iterator itTo;
185 for (itTo = scoresTo.begin(); itTo != scoresTo.end(); ++itTo) {
186 const CScore& scoreTo = **itTo;
189 if (idTo.
Match(idFrom)) {
194 if (itTo == scoresTo.end()) {
195 alignTo.
SetScore().push_back(*itFrom);
207 const char* strProtMatch =
"protein_match";
208 const char* strEstMatch =
"EST_match";
209 const char* strCdnaMatch =
"cDNA_match";
230 bool sortAlignments) :
233 m_sDefaultMethod(
""),
234 m_SortAlignments(sortAlignments),
250 bool sortAlignments) :
253 m_SortAlignments(
false),
295 const string& strAssName,
296 const string& strAssAcc )
303 string msg(
"Inconsistent alignment data ");
304 msg += (
"\"\"\"" + e.
GetMsg() +
"\"\"\"");
349 const string& alignId)
353 cerr <<
"Object type not supported." << endl;
361 for (CSeq_align::TId::const_iterator it = ids.begin();
362 it != ids.end(); ++it) {
363 if ((*it)->IsStr()) {
364 id = (*it)->GetStr();
390 const string& alignId)
393 typedef list<CRef<CSeq_align> > ALIGNS;
396 for (ALIGNS::const_iterator cit = data.begin(); cit != data.end(); ++cit) {
413 const string& alignId)
418 typedef list<CRef<CSpliced_exon> > EXONS;
422 for (EXONS::const_iterator cit = exons.begin(); cit != exons.end(); ++cit) {
427 "Processing terminated by user");
572 record.
SetType(
"protein_match");
580 if (!genomicH || !productH) {
616 typedef list<CRef<CScore> > SCORES;
619 for (SCORES::const_iterator cit = scores.begin(); cit != scores.end();
635 const unsigned int tgtWidth = isProteinProd ? 3 : 1;
637 typedef list<CRef<CSpliced_exon_chunk> > CHUNKS;
639 const CHUNKS& chunks = exon.
GetParts();
640 for (CHUNKS::const_iterator cit = chunks.begin(); cit != chunks.end(); ++cit) {
642 switch (chunk.
Which()) {
659 if (del_length > 0) {
664 const unsigned int forward_shift = chunk.
GetGenomic_ins()%tgtWidth;
665 if (forward_shift > 0) {
672 const unsigned int reverse_shift = chunk.
GetProduct_ins()%tgtWidth;
673 if (reverse_shift > 0) {
678 const unsigned int insert_length = chunk.
GetProduct_ins()/tgtWidth;
679 if (insert_length > 0) {
709 const unsigned int tgtWidth = isProteinProd ? 3 : 1;
714 string seqStrand =
"+";
719 target +=
" " + seqStart;
720 target +=
" " + seqStop;
721 target +=
" " + seqStrand;
750 typedef vector<CRef<CScore> > SCORES;
754 const SCORES& scores = align.
GetScore();
755 for (SCORES::const_iterator cit = scores.begin(); cit != scores.end();
765 const string& alignId)
780 "Processing terminated by user");
813 catch(std::exception&) {};
828 typedef vector<CRef<CScore> > SCORES;
833 const SCORES& scores = denseSeg.
GetScores();
834 for (SCORES::const_iterator cit = scores.begin(); cit != scores.end();
858 catch(std::exception&) {};
871 catch(std::exception&) {};
893 catch(std::exception&) {};
923 catch(std::exception&) {};
935 while (start2 < 0 && start_seg < numSegs) {
936 start2 = alnMap.
GetStart(0, start_seg++);
940 int stop_seg = numSegs-1;
941 while (stop2 < 0 && stop_seg >= 0) {
942 stop2 = alnMap.
GetStart(0, stop_seg--);
947 stop2 += alnMap.
GetLen(start_seg-1)-1;
950 stop2 += alnMap.
GetLen(stop_seg+1)-1;
973 unsigned int tgtWidth;
987 catch(std::exception&) {};
994 for (
int seg = 0; seg < numSegs; ++seg) {
1002 const unsigned int reverse_shift = tgtPiece.
GetLength()%tgtWidth;
1003 if (reverse_shift > 0) {
1008 const unsigned int insert_length = tgtPiece.
GetLength()/tgtWidth;
1009 if (insert_length > 0) {
1017 const unsigned int del_length = srcPiece.
GetLength()/tgtWidth;
1018 if (del_length > 0) {
1023 const unsigned int forward_shift = srcPiece.
GetLength()%tgtWidth;
1024 if (forward_shift > 0) {
1030 if (
IS_MATCH(tgtFlags, srcFlags)) {
1043 unsigned int srcRow)
1046 unsigned int seqStart = alnMap.
GetSeqStart(srcRow);
1047 unsigned int seqStop = alnMap.
GetSeqStop(srcRow);
1059 unsigned int srcRow)
1076 m_Os <<
"##gff-version 3" <<
'\n';
1077 m_Os <<
"#!gff-spec-version 1.21" <<
'\n';
1078 m_Os <<
"#!processor NCBI annotwriter" <<
'\n';
1107 m_Os <<
"##sequence-region " <<
id <<
" " << start <<
" " << stop <<
'\n';
1110 const string base_url =
1111 "https://www.ncbi.nlm.nih.gov/Taxonomy/Browser/wwwtax.cgi?";
1117 m_Os <<
"##species " << base_url <<
"id=" << tax_id <<
'\n';
1121 m_Os <<
"##species " << base_url <<
"name=" << orgname <<
'\n';
1152 if (!align1 && align2) {
1156 if ((align1 && !align2) ||
1157 (!align1 && !align2) ) {
1162 auto make_key = [](
const pair<CConstRef<CSeq_align>,
string>& p,
CScope& scope) {
1164 const string alignId = p.second;
1166 string subject_accession;
1172 string target_accession;
1207 for (CSeq_align::TId::const_iterator it = ids.begin();
1208 it != ids.end(); ++it) {
1209 if ((*it)->IsStr()) {
1210 return (*it)->GetStr();
1222 if ((
range.GetFrom() <= pos) &&
1223 (
range.GetTo() >= pos)) {
1276 if (!cc->IsSetAnnot()) {
1279 const auto& annots = cc->
GetAnnot();
1280 if (annots.empty()) {
1283 const auto& data = cc->GetAnnot().front();
1290 const auto& display_range =
GetRange();
1294 for (
CAlign_CI align_it(bsh, display_range, sel); align_it; ++align_it) {
1297 alignCache.push_back(make_pair(pAlign,alignId));
1304 for (
auto alignPair : alignCache) {
1305 xWriteAlign(*(alignPair.first), alignPair.second);
1310 CAlign_CI align_it(bsh, display_range, sel);
1321 feature::CFeatTree& featTree =
fc.FeatTree();
1322 vector<CMappedFeat> vChildren;
1323 featTree.GetChildrenTo(mf, vChildren);
1324 for (
auto cit = vChildren.begin(); cit != vChildren.end(); ++cit) {
1385 const auto& display_range =
GetRange();
1386 CFeat_CI feat_iter(bsh, display_range, sel);
1402 vector<CMappedFeat> vRoots =
fc.FeatTree().GetRootFeatures();
1404 for (
auto pit = vRoots.begin(); pit != vRoots.end(); ++pit) {
1406 fc.AssignShouldInheritPseudo(
false);
1422 const auto& display_range =
GetRange();
1423 CFeat_CI feat_iter(bsh, display_range, sel);
1439 "Processing terminated by user");
1473 "Processing terminated by user");
1518 cerr <<
"CGff3Writer: Unsupported feature type encountered: Removed." << endl;
1520 cerr <<
" exc: " << e.
ReportAll() << endl;
1540 if (isTransSpliced) {
1541 unsigned int inPoint, outPoint;
1553 const list< CRef< CSeq_interval > >& sublocs = PackedInt.
GetPacked_int().
Get();
1554 auto parentId = pRna->
Id();
1555 list< CRef< CSeq_interval > >::const_iterator it;
1559 unsigned int wrapSize(0), wrapPoint(0);
1560 if (!isTransSpliced) {
1564 for (it = sublocs.begin(); it != sublocs.end(); ++it) {
1603 if(
fc.BioseqHandle() &&
fc.BioseqHandle().CanGetInst())
1604 seqlength =
fc.BioseqHandle().GetInst().GetLength();
1615 const auto rnaId = pRna->
Id();
1619 const list< CRef< CSeq_interval > >& sublocs = PackedInt.
GetPacked_int().
Get();
1621 unsigned int wrapSize(0), wrapPoint(0);
1622 if (!isTransSpliced) {
1628 for (
auto it = sublocs.begin(); it != sublocs.end(); ++it ) {
1673 if (!me || !me->
HasField(
"Method")) {
1728 if (method ==
"Local") {
1744 unsigned int seqStart(0);
1745 unsigned int seqStop(0);
1749 seqStart, seqStop)) {
1790 if (seqStart < bstop) {
1793 if (seqStop < bstop) {
1800 if (seqStart < bstart) {
1803 if (seqStop < bstart) {
1875 for (
size_t i=0;
i < dbxrefs.size(); ++
i) {
1887 parent =
fc.FeatTree().GetParent( mf );
1893 if (geneRef && geneRef->IsSuppressed()) {
1899 for (
size_t i=0;
i < more_dbxrefs.size(); ++
i) {
1940 for (
size_t i=0;
i < dbxrefs.size(); ++
i ) {
1963 vector<string> acceptedClasses = {
1965 "autocatalytically_spliced_intron",
1967 "hammerhead_ribozyme",
1988 if (ncrna_class.empty()) {
1995 if (ncrna_class ==
"classRNA") {
2000 if (ncrna_class.empty()) {
2008 const auto cit = std::find(
2009 acceptedClasses.begin(), acceptedClasses.end(), ncrna_class);
2010 if (cit == acceptedClasses.end()) {
2015 string recomb_class = mf.
GetNamedQual(
"recombination_class");
2016 if (!recomb_class.empty() && recomb_class !=
"other") {
2018 auto cit = std::find(validClasses.begin(), validClasses.end(), recomb_class);
2019 if (cit == validClasses.end()) {
2020 note = recomb_class;
2025 string regulatory_class = mf.
GetNamedQual(
"regulatory_class");
2026 if (!regulatory_class.empty() && regulatory_class !=
"other") {
2028 auto cit = std::find(validClasses.begin(), validClasses.end(), regulatory_class);
2029 if (cit == validClasses.end()) {
2030 note = regulatory_class;
2039 if (!note.empty()) {
2040 if (!comment.empty()) {
2041 note +=
"; " + comment;
2047 if (!note.empty()) {
2063 for (CSeq_feat::TQual::const_iterator cit = quals.begin();
2064 cit != quals.end(); ++cit) {
2065 if ((*cit)->GetQual() ==
"transcript_id") {
2066 record.
SetAttribute(
"transcript_id", (*cit)->GetVal());
2072 string transcript_id;
2090 vector<string>
value;
2136 if (!
rna.IsSetExt()) {
2248 {
"ID",
"Name",
"Alias",
"Parent",
"Target",
"Gap",
"Derives_from",
2249 "Note",
"Dbxref",
"Ontology_term",
"Is_circular"};
2252 for (
const auto& qual: quals) {
2253 if (!qual->IsSetQual() || !qual->IsSetVal()) {
2256 string key = qual->GetQual();
2257 const string&
value = qual->GetVal();
2258 if (
key ==
"SO_type") {
2265 if (
key ==
"Parent") {
2270 gff3_attributes.
find(
key) == gff3_attributes.
end()) {
2296 whole.SetInt().SetFrom(0);
2297 whole.SetInt().SetTo(
fc.BioseqHandle().GetInst_Length()-1);
2306 "CGff3Writer: Unable to assign record location.\n");
2310 if (!display_range.IsWhole()) {
2311 pLoc->
Assign(*sequence::CFeatTrim::Apply(*pLoc, display_range));
2325 list< CRef< CSeq_interval > >& sublocs = pLoc->
SetPacked_int().Set();
2326 list< CRef<CSeq_interval> >::iterator it;
2327 list< CRef<CSeq_interval> >::iterator it_ceil=sublocs.end();
2328 list< CRef<CSeq_interval> >::iterator it_floor=sublocs.end();
2329 if (sublocs.size() > 1) {
2330 for ( it = sublocs.begin(); it != sublocs.end(); ++it ) {
2340 if (it_floor != sublocs.end() && it_ceil != sublocs.end()) {
2344 if ( it_ceil != sublocs.end() && it_floor != sublocs.end() ) {
2345 (*it_ceil)->
SetTo( (*it_ceil)->GetTo() + (*it_floor)->GetTo() + 1 );
2346 sublocs.erase(it_floor);
2381 const string defaultId(
".");
2386 auto ids = bsh.
GetId();
2388 auto id = ids.front();
2431 unsigned int seqStart = 0;
2545 typedef vector<CRef<CDbtag> > DBTAGS;
2554 const DBTAGS& tags = orgRef.
GetDb();
2555 for (DBTAGS::const_iterator cit = tags.begin(); cit != tags.end(); ++cit) {
2570 const vector<string> ignoredKeys = {
2574 typedef list<CRef<COrgMod> > MODS;
2587 const MODS& mods = orgName.
GetMod();
2588 for (MODS::const_iterator cit = mods.begin(); cit != mods.end(); ++cit) {
2591 auto ignoredIt = std::find(ignoredKeys.begin(), ignoredKeys.end(),
key);
2592 if (ignoredIt != ignoredKeys.end()) {
2607 typedef list<CRef<CSubSource> > SUBS;
2613 for (SUBS::const_iterator cit = subs.begin(); cit != subs.end(); ++cit) {
2659 if (display_range.
IsWhole()) {
2665 iPhase =
max(sequence::CFeatTrim::GetCdsFrame(feature, display_range)-1, 0);
2668 int iTotSize = -iPhase;
2671 list< CRef< CSeq_interval > >::const_iterator it;
2672 string cdsId = pCds->
Id();
2676 unsigned int wrapSize(0), wrapPoint(0);
2681 for ( it = sublocs.begin(); it != sublocs.end(); ++it ) {
2696 iTotSize = (iTotSize + subint.
GetLength());
2697 const int posInCodon = (3+iTotSize)%3;
2698 iPhase = posInCodon ? 3-posInCodon : 0;
2712 fc.FeatTree().AddFeatures(it);
2755 const list< CRef< CSeq_interval > >& sublocs = PackedInt.
GetPacked_int().
Get();
2756 auto parentId = pRna->
Id();
2757 list< CRef< CSeq_interval > >::const_iterator it;
2761 unsigned int wrapSize(0), wrapPoint(0);
2766 for ( it = sublocs.begin(); it != sublocs.end(); ++it ) {
2819 const auto parentId = pSegment->
Id();
2821 const list< CRef< CSeq_interval > >& sublocs = PackedInt.
GetPacked_int().
Get();
2823 unsigned int wrapSize(0), wrapPoint(0);
2828 for (
auto it = sublocs.begin(); it != sublocs.end(); ++it ) {
2858 if(
fc.BioseqHandle() &&
fc.BioseqHandle().CanGetInst())
2859 seqlength =
fc.BioseqHandle().GetInst().GetLength();
2887 {
"mature_protein_region",
"mature_protein_region_of_CDS"},
2888 {
"immature_peptide_region",
"propeptide_region_of_CDS"},
2889 {
"signal_peptide",
"signal_peptide_region_of_CDS"},
2890 {
"transit_peptide",
"transit_peptide_region_of_CDS"},
2892 auto fixupIt = proteinOnCdsFixups.
find(pRecord->
StrType());
2893 if (fixupIt != proteinOnCdsFixups.
end()) {
2894 pRecord->
SetType(fixupIt->second);
2899 string parentId = parentIt->second->Id();
2908 if (
prot.IsSetName()) {
2917 auto& packedInt = *pMappedLoc;
2919 _ASSERT(packedInt.IsPacked_int() && packedInt.GetPacked_int().CanGet());
2921 list< CRef< CSeq_interval > > sublocs( packedInt.GetPacked_int().Get() );
2923 unsigned int wrapSize(0), wrapPoint(0);
2928 for (
auto it = sublocs.begin(); it != sublocs.end(); ++it ) {
2944 unsigned int seqLength )
2956 if (sublocs.size() == 1) {
2960 unsigned int curInterval = 1;
2962 for (
auto it = sublocs.begin(); it != sublocs.end(); ++it) {
2965 pChild->SetLocation(subint, 0);
2968 pChild->SetAttribute(
"part", part);
3114 for (
const auto& parent_type : parent_types) {
3116 mf, parent_type, &
fc.FeatTree());
3147 "CGff3Writer::xWriteRecord: GFF3 reord is missing mandatory SeqID assignment.\n"
3148 "Identifying information:\n"
3151 " Gff3Type: " + record.
StrType() +
"\n\n");
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
@ eExtreme_Positional
numerical value
@ eExtreme_Biological
5' and 3'
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
bool WriteAlignments(CAlign_CI first)
TSegTypeFlags GetSegType(TNumrow row, TNumseg seg, int offset=0) const
TSignedSeqPos GetStart(TNumrow row, TNumseg seg, int offset=0) const
const CSeq_id & GetSeqId(TNumrow row) const
TDim GetNumRows(void) const
unsigned int TSegTypeFlags
TSeqPos GetLen(TNumseg seg, int offset=0) const
const CDense_seg & GetDenseg(void) const
TSeqPos GetSeqStop(TNumrow row) const
TSignedRange GetRange(TNumrow row, TNumseg seg, int offset=0) const
int StrandSign(TNumrow row) const
TNumseg GetNumSegs(void) const
TSeqPos GetSeqStart(TNumrow row) const
CSeq_annot_Handle GetAnnot(void) const
const string & GetTaxname(void) const
string GetRepliconName(void) const
bool IsSetOrgname(void) const
CRef< CDense_seg > FillUnaligned() const
Create a new dense-seg with added all unaligned pieces (implicit inserts), if any,...
const TWidths & GetWidths(void) const
static CGenbankIdResolve & Get()
bool GetBestId(CSeq_id_Handle, CScope &, string &)
bool IsSuppressed(void) const
CWriterBase implementation that formats Genbank objects as plain GFF files.
virtual bool x_WriteAssemblyInfo(const string &, const string &)
virtual bool xAssignFeatureAttributesFormatIndependent(CGffFeatureRecord &, CGffFeatureContext &, const CMappedFeat &)
virtual bool xAssignFeatureSeqId(CGffFeatureRecord &, CGffFeatureContext &, const CMappedFeat &)
virtual bool xAssignFeatureBasic(CGffFeatureRecord &, CGffFeatureContext &, const CMappedFeat &)
static bool xIntervalsNeedPartNumbers(const list< CRef< CSeq_interval >> &)
CMappedFeat xGenerateMissingTranscript(CGffFeatureContext &, const CMappedFeat &)
void SetRecordId(const string &recordId)
void SetParent(const string &parent)
void SetRecordId(const string &recordId)
virtual bool xAssignAlignmentSplicedLocation(CGffAlignRecord &, const CSpliced_seg &, const CSpliced_exon &)
bool WriteAlign(const CSeq_align &, const string &asmblyName="", const string &asmblyAccession="") override
Write a raw Seq-align to the internal output stream.
virtual bool xWriteSource(CBioseq_Handle)
bool xAssignAlignmentSplicedType(CGffAlignRecord &, const CSpliced_seg &, const CSpliced_exon &)
virtual bool xWriteFeatureRecords(const CGffFeatureRecord &, const CSeq_loc &, unsigned int)
CBioseq_Handle m_BioseqHandle
bool xAssignAlignmentSpliced(CGffAlignRecord &, const CSpliced_seg &, const CSpliced_exon &)
bool xWriteFeature(CFeat_CI feat_it) override
bool xAssignAlignmentSplicedMethod(CGffAlignRecord &, const CSpliced_seg &, const CSpliced_exon &)
virtual bool xAssignFeatureAttributeParentGene(CGff3FeatureRecord &, CGffFeatureContext &, const CMappedFeat &)
bool xWriteAlign(const CSeq_align &, const string &="") override
virtual bool xWriteRecord(const CGffBaseRecord &)
bool xAssignFeatureMethod(CGffFeatureRecord &, CGffFeatureContext &, const CMappedFeat &) override
virtual bool xWriteFeatureGeneric(CGffFeatureContext &, const CMappedFeat &)
virtual bool xAssignAlignmentSplicedTarget(CGffAlignRecord &, const CSpliced_seg &, const CSpliced_exon &)
virtual bool xWriteFeatureCDJVSegment(CGffFeatureContext &, const CMappedFeat &)
virtual bool xWriteFeatureGene(CGffFeatureContext &, const CMappedFeat &)
bool xAssignFeatureAttributeParent(CGff3FeatureRecord &, CGffFeatureContext &, const CMappedFeat &)
bool xAssignSourceType(CGff3SourceRecord &)
unsigned int m_uPendingCdsId
unsigned int m_uPendingMrnaId
list< pair< CConstRef< CSeq_align >, string > > TAlignCache
virtual bool xAssignAlignmentDensegScores(CGffAlignRecord &, const CAlnMap &, unsigned int)
TRegionMapNew m_RegionMapNew
virtual bool xWriteAlignDenseg(const CSeq_align &, const string &="")
virtual bool xWriteSequenceHeader(CBioseq_Handle)
virtual bool xWriteFeatureCds(CGffFeatureContext &, const CMappedFeat &)
virtual bool xWriteAlignDisc(const CSeq_align &, const string &="")
virtual bool xWriteSequence(CBioseq_Handle)
virtual void x_SortAlignments(TAlignCache &alignCache, CScope &scope)
bool xAssignFeatureAttributeTranscriptId(CGffFeatureRecord &, const CMappedFeat &)
virtual bool xAssignFeatureAttributeParentCds(CGff3FeatureRecord &, CGffFeatureContext &, const CMappedFeat &)
virtual bool xAssignFeatureAttributeParentVDJsegmentCregion(CGff3FeatureRecord &, CGffFeatureContext &, const CMappedFeat &)
TFeatureMap m_PrernaMapNew
bool xAssignAlignmentDensegType(CGffAlignRecord &, const CAlnMap &, unsigned int)
bool xAssignAlignmentDensegMethod(CGffAlignRecord &, const CAlnMap &, unsigned int)
virtual bool xAssignAlignmentSplicedGap(CGffAlignRecord &, const CSpliced_seg &, const CSpliced_exon &)
bool xAssignFeatureAttributeName(CGffFeatureRecord &, const CMappedFeat &)
bool xAssignFeatureType(CGffFeatureRecord &, CGffFeatureContext &, const CMappedFeat &) override
bool WriteHeader() override
Write a file header.
virtual bool xWriteFeatureRna(CGffFeatureContext &, const CMappedFeat &)
virtual bool xAssignAlignmentDensegTarget(CGffAlignRecord &, const CAlnMap &, unsigned int)
virtual bool xWriteProteinFeature(CGffFeatureContext &, const CMappedFeat &)
bool xAssignAlignmentDenseg(CGffAlignRecord &, const CAlnMap &, unsigned int)
virtual bool xWriteAlignSpliced(const CSeq_align &, const string &="")
bool xAssignSourceAttributesOrgMod(CGff3SourceRecord &, const CBioSource &)
bool xAssignFeature(CGffFeatureRecord &, CGffFeatureContext &, const CMappedFeat &) override
bool xAssignFeatureStrand(CGffFeatureRecord &, CGffFeatureContext &, const CMappedFeat &) override
virtual bool xAssignAlignmentDensegSeqId(CGffAlignRecord &, const CAlnMap &, unsigned int)
bool xSplicedSegHasProteinProd(const CSpliced_seg &spliced)
virtual bool xAssignFeatureAttributeParentMrna(CGff3FeatureRecord &, CGffFeatureContext &, const CMappedFeat &)
bool xAssignSourceAttributeDbxref(CGff3SourceRecord &, const CBioSource &)
bool xAssignSourceAttributeGbKey(CGff3SourceRecord &)
bool xAssignSourceAttributes(CGff3SourceRecord &, CBioseq_Handle)
bool xAssignAlignmentSplicedAttributes(CGffAlignRecord &, const CSpliced_seg &, const CSpliced_exon &)
virtual SAnnotSelector & xSetJunkFilteringAnnotSelector()
bool xAssignSourceAttributeIsCircular(CGff3SourceRecord &, CBioseq_Handle)
bool xAssignAlignmentDensegGap(CGffAlignRecord &, const CAlnMap &, unsigned int)
bool xAssignFeaturePhase(CGffFeatureRecord &, CGffFeatureContext &, const CMappedFeat &) override
bool xAssignAlignmentSplicedPhase(CGffAlignRecord &, const CSpliced_seg &, const CSpliced_exon &)
virtual bool xWriteProteinSequence(CBioseq_Handle)
bool xAssignSourceMethod(CGff3SourceRecord &, CBioseq_Handle)
bool xAssignFeatureAttributesFormatIndependent(CGffFeatureRecord &, CGffFeatureContext &, const CMappedFeat &) override
bool x_WriteBioseqHandle(CBioseq_Handle) override
virtual bool xAssignAlignmentSplicedSeqId(CGffAlignRecord &, const CSpliced_seg &, const CSpliced_exon &)
bool xWriteAllChildren(CGffFeatureContext &, const CMappedFeat &) override
void SetBioseqHandle(CBioseq_Handle bsh)
virtual bool x_WriteFeatureContext(CGffFeatureContext &)
bool xAssignSourceAttributesBioSource(CGff3SourceRecord &, CBioseq_Handle)
bool xAssignSourceAttributeName(CGff3SourceRecord &, const CBioSource &)
bool xAssignFeatureAttributeID(CGff3FeatureRecord &, CGffFeatureContext &, const CMappedFeat &)
virtual bool xWriteNucleotideFeature(CGffFeatureContext &, const CMappedFeat &)
bool xAssignSource(CGff3SourceRecord &, CBioseq_Handle)
virtual bool xPassesFilterByViewMode(CBioseq_Handle)
TFeatureMap m_VDJsegmentCregionMapNew
virtual bool xAssignAlignmentScores(CGffAlignRecord &, const CSeq_align &)
unsigned int m_uPendingAlignId
virtual bool xAssignFeatureAttributeParentpreRNA(CGff3FeatureRecord &, CGffFeatureContext &, const CMappedFeat &)
bool xAssignSourceAttributeMolType(CGff3SourceRecord &, CBioseq_Handle)
bool x_WriteSeqAnnotHandle(CSeq_annot_Handle) override
bool xAssignSourceSeqId(CGff3SourceRecord &, CBioseq_Handle)
bool xAssignFeatureAttributeNote(CGffFeatureRecord &, CGffFeatureContext &, const CMappedFeat &) override
bool xAssignSourceEndpoints(CGff3SourceRecord &, CBioseq_Handle)
bool xAssignFeatureEndpoints(CGffFeatureRecord &record, CGffFeatureContext &, const CMappedFeat &mapped_feat) override
bool xAssignFeatureAttributeNcrnaClass(CGffFeatureRecord &, const CMappedFeat &)
bool xAssignFeatureAttributeDbxref(CGffFeatureRecord &, CGffFeatureContext &, const CMappedFeat &) override
virtual bool xAssignAlignmentDensegLocation(CGffAlignRecord &, const CAlnMap &, unsigned int)
void xWriteAlignment(const CGffAlignRecord &record)
unsigned int m_uPendingTrnaId
unsigned int m_uPendingGenericId
virtual bool xWriteNucleotideSequence(CBioseq_Handle)
virtual bool xAssignAlignmentSplicedScores(CGffAlignRecord &, const CSpliced_seg &, const CSpliced_exon &)
virtual bool xWriteFeatureProtein(CGffFeatureContext &, const CMappedFeat &, const CMappedFeat &)
virtual bool xWriteNucleotideFeatureTransSpliced(CGffFeatureContext &, const CMappedFeat &)
bool xAssignSourceAttributeGenome(CGff3SourceRecord &, const CBioSource &)
bool xAssignFeatureAttributesQualifiers(CGffFeatureRecord &, CGffFeatureContext &, const CMappedFeat &) override
bool xAssignSourceAttributesSubSource(CGff3SourceRecord &, const CBioSource &)
bool xAssignFeatureAttributesFormatSpecific(CGffFeatureRecord &, CGffFeatureContext &, const CMappedFeat &) override
virtual bool xAssignFeatureAttributeParentRegion(CGff3FeatureRecord &, CGffFeatureContext &, const CMappedFeat &)
unsigned int m_uPendingGeneId
virtual bool xWriteFeatureTrna(CGffFeatureContext &, const CMappedFeat &)
CGffIdGenerator m_idGenerator
CGff3Writer(CScope &, CNcbiOstream &, unsigned int=fNormal, bool sortAlignments=false)
void AddInsertion(unsigned int)
void AddMatch(unsigned int)
void AddReverseShift(unsigned int)
void AddDeletion(unsigned int)
string StrAttributes() const
void AddForwardShift(unsigned int)
void SetPhase(unsigned int)
virtual string StrType() const
virtual string StrSeqStop() const
virtual string StrAttributes() const
const CSeq_loc & GetLocation() const
bool DropAttributes(const string &)
virtual string StrScore() const
void SetSeqId(const string &)
void SetLocation(unsigned int, unsigned int, ENa_strand=objects::eNa_strand_unknown)
bool GetAttributes(const string &, vector< string > &) const
void SetType(const string &)
virtual string StrPhase() const
void SetMethod(const string &)
void SetStrand(ENa_strand)
bool SetAttribute(const string &, const string &)
virtual string StrSeqStart() const
void SetScore(const CScore &)
virtual string StrSeqId() const
bool AddAttribute(const string &, const string &)
virtual string StrStrand() const
bool CanGetLocation() const
virtual string StrMethod() const
void InitLocation(const CSeq_loc &)
const CSeq_loc & Location() const
void SetLocation(const CSeq_interval &, unsigned int, unsigned int=0)
void SetEndpoints(unsigned int start, unsigned int stop, ENa_strand strand)
std::string GetGffId(const CMappedFeat &, CGffFeatureContext &fc)
std::string GetGffSourceId(CBioseq_Handle)
std::string GetNextGffExonId(const std::string &)
bool Match(const CObject_id &oid2) const
@RNA_ref.hpp User-defined methods of the data storage class.
static string GetRnaTypeName(const CRNA_ref::EType rna_type)
ESubtype GetSubtype(void) const
static const vector< string > & GetRecombinationClassList()
@ eSubtype_transit_peptide
@ eSubtype_misc_structure
@ eSubtype_mobile_element
@ eSubtype_transit_peptide_aa
@ eSubtype_non_std_residue
@ eSubtype_sig_peptide_aa
@ eSubtype_mat_peptide_aa
static const vector< string > & GetRegulatoryClassList()
TSeqPos GetSeqStop(TDim row) const
const CSeq_id & GetSeq_id(TDim row) const
Get seq-id (the first one if segments have different ids).
TSeqPos GetSeqStart(TDim row) const
ENa_strand GetSeqStrand(TDim row) const
Get strand (the first one if segments have different strands).
void Validate(bool full_test=false) const
namespace ncbi::objects::
TSeqPos GetLength(void) const
static bool FeatureToSoType(const CSeq_feat &, string &)
bool HasField(const string &str, const string &delim=".", NStr::ECase use_case=NStr::eCase) const
Verify that a named field exists.
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.
static bool IsTransspliced(const CSeq_feat &feature)
static void ChangeToPackedInt(CSeq_loc &loc)
static bool IsSequenceCircular(CBioseq_Handle)
static bool IsProteinSequence(CBioseq_Handle)
static bool GetSubSourceSubType(const CSubSource &, string &, string &)
static bool GetOrgModSubType(const COrgMod &, string &, string &)
static bool GetDbTag(const CDbtag &, string &)
static bool CompareFeatures(const CMappedFeat &lhs, const CMappedFeat &rhs)
static bool GetTranssplicedEndpoints(const CSeq_loc &loc, unsigned int &inPoint, unsigned int &outPoint)
static bool GetIdType(CBioseq_Handle, string &)
static bool IsNucleotideSequence(CBioseq_Handle)
static CConstRef< CUser_object > GetModelEvidence(CMappedFeat)
static bool GetGenomeString(const CBioSource &, string &)
static bool GetBiomol(CBioseq_Handle, string &)
virtual const CRange< TSeqPos > & GetRange(void) const
CRange< TSeqPos > m_Range
virtual SAnnotSelector & SetAnnotSelector(void)
container_type::iterator iterator
const_iterator end() const
const_iterator find(const key_type &key) const
const_iterator find(const key_type &key) const
const_iterator end() const
static const char location[]
bool Empty(const CNcbiOstrstream &src)
void sGetWrapInfo(const list< CRef< CSeq_interval > > &subInts, CGffFeatureContext &fc, unsigned int &wrapSize, unsigned int &wrapPoint)
bool s_RangeContains(const CRange< TSeqPos > &range, const TSeqPos pos)
string s_GetAlignID(const CSeq_align &align)
bool sGetMethodFromModelEvidence(const CMappedFeat &mf, string &method)
#define IS_DELETION(sf, tf)
bool sInheritScores(const CSeq_align &alignFrom, CSeq_align &alignTo)
string sBestMatchType(const CSeq_id &source)
#define IS_INSERTION(sf, tf)
unsigned int TSeqPos
Type for sequence locations and lengths.
void swap(NCBI_NS_NCBI::pair_base_member< T1, T2 > &pair1, NCBI_NS_NCBI::pair_base_member< T1, T2 > &pair2)
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
const string & GetMsg(void) const
Get message string.
string ReportAll(TDiagPostFlags flags=eDPF_Exception) const
Report all exceptions.
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Set object to copy of another one.
static EAccessionInfo IdentifyAccession(const CTempString &accession, TParseFlags flags=fParse_AnyRaw)
Deduces information from a bare accession a la WHICH_db_accession; may report false negatives on prop...
void GetLabel(string *label, ELabelType type=eDefault, TLabelFlags flags=fLabel_Default) const
Append a label for this Seq-id to the supplied string.
CConstRef< CSeq_id > GetSeqId(void) const
EAccessionInfo
For IdentifyAccession (below)
static CSeq_id_Handle GetHandle(const CSeq_id &id)
Normal way of getting a handle, works for any seq-id.
@ eContent
Untagged human-readable accession or the like.
void SetPacked_int(TPacked_int &v)
bool IsPartialStart(ESeqLocExtremes ext) const
check start or stop of location for e_Lim fuzz
ENa_strand GetStrand(void) const
Get the location's strand.
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Override Assign() to incorporate cache invalidation.
TRange GetTotalRange(void) const
TSeqPos GetStart(ESeqLocExtremes ext) const
Return start and stop positions of the seq-loc.
const CSeq_id * GetId(void) const
Get the id of the location return NULL if has multiple ids or no id at all.
bool IsPartialStop(ESeqLocExtremes ext) const
TSeqPos GetStop(ESeqLocExtremes ext) const
CMappedFeat GetBestParentForFeat(const CMappedFeat &feat, CSeqFeatData::ESubtype parent_subtype, CFeatTree *feat_tree=0, const SAnnotSelector *base_sel=0)
CMappedFeat GetBestMrnaForCds(const CMappedFeat &cds_feat, CFeatTree *feat_tree=0, const SAnnotSelector *base_sel=0)
const CSeq_id & GetId(const CSeq_loc &loc, CScope *scope)
If all CSeq_ids embedded in CSeq_loc refer to the same CBioseq, returns the first CSeq_id found,...
CSeq_id_Handle GetIdHandle(const CSeq_loc &loc, CScope *scope)
string GetAccessionForId(const objects::CSeq_id &id, CScope &scope, EAccessionVersion use_version=eWithAccessionVersion, EGetIdType flags=0)
Retrieve the accession string for a Seq-id.
const CBioSource * GetBioSourceForBioseq(const CBioseq_Handle &bsh)
Find a BioSource for the given Bioseq: If it's a protein then look for the source feature of the prod...
@ eGetId_Best
return the "best" gi (uses FindBestScore(), with CSeq_id::CalculateScore() as the score function
@ eGetId_ForceAcc
return only an accession based seq-id
@ eGetId_ForceGi
return only a gi-based seq-id
double GetProteinWeight(const CBioseq_Handle &handle, const CSeq_loc *location=0, TGetProteinWeight opts=0)
Handles the standard 20 amino acids and Sec and Pyl; treats Asx as Asp, Glx as Glu,...
CBioseq_Handle GetBioseqHandleFromTSE(const CSeq_id &id, const CTSE_Handle &tse)
Get bioseq handle for sequence withing one TSE.
CRef< CSeq_loc > Map(const CSeq_loc &src_loc)
Map seq-loc.
CBioseq_Handle GetBioseqHandle(const CSeq_id &id)
Get bioseq handle by seq-id.
void SetFuzzOption(TFuzzOption newOption)
CBioseq_Handle GetObjectHandle(const CBioseq &bioseq, EMissing action=eMissing_Default)
@ eProductToLocation
Map from the feature's product to location.
const string & GetNamedQual(const CTempString &qual_name) const
Return a named qualifier.
bool IsSetComment(void) const
CConstRef< CBioseq > GetCompleteBioseq(void) const
Get the complete bioseq.
CSeq_entry_Handle GetParentEntry(void) const
Get parent Seq-entry handle.
bool IsSetDbxref(void) const
const CSeqFeatData & GetData(void) const
TSeqPos GetBioseqLength(void) const
const CSeq_id_Handle & GetSeq_id_Handle(void) const
Get handle of id used to obtain this bioseq handle.
CConstRef< CSeq_annot > GetCompleteSeq_annot(void) const
Complete and return const reference to the current seq-annot.
bool IsSetProduct(void) const
const string & GetComment(void) const
bool CanGetInst_Strand(void) const
CConstRef< CSeq_id > GetNonLocalIdOrNull(void) const
Find a non-local ID if present, consulting assembly details if all IDs for the overall sequence are l...
CScope & GetScope(void) const
Get scope this handle belongs to.
CScope & GetScope(void) const
Get scope this handle belongs to.
const CSeq_feat::TDbxref & GetDbxref(void) const
CSeqFeatData::ESubtype GetFeatSubtype(void) const
CSeqFeatData::E_Choice GetFeatType(void) const
const CGene_ref * GetGeneXref(void) const
get gene (if present) from Seq-feat.xref list
const CSeq_feat::TQual & GetQual(void) const
const TId & GetId(void) const
bool IsSetData(void) const
const TInst & GetInst(void) const
CSeq_id_Handle GetProductId(void) const
SAnnotSelector & SetSourceLoc(const CSeq_loc &loc)
Set filter for source location of annotations.
const CSeq_loc & GetLocation(void) const
const CSeq_feat & GetOriginalFeature(void) const
Get original feature with unmapped location/product.
SAnnotSelector & SetLimitSeqAnnot(const CSeq_annot_Handle &limit)
Limit annotations to those from the seq-annot only.
const CSeq_feat & GetMappedFeature(void) const
Feature mapped to the master sequence.
SAnnotSelector & IncludeFeatType(TFeatType type)
Include feature type in the search.
const CSeq_loc & GetProduct(void) const
SAnnotSelector & SetResolveNone(void)
SetResolveNone() is equivalent to SetResolveMethod(eResolve_None).
CSeq_id_Handle GetLocationId(void) const
CConstRef< C > ConstRef(const C *object)
Template function for conversion of const object pointer to CConstRef.
CRef< C > Ref(C *object)
Helper functions to get CRef<> and CConstRef<> objects.
TObjectType & GetNCObject(void) const
Get object.
position_type GetLength(void) const
TThisType IntersectionWith(const TThisType &r) const
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
IO_PREFIX::ostream CNcbiOstream
Portable alias for ostream.
static string IntToString(int value, TNumToStringFlags flags=0, int base=10)
Convert int to string.
static string UIntToString(unsigned int value, TNumToStringFlags flags=0, int base=10)
Convert UInt to string.
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.
static string URLEncode(const CTempString str, EUrlEncode flag=eUrlEnc_SkipMarkChars)
URL-encode string.
static string & ToLower(string &str)
Convert string to lower case – string& version.
const TSubtype & GetSubtype(void) const
Get the Subtype member data.
bool IsSetOrg(void) const
Check if a value has been assigned to Org data member.
bool IsSetSubtype(void) const
Check if a value has been assigned to Subtype data member.
const TOrg & GetOrg(void) const
Get the Org member data.
TTo GetTo(void) const
Get the To member data.
TFrom GetFrom(void) const
Get the From member data.
const TStr & GetStr(void) const
Get the variant data.
bool IsStr(void) const
Check if variant Str is selected.
bool IsId(void) const
Check if variant Id is selected.
const TData & GetData(void) const
Get the Data member data.
bool IsStr(void) const
Check if variant Str is selected.
const TStr & GetStr(void) const
Get the variant data.
bool IsSetData(void) const
Check if a value has been assigned to Data data member.
const TMod & GetMod(void) const
Get the Mod member data.
bool IsSetDb(void) const
ids in taxonomic or culture dbases Check if a value has been assigned to Db data member.
const TDb & GetDb(void) const
Get the Db member data.
bool IsSetMod(void) const
Check if a value has been assigned to Mod data member.
bool IsSetOrgname(void) const
Check if a value has been assigned to Orgname data member.
const TOrgname & GetOrgname(void) const
Get the Orgname member data.
const TName & GetName(void) const
Get the Name member data.
bool IsSetName(void) const
protein name Check if a value has been assigned to Name data member.
TType GetType(void) const
Get the Type member data.
bool IsSetExt(void) const
generic fields for ncRNA, tmRNA, miscRNA Check if a value has been assigned to Ext data member.
bool IsGen(void) const
Check if variant Gen is selected.
const TGen & GetGen(void) const
Get the variant data.
bool IsSetType(void) const
Check if a value has been assigned to Type data member.
bool IsSetClass(void) const
for ncRNAs, the class of non-coding RNA: examples: antisense_RNA, guide_RNA, snRNA Check if a value h...
const TExt & GetExt(void) const
Get the Ext member data.
const TClass & GetClass(void) const
Get the Class member data.
const TId & GetId(void) const
Get the Id member data.
const TDenseg & GetDenseg(void) const
Get the variant data.
bool IsSetProduct_type(void) const
Check if a value has been assigned to Product_type data member.
TScore & SetScore(void)
Assign a value to Score data member.
const TGenomic_id & GetGenomic_id(void) const
Get the Genomic_id member data.
E_Choice Which(void) const
Which variant is currently selected.
TMatch GetMatch(void) const
Get the variant data.
bool IsSetId(void) const
alignment id Check if a value has been assigned to Id data member.
const TProduct_id & GetProduct_id(void) const
Get the Product_id member data.
bool IsSetScores(void) const
score for each seg Check if a value has been assigned to Scores data member.
TGenomic_start GetGenomic_start(void) const
Get the Genomic_start member data.
bool IsSetSegs(void) const
Check if a value has been assigned to Segs data member.
TDiag GetDiag(void) const
Get the variant data.
TProduct_type GetProduct_type(void) const
Get the Product_type member data.
TMismatch GetMismatch(void) const
Get the variant data.
TGenomic_strand GetGenomic_strand(void) const
Get the Genomic_strand member data.
list< CRef< CObject_id > > TId
bool IsSetGenomic_strand(void) const
genomic-strand represents the strand of translation Check if a value has been assigned to Genomic_str...
bool CanGetProduct_strand(void) const
Check if it is safe to call GetProduct_strand method.
const TParts & GetParts(void) const
Get the Parts member data.
const TProduct_start & GetProduct_start(void) const
Get the Product_start member data.
const TProduct_end & GetProduct_end(void) const
Get the Product_end member data.
bool IsSetProduct_id(void) const
product is either protein or transcript (cDNA) Check if a value has been assigned to Product_id data ...
const TSpliced & GetSpliced(void) const
Get the variant data.
TGenomic_ins GetGenomic_ins(void) const
Get the variant data.
bool IsSetGenomic_strand(void) const
Check if a value has been assigned to Genomic_strand data member.
const TScores & GetScores(void) const
Get the Scores member data.
const TExons & GetExons(void) const
Get the Exons member data.
TGenomic_strand GetGenomic_strand(void) const
Get the Genomic_strand member data.
bool IsSetScore(void) const
for whole alignment Check if a value has been assigned to Score data member.
TGenomic_end GetGenomic_end(void) const
Get the Genomic_end member data.
bool IsSpliced(void) const
Check if variant Spliced is selected.
const Tdata & Get(void) const
Get the member data.
TProduct_strand GetProduct_strand(void) const
Get the Product_strand member data.
const TScore & GetScore(void) const
Get the Score member data.
const TScores & GetScores(void) const
Get the Scores member data.
TProduct_ins GetProduct_ins(void) const
Get the variant data.
const TDisc & GetDisc(void) const
Get the variant data.
const TId & GetId(void) const
Get the Id member data.
const Tdata & Get(void) const
Get the member data.
const TSegs & GetSegs(void) const
Get the Segs member data.
bool IsSetScores(void) const
scores for this exon Check if a value has been assigned to Scores data member.
E_Choice Which(void) const
Which variant is currently selected.
@ e_Product_ins
insertion in product sequence (i.e. gap in the genomic sequence)
@ e_Diag
both sequences are represented, there is sufficient similarity between product and genomic sequences....
@ e_Genomic_ins
insertion in genomic sequence (i.e. gap in the product sequence)
@ e_Match
both sequences represented, product and genomic sequences match
@ e_Mismatch
both sequences represented, product and genomic sequences do not match
vector< CRef< CDbtag > > TDbxref
E_Choice Which(void) const
Which variant is currently selected.
bool IsProt(void) const
Check if variant Prot is selected.
const TRegion & GetRegion(void) const
Get the variant data.
bool IsGene(void) const
Check if variant Gene is selected.
TFrame GetFrame(void) const
Get the Frame member data.
const TData & GetData(void) const
Get the Data member data.
const TCdregion & GetCdregion(void) const
Get the variant data.
const TGene & GetGene(void) const
Get the variant data.
const TProt & GetProt(void) const
Get the variant data.
vector< CRef< CGb_qual > > TQual
const TRna & GetRna(void) const
Get the variant data.
bool IsRna(void) const
Check if variant Rna is selected.
bool IsSetFrame(void) const
Check if a value has been assigned to Frame data member.
void SetTo(TTo value)
Assign a value to To data member.
ENa_strand
strand of nucleic acid
const Tdata & Get(void) const
Get the member data.
TFrom GetFrom(void) const
Get the From member data.
bool IsPacked_int(void) const
Check if variant Packed_int is selected.
bool IsSetTo(void) const
Check if a value has been assigned to To data member.
bool CanGet(void) const
Check if it is safe to call Get method.
TTo GetTo(void) const
Get the To member data.
bool IsWhole(void) const
Check if variant Whole is selected.
bool IsSetFrom(void) const
Check if a value has been assigned to From data member.
const TPacked_int & GetPacked_int(void) const
Get the variant data.
const TSource & GetSource(void) const
Get the variant data.
const TAnnot & GetAnnot(void) const
Get the Annot member data.
TLength GetLength(void) const
Get the Length member data.
@ e_Source
source of materials, includes Org-ref
where boath are integers</td > n< td ></td > n</tr > n< tr > n< td > tse</td > n< td > optional</td > n< td > String</td > n< td class=\"description\"> TSE option controls what blob is whole
range(_Ty, _Ty) -> range< _Ty >
constexpr auto sort(_Init &&init)
constexpr auto front(list< Head, As... >, T=T()) noexcept -> Head
constexpr bool empty(list< Ts... >) noexcept
const struct ncbi::grid::netcache::search::fields::KEY key
const CharType(& source)[N]
CConstRef< CSeq_id > GetBestId(const CBioseq &bioseq)
static const char * str(char *buf, int n)
bool operator()(const pair< CConstRef< CSeq_align >, string > &p1, const pair< CConstRef< CSeq_align >, string > &p2)
SCompareAlignments(CScope &scope)