Example #1
0
static void gff3ToPsl(char *mapFile, char *inGff3File, char *outPSL)
/* gff3ToPsl - convert a GFF3 file to a genePred file. */
{
    struct hash *chromHash = readSizes(mapFile);
    struct hash *processed = hashNew(12);
    struct gff3File *gff3File = loadGff3(inGff3File);
    FILE *pslF = mustOpen(outPSL, "w");
    struct gff3AnnRef *root;
    for (root = gff3File->roots; root != NULL; root = root->next)
    {
        if (!isProcessed(processed, root->ann))
        {
            processRoot(pslF, root->ann, processed, chromHash);
            if (convertErrCnt >= maxConvertErrs)
                break;
        }
    }
    carefulClose(&pslF);
    if (convertErrCnt > 0)
        errAbort("%d errors converting GFF3 file: %s", convertErrCnt, inGff3File);

#if 0  // free memory for leak debugging if 1
    gff3FileFree(&gff3File);
    hashFree(&processed);
#endif
}
Example #2
0
static void gff3Tester(char *gff3InFile, char *gff3OutFile)
/* tester for GFF3 objects */
{
struct gff3File *g3f = gff3FileOpen(gff3InFile, -1, NULL);
gff3FileWrite(g3f, gff3OutFile);
gff3FileFree(&g3f);
}