Skip to content
Snippets Groups Projects
user avatar
yujia1986 authored
cff9c827
History

Hamond

Hamond is an implementation of speedup DIAMOND in parallel by using Apache Hadoop. It has some advantages.

  • It has high failure tolerance, availability and scalability
  • It's faster than single PC DIAMOND in dealing with large size genomes
  • It accepts all DIAMOND alignment options
  • It can run either on an in-house Hadoop cluster or on Amazon Web Service

DIAMOND is an alignment tool:

DIAMOND is a BLAST-compatible local aligner for mapping protein and translated DNA query sequences against a protein reference database (BLASTP and BLASTX alignment mode). The speedup over BLAST is up to 20,000 on short reads at a typical sensitivity of 90-99% relative to BLAST depending on the data and settings.

Hamond is the abbreviation of Hadoop and DIAMOND. :-P

Version

1.0

System requirements

  • In-house cluster

    • Linux system
    • Hadoop-2.4.0 or higher
    • Java 1.7 environment or higher
  • Amazon Web Service

You need Gulp installed globally:

$ npm i -g gulp
$ git clone [git-repo-url] dillinger
$ cd dillinger
$ npm i -d
$ NODE_ENV=production node app

Plugins

Dillinger is currently extended with the following plugins

  • Dropbox
  • Github
  • Google Drive
  • OneDrive

Readmes, how to use them in your own application can be found here:

  • [plugins/dropbox/README.md] PlDb
  • [plugins/github/README.md] PlGh
  • [plugins/googledrive/README.md] PlGd
  • [plugins/onedrive/README.md] PlOd

Development

Want to contribute? Great!

Dillinger uses Gulp + Webpack for fast developing. Make a change in your file and instantanously see your updates!

Open your favorite Terminal and run these commands.

First Tab:

$ node app

Second Tab:

$ gulp watch

(optional) Third:

$ karma start

Docker

Dillinger is very easy to install and deploy in a Docker container.

By default, the Docker will expose port 80, so change this within the Dockerfile if necessary. When ready, simply use the Dockerfile to build the image.

cd dillinger
docker build -t <youruser>/dillinger:latest .

This will create the dillinger image and pull in the necessary dependencies. Once done, run the Docker and map the port to whatever you wish on your host. In this example, we simply map port 80 of the host to port 80 of the Docker (or whatever port was exposed in the Dockerfile):

docker run -d -p 80:80 --restart="always" <youruser>/dillinger:latest

Verify the deployment by navigating to your server address in your preferred browser.

N|Solid and NGINX

More details coming soon.

docker-compose.yml

Change the path for the nginx conf mounting path to your full path, not mine!

Todos

  • Write Tests
  • Rethink Github Save
  • Add Code Comments
  • Add Night Mode

License

MIT

Free Software, Hell Yeah!