-
Notifications
You must be signed in to change notification settings - Fork 26
Next major release #219
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
Open
fabianegli
wants to merge
248
commits into
main
Choose a base branch
from
dev
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+22,343
−4,831
Open
Next major release #219
Changes from all commits
Commits
Show all changes
248 commits
Select commit
Hold shift + click to select a range
3ea52cd
Merge branch 'dev' of https://github.com/bigbio/sdrf-pipelines into dev
ypriverol 7d0b72e
Merge branch 'main' of https://github.com/bigbio/sdrf-pipelines into dev
ypriverol 2b935e4
first version of pydantic
ypriverol d325545
first version of pydantic
ypriverol e4407f1
all tests pass
ypriverol 3027b19
all tests pass
ypriverol dfd2421
all tests pass
ypriverol d2b2f1a
all tests pass
ypriverol 3b37341
all tests pass
ypriverol 1d6f137
all tests pass
ypriverol 593633d
Getting there with inheritance.
ypriverol a2e13ea
Getting there with inheritance.
ypriverol 4c74b5d
Getting there with inheritance.
ypriverol 492e512
Getting there with inheritance.
ypriverol 7f32ceb
Getting there with inheritance.
ypriverol d99f3b3
Getting there with inheritance.
ypriverol e7b5043
Getting there with inheritance.
ypriverol 08739c8
Getting there with inheritance.
ypriverol 719bfb0
Getting there with inheritance.
ypriverol 34d6dc6
first version of pydantic
ypriverol 209b2a8
Merge remote-tracking branch 'origin/pydantic' into pydantic
ypriverol 9d3f3fd
Getting there with inheritance.
ypriverol fc5c809
validators type -> validator_name
ypriverol 4565091
update validators at Template level
ypriverol b5011c7
update validators at Template level
ypriverol 00fea21
update validators at Template level
ypriverol ed49248
validators of columns.
ypriverol e4b6c4e
validators of columns.
ypriverol 61996b5
remove sdrf_merge components.
ypriverol a9ca3cf
ontology validation finished
ypriverol ae93938
updates in the errors code.
ypriverol e3547be
updates in the errors code.
ypriverol 028560e
updates in the errors code.
ypriverol dfa2a52
updates in the schemas.
ypriverol 7122ab7
updates in the schemas.
ypriverol 7c867d2
updates in the schemas.
ypriverol 55a585c
updates in the schemas.
ypriverol 2dab451
updates in the schemas.
ypriverol f3e0db5
order validator implemented
ypriverol 955863e
not empty cells implemented.
ypriverol 720c386
remove unnecessary parameters.
ypriverol 9c8a3ac
update ols use cache.
ypriverol 5ce9146
update ols use cache.
ypriverol 83c1f07
Merge pull request #1 from ypriverol/pydantic
ypriverol dc74979
Update pyproject.toml
ypriverol 32d9a75
minor changes
ypriverol e950704
Merge branch 'main' of https://github.com/bigbio/sdrf-pipelines into …
ypriverol d7b8693
add mypy pre-commit hook
fabianegli 7dc8f20
fix type annotations
fabianegli 272d8fa
match type for enumerate input when it is a pandas DataFrame
fabianegli 29fbb34
add mypy to the dev dependencies
fabianegli 03a8286
remove circular import used solely for type hint
fabianegli aa0873d
do not use setup.py directly
fabianegli 4ad736f
use pytest directly
fabianegli 849ad72
bump Python version for packaging tests
fabianegli a63718b
improve type hint for warningy
fabianegli fde7995
bump required Python version in setup.py
fabianegli fb9f8e9
use new builtin to remove suffix from string
fabianegli 3c549c0
use min Python version and add instructions for mypy
fabianegli 5620a2b
run mypy in the CI checks
fabianegli 8b76027
run CI on PRs to dev
fabianegli b4b2344
remove redundant test
fabianegli bf71e26
install dependencies for mypy in CI
fabianegli 392e065
specify source directory for mypy check in CI
fabianegli 6b4a2e9
add type annotation dependencies to dev requirements
fabianegli 83e8a4e
remove dependency on obsolete pkg_resources
fabianegli 3176981
remove simple wrapper function
fabianegli c33f068
use explanatory variable name
fabianegli 0f735d0
use str.lower instead of the builtin map
fabianegli 7dea3c1
prevent duplicate regex search
fabianegli 00e79ab
use new variable name when type changes
fabianegli d0fdb36
fix formatting
fabianegli 97538a7
ignore pandas_schema in type checks
fabianegli 47efc70
recreate missing variable
fabianegli f7adf1e
mypy requires the source directory as input
fabianegli 98cc740
extract function to create a line of a tsv file
fabianegli f97fd6f
remove unused code
fabianegli 4f1793c
make mypy the last pre-commit hook to run
fabianegli 96cb233
make private attribute public
fabianegli 814a251
remove unused import
fabianegli 1a3a85b
unused variable
fabianegli 7a10c7f
specify utf-8 file encoding
fabianegli d3b57d8
remove unnecessary pass
fabianegli 9d9e273
use is for boolean comparisons
fabianegli 6c47dc6
use f-string
fabianegli 5cfe18b
expand comment to module docstring
fabianegli 28828d5
do not run setup.py directly
fabianegli 78b86f1
consistent python invocation in CI
fabianegli 49a3473
use raw string to prevent invalid escape sequence
fabianegli 74cf489
docstring improvements
fabianegli c61a0ad
Merge pull request #206 from fabianegli/maintenance
ypriverol 1bfeabf
comply with line length limit of 120
fabianegli 8619a11
better comparisons
fabianegli f8b4727
use _ for unused variables
fabianegli 412ca80
iterate over dict directly
fabianegli 4d8a994
use f-strings
fabianegli ea59861
remove unnecessary indirection with super()
fabianegli 50cb693
remove unnecessary else
fabianegli 01ec8ef
use f-strings
fabianegli a69e45f
make flake8 happy
fabianegli a117ff9
make flake8 happy
fabianegli fe58033
more concise conditionals
fabianegli a0ca532
test for dictionary membership directly
fabianegli 619ddda
iterate over items instead of keys
fabianegli 49cfe02
use pandas str.lower
fabianegli 58bbb65
remove unnecessary call to int
fabianegli c756c77
use pandas methods for string operations
fabianegli c5997d3
map to str.lower instead of using lambda
fabianegli e70ce6c
resolved many merge conflicts typing issues and more
fabianegli d471252
fix tmt label set inference logic
fabianegli 09d56f7
fixes to the remaining label inference code
fabianegli db22ef3
raise ValueErrors instead of bare Exception
fabianegli c02c5ef
remove unnecessary enumerate
fabianegli 5cb8f53
directly iterate over dictionary instead of keys
fabianegli b02581c
allow enzyme to be unspecified
fabianegli f66ebf4
if label inference fails raise a ValueError
fabianegli ce67d40
supply useful data in error message
fabianegli d978d6d
extract SDRF specification constants to dedicated file
fabianegli 781f81e
read SDRF file outside pydantic model
fabianegli 4fa27a8
add missing Type import
fabianegli 21ba003
use the union operator
fabianegli 535f5a4
make packaged unimod datafile path a constant
fabianegli 6d28a93
correct Python version specification for poetry
fabianegli 490766b
graciously handle the --use-ols-cache-only flag deprecation
fabianegli bd1206f
stop testing deprecated --use-ols-cache-only flag
fabianegli eeda1de
ignore the mypy errors for `validate` overloads
fabianegli 63ad13e
Revert "stop testing deprecated --use-ols-cache-only flag"
fabianegli 8c1449c
update type annotations to Python 3.10
fabianegli 16388f2
remove documentation for removed parameters
fabianegli f500832
reinstate --use_ols_cache_only
fabianegli c510c1e
remove unused function
fabianegli f0c858c
comply with naming conventions
fabianegli 29ab753
remove unused imports
fabianegli b5176d7
use loop variable inside loop
fabianegli 81b924a
ignore unused return value from call to iterrows
fabianegli 783e1f5
mainenance for logging and strings
fabianegli 8d838be
use dict literal
fabianegli 582666e
specify encoding when reading a schema file
fabianegli 140f30b
remove unnecessary else after return
fabianegli 449ba24
consistent use of underlines in --use_ols_cache_only
fabianegli 7587eea
defuse xml with defusedxml
fabianegli 7ef0ef9
fix logging string interpolation
fabianegli 15ec000
Revert "defuse xml with defusedxml"
fabianegli 5623f1b
lazy string interpolation in logging
fabianegli 627743e
use Field for mutable default pydantic attributes
fabianegli d73b20b
more consistent return types and annotations
fabianegli a87e8ba
more concise description
fabianegli c4be627
use the oldest supported Python version for tests
fabianegli 7e4d211
Merge pull request #211 from fabianegli/fix-tmt-label-set-inference
ypriverol 08d861f
Merge branch 'dev' into ypriverol-pydantic
fabianegli bce4fff
python-version must be a string
fabianegli 766f6b3
use Python 3.10 for black formatting test env
fabianegli 65c7759
formatting
fabianegli 48b3828
use applymap instead of deprecated map
fabianegli ca2fb64
discard unused variable
fabianegli 0a20a05
skip unnecessary list conversion
fabianegli 92ebcc7
Revert "use applymap instead of deprecated map"
fabianegli 574d90f
add unimod database tests
fabianegli 417af95
use pydantic for data validation
fabianegli f6c554e
add mypy configuration
fabianegli be04ecb
add dependencies for mypy pre-commit hook
fabianegli 9acd670
more consistent formatting
fabianegli 8b42f70
add test env dependency pytest-datadir
fabianegli 131e8c0
Merge pull request #217 from fabianegli/mypy-precommit
ypriverol 2d13277
Merge pull request #221 from bigbio/main
ypriverol b0e51e6
Update __init__.py
ypriverol 18c3cf6
Update meta.yaml
ypriverol 1ee1e57
test tmt plex inference
fabianegli ba46736
remove unused inport and variable
fabianegli fe74656
test --version and --help CLI options
fabianegli 572abe2
Merge pull request #227 from fabianegli/test-version-command
ypriverol 767bb8a
make TMT plex inference testable and add tests
fabianegli 3afd44d
remove misleading docstring
fabianegli 6aec612
remove unnecessary print
fabianegli 80e07de
use Counter for LogicError list comparison instead of len
fabianegli be4b019
simplify PatternValidator involved in flaky test
fabianegli 75a6126
remove unused function
fabianegli 482b903
use Field instead of list literal as default
fabianegli 39ee1b7
do not duplicate validators for columns
fabianegli 235b43e
add annotation
fabianegli d2adc3f
remove print statements from tests
fabianegli 5253e8c
remove print statement from test
fabianegli 0c0d57f
prevent age regex from matching the empty string
fabianegli 4ecedb8
remove unnecessary condition
fabianegli b65acfe
use three letter variable name for short loop
fabianegli a41c54c
keep inherited method parameter name
fabianegli fe2e998
use pandas builtin object column selection
fabianegli 5e39342
update to click.Command from clicl.BaseCommand
fabianegli e2d7378
use raw string for regex
fabianegli 2e48a13
make use of Python 3.10 features
fabianegli 6eecb42
Update pythonapp.yml
fabianegli ad1393e
debug CI
fabianegli f25458b
use poetry in the Python application Action
fabianegli c1d77fe
add conda-verify step
fabianegli 1ea4db0
try debugging inside GH Action
fabianegli 5471bf0
Revert "try debugging inside GH Action"
fabianegli acdf7c0
Merge pull request #20 from bigbio/dev
daichengxin ae35703
Merge pull request #233 from fabianegli/run-CI-with-poetry
ypriverol feaa8c9
Update test_min_columns.py
noatgnu 8adc021
Update test_min_columns.py
noatgnu 13eebaa
Update test_min_columns.py
noatgnu 4848464
fix for inconsistency in technology type
noatgnu 1935434
Update sample.sdrf.tsv
noatgnu 8388c58
Merge pull request #234 from noatgnu/fix_techonology_type
ypriverol f864652
fix errors in test_sdrfchcker
noatgnu 383c888
Merge branch 'dev' into show-which-logic-error-tests-fail
noatgnu 4ac26a0
fix test_min_columns technology typ inconsistency
noatgnu d5abc18
Merge pull request #229 from fabianegli/show-which-logic-error-tests-…
ypriverol 2cd713e
attempt fixing code factor issues
noatgnu a9cd151
remove unused variable in test_min_columns
noatgnu 38cefb5
Merge branch 'main' into dev
noatgnu b566793
fix black error
noatgnu dd9a3b2
fixing codacy complaints
noatgnu ea10003
codacy fixing attempt
noatgnu a9d2372
Update tests/test_sdrfchecker.py
noatgnu 8df0275
Update sdrf_pipelines/utils/exceptions.py
noatgnu 8ee0654
fixing inconsistent column name
noatgnu fc66042
version change to 1.0.0
noatgnu b69e208
Update test_sdrfchecker.py
noatgnu b97fd5b
Update CHANGELOG.md
noatgnu 945ae8c
Merge pull request #21 from bigbio/dev
daichengxin e6a67b8
add more test cases
daichengxin 3e05003
update
daichengxin 4403266
fixed
daichengxin cbbadc6
Update test_convert_openms.py
daichengxin a713410
Merge pull request #235 from daichengxin/dev
ypriverol f6c6649
clean up reference tsv
noatgnu 87dd7c4
slightly modify openms.py to avoid using row_index
noatgnu 11888f6
update reference files that was failing CS= field check
noatgnu dc501f5
update included parquets
noatgnu d6d16fa
update OntologyValidator.validate
noatgnu ad801e3
update to correctly match age with range in different combinations
noatgnu 80dc732
Add PXD001474 SDRF file
noatgnu 07ad40b
update validator for assay name
noatgnu 2ecc96e
add multiple column unique values validator
noatgnu 9b36869
Search for TMT and iTRAQ mods in lowercase
johnne 9cbb5cf
Merge pull request #237 from johnne/dev
ypriverol a1b8a83
update yml and validators
noatgnu d0d5931
update to minimum template, parse_sdrf and validator
noatgnu 6b0ae05
adding duckdb to mypy ignore
noatgnu 9e4be79
adding validation proof utility function and testing
noatgnu a056a59
clean up stdout by moving print to logging.debug
noatgnu 67980f6
Update parse_sdrf.py
noatgnu 0164d96
adding initial support for meta metadata in sdrf file
noatgnu e696e5a
fixing github ci specific errors
noatgnu 4900c28
fixing unused import in parse_sdrf
noatgnu 4b9d241
update
noatgnu 7b7dd36
reduce complexity of schema merging methods
noatgnu File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -121,3 +121,5 @@ ENV/ | |
| pip-wheel-metadata | ||
| .vscode | ||
| .*.sw? | ||
|
|
||
| .qodo | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,15 +1,20 @@ | ||
| repos: | ||
| - repo: https://github.com/pre-commit/pre-commit-hooks | ||
| rev: v4.4.0 | ||
| rev: v5.0.0 | ||
| hooks: | ||
| - id: end-of-file-fixer | ||
| - id: trailing-whitespace | ||
| - id: detect-private-key | ||
| - id: end-of-file-fixer | ||
| - id: trailing-whitespace | ||
| - id: detect-private-key | ||
| - repo: https://github.com/psf/black | ||
| rev: 23.9.1 | ||
| rev: 25.1.0 | ||
| hooks: | ||
| - id: black | ||
| - repo: https://github.com/pycqa/isort | ||
| rev: 5.12.0 | ||
| rev: 6.0.1 | ||
| hooks: | ||
| - id: isort | ||
| - repo: https://github.com/pre-commit/mirrors-mypy | ||
| rev: v1.15.0 | ||
| hooks: | ||
| - id: mypy | ||
| additional_dependencies: ['pandas-stubs', 'pydantic', 'types-requests', 'types-PyYAML', 'types-defusedxml'] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,9 +1,15 @@ | ||
| # History of changes for sdrf-pipelines | ||
|
|
||
| ## Version 0.0.33 | ||
|
|
||
| ### Important fixes | ||
|
|
||
| * The TMT label set inference now works for files with more lines than labels in the used label set. | ||
|
|
||
| ---- | ||
| ## Version 1.0.0 From 0.0.32 | ||
|
|
||
| ### Development | ||
| - GitHub action workflow set to use python 3.10 and add mypy and verification of conda recipe into the test suite | ||
| - GitHub action workflow remove python 3.9 from testing | ||
| - Add isort and mypy into pre-commit hooks | ||
| - Usage of poetry for dependency management and packaging | ||
|
|
||
| ### Major Changes | ||
| - Add yaml-defined schemas for validation and schema inheritance with improve support for multiple ontologies | ||
| - SchemaRegistry can be used to programmatically use to access all the built-in schemas as well as adding custom schemas | ||
| - Remove usage of deprecated pkg_resources | ||
| - Add validate-sdrf-simple command to quickly validate a sdrf file |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Broken install command will abort the workflow
python -m pytest pip install buildinvokes pytest and then treatspipas an argument, so the step fails before the package is built.Replace with the intended
python -m pip install build(or separate the pytest call into its own step).📝 Committable suggestion
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah thatooks weird
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jpfeuffer Yes, that's definitely a problematic command! The
python -m pytest pip install buildwould try to run pytest withpipandinstallas arguments, which would fail immediately and prevent the package from being built or published.The fix is straightforward - just change it back to
python -m pip install buildto properly install the build package.If you found this review helpful, would you consider giving us a shout-out on X?
Thank you for using CodeRabbit!