diff --git a/R/src/gsalib/R/getargs.R b/R/src/gsalib/R/gsa.getargs.R similarity index 93% rename from R/src/gsalib/R/getargs.R rename to R/src/gsalib/R/gsa.getargs.R index f8f30ddd0..94613bf93 100644 --- a/R/src/gsalib/R/getargs.R +++ b/R/src/gsalib/R/gsa.getargs.R @@ -1,4 +1,4 @@ -.getargs.usage <- function(argspec, doc) { +.gsa.getargs.usage <- function(argspec, doc) { cargs = commandArgs(); usage = "Usage:"; @@ -34,7 +34,7 @@ stop(call. = FALSE); } -getargs <- function(argspec, doc = NA) { +gsa.getargs <- function(argspec, doc = NA) { argsenv = new.env(); for (argname in names(argspec)) { @@ -66,7 +66,7 @@ getargs <- function(argspec, doc = NA) { cargs = commandArgs(TRUE); if (length(cargs) == 0) { - .getargs.usage(argspec, doc); + .gsa.getargs.usage(argspec, doc); } for (i in 1:length(cargs)) { @@ -75,7 +75,7 @@ getargs <- function(argspec, doc = NA) { value = cargs[i+1]; if (key == "h" | key == "help") { - .getargs.usage(argspec, doc); + .gsa.getargs.usage(argspec, doc); } if (length(grep("^[\\d\\.e\\+\\-]+$", value, perl=TRUE, ignore.case=TRUE)) > 0) { diff --git a/R/src/gsalib/R/plot.venn.R b/R/src/gsalib/R/gsa.plot.venn.R similarity index 95% rename from R/src/gsalib/R/plot.venn.R rename to R/src/gsalib/R/gsa.plot.venn.R index b4e493e78..b1353ccc1 100644 --- a/R/src/gsalib/R/plot.venn.R +++ b/R/src/gsalib/R/gsa.plot.venn.R @@ -1,11 +1,9 @@ -plot.venn <- +gsa.plot.venn <- function(a, b, c=0, a_and_b, a_and_c=0, b_and_c=0, col=c("#FF6342", "#63C6DE", "#ADDE63"), pos=c(0.20, 0.20, 0.80, 0.82), debug=0 ) { - print("This is the gsalib plot.venn function"); - library(png); library(graphics); diff --git a/R/src/gsalib/R/read.eval.R b/R/src/gsalib/R/gsa.read.eval.R similarity index 57% rename from R/src/gsalib/R/read.eval.R rename to R/src/gsalib/R/gsa.read.eval.R index 2a9ba9e6a..f1d49092b 100644 --- a/R/src/gsalib/R/read.eval.R +++ b/R/src/gsalib/R/gsa.read.eval.R @@ -1,4 +1,4 @@ -.attemptToLoadFile <- function(filename) { +.gsa.attemptToLoadFile <- function(filename) { file = NA; if (file.exists(filename) & file.info(filename)$size > 500) { @@ -8,7 +8,7 @@ file; } -read.eval <- +gsa.read.eval <- function(evalRoot) { fileAlleleCountStats = paste(evalRoot, ".AlleleCountStats.csv", sep=""); fileCompOverlap = paste(evalRoot, ".Comp_Overlap.csv", sep=""); @@ -46,20 +46,20 @@ function(evalRoot) { CallsetFilteredNames = c() ); - eval$AlleleCountStats = .attemptToLoadFile(fileAlleleCountStats); - eval$CompOverlap = .attemptToLoadFile(fileCompOverlap); - eval$CountVariants = .attemptToLoadFile(fileCountVariants); - eval$GenotypeConcordance = .attemptToLoadFile(fileGenotypeConcordance); - eval$MetricsByAc = .attemptToLoadFile(fileMetricsByAc); - eval$MetricsBySample = .attemptToLoadFile(fileMetricsBySample); - eval$Quality_Metrics_by_allele_count = .attemptToLoadFile(fileQuality_Metrics_by_allele_count); - eval$QualityScoreHistogram = .attemptToLoadFile(fileQualityScoreHistogram); - eval$SampleStatistics = .attemptToLoadFile(fileSampleStatistics); - eval$SampleSummaryStatistics = .attemptToLoadFile(fileSampleSummaryStatistics); - eval$SimpleMetricsBySample = .attemptToLoadFile(fileSimpleMetricsBySample); - eval$TiTv = .attemptToLoadFile(fileTi_slash_Tv_Variant_Evaluator); - eval$TiTvStats = .attemptToLoadFile(fileTiTvStats); - eval$Variant_Quality_Score = .attemptToLoadFile(fileVariant_Quality_Score); + eval$AlleleCountStats = .gsa.attemptToLoadFile(fileAlleleCountStats); + eval$CompOverlap = .gsa.attemptToLoadFile(fileCompOverlap); + eval$CountVariants = .gsa.attemptToLoadFile(fileCountVariants); + eval$GenotypeConcordance = .gsa.attemptToLoadFile(fileGenotypeConcordance); + eval$MetricsByAc = .gsa.attemptToLoadFile(fileMetricsByAc); + eval$MetricsBySample = .gsa.attemptToLoadFile(fileMetricsBySample); + eval$Quality_Metrics_by_allele_count = .gsa.attemptToLoadFile(fileQuality_Metrics_by_allele_count); + eval$QualityScoreHistogram = .gsa.attemptToLoadFile(fileQualityScoreHistogram); + eval$SampleStatistics = .gsa.attemptToLoadFile(fileSampleStatistics); + eval$SampleSummaryStatistics = .gsa.attemptToLoadFile(fileSampleSummaryStatistics); + eval$SimpleMetricsBySample = .gsa.attemptToLoadFile(fileSimpleMetricsBySample); + eval$TiTv = .gsa.attemptToLoadFile(fileTi_slash_Tv_Variant_Evaluator); + eval$TiTvStats = .gsa.attemptToLoadFile(fileTiTvStats); + eval$Variant_Quality_Score = .gsa.attemptToLoadFile(fileVariant_Quality_Score); uniqueJexlExpressions = unique(eval$TiTv$jexl_expression); eval$CallsetOnlyNames = as.vector(uniqueJexlExpressions[grep("FilteredIn|Intersection|none", uniqueJexlExpressions, invert=TRUE, ignore.case=TRUE)]); @@ -69,6 +69,15 @@ function(evalRoot) { paste(gsub("^(\\w)", "In\\U\\1", eval$CallsetNames[2], perl=TRUE), "-Filtered", gsub("^(\\w)", "In\\U\\1", eval$CallsetNames[1], perl=TRUE), sep="")) ); + if (!(eval$CallsetFilteredNames[1] %in% unique(eval$TiTv$jexl_expression))) { + eval$CallsetFilteredNames[1] = paste("In", eval$CallsetNames[1], "-FilteredIn", eval$CallsetNames[2], sep=""); + } + + if (!(eval$CallsetFilteredNames[2] %in% unique(eval$TiTv$jexl_expression))) { + eval$CallsetFilteredNames[2] = paste("In", eval$CallsetNames[2], "-FilteredIn", eval$CallsetNames[1], sep=""); + #eval$CallsetFilteredNames[2] = paste(gsub("^(\\w)", "In", eval$CallsetNames[2], perl=TRUE), "-Filtered", gsub("^(\\w)", "In", eval$CallsetNames[1], perl=TRUE), sep=""); + } + eval; } diff --git a/R/src/gsalib/R/read.gatkreport.R b/R/src/gsalib/R/gsa.read.gatkreport.R similarity index 89% rename from R/src/gsalib/R/read.gatkreport.R rename to R/src/gsalib/R/gsa.read.gatkreport.R index e503e05d9..31da57d9a 100644 --- a/R/src/gsalib/R/read.gatkreport.R +++ b/R/src/gsalib/R/gsa.read.gatkreport.R @@ -1,5 +1,5 @@ # Load a table into the specified environment. Make sure that each new table gets a unique name (this allows one to cat a bunch of tables with the same name together and load them into R without each table overwriting the last. -.assignGATKTableToEnvironment <- function(tableName, tableHeader, tableRows, tableEnv) { +.gsa.assignGATKTableToEnvironment <- function(tableName, tableHeader, tableRows, tableEnv) { d = data.frame(tableRows, row.names=NULL, stringsAsFactors=FALSE); colnames(d) = tableHeader; @@ -21,7 +21,7 @@ } # Load all GATKReport tables from a file -read.gatkreport <- function(filename) { +gsa.read.gatkreport <- function(filename) { con = file(filename, "r", blocking = TRUE); lines = readLines(con); close(con); @@ -57,7 +57,7 @@ read.gatkreport <- function(filename) { } if (!is.na(tableName)) { - .assignGATKTableToEnvironment(tableName, tableHeader, tableRows, tableEnv); + .gsa.assignGATKTableToEnvironment(tableName, tableHeader, tableRows, tableEnv); } gatkreport = as.list(tableEnv); diff --git a/R/src/gsalib/R/read.squidmetrics.R b/R/src/gsalib/R/gsa.read.squidmetrics.R similarity index 90% rename from R/src/gsalib/R/read.squidmetrics.R rename to R/src/gsalib/R/gsa.read.squidmetrics.R index 61537c607..6451edda2 100644 --- a/R/src/gsalib/R/read.squidmetrics.R +++ b/R/src/gsalib/R/gsa.read.squidmetrics.R @@ -1,4 +1,4 @@ -read.squidmetrics = function(project, bylane = FALSE) { +gsa.read.squidmetrics = function(project, bylane = FALSE) { suppressMessages(library(ROracle)); drv = dbDriver("Oracle"); diff --git a/R/src/gsalib/man/getargs.Rd b/R/src/gsalib/man/gsa.getargs.Rd similarity index 90% rename from R/src/gsalib/man/getargs.Rd rename to R/src/gsalib/man/gsa.getargs.Rd index 01f3a2312..27aa1b05a 100644 --- a/R/src/gsalib/man/getargs.Rd +++ b/R/src/gsalib/man/gsa.getargs.Rd @@ -1,5 +1,5 @@ -\name{getargs} -\alias{getargs} +\name{gsa.getargs} +\alias{gsa.getargs} \title{ Get script arguments } @@ -7,7 +7,7 @@ Get script arguments Get script arguments given a list object specifying arguments and documentation. Can be used in command-line or interactive mode. This is helpful when developing scripts in interactive mode that will eventually become command-line programs. If no arguments are specified or help is requested in command-line mode, the script will print out a usage statement with available arguments and exit. } \usage{ -getargs(argspec, doc = NA) +gsa.getargs(argspec, doc = NA) } \arguments{ \item{argspec}{ @@ -18,7 +18,7 @@ A list object. Each key is an argument name. The value is another list object ); } -If the value provided is NA, the argument is considered required and must be specified when the script is invoked. For command-line mode, this means the argument must be specified on the command-line. In interactive mode, there are two ways of specifying these arguments. First, if a properly formatted list argument called 'cmdargs' is present in the current environment (i.e. the object returned by getargs() from a previous invocation), the value is taken from this object. Otherwise, the argument is prompted for. +If the value provided is NA, the argument is considered required and must be specified when the script is invoked. For command-line mode, this means the argument must be specified on the command-line. In interactive mode, there are two ways of specifying these arguments. First, if a properly formatted list argument called 'cmdargs' is present in the current environment (i.e. the object returned by gsa.getargs() from a previous invocation), the value is taken from this object. Otherwise, the argument is prompted for. } \item{doc}{ @@ -50,7 +50,7 @@ argspec = list( test2 = list(value=2.3e9, doc="Another argument that does stuff") ); -cmdargs = getargs(argspec, doc="My test program"); +cmdargs = gsa.getargs(argspec, doc="My test program"); print(cmdargs$file); # will print '[1] "/my/test.vcf"' } diff --git a/R/src/gsalib/man/plot.venn.Rd b/R/src/gsalib/man/gsa.plot.venn.Rd similarity index 83% rename from R/src/gsalib/man/plot.venn.Rd rename to R/src/gsalib/man/gsa.plot.venn.Rd index 70955d9d7..bf4feb5bc 100644 --- a/R/src/gsalib/man/plot.venn.Rd +++ b/R/src/gsalib/man/gsa.plot.venn.Rd @@ -1,5 +1,5 @@ -\name{plot.venn} -\alias{plot.venn} +\name{gsa.plot.venn} +\alias{gsa.plot.venn} \title{ Plot a proportional venn diagram } @@ -7,7 +7,7 @@ Plot a proportional venn diagram Plot a proportional venn diagram (two or three-way venns allowed) } \usage{ -plot.venn(a, b, c = 0, a_and_b, a_and_c = 0, b_and_c = 0, col = c("#FF6342", "#63C6DE", "#ADDE63"), pos = c(0.2, 0.2, 0.8, 0.82), debug = 0) +gsa.plot.venn(a, b, c = 0, a_and_b, a_and_c = 0, b_and_c = 0, col = c("#FF6342", "#63C6DE", "#ADDE63"), pos = c(0.2, 0.2, 0.8, 0.82), debug = 0) } \arguments{ \item{a}{ @@ -64,10 +64,10 @@ Kiran Garimella } \examples{ ## Plot a two-way Venn diagram -plot.venn(1000, 750, 0, 400); +gsa.plot.venn(1000, 750, 0, 400); ## Plot a three-way Venn diagram -plot.venn(1000, 750, 900, 400, 650, 500); +gsa.plot.venn(1000, 750, 900, 400, 650, 500); } % Add one or more standard keywords, see file 'KEYWORDS' in the % R documentation directory. diff --git a/R/src/gsalib/man/read.eval.Rd b/R/src/gsalib/man/gsa.read.eval.Rd similarity index 98% rename from R/src/gsalib/man/read.eval.Rd rename to R/src/gsalib/man/gsa.read.eval.Rd index cfe32df2e..0e2baba73 100644 --- a/R/src/gsalib/man/read.eval.Rd +++ b/R/src/gsalib/man/gsa.read.eval.Rd @@ -1,5 +1,5 @@ -\name{read.eval} -\alias{read.eval} +\name{gsa.read.eval} +\alias{gsa.read.eval} \title{ Read a VariantEval file } @@ -7,7 +7,7 @@ Read a VariantEval file Read a VariantEval file that's output in R format. } \usage{ -read.eval(evalRoot) +gsa.read.eval(evalRoot) } %- maybe also 'usage' for other objects documented here. \arguments{ diff --git a/R/src/gsalib/man/read.gatkreport.Rd b/R/src/gsalib/man/gsa.read.gatkreport.Rd similarity index 90% rename from R/src/gsalib/man/read.gatkreport.Rd rename to R/src/gsalib/man/gsa.read.gatkreport.Rd index 8d51b6e09..67c2c7b28 100644 --- a/R/src/gsalib/man/read.gatkreport.Rd +++ b/R/src/gsalib/man/gsa.read.gatkreport.Rd @@ -1,13 +1,13 @@ -\name{read.gatkreport} -\alias{read.gatkreport} +\name{gsa.read.gatkreport} +\alias{gsa.read.gatkreport} \title{ -read.gatkreport +gsa.read.gatkreport } \description{ Reads a GATKReport file - a multi-table document - and loads each table as a separate data.frame object in a list. } \usage{ -read.gatkreport(filename) +gsa.read.gatkreport(filename) } \arguments{ \item{filename}{ @@ -50,6 +50,6 @@ Kiran Garimella %% ~~objects to See Also as \code{\link{help}}, ~~~ } \examples{ -report = read.gatkreport("/path/to/my/output.gatkreport"); +report = gsa.read.gatkreport("/path/to/my/output.gatkreport"); } \keyword{ ~kwd1 } diff --git a/R/src/gsalib/man/read.squidmetrics.Rd b/R/src/gsalib/man/gsa.read.squidmetrics.Rd similarity index 86% rename from R/src/gsalib/man/read.squidmetrics.Rd rename to R/src/gsalib/man/gsa.read.squidmetrics.Rd index 223f9b450..0a8b37843 100644 --- a/R/src/gsalib/man/read.squidmetrics.Rd +++ b/R/src/gsalib/man/gsa.read.squidmetrics.Rd @@ -1,13 +1,13 @@ -\name{read.squidmetrics} -\alias{read.squidmetrics} +\name{gsa.read.squidmetrics} +\alias{gsa.read.squidmetrics} \title{ -read.squidmetrics +gsa.read.squidmetrics } \description{ Reads metrics for a specified SQUID project into a dataframe. } \usage{ -read.squidmetrics("C315") +gsa.read.squidmetrics("C315") } \arguments{ \item{project}{ @@ -43,6 +43,6 @@ This method will only work within the Broad Institute internal network. } \examples{ ## Obtain metrics for project C315. -d = read.squidmetrics("C315"); +d = gsa.read.squidmetrics("C315"); } \keyword{ ~kwd1 } diff --git a/R/src/gsalib/man/gsalib-package.Rd b/R/src/gsalib/man/gsalib-package.Rd index b395e090c..2b8d6db9f 100644 --- a/R/src/gsalib/man/gsalib-package.Rd +++ b/R/src/gsalib/man/gsalib-package.Rd @@ -25,7 +25,7 @@ GATK help forum: http://www.getsatisfaction.com/gsa } \examples{ ## get script arguments in interactive and non-interactive mode -cmdargs = getargs( list( +cmdargs = gsa.getargs( list( requiredArg1 = list( value = NA, doc = "Documentation for requiredArg1" @@ -38,10 +38,10 @@ cmdargs = getargs( list( ) ); ## plot a proportional Venn diagram -plot.venn(500, 250, 0, 100); +gsa.plot.venn(500, 250, 0, 100); ## read a GATKReport file -report = gatk.report("/path/to/my/output.gatkreport"); +report = gsa.gatk.report("/path/to/my/output.gatkreport"); ## emit a message gsa.message("This is a message"); @@ -51,5 +51,18 @@ gsa.message("This is a warning message"); ## emit an error message gsa.message("This is an error message"); + +## read the SQUID metrics for a given sequencing project (internal to the Broad only) +s = gsa.read.squidmetrics("C427"); + +## read command-line arguments +cmdargs = gsa.getargs( + list( + file = list(value="/my/test.vcf", doc="VCF file"), + verbose = list(value=0, doc="If 1, set verbose mode"), + test2 = list(value=2.3e9, doc="Another argument that does stuff") + ), + doc="My test program" +); } \keyword{ package }