The HiGlass Server supports the HiGlass Client by providing APIs for accessing and uploading tile files generated by Clodius.
Note that the HiGlass Server itself only provides an API, and does not server any HTML.
The easiest way to run HiGlass is with Docker. More information is available at higlass-docker.
Note: We recommend creating a virtual environment for higlass-server after cloning, e.g.:
virtualenv ~/higlass-server-env && source ~/higlass-server-env/bin/activate
, to avoid conflicts.
git clone https://github.com/hms-dbmi/higlass-server.git && cd higlass-server
pip install --upgrade -r requirements.txt
pip install --upgrade -r requirements-secondary.txt
python manage.py migrate
python manage.py runserver localhost:8000 &
Alternatively, there is a Dockerfile which provides a quick way to get an isolated development environment configured.
Although there is an API endpoint for uploading files, but it is more direct to use a manage.py
script:
COOLER=dixon2012-h1hesc-hindiii-allreps-filtered.1000kb.multires.cool
HITILE=wgEncodeCaltechRnaSeqHuvecR1x75dTh1014IlnaPlusSignalRep2.hitile
wget -P data/ https://s3.amazonaws.com/pkerp/public/$COOLER
wget -P data/ https://s3.amazonaws.com/pkerp/public/$HITILE
python manage.py ingest_tileset --filename data/$COOLER --filetype cooler --datatype matrix --uid cooler-demo
python manage.py ingest_tileset --filename data/$HITILE --filetype hitile --datatype vector --uid hitile-demo
We can now use the API to get information about a tileset, or to get the tile data itself:
curl http://localhost:8000/api/v1/tileset_info/?d=hitile-demo
curl http://localhost:8000/api/v1/tiles/?d=hitile-demo.0.0.0
Genomics data needs to be aggregated across a range of scales before it can be used with HiGlass.
TODO: Is this still accurate?
Cooler files store Hi-C data. They need to be decorated with aggregated
data at multiple resolutions in order to work with higlass-server
. This is easily accomplished by simply
installing the cooler
python package and running the recursive_agg_onefile.py
script. For now this has
to come from a clone of the official cooler repository, but this will hopefully be merged into the main branch shortly.
git clone -b develop https://github.com/pkerpedjiev/cooler.git
cd cooler
python setup.py install
recursive_agg_onefile.py file.cooler --out output.cooler
BigWig files can be aggregated with the Clodius.
After you've done an installation from source you're ready to go.
You can use ./test.sh
to run the same tests that Travis will run.
bumpversion patch