Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

65 lines (57 sloc) 1.88 KB
# Copyright 2004 by Harry Zuzan. All rights reserved.
# This code is part of the Biopython distribution and governed by its
# license. Please see the LICENSE file that should have been included
# as part of this package.
Classes for accessing the information in Affymetrix cel files.
read Read a cel file and store its contents in a Record
Record Contains the information from a cel file
import numpy
class Record(object):
Stores the information in a cel file
def __init__(self):
self.intensities = None
self.stdevs = None
self.npix = None
self.nrows = None
self.ncols = None
def read(handle):
Read the information in a cel file, and store it in a Record.
# Needs error handling.
# Needs to know the chip design.
record = Record()
section = ""
for line in handle:
if not line.strip():
if line[:8]=="[HEADER]":
section = "HEADER"
elif line[:11]=="[INTENSITY]":
section = "INTENSITY"
record.intensities = numpy.zeros((record.nrows, record.ncols))
record.stdevs = numpy.zeros((record.nrows, record.ncols))
record.npix = numpy.zeros((record.nrows, record.ncols), int)
elif line[0]=="[":
section = ""
elif section=="HEADER":
keyword, value = line.split("=", 1)
if keyword=="Cols":
record.ncols = int(value)
elif keyword=="Rows":
record.nrows = int(value)
elif section=="INTENSITY":
if "=" in line:
words = line.split()
y, x = map(int, words[:2])
record.intensities[x,y] = float(words[2])
record.stdevs[x,y] = float(words[3])
record.npix[x,y] = int(words[4])
return record
Jump to Line
Something went wrong with that request. Please try again.