41 m_consensus(), m_cd(cd), m_seqAligns(cd->GetSeqAligns()), m_made(
false), m_inclusionRule(incl), m_rp()
45 cd->GetSeqIDFromAlignment(0, seqId);
59 list<CRef< CSeq_align > >::iterator lit =
m_seqAligns.begin();
74 vector<int> seqIndice;
76 if (seqIndice.size() > 0)
111 list< CRef< CSeq_id > >& idList = bioseq.
SetId();
151 list<CRef< CSeq_align > >& resultList =
result->Set();
154 list<CRef< CSeq_align > >::const_iterator lit =
m_seqAligns.begin();
164 bmp.remaster(guideAlignment);
165 resultList.push_back(
bmp.toSeqAlign());
175 list< CRef< CSeq_align > >& cdAlignList = (*(
m_cd->
SetSeqannot().begin()))->SetData().SetAlign();
176 list<CRef< CSeq_align > >* seqAlignLp = &cdAlignList;
177 list<CRef< CSeq_align > > extendedSeqAlignList;
181 guideAlignment.
degap();
182 seqAlignLp = &extendedSeqAlignList;
184 list<CRef< CSeq_align > >& seqAlignList = *seqAlignLp;
185 list<CRef< CSeq_align > >::iterator lit = seqAlignList.begin();
190 for (; lit != seqAlignList.end(); lit++)
193 bmp.remaster(guideAlignment);
194 (*lit) =
bmp.toSeqAlign();
199 cdAlignList.assign(seqAlignList.begin(), seqAlignList.end());
206 list< CRef< CSeq_align > >& seqAlignList = seqAligns->
Set();
215 for (
int i = 1;
i < num;
i++)
225 list< CRef< CSeq_align > > seqAlignList;
227 list< CRef< CSeq_align > >& cdAlignList = (*(cd->
SetSeqannot().begin()))->SetData().SetAlign();
228 cdAlignList.assign(seqAlignList.begin(), seqAlignList.end());
235 list< CRef< CSeq_align > > seqAlignList;
237 list< CRef< CSeq_align > >::iterator lit = seqAlignList.begin();
238 for (; lit != seqAlignList.end(); lit++)
CRef< CSeq_align > toSeqAlign() const
int remaster(const BlockModelPair &guide)
CRef< CSeq_id > getSeqId() const
void setSeqId(CRef< CSeq_id > seqId)
bool AddSequence(CRef< CSeq_entry > seqAntry)
bool GetSeqAlign(int Row, CRef< CSeq_align > &seqAlign)
bool AddPendingSeqAlign(CRef< CSeq_align > seqAlign)
bool FindConsensusInSequenceList(vector< int > *indices=NULL) const
string GetSequenceStringByIndex(int SeqIndex)
int GetSeqIndex(const CRef< CSeq_id > &SeqID) const
bool UsesConsensusSequenceAsMaster() const
static void degapCdAlignment(CCdCore *cd)
const string & getConsensus()
CRef< CSeq_entry > getConsensusSeqEntry()
CRef< CSeq_id > m_conSeqId
CRef< CSeq_id > m_masterSeqId
static void degapCdAlignmentToPending(CCdCore *cd)
CRef< CSeq_align_set > remasterWithConsensus() const
list< CRef< CSeq_align > > m_seqAligns
static CRef< CSeq_align_set > degapAlignment(CCdCore *cd)
CRef< CSeq_align > getGuideSeqAlign()
const BlockModelPair & getGuideAlignment() const
void skipUnalignedSeg(int threshold)
void setInclusionThreshold(double th)
const string & makeConsensus()
void adjustConsensusAndGuide()
const string getConsensus(bool inNcbieaa=true)
void countUnalignedConsensus(UnalignedSegReader &ucr)
const BlockModelPair & getGuideAlignment() const
void calculateRowWeights()
void addOneRow(BlockModelPair &bmp, const string &mSeq, const string &sSeq)
bool skipUnalignedSeg(UnalignedSegReader &ucr, int len)
bool IsConsensus(const CRef< CSeq_id > &seqId)
thread_local unique_ptr< FtaMsgPost > bmp
#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.
TSeqannot & SetSeqannot(void)
Assign a value to Seqannot data member.
Tdata & Set(void)
Assign a value to data member.
TId & SetId(void)
Assign a value to Id data member.
TNcbieaa & SetNcbieaa(void)
Select the variant.
void SetInst(TInst &value)
Assign a value to Inst data member.
void SetRepr(TRepr value)
Assign a value to Repr data member.
void SetLength(TLength value)
Assign a value to Length data member.
void SetSeq_data(TSeq_data &value)
Assign a value to Seq_data data member.
void SetMol(TMol value)
Assign a value to Mol data member.
@ eRepr_raw
continuous sequence