annotate cluster.tools/cutree.R @ 2:b442996b66ae draft

Uploaded
author peter-waltman
date Wed, 27 Feb 2013 20:17:04 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
1 #!/usr/bin/env Rscript
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
2 argspec <- c("tab.2.cdt.R converts a data matrix to cdt format
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
3
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
4 Usage:
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
5 tab.2.cdt.R -d <data.file>
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
6 Optional:
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
7 -o <output_file>
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
8 \n\n")
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
9 args <- commandArgs(TRUE)
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
10 if ( length( args ) == 1 && args =="--help") {
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
11 write(argspec, stderr())
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
12 q();
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
13 }
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
14
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
15 lib.load.quiet <- function( package ) {
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
16 package <- as.character(substitute(package))
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
17 suppressPackageStartupMessages( do.call( "library", list( package=package ) ) )
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
18 }
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
19
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
20 lib.load.quiet( getopt )
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
21 lib.load.quiet( ctc )
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
22 if ( any( c( 'flashClust', 'fastcluster' ) %in% installed.packages() ) ) {
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
23 if ( 'flashClust' %in% installed.packages() ) {
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
24 lib.load.quiet( flashClust )
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
25 } else {
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
26 if ( 'fastcluster' %in% installed.packages() ) {
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
27 lib.load.quiet( fastcluster )
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
28 }
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
29 }
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
30 }
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
31
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
32 spec <- matrix( c( "dataset", "d", 1, "character",
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
33 "num.k", "k", 1, "integer",
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
34 "output.fname", "o", 2, "character"
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
35 ),
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
36 nc=4,
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
37 byrow=TRUE
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
38 )
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
39
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
40
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
41 opt <- getopt( spec=spec )
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
42 if ( is.null( opt$output.fname ) ) { opt$output.fname <- file.path( opt$output.report.dir, paste( "data", opt$output.format, sep="." ) ) }
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
43
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
44
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
45 load( opt$dataset ) ## should load the cl, treecl.res (or partcl.res) and data
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
46 if ( exists( 'treecl.res' ) ) {
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
47 cutree.res <- cutree( treecl.res, k=opt$num.k )
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
48 cl <- cutree.res
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
49 save( file=opt$output.name, treecl.res, cl, data )
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
50 } else {
b442996b66ae Uploaded
peter-waltman
parents:
diff changeset
51 }