项目作者: evolbioinfo

项目描述 :
booster-web
高级语言: Go
项目地址: git://github.com/evolbioinfo/booster-web.git
创建时间: 2017-02-13T16:30:57Z
项目社区:https://github.com/evolbioinfo/booster-web

开源协议:GNU General Public License v2.0

下载


BOOSTER-WEB: Web interface to BOOSTER

build

This interface presents informations about BOOSTER program, and allows to run BOOSTER easily.

Installing BOOSTER-WEB

Already compiled

Download a release in the release section. You can directly run the executable for your platform.

From source

To compile BOOSTER-WEB, you must download and install Go (version >=1.9) on your system.

Then you just have to type :

  1. go get github.com/evolbioinfo/booster-web/
  2. go get -u github.com/golang/dep/cmd/dep

This will download BOOSTER-WEB sources from github, and its dependencies.

You can then build BOOSTER-WEB with:

  1. cd $GOPATH/src/github.com/evolbioinfo/booster-web/
  2. dep ensure
  3. make

The booster-web executable should be located in the $GOPATH/bin folder.

From Docker

A docker image running a Galaxy server with all tools used by booster-web (PhyML-SMS, FastTree, Booster) and an already configured booster-web server is avalaible on docker hub.

  • Download and run already configured booster-web + galaxy servers:
  1. docker run --privileged=true \
  2. -p 8080:80 -p 8000:8888 \
  3. -p 8 -p 8121:21 -p 8122:22 \
  4. evolbioinfo/booster-web:v0.1.8

Then visit http://localhost:8000 .

Running BOOSTER-WEB

Default configuration

You can directly run the booster-web executable without any configuration. It will setup a web server with the following default properties:

  • Run on localhost, port 8080
  • Log to stderr
  • In memory database (analyses will not persist after server shutdown)
  • Local processor (booster jobs will run on the local machine)
  • 1 parallel Runner: One job at a time
  • Job Timeout: unlimited
  • 1 thread per job

To access the web interface, just go to http://localhost:8080

Note that the local processor only allows to run booster from already inferred trees (no PhyML-SMS nor FastTree workflow).
To also run tree inference workflows, see “Other configurations”, or “Install from Docker”.

Other configurations

It is possible to configure booster-web to run with specific options. To do so, create a configuration file booster-web.toml with the following sections:

  • general
    • maintenance = [true|false]
  • database
    • type = “[memory|mysql]”
    • user = “[mysql user]”
    • port = [mysql port]
    • host = “[mysql host]”
    • pass = “[mysql pass]”
    • dbname = “[mysql dbname]”
  • itol
    • key = “[iTOL api key]”
    • project = “[itol upload project]”
  • runners
    • type=”[galaxy|local]”
    • queuesize=[size of job queue]
    • nbrunners=[number of parallel local runners]
    • jobthreads=[number of threads per local job]
    • timeout=[job timeout in seconds: 0=ulimited]
    • memlimit=[Max allowed Memory in Bytes]
    • keepold=[Number of days to keep results of old analyses]
  • galaxy (Only used if runners.type=”galaxy”)
    • key=”[galaxy api key]”
    • url=”[url of the galaxy server: http(s)://ip:port]”
  • galaxy.tools
    • booster=”[Id of booster tool on the galaxy server]”
    • phyml=”[Id of PHYML-SMS tool on the galaxy server]”
    • fasttree=”[Id of FastTree tool on the galaxy server]”
  • notification (for notification when jobs are finished)
    • activated=[true|false]
    • smtp=”[smtp serveur for sending email]”
    • port=[smtp port]
    • user=”[smtp user]”
    • pass=”[smtp password]”
    • resultpage = “[url to result pages]”
    • sender=”[sender of the notification]”
  • logging
    • logfile= “[stderr|stdout|/path/to/logfile]”
  • http
    • port=[http server listening port]
  • authentication
    • user=”[global username]”
    • password=”[global password]”

And run booster web: booster-web --config booster-web.toml

Example of configuration file

  1. [general]
  2. # If booster-web is in maintenance mode or not
  3. maintenance = false
  4. [database]
  5. # Type : memory|mysql (default memory)
  6. type = "mysql"
  7. user = "mysql_user"
  8. port = 3306
  9. host = "mysql_server"
  10. pass = "mysql_pass"
  11. dbname = "mysql_db_name"
  12. [itol]
  13. key = "xxxxxxxxxx"
  14. project = "booster"
  15. [runners]
  16. # galaxy|local if galaxy: required galaxykey & galaxyurl
  17. type="galaxy"
  18. # Maximum number of pending jobs (default : 10): for galaxy & local
  19. queuesize = 200
  20. # Number of parallel running jobs (default : 1): for local only
  21. nbrunners = 1
  22. # Number of cpus per bootstrap job : for local only
  23. jobthreads = 10
  24. # Timout for each job in seconds (default unlimited): for local only
  25. #timeout = 1000
  26. # Memory limit in Bytes for each job (uses job memory estimation): for galaxy only
  27. #memlimit = 8000000000
  28. # Keep old finished analyses for 10 days, default=0 (unlimited)
  29. keepold = 10
  30. #Only used if runners.type="galaxy"
  31. [galaxy]
  32. key="galaxy_api_key"
  33. url="https://galaxy.server.com/"
  34. [galaxy.tools]
  35. # Id of booster tool on the galaxy server
  36. booster="/.../booster/booster/version"
  37. # Id of PhyML-SMS tool on the galaxy server
  38. phyml="/.../phyml-sms/version"
  39. # Id of FastTree tool on the galaxy server
  40. fasttree="/.../fasttree/version"
  41. # For notification when job is finished
  42. [notification]
  43. # true|false
  44. activated=true
  45. # smtp serveur for sending email
  46. smtp="smtp.serveur.com"
  47. # Port
  48. port=587
  49. # Smtp user
  50. user="smtp_user"
  51. # Smtp password
  52. pass="smtp_pass"
  53. # booster-web server name:port/view page,
  54. # used to give the right url in result email
  55. resultpage = "http://url/view"
  56. # sender of the notification
  57. sender = "sender@server.com"
  58. [logging]
  59. # Log file : stdout|stderr|any file
  60. logfile = "booster.log"
  61. [http]
  62. # HTTP server Listening port
  63. port = 4000
  64. # For running a private server, default: no authentication
  65. #[authentication]
  66. #user = "user"
  67. #password = "pass"