Пример #1
0
void embPatlistRegexSearch (AjPFeattable ftable, const AjPSeq seq,
			    AjPPatlistRegex plist, AjBool reverse)
{
    AjPPatternRegex patreg = NULL;
    AjPRegexp compPat;
    AjPStr tmp = NULL;

    ajStrAssignS(&tmp,ajSeqGetNameS(seq));
    ajDebug ("embPatlistSearchSequence: Searching '%S' for patterns\n",tmp);

    while (ajPatlistRegexGetNext(plist,&patreg))
    {
        compPat = ajPatternRegexGetCompiled(patreg);

	if (!compPat)
        {
            ajPatlistRegexRemoveCurrent(plist);
            continue;
        }

        embPatternRegexSearch(ftable,seq,patreg,reverse);
        ajDebug("end loop\n");
    }

    /* ajDebug ("embPatlistSearchListRegex: Done search '%S'\n",tmp); */

    ajPatlistRegexRewind(plist);

    ajStrDel(&tmp);

    return;
}
Пример #2
0
ajuint ajPatlistRegexDoc (AjPPatlistRegex plist, AjPStr* Pdoc)
{
    AjPPatternRegex pat = NULL;

    ajFmtPrintS(Pdoc, "%-12S %S\n", "Pattern_name", "Pattern");

    while (ajPatlistRegexGetNext(plist, &pat))
	ajFmtPrintAppS(Pdoc, "%-12S %S\n",
		       ajPatternRegexGetName(pat),
		       ajPatternRegexGetPattern(pat));

    return ajListGetLength(plist->Patlist);
}