diff cluster.tools/normalize.matrix.R @ 1:dddfeedb85af draft

Uploaded
author peter-waltman
date Fri, 01 Mar 2013 10:16:53 -0500
parents 0decf3fd54bc
children
line wrap: on
line diff
--- a/cluster.tools/normalize.matrix.R	Thu Feb 28 01:45:39 2013 -0500
+++ b/cluster.tools/normalize.matrix.R	Fri Mar 01 10:16:53 2013 -0500
@@ -19,6 +19,15 @@
   q();
 }
 
+## some helper fn's
+write.2.tab <- function( mat,
+                         fname ) {
+  mat <- rbind( colnames( mat ), mat )
+  mat <- cbind( c( "ID", rownames( mat )[-1] ),
+                      mat )
+  write.table( mat, fname, sep="\t", row.names=FALSE, col.names=FALSE, quote=FALSE )
+}
+
 lib.load.quiet <- function( package ) {
    package <- as.character(substitute(package))
    suppressPackageStartupMessages( do.call( "library", list( package=package ) ) )
@@ -56,7 +65,6 @@
 if ( is.null( opt$var.adj.cols ) ) { opt$var.adj.cols <- 'none' }
 
 data <- as.matrix( read.delim( opt$data.fname, header=T, row.names=1 , check.names=FALSE ) )
-
 my.center <- rep( 0, nrow( data ) )
 my.var.adj <- rep( 1, nrow( data ) )
 if ( opt$center.rows != "none" ) {
@@ -70,8 +78,8 @@
 }
 data <- t( scale( t( data ), center=my.center, scale=my.var.adj ) )
 
-my.center <- rep( 0, nrow( data ) )
-my.var.adj <- rep( 1, nrow( data ) )
+my.center <- rep( 0, ncol( data ) )
+my.var.adj <- rep( 1, ncol( data ) )
 if ( opt$center.cols != "none" ) {
   my.center.fn <- get( opt$center.cols )
   ##data <- sweep( data, 2, apply( data, 2, my.center.fn, na.rm=T ) )
@@ -84,5 +92,5 @@
 }
 data <- scale( data, center=my.center, scale=my.var.adj )
 
-write.table( data, opt$output.fname, sep="\t", quote=FALSE, col.names=NA )
+write.2.tab( data, opt$output.fname )