m_src(0), m_numRows(0), m_extensibilities(0), m_extendedBlocks(0), m_scoringMatrix(0),
43m_nExt(0), m_cExt(0), m_extensionScores(0)
69m_src(ma), m_numRows(0), m_extendedBlocks(0), m_scoringMatrix(sm), m_nExt(0), m_cExt(0),
112 boolextended =
false;
114 intblockExtension = 0;
122 for(
int i= 0;
i< nBlocks;
i++)
126 if(blockExtension != 0) {
192 doubleblockScore = 0.0;
206 if(tmpScore > blockScore)
208blockScore = tmpScore;
224 if(tmpScore > blockScore)
226blockScore = tmpScore;
236extension = -nExt + cExt;
241bm1.
getBlocks()[block].extendSelf(nExt, cExt);
242bm2.
getBlocks()[block].extendSelf(nExt, cExt);
255 for(
int i= 0;
i< term1.first.getLen();
i++)
264 constvector<Block>&
blocks=
bm.getBlocks();
265 if(blockNum >=
blocks.size() || blockNum < 0 ||
blocks.size() == 0)
271 intextFootprintLo =
bm.getFirstAlignedPosition() -
m_nExt;
272 if(extFootprintLo < 0)
274 intminStart = (blockNum == 0) ? extFootprintLo :
blocks[blockNum-1].getEnd() + 1;
275 intextFootprintHi =
bm.getLastAlignedPosition() +
m_cExt;
278 intmaxEnd = (blockNum ==
blocks.size()-1) ? extFootprintHi :
blocks[blockNum+1].getStart() - 1;
288 int nRows= rows.size();
292 intprimaryRow = rows[0];
296 int row, blockExtension;
299 intnBlocks = primaryBlockModel.
getBlocks().size();
301 for(
int i= 1;
i<
nRows;
i++) {
304 for(
intj = 0; j < nBlocks; j++) {
305score +=
optimizeBlockScore(primaryRow,
row, j, primaryBlockModel, secondaryBlockModel, blockExtension);
void GetAllSequences(vector< string > &sequences)
bool setMatrixForExtensionScores(double **matrix, int matrixSize)
MultipleAlignment * m_src
double ** m_extensionScores
int findCommonExtension(const vector< int > &rows)
pair< Block, int > ScoringTerm
BlockModel ** m_extendedBlocks
void setScoringMatrix(ScoreMatrix *sm)
void setCTermExt(int ext)
bool isThisPairExtended(int primaryRow, int secondaryRow) const
bool getScoringTerm(BlockModel &bm, int blockNum, int nExt, int cExt, ScoringTerm &st)
bool extendOnePair(int primaryRow, int secondaryRow)
void setNTermExt(int ext)
double optimizeBlockScore(int row1, int row2, int block, int &extension)
int getTotalLengthExtended(int primaryRow, int secondaryRow) const
void setAlignments(MultipleAlignment *ma)
std::vector< std::string > m_sequences
double scoreBlockPair(const ScoringTerm &term1, const ScoringTerm &term)
ScoreMatrix * m_scoringMatrix
void addOneAlignment(const BlockModel &bm)
BlockModel * getIntersectedAlignment(double rowFraction=1.0)
int getTotalBlockLength() const
vector< Block > & getBlocks()
Block extend(int nExt, int cExt) const
const cd_utils::BlockModel & getBlockModel(int row) const
int GetScore(char i, char j)
#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.
const struct ncbi::grid::netcache::search::fields::SIZE size
static SLJIT_INLINE sljit_ins st(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)
#define row(bind, expected)
static DP_BlockInfo * blocks
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