annotate cluster.tools/cutree.R @ 0:0decf3fd54bc draft

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