Object.pm

- NAME
- SYNOPSIS
- DESCRIPTION
- LICENSE
- FEEDBACK
- AUTHOR - Steve Mathias
- DETAILS
- Imported Packages
- Public methods

- new
- new
- field
- print
- dump
- printObjectXML
- toStone
- AUTOLOAD
- DESTROY

- Private methods

- _initialize
- _setDefaults
- _verifyRequired
- _generalHTMLParam
- _attr2String

# NAME

Genetics::Object

# SYNOPSIS

A synopsis is not appropriate, as one would never normally instantiate an instance of Genetics::Object.

See the synopses for the individual subclasses.

# DESCRIPTION

This is the base class for all GenPerl objects.

For more information, see the GenPerl tutorial and the documentation for the individual sub-classes. Also, see Genetics::API for a description of the GenPerl database interface.

# LICENSE

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; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

# FEEDBACK

Currently, all feedback should be sent directly to the author.

# AUTHOR - Steve Mathias

Email: mathias@genomica.com

Phone: (720) 565-4029

Address: Genomica Corporation 1745 38th Street Boulder, CO 80301

# DETAILS

The rest of the documentation describes each of the object variables and methods. The names of internal variables and methods are preceded with an underscore (_).

# Imported Packages

      strict                Just to be anal
      vars                  Global variables
      Carp                  Error reporting
      XML::Writer           Used by generateXML methods
      HTML::Template        Used by asHTML methods

      Genetics::Cluster     Subclass
      Genetics::DNASample   Subclass
      Genetics::FrequencySource Subclass
      Genetics::Genotype    Subclass
      Genetics::Haplotype   Subclass
      Genetics::HtMarkerCollection Subclass
      Genetics::Kindred     Subclass
      Genetics::Map         Subclass
      Genetics::Marker      Subclass
      Genetics::Phenotype   Subclass
      Genetics::SNP         Subclass
      Genetics::StudyVariable Subclass
      Genetics::Subject     Subclass
      Genetics::TissueSample Subclass

# Public methods

## new

      Function  : Object constructor
      Arguments : Class name and hash array
      Returns   : Blessed hash
      Scope     : Public
      Called by : Main
      Comments  : Creates an empty hash, blesses it into the class name and calls
                  _initialize with the arguments passed

## new

      Function  : Return the object type: Subject, Genotype, etc.
      Arguments : A Genetics::Object object.
      Returns   : Scalar
      Scope     : Public
      Comments  :

## field

      Function  : Get or set specified field data
      Argument  : Field name and value (both optional)
      Returns   : Called with a single argument, this returns the value of the field
                  named by the argument.  Called with tow argumetns, this sets the
                  value of the field named by the first argument to the value in the
                  second argument.  Called with no arguments, this returns a list of
                  all field names.
      Scope     : Public
      Called by :
      Comments  : As an alternative to using this method, field names can be used as
                  get/set methods (see AUTOLOAD).

## print

      Function  : Print out object in a raw format
      Argument  : N/A
      Returns   : N/A
      Scope     : Public
      Called by : Main
      Comments  : This is mostly for debugging purposes.

## dump

      Function  : Same as print, but returns a string instead of printing it.
      Argument  : N/A
      Returns   : Scalar text string.
      Scope     : Public
      Called by : Main
      Comments  : This is mostly for debugging purposes.

## printObjectXML

      Function  : Generate and print XML common to all Genperl objects.
      Argument  : A Genetics::Object object and the XML::Writer object being used
                  to generate the XML.
      Returns   : N/A
      Scope     : Public Instance Method
      Called by : printXML methods of Genetics::Object subclasses.
      Comments  :

## toStone

     Function  :
     Arguments :
     Returns   :
     Example   : toStone()
     Scope     : Public instance method
     Comments  :

## AUTOLOAD

      Function  : Allow field names to be used as get/set methods instead of field().
      Argument  : Optional field value, in which case the field is set to this new
                  value (see field())
      Returns   : Field value
      Scope     : Public
      Called by : Called automatically when an undefined method - in
                  Genetics::Object, or any of its subclasses - is invoked.

## DESTROY

      Function  : Deallocate object storage
      Argument  : N/A
      Returns   : N/A
      Scope     : Public
      Called by : Called automatically when the object goes out of scope
                  (ie the internal reference count in the symbol table is
                  zero).  Can be called explicitly.

# Private methods

## _initialize

      Function  : Initialize object
      Arguments : Hash array of attributes/values passed to new()
      Returns   : N/A
      Scope     : Private
      Called by :
      Comments  :

## _setDefaults

      Function  : Set default attribute values
      Arguments :
      Returns   : N/A
      Scope     : Private
      Called by : Genetics::Object->_initialize
      Comments  :

## _verifyRequired

      Function  : Verify that required attributes are set
      Arguments : N/A
      Returns   : N/A
      Scope     : Private
      Called by : Genetics::Object->_initialize()
      Comments  : Verify that required fields have values.

## _generalHTMLParam

      Function  : Generate parameter hash, for passing to HTML::Template,
                  containing data common to all Genperl objects.
      Argument  : A Genetics::Object object and a reference to a parameter hash.
      Returns   : N/A
      Scope     : Private Instance Method
      Called by : asHTML methods of Genetics::Object subclasses.
      Comments  :

## _attr2String

      Function  : Convert a pointer to a complex attribute value into a string
                  for printing.
      Arguments : N/A
      Returns   : N/A
      Scope     : Private Class Method
      Called by : print().  _instantiate() and field() also call this method when
                  the debug flag is set.
      Comments  : Recurses if nested pointers exist in the data structure.