- Notifications
You must be signed in to change notification settings - Fork198
JBrowse 1, a full-featured genome browser built with JavaScript and HTML5. For JBrowse 2, seehttps://github.com/GMOD/jbrowse-components.
License
GMOD/jbrowse
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Note: most of our current development is on JBrowse 2, see our github repo herehttps://github.com/gmod/jbrowse-components
We will still continue to make bug fix and maintenance releases of JBrowse 1 butmost development is on JBrowse 2
Note: if you are using plugins with a dev version of JBrowse or installing fromGitHub, you may need to use node <=14 (e.g. node >=15 may fail) due to node-sassnot compiling on newer node versions easily. See#1607 for details
To install jbrowse, visithttp://jbrowse.org/blog and download the latestJBrowse zip file. See instructions athttp://jbrowse.org/docs/installation.htmlfor a tutorial on setting up a sample instance.
To install from GitHub, you can simply clone the repo and run the setup.shscript
git clone https://github.com/GMOD/jbrowsecd jbrowse./setup.sh
To obtain a jbrowse development environment, e.g. for jbrowse source codeediting or plugin development (or just running jbrowse from the github repo)
git clone https://github.com/GMOD/jbrowsecd jbrowse./setup.sh # not strictly necessary if you don't need to sample data
If you are going to edit the jbrowse source code, then also run
yarn watch
And keepyarn watch
running in the background as you create changes to yourcode.
To start a temporary dev server, can also run
yarn start
And keep this running in the background, this will launch a webserver runningjbrowse on port 8082.
Alternatively, you can put this jbrowse folder in your webserver (e.g./var/www/html/) directory. The key is, if you are modifying jbrowse or pluginsource code, to runyarn watch
in the background, so that webpack incorporatesyour changes in either the main codebase (src/JBrowse folder) or any plugins(plugins/YourPlugin).
In order to make downloads faster you can set a mirror for the npm registry
npm config set registry http://r.cnpmjs.orgnpm config set puppeteer_download_host=http://cnpmjs.org/mirrorsexport ELECTRON_MIRROR="http://cnpmjs.org/mirrors/electron/"
If you don't have a webserver such as apache or nginx, you can run
npm run start
and openhttp://localhost:8082/index.html?data=sample_data/json/volvox to see the coderunning from a small express.js server.You can alternatively just move the jbrowse folder into a nginx or apache rootdirectory e.g. /var/www/html and then navigate tohttp://localhost/jbrowse
Note: you should avoid using sudo tasks like ./setup.sh and instead usechown/chmod on folders to your own user as necessary.
Also note: After editing a file, you must re-run the webpack build withnpm run build
or you can keep webpack running in "watch" mode by runningnpm run watch
.
Also also note: by defaultgit clone
will clone the master branch whichcontains the latest stable release. The latest development branch is called dev.Rungit checkout dev
after clone to retrieve this
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.jsnode_modules/.bin/jb_run.js
Then visithttp://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 runlocally, you can use
prove -Isrc/perl5 -lr testsnode tests/js_tests/run-puppeteer.js http://localhost/jbrowse/tests/js_tests/index.htmlpip install selenium noseMOZ_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 properlyconfigured Travis CI build environment.
JBrowse has a free open source account onBrowserstack for manual testing. Contact @rbuels foraccess.
You can also optionally run build steps to create the minimized codebase. Extraperl dependencies Text::Markdown and DateTime are required to run the buildstep.
make -f build/Makefile
To build the Electron app (JBrowse desktop app), run the following
npm install -g electron-packagermake -f build/Makefile release-electron-all
To run the Electron app in debug mode run the following
npm install -g electronelectron browser/main.js
NOTE: Beginning in 1.12.4,
Run
build/release.sh $newReleaseVersion $nextReleaseVersion-alpha.0 notes.txt
,where notes.txt is any additional information to add to a blogpost. Thencheck its work, and then run thegit push
command it suggests to you. Thismakes 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 underhttps://github.com/GMOD/jbrowse/releasesTest that the page loads in IE11 on BrowserStack
Add release notes to the new GitHub release that Travis created. Can justpaste these from release-notes.md, which is in Markdown format.
Write a twitter post for usejbrowse and JBrowseGossip with the announcementlink to the blogpost
Write an email announcing the release, sending to gmod-ajax. If it is a majorrelease, add gmod-announce and make a GMOD news item.
As you can tell, this process could really use some more streamlining andautomation.
About
JBrowse 1, a full-featured genome browser built with JavaScript and HTML5. For JBrowse 2, seehttps://github.com/GMOD/jbrowse-components.