NAME
GOBO::Parsers::OBOParser
SYNOPSIS
my $fh = new FileHandle("t/data/cell.obo");
my $parser = new GOBO::Parsers::OBOParser(fh=>$fh);
$parser->parse;
print $parser->graph;
my $writer = new GOBO::Writers::OBOWriter;
$writer->graph($parser->graph);
$writer->write();
DESCRIPTION
An GOBO::Parsers::Parser that parses OBO Files.
The goal is to be obof1.3 compliant:
http://www.geneontology.org/GO.format.obo-1_3.shtml
however, obof1.2 and obof1.0 are also supported
Term stanzas
These are converted to GOBO::TermNode objects
Typedef stanzas
These are converted to GOBO::RelationNode objects
Instance stanzas
These are converted to GOBO::InstanceNode objects
Statements
is_a and relationship tags are converted to GOBO::LinkStatement objects and added to the graph
intersection_of tags
These are added to the graph as GOBO::LinkStatement objects, with is_intersection=>1
You can call
$g->convert_intersection_links_to_logical_definitions
To move these links from the graph to $term->logical_definition
TBD: do this as the default? TBD: generalize for all links? sometimes it is convenient to have the links available in the Node object...?