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).
Proposed rearranged scheme:
PR #243 is a work-in-progress PR for updating the CLI applications to move them to the new library modules.
The old modules have been reimplemented as wrappers to the new ones, but will be deprecated and removed in a future release.
The
bcftbxlibrary is currently a flat set of modules, some of which have grown to be quite unwieldy (in particularIlluminaData). Also the capitalization of some modules (e.g.IlluminaData,SolidDataetc) 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).
Proposed rearranged scheme:
SolidData, Experiment -> solid/-> PR Refactor SOLiD code into new module under 'platforms' #221IlluminaData -> illumina/-> PR Refactor Illumina code into new modules under 'platforms' #233FASTQFile -> io/fastq-> PR Refactor 'FASTQFile' into new 'io.fastq' module #242fasta -> io/fasta-> PR Refactor 'fasta' module into 'io.fasta' #244TabFile -> io/tabular-> PR Refactor 'bcftbx.TabFile' module into new module 'bcftbx.io.tabular' #241JobRunner -> jobs/runners-> PR Refactor 'JobRunner' module into 'jobs.runners' with updated job runner class names #235utils -> utils/PR Refactor 'utils' module into 'utils.*' submodules for improved organisation of functionality #239ngsutils, Md5sum, cmdparse-> utils/ PR Refactor 'utils'-like modules ('ngsutils', 'cmdparse', 'Md5sum') into submodules of 'utils' #240PR #243 is a work-in-progress PR for updating the CLI applications to move them to the new library modules.
The old modules have been reimplemented as wrappers to the new ones, but will be deprecated and removed in a future release.