62 x_CalculateScore(calc_score)
135 string errstr =
string(
"CAlnMix::Add(): ")
136 +
"Cannot force translation for Dense_seg "
138 +
"Neither CDense_seg::m_Widths are supplied, "
139 +
"nor OM is used to identify molecule type.";
157 "Score calculation requested without providing "
158 "a scope in the CAlnMix constructor.");
175 "CAlnMix::x_ExtendDSWithWidths(): "
176 "Widths already exist for the input alignment");
179 bool contains_AA =
false, contains_NA =
false;
189 if (contains_AA && contains_NA) {
191 "CAlnMix::x_ExtendDSWithWidths(): "
192 "Incorrect input Dense-seg: Contains both AAs and NAs but "
193 "widths do not exist!");
206 if (lens[numseg] % 3) {
208 string(
"CAlnMix::x_ExtendDSWithWidths(): ") +
210 " is not divisible by 3.";
213 new_lens[numseg] = lens[numseg] / 3;
220 new_widths.resize(ds.
GetDim(), contains_NA ? 3 : 1);
236 string(
"CAlnMix::ChooseSeqId(CSeq_id& id1, const CSeq_id& id2):")
239 +
" do not resolve to the same bioseq handle,"
240 " but are used on the same 'row' in different segments."
241 " This is legally allowed in a Std-seg, but conversion to"
242 " Dense-seg cannot be performed.";
253 <<
" instead of GI " << id1.
GetGi());
258 SerialAssign<CSeq_id>(id1, id2);
261 else if (id2.
IsGi()) {
265 <<
" instead of GI " << id2.
GetGi());
static CRef< CScope > m_Scope
void Add(const CDense_seg &ds, TAddFlags flags=0)
"Add" a Dense-seg to the existing matches.
void SortByScore()
Modifying algorithms.
void Merge(TMergeFlags flags=0)
const CSeq_align & GetSeqAlign(void) const
const CDense_seg & GetDenseg(void) const
const CBioseq_Handle * m_BioseqHandle
void Add(const CDense_seg &ds, TAddFlags flags=0)
void x_IdentifyAlnMixSeq(CRef< CAlnMixSeq > &aln_seq, const CSeq_id &seq_id)
void Add(const CDense_seg &ds, TAddFlags flags=0)
CRef< CAlnMixSequences > m_AlnMixSequences
CRef< CAlnMixMerger > m_AlnMixMerger
TCalcScoreMethod x_CalculateScore
CAlnMixMatches::TCalcScoreMethod TCalcScoreMethod
CRef< CAlnMixMatches > m_AlnMixMatches
virtual void ChooseSeqId(CSeq_id &id1, const CSeq_id &id2)
void Merge(TMergeFlags flags=0)
TConstDSsMap m_InputDSsMap
const CSeq_align & GetSeqAlign(void) const
const CDense_seg & GetDenseg(void) const
CRef< CDense_seg > x_ExtendDSWithWidths(const CDense_seg &ds)
TConstAlnsMap m_InputAlnsMap
int CalculateScore(TNumrow row1, TNumrow row2) const
TWidths & SetWidths(void)
bool IsSetWidths(void) const
void Validate(bool full_test=false) const
void Assign(const CSerialObject &obj, ESerialRecursionMode how=eRecursive)
overloaded Assign()
CRef< CSeq_align > CreateDensegFromStdseg(SSeqIdChooser *SeqIdChooser=0) const
---------------------------------------------------------------------------- PRE : the Seq-align has ...
void x_SetTaskName(const string &name)
Methods for reporting task progress.
ITaskProgressCallback * x_GetTaskProgressCallback() const
Callback accessor.
void SetTaskProgressCallback(ITaskProgressCallback *callback)
Hook a callback to a task.
const_iterator end() const
const_iterator find(const key_type &key) const
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define ERR_POST(message)
Error posting with file, line number information but without error codes.
#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 AsFastaString(void) const
static int BestRank(const CRef< CSeq_id > &id)
const CTextseq_id * GetTextseq_Id(void) const
Return embedded CTextseq_id, if any.
bool IsNull(void) const THROWS_NONE
Check if pointer is null – same effect as Empty().
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static string IntToString(int value, TNumToStringFlags flags=0, int base=10)
Convert int 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.
const TDenseg & GetDenseg(void) const
Get the variant data.
TLens & SetLens(void)
Assign a value to Lens data member.
const TLens & GetLens(void) const
Get the Lens member data.
TDim GetDim(void) const
Get the Dim member data.
bool IsStd(void) const
Check if variant Std is selected.
bool IsDisc(void) const
Check if variant Disc is selected.
const TIds & GetIds(void) const
Get the Ids member data.
TNumseg GetNumseg(void) const
Get the Numseg member data.
list< CRef< CSeq_align > > Tdata
const TDisc & GetDisc(void) const
Get the variant data.
const Tdata & Get(void) const
Get the member data.
const TSegs & GetSegs(void) const
Get the Segs member data.
bool IsDenseg(void) const
Check if variant Denseg is selected.
virtual void Reset(void)
Reset the whole object.
TGi GetGi(void) const
Get the variant data.
bool IsGi(void) const
Check if variant Gi is selected.
bool IsSetVersion(void) const
Check if a value has been assigned to Version data member.
const TAccession & GetAccession(void) const
Get the Accession member data.