Problem using quantilenorm() with DataMatrix objects

Hi Everyone,
I am trying to perform quantile normalization on some microarray data (I've imported the data as a DataMatrix object), but I'm getting an error. The following is my code:
%%Import all Bioinformatics Toolbox Functions and Constructors
import bioma.data.*
import bioma.util.*
%%Open Excel with Microarray Data
% Creates a DataMatrix object
DM = DataMatrix('File','IntensityOnly_NN_Ordered.xls');
%%Quantile Normalization
NormDM = quantilenorm(DM);
But I get this error:
??? Undefined function or method 'sort' for input arguments of type 'bioma.data.DataMatrix'.
Error in ==> quantilenorm at 86
[sortedVals,ndx(:,col)] = sort(values(:,col));
Error in ==> NormalizeAndFilter at 17
NormDM = quantilenorm(DM);
I am using Matlab R2011a with the latest Bioinformatics Toolbox on a Windows 7 64-bit computer.
I would appreciate any thoughts on this.
Many thanks, David

Answers (1)

You can't use the MATLAB sort function on those DataMatrix, at least not directly, see this functions
sortcols %sort the columns of the DataMatrix
sortrows %sort the rows of the DataMatrix
double %convert the DataMatrix to one MATLAB Array and you can use the sort function

Asked:

on 24 Apr 2011

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!