NSEQ::const_iterator beg, end;
68beg = fullseq.
seq.begin();
71 for(vector<pair<int, int> >::const_iterator it = igi.begin(); it != igi.end(); ++it) {
74end = fullseq.
seq.begin() + it->first;
76 seq.insert(
seq.end(), beg, end);
77beg = end + it->second;
80 if(beg < fullseq.
seq.end())
seq.insert(
seq.end(), beg, fullseq.
seq.end());
93extended_seqloc->
Assign(genomic);
97 if(extended_seqloc.
Empty() || extended_seqloc->
IsNull() || extended_seqloc->
IsEmpty() ) {
100extended_seqloc->
SetId(*seqid);
101genomic.
Assign(*extended_seqloc);
118 TSeqPospos0 = pos < 3 ? 0 : pos - 3;
USING_SCOPE(ncbi::objects)
bool IsForward(ENa_strand s)
void Init(CScope &scope, CSeq_loc &genomic)
char Upper(int pos) const
static char NucToChar(int n)
Include a standard set of the NCBI C++ Toolkit most basic headers.
static TDSRET convert(TDSSOCKET *tds, TDSICONV *conv, TDS_ICONV_DIRECTION direction, const char *from, size_t from_len, char *dest, size_t *dest_len)
unsigned int TSeqPos
Type for sequence locations and lengths.
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Optimized implementation of CSerialObject::Assign, which is not so efficient.
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.
void SetId(CSeq_id &id)
set the 'id' field in all parts of this location
const CSeq_id * GetId(void) const
Get the id of the location return NULL if has multiple ids or no id at all.
TSeqPos GetStop(const CSeq_loc &loc, CScope *scope, ESeqLocExtremes ext=eExtreme_Positional)
If only one CBioseq is represented by CSeq_loc, returns the position at the stop of the location.
TSeqPos GetLength(const CSeq_id &id, CScope *scope)
Get sequence length if scope not null, else return max possible TSeqPos.
TSeqPos GetStart(const CSeq_loc &loc, CScope *scope, ESeqLocExtremes ext=eExtreme_Positional)
If only one CBioseq is represented by CSeq_loc, returns the position at the start of the location.
CRef< CSeq_loc > Seq_loc_Subtract(const CSeq_loc &loc1, const CSeq_loc &loc2, CSeq_loc::TOpFlags flags, CScope *scope)
Subtract the second seq-loc from the first one.
CRef< CSeq_loc > Seq_loc_Add(const CSeq_loc &loc1, const CSeq_loc &loc2, CSeq_loc::TOpFlags flags, CScope *scope)
Add two seq-locs.
@ eCoding_Ncbi
Set coding to binary coding (Ncbi4na or Ncbistdaa)
bool Empty(void) const THROWS_NONE
Check if CRef is empty â not pointing to any object, which means having a null value.
#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.
bool IsEmpty(void) const
Check if variant Empty is selected.
bool IsNull(void) const
Check if variant Null is selected.
Magic spell ;-) needed for some weird compilers... very empiric.
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