cosmicqc 1.1.2__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.
- cosmicqc-1.1.2/.gitignore +152 -0
- cosmicqc-1.1.2/.pre-commit-config.yaml +95 -0
- cosmicqc-1.1.2/CITATION.cff +172 -0
- cosmicqc-1.1.2/CODE_OF_CONDUCT.md +3 -0
- cosmicqc-1.1.2/CONTRIBUTING.md +3 -0
- cosmicqc-1.1.2/LICENSE +28 -0
- cosmicqc-1.1.2/MANIFEST.in +14 -0
- cosmicqc-1.1.2/PKG-INFO +127 -0
- cosmicqc-1.1.2/README.md +99 -0
- cosmicqc-1.1.2/pyproject.toml +201 -0
- cosmicqc-1.1.2/setup.cfg +4 -0
- cosmicqc-1.1.2/src/cosmicqc/__init__.py +15 -0
- cosmicqc-1.1.2/src/cosmicqc/analyze.py +708 -0
- cosmicqc-1.1.2/src/cosmicqc/cli.py +112 -0
- cosmicqc-1.1.2/src/cosmicqc/data/qc_nuclei_thresholds_default.yml +16 -0
- cosmicqc-1.1.2/src/cosmicqc/detection.py +623 -0
- cosmicqc-1.1.2/src/cosmicqc.egg-info/PKG-INFO +127 -0
- cosmicqc-1.1.2/src/cosmicqc.egg-info/SOURCES.txt +23 -0
- cosmicqc-1.1.2/src/cosmicqc.egg-info/dependency_links.txt +1 -0
- cosmicqc-1.1.2/src/cosmicqc.egg-info/entry_points.txt +2 -0
- cosmicqc-1.1.2/src/cosmicqc.egg-info/requires.txt +16 -0
- cosmicqc-1.1.2/src/cosmicqc.egg-info/scm_file_list.json +336 -0
- cosmicqc-1.1.2/src/cosmicqc.egg-info/scm_version.json +8 -0
- cosmicqc-1.1.2/src/cosmicqc.egg-info/top_level.txt +1 -0
- cosmicqc-1.1.2/uv.lock +7645 -0
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
# Byte-compiled / optimized / DLL files
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
|
|
6
|
+
# C extensions
|
|
7
|
+
*.so
|
|
8
|
+
|
|
9
|
+
# Distribution / packaging
|
|
10
|
+
.Python
|
|
11
|
+
build/
|
|
12
|
+
develop-eggs/
|
|
13
|
+
dist/
|
|
14
|
+
downloads/
|
|
15
|
+
eggs/
|
|
16
|
+
.eggs/
|
|
17
|
+
lib/
|
|
18
|
+
lib64/
|
|
19
|
+
parts/
|
|
20
|
+
sdist/
|
|
21
|
+
var/
|
|
22
|
+
wheels/
|
|
23
|
+
share/python-wheels/
|
|
24
|
+
*.egg-info/
|
|
25
|
+
.installed.cfg
|
|
26
|
+
*.egg
|
|
27
|
+
MANIFEST
|
|
28
|
+
|
|
29
|
+
# PyInstaller
|
|
30
|
+
# Usually these files are written by a python script from a template
|
|
31
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
32
|
+
*.manifest
|
|
33
|
+
*.spec
|
|
34
|
+
|
|
35
|
+
# Installer logs
|
|
36
|
+
pip-log.txt
|
|
37
|
+
pip-delete-this-directory.txt
|
|
38
|
+
|
|
39
|
+
# Unit test / coverage reports
|
|
40
|
+
htmlcov/
|
|
41
|
+
.tox/
|
|
42
|
+
.nox/
|
|
43
|
+
.coverage
|
|
44
|
+
.coverage.*
|
|
45
|
+
.cache
|
|
46
|
+
nosetests.xml
|
|
47
|
+
coverage.xml
|
|
48
|
+
*.cover
|
|
49
|
+
*.py,cover
|
|
50
|
+
.hypothesis/
|
|
51
|
+
.pytest_cache/
|
|
52
|
+
cover/
|
|
53
|
+
|
|
54
|
+
# Translations
|
|
55
|
+
*.mo
|
|
56
|
+
*.pot
|
|
57
|
+
|
|
58
|
+
# Django stuff:
|
|
59
|
+
*.log
|
|
60
|
+
local_settings.py
|
|
61
|
+
db.sqlite3
|
|
62
|
+
db.sqlite3-journal
|
|
63
|
+
|
|
64
|
+
# Flask stuff:
|
|
65
|
+
instance/
|
|
66
|
+
.webassets-cache
|
|
67
|
+
|
|
68
|
+
# Scrapy stuff:
|
|
69
|
+
.scrapy
|
|
70
|
+
|
|
71
|
+
# Sphinx documentation
|
|
72
|
+
docs/_build/
|
|
73
|
+
|
|
74
|
+
# PyBuilder
|
|
75
|
+
.pybuilder/
|
|
76
|
+
target/
|
|
77
|
+
|
|
78
|
+
# Jupyter Notebook
|
|
79
|
+
.ipynb_checkpoints
|
|
80
|
+
|
|
81
|
+
# IPython
|
|
82
|
+
profile_default/
|
|
83
|
+
ipython_config.py
|
|
84
|
+
|
|
85
|
+
# pdm
|
|
86
|
+
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
|
|
87
|
+
#pdm.lock
|
|
88
|
+
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
|
|
89
|
+
# in version control.
|
|
90
|
+
# https://pdm.fming.dev/#use-with-ide
|
|
91
|
+
.pdm.toml
|
|
92
|
+
|
|
93
|
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
|
|
94
|
+
__pypackages__/
|
|
95
|
+
|
|
96
|
+
# Celery stuff
|
|
97
|
+
celerybeat-schedule
|
|
98
|
+
celerybeat.pid
|
|
99
|
+
|
|
100
|
+
# SageMath parsed files
|
|
101
|
+
*.sage.py
|
|
102
|
+
|
|
103
|
+
# Environments
|
|
104
|
+
.env
|
|
105
|
+
.venv
|
|
106
|
+
env/
|
|
107
|
+
venv/
|
|
108
|
+
ENV/
|
|
109
|
+
env.bak/
|
|
110
|
+
venv.bak/
|
|
111
|
+
|
|
112
|
+
# Spyder project settings
|
|
113
|
+
.spyderproject
|
|
114
|
+
.spyproject
|
|
115
|
+
|
|
116
|
+
# Rope project settings
|
|
117
|
+
.ropeproject
|
|
118
|
+
|
|
119
|
+
# mkdocs documentation
|
|
120
|
+
/site
|
|
121
|
+
|
|
122
|
+
# mypy
|
|
123
|
+
.mypy_cache/
|
|
124
|
+
.dmypy.json
|
|
125
|
+
dmypy.json
|
|
126
|
+
|
|
127
|
+
# Pyre type checker
|
|
128
|
+
.pyre/
|
|
129
|
+
|
|
130
|
+
# pytype static type analyzer
|
|
131
|
+
.pytype/
|
|
132
|
+
|
|
133
|
+
# Cython debug symbols
|
|
134
|
+
cython_debug/
|
|
135
|
+
|
|
136
|
+
# test data ignores
|
|
137
|
+
*.tif
|
|
138
|
+
*.tiff
|
|
139
|
+
*.sqlite
|
|
140
|
+
*.parquet
|
|
141
|
+
*.zip
|
|
142
|
+
*.csv
|
|
143
|
+
*.csv.gz
|
|
144
|
+
*.npy
|
|
145
|
+
.DS_Store
|
|
146
|
+
|
|
147
|
+
# jupyter notebook build files from myst-nb
|
|
148
|
+
docs/jupyter_execute
|
|
149
|
+
|
|
150
|
+
# ignore vscode files
|
|
151
|
+
.vscode/
|
|
152
|
+
settings.json
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# See https://pre-commit.com for more information
|
|
2
|
+
# See https://pre-commit.com/hooks.html for more hooks
|
|
3
|
+
default_language_version:
|
|
4
|
+
python: python3.11
|
|
5
|
+
# globally exclude manuscript sources from all hooks (see docs/manuscripts)
|
|
6
|
+
exclude: ^docs/manuscripts/
|
|
7
|
+
repos:
|
|
8
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
9
|
+
rev: v6.0.0
|
|
10
|
+
hooks:
|
|
11
|
+
- id: trailing-whitespace
|
|
12
|
+
- id: end-of-file-fixer
|
|
13
|
+
exclude: |
|
|
14
|
+
(?x)^(
|
|
15
|
+
.*\.svg
|
|
16
|
+
)$
|
|
17
|
+
- id: check-yaml
|
|
18
|
+
- id: detect-private-key
|
|
19
|
+
- repo: https://github.com/astral-sh/uv-pre-commit
|
|
20
|
+
rev: "0.12.6"
|
|
21
|
+
hooks:
|
|
22
|
+
- id: uv-lock
|
|
23
|
+
- repo: https://github.com/tox-dev/pyproject-fmt
|
|
24
|
+
rev: "v2.28.1"
|
|
25
|
+
hooks:
|
|
26
|
+
- id: pyproject-fmt
|
|
27
|
+
- repo: https://github.com/codespell-project/codespell
|
|
28
|
+
rev: v2.4.3
|
|
29
|
+
hooks:
|
|
30
|
+
- id: codespell
|
|
31
|
+
exclude: |
|
|
32
|
+
(?x)^(
|
|
33
|
+
.*\.lock |
|
|
34
|
+
.*\.json |
|
|
35
|
+
.*\.ipynb |
|
|
36
|
+
.*\.cppipe
|
|
37
|
+
)$
|
|
38
|
+
- repo: https://github.com/executablebooks/mdformat
|
|
39
|
+
rev: 1.0.0
|
|
40
|
+
hooks:
|
|
41
|
+
- id: mdformat
|
|
42
|
+
additional_dependencies:
|
|
43
|
+
- mdformat-gfm
|
|
44
|
+
exclude: ^README\.md$ # README is managed by gh-md-toc
|
|
45
|
+
- repo: https://github.com/citation-file-format/cffconvert
|
|
46
|
+
rev: b6045d78aac9e02b039703b030588d54d53262ac
|
|
47
|
+
hooks:
|
|
48
|
+
- id: validate-cff
|
|
49
|
+
- repo: https://github.com/adrienverge/yamllint
|
|
50
|
+
rev: v1.38.0
|
|
51
|
+
hooks:
|
|
52
|
+
- id: yamllint
|
|
53
|
+
exclude: pre-commit-config.yaml
|
|
54
|
+
- repo: https://github.com/rhysd/actionlint
|
|
55
|
+
rev: v1.7.12
|
|
56
|
+
hooks:
|
|
57
|
+
- id: actionlint
|
|
58
|
+
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
59
|
+
rev: "v0.16.4"
|
|
60
|
+
hooks:
|
|
61
|
+
- id: ruff-format
|
|
62
|
+
- id: ruff-check
|
|
63
|
+
- repo: https://github.com/jendrikseipp/vulture
|
|
64
|
+
rev: 'v2.16'
|
|
65
|
+
hooks:
|
|
66
|
+
- id: vulture
|
|
67
|
+
- repo: local
|
|
68
|
+
hooks:
|
|
69
|
+
- id: readme-toc
|
|
70
|
+
name: Update README TOC (github-markdown-toc)
|
|
71
|
+
language: system
|
|
72
|
+
entry: scripts/update_readme_toc.sh
|
|
73
|
+
pass_filenames: false
|
|
74
|
+
files: ^README\.md$
|
|
75
|
+
- repo: https://github.com/software-gardening/almanack
|
|
76
|
+
rev: v0.1.17
|
|
77
|
+
hooks:
|
|
78
|
+
- id: almanack-check
|
|
79
|
+
args: [--exclude_paths=docs]
|
|
80
|
+
- repo: local
|
|
81
|
+
hooks:
|
|
82
|
+
- id: code-cov-gen
|
|
83
|
+
name: Generate code coverage
|
|
84
|
+
language: system
|
|
85
|
+
entry: uv run coverage run -m pytest
|
|
86
|
+
pass_filenames: false
|
|
87
|
+
always_run: true
|
|
88
|
+
- repo: https://github.com/Weird-Sheep-Labs/coverage-pre-commit
|
|
89
|
+
rev: 0.1.1
|
|
90
|
+
hooks:
|
|
91
|
+
- id: coverage-xml
|
|
92
|
+
- id: coverage-badge
|
|
93
|
+
args: ["-o", "media/coverage-badge.svg"]
|
|
94
|
+
additional_dependencies:
|
|
95
|
+
- setuptools<81
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
# This CITATION.cff file was generated with cffinit.
|
|
2
|
+
# Visit https://bit.ly/cffinit to generate yours today!
|
|
3
|
+
---
|
|
4
|
+
cff-version: 1.2.0
|
|
5
|
+
title: coSMicQC
|
|
6
|
+
message: >-
|
|
7
|
+
If you use this software, please cite it using the
|
|
8
|
+
metadata from this file.
|
|
9
|
+
type: software
|
|
10
|
+
authors:
|
|
11
|
+
- given-names: Jenna
|
|
12
|
+
family-names: Tomkinson
|
|
13
|
+
orcid: 'https://orcid.org/0000-0003-2676-5813'
|
|
14
|
+
- given-names: David
|
|
15
|
+
family-names: Bunten
|
|
16
|
+
orcid: 'https://orcid.org/0000-0001-6041-3665'
|
|
17
|
+
- given-names: Vincent
|
|
18
|
+
family-names: Rubinetti
|
|
19
|
+
orcid: 'https://orcid.org/0000-0002-4655-3773'
|
|
20
|
+
- given-names: Gregory
|
|
21
|
+
family-names: Way
|
|
22
|
+
orcid: 'https://orcid.org/0000-0002-0503-9348'
|
|
23
|
+
repository-code: 'https://github.com/cytomining/coSMicQC'
|
|
24
|
+
identifiers:
|
|
25
|
+
- description: Software DOI
|
|
26
|
+
type: doi
|
|
27
|
+
value: "10.5281/zenodo.14797008"
|
|
28
|
+
- description: Preprint DOI
|
|
29
|
+
type: doi
|
|
30
|
+
value: "10.1101/2025.10.14.682427"
|
|
31
|
+
abstract: >-
|
|
32
|
+
coSMicQC is a software tool for single-cell quality control of morphology datasets.
|
|
33
|
+
keywords:
|
|
34
|
+
- python
|
|
35
|
+
- single-cell-analysis
|
|
36
|
+
- profiling
|
|
37
|
+
- quality-control
|
|
38
|
+
- way-lab
|
|
39
|
+
license: BSD-3-Clause
|
|
40
|
+
references:
|
|
41
|
+
- authors:
|
|
42
|
+
- name: "Way Lab CFReT_data Team"
|
|
43
|
+
date-accessed: "2024-05-13"
|
|
44
|
+
title: Way Lab CFReT_data CytoTable Data
|
|
45
|
+
type: data
|
|
46
|
+
repository-code: "https://github.com/WayScience/CFReT_data"
|
|
47
|
+
url: "https://github.com/WayScience/CFReT_data/blob/main/3.process_cfret_features/data/converted_profiles/localhost231120090001_converted.parquet"
|
|
48
|
+
scope: "localhost231120090001_converted.parquet"
|
|
49
|
+
notes: >-
|
|
50
|
+
Data from CFReT_data project is used to help validate
|
|
51
|
+
expected results. Data is generated from CellProfiler
|
|
52
|
+
and CytoTable.
|
|
53
|
+
identifiers:
|
|
54
|
+
- description: "Github Link with Contributors"
|
|
55
|
+
type: url
|
|
56
|
+
value: "https://github.com/WayScience/CFReT_data/graphs/contributors"
|
|
57
|
+
- authors:
|
|
58
|
+
- name: "Way Lab NF1_cellpainting_data Team"
|
|
59
|
+
date-accessed: "2024-06-28"
|
|
60
|
+
title: Way Lab NF1_cellpainting_data CytoTable Data
|
|
61
|
+
type: data
|
|
62
|
+
repository-code: "https://github.com/WayScience/nf1_cellpainting_data"
|
|
63
|
+
notes: >-
|
|
64
|
+
Data from NF1_cellpainting_data project is used to help validate
|
|
65
|
+
expected results. Data is generated from CellProfiler
|
|
66
|
+
and CytoTable. We use the following files from the repository:
|
|
67
|
+
- "Plate_2_nf1_analysis.sqlite"
|
|
68
|
+
- "Plate_2.parquet"
|
|
69
|
+
identifiers:
|
|
70
|
+
- description: "Github Link with Contributors"
|
|
71
|
+
type: url
|
|
72
|
+
value: "https://github.com/WayScience/nf1_cellpainting_data/graphs/contributors"
|
|
73
|
+
- title: >-
|
|
74
|
+
Plate 2 (Cell Painting images from Plate 2 for NF1_cellpainting_data project)
|
|
75
|
+
type: data
|
|
76
|
+
url: https://figshare.com/articles/dataset/Plate_2/22233700
|
|
77
|
+
notes: >-
|
|
78
|
+
Image data for related NF1_cellpainting_data parquet sqlite.
|
|
79
|
+
authors:
|
|
80
|
+
- family-names: Tomkinson
|
|
81
|
+
given-names: Jenna
|
|
82
|
+
- family-names: Mattson-Hoss
|
|
83
|
+
given-names: Michelle
|
|
84
|
+
- family-names: Sarnoff
|
|
85
|
+
given-names: Herb
|
|
86
|
+
- family-names: Way
|
|
87
|
+
given-names: Gregory
|
|
88
|
+
date-published: "2023-04-12"
|
|
89
|
+
identifiers:
|
|
90
|
+
- type: doi
|
|
91
|
+
value: 10.6084/m9.figshare.22233700.v4
|
|
92
|
+
- authors:
|
|
93
|
+
- name: "Way Lab and Alexander Lab Nuclear Speckles Collaboration"
|
|
94
|
+
date-accessed: "2024-09-04"
|
|
95
|
+
title: Way Lab and Alexander Lab Nuclear Speckles Collaboration Data
|
|
96
|
+
type: data
|
|
97
|
+
repository-code: https://github.com/WayScience/nuclear_speckle_image_profiling
|
|
98
|
+
notes: >-
|
|
99
|
+
Data from a collaborative project focusing on nuclear speckles
|
|
100
|
+
with the Way Lab and Alexander Lab s used to help validate
|
|
101
|
+
expected results. Parquet data is generated from CellProfiler
|
|
102
|
+
and CytoTable. Images courtesy of Katherine Alexander
|
|
103
|
+
and the Alexander Lab.
|
|
104
|
+
identifiers:
|
|
105
|
+
- description: "Github Link with Contributors"
|
|
106
|
+
type: url
|
|
107
|
+
value: "https://github.com/WayScience/nuclear_speckle_image_profiling/graphs/contributors"
|
|
108
|
+
- authors:
|
|
109
|
+
- family-names: Chandrasekaran
|
|
110
|
+
given-names: Srinivas Niranj
|
|
111
|
+
- family-names: Cimini
|
|
112
|
+
given-names: Beth A.
|
|
113
|
+
- family-names: Goodale
|
|
114
|
+
given-names: Amy
|
|
115
|
+
- family-names: Miller
|
|
116
|
+
given-names: Lisa
|
|
117
|
+
- family-names: Kost-Alimova
|
|
118
|
+
given-names: Maria
|
|
119
|
+
- family-names: Jamali
|
|
120
|
+
given-names: Nasim
|
|
121
|
+
- family-names: Doench
|
|
122
|
+
given-names: John G.
|
|
123
|
+
- family-names: Fritchman
|
|
124
|
+
given-names: Briana
|
|
125
|
+
- family-names: Skepner
|
|
126
|
+
given-names: Adam
|
|
127
|
+
- family-names: Melanson
|
|
128
|
+
given-names: Michelle
|
|
129
|
+
- family-names: Kalinin
|
|
130
|
+
given-names: Alexandr A.
|
|
131
|
+
- family-names: Arevalo
|
|
132
|
+
given-names: John
|
|
133
|
+
- family-names: Haghighi
|
|
134
|
+
given-names: Marzieh
|
|
135
|
+
- family-names: Caicedo
|
|
136
|
+
given-names: Juan C.
|
|
137
|
+
- family-names: Kuhn
|
|
138
|
+
given-names: Daniel
|
|
139
|
+
- family-names: Hernandez
|
|
140
|
+
given-names: Desiree
|
|
141
|
+
- family-names: Berstler
|
|
142
|
+
given-names: James
|
|
143
|
+
- family-names: Shafqat-Abbasi
|
|
144
|
+
given-names: Hamdah
|
|
145
|
+
- family-names: Root
|
|
146
|
+
given-names: David E.
|
|
147
|
+
- family-names: Swalley
|
|
148
|
+
given-names: Susanne E.
|
|
149
|
+
- family-names: Garg
|
|
150
|
+
given-names: Sakshi
|
|
151
|
+
- family-names: Singh
|
|
152
|
+
given-names: Shantanu
|
|
153
|
+
- family-names: Carpenter
|
|
154
|
+
given-names: Anne E.
|
|
155
|
+
date-accessed: "2024-08-21"
|
|
156
|
+
title: >-
|
|
157
|
+
Three million images and morphological profiles of cells treated with matched chemical and genetic perturbations
|
|
158
|
+
type: article
|
|
159
|
+
issn: 1548-7105
|
|
160
|
+
issue: 6
|
|
161
|
+
journal: Nature Methods
|
|
162
|
+
pages: 1114-1121
|
|
163
|
+
volume: 21
|
|
164
|
+
url: https://doi.org/10.1038/s41592-024-02241-6
|
|
165
|
+
date-published: "2024-06-01"
|
|
166
|
+
identifiers:
|
|
167
|
+
- type: doi
|
|
168
|
+
value: 10.1038/s41592-024-02241-6
|
|
169
|
+
notes: >-
|
|
170
|
+
JUMP (cpg0000-jump-pilot) was used to help demonstrate coSMicQC performance
|
|
171
|
+
with large data. See here for more information:
|
|
172
|
+
https://github.com/broadinstitute/cellpainting-gallery
|
cosmicqc-1.1.2/LICENSE
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
BSD 3-Clause License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024, Way Science
|
|
4
|
+
|
|
5
|
+
Redistribution and use in source and binary forms, with or without
|
|
6
|
+
modification, are permitted provided that the following conditions are met:
|
|
7
|
+
|
|
8
|
+
1. Redistributions of source code must retain the above copyright notice, this
|
|
9
|
+
list of conditions and the following disclaimer.
|
|
10
|
+
|
|
11
|
+
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
12
|
+
this list of conditions and the following disclaimer in the documentation
|
|
13
|
+
and/or other materials provided with the distribution.
|
|
14
|
+
|
|
15
|
+
3. Neither the name of the copyright holder nor the names of its
|
|
16
|
+
contributors may be used to endorse or promote products derived from
|
|
17
|
+
this software without specific prior written permission.
|
|
18
|
+
|
|
19
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
20
|
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
21
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
22
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
23
|
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
24
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
25
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
26
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
27
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
28
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Constrain the sdist to what's needed to build and describe the package.
|
|
2
|
+
# setuptools_scm's file-finder adds every git-tracked file to the sdist by
|
|
3
|
+
# default; docs/, tests/, and media/ carry large notebooks, images, and
|
|
4
|
+
# fixture data that push the tarball past PyPI's 100 MB per-file limit, so
|
|
5
|
+
# prune them here.
|
|
6
|
+
include LICENSE
|
|
7
|
+
include README.md
|
|
8
|
+
include CITATION.cff
|
|
9
|
+
|
|
10
|
+
prune docs
|
|
11
|
+
prune tests
|
|
12
|
+
prune media
|
|
13
|
+
prune scripts
|
|
14
|
+
prune .github
|
cosmicqc-1.1.2/PKG-INFO
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: cosmicqc
|
|
3
|
+
Version: 1.1.2
|
|
4
|
+
Summary: coSMicQC is a software tool for single-cell quality control of morphology datasets.
|
|
5
|
+
Author: Jenna Tomkinson, Dave Bunten, Gregory P. Way
|
|
6
|
+
License-Expression: BSD-3-Clause
|
|
7
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
8
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
9
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
10
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
12
|
+
Requires-Python: <3.14,>=3.10
|
|
13
|
+
Description-Content-Type: text/markdown
|
|
14
|
+
License-File: LICENSE
|
|
15
|
+
Requires-Dist: cytodataframe<0.4,>=0.0.25; python_version < "3.11"
|
|
16
|
+
Requires-Dist: cytodataframe<0.4,>=0.3; python_version >= "3.11"
|
|
17
|
+
Requires-Dist: fire<0.8,>=0.6
|
|
18
|
+
Requires-Dist: llvmlite==0.49
|
|
19
|
+
Requires-Dist: matplotlib<4,>=3.10.3
|
|
20
|
+
Requires-Dist: pandas<3,>=2.2.2
|
|
21
|
+
Requires-Dist: pyarrow<21,>=16; python_version < "3.11"
|
|
22
|
+
Requires-Dist: pyarrow<23,>=22; python_version >= "3.11"
|
|
23
|
+
Requires-Dist: pyyaml<7,>=6.0.1
|
|
24
|
+
Requires-Dist: scipy<2,>=1.13
|
|
25
|
+
Requires-Dist: seaborn<0.14,>=0.13.2
|
|
26
|
+
Requires-Dist: tabulate<1,>=0.9
|
|
27
|
+
Dynamic: license-file
|
|
28
|
+
|
|
29
|
+
<img height="200" src="https://raw.githubusercontent.com/cytomining/coSMicQC/main/media/logo/with-text-for-light-bg.png?raw=true">
|
|
30
|
+
|
|
31
|
+
# Single cell Morphology Quality Control
|
|
32
|
+
|
|
33
|
+

