Skip to content

File and database headers

pefftacular.FileHeader dataclass

FileHeader(
    peff_version: str,
    general_comments: tuple[str, ...] = (),
    databases: tuple[DatabaseHeader, ...] = (),
)

Top-level header for a PEFF file.

pefftacular.DatabaseHeader dataclass

DatabaseHeader(
    prefix: str | None = None,
    db_name: str | None = None,
    db_description: str | None = None,
    db_version: str | None = None,
    db_date: str | None = None,
    db_sources: tuple[str, ...] = (),
    general_comments: tuple[str, ...] = (),
    number_of_entries: int | None = None,
    sequence_type: str | None = None,
    decoy: bool | None = None,
    conversion: str | None = None,
    has_annotation_identifiers: bool = False,
    proteoform_db: bool = False,
    custom_key_defs: tuple[CustomKeyDef, ...] = (),
    optional_tag_defs: tuple[OptionalTagDef, ...] = (),
    specific_keys: tuple[SpecificKeyDef, ...] = (),
    extra: dict[str, str] = dict(),
)

Metadata block for a single database within a PEFF file.

pefftacular.CustomKeyDef dataclass

CustomKeyDef(
    key_name: str,
    description: str,
    concept_curie: str | None = None,
    regexp: str | None = None,
    field_names: tuple[str, ...] = (),
    field_types: tuple[str, ...] = (),
)

Definition of a custom key in a PEFF database header.

pefftacular.OptionalTagDef dataclass

OptionalTagDef(tag: str, description: str)

Definition of an optional tag used in entry annotations.

pefftacular.SpecificKeyDef dataclass

SpecificKeyDef(
    key_name: str,
    description: str | None = None,
    value: str | None = None,
)

A database-specific key declared in the header (PEFF 1.0 section 3.3.1).

# SpecificKey=name:description declares the key and # SpecificValue=name:values gives its allowed values (for example (available|unsure|not available)). Entries then use it as \name=value; those values are kept in SequenceEntry.extra. description or value is None when the header has no SpecificKey or SpecificValue line for the key.