Skip to content

kundajelab/hubmaker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hubmaker

A python utility to programmatically make trackhub JSON files for a genome browser.

Supported browsers:

  • WashU genome browser

Installation

From source

git clone https://github.com/kundajelab/hubmaker.git
cd hubmaker
pip install -e .

Usage

We create track objects for each input genomic track, and collect these in a TrackHub object:

from hubmaker import BigWigTrack, BedTrack, DynSeqTrack, TrackHub

hub = TrackHub(out_dir="./output", out_file="test_trackhub.json")

# Create bigwig tracks
metadata = {"sample": "Glutamatergic_neurons"}
bigwig_track = BigWigTrack(
    url="https://example.com/glutamatergic_neurons.signal.bw",
    name="Glutamatergic neurons p-value signal", 
    color="#FF0000",
    metadata=metadata
)

# Create bed track
bed_track = BedTrack(
    url="https://example.com/glutamatergic_neurons.peaks.bed",
    name="Glutamatergic neurons peaks",
    color="#0000FF", 
    metadata=metadata
)

# Create dynseq track
dynseq_track = DynSeqTrack(
	url="https://example.com/glutamatergic_neurons.shaps.bw",
	name="Glutamatergic neurons contribution scores",
	metadata=metadata
)

# Create hub and add tracks
hub.add_track(bigwig_track)
hub.add_track(bed_track)
hub.add_track(dynseq_track)

# Generate the JSON file
hub.generate_hub()

This produces the following JSON:

[
    {
        "type": "bigwig",
        "url": "https://example.com/glutamatergic_neurons.signal.bw",
        "name": "Glutamatergic neurons p-value signal",
        "showOnHubLoad": false,
        "options": {
            "color": "#FF0000",
            "aggregateMethod": "MAX"
        },
        "metadata": {
            "sample": "Glutamatergic_neurons"
        }
    },
    {
        "type": "bed",
        "url": "https://example.com/glutamatergic_neurons.peaks.bed",
        "name": "Glutamatergic neurons peaks",
        "showOnHubLoad": false,
        "options": {
            "color": "#0000FF",
            "aggregateMethod": "MAX"
        },
        "metadata": {
            "sample": "Glutamatergic_neurons"
        }
    },
    {
        "type": "dynseq",
        "url": "https://example.com/glutamatergic_neurons.shaps.bw",
        "name": "Glutamatergic neurons contribution scores",
        "showOnHubLoad": false,
        "options": {
            "aggregateMethod": "MAX"
        },
        "metadata": {
            "sample": "Glutamatergic_neurons"
        }
    }
]

About

A utility to programmatically make trackhub JSON files for a genome browser.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages