Skip to main content

TODO

Project description

in silico fate mapping

License BSD-3 PyPI Python Version tests codecov napari hub

Interactive in silico fate mapping from tracking data.

This napari plugin estimates the cell fates from tracking data by building a radial regression model per time point. The user can select an area of interest using a Points layer; the algorithm will advent the probed coordinates forward (or backward) in time, showing the estimated fate.

Video example below:

https://user-images.githubusercontent.com/21022743/216478216-89c1c35f-2ce4-44e8-adb8-9aeea75b5833.mp4

Installation

We suggest you create a fresh conda environment to avoid conflicts with your existing package. To do this, you need to:

conda create -n fatemap python=3.11
conda activate fatemap

And then, you can install in-silico-fate-mapping via pip and other additional useful packages:

pip install ultrack napari-ome-zarr napari[all] in-silicio-fate-mapping

To install the latest development version :

pip install git+https://github.com/royerlab/in-silico-fate-mapping.git

IO file format

This plugin does not depend on a specific file format, the only requirement is using a Track layer from napari.

Despite this, we ship a reader and writer interface. It supports .csv files with the following reader TrackID, t, (z), y, x, z is optional. Such that each tracklet has a unique TrackID and it's composed of a sequence o time and spatial coordinates.

This is extremely similar to how napari store tracks, more information can be found here.

Divisions are not supported at the moment.

Usage Example

Minimal example

Minimal example using a track file following the convention described above.

import napari
import pandas as pd
from in_silico_fate_mapping.fate_mapping import FateMapping

tracks = pd.read_csv("tracks.csv")

fate_map = FateMapping(radius=5, n_samples=25, bind_to_existing=False, sigma=1)
fate_map.data = tracks[["TrackID", "t", "z", "y", "x"]]

source = tracks[tracks["t"] == 0].sample(n=1)

tracks = fate_map(source[["t", "z", "y", "x"]])

napari.view_tracks(tracks)
napari.run()

Zebrahub example

Zebrafish embryo tail example. This example requires the package napari-ome-zarr.

import napari
import pandas as pd
from in_silico_fate_mapping import FateMappingWidget

image_path = "http://public.czbiohub.org/royerlab/zebrahub/imaging/single-objective/ZSNS001_tail.ome.zarr"
tracks_path = "http://public.czbiohub.org/royerlab/zebrahub/imaging/single-objective/ZSNS001_tail_tracks.csv"

viewer = napari.Viewer()
viewer.window.add_dock_widget(FateMappingWidget(viewer))

viewer.open(image_path, plugin="napari-ome-zarr")

tracks = pd.read_csv(tracks_path)
viewer.add_tracks(tracks[["TrackID", "t", "z", "y", "x"]])
viewer.add_points(name="Markers", ndim=4)

napari.run()

Citing

If used please cite:

@article{lange2023zebrahub,
  title={Zebrahub-Multimodal Zebrafish Developmental Atlas Reveals the State Transition Dynamics of Late Vertebrate Pluripotent Axial Progenitors},
  author={Lange, Merlin and Granados, Alejandro and VijayKumar, Shruthi and Bragantini, Jordao and Ancheta, Sarah and Santhosh, Sreejith and Borja, Michael and Kobayashi, Hirofumi and McGeever, Erin and Solak, Ahmet Can and others},
  journal={bioRxiv},
  pages={2023--03},
  year={2023},
  publisher={Cold Spring Harbor Laboratory}
}

Issues

If you encounter any problems, please file an issue along with a detailed description.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

in-silico-fate-mapping-0.1.2.tar.gz (24.6 kB view details)

Uploaded Source

Built Distribution

in_silico_fate_mapping-0.1.2-py3-none-any.whl (22.9 kB view details)

Uploaded Python 3

File details

Details for the file in-silico-fate-mapping-0.1.2.tar.gz.

File metadata

File hashes

Hashes for in-silico-fate-mapping-0.1.2.tar.gz
Algorithm Hash digest
SHA256 57782845a88c05bed888d53dd2a2cd6dd940001e8c3745297c4a9dd8a8931a68
MD5 54acb2410a2f0779538c69e46188bc75
BLAKE2b-256 298a92f42f23ab7cb5296971e685301f6a547e8ab55d88baf36e6895a078b865

See more details on using hashes here.

File details

Details for the file in_silico_fate_mapping-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for in_silico_fate_mapping-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f37560ba1ccfe3d3efdd091b3848ba6ba5bc620212f41d89f5c8b5773c156056
MD5 278767b709640b6507ce4c27c173b129
BLAKE2b-256 2188aadce88286125f8e48d0e49da1c8aed7506e909442c85814bafd833e3ae4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page