#' @param GdObject Object of `GdObject-class`. #' @param x A valid track object class name, or the object itself, in which #' case the class is derived directly from it. #' @param minBase Start of the sequence. #' @param maxBase End of the sequence. #' @param reference Name of the file (for streatming). #' @param value Value to be set. #' @param prepare `logical` #' @param object object #' @param .Object .Object #' @param chromosome The currently active chromosome of the track. A valid UCSC #' chromosome identifier if \code{options(ucscChromosomeNames=TRUE)}. Please #' note that in this case only syntactic checking takes place, i.e., the #' argument value needs to be an integer, numeric character or a character of #' the form \code{chrx}, where \code{x} may be any possible string. The user #' has to make sure that sequences for the respective chromosomes are indeed #' part of the object. If not provided here, the constructor will set it to the #' first available sequence. Please note that by definition all objects in the #' \code{Gviz} package can only have a single active chromosome at a time #' (although internally the information for more than one chromosome may be #' present), and the user has to call the \code{chromosome<-} replacement #' method in order to change to a different active chromosome. #' @param genome The genome on which the track's ranges are defined. Usually #' this is a valid UCSC genome identifier, however this is not being formally #' checked at this point. For a \code{SequenceBSgenomeTrack} object, the genome #' information is extracted from the input \code{BSgenome} package. For a #' \code{DNAStringSet} it has too be provided or the constructor will fall back #' to the default value of \code{NA}. #' @param name Character scalar of the track's name used in the title panel #' when plotting. #' @param importFunction A user-defined function to be used to import the #' sequence data from a file. This only applies when the \code{sequence} #' argument is a character string with the path to the input data file. The #' function needs to accept an argument \code{file} containing the file path #' and has to return a proper \code{DNAStringSet} object with the sequence #' information per chromosome. A set of default import functions is already #' implemented in the package for a number of different file types, and one of #' these defaults will be picked automatically based on the extension of the #' input file name. If the extension can not be mapped to any of the existing #' import function, an error is raised asking for a user-defined import #' function. Currently the following file types can be imported with the #' default functions: \code{fa/fasta} and \code{2bit}. #' #' Both file types support indexing by genomic coordinates, and it makes sense #' to only load the part of the file that is needed for plotting. To this end, #' the \code{Gviz} package defines the derived \code{ReferenceSequenceTrack} #' class, which supports streaming data from the file system. The user #' typically does not have to deal with this distinction but may rely on the #' constructor function to make the right choice as long as the default import #' functions are used. However, once a user-defined import function has been #' provided and if this function adds support for indexed files, you will have #' to make the constructor aware of this fact by setting the \code{stream} #' argument to \code{TRUE}. Please note that in this case the import function #' needs to accept a second mandatory argument \code{selection} which is a #' \code{GRanges} object containing the dimensions of the plotted genomic #' range. As before, the function has to return an appropriate #' \code{DNAStringSet} object. #' @param stream A logical flag indicating that the user-provided import #' function can deal with indexed files and knows how to process the additional #' \code{selection} argument when accessing the data on disk. This causes the #' constructor to return a \code{ReferenceSequenceTrack} object which will grab #' the necessary data on the fly during each plotting operation. #' @param \dots Additional items which will all be interpreted as further #' display parameters. See \code{\link{settings}} and the "Display Parameters" #' section below for details.