TCalcScoreMethod calc_score)
52m_AlnMixSequences(sequences),
53m_Seqs(m_AlnMixSequences->m_Seqs),
54x_CalculateScore(calc_score),
55m_ContainsAA(m_AlnMixSequences->m_ContainsAA),
56m_ContainsNA(m_AlnMixSequences->m_ContainsNA)
66 returnmatch1->m_Score > match2->m_Score;
76match1->m_ChainScore == match2->m_ChainScore &&
77match1->m_Score > match2->m_Score ||
78match1->m_ChainScore > match2->m_ChainScore;
110 inttotal_aln_score = 0;
114 size_tprev_matches_size =
m_Matches.size();
118single_chunk =
true;
121 if((start1 = ds.
GetStarts()[seg_off + row1]) >= 0) {
124 CAlnMixSeq* aln_seq1 = ds_seq[row1].GetNonNullPointer();
127row2 < ds.
GetDim(); row2++) {
128 if((start2 = ds.
GetStarts()[seg_off + row2]) >= 0) {
131single_chunk =
false;
132first_non_gapped_row_found = row1;
141 CAlnMixSeq* aln_seq2 = ds_seq[row2].GetNonNullPointer();
182total_aln_score += score;
201 "CAlnMixMatches::Add(): " 202 "Unable to mix strands when " 203 "forcing translation!");
212 if(row1 == first_non_gapped_row_found) {
214 match->m_AlnSeq1 = ds_seq[row1];
215 match->m_MatchIter1 =
match->m_AlnSeq1->m_MatchList.end();
216 match->m_Start1 = start1;
217 match->m_AlnSeq2 = ds_seq[row2];
218 match->m_MatchIter2 =
match->m_AlnSeq2->m_MatchList.end();
219 match->m_Start2 = start2;
222 match->m_StrandsDiffer =
false;
229 match->m_StrandsDiffer =
true;
232 match->m_Score = score;
243 match->m_AlnSeq1 = ds_seq[row1];
244 match->m_MatchIter1 =
match->m_AlnSeq1->m_MatchList.end();
245 match->m_Start1 = start1;
246 match->m_AlnSeq2 = 0;
247 match->m_Start2 = 0;
249 match->m_StrandsDiffer =
false;
263 size_tnew_maches_size =
m_Matches.size() - prev_matches_size;
265 _ASSERT((*match_i)->IsGood());
266(*match_i)-> m_ChainScore = total_aln_score;
267 if( !(--new_maches_size) ) {
273 for(
size_t row= 0;
row< ds_seq.size();
row++) {
274ds_seq[
row]->m_ChainScore += total_aln_score;
CDense_seg::TNumseg TNumseg
vector< CRef< CAlnMixMatch > > TMatches
TCalcScoreMethod x_CalculateScore
void Add(const CDense_seg &ds, TAddFlags flags=0)
"Add" a Dense-seg to the existing matches.
static bool x_CompareChainScores(const CRef< CAlnMixMatch > &match1, const CRef< CAlnMixMatch > &match2)
void SortByScore()
Modifying algorithms.
static bool x_CompareScores(const CRef< CAlnMixMatch > &match1, const CRef< CAlnMixMatch > &match2)
CAlnMixMatches(CRef< CAlnMixSequences > &sequences, TCalcScoreMethod calc_score=0)
Constructor.
CRef< CAlnMixSequences > m_AlnMixSequences
void GetSeqString(string &s, TSeqPos start, TSeqPos len, bool positive_strand=true)
map< const CDense_seg *, vector< CRef< CAlnMixSeq > > > m_DsSeq
unsigned int TSeqPos
Type for sequence locations and lengths.
int TSignedSeqPos
Type for signed sequence position.
#define NON_CONST_REVERSE_ITERATE(Type, Var, Cont)
Non constant version of REVERSE_ITERATE macro.
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
const TStarts & GetStarts(void) const
Get the Starts member data.
const TLens & GetLens(void) const
Get the Lens member data.
TDim GetDim(void) const
Get the Dim member data.
TNumseg GetNumseg(void) const
Get the Numseg member data.
const TStrands & GetStrands(void) const
Get the Strands member data.
ENa_strand
strand of nucleic acid
unsigned int
A callback function used to compare two keys in a database.
static int match(PCRE2_SPTR start_eptr, PCRE2_SPTR start_ecode, uint16_t top_bracket, PCRE2_SIZE frame_size, pcre2_match_data *match_data, match_block *mb)
#define row(bind, expected)
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