Skip to content
/ DLAG Public

A dimensionality reduction framework for disentangling the flow of signals between populations of neurons

License

Notifications You must be signed in to change notification settings

egokcen/DLAG

Repository files navigation

DLAG (Delayed Latents Across Groups)

This project contains a Matlab implementation of DLAG, a dimensionality reduction framework for disentangling the flow of signals between populations of neurons.

Table of Contents

Citing this work

The DLAG model, along with learning and inference procedures, are described in detail in the following paper (access the main text and supplement):

  • Gokcen, E., Jasper, A. I., Semedo, J. D., Zandvakili, A., Kohn, A., Machens, C. K. & Yu, B. M. Disentangling the flow of signals between populations of neurons. Nature Computational Science 2, 512–525 (2022).

For proper attribution, please cite this reference and this codepack if you use any portion of this code in your own work.

This project now also includes a frequency domain approach to dramatically accelerate the fitting of DLAG models, based on the following paper:

  • Gokcen, E., Jasper, A. I., Kohn, A., Machens, C. K., & Yu, B. M. Fast multigroup Gaussian process factor models. Neural Computation, 37, 1709-1782 (2025).

Please cite this reference if you use the frequency domain functionality of this project in your own work.

System requirements

This codepack was written in Matlab (The MathWorks, Inc.), and must be run in Matlab.

Some functions rely on the C/MEX Matlab interface for speedup, whereby C code can be compiled and used from within Matlab. A native C compiler is necessary to take advantage of this functionality. Windows users may require extra installation of, for example, Microsoft Visual C++ or MinGW. The code is written to default to a native Matlab code implementation if mex files cannot be properly executed, and will still work correctly.

Installation guide

Simply download and extract the latest release of this project to your desired local directory.

Install Matlab.

You may need to specifically install the Matlab Bioinformatics Toolbox before getting started, if it's not already installed in your Matlab build.

For C/MEX Compilation, simply run startup.m.

Assuming Matlab is already installed on your machine, setup should not take more than a few minutes.

Getting started

Execute startup.m to add all necessary dependencies to the Matlab path. Then to get familiar with the methods in this codepack and their usage, check out the demo directory. There, demo scripts provide comprehensive demonstrations of exploratory data analysis, model selection / cross validation, and post-selection inference.

Project wiki

For additional information on getting started, as well as subtler usage details, see this project's wiki.

Contact

For questions, please contact Evren Gokcen at egokcen@cmu.edu.

License

MIT

Acknowledgments

This DLAG implementation started with base code located here.

That project contains implementations of GPFA and TD-GPFA, which are described in the following references:

  • Yu, B. M., Cunningham, J. P., Santhanam, G., Ryu, S. I., Shenoy, K. V. & Sahani, M. Gaussian-Process Factor Analysis for Low-Dimensional Single-Trial Analysis of Neural Population Activity. Journal of Neurophysiology 102, 614–635 (2009).

  • Lakshmanan, K. C., Sadtler, P. T., Tyler-Kabara, E. C., Batista, A. P. & Yu, B. M. Extracting Low-Dimensional Latent Structure from Time Series in the Presence of Delays. Neural Computation 27, 1825–1856 (2015).

About

A dimensionality reduction framework for disentangling the flow of signals between populations of neurons

Resources

License

Stars

Watchers

Forks

Packages

No packages published