NAME

GFF - Perl extension for Gene Finding Feature format


AUTHORS

Copyright (c) 1999 Created by Tim Hubbard th@sanger.ac.uk.
Augmented by Richard Bruskiewich rbsk@sanger.ac.uk

Sanger Institute, Wellcome Trust Genome Campus, Cambs, UK All rights reserved.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation.


SYNOPSIS

    use GFF;


DESCRIPTION

GFF is a Perl Object base class/module for the General Feature Format (``GFF''). A GFF object is a base class for GFF::GeneFeatureSet, GFF::GeneFeature and GFF::HomolGeneFeature object classes.

How to Read Method Protocols

Normal Perl data type notations are used for argument declarations in the method protocols. A backslash denotes argument passing by reference. Class methods are invoked using the 'class->method(args)' or 'method class args' Perl call formats.


SOURCE CODE

The most current release of the Perl source code for this module is available here. NOTE: This is a March 1999 beta release of the modules incorporating the proposed Version 2 revisions to the GFF specification. All bug reports may be submitted to Richard Bruskiewich (rbsk@sanger.ac.uk). Future releases will likely be issued as Bioperl archived modules.


GFF Class Methods and Variables

version( $version )
This method may actually be called as a class (static) method or as a virtual (instance) method. When called as a class method, the method sets and/or queries the package default GFF protocol version. GFF objects internally record the current default version value when they are created. If the method is called by such a derived object, it sets and/or queries the GFF object's version (thus, one can in principle create and manipulated GFF objects of various versions). If not otherwise called, the module currently assumes that Version 2 GFF objects will be manipulated. If the format of the anticipated input is not the default protocol version, then this method must be called first, prior to calling other format sensitive methods, to set the correct version. The method may be called with or without an argument. In both cases, the method returns the current (or newly set) version value, either the package (``class'') default or the GFF object value.

verify( $ref, $nodie )
Any derived class can invoke this method, to verify that $ref is a properly defined object reference in that class. If invoked by the GFF class, then verifies that the $ref belongs to any one of the GFF derived classes. Method 'dies' upon failure, unless the $nodie variable is non-null (default: null), in which case, the function merely carps a warning and returns null for failure.

trace( $level )
Setting $level to a number greater than 1 triggers a verbose GFF.pm et al. module diagnostic mode output to STDERR. If $level argument is omitted, then the trace is turned off. Examples: verify() (above) reports success; GFF::read() provides user feedback during file input. Generally speaking, the verbosity of the output depends upon the $level given: 1 = minimum trace (most useful for monitoring certain iterative operations like reading in a file), 2 = verbose (debug) trace (not so useful except for GFF.pm coders)


GFF Construction Methods

Not applicable; derived classes instantiate this class.


GFF Object Input/Output Methods

Not applicable; derived classes instantiate this class.


Revision History

    10/11/99 - rbsk: see GeneFeatureSet.pm, GifGFF.pm and Graph.pm
     4/10/99 - rbsk: see GeneFeatureSet.pm and GeneFeature.pm
    27/08/99 - rbsk: GeneFeature parse_group bug fix
    26/08/99 - rbsk: GeneFeature.pm changes...
     28/1/99 - rbsk: module renamed from GFFObject.pm => GFF.pm
                     overall GFF object module hierarchy remolded
                      GFF.pm              => GFF::GeneFeatureSet.pm
                      GeneFeature.pm      => GFF::GeneFeature.pm
                      HomolGeneFeature.pm => GFF::HomolGeneFeature.pm
                   all in GFF subdirectory
    22/4/99 - rbsk: added trace(), verify() and trace() methods
    16/3/99 - rbsk: created this class to abstract "version" method
                   from GFF, GeneFeature and HomolGeneFeature.


SEE ALSO

GFF::GeneFeature, GFF::GeneFeatureSet, GFF::HomolGeneFeature, GFF::Analysis, GFF::GifGFF.