gwas-credible-sets
A package for calculating Bayes factors and credible sets from genome-wide association study (GWAS) results.
Synopsis
This package provides functions for calculating Bayes factors and credible sets using p-values from GWAS results. These functions can be used separately, or combined with locuszoom.js for interactive credible set visualization.
LocusZoom implements a simple procedure based on this package. See the usage instructions, below, for an example. In the future, additional methods for identifying and annotating credible sets may be provided.
Usage
How to include in your project
This package may be directly incorporated into other javascript projects as a module, or by including
dist/gwas-credible-sets.min.js
directly into your page (as a standalone file, or via a CDN option such as unpkg).
gwas-credible-sets
also supports several packaging environments and may be used in both client and server side
applications, including Node.js, ES6 modules, and Webpack. It may be installed from NPM:
npm install --save gwas-credible-sets
For information about performance impacts of client-side computation, see timing and performance estimates.
Sample credible set calculation
The instructions below assume that the module is being sourced directly into a page:
<script src="https://cdn.example/gwas-credible-sets.min.js" type="application/javascript"></script>
The example below assumes that you are given an array of p-values, each representing a different data point. It returns a set of booleans saying whether each data point is a member of the 95% credible set.
/// Calculate Bayes factors and process into a form that can be used for the credible set
var scores = gwasCredibleSets.scoring.bayesFactors(nlogpvals);
var posteriorProbabilities = gwasCredibleSets.scoring.normalizeProbabilities(scores);
// Identify the credible set and apply filters for visualization
var credibleSet = gwasCredibleSets.marking.findCredibleSet(posteriorProbabilities, 0.95);
var credibleSetBoolean = gwasCredibleSets.marking.markBoolean(credibleSet);
The marking
module contains several helper functions to control how the credible set is returned. Helper methods are
provided to process the set members (posterior probabilities) in ways that support visualization needs.
See full documentation for details.
Development
Requirements
This package has been developed and tested using Node.js 8 LTS (Carbon).
If you would like to make changes to the core functionality within this module for development, install package requirements as follows:
npm install
Some portions of the documentation (such as methods) require pandoc
and a working LaTeX
installation on your
system; you must install these separately.
Useful Commands
The following commands are particularly useful during development
-
npm test
: run unit tests and exit -
npm run watch
: auto-run tests whenever code changes -
npm run build
: builddist/
files and update documentation