<?xml version="1.0" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>NAME</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rev="made" href="mailto:root@localhost" />
</head>

<body style="background-color: white">


<!-- INDEX BEGIN -->
<div name="index">
<p><a name="__index__"></a></p>

<ul>

        <li><a href="#name">NAME</a></li>
        <li><a href="#synopsis">SYNOPSIS</a></li>
        <li><a href="#description">DESCRIPTION</a></li>
        <li><a href="#methods">METHODS</a></li>
        <li><a href="#unmapped_methods">UNMAPPED METHODS</a></li>
        <li><a href="#authors">AUTHORS</a></li>
        <li><a href="#contact">CONTACT</a></li>
        <li><a href="#copyright_and_license">COPYRIGHT AND LICENSE</a></li>
</ul>

<hr name="index" />
</div>
<!-- INDEX END -->

<p>
</p>
<h1><a name="name">NAME</a></h1>
<p>Biolib::affyio -</p>
<p>
</p>
<hr />
<h1><a name="synopsis">SYNOPSIS</a></h1>
<p>
</p>
<hr />
<h1><a name="description">DESCRIPTION</a></h1>
<p>BIOLIB 'C' interface to affyio - for linking against the Bio* languages</p>
<p>These functions provide access to Affymetrix probe values (CEL files) and the location description of each probe on the trip (CDF files). The underlying library parsing these files is Affyio by Ben Bolstad. The same that is used in R/Bioconductor.</p>
<p>De pseudo-code for reading all PM's in a file is:</p>
<pre>
   cel = open_cel('celfile')
   cdf = open_cdf('cdffile')
   for probeset=0 ; probeset &lt; cdf_num_probesets(cdf) do
     info = cdf_probeset_info(cdf,probeset)
     for probe=0; probe &lt; info.probes ; do
       print cel_pm(cel,cdf,probeset,probe)</pre>
<pre>
    Author: Pjotr Prins 2008</pre>
<p>See the BioLib API or biolib_affyio.c for method descriptions. Some implementation info is available in ./src/clibs/affyio-ver/README_BIOLIB.</p>
<pre>
   See also: open_celfile</pre>
<p>open_cdffile</p>
<pre>
    use Biolib::affyio qw /:all/;</pre>
<p>
</p>
<hr />
<h1><a name="methods">METHODS</a></h1>
<p>The following functions are available for this module:</p>
<dl>
<dt><strong><a name="open_celfile" class="item"><strong> open_celfile($celfilename) </strong></a></strong></dt>

<dd>
<p>Open a cel file using the Affyio library and return a pointer to a CELOBJECT, which maintains state keeping track of the opened CEL data. The full array data gets stored in memory - including stddev, npixels, masks and outliers.</p>
<p>Use the direct celfile_methods instead, for more effecient memory usage.</p>
<pre>
    Parameters:</pre>
<pre>
     celfilename:</pre>
<pre>
       points to a valid Affy CEL file (or .gz edition)</pre>
<pre>
   Returns: pointer to CELOBJECT</pre>
<pre>
   See also: close_celfile</pre>
<p>cel_intensities</p>
<p>cel_stddev</p>
<p>celfile_intensities</p>
<p>open_cdffile</p>
</dd>
<dt><strong><a name="close_celfile" class="item"><strong> close_celfile($object) </strong></a></strong></dt>

<dd>
<p>Close a CELOBJECT opened with open_celfile and frees up RAM</p>
<pre>
    Parameters:</pre>
<pre>
     object:</pre>
</dd>
<dt><strong><a name="cel_num_cols" class="item"><strong> cel_num_cols($object) </strong></a></strong></dt>

<dd>
<p>Returns: number of columns on the chip</p>
</dd>
<dt><strong><a name="cel_num_rows" class="item"><strong> cel_num_rows($object) </strong></a></strong></dt>

<dd>
<p>Returns: number of rows on the chip</p>
</dd>
<dt><strong><a name="cel_num_masks" class="item"><strong> cel_num_masks($object) </strong></a></strong></dt>

<dd>
<p>Returns: number of masked probes</p>
</dd>
<dt><strong><a name="cel_num_outliers" class="item"><strong> cel_num_outliers($object) </strong></a></strong></dt>

<dd>
<p>Returns: number of outliers</p>
</dd>
<dt><strong><a name="cel_size" class="item"><strong> cel_size($object) </strong></a></strong></dt>

<dd>
<p>Returns: number of cells (probes) - [INTENSITY]-&gt;NumberCells (rows*cols)</p>
</dd>
<dt><strong><a name="cel_num_intensities" class="item"><strong> cel_num_intensities($object) </strong></a></strong></dt>

<dd>
<p>Returns: number of intensities (probes)</p>
</dd>
<dt><strong><a name="cel_intensity" class="item"><strong> cel_intensity($object,$index) </strong></a></strong></dt>

<dd>
<p>index of cel/probe 
   Returns: an intensity value</p>
<pre>
   See also: cel_pm</pre>
</dd>
<dt><strong><a name="cel_intensity_xy" class="item"><strong> cel_intensity_xy($object,$x,$y) </strong></a></strong></dt>

<dd>
<p>x pos on chip  y pos on chip 
   Returns: an intensity value</p>
<pre>
   See also: cel_pm</pre>
</dd>
<dt><strong><a name="cel_intensities" class="item"><strong> cel_intensities($object) </strong></a></strong></dt>

<dd>
<p>Returns: a double array to the cel/probe intensities</p>
<pre>
   See also: cel_pm</pre>
</dd>
<dt><strong><a name="cel_stddev" class="item"><strong> cel_stddev($object,$index) </strong></a></strong></dt>

<dd>
<p>Returns: the stddev for the cel/probe</p>
</dd>
<dt><strong><a name="cel_stddevs" class="item"><strong> cel_stddevs($object) </strong></a></strong></dt>

<dd>
<p>Returns: a double array to the stddev</p>
</dd>
<dt><strong><a name="cel_mask" class="item"><strong> cel_mask($object,$index) </strong></a></strong></dt>

<dd>
<p>Parameters:</p>
<pre>
     index:</pre>
<pre>
       is the nth item in the mask list</pre>
<pre>
   Returns: the cel/probe mask index</pre>
<pre>
   See also: cel_num_masks</pre>
</dd>
<dt><strong><a name="cel_outlier" class="item"><strong> cel_outlier($object,$index) </strong></a></strong></dt>

<dd>
<p>Parameters:</p>
<pre>
     index:</pre>
<pre>
       is the nth item in the outlier list</pre>
<pre>
   Returns: the outlier cel/probe index</pre>
<pre>
   See also: cel_num_outliers</pre>
</dd>
<dt><strong><a name="open_cdffile" class="item"><strong> open_cdffile($cdffilename) </strong></a></strong></dt>

<dd>
<p>Open a cdf file using the Affyio library and return a pointer to a CDFOBJECT, which maintains state keeping track of the opened CDF data. Unlike the Affyio internal representation the Biolib affyio CDF methods represent a unified layout for Affymetrix chips. Basically every probeset can return the name, probe values (PM, MM) and QC. Loading all other information is trivial, as Affyio makes it available - but not implemented here, at this point.</p>
<pre>
   Note: FIXME: XDA format not tested</pre>
<pre>
    Parameters:</pre>
<pre>
     cdffilename:</pre>
<pre>
       points to a valid Affy CDF file (textual or XDA binary)</pre>
<pre>
   Returns: pointer to CDFOBJECT</pre>
<pre>
   See also: close_cdffile</pre>
</dd>
<dt><strong><a name="close_cdffile" class="item"><strong> close_cdffile($cdfobject) </strong></a></strong></dt>

<dd>
<p>...</p>
</dd>
<dt><strong><a name="cdf_num_probesets" class="item"><strong> cdf_num_probesets($cdfobject) </strong></a></strong></dt>

