예제 #1
0
파일: gfOut.c 프로젝트: kenongit/sequencing
static void sim4QueryOut(struct gfOutput *out, FILE *f)
/* Do sim4-like output - at end of processing query. */
{
    struct axtData *aod = out->data;
    struct axtBundle *gab;

    for (gab = aod->bundleList; gab != NULL; gab = gab->next)
    {
        struct axt *axt = gab->axtList;
        fprintf(f, "\n");
        fprintf(f, "seq1 = %s, %d bp\n", axt->qName, gab->qSize);
        fprintf(f, "seq2 = %s, %d bp\n", axt->tName, gab->tSize);
        fprintf(f, "\n");
        if (axt->qStrand == '-')
            fprintf(f, "(complement)\n");
        for (axt = gab->axtList; axt != NULL; axt = axt->next)
        {
            fprintf(f, "%d-%d  ", axt->qStart+1, axt->qEnd);
            fprintf(f, "(%d-%d)   ", axt->tStart+1, axt->tEnd);
            fprintf(f, "%1.0f%% ", 100.0 * axtIdRatio(axt));
            if (axt->qStrand == '-')
                fprintf(f, "<-\n");
            else
                fprintf(f, "->\n");
        }
    }
    axtBundleFreeList(&aod->bundleList);
}
예제 #2
0
static void sim4QueryOut(struct gfOutput *out, FILE *f)
/* Do sim4-like output - at end of processing query. */
{
    struct axtData *aod = out->data;
    struct axtBundle *gab;
    slReverse(&aod->bundleList);

    for (gab = aod->bundleList; gab != NULL; gab = gab->next)
    {
        struct axt *axt = gab->axtList;
        // check minIdentity of the entire alignment
        int goodPpt = 1000 * axtListRatio(axt);
        if (!(goodPpt >= out->minGood))
            continue;
        fprintf(f, "\n");
        fprintf(f, "seq1 = %s, %d bp\n", axt->qName, gab->qSize);
        fprintf(f, "seq2 = %s, %d bp\n", axt->tName, gab->tSize);
        fprintf(f, "\n");
        if (axt->qStrand == '-')
            fprintf(f, "(complement)\n");
        for (; axt != NULL; axt = axt->next)
        {
            fprintf(f, "%d-%d  ", axt->qStart+1, axt->qEnd);
            fprintf(f, "(%d-%d)   ", axt->tStart+1, axt->tEnd);
            fprintf(f, "%1.0f%% ", 100.0 * axtIdRatio(axt));
            if (axt->qStrand == '-')
                fprintf(f, "<-\n");
            else
                fprintf(f, "->\n");
        }
    }
    axtBundleFreeList(&aod->bundleList);
}
예제 #3
0
파일: gfOut.c 프로젝트: kenongit/sequencing
static void blastQueryOut(struct gfOutput *out, FILE *f)
/* Output blast on query. */
{
    struct axtData *aod = out->data;
    axtBlastOut(aod->bundleList, out->queryIx, out->qIsProt, f,
                aod->databaseName, aod->databaseSeqCount, aod->databaseLetters,
                aod->blastType, "blat", aod->minIdentity);
    axtBundleFreeList(&aod->bundleList);
}
예제 #4
0
파일: gfOut.c 프로젝트: kenongit/sequencing
static void axtQueryOut(struct gfOutput *out, FILE *f)
/* Do axt oriented output - at end of processing query. */
{
    struct axtData *aod = out->data;
    struct axtBundle *gab;
    for (gab = aod->bundleList; gab != NULL; gab = gab->next)
    {
        struct axt *axt;
        for (axt = gab->axtList; axt != NULL; axt = axt->next)
            axtWrite(axt, f);
    }
    axtBundleFreeList(&aod->bundleList);
}
예제 #5
0
파일: gfOut.c 프로젝트: kenongit/sequencing
static void mafQueryOut(struct gfOutput *out, FILE *f)
/* Do axt oriented output - at end of processing query. */
{
    struct axtData *aod = out->data;
    struct axtBundle *gab;
    for (gab = aod->bundleList; gab != NULL; gab = gab->next)
    {
        struct axt *axt;
        for (axt = gab->axtList; axt != NULL; axt = axt->next)
        {
            struct mafAli temp;
            mafFromAxtTemp(axt, gab->tSize, gab->qSize, &temp);
            mafWrite(f, &temp);
        }
    }
    axtBundleFreeList(&aod->bundleList);
}