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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

go_standard_annotation_schema-0.0.2.tar.gz (167.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

go_standard_annotation_schema-0.0.2-py3-none-any.whl (24.9 kB view details)

Uploaded Python 3

File details

Details for the file go_standard_annotation_schema-0.0.2.tar.gz.

File metadata

File hashes

Hashes for go_standard_annotation_schema-0.0.2.tar.gz
Algorithm Hash digest
SHA256 596083a86ef43cc6c0ed60447daeaaa8ec12d41fc016514490d5986aebe17ad3
MD5 276c7322f72dfff37dfd2890e9272a1e
BLAKE2b-256 6dd1bf75b3283e51f0b2951f7d8ad597e46682db1a425d68452b05bc85cca9f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for go_standard_annotation_schema-0.0.2.tar.gz:

Publisher: pypi-publish.yaml on geneontology/go-standard-annotation-schema

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file go_standard_annotation_schema-0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for go_standard_annotation_schema-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4ff0625dc88988c8c926b87739496d0a10ef80ab3e4164ea030efd2e16568af8
MD5 9f9612770db8538120e4111a4e6f3be8
BLAKE2b-256 95446a37388d5f91ea52b1264fbbce448c02fa10ba33a4dceb4928a98e8de1c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for go_standard_annotation_schema-0.0.2-py3-none-any.whl:

Publisher: pypi-publish.yaml on geneontology/go-standard-annotation-schema

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page