Releases: cytomining/pycytominer
Releases · cytomining/pycytominer
v1.2.1 (2024-11-20)
What's Changed
- ci(dependencies): update setup python action dependencies and dependabot settings by @d33bs in #457
- ci(releases): constrain PyPI GitHub Actions release trigger types by @d33bs in #458
- ci(pre-commit): format
pyproject.toml
withpyproject-fmt
by @d33bs in #453 - Modify
CITATION.cff
to conform tocffconvert
formatting by @d33bs in #460 - build(python): bump minimum Python version to 3.9 by @d33bs in #464
- build(deps): bump scikit-learn from 1.3.2 to 1.5.0 by @dependabot in #465
- ci(dependabot): enable auto poetry updates by @d33bs in #463
- build(deps-dev): bump sphinx-autobuild from 2021.3.14 to 2024.10.3 by @dependabot in #467
- build(deps-dev): bump pre-commit from 3.5.0 to 4.0.1 by @dependabot in #468
- build(deps-dev): bump sphinx from 7.1.2 to 7.4.7 by @dependabot in #470
- ci: exclude scipy, sqlachemy, pandas from groups updates by @kenibrewer in #471
- build(deps): bump the python-packages group across 1 directory with 13 updates; retain cytominer-database 0.3.4 by @dependabot in #473
- build(deps): bump sqlalchemy from 1.4.52 to 2.0.36; move to sqlalchemy.text for queries by @dependabot in #469
- build(python): add python 3.12 compatibility by @d33bs in #475
- refactor(collate): deprecationwarning for
collate
by @d33bs in #462 - build(deps): bump aiohttp from 3.10.2 to 3.10.11 by @dependabot in #479
- build(deps): bump codecov/codecov-action from 4 to 5 by @dependabot in #478
- bump: version 1.2.0 -> 1.2.1 by @d33bs in #461
Full Changelog: v1.2.0...v1.2.1
v1.2.0 (2024-09-30)
What's Changed
- build(docker): add Dockerfile and container image build tests by @d33bs in #362
- fix: SQLite joins should be on ImageNumber,TableNumber and not ImageNumber by @shntnu in #378
- fix: add workspaceDir to git safe directories for devcontainers by @shntnu in #379
- dev: add docker-in-docker feature to devcontainer by @kenibrewer in #381
- refactor: update ruff to 0.3.4 by @kenibrewer in #386
- Refactor/apply isort linting checks by @kenibrewer in #389
- build(docker): add docker hub push capabilities by @d33bs in #377
- refactor: apply bandit checks by @kenibrewer in #387
- fix(ci): docker image push fixes by @d33bs in #395
- fix(ci): docker image push readme updates by @d33bs in #398
- build(deps): bump idna from 3.6 to 3.7 by @dependabot in #403
- refactor(pandas): enable copy_on_write for Pandas by @d33bs in #401
- fix(poetry): add tool.setuptools_scm section by @d33bs in #402
- build(deps): bump aiohttp from 3.9.3 to 3.9.4 by @dependabot in #405
- ci(runners): update macos version for python by @d33bs in #408
- refactor(pd): avoid dataframe fragmentation in agg by @d33bs in #407
- feat(dev): add improved makefile with additional helper commands by @kenibrewer in #391
- ci(runners): specify GitHub Actions Ubuntu runner image by @d33bs in #411
- docs(docker): add docker installation instructions by @d33bs in #409
- fix(pandas): add condition for pandas config by @d33bs in #415
- build(deps-dev): bump jinja2 from 3.1.3 to 3.1.4 by @dependabot in #413
- build(deps-dev): bump requests from 2.31.0 to 2.32.2 by @dependabot in #419
- build(deps-dev): bump tornado from 6.4 to 6.4.1 by @dependabot in #417
- build(deps): bump urllib3 from 1.26.18 to 1.26.19 by @dependabot in #420
- bug(compartments): avoid lowercase compartment strings by @d33bs in #421
- build(deps-dev): bump certifi from 2024.2.2 to 2024.7.4 by @dependabot in #422
- build(deps-dev): bump zipp from 3.18.1 to 3.19.1 by @dependabot in #423
- build(deps-dev): bump setuptools from 69.2.0 to 70.0.0 by @dependabot in #424
- build(deps-dev): bump webob from 1.8.7 to 1.8.8 by @dependabot in #425
- build(deps): bump aiohttp from 3.9.4 to 3.10.2 by @dependabot in #426
- Add dark mode style color for contrast in docs by @d33bs in #429
- ci(codecov): fix errors with automated coverage by @d33bs in #432
- ci(dependabot): enable GitHub Actions updates by @d33bs in #438
- ci(codecov): add codecov token by @d33bs in #446
- ci(codecov): correct codecov key typo by @d33bs in #447
- build(deps): bump pre-commit/action from 3.0.0 to 3.0.1 by @dependabot in #445
- build(deps): bump docker/build-push-action from 5 to 6 by @dependabot in #444
- build(deps): bump peter-evans/dockerhub-description from 3 to 4 by @dependabot in #443
- Improve Documentation for Non-CellProfiler Datasets in Pycytominer by @axiomcura in #430
- Update error message and docs for
features
argument to clarify CellProfiler default expectations and how to handle non-CellProfiler data by @axiomcura in #448 - ci(mypy): add mypy check and adjust code for types by @d33bs in #439
- Updating pyproject python versioning by @axiomcura in #454
- bump: version 1.1.0 → 1.2.0 by @d33bs in #455
Full Changelog: v1.1.0...v1.2.0
v1.1.0 (2024-03-13)
What's Changed
- Bump pyarrow from 13.0.0 to 14.0.1 by @dependabot in #357
- Bump aiohttp from 3.8.6 to 3.9.0 by @dependabot in #358
- Update Readme with Citation section by @axiomcura in #359
- docs(template): PR template attribution to comment by @d33bs in #363
- Fix Spherize – use SVD, simplify calculations by @shntnu in #320
- Bump jinja2 from 3.1.2 to 3.1.3 by @dependabot in #364
- Bump aiohttp from 3.9.0 to 3.9.2 by @dependabot in #370
- fix(build): add pdv plugin by @kenibrewer in #368
- docs(changelog): add commitizen template by @kenibrewer in #356
- ci: add versioned artifact build action by @kenibrewer in #373
- Apply ruff formatting and linting along with relevant refactoring by @kenibrewer in #371
- bump: version 1.0.1 → 1.1.0 by @d33bs in #374
Full Changelog: v1.0.1...v1.1.0
v1.0.1 (2023-11-09)
What's Changed
- fix(collate): make optional dependency imports localized by @kenibrewer in #351
- fix(docs): add dynamic versioning to docs build by @kenibrewer in #353
Full Changelog: v1.0.0...v1.0.1
v1.0.0 Release
Pycytominer v1.0.0 Release
What's Changed
- Updating
__about__.py
version and fixing pyPI upload action by @gwaybio in #209 - Use numpy to calculate pearson corr of non NaN matrices by @johnarevalo in #193
- Implementing DeepProfiler single cell output and normalization by @roshankern in #210
- Fix #192 warnings for scipy mad func and other deprecated params by @johnarevalo in #194
- Fix of
.merge_single_cells()
to Load Single-Cell Data into Dataframes by @bunnech in #219 - Add column numbers to DP locations by @roshankern in #218
- Add to Function Converting SQLite to Pandas DataFrame and Merging of Additional Metadata by @bunnech in #228
- Address Installation Dependency Gaps by @d33bs in #232
- Enable custom image table name for SQLite queries in cells.py by @gwaybio in #235
- Enable flexible pyarrow dependency by @d33bs in #236
- Change drop_outlier default to 500 by @bethac07 in #238
- Added check before dropping well column by @kenibrewer in #241
- Allow column subsetting at the time of loading by @bethac07 in #246
- Reflect updated defaults in collate documentation by @bethac07 in #244
- avoid re-validation for excluded features by @johnarevalo in #243
- Add float_datatype parameter for SingleCells compartment load and merge performance flexibility by @d33bs in #248
- Pin SQLAlchemy below 2 by @bethac07 in #251
- Make AWS obey excludes by @bethac07 in #256
- Implementing
parquet
loading inload_profiles
function by @axiomcura in #262 - pin scipy <1.9 by @ErinWeisbart in #258
- New cyto tool: create cell locations file by @shntnu in #257
- Adding gitpod, codespaces, devcontainer configs along with pre-commit code formatting using black and prettier by @kenibrewer in #264
- make default
unique_cut
value forvariance_threshold
consistent withfeature_select
by @alxndrkalinin in #283 - cell_locations: Writing output to S3 was failing; fixed this by @shntnu in #271
- load_profiles should work with PurePath types by @gwaybio in #285
- Change variance_threshold default to 0.01 by @shntnu in #286
- Update python versions - 3.7 deprecation, 3.10 and 3.11 testing support by @gwaybio in #287
- Github actions pre-commit CI pipeline by @kenibrewer in #279
- Update README in preparation for version 1 release by @gwaybio in #289
- Run pre-commit (black, prettier) on all files by @gwaybio in #291
- Changed function arguments throughout pycytominer from str 'none' to None by @kenibrewer in #293
- Update docs by @gwaybio in #290
- logo touchup by @vincerubinetti in #300
- Add
pipeline-examples
tutorial by @niranjchandrasekaran in #297 - [Hot Fix] README figure wonk by @gwaybio in #295
- Add issue templates by @jenna-tomkinson in #296
- Add informative merge suffixes for platemap and external metadata column collisions by @kenibrewer in #292
- Adding Pycytominer General Walkthrough Tutorial for RTD Website by @axiomcura in #305
- Add "output_type" parameter to major functions by @jenna-tomkinson in #307
- Make sample argument uniform for normalize and feature_select by @gwaybio in #311
- Switch build from setuptools to Poetry and move tests path by @kenibrewer in #303
- added ipython to rtd requirments file by @axiomcura in #309
- Remove
master
branch references after migrating tomain
by @kenibrewer in #324 - Bump urllib3 from 1.26.16 to 1.26.17 by @dependabot in #326
- [Refactor] Migrate dependencies in docs/requirements.txt to pyproject.toml by @kenibrewer in #325
- Bump urllib3 from 1.26.17 to 1.26.18 by @dependabot in #329
- refactor(devcontainer): move vscode settings into devcont config by @kenibrewer in #336
- fix(devcontainer): install poetry via devcontainer feature by @kenibrewer in #337
- docs: update CITATION.cff and pyproject.toml authors by @kenibrewer in #339
- fix(build): fix optional poetry dependencies by @kenibrewer in #338
- feat(build): enable poetry-dynamic-versioning and cz changelog by @kenibrewer in #341
- fix(dev): remove gitpod support and update docs by @kenibrewer in #347
- feat: add commitizen cli and commit standards by @kenibrewer in #340
- feat: refactor integration pipeline and add poetry-dynamic-versioning support by @kenibrewer in #342
- bump: version 0.2.0 → 1.0.0 by @kenibrewer in #348
New Contributors
- @johnarevalo made their first contribution in #193
- @roshankern made their first contribution in #210
- @bunnech made their first contribution in #219
- @axiomcura made their first contribution in #262
- @alxndrkalinin made their first contribution in #283
- @jenna-tomkinson made their first contribution in #296
- @dependabot made their first contribution in #326
Full Changelog: v0.2.0...v1.0.0
Supporting CellProfiler output data collation
Pycytominer now fully supports CellProfiler analyses directly from CellProfiler output files.
What's Changed
Full Changelog: v0.1.5...v0.2.0
Minor bump to 0.1.5 in preparation for collate-specific release
What's Changed
- Remove codeowners and update install instructions by @gwaybio in #190
- Upload Logo by @vincerubinetti in #196
- Improve Memory Performance Within merge_single_cells by @d33bs in #197
New Contributors
- @vincerubinetti made their first contribution in #196
- @d33bs made their first contribution in #197
Full Changelog: v0.1...v0.1.5
Initial release of pycytominer
Pycytominer release v0.1
Pycytominer is a python package that implements functions for every step of the image-based profiling pipeline.
Processing image-based readouts of cell morphology, we can now:
- aggregate single cells to form bulk profiles
- subsample single cells to form pseudo bulk replicates
- normalize both single cells and bulk profiles
- apply feature selection functions to remove uninformative morphology features
- generate consensus signatures from replicates
The package currently has 98% test coverage and is fully documented with some examples. We hope that you enjoy using pycytominer, and please report bugs, make recommendations, and discuss any ideas you might have.
What's Changed
- Adding Initial Functions by @gwaygenomics in #1
- Update LICENSE file by @gwaygenomics in #2
- Adding Travis yml by @gwaygenomics in #3
- Add normalize function by @gwaygenomics in #4
- Adding
setup.py
by @gwaygenomics in #7 - Add Cytominer Authors to Setup by @gwaygenomics in #8
- Add Covariance Functions by @gwaygenomics in #9
- Adding sparse random projection by @gwaygenomics in #10
- Adding Whitening Transform Method by @gwaygenomics in #13
- Adding feature_select.py function by @gwaygenomics in #15
- Adding Feature Select Testing by @gwaygenomics in #17
- Updating aggregate to work with sqlite files by @gwaygenomics in #16
- Adding random state set function in
aggregate.py
by @gwaygenomics in #18 - Add sqlalchemy to setup.py by @gwaygenomics in #19
- Adding codecov to travis by @gwaygenomics in #20
- Adding
annotate.py
by @gwaygenomics in #21 - Updating
normalize.py
by @gwaygenomics in #23 - Updating
feature_select.py
by @gwaygenomics in #24 - Inferring Features in
feature_select.py
by @gwaygenomics in #27 - Add Audit by @gwaygenomics in #33
- Try to coerce string input for subsample_n by @gwaygenomics in #34
- [hotfix] save quantile in audit by @gwaygenomics in #35
- [hotfix] make sure to enable audit output! by @gwaygenomics in #36
- Adding option to compress output data by @gwaygenomics in #40
- Blacklist features by @gwaygenomics in #41
- Inferring Cell Painting Features by @gwaygenomics in #42
- Add whitening by @gwaygenomics in #43
- Refactor Before PooledCellPainting by @gwaygenomics in #44
- Adding PooledCellPainting by @gwaygenomics in #45
- Add Init File in Pooled by @gwaygenomics in #46
- [Pooled] try to convert columns to numeric by @gwaygenomics in #47
- Adding MODZ Consensus Signature Operation by @gwaygenomics in #53
- Fixing MODZ to behave properly when not all metadata columns are specified by @gwaygenomics in #55
- Add
write_gct
function by @gwaygenomics in #56 - Upgrading Audit Functionality by @gwaygenomics in #60
- Functionality to Drop Outlier Features by @gwaygenomics in #62
- Fix aggregate dtype bug by @gwaygenomics in #65
- Remove kwargs everywhere by @gwaygenomics in #66
- Allowing feature and metadata feature setting in write_gct by @gwaygenomics in #67
- Add Feature Metadata to writing gct file by @gwaygenomics in #68
- Adding Robust Normalization by MAD by @gwaygenomics in #72
- Fix mad_robustize policy on low variance columns by @gwaygenomics in #74
- Enable cell counting with more than 2 defined strata by @gwaygenomics in #76
- Add CMAP options to annotate by @gwaygenomics in #73
- Abstract loading profiles and platemap by @gwaygenomics in #84
- Adding CSV sniffing for delimiters by @gwaygenomics in #85
- Fix missing value in variance threshold error by @gwaygenomics in #86
- Fix write_gct too much strip by @gwaygenomics in #87
- Switch to "samples='all'" as default and move operations to subfolder by @gwaygenomics in #88
- Updating whitening implementations by @gwaygenomics in #91
- clean pycytominer folder base to include core functionality by @gwaygenomics in #92
- changed whiten_method default by @AdeboyeML in #97
- Fix gzip sniffer by @gwaygenomics in #98
- Refactor the consensus.py file to keep consistent API by @gwaygenomics in #101
- Change whiten nomenclature to spherize by @gwaygenomics in #102
- increase modularity of infer_cp_features by @hillsbury in #103
- Setting up auto documentation with sphinx by @gwaygenomics in #104
- Updating theme and fixing RTD integration by @gwaygenomics in #105
- Adding pytest to requirements by @gwaygenomics in #106
- documentation edits by @bethac07 in #108
- Adding single cell module by @gwaygenomics in #111
- Updating consensus.py to also work with input files by @gwaygenomics in #115
- Output compression to ignore timestamps by @gwaygenomics in #119
- Subsampling at the point of single cell merging by @gwaygenomics in #121
- Refactoring annotate by @gwaygenomics in #118
- Fixing sphinx docs by @gwaygenomics in #124
- [hotfix] rename requirements doc by @gwaygenomics in #125
- Adding epsilon parameter to spherize by @gwaygenomics in #132
- Fix aggregate dropping samples by @gwaygenomics in #134
- Modify aggregate by @niranjchandrasekaran in #129
- Adding open source guideline documents by @gwaygenomics in #136
- Update README with Cell Painting paper URL by @shntnu in #139
- Set default object_feature to Metadata_ObjectNumber by @niranjchandrasekaran in #143
- Adding pipeline figure and boosting README by @gwaygenomics in #145
- Adding functionality to aggregate and annotate DeepProfiler output by @gwaygenomics in #78
- Replace travis with github actions by @niranjchandrasekaran in #151
- Replace aggregate_args by @niranjchandrasekaran in #148
- Update DeepProfiler Processing by @michaelbornholdt in #149
- add citation note by @gwaygenomics in #157
cells.aggregate_compartment()
queries the database in chunks, reducing memory by @sjfleming in #156- Add "noise removal" feature selection by @ruifanp in #153
- fix issue when some samples have replicates and some don't by @bethac07 in #166
- Image features by @niranjchandrasekaran in #168
- Add Metadata_ prefix to count features in the image table by @niranjchandrasekaran in #171
- update pipeline by @michaelbornholdt i...