TableTrack¶
A Track for key-value numeric data (counts, expression, scores). Not
coordinate-based — signal_at() always returns 0.0 and regions()
always yields nothing. Data is accessed via get() and keys().
TableTrack
¶
A Track for key-value numeric data (counts, expression, scores).
Not coordinate-based — signal_at() always returns 0.0 and
regions() always yields nothing. Data is accessed via
get() and keys().
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
source
|
Any
|
Named source with a |
required |
data
|
dict[str, float]
|
Dict mapping string keys to float values. |
required |
Examples:
Source code in src/seqchain/track.py
signal_at
¶
Always returns 0.0 — TableTrack has no coordinate data.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
chrom
|
str
|
Chromosome name (unused). |
required |
start
|
int
|
Window start (unused). |
required |
end
|
int
|
Window end (unused). |
required |
Returns:
| Type | Description |
|---|---|
float
|
|
Source code in src/seqchain/track.py
regions
¶
Always yields nothing — TableTrack has no coordinate data.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
chrom
|
str
|
Chromosome name (unused). |
required |
start
|
int
|
Window start (unused). |
required |
end
|
int
|
Window end (unused). |
required |
Returns:
| Type | Description |
|---|---|
Iterator[Region]
|
Empty iterator. |
Source code in src/seqchain/track.py
get
¶
Look up a value by key.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
key
|
str
|
The key to look up. |
required |
default
|
float
|
Value to return if key is missing. Defaults to |
0.0
|
Returns:
| Type | Description |
|---|---|
float
|
The stored float value, or default. |
Examples:
Source code in src/seqchain/track.py
keys
¶
Return all keys in the table.
Returns:
| Type | Description |
|---|---|
list[str]
|
List of key strings. |
Examples:
Source code in src/seqchain/track.py
__len__
¶
map_scores
¶
Return a new TableTrack with fn applied to every value.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
fn
|
Callable[[float], float]
|
A function that maps a float value to a new float value. |
required |
Returns:
| Type | Description |
|---|---|
'TableTrack'
|
A new TableTrack with transformed values. |
Examples:
>>> t = TableTrack(TrackLabel("t"), {"a": 2.0})
>>> t2 = t.map_scores(lambda s: s + 1)
>>> t2.get("a")
3.0
Source code in src/seqchain/track.py
filter_entries
¶
Return a new TableTrack keeping only entries where fn(value) is true.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
fn
|
Callable[[float], bool]
|
Predicate on the value. |
required |
Returns:
| Type | Description |
|---|---|
'TableTrack'
|
A new TableTrack with only matching entries. |
Examples:
>>> t = TableTrack(TrackLabel("t"), {"a": 5.0, "b": 1.0})
>>> t2 = t.filter_entries(lambda s: s > 3.0)
>>> t2.keys()
['a']
Source code in src/seqchain/track.py
shared_keys
¶
Return keys present in both tables, sorted.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
other
|
'TableTrack'
|
Another TableTrack to intersect with. |
required |
Returns:
| Type | Description |
|---|---|
list[str]
|
Sorted list of shared keys. |
Examples:
>>> a = TableTrack(TrackLabel("a"), {"x": 1.0, "y": 2.0, "z": 3.0})
>>> b = TableTrack(TrackLabel("b"), {"y": 10.0, "z": 20.0, "w": 30.0})
>>> a.shared_keys(b)
['y', 'z']
Source code in src/seqchain/track.py
scores
¶
Iterate over all values in entry order.
Returns:
| Type | Description |
|---|---|
Iterator[float]
|
Iterator of float values. |
Examples:
Source code in src/seqchain/track.py
with_scores
¶
Rebuild the TableTrack with new values in entry order.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
scores
|
Sequence[float]
|
New values, one per key. |
required |
Returns:
| Type | Description |
|---|---|
'TableTrack'
|
A new TableTrack with replaced values. |
Raises:
| Type | Description |
|---|---|
ValueError
|
If length does not match. |
Examples:
>>> t = TableTrack(TrackLabel("t"), {"a": 1.0, "b": 2.0})
>>> t2 = t.with_scores([10.0, 20.0])
>>> t2.get("a")
10.0