Giter VIP home page Giter VIP logo

localzoom's Introduction

LocalZoom

This is a tool for creating interactive LocusZoom.js GWAS plots via the web browser, without uploading sensitive data to a remote web server. It works with Tabix-indexed data files in a variety of formats, and supports adding companion tracks (such as BED files).

Try it for yourself at https://statgen.github.io/localzoom/

Getting help

User and technical help is available via the LocusZoom mailing list. Please specify that you are asking about "LocalZoom".

Developer instructions

Project setup

This project uses npm for dependency management. Typically, the build commands work with all actively supported NodeJS LTS releases.

npm install

Compiles and hot-reloads for development

npm run serve

Building for production

The production build is a minified, concatenated bundle suitable for distribution on a server.

In order to use the Sentry error logging and Google Analytics features, you will need to create a file named .env.production.local (ignored by git) with the following contents (both values are optional if you don't want to use these features):

VUE_APP_SENTRY_DSN=https://dsn.example
VUE_APP_GOOGLE_ANALYTICS_KEY=UA-YOURKEY-1

Then build the assets to the dist/ folder.

npm run build

If you are distributing this to our official GitHub pages location, there is a helper command that will update (and push) the gh-pages branch:

npm run deploy

When ready, verify the built app and push to production.

Lint and fixes files

This project uses a style and syntax checker for code quality. The following command can help to identify (and automatically fix) common issues.

npm run lint

Run unit tests

npm run test:unit

localzoom's People

Contributors

abought avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

localzoom's Issues

option to select LD reference

Currently, there are no options to select the LD reference. Would be a great feature to choose from different LD sources. This could mean different 1KG populations or LD estimates from other studies. Text in the instructions state:

LD and overlay information is based on a specific build (build GRCh37 or build GRCh38 are supported).

Would also be helpful to clarify what the default LD source is at the moment.

Thanks for LocalZoom !

Are allele frequency columns auto-detected?

Related to #13 , I was eventually able to determine column names for P value, effect size, etc, that would be successfully parsed by looking at the sniffers.js file. But I don't notice anything that automatically detects the allele frequency field. My field name (A1FREQ) is not being automatically parsed, but I don't know if there are any names that can be automatically parsed, or if allele frequency always requires a manual selection step. Any pointers?

Default to same settings when loading multiple tracks?

I might have missed a way that already exists to do this, but I'm frequently loading several tracks which were usually built on the same platform (BOLT, etc). It would be convenient if it were possible to indicate that the data follow the same pattern as the most recently loaded track (e.g., which column is the effect size, allele frequency, etc).

Rework UI to better use screen space

Currently LocalZoom uses a tabbed widget to show many pieces of information. The tabbed bar takes up a lot of space, and the plot is smaller than we would like.

Rework the UI to provide better access to each section, and make more room for data.

Use Build 38 GWAS with Build 37 PheWAS

Currently, PheWAS lookups are only possible with build 37 GWAS results. Would be great to be able to convert coordinates between builds on the fly so that GWAS results and PheWAS results from different builds can be compared.

Allow thresholds for what to display

Request from Alisa manning

Some users may be using very dense gwas data (like whole genomes) with too many variants to display. The study options modal should allow users to specify a cutoff, Eg, only render variants more significant than a certain threshold. (On the assumption that most variants are not significant, so this would yield a sparse and more manageable GWAS scatter plot)

Certain features may conflict with this- Eg, credible sets and other calculations might still need to know those variants exist. Some further design work may be needed here.

Stating the expected headers

In the locuszoom document about preparing data, which is linked from localzoom, the specific names of the expected data columns are not stated. It would be useful to list the names that can be automatically detected, so that we can more easily tell how to munge our file headers for easy compatibility with localzoom.

Improve error message for large regions

Zooming to too large a region yields an unclear error message: "Could not parse specified range"

Add and test validation to explain why this size is not allowed and source max region size.

Releasing the LD reference

Currently when you click on a SNP and select 'Make LD Reference', it seems that the SNP stays the LD reference no matter what else you do. E.g., if you type a new SNP into the 'Go to region' search, the other SNP is still the LD reference.

Assuming I didn't miss part of the interface, it would be great to have a way to de-select that SNP as the LD reference.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.