diff variant_effect_predictor/Bio/OntologyIO/goflat.pm @ 0:1f6dce3d34e0

Uploaded
author mahtabm
date Thu, 11 Apr 2013 02:01:53 -0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/variant_effect_predictor/Bio/OntologyIO/goflat.pm	Thu Apr 11 02:01:53 2013 -0400
@@ -0,0 +1,161 @@
+# $Id: goflat.pm,v 1.1.2.3 2003/05/27 22:00:52 lapp Exp $
+#
+# BioPerl module for Bio::OntologyIO::goflat
+#
+# Cared for by Christian M. Zmasek <czmasek@gnf.org> or <cmzmasek@yahoo.com>
+#
+# (c) Christian M. Zmasek, czmasek@gnf.org, 2002.
+# (c) GNF, Genomics Institute of the Novartis Research Foundation, 2002.
+#
+# You may distribute this module under the same terms as perl itself.
+# Refer to the Perl Artistic License (see the license accompanying this
+# software package, or see http://www.perl.com/language/misc/Artistic.html)
+# for the terms under which you may use, modify, and redistribute this module.
+#
+# THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
+# MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+#
+# You may distribute this module under the same terms as perl itself
+
+# POD documentation - main docs before the code
+
+=head1 NAME
+
+goflat - a parser for the Gene Ontology flat-file format
+
+=head1 SYNOPSIS
+
+  use Bio::OntologyIO;
+
+  # do not use directly -- use via Bio::OntologyIO
+  my $parser = Bio::OntologyIO->new
+	( -format       => "go",
+          -defs_file    => "/home/czmasek/GO/GO.defs",
+	  -files        => ["/home/czmasek/GO/component.ontology",
+	                    "/home/czmasek/GO/function.ontology",
+	                    "/home/czmasek/GO/process.ontology"] );
+
+  my $go_ontology = $parser->next_ontology();
+
+  my $IS_A    = Bio::Ontology::RelationshipType->get_instance( "IS_A" );
+  my $PART_OF = Bio::Ontology::RelationshipType->get_instance( "PART_OF" );
+
+=head1 DESCRIPTION
+
+Needs Graph.pm from CPAN.
+
+This is essentially a very thin derivation of the dagflat parser.
+
+=head1 FEEDBACK
+
+=head2 Mailing Lists
+
+User feedback is an integral part of the evolution of this and other
+Bioperl modules. Send your comments and suggestions preferably to the 
+Bioperl mailing lists  Your participation is much appreciated.
+
+  bioperl-l@bioperl.org                         - General discussion
+  http://bio.perl.org/MailList.html             - About the mailing lists
+
+=head2 Reporting Bugs
+
+report bugs to the Bioperl bug tracking system to help us keep track
+ the bugs and their resolution.  Bug reports can be submitted via
+ email or the web:
+
+  bioperl-bugs@bio.perl.org
+  http://bugzilla.bioperl.org/
+
+=head1 AUTHOR
+
+Christian M. Zmasek
+
+Email: czmasek@gnf.org  or  cmzmasek@yahoo.com
+
+WWW:   http://www.genetics.wustl.edu/eddy/people/zmasek/
+
+Address: 
+
+  Genomics Institute of the Novartis Research Foundation
+  10675 John Jay Hopkins Drive
+  San Diego, CA 92121
+
+=head2 CONTRIBUTOR
+
+ Hilmar Lapp, hlapp at gmx.net
+
+=head1 APPENDIX
+
+The rest of the documentation details each of the object
+methods. Internal methods are usually preceded with a _
+
+=cut
+
+
+# Let the code begin...
+
+
+package  Bio::OntologyIO::goflat;
+
+use vars qw( @ISA );
+use strict;
+
+use Bio::Ontology::TermFactory;
+use Bio::OntologyIO::dagflat;
+
+use constant TRUE         => 1;
+use constant FALSE        => 0;
+
+
+@ISA = qw( Bio::OntologyIO::dagflat );
+
+
+=head2 new
+
+ Title   : new
+ Usage   : $parser = Bio::OntologyIO->new(
+                             -format => "go",
+                             -defs_file => "/path/to/GO.defs",
+                             -files => ["/path/to/component.ontology",
+                                        "/path/to/function.ontology",
+                                        "/path/to/process.ontology"] );
+ Function: Creates a new goflat parser.
+ Returns : A new goflat parser object, implementing L<Bio::OntologyIO>.
+ Args    : -defs_file  => the name of the file holding the term
+                          definitions
+           -files      => a single ontology flat file holding the
+                          term relationships, or an array ref holding
+                          the file names (for GO, there will usually be
+                          3 files: component.ontology, function.ontology,
+                          process.ontology)
+           -file       => if there is only a single flat file, it may
+                          also be specified via the -file parameter
+           -ontology_name => the name of the ontology; if not specified the
+                          parser will auto-discover it by using the term
+                          that starts with a '$', and converting underscores
+                          to spaces
+           -engine     => the Bio::Ontology::OntologyEngineI object
+                          to be reused (will be created otherwise); note
+                          that every Bio::Ontology::OntologyI will
+                          qualify as well since that one inherits from the
+                          former.
+
+=cut
+
+# in reality, we let OntologyIO::new do the instantiation, and override
+# _initialize for all initialization work
+sub _initialize {
+    my ($self, @args) = @_;
+    
+    $self->SUPER::_initialize( @args );
+
+    # default term object factory
+    $self->term_factory(Bio::Ontology::TermFactory->new(
+					  -type => "Bio::Ontology::GOterm"))
+	unless $self->term_factory();
+
+} # _initialize
+
+  
+1;