<?xml version='1.0' encoding='utf-8' ?>
<!--  If you are running a bot please visit this policy page outlining rules you must respect. http://www.livejournal.com/bots/  -->
<rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/' xmlns:media='http://search.yahoo.com/mrss/' xmlns:atom10='http://www.w3.org/2005/Atom'>
<channel>
  <title>arraysearch</title>
  <link>http://arraysearch.livejournal.com/</link>
  <description>arraysearch - LiveJournal.com</description>
  <lastBuildDate>Sat, 26 Dec 2009 03:31:26 GMT</lastBuildDate>
  <generator>LiveJournal / LiveJournal.com</generator>
  <lj:journal>arraysearch</lj:journal>
  <lj:journalid>20473768</lj:journalid>
  <lj:journaltype>personal</lj:journaltype>
  <atom10:link rel='hub' href='http://pubsubhubbub.appspot.com/' />
  <image>
    <url>http://l-userpic.livejournal.com/89622436/20473768</url>
    <title>arraysearch</title>
    <link>http://arraysearch.livejournal.com/</link>
    <width>100</width>
    <height>74</height>
  </image>

<item>
  <guid isPermaLink='true'>http://arraysearch.livejournal.com/8779.html</guid>
  <pubDate>Sat, 26 Dec 2009 03:31:26 GMT</pubDate>
  <title>ARACNE results</title>
  <link>http://arraysearch.livejournal.com/8779.html</link>
  <description>This is the gene regulatory network ARACNE inferred from the top most 50 expressive genes (as measured by their L2 norms across the sample space):&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://zanshin3d.net/dungeon/blog/12_25_2009/top50_circle.png&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://zanshin3d.net/dungeon/blog/12_25_2009/top50_circle.png&quot; width=&quot;500&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Click for larger image&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Gene 25127_at appears to be a major regulatory gene, so I will check and see what else is known about it.  &lt;br /&gt;&lt;br /&gt;I also have generated network adjacency matrices for the top 200 and the top 1000 genes as ranked by their respective L2 values, but the network graphs are pretty unwieldy to work with.  This graph was generated using Cytoscape - which is a very cool program with a lot of plug-ins, and I am still working my way around it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;More ARACNE results to be forthcoming.  The program also comes with Matlab scripts to estimate optimal parameters for a given dataset, and I will run these the next time.</description>
  <comments>http://arraysearch.livejournal.com/8779.html</comments>
  <lj:mood>contemplative</lj:mood>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://arraysearch.livejournal.com/8673.html</guid>
  <pubDate>Wed, 23 Dec 2009 23:17:24 GMT</pubDate>
  <title>ARACNE</title>
  <link>http://arraysearch.livejournal.com/8673.html</link>
  <description>Deleted gene 245127_at (line 3640) from the dataset.  ARACNE cannot run if there are missing values.  And for some reason across more than half the experimental samples, no expression values exist for this gene.  Weird.</description>
  <comments>http://arraysearch.livejournal.com/8673.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://arraysearch.livejournal.com/8214.html</guid>
  <pubDate>Wed, 23 Dec 2009 10:17:25 GMT</pubDate>
  <title>Filtering issues of the atgenexpress dataset</title>
  <link>http://arraysearch.livejournal.com/8214.html</link>
  <description>Because the atgenexpress dataset is so huge, I have been trying to filter out genes which are not expressed across any of the samples.  To this end, I have made use of the mas5calls function in the affy library of R which you get when you install the Bioconductor package.  This function performs the Wilcoxon signed rank-based gene expression presence/absence detection algorithm on the microarray data.  So in addition to ending up with an Excel file containing gene expression data (the rows are the genes and the columns are the experimental samples), you end up with another Excel spreadsheet of the same size, where in place of each expression value, there is now either the letter P, M, or A.  P = present, M= marginal, A = absent (indicating whether the gene was detected or not in the microarray).&lt;br /&gt;&lt;br /&gt;My first thought was to use this as a way to filter out genes.  By summing the Ps, Ms, and As along each row (gene), I formed the ratio:  R = P/(P+M+A).  Then sorting the genes from largest to smallest by this value would give me the genes which were detected the most frequently.  Genes which have R = 0 I am obviously not interested, so I deleted these from consideration.&lt;br /&gt;&lt;br /&gt;There are other factors to consider though.  For one, a gene which is highly expressed in one or two samples and could play an important role in the the genetic response of Arabidobsis to a stimulus could be important as well - but have a low R value.   If I just filter by R-value, I am only catching those genes which are highly expressed across all experiments.   I need to consider the standard deviation of each gene.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I am also interested in the L2 norm value of each gene.  Viewing each gene as a vector containing expression values for each sample, I calculate the L2 norm.  This is also a way to rank genes.&lt;br /&gt;&lt;br /&gt;So there are in fact three ways to rank genes in terms of importance (by L2 norms, standard deviations, and their R values).  I am working on a way to link them together into one metric.  Below are scatterplots of the various interactions.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://zanshin3d.net/dungeon/blog/12_23_2009/r_vs_l2.png&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://zanshin3d.net/dungeon/blog/12_23_2009/r_vs_l2.png&quot; width=&quot;500&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Click for larger image&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Conclusions:&lt;/b&gt;  &lt;br /&gt;&lt;br /&gt;The linear relationship which appears to exist between the L2 norm and R was kind of unexpected.  The mean of all the L2 norms for the genes is 208.5677, and so the concentration of genes near the lower left-end of this graph also share low R values.   Higher R values also appears to suggest higher L2 values.&lt;br /&gt;There are a few genes which have L2 values above the mean and R values below 0.1 (suggesting genes expressed highly for a small number of samples), but only a very small number.  In fact I think I could be safe in deleting all genes with an R value less than 0.5.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://zanshin3d.net/dungeon/blog/12_23_2009/r_vs_std.png&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://zanshin3d.net/dungeon/blog/12_23_2009/r_vs_std.png&quot; width=&quot;500&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Click for larger image&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Conclusions:&lt;/b&gt;  &lt;br /&gt;&lt;br /&gt;The mean of all standard deviations is:  1.1074, and this plot seems to bear that out.  What is interesting about this one is its similarity to the previous plot.  There appear to be two large groupings of genes in the dataset.  Ones with high R values and ones with very low R values, and a few genes randomly dispersed between these two groups.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://zanshin3d.net/dungeon/blog/12_23_2009/std_vs_l2.png&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://zanshin3d.net/dungeon/blog/12_23_2009/std_vs_l2.png&quot; width=&quot;500&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Click for larger image&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Conclusions:&lt;/b&gt;  &lt;br /&gt;&lt;br /&gt;This is the most interesting plot.  As I mentioned previously, the mean of the standard deviaitons is 1.1074, and the mean of the L2 norms is 208.5677.  There appears to be a large clustering of genes which are highly expressed across a few experiments and have a standard deviation which falls below the mean for all genes.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Below are the histograms for the three metrics I have looked at:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://zanshin3d.net/dungeon/blog/12_23_2009/r_histogram.png&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://zanshin3d.net/dungeon/blog/12_23_2009/r_histogram.png&quot; width=&quot;500&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Click for larger image&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://zanshin3d.net/dungeon/blog/12_23_2009/l2_histogram.png&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://zanshin3d.net/dungeon/blog/12_23_2009/l2_histogram.png&quot; width=&quot;500&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Click for larger image&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://zanshin3d.net/dungeon/blog/12_23_2009/sigma_histogram.png&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://zanshin3d.net/dungeon/blog/12_23_2009/sigma_histogram.png&quot; width=&quot;500&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Click for larger image&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Future Course of Action:&lt;/b&gt;  I will be posting the results of running ARACNE shortly (within a day or so).</description>
  <comments>http://arraysearch.livejournal.com/8214.html</comments>
  <lj:mood>contemplative</lj:mood>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://arraysearch.livejournal.com/8021.html</guid>
  <pubDate>Thu, 17 Dec 2009 16:09:42 GMT</pubDate>
  <title>Preliminary results from atgenexpress dataset</title>
  <link>http://arraysearch.livejournal.com/8021.html</link>
  <description>&lt;a href=&quot;http://zanshin3d.net/dungeon/blog/12_17_2009/covariancePlot.png&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://zanshin3d.net/dungeon/blog/12_17_2009/covariancePlot.png&quot; width=&quot;500&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Click for larger image&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://zanshin3d.net/dungeon/blog/12_17_2009/covariancePlot500.png&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://zanshin3d.net/dungeon/blog/12_17_2009/covariancePlot500.png&quot; width=&quot;500&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Click for larger image&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://zanshin3d.net/dungeon/blog/12_17_2009/top500Genes.xls&quot;&gt;Link to spreadsheet of top 500 most active genes across the sample space (as determined by the l2 norm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And here are graphical plots of  the heatmaps for the metagenes obtained through the NMF algorithm.  I will post a list of genes for each metagene when I am finished finding the optimal dimension for NMF for this dataset.  k=50 worked well for the previous dataset, but there are many more samples in this set and there appears to be a lot of overlap between genes for that value.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://zanshin3d.net/dungeon/blog/12_17_2009/w_heatmap.png&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://zanshin3d.net/dungeon/blog/12_17_2009/w_heatmap.png&quot; width=&quot;500&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Click for larger image&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://zanshin3d.net/dungeon/blog/12_17_2009/wf_heatmap.png&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://zanshin3d.net/dungeon/blog/12_17_2009/wf_heatmap.png&quot; width=&quot;500&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Click for larger image</description>
  <comments>http://arraysearch.livejournal.com/8021.html</comments>
  <lj:mood>contemplative</lj:mood>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://arraysearch.livejournal.com/7634.html</guid>
  <pubDate>Mon, 05 Oct 2009 09:02:33 GMT</pubDate>
  <title>Arraysearch bugs which need to be fixed</title>
  <link>http://arraysearch.livejournal.com/7634.html</link>
  <description>&lt;ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;  A user should be able to enter a list of genes in the first search box, and the results displayed should be the same as when they search by gene id and fold value, except that in place of the Pearson coefficient, the p-value should be displayed.  Also - the search results should be sorted by p-value.&lt;br /&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;&lt;b&gt;Status:&lt;/b&gt;  Solved this weekend.  I created an approximation  of the incomplete irregularized beta function (which you can then use to calculate the p-value for the t-distribution given the degrees of freedom of the data set).  I used the approximation found in &lt;a href=&quot;http://www.nrbook.com/a/bookcpdf/c6-4.pdf&quot;&gt;Numerical Recipes in C (1992)&lt;/a&gt;.&lt;br /&gt;Additionally,  this approximation also uses another approximation (that of the natural log of the gamma function), and I used a modified version of the famous Sterling approximation to solve this &lt;a href=&quot;http://www.rskey.org/gamma.htm&quot;&gt;(based on a suggestion by Robert H. Windschitl suggested it in 2002 as a formula convenient for inputting into programmable calculators because it was fast and did not consume a lot of memory.  Scroll down to the bottom for his formula).&lt;/a&gt;  I tested some of the results against the t-test in R and the results seemed ok.  I would like to do a more advanced plot of errors on data with different degrees of freedom, however.&lt;br /&gt;&lt;br /&gt;&lt;li&gt;   The default search for the first box (genes + fold values) - should input the fold values in log2. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;  Search by Gene Title (the third search) takes a really long time to filter search results and display an answer.  I need to figure out what is up with that.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;  Related to this - find a way to speed up all SQL queries in general (if there is a way)&lt;br /&gt;&lt;br /&gt;&lt;li&gt;  Fix the heatmap - by overlaying the heatmap with a clickable image map.  &lt;br /&gt;&lt;br /&gt;&lt;li&gt;  Based upon the size of the result set - the site should return either a heatmap or a bargraph.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Status:&lt;/b&gt;  This has been partially solved.  For moderately large results sets - a heatmap will be returned.  Unfortunately - for really large results sets (like 100 genes or so) - this will kill the webserver and the script will time out.    It would be nice to have a zoomable heatmap - but I&apos;m not sure how easy it will be to implement given the constraints of the hardware we are currently running the site on.  And of course - if you get more than two people hitting the site at the same time and trying to generate their own heatmap, it will totally die.  I might be able to implement this functionality in PHP and then put it on the site if we ever go to a fully dedicated server.  From my Googling searches, I do not believe it has ever been done before in PHP (and maybe there is a good reason for that).     What we need is really fast image generating code (perhaps in Python?) which I can run on the server, and then use PHP to deliver the images client-side.  Pretty sure downtown hosting will not let me run my own C-code to generate images on their server (even if we have a dedicated server).  But they do have python installed.&lt;br /&gt;&lt;br /&gt;&lt;/ol&gt;</description>
  <comments>http://arraysearch.livejournal.com/7634.html</comments>
  <lj:mood>contemplative</lj:mood>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://arraysearch.livejournal.com/7273.html</guid>
  <pubDate>Fri, 11 Sep 2009 00:24:17 GMT</pubDate>
  <title>Updates for September 9, 2009</title>
  <link>http://arraysearch.livejournal.com/7273.html</link>
  <description>I have been going over the PHP code for the website and cleaning it up.  The sections of code for pChart which I hacked to create the heatmap and bargraph plots are really ugly, and I will have to tackle them next.  Anyway - Dr. Ge gave me a to-do list of things to finish as soon as possible.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;  Instead of &apos;Searching by Gene Fold Value&apos;, the title for this search should be &apos;Search for Similar Expression Profiles&apos;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;  Widen the text area for the searches (especially the first one)&lt;br /&gt;&lt;br /&gt;&lt;li&gt;  Input list of genes and fold values in log2 scale&lt;br /&gt;&lt;br /&gt;&lt;li&gt;  Display graphical as well as textual results in this first search (ie. show a heatmap/bargraph)&lt;br /&gt;&lt;br /&gt;&lt;li&gt;  Currently we are sorting by maximum positive Pearson coefficient.  Should also return correlations whith high negative correlations.&lt;br /&gt;&lt;br /&gt;&lt;li&gt;  The query can could also be just a list of genes.  Use t-test to return significant contrasts.  &lt;br /&gt;&lt;br /&gt;&lt;li&gt;  Dynamically switch between bargraph and heatmap.  &lt;br /&gt;&lt;br /&gt;&lt;li&gt; search_ontology.php :  This page looks messed up in IE even though it looks great in Firefox.  Find out why.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ol&gt; &lt;br /&gt;&lt;br /&gt;Additionally, I am thinking strongly about moving this journal over to wikidot (the support for latex code being a prime motivating factor).  &lt;br /&gt;Note to self:  Set up office hours as soon as possible.</description>
  <comments>http://arraysearch.livejournal.com/7273.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://arraysearch.livejournal.com/684.html</guid>
  <pubDate>Fri, 05 Jun 2009 07:13:49 GMT</pubDate>
  <title>LJ Developer Blog created</title>
  <link>http://arraysearch.livejournal.com/684.html</link>
  <description>This is the new development blog for the Arraysearch research project at South Dakota State University.&amp;nbsp;&amp;nbsp; Primarily I intend to use this site to document bugs in the source code for the arraysearch website, as well as discuss where I am currently in developing new functions and algorithms.&lt;br /&gt;&lt;br /&gt;Yesterday:&amp;nbsp; I changed the DNS nameservers at GoDaddy so that now they point to Downtown Hosting.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.arraysearch.org&quot;&gt;http://www.arraysearch.org&lt;/a&gt; now redirects to &lt;a href=&quot;http://zanshin3d.net/arraysearch/arraysearch.php&quot;&gt;http://zanshin3d.net/arraysearch/arraysearch.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Currently working on this function:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;function getExpressionMatrix($db,$query){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $expressions = array();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $contrasts = array();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $dtls = ExecuteQuery($db,$query);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $getColumns = &quot;SHOW columns FROM tbl_signature&quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $cNames = ExecuteQuery($db,$getColumns);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $i=0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while($row = mysql_fetch_array($cNames,MYSQL_BOTH)){&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; $contrasts[$i]=$row[0];&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; $i++;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }//end while&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; $numCols = count($contrasts);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $rowNum = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while($row = mysql_fetch_array($dtls,MYSQL_ASSOC)){&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for($colNum = 1;$colNum&amp;lt;count($contrasts);$colNum++){&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $expressions[$rowNum][$colNum]=$row[$contrasts[$colNum]];&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $rowNum++;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $numRows = $rowNum;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return array($expressions,$numRows,$numCols);&lt;br /&gt;}&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The matrix returned from this function is sometime HUGE - and I need to limit it&apos;s potential size - while allowing the user to navigate through the data quickly and easily.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description>
  <comments>http://arraysearch.livejournal.com/684.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
</channel>
</rss>
