void printLinkPair(PM_link_pair* LP, char ** bamNames, char ** contigNames) { printf("===\n(%s, %s, %d links)\n", contigNames[LP->cid_1], contigNames[LP->cid_2], LP->numLinks); PM_link_info* LI = LP->LI; do { printf("\t"); printLinkInfo(LI, bamNames); printf("\n"); } while(getNextLinkInfo(&LI)); }
int stepLinkWalker(BM_LinkWalker * walker) { if(getNextLinkInfo(&(walker->LI))) { // still on the same pair return 1; } else { // at the end of the links of this contig pair walker->keyCount += 1; if(walker->keyCount < walker->numKeys) { walker->pair = cfuhash_get(walker->linkHash, walker->keys[walker->keyCount]); if (walker->keys[walker->keyCount] != 0) { free(walker->keys[walker->keyCount]); walker->keys[walker->keyCount] = 0; } walker->LI = (walker->pair)->LI; return 2; } } return 0; }