Code Monkey home page Code Monkey logo

nnd's Introduction

Neural Network Deconvolution (NND)

Introduction

NND is a toolkit that unmixes bulk tumor samples. Given a non-negative bulk RNA expression matrix B \in R_+^{m x n}, where each row i is a gene, each column j is a tumor sample, our goal is to infer an expression profile matrix C \in R_+^{m x k}, where each column l is a cell community, and a fraction matrix F \in R_+^{k x n}, such that:

  B ~= C F. 

To be more specific, NND solves the following problem:

min_{C, F} || B - C F ||_{Fr}^2, 

      s.t. C_{il} >= 0,              i=1,...,m, l=1,...,k,

           F_{lj} >= 0,              l=1,...,k, j=1,...,n,

           \sum_{l=1}^{k} F_{lj} = 1,           j=1,...,n.

NND transfers the above problem equivalently into optimizating a neural network, which can be solved using through gradient descent.

NND has the following functions:

  • compress_module: Integrate gene module knowledge to reduce noise.
  • estimate_number: Estimate the number of cell populations automatically.
  • estimate_clones: Utilize core NND algorithm to unmix the cell populations.
  • estimate_marker: Estimate other biomarkers of cell populations given bulk marker data.

Prerequisites

The code runs on Python 3, and requires cvxopt and PyTorch. Most other packages are available in the Anaconda.

Usage

You can find a brief tutorial with code and output in tutorial.ipynb.

Citation

If you find NND helpful, please cite the following paper: Yifeng Tao, Haoyun Lei, Adrian V. Lee, Jian Ma, and Russell Schwartz. Neural network deconvolution method for resolving pathway-level progression of tumor clonal expression programs with application to breast cancer brain metastases. Frontiers in Physiology, 11:1055. 2020.

@article{tao2020nnd,
  title = {Neural Network Deconvolution Method for Resolving Pathway-Level Progression of Tumor Clonal Expression Programs with Application to Breast Cancer Brain Metastases},
  author = {Tao, Yifeng and Lei, Haoyun and Lee, Adrian V. and Ma, Jian and Schwartz, Russell},
  journal = {Frontiers in Physiology},
  volume = {11},
  pages = {1055},
  year = {2020},
  url = {https://www.frontiersin.org/article/10.3389/fphys.2020.01055},
  doi = {10.3389/fphys.2020.01055},
  issn = {1664-042X},
}

We further developed the NND method into Robust and Accurate Deconvolution (RAD), which follows the same APIs to NND, but is faster and more accurate compared with NND and competing algorithms.

nnd's People

Contributors

yifengtao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

s8xy

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.