Example #1
0
GtOBOParseTree* gt_obo_parse_tree_new(const char *obo_file_path, GtError *err)
{
  GtOBOParseTree *obo_parse_tree;
  GtIO *obo_file;
  gt_error_check(err);
  gt_assert(obo_file_path);
  obo_file = gt_io_new(obo_file_path, "r");
  obo_parse_tree = gt_malloc(sizeof *obo_parse_tree);
  obo_parse_tree->obo_header = obo_header_new();
  obo_parse_tree->stanzas = gt_array_new(sizeof (GtOBOStanza*));
  if (parse_obo_file(obo_parse_tree, obo_file, err)) {
    gt_obo_parse_tree_delete(obo_parse_tree);
    gt_io_delete(obo_file);
    return NULL;
  }
  gt_io_delete(obo_file);
  return obo_parse_tree;
}
GtXRFAbbrParseTree* gt_xrf_abbr_parse_tree_new(const char *xrf_abbr_file_path,
                                               GtError *err)
{
  GtXRFAbbrParseTree *xrf_abbr_parse_tree;
  GtIO *xrf_abbr_file;
  gt_error_check(err);
  gt_assert(xrf_abbr_file_path);
  xrf_abbr_file = gt_io_new(xrf_abbr_file_path, "r");
  xrf_abbr_parse_tree = gt_malloc(sizeof *xrf_abbr_parse_tree);
  xrf_abbr_parse_tree->entries = gt_array_new(sizeof (GtXRFAbbrEntry*));
  if (parse_xrf_abbr_file(xrf_abbr_parse_tree, xrf_abbr_file, err)) {
    gt_xrf_abbr_parse_tree_delete(xrf_abbr_parse_tree);
    gt_io_delete(xrf_abbr_file);
    return NULL;
  }
  gt_io_delete(xrf_abbr_file);
  return xrf_abbr_parse_tree;
}
Example #3
0
int gt_bed_parser_parse(GtBEDParser *bed_parser, GtQueue *genome_nodes,
                        const char *filename, GtError *err)
{
  GtIO *bed_file;
  int had_err;
  gt_error_check(err);
  gt_assert(bed_parser && genome_nodes);
  bed_file = gt_io_new(filename, "r");
  /* parse BED file */
  had_err = parse_bed_file(bed_parser, bed_file, err);
  /* process created region and feature nodes */
  gt_region_node_builder_build(bed_parser->region_node_builder, genome_nodes);
  gt_region_node_builder_reset(bed_parser->region_node_builder);
  while (gt_queue_size(bed_parser->feature_nodes))
    gt_queue_add(genome_nodes, gt_queue_get(bed_parser->feature_nodes));
  gt_io_delete(bed_file);
  return had_err;
}
static void gt_fasta_reader_rec_free(GtFastaReader *fr)
{
  GtFastaReaderRec *gt_fasta_reader_rec = gt_fasta_reader_rec_cast(fr);
  gt_io_delete(gt_fasta_reader_rec->seqio);
}