|
|
34
|
+
[](https://github.com/cytomining/coSMicQC/actions/workflows/run-tests.yml?query=branch%3Amain)
|
|
35
|
+

|
|
36
|
+
[](https://github.com/astral-sh/ruff)
|
|
37
|
+
[](https://github.com/astral-sh/uv)
|
|
38
|
+
[](https://doi.org/10.1101/2025.10.14.682427)
|
|
39
|
+
[](https://doi.org/10.5281/zenodo.14797008)
|
|
40
|
+
|
|
41
|
+
> 🌠Navigate the cosmos of single-cell morphology with confidence — coSMicQC keeps your data on course!
|
|
42
|
+
|
|
43
|
+
## Contents
|
|
44
|
+
|
|
45
|
+
<!--ts-->
|
|
46
|
+
* [Single cell Morphology Quality Control](#single-cell-morphology-quality-control)
|
|
47
|
+
* [Contents](#contents)
|
|
48
|
+
* [Overview](#overview)
|
|
49
|
+
* [Repo Contents](#repo-contents)
|
|
50
|
+
* [System Requirements](#system-requirements)
|
|
51
|
+
* [Installation Guide](#installation-guide)
|
|
52
|
+
* [Stable release (PyPI)](#stable-release-pypi)
|
|
53
|
+
* [Development version (from source)](#development-version-from-source)
|
|
54
|
+
* [Demo](#demo)
|
|
55
|
+
* [Results](#results)
|
|
56
|
+
* [License](#license)
|
|
57
|
+
* [Issues](#issues)
|
|
58
|
+
* [Citation](#citation)
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
<!--te-->
|
|
62
|
+
|
|
63
|
+
## Overview
|
|
64
|
+
|
|
65
|
+
coSMicQC is a Python package to evaluate converted single-cell morphology outputs from [CytoTable](https://github.com/cytomining/CytoTable).
|
|
66
|
+
Technical artifacts can arise during segmentation, leading to issues such as under-segmentation, over-segmentation, or the erroneous segmentation of background noise, smudges, or bright artifacts.
|
|
67
|
+
By utilizing specific morphological features extracted with CellProfiler, you can identify technically incorrect segmentations and label or remove them before downstream analysis.
|
|
68
|
+
|
|
69
|
+
Please confer with our docsite for more comprehensive information about the project: https://cytomining.github.io/coSMicQC/main/
|
|
70
|
+
|
|
71
|
+
> 🌟 Check out our [blog post](https://waysciencelab.com/2024/12/20/cosmicqc.html) for a deeper background and how coSMicQC can help.
|
|
72
|
+
|
|
73
|
+
## Repo Contents
|
|
74
|
+
|
|
75
|
+
- `src/cosmicqc`: coSMicQC source code.
|
|
76
|
+
- `tests`: test suite.
|
|
77
|
+
- `docs`: documentation sources and examples.
|
|
78
|
+
- `media`: project assets (e.g., coverage badge).
|
|
79
|
+
- `reports`: generated artifacts (figures, notebooks, or summaries).
|
|
80
|
+
|
|
81
|
+
## System Requirements
|
|
82
|
+
|
|
83
|
+
- Python: `>=3.10` (tested through 3.13).
|
|
84
|
+
- RAM/CPU: standard laptop/desktop is sufficient for typical plate-sized datasets; larger screens benefit from more RAM/cores for faster QC/plotting.
|
|
85
|
+
- OS: Linux, macOS, and Windows are supported via Python; CI tests run on GitHub Actions.
|
|
86
|
+
|
|
87
|
+
## Installation Guide
|
|
88
|
+
|
|
89
|
+
### Stable release (PyPI)
|
|
90
|
+
|
|
91
|
+
```shell
|
|
92
|
+
pip install coSMicQC
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Development version (from source)
|
|
96
|
+
|
|
97
|
+
```shell
|
|
98
|
+
pip install git+https://github.com/cytomining/coSMicQC.git
|
|
99
|
+
# or with uv for local development
|
|
100
|
+
uv sync
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Demo
|
|
104
|
+
|
|
105
|
+
- Examples and notebooks live under `docs/src/examples` and the published docs: https://cytomining.github.io/coSMicQC
|
|
106
|
+
- Quickstart blog post: https://waysciencelab.com/2024/12/20/cosmicqc.html
|
|
107
|
+
|
|
108
|
+
## Results
|
|
109
|
+
|
|
110
|
+
- Test and lint status: 
|
|
111
|
+
- Coverage: 
|
|
112
|
+
|
|
113
|
+
## License
|
|
114
|
+
|
|
115
|
+
BSD-3-Clause; see [LICENSE](LICENSE).
|
|
116
|
+
|
|
117
|
+
## Issues
|
|
118
|
+
|
|
119
|
+
Please open issues or feature requests at https://github.com/cytomining/coSMicQC/issues.
|
|
120
|
+
|
|
121
|
+
## Citation
|
|
122
|
+
|
|
123
|
+
If you use coSMicQC in your work, please cite:
|
|
124
|
+
|
|
125
|
+
- Software DOI: [10.5281/zenodo.14888111](https://doi.org/10.5281/zenodo.14888111)
|
|
126
|
+
- Preprint: [10.1101/2025.10.14.682427](https://doi.org/10.1101/2025.10.14.682427)
|
|
127
|
+
- Citation metadata: [CITATION.cff](CITATION.cff)
|