## ----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()