Lanternfish
is a software tool to analyze cell motility data with recurrent neural networks (RNNs).Lanternfish
includes RNN architectures suitable for classification, unsupervised embedding of cell motility into a latent space by autoencoding, and motion prediction.
We've published a pre-print applying Lanternfish
in the context of myogenic activation and neoplastic transformation. Check it out on bioRxiv for in depth explanations and a demonstration of applications.
Pre-print: Deep convolutional and recurrent neural networks for cell motility discrimination and prediction
Lanternfish contains four core RNN architectures: (1) a baseline LSTM classifier, (2) an LSTM classifier with convolutional feature extractors (a "convolutional RNN"), (3) an RNN autoencoder utilizing convolutional layers, and (4) an RNN autoencoder suitable for motion prediction.
Models are found in bestiary.py
.
Motility classification models can be trained the CLI accessible via lanternfish/main.py
.
A latent space embedding of cell motility samples can be learned in an unsupervised fashion using a Lanternfish
autoencoder. These latent space embeddings may reveal interesting heterogeneity within cell populations. In an example experiment, we identified multiple distinct subpopulations of myogenic cells using this purely unsupervised latent space learning method.
Autoencoders can be trained and relevant latent spaces extracted using the CLI accessible at lanternfish/main.py
.
Lanternfish
contains tools to simulate motion that mimics a sample of heterogeneous motility behaviors, referred to as "cell mimesis". Sample motility behaviors are mimicked by decomposing the observed behavior into a set of k clusters based on displacement and directionality features, then simulating each of these clusters by fitting a Johnson distribution to displacement and turn angle observations within the cluster. Simulations are generated from each cluster proportional to their representation in the original sample.
Cell mimesis tools are found in lanternfish/cell_mimesis.py
Lanternfish
includes RNN architectures for prediction of future cell motility behaviors based on past behaviors. These models learn to predict the subsequent steps in a cell's motility path from past steps, and demonstrate performance superior to linear models in muscle stem cells.
These models can be found in lanternfish/bestiary.py
, and the linear baseline in linear_pred.py
.