A method for determining a matrix of expression levels corresponding to a set
of
biological targets (e.g., genes or gene fragments) and a set of biological samples,
including obtaining a matrix of signal values corresponding to the set of biological
targets; computing a vector of expression levels for a sample in the set of biological
samples using the matrix of signal values; storing the vector of computed expression
levels in a storage matrix; repeating the computing and storing steps for each
sample in the set of biological samples; and outputting the storage matrix as the
matrix of expression levels. The method, based on a linear programming formulation
of the problem, works for both "promiscuous" probe array data, in which there may
be multiple targets indicated by a single probe, and the "polygamous" case, in
which there are multiple probes for a single target. The preferred method can also
process data obtained from multiple SAGE analyses using multiple markers. A second
embodiment of the method determines optimal expression levels when the available
probe data is noisy or uncertain.