Skip to content

Refactor 'bcftbx.TabFile' module into new module 'bcftbx.io.tabular' - #241

Merged
pjbriggs merged 7 commits into
develfrom
refactor-TabFile-into-io-tabular
Jun 16, 2026
Merged

Refactor 'bcftbx.TabFile' module into new module 'bcftbx.io.tabular'#241
pjbriggs merged 7 commits into
develfrom
refactor-TabFile-into-io-tabular

Conversation

@pjbriggs

@pjbriggs pjbriggs commented Jun 15, 2026

Copy link
Copy Markdown
Member

Reimplements the functionality from the bcftbx.TabFile module in a new module bcftbx.io.tabular.

The io.tabular module reimplements the TabFile and TabFileIterator classes with more pythonic names for methods; it also reimplements the legacy TabDataLine as a new TabLine class, which simplifies how data is supplied on initialisation.

The existing TabFile module has been retained as a "legacy" module and the classes within it now reimplemented as subclasses of those in tabular.

The platforms.illumina.samplesheet module has been updated to use the new io.tabular library.

Any legacy modules using the TabFile module have not been updated.

Part of changes to address issue #33.

pjbriggs added 5 commits June 16, 2026 13:49
…nd 'TabFileIterator'.

Reimplements internals of the 'TabFile' and 'TabFileIterator' classes to pass the creation of new TabFile and TabLine instances to an internal helper function.

Also removes the 'tab_data_line' argument from the 'TabFile' initialiser (so only TabLines are now supported).
@pjbriggs
pjbriggs merged commit cbb14f0 into devel Jun 16, 2026
11 checks passed
@pjbriggs
pjbriggs deleted the refactor-TabFile-into-io-tabular branch June 16, 2026 14:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant