Track protocol¶
Runtime-checkable protocol that all track containers satisfy. Every Track
has a name and supports signal_at(), regions(), map_scores(),
filter_entries(), scores(), and with_scores().
Track
¶
Bases: Protocol
Protocol that all track containers satisfy.
Every Track has a name and supports two query methods:
signal_at() for numeric values over a genomic window, and
regions() for region-based overlap queries.
Examples:
signal_at
¶
Return a numeric signal over a genomic window.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
chrom
|
str
|
Chromosome name. |
required |
start
|
int
|
Window start (inclusive). |
required |
end
|
int
|
Window end (exclusive). |
required |
Returns:
| Type | Description |
|---|---|
float
|
A float signal value. |
Source code in src/seqchain/track.py
regions
¶
Yield regions overlapping a genomic window.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
chrom
|
str
|
Chromosome name. |
required |
start
|
int
|
Window start (inclusive). |
required |
end
|
int
|
Window end (exclusive). |
required |
Returns:
| Type | Description |
|---|---|
Iterator[Region]
|
Iterator of overlapping |
Source code in src/seqchain/track.py
map_scores
¶
Return a new Track with fn applied to every score.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
fn
|
Callable[[float], float]
|
A function that maps a float score to a new float score. |
required |
Returns:
| Type | Description |
|---|---|
'Track'
|
A new Track of the same type with transformed scores. |
Source code in src/seqchain/track.py
filter_entries
¶
Return a new Track keeping only entries where fn(score) is true.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
fn
|
Callable[[float], bool]
|
Predicate on the score. |
required |
Returns:
| Type | Description |
|---|---|
'Track'
|
A new Track of the same type with only matching entries. |
Source code in src/seqchain/track.py
scores
¶
with_scores
¶
Rebuild the Track with new scores in entry order.
Length of scores must match the number of entries.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
scores
|
Sequence[float]
|
New score values, one per entry. |
required |
Returns:
| Type | Description |
|---|---|
'Track'
|
A new Track of the same type with replaced scores. |
Raises:
| Type | Description |
|---|---|
ValueError
|
If length does not match. |