df <- data.frame(
chrom = c("chr1", "chr2"),
start = c(100L, 200L),
end = c(200L, 400L),
t1 = c(1.0, 2.0)
)
mat <- gintervals.to_mat(df)
identical(gintervals.from_mat(mat)$t1, df$t1)
# plain matrix path:
plain <- unclass(mat)
attr(plain, "intervals") <- NULL
gintervals.from_mat(plain, intervals = df[, c("chrom", "start", "end")])
Run the code above in your browser using DataLab