All Projects → GMOD → Jbrowse

GMOD / Jbrowse

Licence: lgpl-2.1
A modern genome browser built with JavaScript and HTML5.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Jbrowse

Deep Rules
Ten Quick Tips for Deep Learning in Biology
Stars: ✭ 179 (-54.45%)
Mutual labels:  bioinformatics, genomics, biology
Bio.jl
[DEPRECATED] Bioinformatics and Computational Biology Infrastructure for Julia
Stars: ✭ 257 (-34.61%)
Mutual labels:  bioinformatics, genomics, biology
Intermine
A powerful open source data warehouse system
Stars: ✭ 195 (-50.38%)
Mutual labels:  bioinformatics, genomics, biology
Ncbi Genome Download
Scripts to download genomes from the NCBI FTP servers
Stars: ✭ 494 (+25.7%)
Mutual labels:  bioinformatics, genomics, biology
Pygeno
Personalized Genomics and Proteomics. Main diet: Ensembl, side dishes: SNPs
Stars: ✭ 261 (-33.59%)
Mutual labels:  bioinformatics, genomics, biology
full spectrum bioinformatics
An open-access bioinformatics text
Stars: ✭ 26 (-93.38%)
Mutual labels:  bioinformatics, genomics, biology
Jvarkit
Java utilities for Bioinformatics
Stars: ✭ 313 (-20.36%)
Mutual labels:  bioinformatics, genomics, biology
Tdc
Therapeutics Data Commons: Machine Learning Datasets and Tasks for Therapeutics
Stars: ✭ 291 (-25.95%)
Mutual labels:  bioinformatics, biology
lexicon-mono-seq
DOM Text Based Multiple Sequence Alignment Library
Stars: ✭ 15 (-96.18%)
Mutual labels:  bioinformatics, biology
varsome-api-client-python
Example client programs for Saphetor's VarSome annotation API
Stars: ✭ 21 (-94.66%)
Mutual labels:  bioinformatics, genomics
Vcfanno
annotate a VCF with other VCFs/BEDs/tabixed files
Stars: ✭ 259 (-34.1%)
Mutual labels:  bioinformatics, genomics
Arvados
An open source platform for managing and analyzing biomedical big data
Stars: ✭ 274 (-30.28%)
Mutual labels:  bioinformatics, genomics
Megahit
Ultra-fast and memory-efficient (meta-)genome assembler
Stars: ✭ 343 (-12.72%)
Mutual labels:  bioinformatics, genomics
GenomeAnalysisModule
Welcome to the website and github repository for the Genome Analysis Module. This website will guide the learning experience for trainees in the UBC MSc Genetic Counselling Training Program, as they embark on a journey to learn about analyzing genomes.
Stars: ✭ 19 (-95.17%)
Mutual labels:  bioinformatics, genomics
fermikit
De novo assembly based variant calling pipeline for Illumina short reads
Stars: ✭ 98 (-75.06%)
Mutual labels:  bioinformatics, genomics
gff3toembl
Converts Prokka GFF3 files to EMBL files for uploading annotated assemblies to EBI
Stars: ✭ 27 (-93.13%)
Mutual labels:  bioinformatics, genomics
bacnet
BACNET is a Java based platform to develop website for multi-omics analysis
Stars: ✭ 12 (-96.95%)
Mutual labels:  bioinformatics, genomics
EarlGrey
Earl Grey: A fully automated TE curation and annotation pipeline
Stars: ✭ 25 (-93.64%)
Mutual labels:  bioinformatics, genomics
Seq
A high-performance, Pythonic language for bioinformatics
Stars: ✭ 263 (-33.08%)
Mutual labels:  bioinformatics, genomics
Pyfaidx
Efficient pythonic random access to fasta subsequences
Stars: ✭ 307 (-21.88%)
Mutual labels:  bioinformatics, genomics

Build status Contributor Covenant

Installing JBrowse

To install jbrowse, visit http://jbrowse.org/blog and download the latest JBrowse zip file. See instructions at http://jbrowse.org/docs/installation.html for a tutorial on setting up a sample instance.

Install JBrowse from GitHub (for developers)

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

Develop JBrowse or JBrowse plugins

To obtain a jbrowse development environment, e.g. for jbrowse source code editing or plugin development (or just running jbrowse from the github repo)

git clone https://github.com/GMOD/jbrowse
cd 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 keep yarn watch running in the background as you create changes to your code.

To start a temporary dev server, can also run

yarn start

And keep this running in the background, this will launch a webserver running jbrowse 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 plugin source code, to run yarn watch in the background, so that webpack incorporates your changes in either the main codebase (src/JBrowse folder) or any plugins (plugins/YourPlugin).

Note for users in China

In order to make downloads faster you can set a mirror for the npm registry

npm config set registry http://r.cnpmjs.org
npm config set puppeteer_download_host=http://cnpmjs.org/mirrors
export ELECTRON_MIRROR="http://cnpmjs.org/mirrors/electron/"

Notes on setting up a JBrowse 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: by default git clone will clone the master branch which contains the latest stable release. The latest development branch is called dev. Run git checkout dev after clone to retrieve this

Installing as an npm module

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

Contributing

Looking for places to contribute to the codebase? Check out the "help wanted" label.

Running the developer test suites

The Travis-CI suite runs Perl, JavaScript, and Selenium automated tests. To run locally, you can use

prove -Isrc/perl5 -lr tests
node tests/js_tests/run-puppeteer.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.

Manual testing

Browserstack

JBrowse has a free open source account on Browserstack for manual testing. Contact @rbuels for access.

Generating Packaged Builds

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

Making a JBrowse release

NOTE: Beginning in 1.12.4,

  1. Run build/release.sh $newReleaseVersion $nextReleaseVersion-alpha.0 notes.txt, where notes.txt is any additional information to add to a blogpost. Then check its work, and then run the git 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

  2. Test that the page loads in IE11 on BrowserStack

  3. Add release notes to the new GitHub release that Travis created. Can just paste these from release-notes.md, which is in Markdown format.

  4. Write a twitter post for usejbrowse and JBrowseGossip with the announcement link to the blogpost

  5. 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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].