Graphical interface for the eHive workflow manager
6.2K
This repository contains the guiHive code, a graphic user interface to easily interact with your eHive pipeline. See https://github.com/Ensembl/ensembl-hive for more information about the eHive system.
This code is being maintained by the Ensembl team. Improvements, new features and bug fixes are being added regularly, so if you use it, please remember to check for updates regularly (or "watch" the github repo to get notification of updates). It is also recommended that you join the hive-users mailing list (see https://github.com/Ensembl/ensembl-hive for more information on how to do this) since news and updates will be announced there.
guiHive consists of:
The application is served by a lightweight HTTP server written in GO. It merely acts as a middle-man that calls Perl scripts on the server side upon incoming HTTP requests and streams back their output. The Perl scripts use eHive's Perl API to access and manipulate the database. They write their output as JSON or HTML.
On the client side there is a single page that sends AJAX requests to the server to populate the various tabs and panels.
Obviously, the main server must have network access to the database server in order to manage these pipelines.
The fastest way to try guiHive on your own system is to use the Docker image ensemblorg/guihive. It ships all the dependencies and is ready to be used.
docker pull ensemblorg/guihive
docker run --name guihive_server -p 8081:8080 -d ensemblorg/guihive
This will start the guiHive server in a Docker container and make it available on port 8081 of the host machine.
As stated above, the container must be configured to have network access to the databases you want to interact with. This is native under Linux, but requires additional setup on other OSes.
DISCLAIMER - The only officially supported OS is CentOS version 7 and 8.
This said, guiHive should work fine also on different Linux systems.
The major known issue is about the proper rendering of images via GraphViz libs on different systems/versions.
guiHive depends on the following components that need to be installed in your system:
There is a script in the guiHive root directory called test_dep.pl that tests all the dependencies. To run it:
$ perl test_dep.pl
If you experience problems setting up guiHive you can also follow the tips printed at the end of that script.
Make sure you have Perl installed in your system. Use of a virtual environment - although not required - is recommended.
The main prerequisites are:
For further details about these dependencies, please see https://ensembl-hive.readthedocs.io/en/version-2.6/quickstart/install.html
Once you have all the dependencies installed and up to date follow these steps:
$ git clone https://github.com/Ensembl/guiHive
$ bash guihive-deploy.sh
$ cpanm --installdeps .
$ cd guiHive/server
$ cat go.mod
$ go build
$ ./server
You should now be able to connect to your database and start monitoring your pipeline.
$ go build -tags debug
$ ./server
guiHive and all the 3rd party libraries used in guiHive are supposed to work in reasonably recent versions of the mainstream web browsers. IE>=9 should also work but I haven't tested. If you experience any problem, please send your comments to [email protected]
AFAIK everything works fine in Firefox (v7.0.1, v8.0.1, v12.0, v18.0.1, v91.0.2, v92.0), Chrome (v24.0.1312.56, v93.0.4577.63), Safari (v5.1.7, v14.1.2) and Opera (v12.12).
Feedback is more than welcome. Please send your bug reports to the hive mailing list ([email protected]).
Content type
Image
Digest
sha256:5c2673f77…
Size
173.4 MB
Last updated
over 1 year ago
docker pull ensemblorg/guihivePulls:
17
Last week