Esempio n. 1
0
static void remap_RenamePreferred(const AjPList list, const AjPTable table, 
				   AjPList newlist) 
{
    AjIList iter = NULL;
    AjPStr key   = NULL;
    const AjPStr value = NULL;
    AjPStr name  = NULL;

    iter = ajListIterNewread(list);
               
    while((key = (AjPStr)ajListIterGet(iter)))
    {
        /* 
        ** If a key-value entry found, write the new value to the new list
        ** else write the old key name to the new list
        */
        value = ajTableFetchS(table, key);
        name = ajStrNew();
        if(value)
	{
	    ajDebug("Rename: %S renamed to %S\n", key, value);
            ajStrAssignS(&name, value);
	}
	else
	{
	    ajDebug("Rename: %S not found\n", key);
	    ajStrAssignS(&name, key);
	}
        ajListstrPushAppend(newlist, name);
    }
                      
    ajListIterDel(&iter);

    return; 
}
Esempio n. 2
0
void ajTimeTrace(const AjPTime thys) 
{
    ajDebug("Time value trace '%D'\n", thys);
    ajDebug("format: '%s'\n", thys->format);

    return;
}
Esempio n. 3
0
AjBool embPropTransversion(char base1, char base2)
{
    AjBool bu1;
    AjBool bu2;
    AjBool by1;
    AjBool by2;

    bu1 = embPropPurine(base1);
    bu2 = embPropPurine(base2);

    by1 = embPropPyrimidine(base1);
    by2 = embPropPyrimidine(base2);

    ajDebug("base1 py = %b, pu = %b", bu1, by1);
    ajDebug("base2 py = %b, pu = %b", bu2, by2);


    /* not a purine or a pyrimidine - ambiguous - return ajFalse */
    if(!bu1 && !by1)
	return ajFalse;

    if(!bu2 && !by2)
	return ajFalse;

    ajDebug("embPropTransversion result = %d", (bu1 != bu2));

    return (bu1 != bu2);
}
void embPatlistSeqSearch (AjPFeattable ftable, const AjPSeq seq,
			  AjPPatlistSeq plist, AjBool reverse)
{
    AjPPatternSeq patseq = NULL;
    AjPPatComp compPat;

    ajDebug ("embPatlistSearchListSeq: Searching '%S' for %d patterns\n",
	     ajSeqGetNameS(seq), ajPatlistSeqGetSize(plist));

    while (ajPatlistSeqGetNext(plist,&patseq))
    {
        compPat = ajPatternSeqGetCompiled(patseq);

	if (!compPat && !embPatternSeqCompile(patseq))
        {
            ajPatlistSeqRemoveCurrent(plist);
            continue;
        }

        embPatternSeqSearch(ftable,seq,patseq,reverse);
        ajDebug("end loop\n");
    }

    ajPatlistSeqRewind(plist);

    return;
}
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;
}
/* @func embPatternSeqCompile *************************************************
**
** Adds compiled pattern into AjPPattern.
**
** @param [w] pat [AjPPatternSeq] Pattern for compiling
** @return [AjBool] True, if compilation succeeded
** @@
******************************************************************************/
AjBool embPatternSeqCompile (AjPPatternSeq pat)
{
    AjPPatComp embpat;
    AjBool embType;
    AjPStr pattern = NULL;

    ajStrAssignS(&pattern,ajPatternSeqGetPattern(pat));
    ajStrFmtUpper(&pattern);
    ajDebug("embPatlistSeqCompile: name %S, pattern %S\n",
            ajPatternSeqGetName(pat),pattern);

    embpat = ajPatCompNew();

    if (ajPatternSeqGetProtein(pat))
	embType=ajTrue;
    else
	embType=ajFalse;

    if (!embPatGetTypeII(embpat,pattern,
			 ajPatternSeqGetMismatch(pat),embType))
    {
	ajDebug("embPatlistSeqCompile: Illegal pattern %S: '%S'\n",
		ajPatternSeqGetName(pat),ajPatternSeqGetPattern(pat));
	ajPatCompDel(&embpat);
	ajStrDel(&pattern);

	return ajFalse;
    }

    embPatCompileII(embpat,ajPatternSeqGetMismatch(pat));
    ajPatternSeqSetCompiled(pat,embpat);
    ajStrDel(&pattern);

    return ajTrue;
}
Esempio n. 7
0
File: ajreg.c Progetto: ICO2S/emboss
void ajRegExit(void)
{
    if(regDfaWorkspace)
        AJFREE(regDfaWorkspace);

    ajDebug("Regexp usage (bytes): %Ld allocated, %Ld freed, %Ld in use "
            "(sizes change)\n",
	    regAlloc, regFree, (regAlloc - regFree));
    ajDebug("Regexp usage (number): %Ld allocated, %Ld freed %Ld in use\n",
	    regCount, regFreeCount, regTotal);

    return;
}
Esempio n. 8
0
AjBool embPropTransition(char base1, char base2)
{
    AjBool bu1;
    AjBool bu2;
    AjBool by1;
    AjBool by2;

    bu1 = embPropPurine(base1);
    bu2 = embPropPurine(base2);

    by1 = embPropPyrimidine(base1);
    by2 = embPropPyrimidine(base2);

    ajDebug("base1 py = %b, pu = %b", bu1, by1);
    ajDebug("base2 py = %b, pu = %b", bu2, by2);

    /* not a purine or a pyrimidine - ambiguous - return ajFalse */
    if(!bu1 && !by1)
	return ajFalse;

    if(!bu2 && !by2)
	return ajFalse;

    /* no change - return ajFalse */
    if(tolower((int)base1) == tolower((int)base2))
	return ajFalse;

    /* U to T is not a transition */
    if(tolower((int)base1) == 't' && tolower((int)base2) == 'u')
	return ajFalse;

    if(tolower((int)base1) == 'u' && tolower((int)base2) == 't')
	return ajFalse;

    /* C to Y, T to Y, A to R, G to R - ambiguous - not a transition */
    if(bu1 && tolower((int)base2) == 'r')
	return ajFalse;

    if(bu2 && tolower((int)base1) == 'r')
	return ajFalse;

    if(by1 && tolower((int)base2) == 'y')
	return ajFalse;

    if(by2 && tolower((int)base1) == 'y')
	return ajFalse;

    ajDebug("embPropTransition result = %b", (bu1 == bu2));

    return (bu1 == bu2);
}
Esempio n. 9
0
File: ajreg.c Progetto: ICO2S/emboss
void ajRegTrace(const AjPRegexp rexp)
{
    ajint isub;
    ajint ilen;
    ajint ipos;
    ajint istart;
    ajint iend;
    static AjPStr str = NULL;

    ajDebug("  REGEXP trace\n");

    if (!rexp->orig)
	ajDebug("original string not saved - unable to trace string values\n");

    for(isub=0; isub < rexp->ovecsize; isub++)
    {
	istart = 2*isub;
	iend   = istart+1;

	if (!rexp->orig)
        {
	    if(!isub)
		ajDebug("original string from %d .. %d\n",
			rexp->ovector[istart], rexp->ovector[iend]);
	    else
		ajDebug("substring %2d from %d .. %d\n",
			isub, rexp->ovector[istart], rexp->ovector[iend]);

	    continue;
	}

	if(rexp->ovector[iend] >= rexp->ovector[istart])
	{
	    ilen = rexp->ovector[iend] - rexp->ovector[istart];
	    ajStrSetRes(&str, ilen+1);
	    memmove(str->Ptr, &rexp->orig[rexp->ovector[istart]], ilen);
	    str->Len = ilen;
	    str->Ptr[ilen] = '\0';

	    if(!isub)
	    {
		ajDebug(" original string '%s'\n", rexp->orig);
		ajDebug("    string match '%S'\n", str);
	    }
	    else
	    {
		ipos = rexp->ovector[istart];
		ajDebug("    substring %2d '%S' at %d\n", isub, str, ipos);
	    }
	}
    }

    ajDebug("\n");

    ajStrDel(&str);

    return;
}
Esempio n. 10
0
static void eprimer3_end_write(FILE *stream)
{
    ajDebug("Closing output pipe stream\n");
    fclose(stream);

    return;
}
Esempio n. 11
0
static void eprimer3_write(const AjPStr str, FILE *stream)
{
    fputs(ajStrGetPtr(str), stream);
    ajDebug("eprimer3_write '%S'\n", str);

    return;
}
Esempio n. 12
0
static const AjPStr eprimer3_tableget(const char *key1, ajint number,
                                      const char *key2,
                                      const AjPTable table)
{
    AjPStr fullkey = NULL;
    AjPStr keynum  = NULL;
    const AjPStr value   = NULL;

    ajStrAssignC(&fullkey, key1);

    if(number > 0)
    {
        ajStrAppendC(&fullkey, "_");
        ajStrFromInt(&keynum, number);
        ajStrAppendS(&fullkey, keynum);
    }

    if(strcmp(key2, ""))
        ajStrAppendC(&fullkey, "_");

    ajStrAppendC(&fullkey, key2);
    ajDebug("Constructed key=%S\n", fullkey);
    value = ajTableFetchS(table, fullkey);


    ajStrDel(&fullkey);
    ajStrDel(&keynum);

    return value;
}
Esempio n. 13
0
AjBool ensKaryotypebandTrace(const EnsPKaryotypeband kb, ajuint level)
{
    AjPStr indent = NULL;
    
    if(!kb)
	return ajFalse;
    
    indent = ajStrNew();
    
    ajStrAppendCountK(&indent, ' ', level * 2);
    
    ajDebug("%SensKaryotypebandTrace %p\n"
	    "%S  Adaptor %p\n"
	    "%S  Identifier %u\n"
	    "%S  Feature %p\n"
	    "%S  Name '%S'\n"
	    "%S  Stain '%S'\n",
	    indent, kb,
	    indent, kb->Adaptor,
	    indent, kb->Identifier,
	    indent, kb->Feature,
	    indent, kb->Name,
	    indent, kb->Stain);
    
    ensFeatureTrace(kb->Feature, 1);
    
    ajStrDel(&indent);
    
    return ajTrue;
}
Esempio n. 14
0
void ensGvsynonymDel(EnsPGvsynonym *Pgvs)
{
    EnsPGvsynonym pthis = NULL;

    if (!Pgvs)
        return;

#if defined(AJ_DEBUG) && AJ_DEBUG >= 1
    if (ajDebugTest("ensGvsynonymDel"))
    {
        ajDebug("ensGvsynonymDel\n"
                "  *Pgvs %p\n",
                *Pgvs);

        ensGvsynonymTrace(*Pgvs, 1);
    }
#endif /* defined(AJ_DEBUG) && AJ_DEBUG >= 1 */

    if (!(pthis = *Pgvs) || --pthis->Use)
    {
        *Pgvs = NULL;

        return;
    }

    ensGvsourceDel(&pthis->Gvsource);

    ajStrDel(&pthis->Name);
    ajStrDel(&pthis->Moleculetype);

    ajMemFree((void **) Pgvs);

    return;
}
Esempio n. 15
0
AjBool ensGvdatabaseadaptorTrace(const EnsPGvdatabaseadaptor gvdba,
                                 ajuint level)
{
    AjPStr indent = NULL;

    if (!gvdba)
        return ajFalse;

    indent = ajStrNew();

    ajStrAppendCountK(&indent, ' ', level * 2);

    ajDebug("%SensGvdatabaseadaptorTrace %p\n"
            "%S  Databaseadaptor %p\n"
            "%S  Failedvariations '%B'\n",
            indent, gvdba,
            indent, gvdba->Adaptor,
            indent, gvdba->Failedvariations);

    ensDatabaseadaptorTrace(gvdba->Adaptor, level + 1);

    ajStrDel(&indent);

    return ajTrue;
}
Esempio n. 16
0
void ensGvdatabaseadaptorDel(EnsPGvdatabaseadaptor *Pgvdba)
{
    EnsPGvdatabaseadaptor pthis = NULL;

    if (!Pgvdba)
        return;

#if defined(AJ_DEBUG) && AJ_DEBUG >= 1
    if (ajDebugTest("ensGvdatabaseadaptorDel"))
    {
        ajDebug("ensGvdatabaseadaptorDel\n"
                "  *Pgvdba %p\n",
                *Pgvdba);

        ensGvdatabaseadaptorTrace(*Pgvdba, 1);
    }
#endif /* defined(AJ_DEBUG) && AJ_DEBUG >= 1 */

    if (!(pthis = *Pgvdba))
        return;

    ajMemFree((void **) Pgvdba);

    return;
}
Esempio n. 17
0
AjBool ensIntronTrace(const EnsPIntron intron, ajuint level)
{
    AjPStr indent = NULL;
    
    if(!intron)
	return ajFalse;
    
    indent = ajStrNew();
    
    ajStrAppendCountK(&indent, ' ', level * 2);
    
    ajDebug("%SensIntronTrace %p\n"
	    "%S  Feature %p\n"
	    "%S  PreviousExon %p\n"
	    "%S  NextExon %p\n"
	    "%S  Use %u\n",
	    indent, intron,
	    indent, intron->Feature,
	    indent, intron->PreviousExon,
	    indent, intron->NextExon,
	    indent, intron->Use);
    
    ensFeatureTrace(intron->Feature, level + 1);
    
    ensExonTrace(intron->PreviousExon, level + 1);
    
    ensExonTrace(intron->NextExon, level + 1);
    
    ajStrDel(&indent);
    
    return ajTrue;
}
Esempio n. 18
0
AjBool ensProjectionsegmentTrace(const EnsPProjectionsegment ps, ajuint level)
{
    AjPStr indent = NULL;
    
    if(!ps)
	return ajFalse;
    
    indent = ajStrNew();
    
    ajStrAppendCountK(&indent, ' ', level * 2);
    
    ajDebug("%SensProjectionsegmentTrace %p\n"
	    "%S  SrcStart %d\n"
	    "%S  SrcEnd %d\n"
	    "%S  TrgSlice %p\n"
	    "%S  Use %u\n",
	    indent, ps,
	    indent, ps->SrcStart,
	    indent, ps->SrcEnd,
	    indent, ps->TrgSlice,
	    indent, ps->Use);
    
    ensSliceTrace(ps->TrgSlice, level + 1);
    
    ajStrDel(&indent);
    
    return ajTrue;
}
Esempio n. 19
0
static ajint dbiblast_loadtable(ajuint* table, ajint isize, PBlastDb db,
				ajint top, ajint pos)
{
    ajint i;
    ajint j;
    ajint imax;

    imax = pos + isize;
    if(imax > (db->Size+1))
	imax = db->Size+1;

    ajDebug("loadtable size %d top %d db->Size %d pos %d imax %d\n",
	    isize, top, db->Size, pos, imax);

    dbiblast_memfseek(db->TFile, top + 4*(pos), 0);
    j = 0;

    for(i=pos; i<=imax; i++)
    {
	/* ajDebug("reading at %d\n", ajFileResetPos(db->TFile->File));*/
	dbiblast_memreadUInt4(db->TFile,&table[j++]);
	/* ajDebug("read i: %d j: %d value: %d\n", i, j-1, table[j-1]);*/
    }

    return imax - pos + 1;
}
Esempio n. 20
0
void ensStorableDel(EnsPStorable *Pstorable)
{
    EnsPStorable pthis = NULL;

    if (!Pstorable)
        return;

#if defined(AJ_DEBUG) && AJ_DEBUG >= 1
    if (ajDebugTest("ensStorableDel"))
        ajDebug("ensStorableDel\n"
                "  *Pstorable %p\n",
                *Pstorable);
#endif /* defined(AJ_DEBUG) && AJ_DEBUG >= 1 */

    if (!(pthis = *Pstorable) || --pthis->Use)
    {
        *Pstorable = NULL;

        return;
    }

    ajMemFree((void **) Pstorable);

    return;
}
Esempio n. 21
0
static void splitter_ProcessChunk (AjPSeqout seqout, const AjPSeq seq,
                                   ajuint start, ajuint end, const AjPStr name,
                                   AjBool feature)
{
    AjPStr str;

    AjPFeattable new_feattable = NULL;
    AjPSeq subseq;

    ajDebug("splitter_ProcessChunk %d..%d '%S' %B\n",
            start, end, name, feature);

    str    = ajStrNew();
    subseq = ajSeqNew();
  
  
    new_feattable = ajFeattableNew(name);
    subseq->Fttable = new_feattable;
    ajFeattableSetNuc(new_feattable);

    ajStrAssignSubC(&str,ajSeqGetSeqC(seq),start,end);
    ajSeqAssignSeqS(subseq,str);

    if(feature)
        splitter_AddSubSeqFeat(subseq->Fttable,start,end,seq);

    ajSeqAssignNameS(subseq, name);
    splitter_write(seqout,subseq,seq);

    ajStrDel(&str);
    ajSeqDel(&subseq);

    return;
}
Esempio n. 22
0
File: ajreg.c Progetto: ICO2S/emboss
AjBool ajRegExecC(AjPRegexp prog, const char* str)
{
    int startoffset = 0;
    int options     = 0;
    int status      = 0;

    status = pcre_exec(prog->pcre, prog->extra, str, strlen(str),
		       startoffset, options, prog->ovector, 3*prog->ovecsize);

    if(status >= 0)
    {
	prog->orig = str;

	if(status == 0)
	    ajWarn("ajRegExecC too many substrings");

	return ajTrue;
    }

    if(status < -1)		    /* -1 is a simple fail to match */
    {				/* others are recursion limits etc. */
	ajDebug("ajRegExecC returned unexpected status '%d'\n", status);
	prog->orig = str;		/* needed for the trace */
	ajRegTrace(prog);
    }

    prog->orig = NULL;

    return ajFalse;
}
Esempio n. 23
0
void ajPatternRegexDebug (const AjPPatternRegex pat)
{
    ajDebug ("patPatternRegexDebug:\n  name: %S\n  pattern: %S\n  type: %d",
	     pat->Name, pat->Pattern, pat->Type);

    return;
}
Esempio n. 24
0
static AjBool merger_bestquality(const char * a, const char *b,
				 ajint apos, ajint bpos)
{
    float qa;
    float qb;

    qa = merger_quality(a, apos, 5);
    qb = merger_quality(b, bpos, 5);

    if(qa == qb)
    {
	/* both have the same quality, use a larger window */
	qa = merger_quality(a, apos, 10);
	qb = merger_quality(b, bpos, 10);
    }

    if(qa == qb)
    {
	/* both have the same quality, use a larger window */
	qa = merger_quality(a, apos, 20);
	qb = merger_quality(b, bpos, 20);
    }

    ajDebug("merger_bestquality %d..%d = %.3f %.3f\n", apos, bpos, qa, qb);

    if(qa >= qb)
	/*  both have the same quality, use the first sequence */
	return ajTrue;

    return ajFalse;
}
Esempio n. 25
0
static void tranalign_AddGaps(AjPSeq newseq,
			      const AjPSeq nseq, const AjPSeq pseq,
			      ajlong npos)
{

    AjPStr newstr = NULL;
    ajuint ppos = 0;

    newstr = ajStrNew();

    for(; ppos<ajSeqGetLen(pseq); ppos++)
    	if(ajSeqGetSeqC(pseq)[ppos] == '-')
    	    ajStrAppendC(&newstr, "---");
	else
	{
    	    ajStrAppendSubS(&newstr, ajSeqGetSeqS(nseq), npos, npos+2);
    	    npos+=3;
    	}

    ajDebug("aligned seq=%S\n", newstr);
    ajSeqAssignSeqS(newseq, newstr);

    ajStrDel(&newstr);

    return;
}
Esempio n. 26
0
static void supermatcher_findendpoints(const EmbPWordMatch max,
	const AjPSeq trgseq, const AjPSeq qryseq,
	ajint *trgstart, ajint *qrystart,
	ajint *trgend, ajint *qryend)
{
    ajint amax;
    ajint bmax;
    ajint offset;

    *trgstart = max->seq1start;
    *qrystart = max->seq2start;

    offset = *trgstart - *qrystart;

    if(offset > 0)
    {
	*trgstart = offset;
	*qrystart = 0;
    }
    else
    {
	*qrystart = 0-offset;
	*trgstart = 0;
    }

    amax = ajSeqGetLen(trgseq)-1;
    bmax = ajSeqGetLen(qryseq)-1;

    *trgend = *trgstart;
    *qryend = *qrystart;

    ajDebug("++ end1 %d -> %d end2 %d -> %d\n", *trgend, amax, *qryend, bmax);

    while(*trgend<amax && *qryend<bmax)
    {
	(*trgend)++;
	(*qryend)++;
    }

    ajDebug("++ end1 %d end2 %d\n", *trgend, *qryend);

    ajDebug("supermatcher_findendpoints: %d..%d [%d] %d..%d [%d]\n",
	    trgstart, *trgend, ajSeqGetLen(trgseq), qrystart, *qryend,
	    ajSeqGetLen(qryseq));

    return;
}
Esempio n. 27
0
void ajPatternSeqDebug (const AjPPatternSeq pat)
{
    ajDebug ("patPatternSeqDebug:\n  name: %S\n  pattern: %S\n  protein: %B,"
             " mismatch: %d\n",
	     pat->Name, pat->Pattern, pat->Protein, pat->Mismatch);

    return;
}
Esempio n. 28
0
AjBool ajAssemoutWrite(AjPOutfile outf, const AjPAssem assem)
{
    ajuint i = ajOutfileGetFormatindex(outf);
    AjPFile outfile = ajOutfileGetFile(outf);

    ajDebug("ajAssemoutWrite %d\n",i);
    return (*assemoutFormatDef[i].Write)(outfile, assem);
}
Esempio n. 29
0
axiom_node_t* ajSoapAxis2Call(axis2_svc_client_t *client,
                              const axutil_env_t *env,
                              axiom_node_t *payload)
{
    axiom_node_t *ret_node = NULL;
    axis2_char_t * om_str  = NULL;

    if (ajDebugOn())
    {
	om_str = axiom_node_to_string(payload, env);

	if (om_str)
	{
	    ajDebug("\nSending OM : %s\n", om_str);
	    AXIS2_FREE(env->allocator, om_str);
	    om_str = NULL;
	}
    }

    /* Send request */
    ret_node = axis2_svc_client_send_receive(client, env, payload);

    if (ret_node)
    {
	if(ajDebugOn())
	{
	    om_str = axiom_node_to_string(ret_node, env);

	    if (om_str)
		ajDebug("\nReceived OM : %s\n", om_str);

	    AXIS2_FREE(env->allocator, om_str);
	    om_str = NULL;
	}
    }
    else
    {
	ajDebug("seqAxis2wsCall: webservice call failed: %s\n",
	                AXIS2_ERROR_GET_MESSAGE(env->error));
	ajErr("webservice call FAILED: %s\n",
		AXIS2_ERROR_GET_MESSAGE(env->error));
    }

    return ret_node;
}
Esempio n. 30
0
void ajPatlistAddRegex (AjPPatlistRegex thys, AjPPatternRegex pat)
{
    ajDebug ("ajPatlistAddRegex list size %d '%S' '%S' '%d'\n",
             ajListGetLength (thys->Patlist), pat->Name,
             pat->Pattern, pat->Type);
    ajListPushAppend(thys->Patlist, pat);

    return;
}