Haplotype Module¶
Haplotype identification and management.
Overview¶
The haplotype module provides classes for identifying and working with unique haplotypes in sequence data.
Classes¶
pypopart.core.haplotype ¶
Haplotype representation and management for PyPopART.
Haplotypes represent unique sequence variants with associated frequency and population information.
HaplotypeFrequency
dataclass
¶
Haplotype ¶
Represents a unique haplotype (sequence variant) with frequency information.
A haplotype is a unique DNA sequence that may be shared by multiple individuals or samples. This class tracks the sequence, frequency, and population assignments.
Source code in src/pypopart/core/haplotype.py
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 | |
__init__ ¶
__init__(
sequence: Sequence,
sample_ids: Optional[List[str]] = None,
populations: Optional[Dict[str, str]] = None,
)
Initialize a haplotype.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
sequence
|
Sequence
|
The unique sequence for this haplotype. |
required |
sample_ids
|
Optional[List[str]]
|
List of sample IDs sharing this haplotype. |
None
|
populations
|
Optional[Dict[str, str]]
|
Dictionary mapping sample_id -> population/group. |
None
|
Source code in src/pypopart/core/haplotype.py
add_sample ¶
Add a sample to this haplotype.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
sample_id
|
str
|
Sample identifier. |
required |
population
|
Optional[str]
|
Optional population/group assignment. |
None
|
Source code in src/pypopart/core/haplotype.py
remove_sample ¶
Remove a sample from this haplotype.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
sample_id
|
str
|
Sample identifier. |
required |
Raises
|
|
required | |
KeyError
|
If sample not found. |
required |
Source code in src/pypopart/core/haplotype.py
get_population ¶
Get population assignment for a sample.
Returns:
| Type | Description |
|---|---|
Population name or None if not assigned.
|
|
Source code in src/pypopart/core/haplotype.py
get_populations ¶
Get set of all populations represented in this haplotype.
Returns:
| Type | Description |
|---|---|
Set of population names.
|
|
get_frequency_by_population ¶
Calculate frequency of this haplotype per population.
Returns:
| Type | Description |
|---|---|
Dictionary mapping population -> count.
|
|
Source code in src/pypopart/core/haplotype.py
get_frequency_info ¶
Get comprehensive frequency information.
Returns:
| Type | Description |
|---|---|
HaplotypeFrequency object with total and per-population frequencies.
|
|
Source code in src/pypopart/core/haplotype.py
__len__ ¶
__eq__ ¶
__hash__ ¶
__str__ ¶
__repr__ ¶
to_dict ¶
Convert haplotype to dictionary representation.
Returns:
| Type | Description |
|---|---|
Dictionary with haplotype data.
|
|
Source code in src/pypopart/core/haplotype.py
from_dict
classmethod
¶
Create haplotype from dictionary.
Returns:
| Type | Description |
|---|---|
New Haplotype object.
|
|
Source code in src/pypopart/core/haplotype.py
identify_haplotypes_from_alignment ¶
identify_haplotypes_from_alignment(
alignment: Alignment,
population_map: Optional[Dict[str, str]] = None,
) -> List[Haplotype]
Identify unique haplotypes from an alignment.
Groups sequences by unique sequence data (ignoring gaps) and creates Haplotype objects with frequency information.
Args: alignment: Multiple sequence alignment population_map: Optional dictionary mapping sequence_id -> population
Returns:
| Type | Description |
|---|---|
List of Haplotype objects.
|
|
Source code in src/pypopart/core/haplotype.py
calculate_haplotype_diversity ¶
Calculate haplotype diversity metrics.
Args: haplotypes: List of Haplotype objects
Returns:
| Type | Description |
|---|---|
Dictionary with diversity metrics:.
|
|