spacr 0.0.62__tar.gz → 0.0.66__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- spacr-0.0.66/PKG-INFO +116 -0
- spacr-0.0.66/README.rst +68 -0
- {spacr-0.0.62 → spacr-0.0.66}/setup.py +34 -30
- spacr-0.0.66/spacr.egg-info/PKG-INFO +116 -0
- {spacr-0.0.62 → spacr-0.0.66}/spacr.egg-info/SOURCES.txt +1 -0
- spacr-0.0.66/spacr.egg-info/requires.txt +39 -0
- spacr-0.0.62/PKG-INFO +0 -118
- spacr-0.0.62/spacr.egg-info/PKG-INFO +0 -118
- spacr-0.0.62/spacr.egg-info/requires.txt +0 -39
- {spacr-0.0.62 → spacr-0.0.66}/LICENSE +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/MANIFEST.in +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/README.md +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/setup.cfg +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/spacr/__init__.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/spacr/__main__.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/spacr/alpha.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/spacr/annotate_app.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/spacr/chris.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/spacr/cli.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/spacr/core.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/spacr/deep_spacr.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/spacr/foldseek.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/spacr/get_alfafold_structures.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/spacr/graph_learning.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/spacr/gui.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/spacr/gui_2.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/spacr/gui_classify_app.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/spacr/gui_mask_app.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/spacr/gui_measure_app.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/spacr/gui_sim_app.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/spacr/gui_utils.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/spacr/io.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/spacr/logger.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/spacr/mask_app.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/spacr/measure.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/spacr/models/cp/toxo_pv_lumen.CP_model +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/spacr/old_code.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/spacr/plot.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/spacr/sequencing.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/spacr/sim.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/spacr/timelapse.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/spacr/utils.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/spacr/version.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/spacr.egg-info/dependency_links.txt +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/spacr.egg-info/entry_points.txt +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/spacr.egg-info/top_level.txt +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/tests/test_annotate_app.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/tests/test_core.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/tests/test_gui_classify_app.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/tests/test_gui_mask_app.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/tests/test_gui_measure_app.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/tests/test_gui_sim_app.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/tests/test_gui_utils.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/tests/test_io.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/tests/test_mask_app.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/tests/test_measure.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/tests/test_plot.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/tests/test_sim.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/tests/test_timelapse.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/tests/test_train.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/tests/test_umap.py +0 -0
- {spacr-0.0.62 → spacr-0.0.66}/tests/test_utils.py +0 -0
spacr-0.0.66/PKG-INFO
ADDED
@@ -0,0 +1,116 @@
|
|
1
|
+
Metadata-Version: 2.1
|
2
|
+
Name: spacr
|
3
|
+
Version: 0.0.66
|
4
|
+
Summary: Spatial phenotype analysis of crisp screens (SpaCr)
|
5
|
+
Home-page: https://github.com/EinarOlafsson/spacr
|
6
|
+
Author: Einar Birnir Olafsson
|
7
|
+
Author-email: olafsson@med.umich.com
|
8
|
+
Classifier: Programming Language :: Python :: 3
|
9
|
+
Classifier: License :: OSI Approved :: MIT License
|
10
|
+
Classifier: Operating System :: OS Independent
|
11
|
+
License-File: LICENSE
|
12
|
+
Requires-Dist: dgl
|
13
|
+
Requires-Dist: torch<3.0,>=2.2.1
|
14
|
+
Requires-Dist: torchvision<1.0,>=0.17.1
|
15
|
+
Requires-Dist: torch-geometric<3.0,>=2.5.1
|
16
|
+
Requires-Dist: numpy<2.0,>=1.26.4
|
17
|
+
Requires-Dist: pandas<3.0,>=2.2.1
|
18
|
+
Requires-Dist: statsmodels<1.0,>=0.14.1
|
19
|
+
Requires-Dist: scikit-image<1.0,>=0.22.0
|
20
|
+
Requires-Dist: scikit-learn<2.0,>=1.4.1
|
21
|
+
Requires-Dist: seaborn<1.0,>=0.13.2
|
22
|
+
Requires-Dist: matplotlib<4.0,>=3.8.3
|
23
|
+
Requires-Dist: shap<1.0,>=0.45.0
|
24
|
+
Requires-Dist: pillow<11.0,>=10.2.0
|
25
|
+
Requires-Dist: imageio<3.0,>=2.34.0
|
26
|
+
Requires-Dist: scipy<2.0,>=1.12.0
|
27
|
+
Requires-Dist: ipywidgets<9.0,>=8.1.2
|
28
|
+
Requires-Dist: mahotas<2.0,>=1.4.13
|
29
|
+
Requires-Dist: btrack<1.0,>=0.6.5
|
30
|
+
Requires-Dist: trackpy<1.0,>=0.6.2
|
31
|
+
Requires-Dist: cellpose<4.0,>=3.0.6
|
32
|
+
Requires-Dist: IPython<9.0,>=8.18.1
|
33
|
+
Requires-Dist: opencv-python-headless<5.0,>=4.9.0.80
|
34
|
+
Requires-Dist: umap-learn<1.0,>=0.5.6
|
35
|
+
Requires-Dist: ttkthemes<4.0,>=3.2.2
|
36
|
+
Requires-Dist: xgboost<3.0,>=2.0.3
|
37
|
+
Requires-Dist: PyWavelets<2.0,>=1.6.0
|
38
|
+
Requires-Dist: torchcam<1.0,>=0.4.0
|
39
|
+
Requires-Dist: ttf_opensans>=2020.10.30
|
40
|
+
Requires-Dist: customtkinter<6.0,>=5.2.2
|
41
|
+
Requires-Dist: lxml<6.0,>=5.1.0
|
42
|
+
Provides-Extra: dev
|
43
|
+
Requires-Dist: pytest>=3.9; extra == "dev"
|
44
|
+
Provides-Extra: headless
|
45
|
+
Requires-Dist: opencv-python-headless; extra == "headless"
|
46
|
+
Provides-Extra: full
|
47
|
+
Requires-Dist: opencv-python; extra == "full"
|
48
|
+
|
49
|
+
.. |PyPI version| image:: https://badge.fury.io/py/spacr.svg
|
50
|
+
:target: https://badge.fury.io/py/spacr
|
51
|
+
.. |Python version| image:: https://img.shields.io/pypi/pyversions/spacr
|
52
|
+
:target: https://pypistats.org/packages/spacr
|
53
|
+
.. |Licence: GPL v3| image:: https://img.shields.io/github/license/EinarOlafsson/spacr
|
54
|
+
:target: https://github.com/EinarOlafsson/spacr/blob/master/LICENSE
|
55
|
+
.. |repo size| image:: https://img.shields.io/github/repo-size/EinarOlafsson/spacr
|
56
|
+
:target: https://github.com/EinarOlafsson/spacr/
|
57
|
+
|
58
|
+
|PyPI version| |Python version| |Licence: GPL v3| |repo size|
|
59
|
+
|
60
|
+
SpaCr
|
61
|
+
=====
|
62
|
+
|
63
|
+
Spatial phenotype analysis of CRISPR-Cas9 screens (SpaCr). The spatial organization of organelles and proteins within cells constitutes a key level of functional regulation. In the context of infectious disease, the spatial relationships between host cell structures and intracellular pathogens are critical to understand host clearance mechanisms and how pathogens evade them. Spacr is a Python-based software package for generating single cell image data for deep-learning sub-cellular/cellular phenotypic classification from pooled genetic CRISPR-Cas9 screens. Spacr provides a flexible toolset to extract single cell images and measurements from high content cell painting experiments, train deep-learning models to classify cellular/subcellular phenotypes, simulate and analyze pooled CRISPR-Cas9 imaging screens.
|
64
|
+
|
65
|
+
Features
|
66
|
+
--------
|
67
|
+
|
68
|
+
- **Generate Masks:** Generate cellpose masks of cell, nuclei, and pathogen objects.
|
69
|
+
|
70
|
+
- **Object Measurements:** Measurements for each object including scikit-image-regionprops, intensity percentiles, shannon-entropy, pearsons and manders correlations, homogeneity and radial distribution. Measurements are saved to a SQL database in object level tables.
|
71
|
+
|
72
|
+
- **Crop Images:** Objects (e.g. cells) can be saved as PNGs from the object area or bounding box area of each object. Object paths are saved in a SQL database that can be annotated and used to train CNNs/Transformer models for classification tasks.
|
73
|
+
|
74
|
+
- **Train CNNs or Transformers:** Train Torch Convolutional Neural Networks (CNNs) or Transformers to classify single object images. Train Torch models with IRM/ERM, checkpointing.
|
75
|
+
|
76
|
+
- **Manual Annotation:** Supports manual annotation of single cell images and segmentation to refine training datasets for training CNNs/Transformers or cellpose, respectively.
|
77
|
+
|
78
|
+
- **Finetune Cellpose Models:** Adjust pre-existing Cellpose models to your specific dataset for improved performance.
|
79
|
+
|
80
|
+
- **Timelapse Data Support:** Track objects in timelapse image data.
|
81
|
+
|
82
|
+
- **Simulations:** Simulate spatial phenotype screens.
|
83
|
+
|
84
|
+
- **Sequencing:** Map FASTQ reads to barcode and gRNA barcode metadata.
|
85
|
+
|
86
|
+
- **Misc:** Analyze Ca oscillation, recruitment, infection rate, plaque size/count.
|
87
|
+
|
88
|
+
Installation
|
89
|
+
------------
|
90
|
+
|
91
|
+
Requires Tkinter for graphical user interface features.
|
92
|
+
|
93
|
+
Ubuntu
|
94
|
+
~~~~~~
|
95
|
+
|
96
|
+
Before installing spacr, ensure Tkinter is installed:
|
97
|
+
|
98
|
+
(Tkinter is included with the standard Python installation on macOS, and Windows)
|
99
|
+
|
100
|
+
On Linux:
|
101
|
+
|
102
|
+
::
|
103
|
+
|
104
|
+
sudo apt-get install python3-tk
|
105
|
+
|
106
|
+
Install spacr with pip
|
107
|
+
|
108
|
+
::
|
109
|
+
|
110
|
+
pip install spacr
|
111
|
+
|
112
|
+
Run spacr GUI:
|
113
|
+
|
114
|
+
::
|
115
|
+
|
116
|
+
gui
|
spacr-0.0.66/README.rst
ADDED
@@ -0,0 +1,68 @@
|
|
1
|
+
.. |PyPI version| image:: https://badge.fury.io/py/spacr.svg
|
2
|
+
:target: https://badge.fury.io/py/spacr
|
3
|
+
.. |Python version| image:: https://img.shields.io/pypi/pyversions/spacr
|
4
|
+
:target: https://pypistats.org/packages/spacr
|
5
|
+
.. |Licence: GPL v3| image:: https://img.shields.io/github/license/EinarOlafsson/spacr
|
6
|
+
:target: https://github.com/EinarOlafsson/spacr/blob/master/LICENSE
|
7
|
+
.. |repo size| image:: https://img.shields.io/github/repo-size/EinarOlafsson/spacr
|
8
|
+
:target: https://github.com/EinarOlafsson/spacr/
|
9
|
+
|
10
|
+
|PyPI version| |Python version| |Licence: GPL v3| |repo size|
|
11
|
+
|
12
|
+
SpaCr
|
13
|
+
=====
|
14
|
+
|
15
|
+
Spatial phenotype analysis of CRISPR-Cas9 screens (SpaCr). The spatial organization of organelles and proteins within cells constitutes a key level of functional regulation. In the context of infectious disease, the spatial relationships between host cell structures and intracellular pathogens are critical to understand host clearance mechanisms and how pathogens evade them. Spacr is a Python-based software package for generating single cell image data for deep-learning sub-cellular/cellular phenotypic classification from pooled genetic CRISPR-Cas9 screens. Spacr provides a flexible toolset to extract single cell images and measurements from high content cell painting experiments, train deep-learning models to classify cellular/subcellular phenotypes, simulate and analyze pooled CRISPR-Cas9 imaging screens.
|
16
|
+
|
17
|
+
Features
|
18
|
+
--------
|
19
|
+
|
20
|
+
- **Generate Masks:** Generate cellpose masks of cell, nuclei, and pathogen objects.
|
21
|
+
|
22
|
+
- **Object Measurements:** Measurements for each object including scikit-image-regionprops, intensity percentiles, shannon-entropy, pearsons and manders correlations, homogeneity and radial distribution. Measurements are saved to a SQL database in object level tables.
|
23
|
+
|
24
|
+
- **Crop Images:** Objects (e.g. cells) can be saved as PNGs from the object area or bounding box area of each object. Object paths are saved in a SQL database that can be annotated and used to train CNNs/Transformer models for classification tasks.
|
25
|
+
|
26
|
+
- **Train CNNs or Transformers:** Train Torch Convolutional Neural Networks (CNNs) or Transformers to classify single object images. Train Torch models with IRM/ERM, checkpointing.
|
27
|
+
|
28
|
+
- **Manual Annotation:** Supports manual annotation of single cell images and segmentation to refine training datasets for training CNNs/Transformers or cellpose, respectively.
|
29
|
+
|
30
|
+
- **Finetune Cellpose Models:** Adjust pre-existing Cellpose models to your specific dataset for improved performance.
|
31
|
+
|
32
|
+
- **Timelapse Data Support:** Track objects in timelapse image data.
|
33
|
+
|
34
|
+
- **Simulations:** Simulate spatial phenotype screens.
|
35
|
+
|
36
|
+
- **Sequencing:** Map FASTQ reads to barcode and gRNA barcode metadata.
|
37
|
+
|
38
|
+
- **Misc:** Analyze Ca oscillation, recruitment, infection rate, plaque size/count.
|
39
|
+
|
40
|
+
Installation
|
41
|
+
------------
|
42
|
+
|
43
|
+
Requires Tkinter for graphical user interface features.
|
44
|
+
|
45
|
+
Ubuntu
|
46
|
+
~~~~~~
|
47
|
+
|
48
|
+
Before installing spacr, ensure Tkinter is installed:
|
49
|
+
|
50
|
+
(Tkinter is included with the standard Python installation on macOS, and Windows)
|
51
|
+
|
52
|
+
On Linux:
|
53
|
+
|
54
|
+
::
|
55
|
+
|
56
|
+
sudo apt-get install python3-tk
|
57
|
+
|
58
|
+
Install spacr with pip
|
59
|
+
|
60
|
+
::
|
61
|
+
|
62
|
+
pip install spacr
|
63
|
+
|
64
|
+
Run spacr GUI:
|
65
|
+
|
66
|
+
::
|
67
|
+
|
68
|
+
gui
|
@@ -17,46 +17,50 @@ if cuda_version:
|
|
17
17
|
else:
|
18
18
|
dgl_dependency = 'dgl' # Fallback to CPU version if no CUDA is detected
|
19
19
|
|
20
|
-
# Ensure you have read the README.
|
21
|
-
with open("README.md", "r", encoding="utf-8") as fh:
|
20
|
+
# Ensure you have read the README.rst content into a variable, e.g., `long_description`
|
21
|
+
#with open("README.md", "r", encoding="utf-8") as fh:
|
22
|
+
# long_description = fh.read()
|
23
|
+
|
24
|
+
# Ensure you have read the README.rst content into a variable, e.g., `long_description`
|
25
|
+
with open("README.rst", "r", encoding="utf-8") as fh:
|
22
26
|
long_description = fh.read()
|
23
27
|
|
24
28
|
dependencies = [
|
25
29
|
dgl_dependency,
|
26
|
-
'torch>=2.2.1',
|
27
|
-
'torchvision>=0.17.1',
|
28
|
-
'torch-geometric>=2.5.1',
|
30
|
+
'torch>=2.2.1,<3.0',
|
31
|
+
'torchvision>=0.17.1,<1.0',
|
32
|
+
'torch-geometric>=2.5.1,<3.0',
|
29
33
|
'numpy>=1.26.4,<2.0',
|
30
|
-
'pandas>=2.2.1',
|
31
|
-
'statsmodels>=0.14.1',
|
32
|
-
'scikit-image>=0.22.0',
|
33
|
-
'scikit-learn>=1.4.1',
|
34
|
-
'seaborn>=0.13.2',
|
35
|
-
'matplotlib>=3.8.3',
|
36
|
-
'shap>=0.45.0',
|
37
|
-
'pillow>=10.2.0',
|
38
|
-
'imageio>=2.34.0',
|
39
|
-
'scipy>=1.12.0',
|
40
|
-
'ipywidgets>=8.1.2',
|
41
|
-
'mahotas>=1.4.13',
|
42
|
-
'btrack>=0.6.5',
|
43
|
-
'trackpy>=0.6.2',
|
44
|
-
'cellpose>=3.0.6',
|
45
|
-
'IPython>=8.18.1',
|
46
|
-
'opencv-python-headless>=4.9.0.80',
|
47
|
-
'umap-learn>=0.5.6',
|
48
|
-
'ttkthemes>=3.2.2',
|
49
|
-
'xgboost>=2.0.3',
|
50
|
-
'PyWavelets>=1.6.0',
|
51
|
-
'torchcam>=0.4.0',
|
34
|
+
'pandas>=2.2.1,<3.0',
|
35
|
+
'statsmodels>=0.14.1,<1.0',
|
36
|
+
'scikit-image>=0.22.0,<1.0',
|
37
|
+
'scikit-learn>=1.4.1,<2.0',
|
38
|
+
'seaborn>=0.13.2,<1.0',
|
39
|
+
'matplotlib>=3.8.3,<4.0',
|
40
|
+
'shap>=0.45.0,<1.0',
|
41
|
+
'pillow>=10.2.0,<11.0',
|
42
|
+
'imageio>=2.34.0,<3.0',
|
43
|
+
'scipy>=1.12.0,<2.0',
|
44
|
+
'ipywidgets>=8.1.2,<9.0',
|
45
|
+
'mahotas>=1.4.13,<2.0',
|
46
|
+
'btrack>=0.6.5,<1.0',
|
47
|
+
'trackpy>=0.6.2,<1.0',
|
48
|
+
'cellpose>=3.0.6,<4.0',
|
49
|
+
'IPython>=8.18.1,<9.0',
|
50
|
+
'opencv-python-headless>=4.9.0.80,<5.0',
|
51
|
+
'umap-learn>=0.5.6,<1.0',
|
52
|
+
'ttkthemes>=3.2.2,<4.0',
|
53
|
+
'xgboost>=2.0.3,<3.0',
|
54
|
+
'PyWavelets>=1.6.0,<2.0',
|
55
|
+
'torchcam>=0.4.0,<1.0',
|
52
56
|
'ttf_opensans>=2020.10.30',
|
53
|
-
'customtkinter>=5.2.2',
|
54
|
-
'lxml>=5.1.0'
|
57
|
+
'customtkinter>=5.2.2,<6.0',
|
58
|
+
'lxml>=5.1.0,<6.0'
|
55
59
|
]
|
56
60
|
|
57
61
|
setup(
|
58
62
|
name="spacr",
|
59
|
-
version="0.0.
|
63
|
+
version="0.0.66",
|
60
64
|
author="Einar Birnir Olafsson",
|
61
65
|
author_email="olafsson@med.umich.com",
|
62
66
|
description="Spatial phenotype analysis of crisp screens (SpaCr)",
|
@@ -0,0 +1,116 @@
|
|
1
|
+
Metadata-Version: 2.1
|
2
|
+
Name: spacr
|
3
|
+
Version: 0.0.66
|
4
|
+
Summary: Spatial phenotype analysis of crisp screens (SpaCr)
|
5
|
+
Home-page: https://github.com/EinarOlafsson/spacr
|
6
|
+
Author: Einar Birnir Olafsson
|
7
|
+
Author-email: olafsson@med.umich.com
|
8
|
+
Classifier: Programming Language :: Python :: 3
|
9
|
+
Classifier: License :: OSI Approved :: MIT License
|
10
|
+
Classifier: Operating System :: OS Independent
|
11
|
+
License-File: LICENSE
|
12
|
+
Requires-Dist: dgl
|
13
|
+
Requires-Dist: torch<3.0,>=2.2.1
|
14
|
+
Requires-Dist: torchvision<1.0,>=0.17.1
|
15
|
+
Requires-Dist: torch-geometric<3.0,>=2.5.1
|
16
|
+
Requires-Dist: numpy<2.0,>=1.26.4
|
17
|
+
Requires-Dist: pandas<3.0,>=2.2.1
|
18
|
+
Requires-Dist: statsmodels<1.0,>=0.14.1
|
19
|
+
Requires-Dist: scikit-image<1.0,>=0.22.0
|
20
|
+
Requires-Dist: scikit-learn<2.0,>=1.4.1
|
21
|
+
Requires-Dist: seaborn<1.0,>=0.13.2
|
22
|
+
Requires-Dist: matplotlib<4.0,>=3.8.3
|
23
|
+
Requires-Dist: shap<1.0,>=0.45.0
|
24
|
+
Requires-Dist: pillow<11.0,>=10.2.0
|
25
|
+
Requires-Dist: imageio<3.0,>=2.34.0
|
26
|
+
Requires-Dist: scipy<2.0,>=1.12.0
|
27
|
+
Requires-Dist: ipywidgets<9.0,>=8.1.2
|
28
|
+
Requires-Dist: mahotas<2.0,>=1.4.13
|
29
|
+
Requires-Dist: btrack<1.0,>=0.6.5
|
30
|
+
Requires-Dist: trackpy<1.0,>=0.6.2
|
31
|
+
Requires-Dist: cellpose<4.0,>=3.0.6
|
32
|
+
Requires-Dist: IPython<9.0,>=8.18.1
|
33
|
+
Requires-Dist: opencv-python-headless<5.0,>=4.9.0.80
|
34
|
+
Requires-Dist: umap-learn<1.0,>=0.5.6
|
35
|
+
Requires-Dist: ttkthemes<4.0,>=3.2.2
|
36
|
+
Requires-Dist: xgboost<3.0,>=2.0.3
|
37
|
+
Requires-Dist: PyWavelets<2.0,>=1.6.0
|
38
|
+
Requires-Dist: torchcam<1.0,>=0.4.0
|
39
|
+
Requires-Dist: ttf_opensans>=2020.10.30
|
40
|
+
Requires-Dist: customtkinter<6.0,>=5.2.2
|
41
|
+
Requires-Dist: lxml<6.0,>=5.1.0
|
42
|
+
Provides-Extra: dev
|
43
|
+
Requires-Dist: pytest>=3.9; extra == "dev"
|
44
|
+
Provides-Extra: headless
|
45
|
+
Requires-Dist: opencv-python-headless; extra == "headless"
|
46
|
+
Provides-Extra: full
|
47
|
+
Requires-Dist: opencv-python; extra == "full"
|
48
|
+
|
49
|
+
.. |PyPI version| image:: https://badge.fury.io/py/spacr.svg
|
50
|
+
:target: https://badge.fury.io/py/spacr
|
51
|
+
.. |Python version| image:: https://img.shields.io/pypi/pyversions/spacr
|
52
|
+
:target: https://pypistats.org/packages/spacr
|
53
|
+
.. |Licence: GPL v3| image:: https://img.shields.io/github/license/EinarOlafsson/spacr
|
54
|
+
:target: https://github.com/EinarOlafsson/spacr/blob/master/LICENSE
|
55
|
+
.. |repo size| image:: https://img.shields.io/github/repo-size/EinarOlafsson/spacr
|
56
|
+
:target: https://github.com/EinarOlafsson/spacr/
|
57
|
+
|
58
|
+
|PyPI version| |Python version| |Licence: GPL v3| |repo size|
|
59
|
+
|
60
|
+
SpaCr
|
61
|
+
=====
|
62
|
+
|
63
|
+
Spatial phenotype analysis of CRISPR-Cas9 screens (SpaCr). The spatial organization of organelles and proteins within cells constitutes a key level of functional regulation. In the context of infectious disease, the spatial relationships between host cell structures and intracellular pathogens are critical to understand host clearance mechanisms and how pathogens evade them. Spacr is a Python-based software package for generating single cell image data for deep-learning sub-cellular/cellular phenotypic classification from pooled genetic CRISPR-Cas9 screens. Spacr provides a flexible toolset to extract single cell images and measurements from high content cell painting experiments, train deep-learning models to classify cellular/subcellular phenotypes, simulate and analyze pooled CRISPR-Cas9 imaging screens.
|
64
|
+
|
65
|
+
Features
|
66
|
+
--------
|
67
|
+
|
68
|
+
- **Generate Masks:** Generate cellpose masks of cell, nuclei, and pathogen objects.
|
69
|
+
|
70
|
+
- **Object Measurements:** Measurements for each object including scikit-image-regionprops, intensity percentiles, shannon-entropy, pearsons and manders correlations, homogeneity and radial distribution. Measurements are saved to a SQL database in object level tables.
|
71
|
+
|
72
|
+
- **Crop Images:** Objects (e.g. cells) can be saved as PNGs from the object area or bounding box area of each object. Object paths are saved in a SQL database that can be annotated and used to train CNNs/Transformer models for classification tasks.
|
73
|
+
|
74
|
+
- **Train CNNs or Transformers:** Train Torch Convolutional Neural Networks (CNNs) or Transformers to classify single object images. Train Torch models with IRM/ERM, checkpointing.
|
75
|
+
|
76
|
+
- **Manual Annotation:** Supports manual annotation of single cell images and segmentation to refine training datasets for training CNNs/Transformers or cellpose, respectively.
|
77
|
+
|
78
|
+
- **Finetune Cellpose Models:** Adjust pre-existing Cellpose models to your specific dataset for improved performance.
|
79
|
+
|
80
|
+
- **Timelapse Data Support:** Track objects in timelapse image data.
|
81
|
+
|
82
|
+
- **Simulations:** Simulate spatial phenotype screens.
|
83
|
+
|
84
|
+
- **Sequencing:** Map FASTQ reads to barcode and gRNA barcode metadata.
|
85
|
+
|
86
|
+
- **Misc:** Analyze Ca oscillation, recruitment, infection rate, plaque size/count.
|
87
|
+
|
88
|
+
Installation
|
89
|
+
------------
|
90
|
+
|
91
|
+
Requires Tkinter for graphical user interface features.
|
92
|
+
|
93
|
+
Ubuntu
|
94
|
+
~~~~~~
|
95
|
+
|
96
|
+
Before installing spacr, ensure Tkinter is installed:
|
97
|
+
|
98
|
+
(Tkinter is included with the standard Python installation on macOS, and Windows)
|
99
|
+
|
100
|
+
On Linux:
|
101
|
+
|
102
|
+
::
|
103
|
+
|
104
|
+
sudo apt-get install python3-tk
|
105
|
+
|
106
|
+
Install spacr with pip
|
107
|
+
|
108
|
+
::
|
109
|
+
|
110
|
+
pip install spacr
|
111
|
+
|
112
|
+
Run spacr GUI:
|
113
|
+
|
114
|
+
::
|
115
|
+
|
116
|
+
gui
|
@@ -0,0 +1,39 @@
|
|
1
|
+
dgl
|
2
|
+
torch<3.0,>=2.2.1
|
3
|
+
torchvision<1.0,>=0.17.1
|
4
|
+
torch-geometric<3.0,>=2.5.1
|
5
|
+
numpy<2.0,>=1.26.4
|
6
|
+
pandas<3.0,>=2.2.1
|
7
|
+
statsmodels<1.0,>=0.14.1
|
8
|
+
scikit-image<1.0,>=0.22.0
|
9
|
+
scikit-learn<2.0,>=1.4.1
|
10
|
+
seaborn<1.0,>=0.13.2
|
11
|
+
matplotlib<4.0,>=3.8.3
|
12
|
+
shap<1.0,>=0.45.0
|
13
|
+
pillow<11.0,>=10.2.0
|
14
|
+
imageio<3.0,>=2.34.0
|
15
|
+
scipy<2.0,>=1.12.0
|
16
|
+
ipywidgets<9.0,>=8.1.2
|
17
|
+
mahotas<2.0,>=1.4.13
|
18
|
+
btrack<1.0,>=0.6.5
|
19
|
+
trackpy<1.0,>=0.6.2
|
20
|
+
cellpose<4.0,>=3.0.6
|
21
|
+
IPython<9.0,>=8.18.1
|
22
|
+
opencv-python-headless<5.0,>=4.9.0.80
|
23
|
+
umap-learn<1.0,>=0.5.6
|
24
|
+
ttkthemes<4.0,>=3.2.2
|
25
|
+
xgboost<3.0,>=2.0.3
|
26
|
+
PyWavelets<2.0,>=1.6.0
|
27
|
+
torchcam<1.0,>=0.4.0
|
28
|
+
ttf_opensans>=2020.10.30
|
29
|
+
customtkinter<6.0,>=5.2.2
|
30
|
+
lxml<6.0,>=5.1.0
|
31
|
+
|
32
|
+
[dev]
|
33
|
+
pytest>=3.9
|
34
|
+
|
35
|
+
[full]
|
36
|
+
opencv-python
|
37
|
+
|
38
|
+
[headless]
|
39
|
+
opencv-python-headless
|
spacr-0.0.62/PKG-INFO
DELETED
@@ -1,118 +0,0 @@
|
|
1
|
-
Metadata-Version: 2.1
|
2
|
-
Name: spacr
|
3
|
-
Version: 0.0.62
|
4
|
-
Summary: Spatial phenotype analysis of crisp screens (SpaCr)
|
5
|
-
Home-page: https://github.com/EinarOlafsson/spacr
|
6
|
-
Author: Einar Birnir Olafsson
|
7
|
-
Author-email: olafsson@med.umich.com
|
8
|
-
Classifier: Programming Language :: Python :: 3
|
9
|
-
Classifier: License :: OSI Approved :: MIT License
|
10
|
-
Classifier: Operating System :: OS Independent
|
11
|
-
License-File: LICENSE
|
12
|
-
Requires-Dist: dgl
|
13
|
-
Requires-Dist: torch>=2.2.1
|
14
|
-
Requires-Dist: torchvision>=0.17.1
|
15
|
-
Requires-Dist: torch-geometric>=2.5.1
|
16
|
-
Requires-Dist: numpy<2.0,>=1.26.4
|
17
|
-
Requires-Dist: pandas>=2.2.1
|
18
|
-
Requires-Dist: statsmodels>=0.14.1
|
19
|
-
Requires-Dist: scikit-image>=0.22.0
|
20
|
-
Requires-Dist: scikit-learn>=1.4.1
|
21
|
-
Requires-Dist: seaborn>=0.13.2
|
22
|
-
Requires-Dist: matplotlib>=3.8.3
|
23
|
-
Requires-Dist: shap>=0.45.0
|
24
|
-
Requires-Dist: pillow>=10.2.0
|
25
|
-
Requires-Dist: imageio>=2.34.0
|
26
|
-
Requires-Dist: scipy>=1.12.0
|
27
|
-
Requires-Dist: ipywidgets>=8.1.2
|
28
|
-
Requires-Dist: mahotas>=1.4.13
|
29
|
-
Requires-Dist: btrack>=0.6.5
|
30
|
-
Requires-Dist: trackpy>=0.6.2
|
31
|
-
Requires-Dist: cellpose>=3.0.6
|
32
|
-
Requires-Dist: IPython>=8.18.1
|
33
|
-
Requires-Dist: opencv-python-headless>=4.9.0.80
|
34
|
-
Requires-Dist: umap-learn>=0.5.6
|
35
|
-
Requires-Dist: ttkthemes>=3.2.2
|
36
|
-
Requires-Dist: xgboost>=2.0.3
|
37
|
-
Requires-Dist: PyWavelets>=1.6.0
|
38
|
-
Requires-Dist: torchcam>=0.4.0
|
39
|
-
Requires-Dist: ttf_opensans>=2020.10.30
|
40
|
-
Requires-Dist: customtkinter>=5.2.2
|
41
|
-
Requires-Dist: lxml>=5.1.0
|
42
|
-
Provides-Extra: dev
|
43
|
-
Requires-Dist: pytest>=3.9; extra == "dev"
|
44
|
-
Provides-Extra: headless
|
45
|
-
Requires-Dist: opencv-python-headless; extra == "headless"
|
46
|
-
Provides-Extra: full
|
47
|
-
Requires-Dist: opencv-python; extra == "full"
|
48
|
-
|
49
|
-
[](https://badge.fury.io/py/spacr)
|
50
|
-
[](https://pypistats.org/packages/spacr)
|
51
|
-
[](https://github.com/EinarOlafsson/spacr/blob/master/LICENSE)
|
52
|
-
[](https://github.com/EinarOlafsson/spacr/)
|
53
|
-
|
54
|
-
# SpaCr
|
55
|
-
<table>
|
56
|
-
<tr>
|
57
|
-
<td>
|
58
|
-
|
59
|
-
Spatial phenotype analysis of CRISPR-Cas9 screens (SpaCr). The spatial organization of organelles and proteins within cells constitutes a key level of functional regulation. In the context of infectious disease, the spatial relationships between host cell structures and intracellular pathogens are critical to understand host clearance mechanisms and how pathogens evade them. Spacr is a Python-based software package for generating single cell image data for deep-learning sub-cellular/cellular phenotypic classification from pooled genetic CRISPR-Cas9 screens. Spacr provides a flexible toolset to extract single cell images and measurements from high content cell painting experiments, train deep-learning models to classify cellular/ subcellular phenotypes, simulate and analyze pooled CRISPR-Cas9 imaging screens.
|
60
|
-
|
61
|
-
</td>
|
62
|
-
<td>
|
63
|
-
|
64
|
-
<img src="spacr/logo_spacr.png" alt="SPACR Logo" title="SPACR Logo" width="600"/>
|
65
|
-
|
66
|
-
</td>
|
67
|
-
</tr>
|
68
|
-
</table>
|
69
|
-
|
70
|
-
## Features
|
71
|
-
|
72
|
-
- **Generate Masks:** Generate cellpose masks of cell, nuclei and pathogen objects.
|
73
|
-
|
74
|
-
- **Object Measurements:** Measurements for each object including scikit-image-regionprops, intensity percentiles, shannon-entropy, pearsons and manders correlations, homogenicity and radial distribution. Measurements are saved to a sql database in object level tables.
|
75
|
-
|
76
|
-
- **Crop Images:** Objects (e.g. cells) can be saved as PNGs from the object area or bounding box area of each object. Object paths are saved in an sql database that can be annotated and used to train CNNs/Transformer models for classefication tasks.
|
77
|
-
|
78
|
-
- **Train CNNs or Transformers:** Train Torch Convolutional Neural Networks (CNNs) or Transformers to classify single object images. Train Torch models with IRM/ERM, checkpointing.
|
79
|
-
|
80
|
-
- **Manual Annotation:** Supports manual annotation of single cell images and segmentation to refine training datasets for training CNNs/Transformers or cellpose, respectively.
|
81
|
-
|
82
|
-
- **Finetune Cellpose Models:** Adjust pre-existing Cellpose models to your specific dataset for improved performance.
|
83
|
-
|
84
|
-
- **Timelapse Data Support:** Track objects in timelapse image data.
|
85
|
-
|
86
|
-
- **Simulations:** Simulate spatial phenotype screens.
|
87
|
-
|
88
|
-
- **Sequencing:** Map FASTQ reads to barecode and gRNA barecode metadata.
|
89
|
-
|
90
|
-
- **Misc:** Analyze Ca oscillation, recruitment, infection rate, plaque size/count.
|
91
|
-
|
92
|
-
## Installation
|
93
|
-
|
94
|
-
Requires Tkinter for graphical user interface features.
|
95
|
-
|
96
|
-
### Ubuntu
|
97
|
-
|
98
|
-
Before installing spacr, ensure Tkinter is installed:
|
99
|
-
|
100
|
-
(Tkinter is included with the standard Python installation on macOS, and Windows)
|
101
|
-
|
102
|
-
On Linux:
|
103
|
-
|
104
|
-
```
|
105
|
-
sudo apt-get install python3-tk
|
106
|
-
```
|
107
|
-
|
108
|
-
install spacr with pip
|
109
|
-
|
110
|
-
```
|
111
|
-
pip install spacr
|
112
|
-
```
|
113
|
-
|
114
|
-
Run spacr GUI:
|
115
|
-
|
116
|
-
```
|
117
|
-
gui
|
118
|
-
```
|
@@ -1,118 +0,0 @@
|
|
1
|
-
Metadata-Version: 2.1
|
2
|
-
Name: spacr
|
3
|
-
Version: 0.0.62
|
4
|
-
Summary: Spatial phenotype analysis of crisp screens (SpaCr)
|
5
|
-
Home-page: https://github.com/EinarOlafsson/spacr
|
6
|
-
Author: Einar Birnir Olafsson
|
7
|
-
Author-email: olafsson@med.umich.com
|
8
|
-
Classifier: Programming Language :: Python :: 3
|
9
|
-
Classifier: License :: OSI Approved :: MIT License
|
10
|
-
Classifier: Operating System :: OS Independent
|
11
|
-
License-File: LICENSE
|
12
|
-
Requires-Dist: dgl
|
13
|
-
Requires-Dist: torch>=2.2.1
|
14
|
-
Requires-Dist: torchvision>=0.17.1
|
15
|
-
Requires-Dist: torch-geometric>=2.5.1
|
16
|
-
Requires-Dist: numpy<2.0,>=1.26.4
|
17
|
-
Requires-Dist: pandas>=2.2.1
|
18
|
-
Requires-Dist: statsmodels>=0.14.1
|
19
|
-
Requires-Dist: scikit-image>=0.22.0
|
20
|
-
Requires-Dist: scikit-learn>=1.4.1
|
21
|
-
Requires-Dist: seaborn>=0.13.2
|
22
|
-
Requires-Dist: matplotlib>=3.8.3
|
23
|
-
Requires-Dist: shap>=0.45.0
|
24
|
-
Requires-Dist: pillow>=10.2.0
|
25
|
-
Requires-Dist: imageio>=2.34.0
|
26
|
-
Requires-Dist: scipy>=1.12.0
|
27
|
-
Requires-Dist: ipywidgets>=8.1.2
|
28
|
-
Requires-Dist: mahotas>=1.4.13
|
29
|
-
Requires-Dist: btrack>=0.6.5
|
30
|
-
Requires-Dist: trackpy>=0.6.2
|
31
|
-
Requires-Dist: cellpose>=3.0.6
|
32
|
-
Requires-Dist: IPython>=8.18.1
|
33
|
-
Requires-Dist: opencv-python-headless>=4.9.0.80
|
34
|
-
Requires-Dist: umap-learn>=0.5.6
|
35
|
-
Requires-Dist: ttkthemes>=3.2.2
|
36
|
-
Requires-Dist: xgboost>=2.0.3
|
37
|
-
Requires-Dist: PyWavelets>=1.6.0
|
38
|
-
Requires-Dist: torchcam>=0.4.0
|
39
|
-
Requires-Dist: ttf_opensans>=2020.10.30
|
40
|
-
Requires-Dist: customtkinter>=5.2.2
|
41
|
-
Requires-Dist: lxml>=5.1.0
|
42
|
-
Provides-Extra: dev
|
43
|
-
Requires-Dist: pytest>=3.9; extra == "dev"
|
44
|
-
Provides-Extra: headless
|
45
|
-
Requires-Dist: opencv-python-headless; extra == "headless"
|
46
|
-
Provides-Extra: full
|
47
|
-
Requires-Dist: opencv-python; extra == "full"
|
48
|
-
|
49
|
-
[](https://badge.fury.io/py/spacr)
|
50
|
-
[](https://pypistats.org/packages/spacr)
|
51
|
-
[](https://github.com/EinarOlafsson/spacr/blob/master/LICENSE)
|
52
|
-
[](https://github.com/EinarOlafsson/spacr/)
|
53
|
-
|
54
|
-
# SpaCr
|
55
|
-
<table>
|
56
|
-
<tr>
|
57
|
-
<td>
|
58
|
-
|
59
|
-
Spatial phenotype analysis of CRISPR-Cas9 screens (SpaCr). The spatial organization of organelles and proteins within cells constitutes a key level of functional regulation. In the context of infectious disease, the spatial relationships between host cell structures and intracellular pathogens are critical to understand host clearance mechanisms and how pathogens evade them. Spacr is a Python-based software package for generating single cell image data for deep-learning sub-cellular/cellular phenotypic classification from pooled genetic CRISPR-Cas9 screens. Spacr provides a flexible toolset to extract single cell images and measurements from high content cell painting experiments, train deep-learning models to classify cellular/ subcellular phenotypes, simulate and analyze pooled CRISPR-Cas9 imaging screens.
|
60
|
-
|
61
|
-
</td>
|
62
|
-
<td>
|
63
|
-
|
64
|
-
<img src="spacr/logo_spacr.png" alt="SPACR Logo" title="SPACR Logo" width="600"/>
|
65
|
-
|
66
|
-
</td>
|
67
|
-
</tr>
|
68
|
-
</table>
|
69
|
-
|
70
|
-
## Features
|
71
|
-
|
72
|
-
- **Generate Masks:** Generate cellpose masks of cell, nuclei and pathogen objects.
|
73
|
-
|
74
|
-
- **Object Measurements:** Measurements for each object including scikit-image-regionprops, intensity percentiles, shannon-entropy, pearsons and manders correlations, homogenicity and radial distribution. Measurements are saved to a sql database in object level tables.
|
75
|
-
|
76
|
-
- **Crop Images:** Objects (e.g. cells) can be saved as PNGs from the object area or bounding box area of each object. Object paths are saved in an sql database that can be annotated and used to train CNNs/Transformer models for classefication tasks.
|
77
|
-
|
78
|
-
- **Train CNNs or Transformers:** Train Torch Convolutional Neural Networks (CNNs) or Transformers to classify single object images. Train Torch models with IRM/ERM, checkpointing.
|
79
|
-
|
80
|
-
- **Manual Annotation:** Supports manual annotation of single cell images and segmentation to refine training datasets for training CNNs/Transformers or cellpose, respectively.
|
81
|
-
|
82
|
-
- **Finetune Cellpose Models:** Adjust pre-existing Cellpose models to your specific dataset for improved performance.
|
83
|
-
|
84
|
-
- **Timelapse Data Support:** Track objects in timelapse image data.
|
85
|
-
|
86
|
-
- **Simulations:** Simulate spatial phenotype screens.
|
87
|
-
|
88
|
-
- **Sequencing:** Map FASTQ reads to barecode and gRNA barecode metadata.
|
89
|
-
|
90
|
-
- **Misc:** Analyze Ca oscillation, recruitment, infection rate, plaque size/count.
|
91
|
-
|
92
|
-
## Installation
|
93
|
-
|
94
|
-
Requires Tkinter for graphical user interface features.
|
95
|
-
|
96
|
-
### Ubuntu
|
97
|
-
|
98
|
-
Before installing spacr, ensure Tkinter is installed:
|
99
|
-
|
100
|
-
(Tkinter is included with the standard Python installation on macOS, and Windows)
|
101
|
-
|
102
|
-
On Linux:
|
103
|
-
|
104
|
-
```
|
105
|
-
sudo apt-get install python3-tk
|
106
|
-
```
|
107
|
-
|
108
|
-
install spacr with pip
|
109
|
-
|
110
|
-
```
|
111
|
-
pip install spacr
|
112
|
-
```
|
113
|
-
|
114
|
-
Run spacr GUI:
|
115
|
-
|
116
|
-
```
|
117
|
-
gui
|
118
|
-
```
|
@@ -1,39 +0,0 @@
|
|
1
|
-
dgl
|
2
|
-
torch>=2.2.1
|
3
|
-
torchvision>=0.17.1
|
4
|
-
torch-geometric>=2.5.1
|
5
|
-
numpy<2.0,>=1.26.4
|
6
|
-
pandas>=2.2.1
|
7
|
-
statsmodels>=0.14.1
|
8
|
-
scikit-image>=0.22.0
|
9
|
-
scikit-learn>=1.4.1
|
10
|
-
seaborn>=0.13.2
|
11
|
-
matplotlib>=3.8.3
|
12
|
-
shap>=0.45.0
|
13
|
-
pillow>=10.2.0
|
14
|
-
imageio>=2.34.0
|
15
|
-
scipy>=1.12.0
|
16
|
-
ipywidgets>=8.1.2
|
17
|
-
mahotas>=1.4.13
|
18
|
-
btrack>=0.6.5
|
19
|
-
trackpy>=0.6.2
|
20
|
-
cellpose>=3.0.6
|
21
|
-
IPython>=8.18.1
|
22
|
-
opencv-python-headless>=4.9.0.80
|
23
|
-
umap-learn>=0.5.6
|
24
|
-
ttkthemes>=3.2.2
|
25
|
-
xgboost>=2.0.3
|
26
|
-
PyWavelets>=1.6.0
|
27
|
-
torchcam>=0.4.0
|
28
|
-
ttf_opensans>=2020.10.30
|
29
|
-
customtkinter>=5.2.2
|
30
|
-
lxml>=5.1.0
|
31
|
-
|
32
|
-
[dev]
|
33
|
-
pytest>=3.9
|
34
|
-
|
35
|
-
[full]
|
36
|
-
opencv-python
|
37
|
-
|
38
|
-
[headless]
|
39
|
-
opencv-python-headless
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|