& wrapSize,
103 unsigned int& wrapPoint)
106wrapSize = wrapPoint = 0;
107 if(subInts.empty()) {
113 if(bioH.CanGetInst_Topology()) {
122 const auto&
front= *subInts.front();
123 if(!
front.CanGetStrand()) {
126 autofrontStrand =
front.GetStrand();
127 autopCompare = subInts.begin()++;
128 while(pCompare != subInts.end()) {
129 const auto& interval = **pCompare;
130 if(!interval.CanGetStrand() || interval.GetStrand() != frontStrand) {
137 if(!bioH.CanGetInst_Length()) {
140wrapSize = bioH.GetInst_Length();
142subInts.back()->GetFrom() :
143subInts.front()->GetFrom();
155 typedefvector<CRef<CScore> > SCORES;
160 constSCORES& scoresFrom = alignFrom.
GetScore();
161 for(SCORES::const_iterator itFrom = scoresFrom.begin();
162itFrom != scoresFrom.end(); ++itFrom) {
164 const CScore& scoreFrom = **itFrom;
167 const string& keyFrom = scoreFrom.
GetId().
GetStr();
168 constSCORES& scoresTo = alignTo.
GetScore();
169SCORES::const_iterator itTo;
170 for(itTo = scoresTo.begin(); itTo != scoresTo.end(); ++itTo) {
171 const CScore& scoreTo = **itTo;
173 const string& keyTo = scoreTo.
GetId().
GetStr();
174 if(keyTo == keyFrom) {
179 if(itTo == scoresTo.end()) {
180alignTo.
SetScore().push_back(*itFrom);
186 constSCORES& scoresTo = alignFrom.
GetScore();
187SCORES::const_iterator itTo;
188 for(itTo = scoresTo.begin(); itTo != scoresTo.end(); ++itTo) {
189 const CScore& scoreTo = **itTo;
192 if(idTo.
Match(idFrom)) {
197 if(itTo == scoresTo.end()) {
198alignTo.
SetScore().push_back(*itFrom);
210 const char* strProtMatch =
"protein_match";
211 const char* strEstMatch =
"EST_match";
212 const char* strCdnaMatch =
"cDNA_match";
234 boolsortAlignments) :
237m_sDefaultMethod(
""),
238m_SortAlignments(sortAlignments),
255 boolsortAlignments) :
258m_SortAlignments(
false),
306 const string& strAssName,
307 const string& strAssAcc )
314 string msg(
"Inconsistent alignment data ");
315 msg+= (
"\"\"\""+ e.
GetMsg() +
"\"\"\"");
360 const string& alignId)
364cerr <<
"Object type not supported."<< endl;
369 if(
id.
empty()) {
372 for(CSeq_align::TId::const_iterator it = ids.begin();
373it != ids.end(); ++it) {
374 if((*it)->IsStr()) {
375 id= (*it)->GetStr();
381 if(
id.
empty()) {
401 const string& alignId)
404 typedeflist<CRef<CSeq_align> > ALIGNS;
407 for(ALIGNS::const_iterator cit =
data.begin(); cit !=
data.end(); ++cit) {
424 const string& alignId)
429 typedeflist<CRef<CSpliced_exon> > EXONS;
433 for(EXONS::const_iterator cit = exons.begin(); cit != exons.end(); ++cit) {
438 "Processing terminated by user");
583record.
SetType(
"protein_match");
591 if(!genomicH || !productH) {
615record.
SetLocation(seqStart, seqStop, seqStrand);
627 typedeflist<CRef<CScore> > SCORES;
630 for(SCORES::const_iterator cit = scores.begin(); cit != scores.end();
646 const unsigned inttgtWidth = isProteinProd ? 3 : 1;
648 typedeflist<CRef<CSpliced_exon_chunk> > CHUNKS;
650 constCHUNKS& chunks = exon.
GetParts();
651 for(CHUNKS::const_iterator cit = chunks.begin(); cit != chunks.end(); ++cit) {
653 switch(chunk.
Which()) {
669 const unsigned intdel_length = chunk.
GetGenomic_ins()/tgtWidth;
670 if(del_length > 0) {
675 const unsigned intforward_shift = chunk.
GetGenomic_ins()%tgtWidth;
676 if(forward_shift > 0) {
683 const unsigned intreverse_shift = chunk.
GetProduct_ins()%tgtWidth;
684 if(reverse_shift > 0) {
689 const unsigned intinsert_length = chunk.
GetProduct_ins()/tgtWidth;
690 if(insert_length > 0) {
720 const unsigned inttgtWidth = isProteinProd ? 3 : 1;
725 stringseqStrand =
"+";
730target +=
" "+ seqStart;
731target +=
" "+ seqStop;
732target +=
" "+ seqStrand;
761 typedefvector<CRef<CScore> > SCORES;
765 constSCORES& scores = align.
GetScore();
766 for(SCORES::const_iterator cit = scores.begin(); cit != scores.end();
776 const string& alignId)
791 "Processing terminated by user");
824 catch(std::exception&) {};
839 typedefvector<CRef<CScore> > SCORES;
844 constSCORES& scores = denseSeg.
GetScores();
845 for(SCORES::const_iterator cit = scores.begin(); cit != scores.end();
869 catch(std::exception&) {};
882 catch(std::exception&) {};
904 catch(std::exception&) {};
934 catch(std::exception&) {};
946 while(start2 < 0 && start_seg < numSegs) {
947start2 = alnMap.
GetStart(0, start_seg++);
951 intstop_seg = numSegs-1;
952 while(stop2 < 0 && stop_seg >= 0) {
953stop2 = alnMap.
GetStart(0, stop_seg--);
957 swap(start2, stop2);
958stop2 += alnMap.
GetLen(start_seg-1)-1;
961stop2 += alnMap.
GetLen(stop_seg+1)-1;
984 unsigned inttgtWidth;
998 catch(std::exception&) {};
1005 for(
intseg = 0; seg < numSegs; ++seg) {
1013 const unsigned intreverse_shift = tgtPiece.
GetLength()%tgtWidth;
1014 if(reverse_shift > 0) {
1019 const unsigned intinsert_length = tgtPiece.
GetLength()/tgtWidth;
1020 if(insert_length > 0) {
1028 const unsigned intdel_length = srcPiece.
GetLength()/tgtWidth;
1029 if(del_length > 0) {
1034 const unsigned intforward_shift = srcPiece.
GetLength()%tgtWidth;
1035 if(forward_shift > 0) {
1041 if(
IS_MATCH(tgtFlags, srcFlags)) {
1054 unsigned intsrcRow)
1057 unsigned intseqStart = alnMap.
GetSeqStart(srcRow);
1058 unsigned intseqStop = alnMap.
GetSeqStop(srcRow);
1062record.
SetLocation(seqStart, seqStop, seqStrand);
1070 unsigned intsrcRow)
1087 m_Os<<
"##gff-version 3"<<
'\n';
1088 m_Os<<
"#!gff-spec-version 1.21"<<
'\n';
1089 m_Os<<
"#!processor NCBI annotwriter"<<
'\n';
1100 m_Os<<
"###"<<
'\n';
1125 return "<unknown>";
1142 m_Os<<
"##sequence-region "<<
id<<
" "<< start <<
" "<< stop <<
'\n';
1145 const stringbase_url =
1146 "https://www.ncbi.nlm.nih.gov/Taxonomy/Browser/wwwtax.cgi?";
1152 m_Os<<
"##species "<< base_url <<
"id="<< tax_id <<
'\n';
1156 m_Os<<
"##species "<< base_url <<
"name="<< orgname <<
'\n';
1187 if(!align1 && align2) {
1191 if((align1 && !align2) ||
1192(!align1 && !align2) ) {
1197 automake_key = [](
constpair<CConstRef<CSeq_align>,
string>& p,
CScope& scope) {
1199 const stringalignId = p.second;
1201 stringsubject_accession;
1207 stringtarget_accession;
1242 for(CSeq_align::TId::const_iterator it = ids.begin();
1243it != ids.end(); ++it) {
1244 if((*it)->IsStr()) {
1245 return(*it)->GetStr();
1257 if((range.
GetFrom() <= pos) &&
1258(range.
GetTo() >= pos)) {
1311 if(!cc->IsSetAnnot()) {
1314 const auto& annots = cc->
GetAnnot();
1315 if(annots.empty()) {
1318 const auto&
data= cc->GetAnnot().front();
1325 const auto& display_range =
GetRange();
1329 for(
CAlign_CIalign_it(bsh, display_range, sel); align_it; ++align_it) {
1332alignCache.push_back(make_pair(pAlign,alignId));
1339 for(
autoalignPair : alignCache) {
1340 xWriteAlign(*(alignPair.first), alignPair.second);
1345 CAlign_CIalign_it(bsh, display_range, sel);
1356feature::CFeatTree& featTree = fc.
FeatTree();
1357vector<CMappedFeat> vChildren;
1358featTree.GetChildrenTo(mf, vChildren);
1359 for(
autocit = vChildren.begin(); cit != vChildren.end(); ++cit) {
1420 const auto& display_range =
GetRange();
1421 CFeat_CIfeat_iter(bsh, display_range, sel);
1436 for(
auto&
f: fc.
FeatTree().GetChildren(root) ) {
1437 if(
f.IsSetProduct() ) {
1438 if(
autoprod_id =
f.GetProduct().GetId() ) {
1452vector<CMappedFeat> vRoots = fc.
FeatTree().GetRootFeatures();
1465 for(
auto& bh : bhs ) {
1466 if( bh && bh.IsProtein() ) {
1469all_prot_loc->
SetMix().Set().push_back(loc);
1470pre_load_prots.push_back(bh);
1473 if( !pre_load_prots.empty() ) {
1482 for(
autopit = vRoots.begin(); pit != vRoots.end(); ++pit) {
1500 const auto& display_range =
GetRange();
1501 CFeat_CIfeat_iter(bsh, display_range, sel);
1517 "Processing terminated by user");
1551 "Processing terminated by user");
1596cerr <<
"CGff3Writer: Unsupported feature type encountered: Removed."<< endl;
1598cerr <<
" exc: "<< e.
ReportAll() << endl;
1618 if(isTransSpliced) {
1619 unsigned intinPoint, outPoint;
1631 constlist< CRef< CSeq_interval > >& sublocs = PackedInt.
GetPacked_int().
Get();
1632 autoparentId = pRna->
Id();
1633list< CRef< CSeq_interval > >::const_iterator it;
1637 unsigned intwrapSize(0), wrapPoint(0);
1638 if(!isTransSpliced) {
1642 for(it = sublocs.begin(); it != sublocs.end(); ++it) {
1652pChild->
SetLocation(subint, wrapSize, wrapPoint);
1678 if(isTransSpliced){
1693 const autornaId = pRna->
Id();
1697 constlist< CRef< CSeq_interval > >& sublocs = PackedInt.
GetPacked_int().
Get();
1699 unsigned intwrapSize(0), wrapPoint(0);
1700 if(!isTransSpliced) {
1706 for(
autoit = sublocs.begin(); it != sublocs.end(); ++it ) {
1711pChild->
SetLocation(subint, wrapSize, wrapPoint);
1751 if(!me || !me->
HasField(
"Method")) {
1769 stringmethod(
".");
1806 if(method ==
"Local") {
1822 unsigned intseqStart(0);
1823 unsigned intseqStop(0);
1827seqStart, seqStop)) {
1868 if(seqStart < bstop) {
1871 if(seqStop < bstop) {
1878 if(seqStart < bstart) {
1881 if(seqStop < bstart) {
1962vector<string> acceptedClasses = {
1964 "autocatalytically_spliced_intron",
1966 "hammerhead_ribozyme",
1987 stringncrna_class = mf.
GetNamedQual(
"ncRNA_class");
1988 if(ncrna_class.empty()) {
1995 if(ncrna_class ==
"classRNA") {
2000 if(ncrna_class.empty()) {
2008 const autocit = std::find(
2009acceptedClasses.begin(), acceptedClasses.end(), ncrna_class);
2010 if(cit == acceptedClasses.end()) {
2015 stringrecomb_class = mf.
GetNamedQual(
"recombination_class");
2016 if(!recomb_class.empty() && recomb_class !=
"other") {
2018 autocit = std::find(validClasses.begin(), validClasses.end(), recomb_class);
2019 if(cit == validClasses.end()) {
2020note = recomb_class;
2025 stringregulatory_class = mf.
GetNamedQual(
"regulatory_class");
2026 if(!regulatory_class.empty() && regulatory_class !=
"other") {
2028 autocit = std::find(validClasses.begin(), validClasses.end(), regulatory_class);
2029 if(cit == validClasses.end()) {
2030note = regulatory_class;
2039 if(!note.empty()) {
2040 if(!comment.empty()) {
2041note +=
"; "+ comment;
2047 if(!note.empty()) {
2063 for(CSeq_feat::TQual::const_iterator cit = quals.begin();
2064cit != quals.end(); ++cit) {
2065 if((*cit)->GetQual() ==
"transcript_id") {
2066record.
SetAttribute(
"transcript_id", (*cit)->GetVal());
2072 stringtranscript_id;
2077record.
SetAttribute(
"transcript_id", transcript_id);
2090vector<string>
value;
2136 if(!
rna.IsSetExt()) {
2249 "ID",
"Name",
"Alias",
"Parent",
"Target",
"Gap",
"Derives_from",
2250 "Note",
"Dbxref",
"Ontology_term",
"Is_circular" 2254 for(
const auto& qual: quals) {
2255 if(!qual->IsSetQual() || !qual->IsSetVal()) {
2258 string key= qual->GetQual();
2259 const string&
value= qual->GetVal();
2260 if(
key==
"SO_type") {
2263 if(
key==
"ID") {
2267 if(
key==
"Parent") {
2272gff3_attributes.find(
key) == gff3_attributes.end()) {
2298 whole.SetInt().SetFrom(0);
2308 "CGff3Writer: Unable to assign record location.\n");
2312 if(!display_range.IsWhole()) {
2313pLoc->
Assign(*sequence::CFeatTrim::Apply(*pLoc, display_range));
2327list< CRef< CSeq_interval > >& sublocs = pLoc->
SetPacked_int().Set();
2328list< CRef<CSeq_interval> >::iterator it;
2329list< CRef<CSeq_interval> >::iterator it_ceil=sublocs.end();
2330list< CRef<CSeq_interval> >::iterator it_floor=sublocs.end();
2331 if(sublocs.size() > 1) {
2332 for( it = sublocs.begin(); it != sublocs.end(); ++it ) {
2342 if(it_floor != sublocs.end() && it_ceil != sublocs.end()) {
2346 if( it_ceil != sublocs.end() && it_floor != sublocs.end() ) {
2347(*it_ceil)->
SetTo( (*it_ceil)->GetTo() + (*it_floor)->GetTo() + 1 );
2348sublocs.erase(it_floor);
2383 const stringdefaultId(
".");
2388 autoids = bsh.
GetId();
2390 auto id= ids.front();
2421 stringmethod(
".");
2433 unsigned intseqStart = 0;
2443record.
SetLocation(seqStart, seqStop, seqStrand);
2547 typedefvector<CRef<CDbtag> > DBTAGS;
2556 constDBTAGS& tags = orgRef.
GetDb();
2557 for(DBTAGS::const_iterator cit = tags.begin(); cit != tags.end(); ++cit) {
2572 constvector<string> ignoredKeys = {
2576 typedeflist<CRef<COrgMod> > MODS;
2589 constMODS& mods = orgName.
GetMod();
2590 for(MODS::const_iterator cit = mods.begin(); cit != mods.end(); ++cit) {
2593 autoignoredIt = std::find(ignoredKeys.begin(), ignoredKeys.end(),
key);
2594 if(ignoredIt != ignoredKeys.end()) {
2609 typedeflist<CRef<CSubSource> >
SUBS;
2615 for(SUBS::const_iterator cit = subs.begin(); cit != subs.end(); ++cit) {
2654pCds->
SetParent(parentOverride->Id());
2661 if(display_range.
IsWhole()) {
2667iPhase =
max(sequence::CFeatTrim::GetCdsFrame(feature, display_range)-1, 0);
2670 intiTotSize = -iPhase;
2672list< CRef< CSeq_interval > > sublocs( PackedInt.
GetPacked_int().
Get() );
2673list< CRef< CSeq_interval > >::const_iterator it;
2674 stringcdsId = pCds->
Id();
2678 unsigned intwrapSize(0), wrapPoint(0);
2683 for( it = sublocs.begin(); it != sublocs.end(); ++it ) {
2690pExon->
SetLocation(subint, wrapSize, wrapPoint);
2698iTotSize = (iTotSize + subint.
GetLength());
2699 const intposInCodon = (3+iTotSize)%3;
2700iPhase = posInCodon ? 3-posInCodon : 0;
2757 constlist< CRef< CSeq_interval > >& sublocs = PackedInt.
GetPacked_int().
Get();
2758 autoparentId = pRna->
Id();
2759list< CRef< CSeq_interval > >::const_iterator it;
2763 unsigned intwrapSize(0), wrapPoint(0);
2768 for( it = sublocs.begin(); it != sublocs.end(); ++it ) {
2778pChild->
SetLocation(subint, wrapSize, wrapPoint);
2821 const autoparentId = pSegment->
Id();
2823 constlist< CRef< CSeq_interval > >& sublocs = PackedInt.
GetPacked_int().
Get();
2825 unsigned intwrapSize(0), wrapPoint(0);
2830 for(
autoit = sublocs.begin(); it != sublocs.end(); ++it ) {
2839pChild->
SetLocation(subint, wrapSize, wrapPoint);
2889{
"mature_protein_region",
"mature_protein_region_of_CDS"},
2890{
"immature_peptide_region",
"propeptide_region_of_CDS"},
2891{
"signal_peptide",
"signal_peptide_region_of_CDS"},
2892{
"transit_peptide",
"transit_peptide_region_of_CDS"},
2894 autofixupIt = proteinOnCdsFixups.
find(pRecord->
StrType());
2895 if(fixupIt != proteinOnCdsFixups.
end()) {
2896pRecord->
SetType(fixupIt->second);
2901 stringparentId = parentIt->second->Id();
2910 if(
prot.IsSetName()) {
2919 auto& packedInt = *pMappedLoc;
2921 _ASSERT(packedInt.IsPacked_int() && packedInt.GetPacked_int().CanGet());
2923list< CRef< CSeq_interval > > sublocs( packedInt.GetPacked_int().Get() );
2925 unsigned intwrapSize(0), wrapPoint(0);
2930 for(
autoit = sublocs.begin(); it != sublocs.end(); ++it ) {
2933pExon->
SetLocation(subint, wrapSize, wrapPoint);
2946 unsigned intseqLength )
2958 if(sublocs.size() == 1) {
2962 unsigned intcurInterval = 1;
2964 for(
autoit = sublocs.begin(); it != sublocs.end(); ++it) {
2967pChild->SetLocation(subint, 0);
2970pChild->SetAttribute(
"part", part);
3115 for(
const auto& parent_type : parent_types) {
3117mf, parent_type, &fc.
FeatTree());
3146 "CGff3Writer::xWriteRecord: GFF3 reord is missing mandatory SeqID assignment.\n" 3147 "Identifying information:\n" 3150 " Gff3Type: "+ record.
StrType() +
"\n\n");
3152 m_Os<<
id<<
'\t';
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
bool GetBestId(CSeq_id_Handle, CScope &, string &) const
CWriterBase implementation that formats Genbank objects as plain GFF files.
virtual bool xAssignFeatureAttributeDbxref(CGffFeatureRecord &, CGffFeatureContext &, const string &label, const CMappedFeat &)
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 WriteFooter() override
Write a file trailer.
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
unique_ptr< CGffIdGenerator > m_pIdGenerator
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 &)
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 AssignShouldInheritPseudo(bool shouldInheritPseudo)
feature::CFeatTree & FeatTree()
CBioseq_Handle BioseqHandle() const
CMappedFeat FindBestGeneParent(const CMappedFeat &mf)
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)
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
bool GetBestId(CSeq_id_Handle idh, CScope &scope, string &best_id) const
virtual SAnnotSelector & SetAnnotSelector(void)
unique_ptr< CGenbankIdResolve > mpIdResolve
container_type::iterator iterator
const_iterator end() const
const_iterator find(const key_type &key) const
#define MAKE_CONST_SET(name, type,...)
bool Empty(const CNcbiOstrstream &src)
static const char location[]
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)
void sx_CollectProductIds(CGffFeatureContext &fc, CScope::TIds &product_ids, const CMappedFeat &root=CMappedFeat())
bool sInheritScores(const CSeq_align &alignFrom, CSeq_align &alignTo)
string sBestMatchType(const CSeq_id &source)
static string s_GetSequenceRegionId(const CGenbankIdResolve &id_resolver, CBioseq_Handle &bsh)
#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
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.
TCDD_Entries GetCDDAnnots(const TIds &idhs)
CBioseq_Handle GetBioseqHandle(const CSeq_id &id)
Get bioseq handle by seq-id.
vector< CBioseq_Handle > TBioseqHandles
vector< CTSE_Handle > TCDD_Entries
Get CDD annotations for all ids.
TBioseqHandles GetBioseqHandlesFromTSE(const TIds &ids, const CTSE_Handle &tse)
Bulk get bioseq handles for sequence withing one TSE.
vector< CSeq_id_Handle > TIds
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.
CConstRef< CSeq_id > GetLocalIdOrNull(void) const
bool IsSetComment(void) const
CConstRef< CBioseq > GetCompleteBioseq(void) const
Get the complete bioseq.
CSeq_entry_Handle GetParentEntry(void) const
Get parent Seq-entry handle.
const CSeqFeatData & GetData(void) const
bool CanGetInst(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
TInst_Topology GetInst_Topology(void) const
const string & GetComment(void) const
bool CanGetInst_Strand(void) const
TInst_Length GetInst_Length(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.
CSeqFeatData::ESubtype GetFeatSubtype(void) const
CSeqFeatData::E_Choice GetFeatType(void) const
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 bool IsBlank(const CTempString str, SIZE_TYPE pos=0)
Check if a string is blank (has no text).
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
bool IsProt(void) const
Check if variant Prot is selected.
const TRegion & GetRegion(void) const
Get the variant data.
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 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
std::false_type tagStrNocase
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 GenericPointer< typename T::ValueType > T2 value
const CharType(& source)[N]
static SLJIT_INLINE sljit_ins st(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)
static SLJIT_INLINE sljit_ins msg(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)
bool operator()(const pair< CConstRef< CSeq_align >, string > &p1, const pair< CConstRef< CSeq_align >, string > &p2)
SCompareAlignments(CScope &scope)
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