(
delta.IsSet() && !
delta.Get().empty() &&
delta.Get().back()->IsLiteral() &&
delta.Get().back()->GetLiteral().IsSetSeq_data()
51&&
delta.Get().back()->GetLiteral().GetSeq_data().IsIupacna())
53 stringseq =
delta.Get().back()->GetLiteral().GetSeq_data().GetIupacna().Get();
55 delta.Set().back()->SetLiteral().SetSeq_data().SetIupacna().Set().assign(seq.data(), seq.length());
82 boolhas_loc(
false);
86 if( (*iter)->IsLoc() )
98 boolmodified(
false);
106 if(delta_i->Empty())
112 intcur_finish = pos + delta_len;
113 while((
TSeqPos)cur_finish <
len&& sv[cur_finish] ==
'N'&& !sv.
IsInGap(cur_finish))
118 intlength = cur_finish - prev_finish + 1;
119modified |= (length != delta_len);
123new_seg->Assign(seg);
124new_seg->SetLiteral().SetLength(length);
125new_inst->
SetExt().SetDelta().Set().push_back(new_seg);
127prev_finish = cur_finish + 1;
131 if(pos > (
TSeqPos)prev_finish)
138new_seg->Assign(seg);
139new_inst->
SetExt().SetDelta().Set().push_back(new_seg);
140prev_finish = pos + delta_len;
144 intcur_finish = pos + delta_len - 1;
145 while(cur_finish >= prev_finish && sv[cur_finish] ==
'N'&& !sv.
IsInGap(cur_finish))
150 if(cur_finish > prev_finish)
153sv.
GetSeqData(prev_finish, cur_finish, iupac);
156prev_finish = cur_finish;
165 catch(std::exception )
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
void AddCommand(IEditCommand &command)
static CRef< CCmdComposite > apply(objects::CSeq_entry_Handle tse)
static void AppendLiteral(objects::CDelta_ext &delta, const string &iupac)
static bool IsSkipGap(const objects::CDelta_seq &seg)
USING_SCOPE(ncbi::objects)
unsigned int TSeqPos
Type for sequence locations and lengths.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Set object to copy of another one.
TSeqPos GetBioseqLength(void) const
bool IsSetInst(void) const
CSeqVector GetSeqVector(EVectorCoding coding, ENa_strand strand=eNa_strand_plus) const
Get sequence: Iupacna or Iupacaa if use_iupac_coding is true.
const TInst & GetInst(void) const
@ eCoding_Iupac
Set coding to printable coding (Iupacna or Iupacaa)
bool IsInGap(TSeqPos pos) const
true if sequence at 0-based position 'pos' has gap Note: this method is not MT-safe,...
void GetSeqData(TSeqPos start, TSeqPos stop, string &buffer) const
Fill the buffer string with the sequence data for the interval [start, stop).
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
void SetExt(TExt &value)
Assign a value to Ext data member.
const TLiteral & GetLiteral(void) const
Get the variant data.
bool IsSetExt(void) const
extensions for special types Check if a value has been assigned to Ext data member.
TLength GetLength(void) const
Get the Length member data.
bool IsSetFuzz(void) const
could be unsure Check if a value has been assigned to Fuzz data member.
bool IsDelta(void) const
Check if variant Delta is selected.
const TExt & GetExt(void) const
Get the Ext member data.
const TDelta & GetDelta(void) const
Get the variant data.
const Tdata & Get(void) const
Get the member data.
bool IsLiteral(void) const
Check if variant Literal is selected.
list< CRef< CDelta_seq > > Tdata
void ResetExt(void)
Reset Ext data member.
@ eMol_na
just a nucleic acid
Int4 delta(size_t dimension_, const Int4 *score_)
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