orfdata
An evidence layer over PyEnsembl for proteins beyond standard annotations. orfdata tells you which open reading frames (ORFs) have experimental support for producing peptides or proteins.
PyEnsembl supplies reference transcripts and annotated proteins. orfdata adds other ORFs, their sequences, and evidence to those same transcript objects. One RNA can have several ORFs, even when its annotation says it is noncoding. The original transcript's biotype and annotated protein stay intact.
Which ORFs?
The bundled catalogue includes:
- Upstream ORFs (uORFs): before the main protein-coding region.
- Overlapping ORFs: extending into or out of the main coding region.
- Internal ORFs: alternative reading frames within the main coding region.
- Downstream ORFs (dORFs): after the main coding region.
- ORFs on noncoding RNAs: including long noncoding RNAs (lncRNAs) and processed transcripts without an annotated protein.
These are additional possible protein sources that standard transcript protein annotations may omit. The catalogue currently contains 7,264 human GRCh38 ORFs, of which 2,186 have reported supporting mass-spectrometry observations. It is a source-backed reference catalogue; it does not discover every possible ORF. Data sources and current limits.
What does the evidence mean?
| Evidence | What it supports |
|---|---|
| Ribosome profiling | Translation of the ORF. |
| Protease-digest mass spectrometry (MS) | Detection of peptides matching its protein sequence. |
| MHC/HLA peptidomics | Detection of matching peptides presented by MHC molecules. |
Peptide matches can be ambiguous, so orfdata keeps their source, mapping and quality information. These observations have different strengths: a translated ORF or detected peptide does not by itself establish a stable, functional protein. Missing evidence also does not establish that an ORF is never translated. Evidence interpretation.
Use with PyEnsembl
With the selected PyEnsembl annotation already downloaded and indexed:
from pyensembl import EnsemblRelease
from orfdata import load_catalog
genome = EnsemblRelease(95, species="human")
catalog = load_catalog()
transcript = genome.transcript_by_id("ENST00000304842") # TPST1
for orf in catalog.for_transcript(transcript):
print(orf.model.orf_id, orf.protein_sequence)
print(orf.evidence.has_evidence("ms"))
assert orf.transcript is transcript
The same call works for a noncoding parent, such as NUTM2B-AS1
(ENST00000483080). Each returned ReferenceORF keeps its model, evidence and
original PyEnsembl transcript together, after checking its coordinates and
sequence against that transcript.
Varcode describes changes to this reference ORF; Isovar connects it to observed RNA products. Reference evidence stays separate from evidence for a variant or fusion. See the API and integration guide.
The catalogue API supports other species, with explicit species and assembly checks. Bundled experimental evidence is currently human-only. Offline tests bind real human, mouse, dog and yeast reference slices; those fixtures are not new experimental ORF catalogues. Species and reference identity.
Install with pip install orfdata[pyensembl]. See the
measurement API for native units, explicit samples and
assays, and DataCache-managed downloads, and the
quantitative, multispecies data roadmap
for upcoming RNA abundance, ribosome occupancy and protein data releases.
Metadata
Release files for orfdata 0.3.0
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.3.0.tar.gz | 2.0 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| orfdata-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 3.9 MB
Release files / orfdata-0.3.0.tar.gz
| Download URL | orfdata-0.3.0.tar.gz |
|---|---|
| Size | 2.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bb76c2c1a974c1caffc62008700cc58267faa35e0c9a6dfbb176de2c43487331
|
|
BLAKE2b-256 checksum How to use checksums |
f3e356626b35edc8e86411519c54f4e2553ecb90a9efb2b59d3a05b61edcac4a
|
| 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.3.0-py3-none-any.whl
| Download URL | orfdata-0.3.0-py3-none-any.whl |
|---|---|
| Size | 1.9 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
db83077fa4776a0b7ddf534534273385f0a2a5cfe14cae0d0e5f6482c832a762
|
|
BLAKE2b-256 checksum How to use checksums |
f2f36f85510de22a7a5dccf0a3e3e785945061e24c89c512549b507976a4f945
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.6
|