From 4a84ff4fcecadc2db57d265876bee32d034e6fc4 Mon Sep 17 00:00:00 2001 From: Mark DePristo Date: Sat, 8 Sep 2012 19:45:56 -0400 Subject: [PATCH] Fix a nasty bug in reading GATK reports with a single line -- Old version would break during reading with (as usual) a cryptic error message -- Fixed by avoiding collapsing into a single vector type from a matrix when you subset to a single row. I believe this code confirms thats R is truly the worst programming language ever --- .../sting/utils/R/gsalib/R/gsa.read.gatkreport.R | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/R/src/org/broadinstitute/sting/utils/R/gsalib/R/gsa.read.gatkreport.R b/public/R/src/org/broadinstitute/sting/utils/R/gsalib/R/gsa.read.gatkreport.R index 4c228ccb4..eba94c0cb 100644 --- a/public/R/src/org/broadinstitute/sting/utils/R/gsalib/R/gsa.read.gatkreport.R +++ b/public/R/src/org/broadinstitute/sting/utils/R/gsalib/R/gsa.read.gatkreport.R @@ -111,7 +111,13 @@ gsa.read.gatkreportv1 <- function(lines) { headerRowCount = -1; finishTable <- function() { - .gsa.assignGATKTableToEnvironment(tableName, tableHeader, tableRows[1:rowCount,], tableEnv); + if ( rowCount == 1 ) + # good I hate R. Work around to avoid collapsing into an unstructured vector when + # there's only 1 row + sub <- t(as.matrix(tableRows[1:rowCount,])) + else + sub <- tableRows[1:rowCount,] + .gsa.assignGATKTableToEnvironment(tableName, tableHeader, sub, tableEnv); } for (line in lines) {