graph LR
Sequence_Alignment_Core["Sequence Alignment Core"]
Sequence_Embedding["Sequence Embedding"]
Core_Sequence_Data_Structures["Core Sequence Data Structures"]
Metadata_Management["Metadata Management"]
Input_Output_Operations["Input/Output Operations"]
Core_Utilities_Base_Objects["Core Utilities & Base Objects"]
Sequence_Alignment_Core -- "uses" --> Core_Sequence_Data_Structures
Sequence_Alignment_Core -- "uses" --> Metadata_Management
Sequence_Alignment_Core -- "uses" --> Core_Utilities_Base_Objects
Sequence_Embedding -- "uses" --> Core_Sequence_Data_Structures
Sequence_Embedding -- "uses" --> Core_Utilities_Base_Objects
Input_Output_Operations -- "uses" --> Sequence_Alignment_Core
Input_Output_Operations -- "uses" --> Sequence_Embedding
Core_Sequence_Data_Structures -- "uses" --> Metadata_Management
This section details the structure, flow, and purpose of the Sequence & Alignment Modules within the scikit-bio project, focusing on its core components and their interactions.
This component provides the fundamental algorithms and data structures for performing pairwise and multiple sequence alignments. It includes functionalities for representing alignment paths, scoring alignments, and handling tabular multiple sequence alignments. It is central to comparing and analyzing the evolutionary relationships between biological sequences.
Related Classes/Methods:
skbio.alignment._pairskbio.alignment._pairwiseskbio.alignment._path.AlignPath(38:962)skbio.alignment._path.PairAlignPath(965:1273)skbio.alignment._scoreskbio.alignment._tabular_msa.TabularMSA(30:2540)
This component focuses on transforming biological sequences into numerical vector representations (embeddings). These embeddings are crucial for applying machine learning techniques and advanced statistical analyses to biological sequence data, enabling quantitative comparisons and analyses that are not directly possible with raw sequence data.
Related Classes/Methods:
skbio.embedding._embedding.Embedding(30:74)skbio.embedding._embedding.EmbeddingVector(137:168)skbio.embedding._embedding.SequenceEmbedding(77:134)skbio.embedding._embedding.SequenceVector(171:229)skbio.embedding._protein.ProteinEmbedding(28:113)skbio.embedding._protein.ProteinVector(122:187)
This component defines the foundational data structures for representing various types of biological sequences (DNA, RNA, Protein) and their associated characteristics. These structures serve as the primary input and output for alignment and embedding operations, ensuring data integrity and consistency across the library.
Related Classes/Methods:
skbio.sequence._sequence.Sequence(35:2377)skbio.sequence._grammared_sequence.GrammaredSequence(79:935)skbio.sequence._dna.DNA(15:490)skbio.sequence._rna.RNA(15:468)skbio.sequence._protein.Protein(15:287)
This component provides mechanisms for attaching, accessing, and managing descriptive metadata (e.g., sample information, experimental conditions) to biological data objects. This ensures that contextual information is preserved and accessible alongside the sequence and alignment data, facilitating richer and more interpretable analyses.
Related Classes/Methods:
skbio.metadata._metadata.MetadataColumn(912:1255)skbio.metadata._metadata.SampleMetadata(241:909)skbio.metadata._mixin.MetadataMixin(16:174)skbio.metadata._mixin.PositionalMetadataMixin(177:421)skbio.metadata._interval.IntervalMetadata(391:1008)
This component handles the serialization and deserialization of biological data objects, including sequences, alignments, and embeddings, to and from various standard bioinformatics file formats. It provides a unified and extensible interface for data persistence and interoperability with other tools.
Related Classes/Methods:
skbio.io.descriptors.Read(13:62)skbio.io.descriptors.Write(65:121)skbio.io.registry.IORegistryskbio.io.format
This component provides foundational utility functions, abstract base classes, and mixins that are widely used across the scikit-bio library. It ensures consistency, promotes code reuse, and establishes a common interface for various biological data objects.
Related Classes/Methods: