orfdata
orfdata builds the protein reference for a species: the proteins annotated in a PyEnsembl genome, plus open reading frames (ORFs) that ribosome-profiling studies found translated outside those annotations. These include upstream and downstream ORFs, ORFs in other reading frames of a coding sequence, and ORFs on RNAs annotated as noncoding. Each added ORF stays bound to its PyEnsembl transcript, with its source, category and evidence.
Installation
Use Python 3.9 or later. Install orfdata and one PyEnsembl annotation:
python -m pip install 'orfdata[pyensembl]'
pyensembl install --release 115 --species human
Example
from pyensembl import EnsemblRelease
from orfdata import Proteome
genome = EnsemblRelease(115, species="human")
proteome = Proteome.from_genome(genome).with_extra_orfs(evidence="ms")
proteome.write_fasta("human-e115.fasta")
print(proteome.summary()["kinds"], len(proteome.excluded))
{'annotated': 245535, 'extra_orf': 2181} 5
This takes every protein in the Ensembl 115 annotation and adds the 2,181
bundled human ORFs that have supporting mass-spectrometry peptides and are
encoded by an Ensembl 115 transcript. Each entry lists every transcript encoding
it; the other 5 selected ORFs are listed in proteome.excluded with the
reason. Use evidence="ribosome" for all 7,239 encoded ribosome-profiling ORFs,
or a rule such as RiboSeq(min_studies=2) & MS() to set Ribo-seq and MS
stringency separately (1,293 encoded ORFs).
proteome.save(path) writes a checksummed snapshot that Proteome.load reads
offline. From the command line:
orfdata proteome --species human --release 115 --output human-e115.fasta
A translated ORF or a detected peptide does not by itself establish a stable, functional protein. Most MS support in the bundled catalogue comes from peptides presented by HLA molecules.
Species
The bundled noncanonical ORF catalogue is human GRCh38. Mouse ORFs come from
OpenProt 2.2: orfdata catalogs build openprot-mouse builds that catalogue
from OpenProt's own files. After orfdata chains download (add
--accept-terms for UCSC's non-commercial mouse chains), older assemblies
(GRCh37, NCBI36, GRCm38, NCBIM37) use these catalogues lifted to them. Dog and yeast proteomes contain their
PyEnsembl-annotated proteins. load_catalog(species=...) and
with_extra_orfs() pick the catalogue for a species and raise when none is
available or built.
Human evidence is never transferred to another species. Viral proteomes can be added with
with_viral(...), but only to a proteome for one of the virus's recorded hosts.
orfdata also provides RNA, ribosome and protein measurements
for human, mouse, dog and yeast.
Measurement datasets
RNA, ribosome and protein measurements are separate, downloadable datasets with
the same species-scoped API. Install the data extra, then download and query
one:
pip install 'orfdata[data]'
orfdata datasets list
orfdata datasets download ingolia-yeast-rna-ribo
| Guide | Species | Measurements |
|---|---|---|
| Protein abundance | Human, mouse, dog | TMT protein groups (Oziolor et al.) |
| RNA abundance | Dog, mouse | Native gene counts (Oziolor et al.) |
| Matched human tissues | Human | RNA and protein from adjacent cryosections (Wang et al.) |
| Yeast protein and RNA | Budding yeast | Calibrated protein and RNA abundance (CoPY) |
| Yeast RNA and ribosome occupancy | Budding yeast | Source regions, including UTR and ncRNA labels (Ingolia et al.) |
Gene RNA and canonical protein measurements do not establish noncanonical ORF abundance. See released data and gaps.
Documentation
The documentation covers:
| Task | Guide |
|---|---|
| Build a proteome: evidence levels, exclusions, contigs, viral proteins | Build a reference proteome |
| ORF classes, evidence definitions, Varcode and Isovar integration | ORFs and evidence |
| Species and reference identity, mitochondrial genetic codes | Species, references and genetic codes |
| Versioned ORF catalogues managed through DataCache | Optional ORF catalogues |
| Quantitative datasets and what has been released | Measurements, released data and gaps |
The data roadmap tracks further
species and sources. Every PR includes a version bump, lint and tests;
maintainers publish with ./deploy.sh from clean main.
License
Apache 2.0. Downloadable datasets keep their sources' own terms and attribution, recorded in each release manifest.
Metadata
Release files for orfdata 0.27.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| orfdata-0.27.1.tar.gz | 2.7 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| orfdata-0.27.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 4.8 MB
Release files / orfdata-0.27.1.tar.gz
| Download URL | orfdata-0.27.1.tar.gz |
|---|---|
| Size | 2.7 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f7a2823a48fa2ba750c11f22b6822801fb4d576ce0b7ff556b906f39103c1c47
|
|
BLAKE2b-256 checksum How to use checksums |
d50d835002a9b91ccabfbeb8aad823e362c502fb242820670a871c55aa2689da
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.6
|
Release files / orfdata-0.27.1-py3-none-any.whl
| Download URL | orfdata-0.27.1-py3-none-any.whl |
|---|---|
| Size | 2.1 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e8217117dda2e967859591ccf10b1f6e1fad1f93c8acc6dcd3a47fc79fe3bc7a
|
|
BLAKE2b-256 checksum How to use checksums |
2b390937ca61ea0e57aaaed5a30da2aff70960c10cb8c7c8da55a6b4e791a732
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.6
|