Skip to content

ruojie0104/vash

 
 

Repository files navigation

VASH

VASH is an efficient web-application for browsing whole genome variants, aka a viewer for huge *.vcf files. It provises smooth browsing experience and powerful filtering tools.

This repository is a public version of VASH. The original version is maintained by Molecular Biomedical Informatics laboratory.

Before Get Started

You must have package installed before installation

  • docker
  • python >= 3.6
  • yarn or npm

Get Started

  1. Install python depandencies

    $ pip install -r requirements.txt
    

    and then follow this answer in stackoverflow.com

    $ vi <env_directory_name>/Lib/site-packages/django/db/backends/mysql/base.py
    
  2. Build front-end page

    $ yarn
    $ yarn build
    
  3. Configurate dajngo setting and database

    $ cd proj
    $ cp settings.py.sample settings.py
    $ vi settings.py
    

    and set your SECRET_KEY and DATABASE in proj.py.

  4. Configurate and run database Create directory for docker volumne at where you want and run database with docker.

    $ mkdir mysql
    $ docker run --name=mysql_vash -d -p [port]:3306 -v $PWD/mysql:/var/lib/mysql -e MYSQL_DATABASE=vash -e MYSQL_ROOT_PASSWORD=[vashpassword] mysql
    

    Note configuaration in proj/conf.py , especially port.

    Migrate.

    $ ./manage.py makemigrations app
    $ ./manage.py migrate
    

    Create users.

    $ cd bin
    $ python3 user.py [username] [password]
    

    Put your vcariant files(vcf) in home/[username]/annovar_files/.

    cp [vcf-files] into home/[username]/annovar_files/
    
  5. Run Server

    $ yarn start:server   
    

Project Structure

vcf-viewer/
|- app/                      # Django backend app main folder.
|   |- migrations/           # Migration scripts for database.
|   |- models.py             # DB Schema and Django models.
|   |- views.py              # Main api methods.
|- bin                       # Execution files and tools for cohort.
|   |- config.py             # Configuration file for every type of score in VCF files.
|   |- model_utils.py.       # Util functions
|   |- user.py               # The script creates user.
|- proj                      # Settings for Django backend.
|   |- settings.py           # Main setting file for Django backend.
|   |- urls.py               # Router for api endpoints.
|- public                    # Front-end public assets 
|- src                       # Front-end source code.
|   |- components            # Vue components.
|   |- store                 # Stores for Vuex.
|   |- config.js             # Main config file for Vue frontend.
|- manage.py                 # Main execution file for Django server.
|- home/[user]/annovarfiles/ # Directory for variant files(vcf). Created after user created.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • CSS 80.1%
  • Python 10.4%
  • Vue 6.8%
  • JavaScript 1.9%
  • Shell 0.4%
  • Dockerfile 0.2%
  • Other 0.2%