Skip to content

tskit.load_text creates an extra population #1909

@hyanwong

Description

@hyanwong

When I provide metadata for a single population in text format to tskit.load_text, it creates an additional population id 0 with no metadata:

import io
import tskit

nodes = """\
is_sample   time    population
1           0       0
1           0       0
0           1.0     -1
"""
edges = """\
left    right   parent  child
0       10      2       0
0       10      2       1
"""
populations = """\
metadata
some_metadata
"""
ts = tskit.load_text(
    nodes=io.StringIO(nodes),
    edges=io.StringIO(edges),
    populations=io.StringIO(populations),
    strict=False,
    base64_metadata=False,
)

print(ts.num_populations)
print(ts.tables.populations)

gives

2
╔══╤════════════════╗
║id│metadata        ║
╠══╪════════════════╣
║0 │             b''║
║1 │b'some_metadata'║
╚══╧════════════════╝

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions