Overview
Oskar is an open-source project that aims to implement a framework for genomic scale big data analysis of hundreds of terabytes or even petabytes. All these can be queried through a command line interface or be used as a library.
Oskar constitutes the big data analysis component of OpenCB initiative.
Documentation
You can find Oskar documentation and tutorials at: http://docs.opencb.org/display/oskar.
Issues Tracking
You can report bugs or request new features at GitHub issue tracking.
Release Notes and Roadmap
Releases notes are available at GitHub releases.
Roadmap is available at GitHub milestones. You can report bugs or request new features at GitHub issue tracking.
Versioning
Oskar is versioned following the rules from Semantic versioning.
Maintainers
We recommend to contact Oskar developers by writing to OpenCB mailing list [email protected]. Current main developers and maintainers are:
- Ignacio Medina ([email protected]) (Founder and Project Leader)
- Jacobo Coll ([email protected])
- Joaquin Tarraga ([email protected])
Contributing
Oskar is an open-source and collaborative project. We appreciate any help and feedback from users, you can contribute in many different ways such as simple bug reporting and feature request. Dependending on your skills you are more than welcome to develop client tools, new features or even fixing bugs.
How to build
Oskar is mainly developed in Java and it uses Apache Maven as building tool. Oskar requires Java 8, in particular JDK 1.8.0_60+, and other OpenCB dependencies that can be found in Maven Central Repository.
Stable releases are merged and tagged at master branch, you are encourage to use latest stable release for production. Current active development is carried out at develop branch and need Java 8, in particular JDK 1.8.0_60+, only compilation is guaranteed and bugs are expected, use this branch for development or for testing new functionalities. Dependencies of master branch are ensured to be deployed at Maven Central Repository, but dependencies for develop branch may require users to download and install the following git repositories from OpenCB:
- java-common-libs: https://github.com/opencb/java-common-libs (branch 'develop')
- biodata: https://github.com/opencb/biodata (branch 'develop')
- cellbase: https://github.com/opencb/cellbase (branch 'develop')
Cloning
Oskar is an open-source and free project, you can download default develop branch by executing:
imedina@ivory:~$ git clone https://github.com/opencb/oskar.git
Cloning into 'oskar'...
remote: Counting objects: 20267, done.
remote: Compressing objects: 100% (219/219), done.
remote: Total 20267 (delta 105), reused 229 (delta 35)
Receiving objects: 100% (20267/20267), 7.23 MiB | 944.00 KiB/s, done.
Resolving deltas: 100% (6363/6363), done.
Latest stable release at master branch can be downloaded executing:
imedina@ivory:~$ git clone -b master https://github.com/opencb/oskar.git
Cloning into 'oskar'...
remote: Counting objects: 20267, done.
remote: Compressing objects: 100% (219/219), done.
remote: Total 20267 (delta 105), reused 229 (delta 35)
Receiving objects: 100% (20267/20267), 7.23 MiB | 812.00 KiB/s, done.
Resolving deltas: 100% (6363/6363), done.
Build
You can build Oskar by executing the following command from the root of the cloned repository:
$ mvn clean install -DskipTests
Remember that develop branch dependencies are not ensured to be deployed at Maven Central, you may need to clone and install develop branches from OpenCB biodata, datastore, cellbase and hpg-bigdata repositories. After this you should have this file structure in Oskar/build:
oskar/build/
├── bin/
├── conf/
├── libs/
├── LICENSE
├── README.md
You can copy the content of the build folder into the installation directory such as /opt/Oskar.
Testing
You can run the unit tests using Maven or your favorite IDE. Just notice that some tests may require of certain database back-ends such as MongoDB or Apache HBase and may fail if they are not available.
Command Line Interface (CLI)
If the build process has gone well you should get an integrated help by executing:
./bin/oskar.sh --help
You can find more detailed documentation and tutorials at http://docs.opencb.org/display/oskar.
Other Dependencies
We try to improve the admin experience by making the installation and build as simple as possible. Unfortunately, for some Oskar components and functionalities other dependencies are required.
Spark
At this moment Spark is used for running most of the as big data variant analysis.