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_PASSWORDis 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_USERZENBU_AGENT_BUILDTIME&ZENBU_AGENT_SLEEPTIMEZENBU_SRC_URL&ZENBU_SRC_PATCHZENBU_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.txtcontaining theSMTP_PASSWORDassociated withSMTP_USER. No Default provided/secret/db_zenbu_password.txtcontains theMARIADB_PASSWORDassociated with theMARIADB_USERzenbu-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_hmaccontaining your user account email and thehmackey (obtained from http://localhost/zenbu/user) as a tab delimited key/value pair - run the
zenbu_appimage as a temprary container to which your~/.zenbu/id_hmaccredentials 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