CytoTable 0.0.6__tar.gz → 0.0.7__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.
- {cytotable-0.0.6 → cytotable-0.0.7}/PKG-INFO +7 -3
- {cytotable-0.0.6 → cytotable-0.0.7}/cytotable/__init__.py +1 -1
- {cytotable-0.0.6 → cytotable-0.0.7}/cytotable/convert.py +3 -0
- {cytotable-0.0.6 → cytotable-0.0.7}/cytotable/presets.py +13 -13
- {cytotable-0.0.6 → cytotable-0.0.7}/cytotable/utils.py +6 -1
- {cytotable-0.0.6 → cytotable-0.0.7}/pyproject.toml +11 -3
- {cytotable-0.0.6 → cytotable-0.0.7}/LICENSE +0 -0
- {cytotable-0.0.6 → cytotable-0.0.7}/cytotable/constants.py +0 -0
- {cytotable-0.0.6 → cytotable-0.0.7}/cytotable/exceptions.py +0 -0
- {cytotable-0.0.6 → cytotable-0.0.7}/cytotable/sources.py +0 -0
- {cytotable-0.0.6 → cytotable-0.0.7}/readme.md +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: CytoTable
|
3
|
-
Version: 0.0.
|
3
|
+
Version: 0.0.7
|
4
4
|
Summary: Transform CellProfiler and DeepProfiler data for processing image-based profiling readouts with Pycytominer and other Cytomining tools.
|
5
5
|
Home-page: https://github.com/cytomining/CytoTable
|
6
6
|
License: BSD-3-Clause License
|
@@ -14,10 +14,14 @@ Classifier: Programming Language :: Python :: 3.9
|
|
14
14
|
Classifier: Programming Language :: Python :: 3.10
|
15
15
|
Classifier: Programming Language :: Python :: 3.11
|
16
16
|
Classifier: Programming Language :: Python :: 3.12
|
17
|
-
Requires-Dist: cloudpathlib[all] (>=0.
|
18
|
-
Requires-Dist: duckdb (>=0.
|
17
|
+
Requires-Dist: cloudpathlib[all] (>=0.18.0,<0.19.0)
|
18
|
+
Requires-Dist: duckdb (>=0.10.1)
|
19
|
+
Requires-Dist: numpy (<=1.24.4) ; python_version < "3.12"
|
20
|
+
Requires-Dist: numpy (>=1.26.0) ; python_version >= "3.12"
|
19
21
|
Requires-Dist: parsl (>=2023.9.25)
|
20
22
|
Requires-Dist: pyarrow (>=13.0.0)
|
23
|
+
Requires-Dist: scipy (<1.12.0) ; python_version < "3.9"
|
24
|
+
Requires-Dist: scipy (>=1.12.0,<2.0.0) ; python_version >= "3.9"
|
21
25
|
Project-URL: Documentation, https://cytomining.github.io/CytoTable/
|
22
26
|
Project-URL: Repository, https://github.com/cytomining/CytoTable
|
23
27
|
Description-Content-Type: text/markdown
|
@@ -348,6 +348,8 @@ def _source_chunk_to_parquet(
|
|
348
348
|
table=ddb_reader.execute(
|
349
349
|
f"""
|
350
350
|
{base_query}
|
351
|
+
/* order by all columns for deterministic output */
|
352
|
+
ORDER BY ALL
|
351
353
|
LIMIT {chunk_size} OFFSET {offset}
|
352
354
|
"""
|
353
355
|
).arrow(),
|
@@ -750,6 +752,7 @@ def _join_source_chunk(
|
|
750
752
|
result = ddb_reader.execute(
|
751
753
|
f"""
|
752
754
|
{joins}
|
755
|
+
{"ORDER BY ALL" if "ORDER BY" not in joins.upper() else ""}
|
753
756
|
LIMIT {chunk_size} OFFSET {offset}
|
754
757
|
"""
|
755
758
|
).arrow()
|
@@ -39,15 +39,15 @@ config = {
|
|
39
39
|
SELECT
|
40
40
|
*
|
41
41
|
FROM
|
42
|
-
|
43
|
-
LEFT JOIN read_parquet('cytoplasm.parquet') AS cytoplasm ON
|
44
|
-
cytoplasm.Metadata_ImageNumber = image.Metadata_ImageNumber
|
42
|
+
read_parquet('cytoplasm.parquet') AS cytoplasm
|
45
43
|
LEFT JOIN read_parquet('cells.parquet') AS cells ON
|
46
44
|
cells.Metadata_ImageNumber = cytoplasm.Metadata_ImageNumber
|
47
45
|
AND cells.Metadata_ObjectNumber = cytoplasm.Metadata_Cytoplasm_Parent_Cells
|
48
46
|
LEFT JOIN read_parquet('nuclei.parquet') AS nuclei ON
|
49
47
|
nuclei.Metadata_ImageNumber = cytoplasm.Metadata_ImageNumber
|
50
48
|
AND nuclei.Metadata_ObjectNumber = cytoplasm.Metadata_Cytoplasm_Parent_Nuclei
|
49
|
+
LEFT JOIN Image_Filtered AS image ON
|
50
|
+
image.Metadata_ImageNumber = cytoplasm.Metadata_ImageNumber
|
51
51
|
""",
|
52
52
|
},
|
53
53
|
"cellprofiler_sqlite": {
|
@@ -85,15 +85,15 @@ config = {
|
|
85
85
|
SELECT
|
86
86
|
*
|
87
87
|
FROM
|
88
|
-
|
89
|
-
LEFT JOIN read_parquet('per_cytoplasm.parquet') AS per_cytoplasm ON
|
90
|
-
per_cytoplasm.Metadata_ImageNumber = per_image.Metadata_ImageNumber
|
88
|
+
read_parquet('per_cytoplasm.parquet') AS per_cytoplasm
|
91
89
|
LEFT JOIN read_parquet('per_cells.parquet') AS per_cells ON
|
92
90
|
per_cells.Metadata_ImageNumber = per_cytoplasm.Metadata_ImageNumber
|
93
91
|
AND per_cells.Cells_Number_Object_Number = per_cytoplasm.Cytoplasm_Parent_Cells
|
94
92
|
LEFT JOIN read_parquet('per_nuclei.parquet') AS per_nuclei ON
|
95
93
|
per_nuclei.Metadata_ImageNumber = per_cytoplasm.Metadata_ImageNumber
|
96
94
|
AND per_nuclei.Nuclei_Number_Object_Number = per_cytoplasm.Cytoplasm_Parent_Nuclei
|
95
|
+
LEFT JOIN Per_Image_Filtered AS per_image ON
|
96
|
+
per_image.Metadata_ImageNumber = per_cytoplasm.Metadata_ImageNumber
|
97
97
|
""",
|
98
98
|
},
|
99
99
|
"cellprofiler_sqlite_pycytominer": {
|
@@ -136,15 +136,15 @@ config = {
|
|
136
136
|
SELECT
|
137
137
|
*
|
138
138
|
FROM
|
139
|
-
|
140
|
-
LEFT JOIN read_parquet('per_cytoplasm.parquet') AS per_cytoplasm ON
|
141
|
-
per_cytoplasm.Metadata_ImageNumber = per_image.Metadata_ImageNumber
|
139
|
+
read_parquet('per_cytoplasm.parquet') AS per_cytoplasm
|
142
140
|
LEFT JOIN read_parquet('per_cells.parquet') AS per_cells ON
|
143
141
|
per_cells.Metadata_ImageNumber = per_cytoplasm.Metadata_ImageNumber
|
144
142
|
AND per_cells.Metadata_Cells_Number_Object_Number = per_cytoplasm.Metadata_Cytoplasm_Parent_Cells
|
145
143
|
LEFT JOIN read_parquet('per_nuclei.parquet') AS per_nuclei ON
|
146
144
|
per_nuclei.Metadata_ImageNumber = per_cytoplasm.Metadata_ImageNumber
|
147
145
|
AND per_nuclei.Metadata_Nuclei_Number_Object_Number = per_cytoplasm.Metadata_Cytoplasm_Parent_Nuclei
|
146
|
+
LEFT JOIN Per_Image_Filtered AS per_image ON
|
147
|
+
per_image.Metadata_ImageNumber = per_cytoplasm.Metadata_ImageNumber
|
148
148
|
""",
|
149
149
|
},
|
150
150
|
"cell-health-cellprofiler-to-cytominer-database": {
|
@@ -190,10 +190,7 @@ config = {
|
|
190
190
|
SELECT
|
191
191
|
*
|
192
192
|
FROM
|
193
|
-
|
194
|
-
LEFT JOIN read_parquet('cytoplasm.parquet') AS cytoplasm ON
|
195
|
-
cytoplasm.Metadata_TableNumber = image.Metadata_TableNumber
|
196
|
-
AND cytoplasm.Metadata_ImageNumber = image.Metadata_ImageNumber
|
193
|
+
read_parquet('cytoplasm.parquet') AS cytoplasm
|
197
194
|
LEFT JOIN read_parquet('cells.parquet') AS cells ON
|
198
195
|
cells.Metadata_TableNumber = cytoplasm.Metadata_TableNumber
|
199
196
|
AND cells.Metadata_ImageNumber = cytoplasm.Metadata_ImageNumber
|
@@ -202,6 +199,9 @@ config = {
|
|
202
199
|
nuclei.Metadata_TableNumber = cytoplasm.Metadata_TableNumber
|
203
200
|
AND nuclei.Metadata_ImageNumber = cytoplasm.Metadata_ImageNumber
|
204
201
|
AND nuclei.Nuclei_ObjectNumber = cytoplasm.Metadata_Cytoplasm_Parent_Nuclei
|
202
|
+
LEFT JOIN Image_Filtered AS image ON
|
203
|
+
image.Metadata_TableNumber = cytoplasm.Metadata_TableNumber
|
204
|
+
AND image.Metadata_ImageNumber = cytoplasm.Metadata_ImageNumber
|
205
205
|
""",
|
206
206
|
},
|
207
207
|
"in-carta": {
|
@@ -257,7 +257,12 @@ def _sqlite_mixed_type_query_to_parquet(
|
|
257
257
|
|
258
258
|
# perform the select using the cases built above and using chunksize + offset
|
259
259
|
cursor.execute(
|
260
|
-
f
|
260
|
+
f"""
|
261
|
+
SELECT {', '.join(query_parts)}
|
262
|
+
FROM {table_name}
|
263
|
+
ORDER BY {', '.join([col['column_name'] for col in column_info])}
|
264
|
+
LIMIT {chunk_size} OFFSET {offset};
|
265
|
+
"""
|
261
266
|
)
|
262
267
|
# collect the results and include the column name with values
|
263
268
|
results = [
|
@@ -1,7 +1,7 @@
|
|
1
1
|
[tool.poetry]
|
2
2
|
name = "CytoTable"
|
3
3
|
# note: version data is maintained by poetry-dynamic-versioning (do not edit)
|
4
|
-
version = "0.0.
|
4
|
+
version = "0.0.7"
|
5
5
|
description = "Transform CellProfiler and DeepProfiler data for processing image-based profiling readouts with Pycytominer and other Cytomining tools."
|
6
6
|
authors = ["Cytomining Community"]
|
7
7
|
license = "BSD-3-Clause License"
|
@@ -25,9 +25,17 @@ build-backend = "poetry_dynamic_versioning.backend"
|
|
25
25
|
[tool.poetry.dependencies]
|
26
26
|
python = ">=3.8,<3.13"
|
27
27
|
pyarrow = ">=13.0.0"
|
28
|
-
cloudpathlib = {extras = ["all"], version = "^0.
|
29
|
-
duckdb = ">=0.8.0
|
28
|
+
cloudpathlib = {extras = ["all"], version = "^0.18.0"}
|
29
|
+
duckdb = ">=0.8.0,!=0.10.0,>=0.10.1"
|
30
30
|
parsl = ">=2023.9.25"
|
31
|
+
numpy = [
|
32
|
+
{version = "<=1.24.4", python = "<3.12"},
|
33
|
+
{version = ">=1.26.0", python = ">=3.12"}
|
34
|
+
]
|
35
|
+
scipy = [
|
36
|
+
{version = "<1.12.0", python = "<3.9"},
|
37
|
+
{version = "^1.12.0", python = ">=3.9"}
|
38
|
+
]
|
31
39
|
|
32
40
|
[tool.poetry.group.dev.dependencies]
|
33
41
|
pytest = "^7.4.0"
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|