ZENBU is a data integration, data analysis, and visualization system enhanced for next-generation-sequence-tag (NGS) based data.
ZENBU allows for novel data exploration through "on-demand" data processing and interactive linked-visualizations and is able to make many-views from the same primary sequence alignment data which users can uploaded from BAM, BED, GFF and tab-text files.
Data integration, data processing, and visualization system based around three main web interfaces:
- an expression data enhanced genome browser interface
- a secured user system for data upload and secured data sharing
- a data explorer interface to find and manipulate data across the many supported experimental data types and to find shared user configurations"
Don't wanna bother installing a local version.
Simply visit the original ZENBU genome browser and create an user account : http://fantom.gsc.riken.jp/zenbu/
docker-compose deployed ZENBU genome browser application running across multiple containers:
- zenbu_db (mariadb-based database)
- zenbu_www (apache-based httpd)
- zenbu_agent (for automated cache building and uploaded data preparation)
Two images will be created : a mariadb
image and a zenbu_app
image.
The zenbu_app
image is the basis for zenbu_www_1
and zenbu_agent_1
containers' agents, webservices and running ad-hoc command line tools.
ZENBU offers a number of command line tools to manipulate the data.
After successful deployement, run docker run --rm -it zenbu_app
for a list of these command line tools.
You will likely need to minimally provide several environment variables for certain functionalities (emails sent by zenbu upon account creation/modification, mounting an additional NFS-based datalake (readonly) volume, ...).
These can be provided at buildtime (-e KEY=VALUE) or via a typical docker-compose .env
file
- ZENBU source-code version :
ZENBU_VERSION
. Default as2.11.2
. - http server's name & alias:
DOMAIN
. Default aslocalhost
. - SMTP environment variables:
SMTP_HOST
,SMTP_USER
. Note :SMTP_PASSWORD
is read from a file in/secrets/smtp_password.txt
. - http server's admin contact and emails sent by zenbu upon account creation/modification :
EMAIL
. Default toadmin@localhost
.
DOMAIN
and SMTP
environment variables' values can be redefined at runtime by editing /etc/zenbu/zenbu.conf
.
In addtion, when adding an NFS-based datalake (readonly) volume/mountpoint where bam, cram, bed, ... data files are readily available, you must specify :
- the NFS server IP adress :
NFS_DATALAKE_IP
- the NFS server device (path) to be mounted :
NFS_DATALAKE_DEVICE
Other (redefinable) enviroment variables at buildtime and/or runtime include:
MARIADB_PASSWORD_FILE
&MARIADB_USER
ZENBU_AGENT_BUILDTIME
&ZENBU_AGENT_SLEEPTIME
ZENBU_SRC_URL
&ZENBU_SRC_PATCH
ZENBU_CURATOR_EMAIL
,ZENBU_SESSID
,ZENBU_SESSNAME
,ZENBU_CACHE_DIR
,ZENBU_SRC_DIR
&ZENBU_USERS_DIR
See https://github.com/jessica-severin/ZENBU/tree/master/build_support and https://github.com/jessica-severin/ZENBU/blob/master/README_AUTOBUILD for details
Passwords (for smtp server and mariadb) are stored in secret files mounted at build time
/secrets/smtp_password.txt
containing theSMTP_PASSWORD
associated withSMTP_USER
. No Default provided/secret/db_zenbu_password.txt
contains theMARIADB_PASSWORD
associated with theMARIADB_USER
zenbu-admin user. Default tozenbu_admin
- Basic Named volumes : volumes where mariadb, user, and cache data are stored can be customized to correspond to desired specific host's mountpoints
- NFS-based datalake (readonly) volume : you may already have bam, cram, bed, ... data files stored in an NFS-server that you wish zenbu to have access to.
in which case deploy using both docker-compose.yml and docker-compose.with_datalake-readonly-nfsvolume.yml files and provide its IP and device (path) as an envvar
docker-compose --file=$PWD/docker-compose.yml --project-name zenbu up
or docker-compose --file=$PWD/docker-compose.yml --file=$PWD/docker-compose.with_datalake-readonly-nfsvolume.yml --project-name zenbu up
to add an NFS-based datalake (readonly) volume
default to http://localhost/zenbu
or http://DOMAIN/zenbu
if the DOMAIN
envvar was provided
- mariadb logs :
docker logs zenbu_db_1
- apache logs :
docker logs zenbu_www_1
- agent logs :
docker logs zenbu_agent_1
example : gettig your list of collabaroations via zenbu_upload
- login/create a user account from zenbu website (e.g. http://localhost/zenbu/user/)
- create a file called
~/.zenbu/id_hmac
containing your user account email and thehmac
key (obtained from http://localhost/zenbu/user) as a tab delimited key/value pair - run the
zenbu_app
image as a temprary container to which your~/.zenbu/id_hmac
credentials and zenbu_agent volumes are mounted :
docker run --rm --volumes-from zenbu_agent_1 --volume ~/.zenbu/id_hmac:/root/.zenbu/id_hmac -it zenbu_app zenbu_upload -url http://localhost/zenbu -collabs