openomicsbench 2.2.0__tar.gz → 4.0.0__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.
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/CITATION.cff +1 -1
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/PKG-INFO +81 -8
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/README.md +78 -5
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/sequences/sequence-005/expected/validation.json +7 -1
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/sequences/sequence-005/manifest.json +4 -4
- openomicsbench-4.0.0/datasets/sequences/sequence-006/expected/peptides.tsv +16 -0
- openomicsbench-4.0.0/datasets/sequences/sequence-006/expected/validation.json +61 -0
- openomicsbench-4.0.0/datasets/sequences/sequence-006/manifest.json +100 -0
- openomicsbench-4.0.0/datasets/sequences/sequence-006/nano/proteins.fasta +6 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/pyproject.toml +3 -3
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/src/omicsbench/__init__.py +1 -1
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/src/omicsbench/cli.py +62 -4
- openomicsbench-4.0.0/src/omicsbench/evaluate.py +266 -0
- openomicsbench-4.0.0/src/omicsbench/evidence.py +240 -0
- openomicsbench-4.0.0/src/omicsbench/peptides.py +209 -0
- openomicsbench-4.0.0/src/omicsbench/policy.py +171 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/src/omicsbench/regression.py +3 -3
- openomicsbench-4.0.0/src/omicsbench/suite.py +421 -0
- openomicsbench-4.0.0/src/omicsbench/trends.py +111 -0
- openomicsbench-4.0.0/src/omicsbench/variants.py +210 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/src/openomicsbench.egg-info/PKG-INFO +81 -8
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/src/openomicsbench.egg-info/SOURCES.txt +17 -1
- openomicsbench-4.0.0/tests/test_evaluate.py +129 -0
- openomicsbench-4.0.0/tests/test_evidence.py +80 -0
- openomicsbench-4.0.0/tests/test_peptides.py +85 -0
- openomicsbench-4.0.0/tests/test_policy.py +106 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/tests/test_regression.py +13 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/tests/test_sequence_fixtures.py +3 -2
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/tests/test_suite.py +5 -1
- openomicsbench-4.0.0/tests/test_trends.py +85 -0
- openomicsbench-4.0.0/tests/test_variants.py +83 -0
- openomicsbench-2.2.0/src/omicsbench/suite.py +0 -268
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/LICENSE +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/LICENSE-METADATA +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/MANIFEST.in +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/NOTICE +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/fixture-001/LICENSE-DATA.md +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/fixture-001/README.md +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/fixture-001/expected/baseline.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/fixture-001/expected/size-fidelity.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/fixture-001/expected/source-counts.tsv +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/fixture-001/expected/validation.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/fixture-001/manifest.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/fixture-001/nano/counts.tsv +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/fixture-001/pocket/counts.tsv +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/fixture-001/provenance/transform.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-001/LICENSE-DATA.md +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-001/README.md +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-001/manifest.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-002/README.md +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-002/attribution.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-002/expected/deseq2.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-002/expected/reference-effects.tsv.gz +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-002/expected/source-counts.tsv +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-002/expected/validation.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-002/manifest.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-002/pocket/counts.tsv +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-002/provenance/transform.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-002/reference.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-002/rights.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-002/samples.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-003/README.md +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-003/attribution.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-003/expected/deseq2.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-003/expected/reference-effects.tsv.gz +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-003/expected/source-counts.tsv +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-003/expected/validation.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-003/manifest.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-003/pocket/counts.tsv +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-003/provenance/transform.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-003/reference.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-003/rights.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-003/samples.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-004/README.md +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-004/attribution.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-004/expected/deseq2.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-004/expected/reference-effects.tsv.gz +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-004/expected/source-counts.tsv +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-004/expected/validation.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-004/manifest.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-004/pocket/counts.tsv +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-004/provenance/transform.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-004/reference.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-004/rights.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-004/samples.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-005/README.md +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-005/attribution.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-005/expected/deseq2.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-005/expected/reference-effects.tsv.gz +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-005/expected/source-counts.tsv +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-005/expected/validation.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-005/manifest.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-005/pocket/counts.tsv +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-005/provenance/transform.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-005/reference.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-005/rights.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-005/samples.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-006/README.md +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-006/attribution.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-006/expected/deseq2.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-006/expected/reference-effects.tsv.gz +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-006/expected/source-counts.tsv +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-006/expected/validation.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-006/manifest.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-006/pocket/counts.tsv +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-006/provenance/transform.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-006/reference.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-006/rights.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-006/samples.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-007/README.md +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-007/attribution.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-007/expected/deseq2.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-007/expected/reference-effects.tsv.gz +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-007/expected/source-counts.tsv +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-007/expected/validation.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-007/manifest.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-007/pocket/counts.tsv +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-007/provenance/transform.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-007/reference.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-007/rights.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-007/samples.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-008/README.md +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-008/attribution.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-008/expected/deseq2.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-008/expected/reference-effects.tsv.gz +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-008/expected/source-counts.tsv +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-008/expected/validation.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-008/manifest.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-008/pocket/counts.tsv +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-008/provenance/transform.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-008/reference.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-008/rights.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-008/samples.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-009/README.md +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-009/attribution.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-009/expected/deseq2.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-009/expected/reference-effects.tsv.gz +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-009/expected/source-counts.tsv +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-009/expected/validation.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-009/manifest.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-009/pocket/counts.tsv +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-009/provenance/transform.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-009/reference.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-009/rights.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-009/samples.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-010/README.md +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-010/attribution.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-010/expected/deseq2.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-010/expected/reference-effects.tsv.gz +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-010/expected/source-counts.tsv +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-010/expected/validation.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-010/manifest.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-010/pocket/counts.tsv +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-010/provenance/transform.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-010/reference.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-010/rights.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-010/samples.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-011/README.md +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-011/attribution.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-011/expected/deseq2.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-011/expected/reference-effects.tsv.gz +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-011/expected/source-counts.tsv +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-011/expected/validation.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-011/manifest.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-011/pocket/counts.tsv +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-011/provenance/transform.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-011/reference.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-011/rights.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-011/samples.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-012/README.md +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-012/attribution.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-012/expected/deseq2.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-012/expected/reference-effects.tsv.gz +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-012/expected/source-counts.tsv +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-012/expected/validation.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-012/manifest.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-012/pocket/counts.tsv +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-012/provenance/transform.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-012/reference.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-012/rights.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-012/samples.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-013/README.md +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-013/attribution.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-013/expected/deseq2.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-013/expected/reference-effects.tsv.gz +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-013/expected/source-counts.tsv +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-013/expected/validation.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-013/manifest.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-013/pocket/counts.tsv +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-013/provenance/transform.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-013/reference.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-013/rights.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/rnaseq/rnaseq-013/samples.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/sequences/sequence-001/expected/validation.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/sequences/sequence-001/manifest.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/sequences/sequence-001/nano/sequences.fasta +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/sequences/sequence-002/expected/validation.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/sequences/sequence-002/manifest.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/sequences/sequence-002/nano/sequences.fasta +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/sequences/sequence-003/expected/validation.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/sequences/sequence-003/manifest.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/sequences/sequence-003/nano/sequences.fasta +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/sequences/sequence-004/expected/validation.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/sequences/sequence-004/manifest.json +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/sequences/sequence-004/nano/reads_R1.fastq +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/sequences/sequence-004/nano/reads_R2.fastq +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/sequences/sequence-005/expected/variants.tsv +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/sequences/sequence-005/nano/reads_R1.fastq +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/sequences/sequence-005/nano/reads_R2.fastq +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/datasets/sequences/sequence-005/nano/reference.fasta +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/setup.cfg +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/setup.py +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/src/omicsbench/__main__.py +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/src/omicsbench/assays.py +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/src/omicsbench/bundle.py +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/src/omicsbench/cache.py +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/src/omicsbench/compare.py +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/src/omicsbench/download.py +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/src/omicsbench/expression_atlas.py +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/src/omicsbench/hashing.py +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/src/omicsbench/matrix.py +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/src/omicsbench/models.py +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/src/omicsbench/proteins.py +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/src/omicsbench/registry.py +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/src/omicsbench/rnaseq.py +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/src/omicsbench/sequence_analysis.py +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/src/omicsbench/sequence_cli.py +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/src/omicsbench/sequence_tools.py +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/src/omicsbench/sequences.py +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/src/omicsbench/validate.py +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/src/openomicsbench.egg-info/dependency_links.txt +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/src/openomicsbench.egg-info/entry_points.txt +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/src/openomicsbench.egg-info/requires.txt +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/src/openomicsbench.egg-info/top_level.txt +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/tests/test_assays.py +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/tests/test_bundle.py +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/tests/test_core.py +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/tests/test_matrix.py +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/tests/test_proteins.py +0 -0
- {openomicsbench-2.2.0 → openomicsbench-4.0.0}/tests/test_sequences.py +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: openomicsbench
|
|
3
|
-
Version:
|
|
4
|
-
Summary: Traceable
|
|
3
|
+
Version: 4.0.0
|
|
4
|
+
Summary: Traceable RNA, DNA and protein benchmarks with policy-driven evaluation
|
|
5
5
|
Author: Vivaan Patni
|
|
6
6
|
Maintainer: Vivaan Patni
|
|
7
7
|
License-Expression: Apache-2.0
|
|
@@ -11,7 +11,7 @@ Project-URL: Issues, https://github.com/vxxqv/openomicsbench/issues
|
|
|
11
11
|
Project-URL: Changelog, https://github.com/vxxqv/openomicsbench/blob/main/CHANGELOG.md
|
|
12
12
|
Project-URL: Zenodo, https://doi.org/10.5281/zenodo.22551734
|
|
13
13
|
Project-URL: ORCID, https://orcid.org/0009-0005-1859-5107
|
|
14
|
-
Keywords: bioinformatics,computational-biology,genomics,transcriptomics,proteomics,bulk-rna-seq,dna-seq,fasta,fastq,dna,rna,protein-sequence,amino-acid-analysis,sequence-analysis,quality-control,kmer,variant-truth,benchmarking,benchmark-data,test-data,data-validation,data-provenance,data-integrity,reproducibility,scientific-workflows,research-software,expression-atlas,ensembl,deseq2
|
|
14
|
+
Keywords: bioinformatics,computational-biology,genomics,transcriptomics,proteomics,bulk-rna-seq,dna-seq,fasta,fastq,vcf,dna,rna,protein-sequence,peptide-identification,tryptic-digest,amino-acid-analysis,sequence-analysis,quality-control,kmer,variant-truth,variant-benchmarking,multi-assay,quality-gate,run-fingerprint,trend-report,ro-crate,benchmarking,benchmark-data,test-data,data-validation,data-provenance,data-integrity,reproducibility,scientific-workflows,research-software,expression-atlas,ensembl,deseq2
|
|
15
15
|
Classifier: Development Status :: 5 - Production/Stable
|
|
16
16
|
Classifier: Environment :: Console
|
|
17
17
|
Classifier: Intended Audience :: Science/Research
|
|
@@ -33,9 +33,9 @@ Dynamic: license-file
|
|
|
33
33
|
|
|
34
34
|
# OpenOmicsBench
|
|
35
35
|
|
|
36
|
-
OpenOmicsBench is a compact benchmark collection and local sequence toolkit for bioinformatics software testing, method checks and teaching.
|
|
36
|
+
OpenOmicsBench is a compact benchmark collection and local sequence toolkit for bioinformatics software testing, method checks and teaching. It contains 12 certified bulk RNA-seq objects, six deterministic DNA, RNA, protein and proteomics fixtures, strict FASTA and FASTQ tools, and a CI-ready evaluation system.
|
|
37
37
|
|
|
38
|
-
Version
|
|
38
|
+
Version 4 evaluates RNA differential-expression results, DNA variant calls and protein-peptide identifications in the same run. It adds a deterministic tryptic-peptide benchmark, portable run fingerprints, versioned quality and resource policies, and multi-run trend reports. The version 3 VCF scoring, multi-method matrices, offline dashboards and RO-Crate evidence remain available.
|
|
39
39
|
|
|
40
40
|
The package runs offline after installation. Sequence files stay on the local computer. The built-in tools cover inspection and lightweight preprocessing; they do not claim to replace aligners, variant callers, taxonomic classifiers or assay-specific statistical workflows.
|
|
41
41
|
|
|
@@ -54,6 +54,8 @@ List and validate the bundled benchmarks:
|
|
|
54
54
|
omicsbench list
|
|
55
55
|
omicsbench validate rnaseq-002
|
|
56
56
|
omicsbench validate sequence-004
|
|
57
|
+
omicsbench variant compare sequence-005 calls.vcf.gz
|
|
58
|
+
omicsbench peptide compare sequence-006 identifications.peptides.tsv
|
|
57
59
|
```
|
|
58
60
|
|
|
59
61
|
The wheel contains the complete collection. A repository checkout and network connection are not required.
|
|
@@ -135,6 +137,28 @@ Then run:
|
|
|
135
137
|
omicsbench suite compare results --id rnaseq-002 --id rnaseq-003 --junit reports/comparison.xml
|
|
136
138
|
```
|
|
137
139
|
|
|
140
|
+
For a mixed RNA, DNA and protein run, add benchmark-named VCF and peptide output alongside the expression tables:
|
|
141
|
+
|
|
142
|
+
```text
|
|
143
|
+
results/
|
|
144
|
+
method.json
|
|
145
|
+
rnaseq-002.tsv.gz
|
|
146
|
+
sequence-005.vcf.gz
|
|
147
|
+
sequence-006.peptides.tsv
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
```sh
|
|
151
|
+
omicsbench suite evaluate results \
|
|
152
|
+
--id rnaseq-002 \
|
|
153
|
+
--id sequence-005 \
|
|
154
|
+
--id sequence-006 \
|
|
155
|
+
--json reports/evaluation.json \
|
|
156
|
+
--html reports/evaluation.html \
|
|
157
|
+
--evidence reports/evaluation-evidence.zip
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
`method.json` is optional. When supplied, it records the exact method version, command, container or source revision, parameters, runtime, peak memory and thread count. Missing selected outputs fail as benchmark cases.
|
|
161
|
+
|
|
138
162
|
Compare several tools or parameter sets in one matrix:
|
|
139
163
|
|
|
140
164
|
```sh
|
|
@@ -146,13 +170,57 @@ omicsbench suite matrix \
|
|
|
146
170
|
--html reports/matrix.html
|
|
147
171
|
```
|
|
148
172
|
|
|
173
|
+
Use `evaluate-matrix` when each method directory contains a mixture of RNA tables, VCF calls and peptide tables:
|
|
174
|
+
|
|
175
|
+
```sh
|
|
176
|
+
omicsbench suite evaluate-matrix \
|
|
177
|
+
--method current=results/current \
|
|
178
|
+
--method candidate=results/candidate \
|
|
179
|
+
--id rnaseq-002 \
|
|
180
|
+
--id sequence-005 \
|
|
181
|
+
--id sequence-006 \
|
|
182
|
+
--html reports/multi-assay.html
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
The leaderboard uses pass counts and keeps assay metrics separate. It does not average unlike measurements into a single score.
|
|
186
|
+
|
|
187
|
+
Each evaluation records SHA-256 hashes for the submitted results and benchmark manifests, then builds a `run_fingerprint` from those hashes and the validated method receipt. Local directory names do not affect this identity.
|
|
188
|
+
|
|
189
|
+
Apply a checked-in policy to an evaluation before accepting a run:
|
|
190
|
+
|
|
191
|
+
```sh
|
|
192
|
+
omicsbench suite gate reports/evaluation.json policy.json \
|
|
193
|
+
--json reports/gate.json \
|
|
194
|
+
--junit reports/gate.xml
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
A policy can require named benchmarks, overall and per-assay pass rates, a method receipt, runtime and memory ceilings, and metric floors scoped to an assay or comparator. Missing required evidence fails the gate.
|
|
198
|
+
|
|
199
|
+
Track several accepted or candidate runs in chronological order:
|
|
200
|
+
|
|
201
|
+
```sh
|
|
202
|
+
omicsbench suite trend \
|
|
203
|
+
--run v4.0=reports/v4.0.json \
|
|
204
|
+
--run candidate=reports/candidate.json \
|
|
205
|
+
--json reports/trend.json \
|
|
206
|
+
--html reports/trend.html
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
Trend reports preserve each source fingerprint, method receipt, resource measurements, pass rate and per-benchmark metric history.
|
|
210
|
+
|
|
149
211
|
Use a previously accepted report as a regression baseline:
|
|
150
212
|
|
|
151
213
|
```sh
|
|
152
214
|
omicsbench suite regress accepted.json candidate.json --absolute-tolerance 0.01 --junit reports/regression.xml
|
|
153
215
|
```
|
|
154
216
|
|
|
155
|
-
Omit `--id` to require results for all 12 comparable RNA-seq objects. A completed suite exits with status 0 when every check passes, status 2 when a benchmark or regression gate fails, and status 1 for invalid input. Existing report files are protected unless `--force` is supplied. The [suite reference](docs/benchmark-suites.md) describes the file convention and report fields.
|
|
217
|
+
Omit `--id` from `suite compare` to require results for all 12 comparable RNA-seq objects. Omit it from `suite evaluate` to require every benchmark with a supported comparator. A completed suite exits with status 0 when every check passes, status 2 when a benchmark, policy or regression gate fails, and status 1 for invalid input. Existing report files are protected unless `--force` is supplied. The [suite reference](docs/benchmark-suites.md) describes the file convention and report fields.
|
|
218
|
+
|
|
219
|
+
Verify an evaluation evidence crate without extracting it:
|
|
220
|
+
|
|
221
|
+
```sh
|
|
222
|
+
omicsbench evidence verify reports/evaluation-evidence.zip
|
|
223
|
+
```
|
|
156
224
|
|
|
157
225
|
## Portable bundles
|
|
158
226
|
|
|
@@ -186,12 +254,17 @@ Profiles are available for whole-genome, exome, targeted-panel, bulk RNA-seq, si
|
|
|
186
254
|
| `sequence-003` | standard, ambiguous and terminating protein records | FASTA | 3 |
|
|
187
255
|
| `sequence-004` | paired DNA reads with mixed qualities and duplication | FASTQ | 4 pairs |
|
|
188
256
|
| `sequence-005` | paired DNA-seq reads, reference and three known SNVs | FASTQ | 20 pairs |
|
|
257
|
+
| `sequence-006` | protein FASTA and exact in-silico tryptic peptide truth | FASTA/TSV | 3 proteins |
|
|
258
|
+
|
|
259
|
+
These six objects are project-authored synthetic fixtures. Each has an exact file inventory, checksums, format and molecule declarations, expected summary metrics and a deterministic rebuild workflow. `sequence-005` also verifies that every truth-set reference allele matches the bundled reference and that every alternate allele is supported by the paired reads. `sequence-006` verifies exact protein-peptide pairs from a declared tryptic digest. The objects test software behavior and do not represent a biological cohort or sequencing instrument.
|
|
260
|
+
|
|
261
|
+
The version 3 VCF comparator for `sequence-005` matches contig, one-based position, REF and ALT exactly. It reports precision, recall and F1 for A/C/G/T substitutions and verifies REF against the packaged synthetic reference. Genotypes, indels, complex representations and confident-region stratification are outside this fixture. Use a haplotype-aware benchmarking engine such as [hap.py](https://github.com/Illumina/hap.py) or vcfeval with an appropriate truth set and confident regions for real germline benchmarking; the [GA4GH benchmarking project](https://github.com/ga4gh/benchmarking-tools) documents that broader problem.
|
|
189
262
|
|
|
190
|
-
|
|
263
|
+
The version 4 peptide comparator accepts `protein_id` and `peptide` columns, with an optional `q_value` column. It scores unmodified pairs after the declared q-value filter and reports peptide precision, recall and F1, protein recall and covered truth residues. It does not parse spectra or claim to replace a full identification standard. The [HUPO-PSI mzIdentML specification](https://github.com/HUPO-PSI/mzIdentML) is the appropriate interchange model for complete mass-spectrometry identification results.
|
|
191
264
|
|
|
192
265
|
## Bulk RNA-seq benchmarks
|
|
193
266
|
|
|
194
|
-
Version
|
|
267
|
+
Version 4 retains the complete version 1 biological collection unchanged.
|
|
195
268
|
|
|
196
269
|
| ID | Design | Samples | Pocket genes |
|
|
197
270
|
|---|---|---:|---:|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# OpenOmicsBench
|
|
2
2
|
|
|
3
|
-
OpenOmicsBench is a compact benchmark collection and local sequence toolkit for bioinformatics software testing, method checks and teaching.
|
|
3
|
+
OpenOmicsBench is a compact benchmark collection and local sequence toolkit for bioinformatics software testing, method checks and teaching. It contains 12 certified bulk RNA-seq objects, six deterministic DNA, RNA, protein and proteomics fixtures, strict FASTA and FASTQ tools, and a CI-ready evaluation system.
|
|
4
4
|
|
|
5
|
-
Version
|
|
5
|
+
Version 4 evaluates RNA differential-expression results, DNA variant calls and protein-peptide identifications in the same run. It adds a deterministic tryptic-peptide benchmark, portable run fingerprints, versioned quality and resource policies, and multi-run trend reports. The version 3 VCF scoring, multi-method matrices, offline dashboards and RO-Crate evidence remain available.
|
|
6
6
|
|
|
7
7
|
The package runs offline after installation. Sequence files stay on the local computer. The built-in tools cover inspection and lightweight preprocessing; they do not claim to replace aligners, variant callers, taxonomic classifiers or assay-specific statistical workflows.
|
|
8
8
|
|
|
@@ -21,6 +21,8 @@ List and validate the bundled benchmarks:
|
|
|
21
21
|
omicsbench list
|
|
22
22
|
omicsbench validate rnaseq-002
|
|
23
23
|
omicsbench validate sequence-004
|
|
24
|
+
omicsbench variant compare sequence-005 calls.vcf.gz
|
|
25
|
+
omicsbench peptide compare sequence-006 identifications.peptides.tsv
|
|
24
26
|
```
|
|
25
27
|
|
|
26
28
|
The wheel contains the complete collection. A repository checkout and network connection are not required.
|
|
@@ -102,6 +104,28 @@ Then run:
|
|
|
102
104
|
omicsbench suite compare results --id rnaseq-002 --id rnaseq-003 --junit reports/comparison.xml
|
|
103
105
|
```
|
|
104
106
|
|
|
107
|
+
For a mixed RNA, DNA and protein run, add benchmark-named VCF and peptide output alongside the expression tables:
|
|
108
|
+
|
|
109
|
+
```text
|
|
110
|
+
results/
|
|
111
|
+
method.json
|
|
112
|
+
rnaseq-002.tsv.gz
|
|
113
|
+
sequence-005.vcf.gz
|
|
114
|
+
sequence-006.peptides.tsv
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
```sh
|
|
118
|
+
omicsbench suite evaluate results \
|
|
119
|
+
--id rnaseq-002 \
|
|
120
|
+
--id sequence-005 \
|
|
121
|
+
--id sequence-006 \
|
|
122
|
+
--json reports/evaluation.json \
|
|
123
|
+
--html reports/evaluation.html \
|
|
124
|
+
--evidence reports/evaluation-evidence.zip
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
`method.json` is optional. When supplied, it records the exact method version, command, container or source revision, parameters, runtime, peak memory and thread count. Missing selected outputs fail as benchmark cases.
|
|
128
|
+
|
|
105
129
|
Compare several tools or parameter sets in one matrix:
|
|
106
130
|
|
|
107
131
|
```sh
|
|
@@ -113,13 +137,57 @@ omicsbench suite matrix \
|
|
|
113
137
|
--html reports/matrix.html
|
|
114
138
|
```
|
|
115
139
|
|
|
140
|
+
Use `evaluate-matrix` when each method directory contains a mixture of RNA tables, VCF calls and peptide tables:
|
|
141
|
+
|
|
142
|
+
```sh
|
|
143
|
+
omicsbench suite evaluate-matrix \
|
|
144
|
+
--method current=results/current \
|
|
145
|
+
--method candidate=results/candidate \
|
|
146
|
+
--id rnaseq-002 \
|
|
147
|
+
--id sequence-005 \
|
|
148
|
+
--id sequence-006 \
|
|
149
|
+
--html reports/multi-assay.html
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
The leaderboard uses pass counts and keeps assay metrics separate. It does not average unlike measurements into a single score.
|
|
153
|
+
|
|
154
|
+
Each evaluation records SHA-256 hashes for the submitted results and benchmark manifests, then builds a `run_fingerprint` from those hashes and the validated method receipt. Local directory names do not affect this identity.
|
|
155
|
+
|
|
156
|
+
Apply a checked-in policy to an evaluation before accepting a run:
|
|
157
|
+
|
|
158
|
+
```sh
|
|
159
|
+
omicsbench suite gate reports/evaluation.json policy.json \
|
|
160
|
+
--json reports/gate.json \
|
|
161
|
+
--junit reports/gate.xml
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
A policy can require named benchmarks, overall and per-assay pass rates, a method receipt, runtime and memory ceilings, and metric floors scoped to an assay or comparator. Missing required evidence fails the gate.
|
|
165
|
+
|
|
166
|
+
Track several accepted or candidate runs in chronological order:
|
|
167
|
+
|
|
168
|
+
```sh
|
|
169
|
+
omicsbench suite trend \
|
|
170
|
+
--run v4.0=reports/v4.0.json \
|
|
171
|
+
--run candidate=reports/candidate.json \
|
|
172
|
+
--json reports/trend.json \
|
|
173
|
+
--html reports/trend.html
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
Trend reports preserve each source fingerprint, method receipt, resource measurements, pass rate and per-benchmark metric history.
|
|
177
|
+
|
|
116
178
|
Use a previously accepted report as a regression baseline:
|
|
117
179
|
|
|
118
180
|
```sh
|
|
119
181
|
omicsbench suite regress accepted.json candidate.json --absolute-tolerance 0.01 --junit reports/regression.xml
|
|
120
182
|
```
|
|
121
183
|
|
|
122
|
-
Omit `--id` to require results for all 12 comparable RNA-seq objects. A completed suite exits with status 0 when every check passes, status 2 when a benchmark or regression gate fails, and status 1 for invalid input. Existing report files are protected unless `--force` is supplied. The [suite reference](docs/benchmark-suites.md) describes the file convention and report fields.
|
|
184
|
+
Omit `--id` from `suite compare` to require results for all 12 comparable RNA-seq objects. Omit it from `suite evaluate` to require every benchmark with a supported comparator. A completed suite exits with status 0 when every check passes, status 2 when a benchmark, policy or regression gate fails, and status 1 for invalid input. Existing report files are protected unless `--force` is supplied. The [suite reference](docs/benchmark-suites.md) describes the file convention and report fields.
|
|
185
|
+
|
|
186
|
+
Verify an evaluation evidence crate without extracting it:
|
|
187
|
+
|
|
188
|
+
```sh
|
|
189
|
+
omicsbench evidence verify reports/evaluation-evidence.zip
|
|
190
|
+
```
|
|
123
191
|
|
|
124
192
|
## Portable bundles
|
|
125
193
|
|
|
@@ -153,12 +221,17 @@ Profiles are available for whole-genome, exome, targeted-panel, bulk RNA-seq, si
|
|
|
153
221
|
| `sequence-003` | standard, ambiguous and terminating protein records | FASTA | 3 |
|
|
154
222
|
| `sequence-004` | paired DNA reads with mixed qualities and duplication | FASTQ | 4 pairs |
|
|
155
223
|
| `sequence-005` | paired DNA-seq reads, reference and three known SNVs | FASTQ | 20 pairs |
|
|
224
|
+
| `sequence-006` | protein FASTA and exact in-silico tryptic peptide truth | FASTA/TSV | 3 proteins |
|
|
225
|
+
|
|
226
|
+
These six objects are project-authored synthetic fixtures. Each has an exact file inventory, checksums, format and molecule declarations, expected summary metrics and a deterministic rebuild workflow. `sequence-005` also verifies that every truth-set reference allele matches the bundled reference and that every alternate allele is supported by the paired reads. `sequence-006` verifies exact protein-peptide pairs from a declared tryptic digest. The objects test software behavior and do not represent a biological cohort or sequencing instrument.
|
|
227
|
+
|
|
228
|
+
The version 3 VCF comparator for `sequence-005` matches contig, one-based position, REF and ALT exactly. It reports precision, recall and F1 for A/C/G/T substitutions and verifies REF against the packaged synthetic reference. Genotypes, indels, complex representations and confident-region stratification are outside this fixture. Use a haplotype-aware benchmarking engine such as [hap.py](https://github.com/Illumina/hap.py) or vcfeval with an appropriate truth set and confident regions for real germline benchmarking; the [GA4GH benchmarking project](https://github.com/ga4gh/benchmarking-tools) documents that broader problem.
|
|
156
229
|
|
|
157
|
-
|
|
230
|
+
The version 4 peptide comparator accepts `protein_id` and `peptide` columns, with an optional `q_value` column. It scores unmodified pairs after the declared q-value filter and reports peptide precision, recall and F1, protein recall and covered truth residues. It does not parse spectra or claim to replace a full identification standard. The [HUPO-PSI mzIdentML specification](https://github.com/HUPO-PSI/mzIdentML) is the appropriate interchange model for complete mass-spectrometry identification results.
|
|
158
231
|
|
|
159
232
|
## Bulk RNA-seq benchmarks
|
|
160
233
|
|
|
161
|
-
Version
|
|
234
|
+
Version 4 retains the complete version 1 biological collection unchanged.
|
|
162
235
|
|
|
163
236
|
| ID | Design | Samples | Pocket genes |
|
|
164
237
|
|---|---|---:|---:|
|
|
@@ -74,5 +74,11 @@
|
|
|
74
74
|
"reference": "nano/reference.fasta",
|
|
75
75
|
"variant_truth": "expected/variants.tsv",
|
|
76
76
|
"variant_count": 3,
|
|
77
|
-
"context_bases": 10
|
|
77
|
+
"context_bases": 10,
|
|
78
|
+
"variant_comparison": {
|
|
79
|
+
"mode": "exact_allele",
|
|
80
|
+
"scope": "single_nucleotide_substitutions",
|
|
81
|
+
"minimum_precision": 1.0,
|
|
82
|
+
"minimum_recall": 1.0
|
|
83
|
+
}
|
|
78
84
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"schema_version": "2.0",
|
|
3
3
|
"id": "sequence-005",
|
|
4
4
|
"title": "Synthetic paired DNA-seq variant benchmark",
|
|
5
|
-
"release": "
|
|
5
|
+
"release": "3.0.0",
|
|
6
6
|
"assay": "whole_genome_dna_seq",
|
|
7
7
|
"kind": "synthetic_fixture",
|
|
8
8
|
"status": "validated",
|
|
@@ -93,13 +93,13 @@
|
|
|
93
93
|
"tier": "expected",
|
|
94
94
|
"role": "metrics",
|
|
95
95
|
"media_type": "application/json",
|
|
96
|
-
"bytes":
|
|
97
|
-
"sha256": "
|
|
96
|
+
"bytes": 1902,
|
|
97
|
+
"sha256": "da0813bf715df2a455a7c0eb86dc804dbb8cf582c9aa09119e8d976e3548cd88"
|
|
98
98
|
}
|
|
99
99
|
],
|
|
100
100
|
"validation": {
|
|
101
101
|
"profile": "expected/validation.json",
|
|
102
|
-
"baseline_version": "dnaseq-truth-
|
|
102
|
+
"baseline_version": "dnaseq-truth-v2",
|
|
103
103
|
"metrics": []
|
|
104
104
|
},
|
|
105
105
|
"sequence": {
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
protein_id peptide start end missed_cleavages
|
|
2
|
+
proteome_alpha MPEPTIDER 0 9 0
|
|
3
|
+
proteome_alpha MPEPTIDERK 0 10 1
|
|
4
|
+
proteome_alpha KAAAGMSTNPK 9 20 1
|
|
5
|
+
proteome_alpha AAAGMSTNPK 10 20 0
|
|
6
|
+
proteome_alpha AAAGMSTNPKVVVVK 10 25 1
|
|
7
|
+
proteome_alpha VVVVKQWER 20 29 1
|
|
8
|
+
proteome_alpha QWERTYIPK 25 34 1
|
|
9
|
+
proteome_beta GILGFVFTLTVPSER 0 15 0
|
|
10
|
+
proteome_beta GILGFVFTLTVPSERDVLK 0 19 1
|
|
11
|
+
proteome_beta DVLKQHPMWQK 15 26 1
|
|
12
|
+
proteome_beta QHPMWQK 19 26 0
|
|
13
|
+
proteome_gamma ACDEFGHIK 0 9 0
|
|
14
|
+
proteome_gamma ACDEFGHIKLMNPQR 0 15 1
|
|
15
|
+
proteome_gamma LMNPQRSTVWYK 9 21 1
|
|
16
|
+
proteome_gamma STVWYKR 15 22 1
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"profile": "sequence-summary-v1",
|
|
3
|
+
"files": [
|
|
4
|
+
{
|
|
5
|
+
"path": "nano/proteins.fasta",
|
|
6
|
+
"expected": {
|
|
7
|
+
"format": "fasta",
|
|
8
|
+
"molecule": "protein",
|
|
9
|
+
"records": 3,
|
|
10
|
+
"letters": 82,
|
|
11
|
+
"length": {
|
|
12
|
+
"minimum": 22,
|
|
13
|
+
"maximum": 34,
|
|
14
|
+
"mean": 27.333333333333332,
|
|
15
|
+
"median": 26,
|
|
16
|
+
"n50": 26,
|
|
17
|
+
"l50": 2
|
|
18
|
+
},
|
|
19
|
+
"composition": {
|
|
20
|
+
"A": 4,
|
|
21
|
+
"C": 1,
|
|
22
|
+
"D": 3,
|
|
23
|
+
"E": 5,
|
|
24
|
+
"F": 3,
|
|
25
|
+
"G": 4,
|
|
26
|
+
"H": 2,
|
|
27
|
+
"I": 4,
|
|
28
|
+
"K": 8,
|
|
29
|
+
"L": 4,
|
|
30
|
+
"M": 4,
|
|
31
|
+
"N": 2,
|
|
32
|
+
"P": 7,
|
|
33
|
+
"Q": 4,
|
|
34
|
+
"R": 5,
|
|
35
|
+
"S": 3,
|
|
36
|
+
"T": 6,
|
|
37
|
+
"V": 8,
|
|
38
|
+
"W": 3,
|
|
39
|
+
"Y": 2
|
|
40
|
+
},
|
|
41
|
+
"gc_fraction": null,
|
|
42
|
+
"ambiguity_fraction": 0.0,
|
|
43
|
+
"duplicate_sequences": 0
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
],
|
|
47
|
+
"protein_reference": "nano/proteins.fasta",
|
|
48
|
+
"peptide_truth": "expected/peptides.tsv",
|
|
49
|
+
"peptide_count": 15,
|
|
50
|
+
"peptide_comparison": {
|
|
51
|
+
"enzyme": "trypsin",
|
|
52
|
+
"missed_cleavages": 1,
|
|
53
|
+
"minimum_length": 7,
|
|
54
|
+
"maximum_length": 30,
|
|
55
|
+
"maximum_q_value": 0.01,
|
|
56
|
+
"minimum_precision": 1.0,
|
|
57
|
+
"minimum_recall": 1.0,
|
|
58
|
+
"minimum_protein_recall": 1.0,
|
|
59
|
+
"minimum_residue_coverage": 1.0
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": "2.0",
|
|
3
|
+
"id": "sequence-006",
|
|
4
|
+
"title": "Synthetic proteomics peptide-identification benchmark",
|
|
5
|
+
"release": "4.0.0",
|
|
6
|
+
"assay": "sequence_protein",
|
|
7
|
+
"kind": "synthetic_fixture",
|
|
8
|
+
"status": "validated",
|
|
9
|
+
"archetype": "protein FASTA and exact in-silico tryptic peptide truth",
|
|
10
|
+
"organism": "Synthetic proteome model",
|
|
11
|
+
"taxon_id": null,
|
|
12
|
+
"source": {
|
|
13
|
+
"repository": "Project generator",
|
|
14
|
+
"accession": "sequence-006",
|
|
15
|
+
"url": "https://github.com/vxxqv/openomicsbench",
|
|
16
|
+
"citation": "OpenOmicsBench sequence-006, project-authored deterministic proteomics fixture.",
|
|
17
|
+
"retrieved": "2026-10-10",
|
|
18
|
+
"sha256": null
|
|
19
|
+
},
|
|
20
|
+
"rights": {
|
|
21
|
+
"status": "GREEN",
|
|
22
|
+
"license": "Apache-2.0",
|
|
23
|
+
"evidence": "Generated by the project workflow without third-party protein sequences or spectra.",
|
|
24
|
+
"checked": "2026-10-10"
|
|
25
|
+
},
|
|
26
|
+
"reference": {
|
|
27
|
+
"genome": "not_applicable",
|
|
28
|
+
"annotation": "not_applicable",
|
|
29
|
+
"namespace": "project synthetic protein identifiers",
|
|
30
|
+
"compatibility": "verified"
|
|
31
|
+
},
|
|
32
|
+
"samples": [
|
|
33
|
+
{
|
|
34
|
+
"sample_id": "synthetic-proteome-1",
|
|
35
|
+
"condition": "defined tryptic digest",
|
|
36
|
+
"replicate": 1,
|
|
37
|
+
"batch": "not_applicable",
|
|
38
|
+
"strandedness": "not_applicable"
|
|
39
|
+
}
|
|
40
|
+
],
|
|
41
|
+
"derivation": {
|
|
42
|
+
"workflow": "workflows/build_sequence_fixtures.py",
|
|
43
|
+
"commit": null,
|
|
44
|
+
"seed": 0,
|
|
45
|
+
"algorithm": "deterministic in-silico tryptic digestion of project-authored protein sequences",
|
|
46
|
+
"parameters": {
|
|
47
|
+
"proteins": 3,
|
|
48
|
+
"enzyme": "trypsin",
|
|
49
|
+
"missed_cleavages": 1,
|
|
50
|
+
"minimum_length": 7,
|
|
51
|
+
"maximum_length": 30,
|
|
52
|
+
"peptides": 15
|
|
53
|
+
},
|
|
54
|
+
"versions": {
|
|
55
|
+
"python": "3.12",
|
|
56
|
+
"openomicsbench_contract": "2.0"
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"files": [
|
|
60
|
+
{
|
|
61
|
+
"path": "nano/proteins.fasta",
|
|
62
|
+
"tier": "nano",
|
|
63
|
+
"role": "sequence",
|
|
64
|
+
"media_type": "text/x-fasta",
|
|
65
|
+
"bytes": 186,
|
|
66
|
+
"sha256": "b9a02f2e1a62751b96b3287214f3b7120a7ac4337cbb0b7797742316d56e4fdc"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"path": "expected/peptides.tsv",
|
|
70
|
+
"tier": "expected",
|
|
71
|
+
"role": "effects",
|
|
72
|
+
"media_type": "text/tab-separated-values",
|
|
73
|
+
"bytes": 560,
|
|
74
|
+
"sha256": "1c4a7f3a6976424ec7748355994b8a9999de6b580f7987a17b6e390c788e0a52"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"path": "expected/validation.json",
|
|
78
|
+
"tier": "expected",
|
|
79
|
+
"role": "metrics",
|
|
80
|
+
"media_type": "application/json",
|
|
81
|
+
"bytes": 1316,
|
|
82
|
+
"sha256": "5e0a211d4278b5962dbaaaa6297c4a06f54ea697fdc22447d94352c944f0bb3d"
|
|
83
|
+
}
|
|
84
|
+
],
|
|
85
|
+
"validation": {
|
|
86
|
+
"profile": "expected/validation.json",
|
|
87
|
+
"baseline_version": "peptide-identification-v1",
|
|
88
|
+
"metrics": []
|
|
89
|
+
},
|
|
90
|
+
"sequence": {
|
|
91
|
+
"format": "fasta",
|
|
92
|
+
"molecule": "protein",
|
|
93
|
+
"paired": false,
|
|
94
|
+
"quality_encoding": "not_applicable"
|
|
95
|
+
},
|
|
96
|
+
"limitations": [
|
|
97
|
+
"The benchmark scores protein-peptide pairs from a deterministic digest; it contains no mass spectra.",
|
|
98
|
+
"Post-translational modifications, charge states, spectrum matching, protein inference and FDR calibration are outside this object."
|
|
99
|
+
]
|
|
100
|
+
}
|
|
@@ -4,13 +4,13 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "openomicsbench"
|
|
7
|
-
version = "
|
|
8
|
-
description = "Traceable
|
|
7
|
+
version = "4.0.0"
|
|
8
|
+
description = "Traceable RNA, DNA and protein benchmarks with policy-driven evaluation"
|
|
9
9
|
readme = {file = "README.md", content-type = "text/markdown"}
|
|
10
10
|
license = "Apache-2.0"
|
|
11
11
|
authors = [{name = "Vivaan Patni"}]
|
|
12
12
|
maintainers = [{name = "Vivaan Patni"}]
|
|
13
|
-
keywords = ["bioinformatics", "computational-biology", "genomics", "transcriptomics", "proteomics", "bulk-rna-seq", "dna-seq", "fasta", "fastq", "dna", "rna", "protein-sequence", "amino-acid-analysis", "sequence-analysis", "quality-control", "kmer", "variant-truth", "benchmarking", "benchmark-data", "test-data", "data-validation", "data-provenance", "data-integrity", "reproducibility", "scientific-workflows", "research-software", "expression-atlas", "ensembl", "deseq2"]
|
|
13
|
+
keywords = ["bioinformatics", "computational-biology", "genomics", "transcriptomics", "proteomics", "bulk-rna-seq", "dna-seq", "fasta", "fastq", "vcf", "dna", "rna", "protein-sequence", "peptide-identification", "tryptic-digest", "amino-acid-analysis", "sequence-analysis", "quality-control", "kmer", "variant-truth", "variant-benchmarking", "multi-assay", "quality-gate", "run-fingerprint", "trend-report", "ro-crate", "benchmarking", "benchmark-data", "test-data", "data-validation", "data-provenance", "data-integrity", "reproducibility", "scientific-workflows", "research-software", "expression-atlas", "ensembl", "deseq2"]
|
|
14
14
|
requires-python = ">=3.11"
|
|
15
15
|
dependencies = ["pydantic>=2.13,<3", "numpy>=2.3,<3"]
|
|
16
16
|
classifiers = [
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"""Discovery, validation and local analysis of compact omics benchmarks."""
|
|
2
|
-
__version__ = "
|
|
2
|
+
__version__ = "4.0.0"
|