@gmod/ucsc-hub
v2.0.3
Published
Read and write UCSC track and assembly hub files in node or the browser
Downloads
4,515
Readme
ucsc-hub-js
read and write UCSC track and assembly hub files in node or the browser
Status
Usage
Read about hub.txt, genomes.txt, and trackDb.txt files here: https://genome.ucsc.edu/goldenpath/help/hgTrackHubHelp.html
API
Table of Contents
GenomesFile
Extends RaFile
Class representing a genomes.txt file.
Parameters
- Throws Error Throws if the first line of the hub.txt file doesn't start with "genome <genome_name>" or if it has invalid entries
HubFile
Extends RaStanza
Class representing a hub.txt file.
Parameters
- Throws Error Throws if the first line of the hub.txt file doesn't start with "hub <hub_name>", if it has invalid entries, or is missing required entries
RaFile
Class representing an ra file. Each file is composed of multiple stanzas, and
each stanza is separated by one or more blank lines. Each stanza is stored in
a Map with the key being the value of the first key-value pair in the stanza.
The usual Map methods can be used on the file. An additional method add()
is available to take a raw line of text and break it up into a key and value
and add them to the class. This should be favored over set() when possible,
as it performs more validity checks than using set().
Parameters
raFile(string | Array<string>) An ra file, either as a single string or an array of strings with one stanza per entry. Supports both LF and CRLF line terminators. (optional, default[])optionsobjectoptions.checkIndentboolean [true] - Check if a the stanzas within the file are indented consistently and keep track of the indentation
Properties
nameKey(undefined | string) The key of the first line of all the stanzas (undefinedif the stanza has no lines yet).
- Throws Error Throws if an empty stanza is added, if the key in the first key-value pair of each stanze isn't the same, or if two stanzas have the same value for the key-value pair in their first lines.
RaStanza
Class representing an ra file stanza. Each stanza line is split into its key and value and stored as a Map, so the usual Map methods can be used on the stanza.
Parameters
stanza(string | Array<string>) (optional, default[])options{checkIndent: boolean?, skipValidation: boolean?}?
SingleFileHub
Class representing a "single-file" hub.txt file that contains all the sections of a hub in a single file.
Parameters
hubTextstring
TrackDbFile
Extends RaFile
Class representing a genomes.txt file.
Parameters
trackDbFile(string | Array<string>) A trackDb.txt file as a string (optional, default[])optionsany?
- Throws Error Throws if "track" is not the first key in each track or if a track is missing required keys
settings
Gets all track entries including those of parent tracks, with closer entries overriding more distant ones
Parameters
trackNamestring The name of a track
- Throws Error Throws if track name does not exist in the trackDb
