V44: viewing cool tracks, parallel loading track data and support dynamic track and hub URLs
In this new release of browser, we are able to view cool tracks, parallel loading track data and support dynamic track and hub URLs.
Cool format is another data format for long range interaction data, for more about this format, please check cooler's documentation: http://cooler.readthedocs.io/en/latest/quickstart.html, while since this format doesn't support access from network, so the cool track need be hosted locally at one browser mirror site.
- in order to support cool track visualization, local browser mirror users need to install the cooler package, and download our CGI scripts from out github repo.
- you may need to update python2.7, you can follow the instruction here for Ubuntu OS: https://askubuntu.com/questions/725171/update-python-2-7-to-latest-version-of-2-x
install cooler and needed package
- update your pip package and python libraries
sudo pip install pip --upgrade sudo apt install -y python-pip python-dev
- install cooler and update numpy
sudo pip uninstall numpy sudo pip install numpy sudo pip install cooler
- if you this error:
#include "hdf5.h" ^ compilation terminated. error: command 'x86_64-linux-gnu-gcc' failed with exit status 1 ---------------------------------------- Cleaning up... Command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/h5py/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-YYDEMk-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip_build_root/h5py Traceback (most recent call last): File "/usr/bin/pip", line 9, in <module> load_entry_point('pip==1.5.4', 'console_scripts', 'pip')() File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 235, in main return command.main(cmd_args) File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 161, in main text = '\n'.join(complete_log) UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 40: ordinal not in range(128)
- you can try
sudo apt-get install libhdf5-10 sudo apt-get install libhdf5-serial-dev sudo apt-get install libhdf5-dev sudo apt-get install libhdf5-cpp-11 sudo apt install liblzma-dev lzma-dev
- make a temporary folder at your Apache's root directory
cd /var/www/ mkdir .matplotlib chmod 777 .matplotlib
- grab the cooler folder form our repo, and pub on /usr/lib/cgi-bin/ folder, give the script executable permission
#at /usr/lib/cgi-bin/cooler folder chmod +x *.py
- update the COOL_DIR variable for the path which has the cool files:
vi coolUtils.py COOL_DIR = "/srv/epgg/www/"
- click cool track in the custom track submission panel
- filled in a relative path of the cool file to the COOL_DIR variable in coolUtils.py
- the cool file displayed in the browser
- also you can see the same dataset in hic and cool format displayed same in the browser
parallel loading track data
- in order to increase the respond speed of the browser when viewing a big data hub, we modified the code to retrieve track data in parallel.
dynamic URL support
- tracks or data hub with special characters like ? or = or + etc can be used on the browser, you can directly submit them use the submission UI:
or if you want to use the one click URL, if need to encode your URL string like: