getBinsOfFluxes

PURPOSE ^

take a samp.points fluxes and bin them by numfluxes (remainder not used)

SYNOPSIS ^

function [output] = getBinsOfFluxes(samp,numfluxes,numbins)

DESCRIPTION ^

 take a samp.points fluxes and bin them by numfluxes (remainder not used)
     or divide up in to bins of fluxes by numbins (remainder not used)
  sample each bin of fluxes and compare the differences between them.

 Wing Choi 3/7/08

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function [output] = getBinsOfFluxes(samp,numfluxes,numbins)
0002 
0003 % take a samp.points fluxes and bin them by numfluxes (remainder not used)
0004 %     or divide up in to bins of fluxes by numbins (remainder not used)
0005 %  sample each bin of fluxes and compare the differences between them.
0006 %
0007 % Wing Choi 3/7/08
0008 
0009 output = 0;
0010 
0011 if (nargin < 1)
0012     disp '[output] = compareBinsOfFluxes(samp,numfluxes,numbins)'
0013     return;
0014 end
0015 
0016 if (nargin < 2)
0017     % default to numfluxes to 100
0018     numfluxes = 100;
0019     numbins = [];
0020 end
0021 
0022 if (nargin < 3)
0023     % default to numbins to empty
0024     numbins = [];
0025 end
0026 
0027 npoints = size(samp.points,2);
0028 disp (sprintf('found %d samples in input',npoints));
0029 if (npoints < 200)
0030     disp 'must have at least 200 points in sample for processing';
0031     return;
0032 end
0033 
0034 if (isempty(numfluxes))
0035     % use numbins by default here.
0036     numfluxes = 0;
0037     if (isempty(numbins))
0038         disp 'neither numfluxes and numbins params defined, setting numbins to 2';
0039         numbins = 2;        
0040     end
0041     if (numbins < 2) 
0042         disp 'numbins param invalid, setting numbins to 2';
0043         numbins = 2;
0044     end
0045 else
0046     if (numfluxes <= 0)
0047         disp 'numfluxes param invalid, using numbins = 2 instead';
0048         numfluxes = 0;
0049         numbins = 2;
0050     else
0051         % use numfluxes by default here.
0052         if (numfluxes*numbins > npoints )
0053             disp 'both numfluxes and numbins params defined, using numfluxes param by default';
0054             numbins = 0;
0055         end
0056     end    
0057 end
0058 
0059 
0060 if (numbins < 2)
0061     numbins = 2;
0062 end
0063   
0064 if (numfluxes > 0)
0065     % divide by numfluxes
0066     if (numfluxes*numbins > npoints)
0067         numbins = floor(npoints/numfluxes);
0068     end
0069     if (numbins < 2)
0070         numbins = 2;
0071         numfluxes = floor(npoints/numbins);
0072         disp (sprintf('the number of bins is less than 2 for %d numfluxes and %d points in sample',numfluxes,npoints));
0073         disp (sprintf('setting the numfluxes to %d for 2 bins total',numfluxes));
0074     end
0075 else
0076     % divide by numbins
0077     numfluxes = floor(npoints/numbins);
0078     if (numfluxes < 100)
0079         numfluxes = 100;
0080         numbins = floor(npoints/numfluxes);
0081         disp (sprintf('given %d numbins for %d points, there are less than 100 numfluxes per bin',numbins,npoints));
0082         disp (sprintf('setting the numfluxes to 100 for %d bins total',numbins));
0083     end
0084 end
0085 
0086 disp (sprintf('numfluxes: %d',numfluxes));
0087 disp (sprintf('numbins  : %d',numbins));
0088 
0089 glucose = rand(8,1);
0090 glucose = glucose/sum(glucose);
0091 %glc = idv2cdv(6)*glc;
0092 
0093 % glc 1-6 = carbon 1-6
0094 % glc 7 = carbon 1+2 (really 5 and 6)
0095 % glc 8 = unlabeled
0096 % glc 9 = fully labeled
0097 glc = zeros(64,9);
0098 glc(1+1,1) = 1;
0099 glc(2+1,2) = 1;
0100 glc(4+1,3) = 1;
0101 glc(8+1,4) = 1;
0102 glc(16+1,5) = 1;
0103 glc(32+1,6) = 1;
0104 glc(32+16+1,7) = 1;
0105 glc(0+1,8) = 1;
0106 glc(63+1,9) = 1;
0107 
0108 
0109 xGlc = zeros(64,1);
0110 for i = 1:8
0111     xGlc = xGlc + glucose(i)*glc(:,i);
0112 end
0113 
0114 xGlc = idv2cdv(6)*xGlc;
0115 
0116 samps = [];
0117 
0118 count = 1;
0119 for c = 1:numfluxes:(numfluxes*numbins)
0120     disp (sprintf('column %d',c));
0121     samps(count,1).points = samp.points(:,c:c+numfluxes-1);
0122     count = count+1;
0123 end
0124 
0125 %s = [];
0126 %s(1,1).points = samp.points(:,1:4000);
0127 %[totalz,zscore,mdvs] = compareMultSamp(xGlc,x,samps);
0128 
0129 %[totalz] = compareTwoSamp(xGlc,x,samp1,samp2,metabolite);
0130 output.samps = samps;
0131 %output.mdvs = mdvs;
0132 
0133 return
0134 end

Generated on Thu 21-Jun-2012 15:39:23 by m2html © 2003