-
A[
g->head->index][
f->head->index]);
69-
A[
f->head->index][
g->head->index]);
75 intup, down, left, right;
80e->
distance= 0.25*(
A[up][left] +
A[up][right] +
A[left][down] +
A[right][down]) - 0.5*(
A[down][up] +
A[left][right]);
115 if(
T->root == e->
tail)
159 meNode*root,
doubledcoeff,
intdirection)
193 meNode*newNode,
doubledcoeff,
intdirection)
246 meEdge*sib, *par, *left, *right;
277 double wf3(
doubleD_AB,
doubleD_AC,
doubleD_kB,
doubleD_kC)
279 return(D_AC + D_kB - D_AB - D_kC);
302sprintf(nodeLabel,
"I%d",
T->size+1);
303sprintf(edgeLabel1,
"E%d",
T->size);
304sprintf(edgeLabel2,
"E%d",
T->size+1);
309newPendantEdge =
makeEdge(edgeLabel1,newNode,v,0.0);
310newInternalEdge =
makeEdge(edgeLabel2,newNode,e->
head,0.0);
324 T->size =
T->size + 2;
329newNode->
leftEdge= newInternalEdge;
334newNode->
leftEdge= newInternalEdge;
370sprintf(e->
label,
"E1");
384e_min =
T->root->leftEdge;
401printf(
"Inserting %s between %s and %s on %s\n",v->
label,e_min->
tail->
label,
413 if(!(
leaf(
g->tail)))
429e =
T->root->leftEdge;
431 while(
NULL!=
f) {
432 if(
leaf(
f->head))
437u =
f->head->leftEdge->head;
438v =
f->head->rightEdge->head;
445 while(
T->root->leftEdge != e) {
447 while(
T->root->leftEdge !=
f) {
452 if(
leaf(
f->head))
458u =
f->head->leftEdge->head;
461v =
f->head->rightEdge->head;
478 while(
T->root->leftEdge != e)
void BMEupdateAveragesMatrix(double **A, meEdge *e, meNode *v, meNode *newNode)
void BalWFext(meEdge *e, double **A)
meEdge * siblingEdge(meEdge *e)
void updateSubTree(double **A, meEdge *nearEdge, meNode *v, meNode *root, meNode *newNode, double dcoeff, int direction)
void BMEcalcDownAverage(meTree *T, meNode *v, meEdge *e, double **D, double **A)
void BalWFint(meEdge *e, double **A)
meTree * BMEaddSpecies(meTree *T, meNode *v, double **D, double **A)
void BMEsplitEdge(meTree *T, meNode *v, meEdge *e, double **A)
void assignBMEWeights(meTree *T, double **A)
void updatePair(double **A, meEdge *nearEdge, meEdge *farEdge, meNode *v, meNode *root, double dcoeff, int direction)
void BMEcalcNewvAverages(meTree *T, meNode *v, double **D, double **A)
meEdge * depthFirstTraverse(meTree *T, meEdge *e)
meEdge * topFirstTraverse(meTree *T, meEdge *e)
void BMEcalcUpAverage(meTree *T, meNode *v, meEdge *e, double **D, double **A)
void BMEtestEdge(meEdge *e, meNode *v, double **A)
double wf3(double D_AB, double D_AC, double D_kB, double D_kC)
void makeBMEAveragesTable(meTree *T, double **D, double **A)
void calcUpAverages(double **D, double **A, meEdge *e, meEdge *g)
meEdge * makeEdge(const char *label, meNode *tail, meNode *head, double weight)
meNode * makeNewNode(const char *label, int i)
#define NODE_LABEL_LENGTH
#define EDGE_LABEL_LENGTH
#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.
struct meEdge * rightEdge
struct meEdge * parentEdge
int g(Seg_Gsm *spe, Seq_Mtf *psm, Thd_Gsm *tdg)
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