Skip to main content

Tests PyPI

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 human catalogue comes from immunopeptidomics: peptides eluted from HLA molecules.

Species

The bundled noncanonical ORF catalogue is human GRCh38. Mouse has 48,805: Ribo-seq ORFs of Chang et al. 2025 and Yang et al. 2024, and 2,976 MS-supported ones from OpenProt 2.2; pip install "orfdata[data,build-data]" then orfdata setup --species mouse builds all three from their sources' own files. After orfdata chains download (add --accept-terms for UCSC's non-commercial mouse chains), older assemblies (GRCh37, NCBI36, GRCm38, NCBIM37) and T2T-CHM13 use these catalogues lifted to them; orfdata genomes install t2t-chm13 installs a CHM13 annotation. 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.28.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for orfdata 0.28.0
File Size Uploaded Provenance Actions
orfdata-0.28.0.tar.gz 2.8 MB Without provenance Details for orfdata-0.28.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for orfdata 0.28.0
File Interpreter ABI Platform Actions
orfdata-0.28.0-py3-none-any.whl Python 3 none any Details for orfdata-0.28.0-py3-none-any.whl

Total release size: 4.8 MB

Release files / orfdata-0.28.0.tar.gz

Download URL orfdata-0.28.0.tar.gz
Size 2.8 MB
Tags Source
SHA-256 checksum
How to use checksums
2219b4f0193073116f8aaf3b6c00f6073e149cd2e73f3d312f696d3d0f0ca63e
BLAKE2b-256 checksum
How to use checksums
1c14b478e75b9a2ad0fdf37881717caf80eb6dd3cb9ac3d90f3af7c804adb852
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.28.0-py3-none-any.whl

Download URL orfdata-0.28.0-py3-none-any.whl
Size 2.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
1ee8dcedc6ccc4ee7a17feed4eb4ee0e07b2eedda12e964a9a9a11a22d8d8867
BLAKE2b-256 checksum
How to use checksums
b564dff78315fbbccdea953bdf56e7741448b8bd5a764c61d07684d22f680ef9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.6

Security for orfdata 0.28.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.28.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page