graph LR
Core_Sequence_Abstraction_SeqLike_["Core Sequence Abstraction (SeqLike)"]
Sequence_Interface["Sequence Interface"]
Sequence_Utilities["Sequence Utilities"]
Biological_Alphabets["Biological Alphabets"]
Sequence_Encoders["Sequence Encoders"]
Mutation_Representation["Mutation Representation"]
Mutation_Set_Management["Mutation Set Management"]
Core_Sequence_Abstraction_SeqLike_ -- "implements" --> Sequence_Interface
Core_Sequence_Abstraction_SeqLike_ -- "utilizes" --> Sequence_Utilities
Core_Sequence_Abstraction_SeqLike_ -- "depends on" --> Biological_Alphabets
Core_Sequence_Abstraction_SeqLike_ -- "utilizes" --> Sequence_Encoders
Core_Sequence_Abstraction_SeqLike_ -- "integrates with" --> Mutation_Representation
Core_Sequence_Abstraction_SeqLike_ -- "integrates with" --> Mutation_Set_Management
Sequence_Interface -- "implemented by" --> Core_Sequence_Abstraction_SeqLike_
Sequence_Utilities -- "supports" --> Core_Sequence_Abstraction_SeqLike_
Biological_Alphabets -- "used by" --> Core_Sequence_Abstraction_SeqLike_
Sequence_Encoders -- "used by" --> Core_Sequence_Abstraction_SeqLike_
Mutation_Representation -- "aggregated by" --> Mutation_Set_Management
Mutation_Representation -- "used by" --> Core_Sequence_Abstraction_SeqLike_
Mutation_Set_Management -- "aggregates" --> Mutation_Representation
One paragraph explaining the functionality which is represented by this graph. What the main flow is and what is its purpose.
This is the primary concrete implementation of the SequenceLike interface. It acts as the central data carrier and hub for most sequence-related operations, providing functionalities such as initialization from various formats, type conversion (e.g., nucleotide to amino acid), reverse complementation, ungapping, slicing, and basic sequence arithmetic. It integrates capabilities from other modules to offer a comprehensive and unified API for sequence handling.
Related Classes/Methods:
An abstract base class (SequenceLike) that defines the contract and common API for all sequence-like objects. It establishes a blueprint for how any sequence object should behave, ensuring consistency and extensibility across the library for future sequence types or specialized implementations.
Related Classes/Methods:
This component encapsulates a collection of essential utility functions for general sequence manipulation, validation, and construction routines. These functions provide reusable, atomic operations that underpin the functionality of the Core Sequence Abstraction, ensuring data integrity and efficient processing.
Related Classes/Methods:
seqlike/utils/sequences.py(1:1)seqlike/utils/validation.py(1:1)seqlike/utils/constructor.py(1:1)
Defines and manages the various biological alphabets (e.g., DNA, RNA, Protein, ambiguous codes) crucial for correctly interpreting, validating, and manipulating sequence data. It ensures that sequence operations are contextually aware of the biological type, preventing invalid operations.
Related Classes/Methods:
Handles the encoding and decoding of biological sequences, facilitating their conversion into numerical or other internal representations. This is vital for computational analysis, integration with machine learning models, or specific algorithms that require non-string sequence formats.
Related Classes/Methods:
Defines the data structures and logic for representing individual genetic mutations, such as substitutions, insertions, and deletions. It provides a standardized and structured way to describe changes within a biological sequence.
Related Classes/Methods:
Manages collections of genetic mutations, providing functionalities to store, query, and operate on sets of mutations. This is particularly useful when dealing with multiple variations in a sequence, such as in a patient's genome or a protein variant.
Related Classes/Methods: