Introduction and authentication

It is challenging to authenticate in a non-interactive setting. All chunks here are eval=FALSE in the build package, but a PDF will be made available with a completed run.

Here's a setup.

suppressPackageStartupMessages({
library(GoogleGenomics)
})
apik = Sys.getenv("GOOGLE_API_KEY")
authenticate(apiKey=apik)
getBQ2 = function() {
suppressPackageStartupMessages({
library(dplyr)
library(bigrquery)
})
my_billing = "cgc-05-0009" # replace billing info here with your own
src_bigquery("cgc-05-0009", "yriMulti", billing = my_billing)
}
suppressPackageStartupMessages({
library(MABT)
})
bq = getBQ2()
bq
bano = 
  RangedBT("cgc-05-0009", bq, 
   "banovichSE_expressionData", 
    "banovichSE_rowRanges")
bano
nrow(bano)

Considerations of the code base in 0.0.0

The current objective is to get some performance metrics on genomic computing with BigTable/BigQuery. We are not using the MultiAssayExperiment framework yet, as there is considerable detailed programming required to create objects compliant with the validating API.

RangedBT class

We have defined an S4 class RangedBT, to wrap instances of tbl_bigquery. Two such tables are assumed present, one for assay and one for rangeData. We also retain information on the Google Compute Platform (GCP) project name and the number of rows (implicitly equal for both tables).

getClass("RangedBT")

The constructor is very simple and does not validate or initialize, though eventually it should. It takes as input the project name, the src_bigtable instance, and the table names in the src.

RangedBT
methods(class="RangedBT")

The nrow method is of some interest.

getMethod("nrow", "RangedBT")

Next steps



vjcitn/MultiAssayBT documentation built on May 3, 2019, 6:13 p.m.