GithubHelp home page GithubHelp logo

mtann's Introduction

Ensemble of multiple references for single-cell RNA sequencing data annotation and unseen cell-type identification

mtANN is a novel cell-type annotation framework that integrates ensemble learning and deep learning simultaneously, to annotate cells in a new query dataset with the help of multiple well-labeled reference datasets. It takes multiple well-labeled reference datasets and a query dataset that needs to be annotated as input. It begins with generating a series of subsets for each reference dataset by adopting various gene selection methods. Next, for each reference subset, a base classification model is trained based on neural networks. Then, mtANN annotates the cells in the query dataset by integrating the prediction results from all the base classification models. Finally, it identifies cells that may belong to cell types not observed in the reference datasets according to the uncertainty of the predictions.

Figure1

System Requirements

Python support packages: pandas, numpy, scanpy, scipy, sklearn, torch, giniclust3, rpy2

R support packages: limma, Seurat, parallel

Versions the software has been tested on

Environment 1

  • System: Ubuntu 18.04.5
  • Python: 3.8.8
  • Python packages: pandas = 1.2.3, numpy = 1.19,2, scanpy=1.9.0, scipy = 1.6.1, sklearn = 0.24.1, torch = 1.9.1, giniclust3 = 1.1.0, rpy2 = 3.5.2
  • R: 3.6.1
  • R packages: limma = 3.42.2, Seurat = 3.1.1, parallel = 3.6.1

Environment 2

  • System: Windows 10
  • Python: 3.7.6
  • Python packages: pandas = 1.3.5, numpy = 1.21.6, scanpy=1.9.3, scipy = 1.7.3, scikit-learn = 1.0.2, torch = 1.13.0, giniclust3 = 1.1.2, rpy2 = 3.5.11
  • R: 4.1.2
  • R packages: limma = 3.50.3, Seurat = 4.2.0, parallel = 4.1.2

Installation

pip install mtANN==1.0

To successfully use mtANN, please ensure that R is correctly installed and added to the environment variables. Additionally, you need to add a new user variable named R_USER that points to the installation path of the Python package rpy2.

Useage

The mtANN repository includes the mtANN code files in the mtANN folder and provides a usage example example which specifically shows the format of the input data and the usage of the main function. The data used in the example can be downloaded at https://doi.org/10.5281/zenodo.7922657.

The input data considered by the current version of mtANN is in csv format, where rows are samples and columns are features. In addition, its cell type information is stored in another csv file, and its naming format is the name of the dataset + _label.

Contact

Please do not hesitate to contact Miss Yi-Xuan Xiong ([email protected]) or Dr. Xiao-Fei Zhang ([email protected]) to seek any clarifications regarding any contents or operation of the archive.

mtann's People

Contributors

yx-xiong avatar zhangxf-ccnu avatar

Stargazers

 avatar  avatar John avatar Ashika Jayanthy avatar  avatar

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.