puzzle

Web UI for searching genome variations


Keywords
puzzle, development
License
MIT
Install
pip install puzzle==0.1.1

Documentation

Puzzle Build Status Test Coverage

Documentation at www.robinandeer.com/puzzle/

Variant Caller GUI and genetic disease analysis tool.

$ git clone https://github.com/robinandeer/puzzle.git
$ cd puzzle
$ pip install --editable .
$ puzzle view tests/fixtures/
# open webbrowser on port 5000
$ open http://localhost:5000

Using Puzzle

Puzzle will look for variant calling resources such as VCF files and GEMINI databases and visualize their content. It lets you inspect, annotate, and analyze variant calls.

Puzzle is not primarily meant to be run as a persistant server but think of it more as an webinterface to quickly spin to visualize your variant calls.

We set out to make Puzzle both very simple to install as well as intuitive to use. You can be up and running in minutes with minimal prerequisites.

Developing Puzzle

Puzzle is a Python Flask app with a command line interface. It can work with multiple backends using plugins; raw VCFs, GEMINI, MongoDB.

Anyone can help make this project better - read CONTRIBUTING to get started!

Install for development

I decided to try out Otto for this project so make sure you have it installed 😄

$ git clone https://github.com/robinandeer/puzzle.git
$ cd puzzle
$ otto dev
$ otto dev ssh
> npm install
> sudo apt-get install vim python-pip git
> pip install --user --editable .
> puzzle /vagrant/tests/
# open webbrowser on port 5000

Testing Puzzle

To run the tests, you need pytest installed in your system. You can install pytest together with the other development libraries by running pip install -r requirements-dev.txt.

You will also need to download the database used for testing, which you can do by executing this command:

wget https://s3-us-west-2.amazonaws.com/robinandeer/HapMapFew.db -O tests/fixtures/HapMapFew.db

To test a gemini database with structural variants do:

wget https://s3-us-west-2.amazonaws.com/robinandeer/HapMapSv.db -O tests/fixtures/HapMapSv.db

Then, just run py.test tests/

Use a gemini database

Make sure you have gemini installed in your local environment

puzzle view path/to/gemini_database.db

Use ped info

Puzzle uses the ped file to show more information in family view and in variant calls:

puzzle view tests/fixtures/hapmap.vcf --family_file/-f tests/fixtures/hapmap.ped

Establish a persistent local database

Puzzle can establish a persistent local database, so you can keep work between sessions. This enables other key features, such as gene lists for filtering and variant triage. First, you need to initialize a local database. Then one or more cases can be loaded and are then ready for viewing as soon as the web server is started.

puzzle init --root tests/fixtures
puzzle load --root tests/fixtures tests/fixtures/hapmap.vcf
puzzle view --root tests/fixtures

Structural variant visualisation

Puzzle enables visualisation also of structural variants with the use of '--variant-type sv' with '--load' or '--view'. Enjoy a list view of SVs as stored in gemini or vcf format. Key fields such as chromosomal band and size are enabled by default.

If gemini database with sv:s is downloaded, as described above, do:

puzzle view tests/fixtures/HapMapSv.db

To view a example file with sv:s:

puzzle view tests/fixtures/hapmap.sv.vep.vcf.gz

Build documentation

Documentation is generated using Gitbook. Building the docs locally requires the GitBook CLI.

$ cd puzzle/
$ npm install -g gitbook-cli
$ gitbook serve ./docs

The documentation can now be viewed on http://localhost:4000/.

Credits

Puzzle Piece by Creative Stall from the Noun Project

License

MIT. See the LICENSE file for more details.