GithubHelp home page GithubHelp logo

dpeerlab / sckinetics Goto Github PK

View Code? Open in Web Editor NEW
20.0 2.0 3.0 95.33 MB

Code for scKINETICS (ISMB 2023)

Python 9.67% Jupyter Notebook 90.33%
atac-seq expectation-maximization gene-regulatory-network single-cell-analysis

sckinetics's Introduction

scKINETICS

We introduce scKINETICS (Key regulatory Interaction NETwork for Inferring Cell Speed), a dynamical model of gene expression change which is fit with the simultaneous learning of per-cell transcriptional velocities and a governing gene regulatory network. This is accomplished through an expectation-maximization approach derived to learn the impact of each regulator on its target genes, leveraging biologically-motivated priors from epigenetic data, gene-gene co-expression, and constraints on cells’ future states imposed by the phenotypic manifold.

Demo

The demo shows the main functionalities of the package including input file generation, GRN construction, EM estimation, visualizations, and the TF ablation experiment.

Paper

https://academic.oup.com/bioinformatics/article/39/Supplement_1/i394/7210448

sckinetics's People

Contributors

juliaczhao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

sckinetics's Issues

Indexing into list of genes with a covariance matrix

Hi! I'm a causal inference and transcriptional data enthusiast, and I'm excited to try out scKINETICS because I think the backronym is really cool and it has a really neat way of getting around the steady state assumption that Dictys and CellOracle make. I ran into an error on this line.

prior_genes[celltype] = np.array([columns.index(gene) for gene in list(celltype_priors[celltype])])

It seems to:

  • make a list containing a single covariance matrix, or a chunk of one.
  • iterate over that list, storing the matrix in a variable gene.
  • index into columns.index looking for the integer position of gene.

Should gene not be a string containing a gene name, or an int? Why is it not the following?

prior_genes[celltype] = np.array([adata.var_names.index(gene) for gene in adata.var_names])

Thank you!

some dependencies missing in requirements.yml

Dear developers, thank your for sharing your work, you did an amazing job.

I had some issues during the setup of the conda environment because of some conflicts between the R version installed within conda environment and another installation that I already had (basically the problem is caused by rpy2 and I could solve it setting the right LD_LIBRARY_PATH in the environment variables, etc...)

Then I had to install some missing dependencies (TxDb.Mmusculus.UCSC.mm10.knownGene, genomeinfodb; genomeinfodbdata; chipseeker). It would be great if they were already specified in the requirements file.

Thanks!

Lídia

Integrating scRNA-seq, scATAC-seq, and bulk ATAC-seq

Hello,

Great tool. We are interested in using scKINETICS for an experiment in which we have scRNA-seq, scATAC-seq, and bulk ATAC-seq data. Is it possible to use all three modalities within the scKINETICS framework? And if so are there any demonstrations available?

Best,
Bryan

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.