Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

Clinical DNA variant visualizer and browser.

Project description

<p align="center">
<a href="">
<img height="165" width="637" src="artwork/logo-display.png">
<h3 align="center">Analyze VCFs and collaborate on solving rare diseases quicker</h3>

[![Build Status][travis-img]][travis-url]
[![PyPI Version][pypi-img]][pypi-url]

## What is Scout?

- **Simple** - Analyze variants in a simple to use web interface.
- **Aggregation** - Combine results from multiple analyses and VCFs into a centralized database.
- **Collaboration** - Write comments and share cases between users and institutes.

## Documentation

This README only gives a brief overview of Scout, for a more complete reference, please check out our docs: [](

## Installation

<!-- You can install the latest release of Scout using `pip`:

pip install scout-browser

# ... to include optional coverage tools you would use:
pip install scout-browser[coverage]

If you would like to install Scout for local development: -->

git clone
cd scout
pip install --requirement requirements.txt --editable .

You also need to have an instance of MongoDB running. I've found that it's easiest to do using the official Docker image:

docker run --name mongo -p 27017:27017 mongo

## Usage

### Demo

Once installed, you can setup Scout by running a few commands using the included command line interface. Given you have a MongoDB server listening on the default port (27017), this is how you would setup a fully working Scout demo:

scout setup demo

This will setup an instance of scout with a database called `scout-demo`. Now run

scout --demo serve
And play around with the interface. A user has been created with email so use that adress to get access

### Initialize scout

To initialize a working instance with all genes, diseases etc run

scout setup database

for more info, run `scout --help`

> If you intent to use authentication, make sure you are using a Google email!

The previous command setup the database with a curated collection of gene definitions with links to OMIM along with HPO phenotype terms. Now we will load some example data. Scout expects the analysis to be accomplished using various gene panels so let's load one and then our first analysis case:

scout load panel scout/demo/panel_1.txt
scout load case scout/demo/643594.config.yaml

## Integration with chanjo for coverage report visualization

Scout may be configured to visualize coverage reports produced by [Chanjo][chanjo]. Instructions on how to enable this feature can be found in the document [chanjo_coverage_integration](docs/admin-guide/

## Server setup

Scout needs a server config to know which databases to connect to etc. Depending on which information you provide you activate different parts of the interface automatically, including user authentication, coverage, and local observations.

This is an example of the config file:


# list of email addresses to send errors to in production
ADMINS = ['']

MONGO_HOST = 'localhost'
MONGO_PORT = 27017
MONGO_DBNAME = 'scoutTest'

# enable user authentication using Google OAuth
GOOGLE = dict(
'scope': (" "

# enable Phenomizer gene predictions from phenotype terms

# enable Chanjo coverage integration
REPORT_LANGUAGE = 'en' # or 'sv'

# other interesting settings
SQLALCHEMY_TRACK_MODIFICATIONS = False # this is essential in production
TEMPLATES_AUTO_RELOAD = False # consider turning off in production
SECRET_KEY = 'secret key' # override in production!

Starting the server in now really easy, for the demo and local development we will use the CLI:

scout serve --config ./

![Scout Interface demo](artwork/scout-variant-demo.png)

### Hosting a production server

When running the server in production you will likely want to use a proper Python server solution such as Gunicorn. This is also how we can multiprocess the server and use encrypted HTTPS connections.

SCOUT_CONFIG=./ gunicorn --workers 4 --bind --access-logfile - --error-logfile - --keyfile /tmp/myserver.key --certfile /tmp/server.crt wsgi_gunicorn:app

> The `` file is included in the repo and configures Flask to work with Gunicorn.

## Example of analysis config



Project details

Release history Release notifications

This version
History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
scout_browser-4.0.0-py2.py3-none-any.whl (2.7 MB) Copy SHA256 hash SHA256 Wheel py2.py3 Jun 15, 2018
scout-browser-4.0.0.tar.gz (2.6 MB) Copy SHA256 hash SHA256 Source None Jun 15, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page