Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor bcftbx library to reorganise modules into subdirectories #33

Open
pjbriggs opened this issue Nov 2, 2016 · 2 comments
Open

Comments

@pjbriggs
Copy link
Member

pjbriggs commented Nov 2, 2016

The bcftbx library is currently a flat set of modules, some of which have grown to be quite unwieldy (in particular IlluminaData). Also the capitalization of some modules (e.g. IlluminaData, SolidData etc) does not follow accepted module naming conventions.

This issue proposes reorganising the library modules into subdirectories and in some cases maybe splitting them, to make it easier to navigate in future.

There are various issues, the most significant being that this has the potential to introduce new bugs and will almost definitely break external applications which depend on these libraries (for example auto_process_ngs, GFFUtils etc).

Possible rearranged scheme:

  • SolidData, Experiment -> solid/
  • IlluminaData -> illumina/
  • FASTQFile, TabFile -> files/
  • JobRunner, Pipeline -> jobs/
  • SpreadSheet, simple_xls -> xls/
  • utils, Md5sum -> utils/
  • htmlpagewriter -> html/

Thoughts:

  • Might it be possible to use symlinks for the first round of refactoring, to try and manage breakages?
  • Could pull in GFFFile and GTFFile modules from GFFUtils?
  • Could move code from Python programs into new libraries? (e.g.
@pjbriggs
Copy link
Member Author

Consider using the warnings module to indicate deprecation: https://python.readthedocs.io/en/stable/library/warnings.html

See also https://pymotw.com/2/warnings/

@pjbriggs
Copy link
Member Author

pjbriggs commented Dec 5, 2024

PR #221 is a first round of refactoring the SOLiD code from bcftbx.SolidData into a new module platforms.solid.data.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant