Subject.pm

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

- hasParents
- getMotherName
- getFatherName
- printXML
- asHTML

# NAME

Genetics::Subject

# SYNOPSIS

      $subject = new Genetics::Subject(name => 'JXPed1-1',
                                       importID => 12,
                                       dateCreated => $today,
                                       NameAliases => [ {name => "jb2002",
                                                         contactName => "Gregor Mendel"}
                                                      ],
                                       Contact => {name => "J.P. Morgan, II",
                                                   comment => "Referring physican"},
                                       DBXReferences => [ {accessionNumber => "abc123",
                                                           databaseName => "Clinical Land",
                                                           schemaName => "Master",
                                                           comment => "Internal Clinical DB"}
                                                        ],
                                       Keywords => [ {name => "Study Population",
                                                      dataType => "String",
                                                      description => "Internal study identifier.",
                                                      value => "Test"},
                                                     {name => "Foo",
                                                      dataType => "String",
                                                      description => "Crap",
                                                      value => "Bar"},
                                                     {name => "Test Data",
                                                      dataType => "Boolean",
                                                      value => 1},
                                                   ],
                                       gender => "Male",
                                       dateOfBirth => "1937-08-18",
                                       dateOfDeath => "1997-02-15",
                                       isProband => 1,
                                       Mother => {name => "JXPed1-2", importID => 32},
                                       Father => {name => "JXPed1-3", importID => 22},
                                       Kindred => {name => "JXPed1", importID => 264},
                                       Organism => {genusSpecies => "Homo sapiens"},
                                      ) ;

See the GenPerl Tutorial for more information.

# DESCRIPTION

Subject objects represent the individuals in genetic studies.

# 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

     Genetics::Object       Superclass
     strict                 Just to be anal
     vars                   Global variables

# Public methods

## hasParents

      Function  : Find out if a Subject has parents.
      Argument  : N/A
      Returns   : 1 if a Subject has both a Mother and Father, 0 otherwise.
      Scope     : Public
      Comments  : Only checks for references in the Mother and Father fields;
                  does not check whether or not these references point to valid
                  Subjects.

## getMotherName

      Function  : Get a Subject's Mother's name.
      Argument  : N/A
      Returns   : String
      Scope     : Public
      Comments  :

## getFatherName

      Function  : Get a Subject's Father's name.
      Argument  : N/A
      Returns   : String
      Scope     : Public
      Comments  :

## printXML

      Function  : Print an XML representation of the object.
      Argument  : A Genetics::Subject object and the XML::Writer object being used
                  to generate the XML.
      Returns   : N/A
      Scope     : Public Instance Method
      Comments  : Calls Genetics::Object->printGeneralXML to generate XML elements
                  common to all Genetics::Object objects.

## asHTML

      Function  : Generate an HTML representation of the object.
      Argument  : A Genetics::Subject object and a scalar containing the name of
                  the GenPerl database in which the object is stored.
      Returns   : Scalar containing the HTML text.
      Scope     : Public Instance Method
      Comments  : Calls Genetics::Object->_generalHTMLParam to generate HTML
                  elements common to all Genetics::Object objects.  An
                  HTML::Template object is used to actually generate the HTML.