Creating simple S3 objects to simplify code can be done using the following steps:
- Create a constructor function:
SimpleGenome <- function( nchr=NA, lengths = NA){
genome <- list(
chromosome_count = nchr,
chromosome_lengths = lengths
)
class(genome) <- append(class(genome), "SimpleGenome")
return(genome)
}
- Call the constructor to make new objects:
ecoli <- SimpleGenome(nchr = 1, lengths = c(4600000) )
bakers_yeast <- SimpleGenome(nchr = 1, lengths=c(12100000))