Giter Club home page Giter Club logo

dsc-log-fold-change's Introduction

dsc-log-fold-change

Travis-CI Build Status

CircleCI

This is (or will be) a Dynamic Statistical Comparison to estimating (or testing) the "log-fold-change" in mean between two groups from count data.

Our intention is to initially focus on data from single-cell experiments.

The goal:

The goal is to compare methods for estimating the log-fold-change between two groups.

Methods will input:

  • $Y1 a numeric matrix of data from group 1 (p by n, p genes in columns, n samples/cells in rows)
  • $Y2 a numeric matrix of data from group 2 (p by n, p genes in columns, n samples/cells in rows)

and optionally:

  • $X1 an n vector of covariates from group 1 (eg "library size")
  • $X2 an n vector of covariates from group 2

Methods will output:

  • $log_fold_change_est a vector of estimates of log(mu1/mu2) for each gene where mu1 is the mean of group 1 and mu2 is the mean of group 2
  • $s_hat a vector of standard error for the estimated $log_fold_change
  • $p a p-vector of p values testing whether each log-fold change is 0

Data

We will create synthetic data (from real data) that have known log-fold-change values, and compare the estimates with the real values. We will also assess calibration of p values (eg on null data, we should get uniform p values) and power.

To create data we will take a file containing count data and select samples at random to create two groups. These will be "null" data.

Input:

  • file of data
  • n1 sample size for group 1
  • n2 sample size for group 2
  • p number of genes
  • pi0 proportion of nulls
  • g a distribution on non-zero effects

Output:

  • $Y1
  • $Y2
  • $log-fold-change (true value of log_fold_change for each gene)

Methods

List methods we might want to use...

Installation

We manage package installation using conda. Aftering installing conda, you have two options for installing the dependencies:

  1. Create a new environment with conda-env:
    conda env create --file environment.yaml
    source activate dsc-log-fold-change
    
  2. Directory install with conda install:
    conda config --add channels jdblischak
    conda config --add channels defaults
    conda config --add channels bioconda
    conda config --add channels conda-forge
    conda install --file requirements/conda-forge \
                  --file requirements/bioconda \
                  --file requirements/jdblischak
    

The advantage of the first option is convenience. It creates an environment and installs packages from specific channels, all in one step. The advantage of the second step is that it is faster and more robust.

If you need to add a new package for the benchmark, please add it to both environment.yaml and to one of the files in requirements/.

Run DSC

The main DSC file is benchmarks.dsc. To see what is available:

./benchmark.dsc -h

and to run the benchmark:

./benchmark.dsc

Or to run a minimal test benchmark, eg

./benchmark.dsc --target "get_data * wilcoxon_test" --truncate --replicate 1 # default is in fact --replicate 1

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.