<dd>
<p>Returns: number of probesets (units*blocks) including QC units</p>
</dd>
<dt><strong><a name="cdf_probeset_info" class="item"><strong> cdf_probeset_info($cdfobject,$probeset) </strong></a></strong></dt>

<dd>
<p>Returns: CDFPROBESET related to probeset number</p>
</dd>
<dt><strong><a name="cdf_pmprobe_info" class="item"><strong> cdf_pmprobe_info($cdfobject,$probeset,$probe) </strong></a></strong></dt>

<dd>
<p>Returns: CDFPROBE related to probe in probeset</p>
</dd>
<dt><strong><a name="cdf_mmprobe_info" class="item"><strong> cdf_mmprobe_info($cdfobject,$probeset,$probe) </strong></a></strong></dt>

<dd>
<p>Returns: CDFPROBE related to probe in probeset</p>
</dd>
<dt><strong><a name="cel_pm" class="item"><strong> cel_pm($celobject,$cdfobject,$probeset,$probe) </strong></a></strong></dt>

<dd>
<p>Note: FIXME: in progress...</p>
<pre>
   Returns: PM value (perfect match) of the probe number in probeset; -1 on error</pre>
</dd>
<dt><strong><a name="cel_mm" class="item"><strong> cel_mm($celobject,$cdfobject,$probeset,$probe) </strong></a></strong></dt>

<dd>
<p>Returns: MM value (mismatch) of the probe number in probeset; -1 on error</p>
</dd>
</dl>
<p>The following functions are available for this module, but have no 
description:</p>
<dl>
<dt><strong><a name="dealloc_cdf_xda" class="item"><strong> dealloc_cdf_xda($my_cdf) </strong></a></strong></dt>

<dt><strong><a name="read_cdf_xda" class="item"><strong> read_cdf_xda($filename,$my_cdf) </strong></a></strong></dt>

<dt><strong><a name="istextcdffile" class="item"><strong> isTextCDFFile($filename) </strong></a></strong></dt>

<dt><strong><a name="read_cdf_text" class="item"><strong> read_cdf_text($filename,$mycdf) </strong></a></strong></dt>

<dt><strong><a name="dealloc_cdf_text" class="item"><strong> dealloc_cdf_text($my_cdf) </strong></a></strong></dt>

<dt><strong><a name="read_cel_file" class="item"><strong> read_cel_file($filename,$read_intensities_only) </strong></a></strong></dt>

</dl>
<p>
</p>
<hr />
<h1><a name="unmapped_methods">UNMAPPED METHODS</a></h1>
<p>The following functions have not (yet) been mapped to Perl:</p>
<dl>
<dt><strong><a name="cdf_alloc_probesets" class="item"><strong> cdf_alloc_probesets(...) </strong></a></strong></dt>

<dd>
<p>...
(Note: this method is not available from Perl)</p>
</dd>
<dt><strong><a name="cdf_calc_text_probe_refs" class="item"><strong> cdf_calc_text_probe_refs(...) </strong></a></strong></dt>

<dd>
<p>...
(Note: this method is not available from Perl)</p>
</dd>
</dl>
<p>
</p>
<hr />
<h1><a name="authors">AUTHORS</a></h1>
<p>The original code ...</p>
<p>
</p>
<hr />
<h1><a name="contact">CONTACT</a></h1>
<p>For more information on the Perl mapping of this module, please 
subscribe to the Biolib mailing list and post the questions there. See
<a href="http://biolib.open-bio.org/">http://biolib.open-bio.org/</a>.</p>
<p>
</p>
<hr />
<h1><a name="copyright_and_license">COPYRIGHT AND LICENSE</a></h1>
<p>Copyright (C) (...)</p>
<p>This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.</p>
<p>POD generated by swig2doc 0.03 (March 2010) Copyright (C) 2010 Pjotr Prins &lt;<a href="mailto:pjotr.prins@thebird.nl">pjotr.prins@thebird.nl</a>&gt;</p>

</body>

</html>