Skip to main content

Copier Badge

go-standard-annotation-schema

LinkML schema for GO Standard Annotations

Documentation Website

https://geneontology.github.io/go-standard-annotation-schema

Repository Structure

Developer Tools

uv is the only required development tool. It installs the project dependencies and the locked copy of just:

uv sync
uv run --locked just check
uv run --locked just test

Run uv run --locked just to see focused checks, generation commands, and documentation recipes. See CONTRIBUTING.md for automatic fixes, optional Git hooks, and editor integration.

If you have just installed globally, you can omit the uv run --locked prefix and run just directly.

Reading GPAD and GPI files

GpadReader and GpiReader stream validated annotations and entities without loading the whole file into memory. Both readers support only version 2.0 of their respective formats. A path ending in .gz is opened as a gzip-compressed text file; other paths are opened as ordinary text files.

Use a reader as a context manager to inspect its header metadata and iterate over its records:

from go_standard_annotation_schema.io import GpadReader

with GpadReader("annotations.gpad.gz") as reader:
  print(reader.metadata.generated_by)
  for annotation in reader:
    print(annotation.db_object_id)

By default, an invalid data row raises RowError. Use errors="skip" to continue after invalid rows, and on_error to inspect every skipped row:

def report(issue):
  print(issue.source, issue.line_number, issue.code)


with GpadReader("annotations.gpad", errors="skip", on_error=report) as reader:
  for annotation in reader:
    consume(annotation)
  print(reader.stats.rows_skipped)

For an individual headerless GPI data row, use the class-level parser:

from go_standard_annotation_schema.io import GpiReader

entity = GpiReader.parse_line(line)
print(entity.db_object_symbol)

For an individual headerless GPAD data row, the class-level parser returns every annotation produced by that row:

from go_standard_annotation_schema.io import GpadReader

(annotation,) = GpadReader.parse_line(line)
print(annotation.ontology_class_id)

For GPAD columns 7 and 11, pipes separate alternative annotations and commas separate values within one annotation. When either field contains pipes, the reader emits one Annotation for each Cartesian-product combination. Therefore GpadReader.parse_line() returns a tuple, even when a row produces one annotation.

Interacting taxon identifiers are split only on pipes. Other content is passed unchanged to Annotation.model_validate() for model-level validation.

See the official GPAD 2.0 format documentation and GPI 2.0 format documentation.

Credits

This project uses the template linkml-project-copier.

Release files for go-standard-annotation-schema 0.0.3

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

Source distribution (sdist)

Source distribution for go-standard-annotation-schema 0.0.3
File Size Uploaded
go_standard_annotation_schema-0.0.3.tar.gz 172.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for go-standard-annotation-schema 0.0.3
File Interpreter ABI Platform
go_standard_annotation_schema-0.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 200.6 kB

Release files / go_standard_annotation_schema-0.0.3.tar.gz

Download URL go_standard_annotation_schema-0.0.3.tar.gz
Size 172.2 kB
Tags Source
SHA-256 checksum
How to use checksums
245242252190d35a92cee2730f1500a2637954eb6d909a07b7d08f1b7762a69e
BLAKE2b-256 checksum
How to use checksums
bc57f2a948cdddc21eb3573bd938967074c878e1d205af0a19e200d2ad4b29d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 13, 2026.

Transparency log

Release files / go_standard_annotation_schema-0.0.3-py3-none-any.whl

Download URL go_standard_annotation_schema-0.0.3-py3-none-any.whl
Size 28.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
59361065663f9dd09d155d0727d0776e6099538fedaf2cb09519ac98177c4482
BLAKE2b-256 checksum
How to use checksums
e70b3fe4b234d170f5670c81c40180d313323950668b60069b29c2a99bfa239c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 13, 2026.

Transparency log

Release history Release notifications | RSS feed

0.0.4

2 release files

This release

0.0.3 This release

2 release files

0.0.2

2 release files

0.0.1

2 release files

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