Genetics::API
use Genetics::API ;
$api = new Genetics::API(DSN => {driver => "mysql", host => $Host, database => $Database}, user => $UserName, password => $Password) ;
$sv = $api->getObject({NAME => "Aff"}) ;
@affSubjects = $api->getSubjectsByPhenotype($sv, 2) ; $affCluster = $api->createCluster("HT Affecteds", \@affSubjects) ; $api->insertCluster($affCluster) ; @unaffSubjects = $api->getSubjectsByPhenotype($sv, 1) ; $unaffCluster = $api->createCluster("Normals", \@unaffSubjects) ; $api->insertCluster($unaffCluster) ;
$marker = $api->getObject({TYPE => "Marker", NAME => "agtT174M"}) ;
$api->chiSquareAssocTest( MARKER => $marker, SC1 => $affCluster, SC2 => $unaffCluster, ALLELETYPE => "Nucleotide", ) ;
See also the GenPerl Tutorial document.
This module provides an API for interfacing with genperl objects.
An instance of Genetics::API must be instantiated in order to interact with GenPerl objects in a database (or to access any other API methods, for that matter). The parameters passed to the Genetics::API constructor are the database connection parameters. These parameters are passed directly to DBI->connect for the creation of a database handle.
The GenPerl API functionality is separated into the following packages.
The Genetics::API package contains general API methods that do not fit anywhere else right now. This is the only package that needs to be imported into your programs.
Teh Genetics::API::DB::* packages contain methods for managing the persistance of GenPerl objects in a relational database.
The Genetics::API::Analysis package contains methods for the analysis of data contained in GenPerl objects.
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
Currently, all feedback should be sent directly to the author.
Email: mathias@genomica.com
Phone: (720) 565-4029
Address: Genomica Corporation 1745 38th Street Boulder, CO 80301
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 (_).
strict Just to be anal vars Global variables Carp Error reporting DBI Database interface Genetics::API::Insert Genetics::API::Read Genetics::API::Update Genetics::API::DB::Query ; Genetics::API::Delete Genetics::API::Analysis Analysis functions Genetics::API::Analysis::Linkage Linkage analysis functions Genetics::Object GenPerl object modules
Function : Object constructor Arguments : Class name and hash array containing initialization arguments. 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
Function : Return the DBI database handle associated with an instance of Genetics::API. Arguments : Genetics::API instance. Returns : DBI database handle object. Scope : Public Called by : Main Comments :
Function : Generate a date string, corresponding to the current date-time, suitable for the dateCreated created field. Arguments : N/A Returns : String Example : today() Scope : Public class method Comments : The format of the date string generated is YYYY-MM-DD
Function : Return the object type corresponding to a database ID. Arguments : A database id. Returns : 1 on success or undef if an object witht he input id was not successfully deleted. Scope : Public Comments : Only objects saved in a GenPerl database should have an id.
Function : Return the ImportID associated with an object. Arguments : A Genetics::Object object. Returns : Scalar containing the ImportID associated with the object, or undef if one does not exist. Scope : Public Comments : ImportIDs are stored as Keywords with keywordTypeID 1. ImportID Keywords are created automatically (by _saveObjectData()) when a new object is created.
Function : For a given object type, return the list of distinct KeywordType names for which there are corresponding Keyword values in the database. Arguments : Scalar containing an object type. Returns : Array of scalar text strings. Scope : Public Comments :
Function : Create a Genetics::Object::Cluster Arguments : A string containing a name for the Cluster and an array reference to a list of Genetics::Object objects. Returns : A Genetics::Object::Cluster object. Scope : Public Comments : This method only creates a Cluster; it does not save it.
Function : Write a list of objects out in well-formed GnomML XML format. Argument : Array reference to a list of Genetics::Object objects. Returns : N/A Scope : Public Called by :
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.
Function : Initialize object Arguments : Hash array of attributes/values passed to new Returns : N/A Scope : Private Called by : Comments :
Function : Return an Object ID based on an ImportID Keyword. Arguments : Scalar containing an ImportID. Returns : Scalar containing an Object ID or undef if one does not exist. Scope : Private Comments : ImportID Keywords are created by _saveObjectData().
Function : Return an Organism ID. Arguments : Hash reference to a hash containing Organism data. Returns : Scalar containing an Organism ID. Scope : Private Called by : saveSubject(), saveMarker(), saveSNP, saveMap(), updateSubject(), updateMarker(), updateSNP, updateMap(). Comments : A new Organism is created if one matching the data in %$orgPtr does not exist.