Functions for creating and searching a registry of file types.

Share:

Description

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

Usage

1
2
3

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).

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.

Value

registerFileType: NULL

findTypeRegistry: The regular expression associated with the file.

makeFileType: A List-type object defined in the registry.

Examples

1
2
3
4
5
6
## 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$")