## ----installation, eval=FALSE------------------------------------------------- # if (!requireNamespace("BiocManager", quietly = TRUE)) # install.packages("BiocManager") # BiocManager::install("BiocIO") ## ----library------------------------------------------------------------------ library("BiocIO") ## ----importexportGeneirc------------------------------------------------------ getGeneric("import") getGeneric("export") ## ----warningExample, eval=FALSE----------------------------------------------- # file <- tempfile(fileext = ".loom") # LoomFile(file) # # ### LoomFile object # ### resource: file.loom # ### Warning messages: # ### 1: This class is extending the deprecated RTLFile class from # ### rtracklayer. Use BiocFile from BiocIO in place of RTLFile. # ### 2: Use BiocIO::resource() ## ----replaceExample, eval=FALSE----------------------------------------------- # ## Old # setClass('LoomFile', contains='RTLFile') # # ## New # setClass('LoomFile', contains='BiocFile') ## ----defineCSVFile------------------------------------------------------------ .CSVFile <- setClass("CSVFile", contains = "BiocFile") CSVFile <- function(resource) .CSVFile(resource = resource) ## ----defineImportExport------------------------------------------------------- setMethod("import", "CSVFile", function(con, format, text, ...) { read.csv(resource(con), ...) }) setMethod("export", c("data.frame", "CSVFile"), function(object, con, format, ...) { write.csv(object, resource(con), ...) } ) ## ----demonstrateCSV----------------------------------------------------------- temp <- tempfile(fileext = ".csv") csv <- CSVFile(temp) export(mtcars, csv) df <- import(csv) ## ----sessionInfo, echo=FALSE-------------------------------------------------- sessionInfo()