Learn R Programming

GenomicFiles (version 1.8.0)

registry-utils: Functions for creating and searching a registry of file types.

Description

Functions for creating and searching a registry of file types based on file extension.

Usage

registerFileType(type, package, regex) findTypeRegistry(fnames) makeFileType(fnames, ..., regex=findTypeRegistry(fnames))

Arguments

type
The List class the file is associated with such as BamFileList, BigWigFileList, FaFileList.
package
The package where the List class (type) is defined.
regex
A regular expression that uniquely identifies the file extension.
fnames
A character vector of file names.
...
Additional arguments passed to the List-class constructor (e.g., yieldSize for BamFileList).

Value

registerFileType: NULLfindTypeRegistry: The regular expression associated with the file.makeFileType: A List-type object defined in the registry.

Details

  • registerFileType The registerFileType function adds entries to the file type register created at load time. The point of the register is for discovery of file type (class) by file extension. These are List-type classes (e.g., BamFileList) that occupy the fileList slot of a GenomicFiles class.

Each List class entry in the register is associated with (1) a regular expression that identifies the file extension, (2) a class and (3) the package where the class is defined. At load time the register is populated with classes known to GenomicFiles. New classes / file types can be added to the register with registerFileType by providing these three pieces of information.

  • findTypeRegistry Searches the registry for a match to the extension of fname. Internal use only.
  • makeFileType Performs a look-up in the file registry based on the supplied regular expression; returns an object of the associated class. Internal use only.
  • Examples

    Run this code
    
    ## At load time the registry is populated with file types
    ## known to GenomicFiles.
    sapply(as.list(.fileTypeRegistry), "[", "type")
    
    ## Add a new class to the file register.
    ## Not run: registerFileType(NewClassList, NewPackage, "\.NewExtension$")
    

    Run the code above in your browser using DataLab