Multiplicity¶
Hit-class classification for mapped regions. Groups regions by a key field and classifies each group as unique, multi, or unmapped.
Use this after alignment to separate single-mapping guides from multi-mappers.
HitClass
dataclass
¶
classify
¶
classify(regions: Sequence[Region], group_by: str = 'name', expected: Iterable[str] | None = None) -> dict[str, HitClass]
Group regions by a key and classify each group's hit count.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
regions
|
Sequence[Region]
|
Iterable of |
required |
group_by
|
str
|
Field name ( |
'name'
|
expected
|
Iterable[str] | None
|
Optional iterable of key values that must appear in the
output even when no regions match them (these get
|
None
|
Returns:
| Type | Description |
|---|---|
dict[str, HitClass]
|
Dict mapping each group key to a |
Examples:
>>> from seqchain.region import Region
>>> regions = [Region("chr1", 0, 10, name="g1"), Region("chr1", 20, 30, name="g1")]
>>> result = classify(regions)
>>> result["g1"].category
'multi'