JBConnect¶
Paper: JBrowse Connect: A server API to connect JBrowse instances and users, Yao, Buels, Stein, Sen, Holmes, et al. 2020; PLOS Computational Biology
JBConnect provides the following features:
Sails JS - NodeJS/Expressed-based |
Tightly integrated with JBrowse |
Track & Dataset Management with JBrowse integration
|
Flexible Authentication – (Passport.js) supporting strategies, like OAuth2, OpenID, etc. |
User management services |
Policy Engine f0r managing access to Tracks, Datasets, Services, Assets |
Extensible server-side analysis with workflow abstraction and job queue |
Waterline ORM (MongoDB, MySQL, Postgres, Redis, etc.) with integrated Blueprint object models |
npm installable hook model supporting both client-side (JBrowse plugins) and server-side extensions in a single package. |
Grunt – task management (minification, watches, etc.) |
Quick Start¶
The quick start instructions demonstrate installing JBConnect with JBrowse loaded as a an NPM module (since JBConnect is generally intended to be a companion of JBrowse. JBrowse may also be installed in a separate directory. (See JBrowse Installed In Separate Directory.)
Pre-Install¶
JBConnect requires sailsjs and redis . Redis is only used by the queue framework (kue)
yum install redis
redis-server
npm install -g sails@1.0.2
Install¶
Install the JBConnect and JBrowse. jb_setup.js ensures the sample data is loaded.
git clone http://github.com/gmod/jbconnect
cd jbconnect
npm install
npm install @gmod/jbrowse@1.15.1
patch node_modules/@gmod/jbrowse/setup.sh fix_jbrowse_setup.patch
./utils/jb_setup.js
The patch operation is needed to make JBrowse 1.15.1 setup.sh run properly. If JBrowse is installed in another location, the patch should be run before setup.sh.
Run¶
Launch the server.
sails lift
From a web browser, access the application.
http://localhost:1337/login
You will arrive at the following screen
The default username/password: juser/password
Vulnerabilty Warnings¶
npm currently reports a number of vulnerability warnings of various degrees of severity, most of which are coming from Sails. Many of these warnings are fixed in a later version of SailsJS. We hope in a future release of the software to correct more of these warnings.
Contents¶
- Features
- Configuration Options
- JBConnect Hooks
- Tutorials
- API
- Namespace:
AuthController
- Module:
controllers/DatasetController
- Module:
controllers/JobActiveController
- Module:
controllers/JobController
- Module:
controllers/ServiceController
- Module:
controllers/TrackController
- Module:
controllers/UserController
- Module:
models/Dataset
- Module:
models/Job
- Module:
models/JobActive
- Module:
models/Passport
- Module:
models/Service
- Module:
models/Track
- Module:
models/User
- Module:
policies/bearerAuth
- Module:
policies/isAdmin
- Module:
policies/passport
- Module:
policies/sessionAuth
- Module:
services/jbutillib
- Module:
services/passport
- Module:
services/postAction
- Module:
services/serviceProc
- Namespace: