"""Module for representing protein data."""
from typing import Iterable
from freqsap.accession import Accession
from freqsap.variation import Variation
[docs]
class Protein:
"""Represents a protein with its accession and associated variations.
Attributes:
_accession (Accession): The protein accession identifier.
_variations (Iterable[Variation]): Collection of genetic variations in this protein.
"""
def __init__(self, accession: Accession, variations: Iterable[Variation]):
"""Initialize a Protein object.
Args:
accession (Accession): The protein accession identifier.
variations (Iterable[Variation]): Collection of variations associated with this protein.
"""
[docs]
self._accession = accession
[docs]
self._variations = variations
@property
[docs]
def variations(self) -> Iterable[Variation]:
"""Get the variations associated with this protein."""
return self._variations