[Bioperl-l] GO parser
Chris Mungall
cjm@fruitfly.org
Thu, 14 Nov 2002 16:30:11 -0800 (PST)
Cool, thanks Chris
is this just for go ontology files, or for the other stuff too (defs,
xrefs, associations)
On Thu, 14 Nov 2002, Chris Zmasek wrote:
> All:
>
> I just submitted all the necessary classes for my "simpleGOparser" (this parser returns a "simpleGOengine").
> In particular, these are:
> - Ontology/OntologyEngineI.pm (by Peter Dimitrov)
> - Ontology/Relationship.pm
> - Ontology/RelationshipI.pm (by Peter Dimitrov)
> - Ontology/RelationshipType.pm
> - Ontology/simpleGOengine.pm
> - Ontology/simpleGOparser.pm
>
> Tests and data:
> - t/simpleGOparser.t
> - t/data/component.ontology.test
> - t/data/GO.defs.test
>
> Example script:
> - examples/ontology/simpleGOparser_example.pl
>
>
> Please note that this parser (or to be more precise, "simpleGOengine") requires the Graph.pm module from CPAN.
>
> Christian [czmasek@gnf.org]
>
> PS:
> Here's an example on how to use the parser:
>
> use Bio::Ontology::simpleGOparser;
>
>
> my $parser = Bio::Ontology::simpleGOparser->new( -go_defs_file_name => "GO.defs",
> -components_file_name => "component.ontology",
> -functions_file_name => "function.ontology",
> -processes_file_name => "process.ontology" );
>
> my $engine = $parser->parse();
>
> my $IS_A = $engine->is_a_relationship();
> my $PART_OF = $engine->part_of_relationship();
>
>
> # root terms
> # ----------
>
> print scalar( $engine->get_root_terms() ), "\n";
>
> print( ( $engine->get_root_terms() )[ 0 ]->to_string(), "\n" );
>
> print "\n\n";
>
>
> # parent terms
> # ------------
>
> my @parents1 = $engine->get_parent_terms( "GO:0045474", $IS_A );
>
> my @parents2 = $engine->get_parent_terms( $parents1[ 0 ] );
>
> foreach my $p ( @parents2 ) {
> print $p->to_string(), "\n";
> }
>
> print "\n\n";
>
>
>
> # child terms
> # -----------
>
>
> my @child0 = $engine->get_child_terms( ( $engine->get_root_terms() )[ 0 ] );
>
> foreach my $c ( @child0 ) {
> print $c->to_string(), "\n";
> }
>
> print "\n\n";
>
> my @child1 = $engine->get_child_terms( "GO:0008044", $IS_A );
>
> foreach my $cc ( @child1 ) {
> print $cc->to_string(), "\n";
> }
>
> print "\n\n";
>
>
> # ancestor terms
> # --------------
>
> my @ancestor1 = $engine->get_ancestor_terms( "GO:0007323", $PART_OF );
>
>
>
> # descendant terms
> # ----------------
>
> my @descendant1 = $engine->get_descendant_terms( "GO:0007323", $PART_OF );
>
>
>
> # relationships
> # -------------
>
> my @rel1 = $engine->get_relationships( "GO:0007323", $PART_OF, $IS_A );
>
>
> # leaf terms
> # ----------
>
> my @l1 = $engine->get_leaf_terms();
>
>
> # get term with id
> # ----------------
>
> my $term = $engine->get_term( "GO:0001661" );
>
>
> # all terms
> # ---------
>
> my @terms = $engine->each_term();
>
>
> exit( 1 );
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l@bioperl.org
> http://bioperl.org/mailman/listinfo/bioperl-l
>