orfdata 0.5.0__tar.gz → 0.7.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.
- orfdata-0.7.0/MANIFEST.in +4 -0
- {orfdata-0.5.0/orfdata.egg-info → orfdata-0.7.0}/PKG-INFO +9 -4
- {orfdata-0.5.0 → orfdata-0.7.0}/README.md +8 -3
- orfdata-0.7.0/docs/copy-yeast.md +109 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/docs/measurements.md +9 -2
- orfdata-0.7.0/docs/pfizer-protein.md +71 -0
- orfdata-0.7.0/orfdata/data/datasets.json +747 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/orfdata/dataset_cli.py +22 -2
- {orfdata-0.5.0 → orfdata-0.7.0}/orfdata/datasets.py +10 -0
- orfdata-0.7.0/orfdata/sources/__init__.py +14 -0
- orfdata-0.7.0/orfdata/sources/copy.py +315 -0
- orfdata-0.7.0/orfdata/sources/pfizer.py +213 -0
- orfdata-0.7.0/orfdata/version.py +1 -0
- {orfdata-0.5.0 → orfdata-0.7.0/orfdata.egg-info}/PKG-INFO +9 -4
- {orfdata-0.5.0 → orfdata-0.7.0}/orfdata.egg-info/SOURCES.txt +37 -0
- orfdata-0.7.0/tests/data/copy/GSM1905474.soft +1 -0
- orfdata-0.7.0/tests/data/copy/GSM1905474_KL9_fpkm.txt.gz +0 -0
- orfdata-0.7.0/tests/data/copy/GSM1905476.soft +1 -0
- orfdata-0.7.0/tests/data/copy/GSM1905476_KL10_fpkm.txt.gz +0 -0
- orfdata-0.7.0/tests/data/copy/GSM1905478.soft +1 -0
- orfdata-0.7.0/tests/data/copy/GSM1905478_KL11_fpkm.txt.gz +0 -0
- orfdata-0.7.0/tests/data/copy/GSM1905479.soft +1 -0
- orfdata-0.7.0/tests/data/copy/GSM1905479_KL12_fpkm.txt.gz +0 -0
- orfdata-0.7.0/tests/data/copy/NOTICE.md +13 -0
- orfdata-0.7.0/tests/data/copy/expected.json +630 -0
- orfdata-0.7.0/tests/data/copy/geo-series.soft +1 -0
- orfdata-0.7.0/tests/data/copy/manifest.json +379 -0
- orfdata-0.7.0/tests/data/copy/methods.pdf +1 -0
- orfdata-0.7.0/tests/data/copy/paper.xml +1 -0
- orfdata-0.7.0/tests/data/copy/pmc-metadata.json +1 -0
- orfdata-0.7.0/tests/data/copy/qconcat.fasta +1369 -0
- orfdata-0.7.0/tests/data/copy/workbook.xlsx +0 -0
- orfdata-0.7.0/tests/data/pfizer/NOTICE.md +14 -0
- orfdata-0.7.0/tests/data/pfizer/dog/expected.json +192 -0
- orfdata-0.7.0/tests/data/pfizer/dog/manifest.json +117 -0
- orfdata-0.7.0/tests/data/pfizer/dog/protein.tsv +6 -0
- orfdata-0.7.0/tests/data/pfizer/dog/search.fasta +6 -0
- orfdata-0.7.0/tests/data/pfizer/human/expected.json +190 -0
- orfdata-0.7.0/tests/data/pfizer/human/manifest.json +115 -0
- orfdata-0.7.0/tests/data/pfizer/human/protein.tsv +6 -0
- orfdata-0.7.0/tests/data/pfizer/human/search.fasta +6 -0
- orfdata-0.7.0/tests/data/pfizer/mouse/expected.json +193 -0
- orfdata-0.7.0/tests/data/pfizer/mouse/manifest.json +118 -0
- orfdata-0.7.0/tests/data/pfizer/mouse/protein.tsv +6 -0
- orfdata-0.7.0/tests/data/pfizer/mouse/search.fasta +6 -0
- orfdata-0.7.0/tests/test_copy.py +192 -0
- orfdata-0.7.0/tests/test_pfizer.py +199 -0
- orfdata-0.5.0/MANIFEST.in +0 -3
- orfdata-0.5.0/orfdata/data/datasets.json +0 -1
- orfdata-0.5.0/orfdata/version.py +0 -1
- {orfdata-0.5.0 → orfdata-0.7.0}/LICENSE +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/deploy.sh +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/docs/design.md +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/docs/pairing.md +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/docs/reference.md +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/docs/source-references.md +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/docs/species.md +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/lint.sh +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/orfdata/__init__.py +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/orfdata/build.py +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/orfdata/catalog.py +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/orfdata/cli.py +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/orfdata/data/orf-evidence/AUTHOR-LICENSE.txt +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/orfdata/data/orf-evidence/NOTICE.txt +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/orfdata/data/orf-evidence/catalog.json.gz +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/orfdata/data/orf-evidence/manifest.json +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/orfdata/data/uorf-evidence/AUTHOR-LICENSE.txt +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/orfdata/data/uorf-evidence/NOTICE.txt +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/orfdata/data/uorf-evidence/catalog.json.gz +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/orfdata/data/uorf-evidence/manifest.json +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/orfdata/dataset.py +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/orfdata/initiation_context.py +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/orfdata/measurements.py +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/orfdata/model.py +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/orfdata/pairing.py +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/orfdata/reference.py +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/orfdata/reference_mapping.py +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/orfdata/sequence.py +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/orfdata.egg-info/dependency_links.txt +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/orfdata.egg-info/entry_points.txt +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/orfdata.egg-info/requires.txt +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/orfdata.egg-info/top_level.txt +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/pyproject.toml +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/setup.cfg +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/test.sh +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/tests/conftest.py +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/tests/data/references/README.md +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/tests/data/references/canis_lupus_familiaris.json +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/tests/data/references/context-keys-v0.4.json +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/tests/data/references/homo_sapiens.json +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/tests/data/references/mus_musculus.json +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/tests/data/references/saccharomyces_cerevisiae.json +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/tests/test_cross_reference_pairing.py +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/tests/test_initiation_context.py +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/tests/test_measurements.py +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/tests/test_pairing.py +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/tests/test_reference_context.py +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/tests/test_reference_mapping.py +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/tests/test_reference_orf.py +0 -0
- {orfdata-0.5.0 → orfdata-0.7.0}/tests/test_uorf_catalog.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: orfdata
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.7.0
|
|
4
4
|
Summary: Reference open reading frames and experimental translation evidence on annotated transcripts
|
|
5
5
|
Author: OpenVax
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -95,12 +95,17 @@ RNA products. Reference evidence stays separate from evidence for a variant or
|
|
|
95
95
|
fusion. See the [API and integration guide](docs/reference.md).
|
|
96
96
|
|
|
97
97
|
The catalogue API supports other species, with explicit species and assembly
|
|
98
|
-
checks. **
|
|
98
|
+
checks. **The bundled experimental ORF catalogue is currently human-only**. Offline tests
|
|
99
99
|
bind real human, mouse, dog and yeast reference slices; those fixtures are not
|
|
100
100
|
new experimental ORF catalogues. [Species and reference identity](docs/species.md).
|
|
101
101
|
|
|
102
102
|
Install with `pip install orfdata[pyensembl]`. See the
|
|
103
103
|
[measurement API](docs/measurements.md) for native units, explicit samples and
|
|
104
|
-
assays, and DataCache-managed downloads
|
|
104
|
+
assays, and DataCache-managed downloads. Downloadable
|
|
105
|
+
[human, mouse and dog protein abundance](docs/pfizer-protein.md) and
|
|
106
|
+
[yeast calibrated protein/RNA abundance](docs/copy-yeast.md) use the same
|
|
107
|
+
species-scoped API. These canonical-search measurements do not establish
|
|
108
|
+
noncanonical ORF abundance. The
|
|
105
109
|
[quantitative, multispecies data roadmap](https://github.com/openvax/orfdata/issues/3)
|
|
106
|
-
|
|
110
|
+
tracks further RNA abundance, ribosome occupancy, absolute quantification and
|
|
111
|
+
additional protein data releases.
|
|
@@ -68,12 +68,17 @@ RNA products. Reference evidence stays separate from evidence for a variant or
|
|
|
68
68
|
fusion. See the [API and integration guide](docs/reference.md).
|
|
69
69
|
|
|
70
70
|
The catalogue API supports other species, with explicit species and assembly
|
|
71
|
-
checks. **
|
|
71
|
+
checks. **The bundled experimental ORF catalogue is currently human-only**. Offline tests
|
|
72
72
|
bind real human, mouse, dog and yeast reference slices; those fixtures are not
|
|
73
73
|
new experimental ORF catalogues. [Species and reference identity](docs/species.md).
|
|
74
74
|
|
|
75
75
|
Install with `pip install orfdata[pyensembl]`. See the
|
|
76
76
|
[measurement API](docs/measurements.md) for native units, explicit samples and
|
|
77
|
-
assays, and DataCache-managed downloads
|
|
77
|
+
assays, and DataCache-managed downloads. Downloadable
|
|
78
|
+
[human, mouse and dog protein abundance](docs/pfizer-protein.md) and
|
|
79
|
+
[yeast calibrated protein/RNA abundance](docs/copy-yeast.md) use the same
|
|
80
|
+
species-scoped API. These canonical-search measurements do not establish
|
|
81
|
+
noncanonical ORF abundance. The
|
|
78
82
|
[quantitative, multispecies data roadmap](https://github.com/openvax/orfdata/issues/3)
|
|
79
|
-
|
|
83
|
+
tracks further RNA abundance, ribosome occupancy, absolute quantification and
|
|
84
|
+
additional protein data releases.
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# Yeast protein and RNA abundance
|
|
2
|
+
|
|
3
|
+
`copy-yeast-abundance` imports [Lawless et al., CoPY (2016)](https://doi.org/10.1074/mcp.M115.054288)
|
|
4
|
+
through the same dataset API as human, mouse and dog. It includes calibrated
|
|
5
|
+
protein and peptide quantities, label-free estimates and RNA from budding yeast
|
|
6
|
+
grown in glucose-limited chemostats. The strain is EUROSCARF Y11335 BY4742,
|
|
7
|
+
with the reported genotype retained on each sample.
|
|
8
|
+
|
|
9
|
+
```sh
|
|
10
|
+
pip install 'orfdata[data]'
|
|
11
|
+
orfdata datasets info copy-yeast-abundance
|
|
12
|
+
orfdata datasets download copy-yeast-abundance
|
|
13
|
+
orfdata datasets pairs copy-yeast-abundance --basis condition_aggregate
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
The release contains 69,125 observations in a roughly 14 MB compressed download
|
|
17
|
+
(168 MB installed). Downloads are explicit and checksum-verified through
|
|
18
|
+
DataCache. Queries work offline after installation.
|
|
19
|
+
|
|
20
|
+
| Source measurements | Coverage | Interpretation |
|
|
21
|
+
|---|---:|---|
|
|
22
|
+
| QconCAT SRM protein summaries | 1,903 rows | 1,167 quantified; 668 upper bounds; 68 unquantifiable |
|
|
23
|
+
| SRM peptide observations | 3,836 rows × four cultures and author median | Protein-specific isotope standards; copies/cell, classification and uncertainty |
|
|
24
|
+
| Aggregate RNA | 6,581 labels × FPKM and estimated copies/cell | Counts aggregated before FPKM; copies assume 60,000 total mRNAs/cell |
|
|
25
|
+
| Individual RNA libraries | Four × 7,137 tracking IDs | Native FPKM, 95% confidence interval and Cufflinks status |
|
|
26
|
+
| Label-free estimates | 3,166 rows × two methods | Q-Exactive internal-standard Top3 and SAX total-protein scaling remain separate |
|
|
27
|
+
|
|
28
|
+
The 55 joined SRM protein groups retain their combined attribution. Label-free
|
|
29
|
+
identities also remain groups because full membership is unresolved. Two rows
|
|
30
|
+
share the label YNL239W; both survive unchanged. Upper bounds have
|
|
31
|
+
`status="below_detection"`, `value=None` and a `detection_limit`; missing and
|
|
32
|
+
unquantifiable values never become zeros. Author-calibrated SRM estimates have
|
|
33
|
+
`origin="observed"`; the RNA copies/cell conversion has `origin="derived"`
|
|
34
|
+
with its original FPKM input and calibration assumption.
|
|
35
|
+
|
|
36
|
+
The QconCAT FASTA contains 93 synthetic calibration standards, not native yeast
|
|
37
|
+
proteins. Four reported peptides do not match their assigned standard; their
|
|
38
|
+
measurements retain an explicit validation flag. See [source reconciliation #34](https://github.com/openvax/orfdata/issues/34).
|
|
39
|
+
Raw transitions and light/heavy ratios are not supplied in the processed
|
|
40
|
+
workbook. SRM raw data are identified by PASS00717; PXD002694 is the label-free
|
|
41
|
+
deposit. RNA is from GSE73898. Cufflinks LOWDATA rows retain their original
|
|
42
|
+
positive/zero estimates and confidence bounds in provenance, while the query
|
|
43
|
+
value remains `not_measured` because reliable quantification is unresolved.
|
|
44
|
+
|
|
45
|
+
## Comparing RNA and protein
|
|
46
|
+
|
|
47
|
+
The paper supports same-cell measurements at the source-cohort level. The
|
|
48
|
+
individual MS-to-RNA replicate crosswalk is unresolved, so comparisons require
|
|
49
|
+
explicit `condition_aggregate` selection. Replicate numbers alone never join
|
|
50
|
+
samples. Label-free methods have different calibrations and no inferred RNA pair.
|
|
51
|
+
|
|
52
|
+
```python
|
|
53
|
+
from orfdata import DatasetRegistry
|
|
54
|
+
|
|
55
|
+
dataset = DatasetRegistry().open("copy-yeast-abundance")
|
|
56
|
+
match = next(
|
|
57
|
+
m for m in dataset.matched_measurements(allowed_bases=["condition_aggregate"])
|
|
58
|
+
if m.relation.left.identifier == "YML035C" # AMD1, yeast source context
|
|
59
|
+
)
|
|
60
|
+
protein = match.right[0] # 3203.943997 copies/cell; author SRM estimate
|
|
61
|
+
rna = next(m for m in match.left if m.unit == "copies/cell") # ~2.11665
|
|
62
|
+
ratio = match.ratio(
|
|
63
|
+
protein, rna, measurement_id="AMD1:protein-per-RNA",
|
|
64
|
+
method="native calibrated protein / estimated RNA",
|
|
65
|
+
normalization={"assumed_total_mrna_per_cell": 60000, "level": "source cohort"},
|
|
66
|
+
)
|
|
67
|
+
print(ratio.value, ratio.unit, ratio.derivation)
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
The ratio is conditional on the RNA calibration. It is neither a translation
|
|
71
|
+
rate nor ribosome occupancy. Group relationships cannot yield an individual
|
|
72
|
+
protein ratio. All quantities keep their source units and assumptions.
|
|
73
|
+
|
|
74
|
+
## References and other species
|
|
75
|
+
|
|
76
|
+
Both yeast contexts carry taxon 4932 and pinned source hashes. The historical
|
|
77
|
+
SGD/Bowtie genome and annotation releases are unspecified; assembly, annotation
|
|
78
|
+
version and reference strain remain null. These source labels support canonical
|
|
79
|
+
gene/protein relationships but cannot bind a current PyEnsembl transcript until
|
|
80
|
+
a reference mapping is validated. Sample BY4742 strain is separate from the
|
|
81
|
+
unknown reference-genome strain. This dataset does not establish which yeast
|
|
82
|
+
noncanonical ORFs were searched, expressed or absent.
|
|
83
|
+
|
|
84
|
+
For cross-species comparisons, supply independently validated, pinned orthology
|
|
85
|
+
records rather than joining gene names. For example, with an installed mammal
|
|
86
|
+
RNA dataset and a curated JSON list of `OrthologyMapping` records:
|
|
87
|
+
|
|
88
|
+
```python
|
|
89
|
+
import json
|
|
90
|
+
from orfdata import OrthologyMapping, compare_orthologs
|
|
91
|
+
|
|
92
|
+
with open("curated-yeast-mammal-orthology.json") as handle:
|
|
93
|
+
mappings = [OrthologyMapping.from_dict(row) for row in json.load(handle)]
|
|
94
|
+
for comparison in compare_orthologs(dataset, mammal_rna_dataset, mappings):
|
|
95
|
+
print(comparison.left, comparison.right) # Separate original measurements
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
The mapping must name both exact references, its release, source checksum,
|
|
99
|
+
cardinality and confidence. No expression or protein-existence evidence transfers
|
|
100
|
+
between species, and different cultures/calibrations remain different experiments.
|
|
101
|
+
See [pairing and orthology](pairing.md).
|
|
102
|
+
|
|
103
|
+
To rebuild the release from the pinned public workbook, standards, metadata and
|
|
104
|
+
four RNA files, install `orfdata[data,build-data]` and run
|
|
105
|
+
`orfdata datasets build copy-yeast-abundance`. Python uses
|
|
106
|
+
`DatasetRegistry().build("copy-yeast-abundance")`. Local verified inputs can be
|
|
107
|
+
supplied with repeated `--source-path ASSET=PATH` or `source_paths={...}`.
|
|
108
|
+
The workbook and standards use stable versioned PMC objects; the dynamically
|
|
109
|
+
generated EuropePMC ZIP is not used as a content identity.
|
|
@@ -6,8 +6,9 @@ proteins, protein groups and peptides. A measurement stays at the resolution
|
|
|
6
6
|
the experiment supports. Parent-gene RNA abundance is useful context for an ORF;
|
|
7
7
|
it is not a separate measurement of each ORF in that gene.
|
|
8
8
|
|
|
9
|
-
Install `orfdata[data]` to manage datasets. The
|
|
10
|
-
|
|
9
|
+
Install `orfdata[data]` to manage datasets. The registry includes downloadable
|
|
10
|
+
[Pfizer/Oziolor human, mouse and dog protein summaries](pfizer-protein.md);
|
|
11
|
+
the [data roadmap](https://github.com/openvax/orfdata/issues/3) tracks further
|
|
11
12
|
imports. The bundled human ORF evidence catalogue remains available offline.
|
|
12
13
|
Its pooled PSM counts describe spectra, not sample-level protein abundance.
|
|
13
14
|
|
|
@@ -130,6 +131,12 @@ definitions = {
|
|
|
130
131
|
```
|
|
131
132
|
|
|
132
133
|
CLI users can supply this JSON with `orfdata datasets --registry FILE ...`.
|
|
134
|
+
|
|
135
|
+
Rebuild supported releases from their pinned original inputs with
|
|
136
|
+
`registry.build(name, version, source_paths={"asset_id": "/local/file"})` or
|
|
137
|
+
`orfdata datasets build NAME --source-path ASSET=PATH`. Local overrides still
|
|
138
|
+
require the published hashes. Rebuilds use a separate import cache and preserve
|
|
139
|
+
installed releases. Unsupported source importers fail explicitly.
|
|
133
140
|
`ORFDATA_CACHE`, then `OPENVAX_DATA_CACHE`, then the platform's OpenVax cache
|
|
134
141
|
select the root. ORFdata owns its `orfdata/` child. Release cache identities
|
|
135
142
|
include manifest/reference and content hashes. SQLite partitions every table
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Human, mouse and dog protein abundance
|
|
2
|
+
|
|
3
|
+
The [Oziolor et al. atlas](https://doi.org/10.1038/s41597-026-07512-9) provides
|
|
4
|
+
parallel TMT protein measurements. ORFdata keeps each species in a separate
|
|
5
|
+
dataset, using the same samples, assays, measurements and query API.
|
|
6
|
+
|
|
7
|
+
| Dataset | Reported protein groups | Source channels | Source rows |
|
|
8
|
+
|---|---:|---:|---:|
|
|
9
|
+
| `pfizer-atlas-human-protein` | 10,352 | 37 | 325,702 |
|
|
10
|
+
| `pfizer-atlas-mouse-protein` | 12,124 | 63 | 615,991 |
|
|
11
|
+
| `pfizer-atlas-dog-protein` | 9,929 | 38 | 313,263 |
|
|
12
|
+
|
|
13
|
+
Release `2026-10-12.1` contains the complete March 23, 2026 summary tables from
|
|
14
|
+
MassIVE MSV000099729, MSV000099754 and MSV000099744, respectively. Each source
|
|
15
|
+
row contributes two observations: native `iBAQ` and `rIBAQ`. Neither is calibrated
|
|
16
|
+
copies per cell. These are pooled tissue samples; rodent condition labels also
|
|
17
|
+
include sex. Channels and technical runs do not count as independent donors.
|
|
18
|
+
|
|
19
|
+
```sh
|
|
20
|
+
pip install 'orfdata[data]'
|
|
21
|
+
orfdata datasets list --species dog
|
|
22
|
+
orfdata datasets download pfizer-atlas-dog-protein
|
|
23
|
+
orfdata datasets query pfizer-atlas-dog-protein --quantity protein_abundance
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
```python
|
|
27
|
+
from orfdata import DatasetRegistry, ScopedTarget
|
|
28
|
+
|
|
29
|
+
registry = DatasetRegistry()
|
|
30
|
+
dataset = registry.open("pfizer-atlas-dog-protein") # After explicit download.
|
|
31
|
+
reference, = dataset.manifest.references
|
|
32
|
+
group = ScopedTarget(reference, "protein_group", "A0A0A0MPB0", "MSV000099744:ProteinGroup")
|
|
33
|
+
for value in dataset.measurements(target=group):
|
|
34
|
+
print(value.sample_id, value.unit, value.value, value.status)
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Every target retains its species and the checksum of the deposited UniProt
|
|
38
|
+
search FASTA. The original genomic assembly and UniProt release are unknown.
|
|
39
|
+
They stay unknown; a future annotation mapping must be explicit and validated.
|
|
40
|
+
Group representatives can be inspected through `reference_mappings()`, but their
|
|
41
|
+
lookup does not establish all group members. Opting into unresolved mapped
|
|
42
|
+
views keeps the original group measurement visible, without assigning its value
|
|
43
|
+
to an individual protein. No RNA pairings are inferred in this release.
|
|
44
|
+
|
|
45
|
+
Source `NA` values remain missing and numeric zeros remain measured zeros.
|
|
46
|
+
Absent group/channel combinations have no observation. For dog, 64,039 combinations
|
|
47
|
+
are absent and eight reported rows contain `NA`, reproducing the existing
|
|
48
|
+
64,047 missing iBAQ matrix cells. Each value retains its source line, column,
|
|
49
|
+
original numeric text, representative, normalization sum and native `Abundance`
|
|
50
|
+
field. Nonfinite transformed strings such as `-Inf` are kept as provenance only.
|
|
51
|
+
|
|
52
|
+
These searches used UniProt sequences without spliced isoforms. Coverage does
|
|
53
|
+
not establish that an unreported ncORF was searched or absent, nor does bulk
|
|
54
|
+
tissue MS establish MHC presentation. The article and deposit disagree on the
|
|
55
|
+
instrument name; that discrepancy remains explicit in assay metadata.
|
|
56
|
+
|
|
57
|
+
Downloads are 87.3 MB (human), 154.8 MB (mouse) and 84.4 MB (dog). Installed
|
|
58
|
+
SQLite files occupy 1.46 GB, 2.72 GB and 1.40 GB, respectively. Queries stream
|
|
59
|
+
observations; they do not load the entire file or a dense matrix into memory.
|
|
60
|
+
|
|
61
|
+
Source tables are CC0 according to the MassIVE deposits; UniProt search records
|
|
62
|
+
retain UniProt Consortium attribution and CC-BY-4.0 terms. Both sources have
|
|
63
|
+
pinned hashes and sizes. The data artifact is separate from the Python package.
|
|
64
|
+
Discovery and installed queries work offline. `download` verifies and installs
|
|
65
|
+
the compressed artifact; it does not fetch the large vendor search database.
|
|
66
|
+
|
|
67
|
+
To reproduce a source import, use `registry.build(name, source_paths=...)`,
|
|
68
|
+
`orfdata datasets build NAME`, or `orfdata.sources.pfizer.build_protein("dog")`.
|
|
69
|
+
The source overrides are `protein.tsv` and `search.fasta`; DataCache verifies
|
|
70
|
+
their original checksums before running the importer. Source slices with actual
|
|
71
|
+
positive, zero and missing values test the same importer for all three species.
|