Exemple #1
0
void checkBlock(mafBlock_t *b, char *seq, uint32_t start, uint32_t stop, bool *printedHeader) {
    // read through each line of a mafBlock and if the sequence matches the region
    // we're looking for, report the block.
    mafLine_t *ml = b->headLine;
    while (ml != NULL) {
        if (searchMatched(ml, seq, start, stop)) {
            if (!*printedHeader) {
                printHeader();
                *printedHeader = true;
            }
            reportBlock(b);
            break;
        } 
        ml = ml->next;
    }
}
void checkBlock(mafBlock_t *b, uint64_t blockNumber, const char *seq, uint64_t start,
                uint64_t stop, bool *printedHeader, bool isSoft) {
    // read through each line of a mafBlock and if the sequence matches the region
    // we're looking for, report the block.
    mafLine_t *ml = maf_mafBlock_getHeadLine(b);
    mafBlock_t *dummy = NULL;
    while (ml != NULL) {
        if (searchMatched(ml, seq, start, stop)) {
            if (!*printedHeader) {
                printHeader();
                *printedHeader = true;
            }
            if (isSoft) {
                maf_mafBlock_print(b);
                break;
            } else {
                dummy = processBlockForSplice(b, blockNumber, seq, start, stop, false);
                assert(dummy == NULL);
                break;
            }
        }
        ml = maf_mafLine_getNext(ml);
    }
}