All Projects → higlass → higlass-server

higlass / higlass-server

Licence: MIT License
Server component for HiGlass that manages and serves tiled data

Programming Languages

python
139335 projects - #7 most used programming language
Jupyter Notebook
11667 projects

Projects that are alternatives of or similar to higlass-server

higlass-docker
Builds a docker container wrapping higlass-server and higlass-client in nginx
Stars: ✭ 21 (+23.53%)
Mutual labels:  hi-c, higlass, gehlenborglab
clodius
Clodius is a tool for breaking up large data sets into smaller tiles that can subsequently be displayed using an appropriate viewer.
Stars: ✭ 32 (+88.24%)
Mutual labels:  hi-c, higlass, gehlenborglab
3d-genome-processing-tutorial
A 3D genome data processing tutorial for ISMB/ECCB 2017
Stars: ✭ 44 (+158.82%)
Mutual labels:  hi-c, higlass, gehlenborglab
gosling.js
Grammar of Scalable Linked Interactive Nucleotide Graphics
Stars: ✭ 89 (+423.53%)
Mutual labels:  higlass, gehlenborglab
vizarr
A minimal, purely client-side program for viewing Zarr-based images with Viv & ImJoy.
Stars: ✭ 54 (+217.65%)
Mutual labels:  gehlenborglab
genomedisco
Software for comparing contact maps from HiC, CaptureC and other 3D genome data.
Stars: ✭ 23 (+35.29%)
Mutual labels:  hi-c
coolpuppy
A versatile tool to perform pile-up analysis on Hi-C data in .cool format.
Stars: ✭ 42 (+147.06%)
Mutual labels:  hi-c
gos
a declarative (epi)genomics visualization library for Python
Stars: ✭ 49 (+188.24%)
Mutual labels:  gehlenborglab
adjclust
Adjacency-constrained hierarchical clustering of a similarity matrix
Stars: ✭ 15 (-11.76%)
Mutual labels:  hi-c
gcMapExplorer
Genome Contact Map Explorer - gcMapExplorer. Visit:
Stars: ✭ 15 (-11.76%)
Mutual labels:  hi-c
halyos
Redesigning the Patient Portal Experience with SMART on FHIR.
Stars: ✭ 20 (+17.65%)
Mutual labels:  gehlenborglab
vitessceR
R API and htmlwidget for Vitessce
Stars: ✭ 19 (+11.76%)
Mutual labels:  gehlenborglab
TADLib
A Library to Explore Chromatin Interaction Patterns for Topologically Associating Domains
Stars: ✭ 23 (+35.29%)
Mutual labels:  hi-c
dcHiC
dcHiC: Differential compartment analysis for Hi-C datasets
Stars: ✭ 28 (+64.71%)
Mutual labels:  hi-c
mustache
Multi-scale Detection of Chromatin Loops from Hi-C and Micro-C Maps using Scale-Space Representation
Stars: ✭ 38 (+123.53%)
Mutual labels:  hi-c
hickit
TAD calling, phase imputation, 3D modeling and more for diploid single-cell Hi-C (Dip-C) and general Hi-C
Stars: ✭ 79 (+364.71%)
Mutual labels:  hi-c
docker-4dn-hic
Docker for 4DN Hi-C processing pipeline
Stars: ✭ 42 (+147.06%)
Mutual labels:  hi-c
instaGRAAL
Large genome reassembly based on Hi-C data, continuation of GRAAL
Stars: ✭ 32 (+88.24%)
Mutual labels:  hi-c
HiC data
A (continuously updated) collection of references to Hi-C data. Predominantly human/mouse Hi-C data, with replicates.
Stars: ✭ 107 (+529.41%)
Mutual labels:  hi-c
hic
Analysis of Chromosome Conformation Capture data (Hi-C)
Stars: ✭ 45 (+164.71%)
Mutual labels:  hi-c

HiGlass Server

The HiGlass Server supports HiGlass and HiPiler by providing APIs for accessing and uploading tiles generated by Clodius.

demo api DOI

Note: that the HiGlass Server itself only provides an API, and does not serve any HTML.

Installation

Prerequirements:

  • Python >=v3.6

Docker

The easiest way to run HiGlass with HiGlass Server is with Docker. More information is available at higlass-docker or check out the Dockerfile.

This project also includes a Dockerfile in the docker-context directory that can be used to run a locally checked out copy of higlass-server as follows:

docker build -t higlass-server -f docker-context/Dockerfile .
docker run -d --cap-add SYS_ADMIN --device /dev/fuse --security-opt apparmor:unconfined --name higlass-server higlass-server

Manually

To install HiGlass Server manually follow the steps below. Note we strongly recommend to create a virtual environment using Virtualenvwrapper for example. Skip step 2 if you don't work with virtual environments.

git clone https://github.com/higlass/higlass-server && cd higlass-server

Manually with virtualenvwrapper

mkvirtualenv -a $(pwd) -p $(which python3) higlass-server && workon higlass-server
pip install --upgrade -r ./requirements.txt
python manage.py migrate
python manage.py runserver

Manually with conda

conda env create -f environment.yml
conda activate higlass-server
python manage.py migrate
python manage.py runserver

To enable the register_url api endpoint, HiGlass depends on a project called httpfs to cache external url files. Tests depend on this process running. Set it up as follows:

pip install simple-httpfs

mkdir -p media/http
mkdir -p media/https
simple-httpfs media/http
simple-httpfs media/https

Or simply use ./unit_tests.sh.


Uploading Files

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

Development

Start the server:

python manage.py runserver localhost:8001
// or
npm start

Test the server:

./test.sh
// or
npm test

Bump version of server:

bumpversion patch

Update source code:

./update.sh

Troubleshooting

pybbi installation fails on macOS: Check out https://github.com/nvictus/pybbi/issues/2

macOS 10.15 dependencies

  • brew install hdf5
  • brew install libpng
  • brew install jpeg
  • FUSE for Mac

License

The code in this repository is provided under the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].