Metadata-Version: 2.1
Name: pygpseq
Version: 3.4.1
Summary: A GPSeq image analysis package
Home-page: https://github.com/ggirelli/pygpseq
License: MIT
Keywords: microscopy,image,analysis,bioimaging,nucleus,segmentation,conversion
Author: Gabriele Girelli
Author-email: gigi.ga90@gmail.com
Requires-Python: >=3.6,<3.7
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Requires-Dist: Cython (==0.29.5)
Requires-Dist: Jinja2 (==2.11.3)
Requires-Dist: czifile (==0.1.5)
Requires-Dist: ggc (==0.0.3)
Requires-Dist: joblib (==0.11)
Requires-Dist: matplotlib (==2.2.2)
Requires-Dist: nd2reader (==3.1.0)
Requires-Dist: numpy (==1.16.1)
Requires-Dist: pandas (==0.24.1)
Requires-Dist: scikit-image (==0.14.2)
Requires-Dist: scipy (==1.2.1)
Requires-Dist: seaborn (==0.9.0)
Requires-Dist: tifffile (==2019.2.10)
Requires-Dist: tqdm (==4.31.1)
Requires-Dist: weasyprint (==45)
Project-URL: Repository, https://github.com/ggirelli/pygpseq
Description-Content-Type: text/markdown

# !DISCLAIMER!

1. **This package is not currently maintained. A new package that will include all `pygpseq` features is being implemented at [`radiantkit`](https://github.com/ggirelli/radiantkit).**
2. **This package has been developed and tested ONLY for Python3.6, which will reach its end of life On December 23rd, 2021.**
3. **Versions 3.4.\* of this package only change package dependencies to fix an issue due to incorrect dependency declaration.**

---
---
---

pyGPSeq
===

A Python3.6 package that provides tools to analyze images of GPSeq samples.
Read the Wiki [documentation](https://github.com/ggirelli/pygpseq/wiki) for more details.  

Requirements
-------------

Python3.6 and compatible `tkinter` package are required to run `pygpseq`.
On Ubuntu 20.04, you can install them with:
```bash
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt install python3.6
sudo apt install python3.6-tk
```

Installation
-------------

We recommend installing `pygpseq` using [`poetry`](https://github.com/python-poetry/poetry).
Check how to install `poetry` [here](https://github.com/python-poetry/poetry#installation)
if you don't have it yet! Once you have `poetry` ready on your system, you can install the
package in its own virtual environment with:
```bash
git clone https://github.com/ggirelli/pygpseq.git
cd pygpseq
poetry install
```
And then enter the environment with `poetry shell`.

Alternatively, if you prefer to use `conda` , you can setup an environment with:
```bash
conda create -n pygpseq python=3.6
conda activate pygpseq
conda install pip
conda install -c anaconda libtiff 
```

Usage
----------

### Analyze a GPSeq image dataset

The `gpseq_anim` (**GPSeq** **an**alysis of **im**ages) analyzes a multi-condition GPSeq image dataset. Run `gpseq_anim -h` for more details.

### Calculate lamin distance of FISH signals

The `gpseq_fromfish` script characterizes FISH signals identified with `DOTTER` (or similar tools) by calculating: absolute/normalized distance from lamina and central region, nuclear compartment, allele status,... Run `gpseq_fromfish -h` for more details.

### Merge multiple FISH analyses using a metadata table

Use the `gpseq_fromfish_merge` script to merge multiple FISH analysis output (generated with `gpseq_fromfish`). For more details run `gpseq_fromfish_merge -h`.

### Perform automatic 3D nuclei segmentation

Run `tiff_auto3dseg -h` for more details on how to produce binary/labeled (compressed) masks of your nuclei staining channels

### Identify out of focus (OOF) fields of view

Run `tiff_findoof -h` for more details on how to quickly identify out of focus fields of view. Also, the `tiff_plotoof` script (in R, requires `argparser` and `ggplot2`) can be used to produce an informative plot with the signal location over the Z stack.

### Split a tiff in smaller images

To split a large tiff to smaller square images of size N x N pixels, run `tiff_split input_image output_folder N`. Use the `--enlarge` option to avoid pixel loss. If the input image is a 3D stack, then the output images will be of N x N x N voxels, use the `--2d` to apply the split only to the first slice of the stack. For more details, run `tiff_split -h`.

### (Un)compress a tiff

To uncompress a set of tiff, use the `tiffcu -u` command. To compress them use the `tiffcu -c` command instead. Use `tiffcu -h` for more details.

### Convert a nd2 file into single-channel tiff images

Use the `nd2_to_tiff` tool to convert images bundled into a nd2 file into separate single-channel tiff images. Use `nd2_to_tiff -h` for the documentation.

Contributing
---

We welcome any contributions to `pygpseq`. Please, refer to the [contribution guidelines](https://ggirelli.github.io/pygpseq/contributing) if this is your first time contributing! Also, check out our [code of conduct](https://ggirelli.github.io/pygpseq/code_of_conduct).

License
---

```
MIT License
Copyright (c) 2017-21 Gabriele Girelli
```

