This repository has been archived by the owner on Nov 21, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 6591656
Showing
2,567 changed files
with
272,571 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
For installation instructions, point your browser at | ||
docs/tutorial/index.html in this directory. |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,131 @@ | ||
|
||
use strict; | ||
use warnings; | ||
|
||
|
||
|
||
use File::Find; | ||
use ExtUtils::MakeMaker 6.30; | ||
|
||
|
||
my %libhash; | ||
find(sub { | ||
my $dest=$File::Find::name; | ||
my $src=$dest; | ||
if(/pm$/) { | ||
$dest=~ s/src\/perl5\///; | ||
$libhash{$src}='$(INST_LIB)/'.$dest; | ||
} | ||
}, "src/perl5"); | ||
|
||
my %WriteMakefileArgs = ( | ||
"ABSTRACT" => "A modern web-based genome browser.", | ||
"AUTHOR" => "Eric Yao, Colin Diesh, & other contributors", | ||
"BUILD_REQUIRES" => { | ||
"Test::More" => 0, | ||
"Test::Warn" => 0, | ||
"Capture::Tiny" => 0, | ||
"DBD::SQLite" => 0, | ||
}, | ||
"CONFIGURE_REQUIRES" => { | ||
"ExtUtils::MakeMaker" => "6.30" | ||
}, | ||
"DISTNAME" => "JBrowse", | ||
"EXE_FILES" => [ | ||
"bin/ucsc-to-json.pl", | ||
"bin/remove-track.pl", | ||
"bin/generate-names.pl", | ||
"bin/maker2jbrowse", | ||
"bin/prepare-refseqs.pl", | ||
"bin/wig-to-json.pl", | ||
"bin/biodb-to-json.pl", | ||
"bin/draw-basepair-track.pl", | ||
"bin/flatfile-to-json.pl", | ||
"bin/new-plugin.pl", | ||
"bin/add-bw-track.pl", | ||
"bin/add-bam-track.pl", | ||
"bin/add-json.pl", | ||
"bin/add-track-json.pl", | ||
"bin/bam-to-json.pl", | ||
"bin/json2conf.pl", | ||
], | ||
"LICENSE" => "perl", | ||
"NAME" => "JBrowse", | ||
"PREREQ_PM" => { | ||
"Bio::Annotation::SimpleValue" => 0, | ||
"Bio::FeatureIO" => 0, | ||
"Bio::GFF3::LowLevel::Parser" => "1.8", | ||
"Bio::Index::Fasta" => 0, | ||
"Bio::OntologyIO" => 0, | ||
"Bio::Root::Version" => "1.006000", | ||
"Bio::SeqFeature::Annotated" => 0, | ||
"Bio::SeqFeature::Lite" => 0, #< for Bio::DB::BAM | ||
"Carp" => 0, | ||
"Cwd" => 0, | ||
"DBI" => 0, | ||
"Data::Dumper" => 0, | ||
"DB_File" => 0, | ||
"Devel::Size" => 0, | ||
"Digest::Crc32" => 0, | ||
"Exporter" => 0, | ||
"Fcntl" => 0, | ||
"File::Basename" => 0, | ||
"File::Copy::Recursive" => 0, | ||
"File::Path" => 2, | ||
"File::Next" => 0, | ||
"File::Spec" => 0, | ||
"File::Spec::Functions" => 0, | ||
"File::Temp" => 0, | ||
"FindBin" => 0, | ||
"Getopt::Long" => 0, | ||
"Hash::Merge" => 0, | ||
"Heap::Simple" => 0, | ||
"Heap::Simple::XS" => 0, | ||
"IO::File" => 0, | ||
"IO::Uncompress::Gunzip" => 0, | ||
"JSON" => 2, | ||
"JSON::XS" => 0, | ||
"List::Util" => 0, | ||
"List::MoreUtils" => 0.28, | ||
"POSIX" => 0, | ||
"PerlIO::gzip" => 0, | ||
"Pod::Usage" => 0, | ||
"Parse::RecDescent" => 0, | ||
"Scalar::Util" => 0, | ||
"Storable" => 0, | ||
"URI::Escape" => 0, | ||
"base" => 0, | ||
"constant" => 0, | ||
"local::lib" => 0, | ||
"strict" => 0, | ||
"vars" => 0, | ||
"warnings" => 0 | ||
}, | ||
"VERSION" => "dev", | ||
"test" => { | ||
"TESTS" => "t/*.t" | ||
}, | ||
"PM" => \%libhash | ||
); | ||
|
||
|
||
unless ( eval { ExtUtils::MakeMaker->VERSION(6.56) } ) { | ||
my $br = delete $WriteMakefileArgs{BUILD_REQUIRES}; | ||
my $pp = $WriteMakefileArgs{PREREQ_PM}; | ||
for my $mod ( keys %$br ) { | ||
if ( exists $pp->{$mod} ) { | ||
$pp->{$mod} = $br->{$mod} if $br->{$mod} > $pp->{$mod}; | ||
} | ||
else { | ||
$pp->{$mod} = $br->{$mod}; | ||
} | ||
} | ||
} | ||
|
||
delete $WriteMakefileArgs{CONFIGURE_REQUIRES} | ||
unless eval { ExtUtils::MakeMaker->VERSION(6.52) }; | ||
|
||
WriteMakefile(%WriteMakefileArgs); | ||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
[![Build status](https://travis-ci.org/GMOD/jbrowse.svg?branch=master)](https://travis-ci.org/GMOD/jbrowse) | ||
|
||
# Installing JBrowse | ||
|
||
Users of JBrowse should get it from the main JBrowse site at http://jbrowse.org/install. | ||
|
||
Unless you intend to work on the JBrowse code itself, or develop a JBrowse plugin, stop reading now and go to http://jbrowse.org/install. | ||
|
||
# About running from a `git` clone | ||
|
||
Only developers should run JBrowse from a git repository. | ||
For one reason, the development version has a much, much slower initial load | ||
time than the built release zipfiles. Also, since the master branch code is ''in development'' for the next JBrowse release, it often (usually?) contains bad bugs, much more so than the official releases put up on JBrowse.org. | ||
|
||
# Setting up a development environment | ||
|
||
Make sure you have a web server installed on your development machine. Any web server will do. | ||
|
||
cd /my/dev/webserver/root; | ||
git clone --recursive [email protected]:YOURACCOUNT/jbrowse.git | ||
cd jbrowse | ||
./setup.sh | ||
# and now point your browser to | ||
# http://localhost/jbrowse/index.html?data=sample_data/json/volvox | ||
# and you should see the volvox example data | ||
|
||
|
||
Then you can simply edit files and your changes will be available in the browser (i.e. no build step is required) | ||
|
||
You can also optionally run build steps to create the minimized codebase | ||
|
||
make -f build/Makefile release | ||
|
||
To build the Electron 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 | ||
npm start | ||
|
||
# Running the developer test suites | ||
|
||
## Server-side Perl | ||
|
||
Tests for the server-side Perl code. You must have the JBrowse Perl | ||
module prerequisites installed for them to work. Run with: | ||
|
||
prove -Isrc/perl5 -lr tests | ||
|
||
## Client-side Unit Tests | ||
|
||
Point your browser at `http://my.dev.machine/jbrowse/tests/js_tests/index.html` | ||
|
||
You can also run them from phantomJS using | ||
|
||
phantomjs tests/js_tests/run-jasmine.js http://my.dev.machine/jbrowse/tests/js_tests/index.html | ||
|
||
## Client-side Integration Tests | ||
|
||
Integration tests for the client-side app. You need to have Python | ||
eggs for `selenium` and `nose` installed. Run the tests with: | ||
|
||
JBROWSE_URL='http://localhost/jbrowse/index.html' nosetests | ||
|
||
|
||
# Cutting a JBrowse release | ||
|
||
0. Create a directory and clone the repo: git clone --recursive https://github.com/GMOD/jbrowse.git Then for 1.12.1, git checkout tags/1.12.1-release (because it lives in a branch that is not master) | ||
|
||
1. Edit the JBrowse `package.json` file and change 'version' to the version you are releasing. *Don't commit this change to the repository, it should stay as `dev` in git so that it shows up in analytics as a development version.* | ||
|
||
2. Build the release packages: `make -f build/Makefile release`. The files produced during the build should not be committed to the repository either. There is also `make -f build/Makefile release-notest` for releases that don't need perl tests to be run. NOTE: you may need to use the command `ulimit -n 1000` to avoid "spawn EMFILE" build errors. | ||
|
||
3. Make a tag in the repository for the release, named, e.g. `1.6.3-release`. | ||
|
||
4. `scp` the release .zip files (min and full) to jbrowse.org. | ||
|
||
5. Add them to the Wordpress Downloads list so that we can track how | ||
many times they are downloaded. | ||
|
||
6. Write a blog post announcing the release. The `release-notes.html` | ||
file made during the build might be useful for this. | ||
|
||
7. Update the "Install" page on the site to point to the newest release. | ||
|
||
8. 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. | ||
|
||
9. Write an email announcing the release, sending to gmod-ajax, | ||
jbrowse-dev. 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. |
Oops, something went wrong.