To install jbrowse, most users should visit http://jbrowse.org/install and download a zip file such as JBrowse-1.13.0.zip. See instructions at https://jbrowse.org/code/latest-release/docs/tutorial/ for a tutorial on setting up a sample instance.
To install from GitHub, you can simply clone the repo and run the setup.sh script
git clone https://github.com/GMOD/jbrowse
cd jbrowse
./setup.sh
At this point, if you are in the web root of your Apache or nginx folder, you can access it as http://localhost/jbrowse/?data=sample_data/json/volvox
Alternatively, run utils/jb_run.js -p 3000
and access http://localhost:3000/index.html?data=sample_data/json/volvox
to see the code running from a small express.js server.
Note: you should avoid using sudo tasks like ./setup.sh and instead use chown/chmod on folders to your own user as necessary.
Also note: After editing a file, you must re-run the webpack build with npm run build
or you can keep webpack running in "watch" mode by running npm run watch
.
Also also note: git clone by default checks out the dev branch of jbrowse. The master branch contains the latest stable release
To install jbrowse from NPM directly, you can run.
npm install GMOD/jbrowse
To setup a simple instance, you can use
node_modules/.bin/jb_setup.js
node_modules/.bin/jb_run.js
Then visit http://localhost:3000/?data=sample_data/json/volvox
Looking for places to contribute to the codebase? Check out the "help wanted" label.
The Travis-CI suite runs Perl, JavaScript, and Selenium automated tests. To run locally, you can use
prove -Isrc/perl5 -lr tests
phantomjs tests/js_tests/run-jasmine.js http://localhost/jbrowse/tests/js_tests/index.html
pip install selenium nose
MOZ_HEADLESS=1 SELENIUM_BROWSER=firefox JBROWSE_URL='http://localhost/jbrowse/index.html' nosetests
Supported browsers for SELENIUM_BROWSER are 'firefox', 'chrome', 'phantom', and 'travis_saucelabs'. The Sauce Labs + Travis one will only work in a properly configured Travis CI build environment.
JBrowse has a free open source account on Browserstack for manual testing. Contact @rbuels for access.
You can also optionally run build steps to create the minimized codebase. Extra perl dependencies Text::Markdown and DateTime are required to run the build step.
make -f build/Makefile
To build the Electron app (JBrowse desktop app), run the following
npm install -g electron-packager
make -f build/Makefile release-electron-all
To run the Electron app in debug mode run the following
npm install -g electron
electron browser/main.js
NOTE: Beginning in 1.12.4,
-
Run
build/release.sh $newReleaseVersion $nextReleaseVersion-alpha.0
, check its work, and then run thegit push
command it suggests to you. This makes a tag in the repository for the release, named, e.g.1.6.3-release
. This should cause Travis CI to create a release on GitHub under https://github.com/GMOD/jbrowse/releases -
Add release notes to the new GitHub release that Travis created. Can just paste these from release-notes.txt, which is in Markdown format.
-
Write a blog post on jbrowse.org announcing the release, with links to the built releases on GitHub. The SHA1 sums of the built release files can be seen near the end of the Travis build log, and the HTML version of the release notes can be gotten by running
make -f build/Makefile release-notes.html
. -
Update the latest-release code checkout on the site, which the "Latest Release" demo on the jbrowse.org points to, to be an unzipped-and-set-up copy of the latest release.
-
Write an email announcing the release, sending to gmod-ajax. If it is a major release, add gmod-announce and make a GMOD news item.
As you can tell, this process could really use some more streamlining and automation.