Metadata-Version: 2.1
Name: LineageTree
Version: 1.4.0
Summary: Lineage tree structure
Home-page: https://github.com/leoguignard/LineageTree
Author: Léo Guignard
Author-email: leo.guignard@univ-amu.fr
License: MIT
Project-URL: Bug Tracker, https://github.com/leoguignard/LineageTree/issues
Project-URL: Documentation, https://github.com/leoguignard/LineageTree#README.md
Project-URL: Source Code, https://github.com/leoguignard/LineageTree
Project-URL: User Support, https://github.com/leoguignard/LineageTree/issues
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Topic :: Scientific/Engineering :: Image Processing
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: scipy>=1.9
Requires-Dist: numpy>=1.23
Requires-Dist: mastodon-reader
Provides-Extra: svg
Requires-Dist: svgwrite; extra == "svg"
Requires-Dist: matplotlib; extra == "svg"
Provides-Extra: test
Requires-Dist: svgwrite; extra == "test"
Requires-Dist: matplotlib; extra == "test"
Requires-Dist: tox; extra == "test"
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Provides-Extra: treeedit
Requires-Dist: edist; extra == "treeedit"

# LineageTree

This library allows to import and work with cell (but not limited to cells) lineage trees.
With LineageTree you can read from:

- TGMM algorithm outputs described in [Fernando et al. 2014](https://www.nature.com/articles/nmeth.3036)
- TrackMate files described in [Tinevez et al. 2017](https://doi.org/10.1016/j.ymeth.2016.09.016)
- MaMuT files described in [Wolff et al. 2018](https://doi.org/10.7554/eLife.34410)
- SVF algorithm outputs described in [McDole, Guignard et al. 2018](https://doi.org/10.1016/j.cell.2018.09.031)
- ASTEC algorithm outputs described in [Guignard, Fiuza et al. 2020](https://doi.org/10.1126/science.aar5663)
- and few others

## Description of the repository

- src: folder containing the package
- setup.py: Installation script
- README.md: This file
- LICENCE: The licence describing file

## Basic usage

Once installed the library can be called the following way (as an example):

```python
from LineageTree import lineageTree
```

and one can then load lineage trees the following way:

For ASTEC data:

```python
lT = lineageTree('path/to/ASTEC.pkl', file_type='ASTEC')
```

or

```python
lT = lineageTree('path/to/ASTEC.xml', file_type='ASTEC')
```

For SVF:

```python
lT = lineageTree('path/to/SVF.bin')
```

For MaMuT:

```python
lT = lineageTree('path/to/MaMuT.xml', file_type='MaMuT')
```

For TrackMate:

```python
lT = lineageTree('path/to/MaMuT.xml', file_type='TrackMate')
```

For TGMM:

```python
lT = lineageTree('path/to/single_time_file{t:04d}.xml', tb=0, te=500, file_type='TGMM')
```

For Mastodon:

```python
lT = lineageTree('path/to/Mastodon.mastodon', file_type='mastodon')
```

or, for Mastodon csv file:

```python
lT = lineageTree(['path/to/nodes.csv', 'path/to/links.csv'], file_type='mastodon')
```

## Dependencies

Some dependecies are requiered:

- general python dependecies:
  - numpy, scipy
- specific dependency:
  - svgwrite if svg output is needed

## Quick install

To quickly install the library together with its dependencies one can run:

```shell
pip install LineageTree
```

or, for the latest version if you have cloned the directory:

```shell
pip install .
```

or for the latest version wihtout cloning the directory

```shell
pip install git+https://github.com/leoguignard/LineageTree
```
