Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MRG: check select parameters; enforce types when building manifests #3212

Merged
merged 12 commits into from
Jun 26, 2024

Conversation

ctb
Copy link
Contributor

@ctb ctb commented Jun 14, 2024

This PR checks the types and values of parameters to Index.select. Specifically, it makes sure that:

  • ksize, num, and scaled are ints
  • containment is a bool
  • abund is a bool
  • moltype is 'DNA', 'protein', 'hp', or 'dayhoff'
  • there are no other parameters other than 'picklist'

Also adds manifest column type enforcement in general, & explicit manifest content checking to sig manifest and sig summarize.

Related issues:

Copy link

codecov bot commented Jun 14, 2024

Codecov Report

Attention: Patch coverage is 96.36364% with 2 lines in your changes missing coverage. Please review.

Project coverage is 86.74%. Comparing base (afb4504) to head (5cf909d).
Report is 67 commits behind head on latest.

Files with missing lines Patch % Lines
src/sourmash/index/__init__.py 94.11% 1 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           latest    #3212      +/-   ##
==========================================
+ Coverage   86.69%   86.74%   +0.05%     
==========================================
  Files         136      136              
  Lines       15830    15871      +41     
  Branches     2716     2728      +12     
==========================================
+ Hits        13724    13768      +44     
+ Misses       1796     1794       -2     
+ Partials      310      309       -1     
Flag Coverage Δ
hypothesis-py 25.40% <47.27%> (+0.04%) ⬆️
python 92.37% <96.36%> (+0.03%) ⬆️
rust 62.22% <ø> (+0.03%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@ctb ctb changed the title WIP: check select parameters MRG: check select parameters; enforce types when building manifests Jun 16, 2024
@ctb
Copy link
Contributor Author

ctb commented Jun 16, 2024

ready for review @sourmash-bio/devs !

Copy link
Contributor

@bluegenes bluegenes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@ctb ctb enabled auto-merge (squash) June 26, 2024 09:57
@ctb ctb disabled auto-merge June 26, 2024 10:52
@ctb ctb merged commit 2d88bb8 into latest Jun 26, 2024
38 of 39 checks passed
@ctb ctb deleted the check_select_params branch June 26, 2024 10:52
@ctb ctb mentioned this pull request Jun 29, 2024
15 tasks
ctb added a commit that referenced this pull request Jun 29, 2024
Release candidate testing:
- [ ] Command line tests pass for a release candidate
- [ ] All eight release candidate wheels are built

Releasing to PyPI:

- [ ] RC tag(s)s deleted on github
- [ ] Release tag cut
- [ ] Release notes written
- [ ] All eight release wheels built
- [ ] Release wheels uploaded to pypi
- [ ] tar.gz distribution uploaded to pypi

After release to PyPI and conda-forge/bioconda packages built:

- [ ] [PyPI page](https://pypi.org/project/sourmash/) updated
- [ ] Zenodo DOI successfully minted upon new github release - [see
search
results](https://zenodo.org/search?page=1&size=20&q=sourmash&sort=mostrecent)
- [ ] `pip install sourmash` installs the correct version
- [ ] [conda-forge
sourmash-minimal-feedstock](/~https://github.com/conda-forge/sourmash-minimal-feedstock)
has updated `sourmash-minimal` to the correct version
- [ ] `mamba create -n smash-release -y sourmash` installs the correct
version

Optional but recommended:

- [ ] PR submitted to update pyodide version
- [ ] PR submitted to update spack version

---

## Release notes

Minor new features:

* check `select` parameters; enforce types when building manifests
(#3212)
* patch-fix `sig extract` to no longer create empty zips (#3214)

Bug fixes:

* adjust how ANI is calculated in the revindex code. (#3218)

Cleanup and documentation updates:

* final updates for 2024 JOSS publication (#3225)
* Improve JOSS paper affiliations (#3224)
* fix DOI for Rahman Hera paper in JOSS pub. (#3221)
* upd citations, minor text (#3220)

Developer updates:

* bump sourmash core version to 0.14.1 (#3219)
* bump version to 4.8.10-dev (#3211)

Dependabot updates:

- Bump proptest from 1.4.0 to 1.5.0 (#3222)
- [pre-commit.ci] pre-commit autoupdate (#3223)
- [pre-commit.ci] pre-commit autoupdate (#3003)
- Bump histogram from 0.10.2 to 0.11.0 (#3216)
- Bump pypa/cibuildwheel from 2.19.0 to 2.19.1 (#3217)
- Bump histogram from 0.10.1 to 0.10.2 (#3207)
- Bump statrs from 0.16.1 to 0.17.1 (#3205)
- Bump roaring from 0.10.4 to 0.10.5 (#3206)
- Bump primal-check from 0.3.3 to 0.3.4 (#3208)
- Bump niffler from 2.5.0 to 2.6.0 (#3204)
- Bump pypa/cibuildwheel from 2.18.1 to 2.19.0 (#3202)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Index.select allows ksizes that aren't an integer.
2 participants