Skip to content

Restructure biahub #52

@ieivanov

Description

@ieivanov

Here I'm suggesting a restructure of the biahub repo to make it easier to understand, browse, and contribute to.

Make code easier to find

biahub currently has roughly the following structure:

biahub/
    analysis/
        deskew.py
        deconvolve.py
        ...
    cli/
        deskew.py
        deconvolve.py
        stabilize.py
        main.py
        ...
    tests/

The analysis module is a remnant from shrimpy where we had acquisition and analysis modules. Currently, it's confusing and hard to know what functions go under analysis vs cli. I suggest removing the analysis and cli modules to achieve a structure like this:

biahub/
    deskew.py
    deconvolve.py
    stabilize.py
    cli.py
    ...
    tests/

The new deskew.py module will combine functions from analysis/deskew.py and cli/deskew.py and define a deskew_cli() function which will be imported in cli.py, which will have the following structure:

import click

from biahub.deskew import deskew_cli
...

@click.group()
def main()

main.add_command(deskew_cli)
...

Make example config files easier to find

Our example configs, which are essential to find for any new user and buried in

biahub/
    analysis/
        settings/
            example_deskew_settings.yml
            example_deconvolve_settings.yml (actually currently missing)
            ...

We should instead move them to

biahub/
    deskew.py
    deconvolve.py
    stabilize.py
    cli.py
    tests/
settings/
    example_deskew_settings.yml
    example_deconvolve_settings.yml

@mattersoflight @edyoshikun @talonchandler @ziw-liu Let me know what you think about this plan. It may be helpful to merge large open PRs before this restructure, but I don't think that should be a blocker.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions