denssweb

command module
Version: v0.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 26, 2021 License: GPL-3.0 Imports: 7 Imported by: 0

README

===============================================================================
DENSSWeb - Web frontend to DENSS
===============================================================================

DENSSWeb is a web frontend for the `DENSS algorithm
<https://github.com/tdgrant1/denss>`_.  DENsity from Solution Scattering
(DENSS) is an algorithm used for calculating ab initio electron density maps
directly from solution scattering data.  DENSSWeb provides a web based frontend
interface allowing users to run complex DENSS pipelines and view results in a
browser. DENSSWeb performs parallel DENSS runs and the resulting density map is
displayed using a custom LiteMol plugin along with a plot of the fourier shell
correlation (FSC) curve.

A demo fo DENSSWeb can be found `here <https://denss.ccr.buffalo.edu>`_.

DENSSWeb can be run locally on a single machine or on multiple machines in a
clustered environment. DENSSWeb consists of a server and client worker. The
server runs an embedded web server and the client worker runs the DENSS
pipeline.

------------------------------------------------------------------------
Requirements
------------------------------------------------------------------------

A web browser with WebGL support. To check if your browser supports WebGL `see
here <https://get.webgl.org/>`_.

------------------------------------------------------------------------
Install
------------------------------------------------------------------------

Install all required software (see Required Software section). Download the
current release of DENSSWeb for your platform `here <https://github.com/ubccr/denssweb/releases>`_.

Unpack the DENSSWeb release::

    $ tar xzvf denssweb-VERSION-OS-amd64.tar.gz
    $ cd denssweb-VERSION-OS-amd64

Create the config file and edit the paths to required software::

    $ cp denssweb.yaml.sample denssweb.yaml
    (edit to taste)

Start the DENSSWeb client/server::

    $ ./denssweb -d run

Point your browser at http://localhost:8080 and submit a Job

To limit the number of threads DENSSWeb spawns use the ``-t`` option.
By default, this will be set to the number of cores available on your machine.
For example::

    $ ./denssweb -d run -t 4

The raw output files for each job are stored in ``work_dir/denss-JOBID``.
``work_dir`` by default is set to a directory named ``denssweb-work`` in your
current working directory but you can override this in the denssweb.yaml file.
The complete log file for a job is in a file named ``denss-JOBID.log``.

If you're running DENSSWeb on a server you must edit the ``bind`` and
``base_url`` settings accordingly.

------------------------------------------------------------------------
Building from source
------------------------------------------------------------------------

DENSSWeb is written in `Go <https://golang.org/>`_ and requires go v1.11 or
greater. To compile from source run::

	$ git clone --recursive https://github.com/ubccr/denssweb
	$ cd denssweb
	$ go build .
	$ cp denssweb.yaml.sample denssweb.yaml
	(edit to taste)
	templates: "dist/templates"

Next, compile the DENSS Viewer LiteMol plugin. For instructions 
see `here <denss-viewer/README.rst>`_

Assemble the web assets and template files::

	$ ./build.sh tmpl

Run denssweb::

	$ ./denssweb -d run

------------------------------------------------------------------------
Required Software
------------------------------------------------------------------------

DENSSWeb requires the following software
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* `DENSS <https://github.com/tdgrant1/denss>`_

The following guide assumes you're running Linux Ubuntu 18.04. You will need to
adjust package names for your distro.

Install required packages::

    $ apt-get install libhdf5-100 libhdf5-dev libpng-dev libtiff5 libtiff5-dev \
         python-qt4 python-qt4-gl python-opengl python-matplotlib libfftw3-3 libfftw3-dev \
         libgsl-dev db-util libdb-dev python-bsddb3 libboost-all-dev python-dev cmake \
         cmake-curses-gui ipython libgl1-mesa-dev libglu1-mesa-dev libftgl2 libftgl-dev
         python-scipy build-essential git python-numpy

Installing DENSS
~~~~~~~~~~~~~~~~~

Clone and install DENSS::

    $ git clone https://github.com/tdgrant1/denss
    $ cd denss
    $ python setup.py install

------------------------------------------------------------------------
License
------------------------------------------------------------------------

DENSSWeb is released under the GPLv3 license. See the LICENSE file.

Documentation

The Go Gopher

There is no documentation for this package.

Source Files

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL