I have carried out a series of enhancements and refactoring efforts in the YACHT project to boost its usability and maintainability. Following Python packaging standards in the structuring of YACHT will streamline its integration into Bioconda. I am prepared to assist with this process once branchwater is also accessible via conda-forge.
Below are the key changes:
.gitignore Updates:
Expanded the .gitignore to include a more comprehensive list of Python-specific, environment-specific, and common editor/IDE artifacts. This update ensures a cleaner repository state and avoids accidental commits of unnecessary files.
README.md Refinements:
Rewritten sections for clarity, conciseness, and readability.
Enhanced the "Quick Start" guide with more user-friendly instructions and added automated commands for tasks like downloading demo data and genome sketches.
Streamlined the installation instructions to differentiate between Conda and Mamba usage.
Improved the structure and presentation of the usage steps, providing a clearer pathway for new users.
Provided detailed instructions for both automatic and manual methods in different usage scenarios.
Added comprehensive explanations for parameters and their significance in the context of YACHT's operation.
New setup.py:
Introduced setup.py for easier package installation and management. This change facilitates the distribution and deployment of YACHT as a Python package, aligning with standard Python practices.
Removal of setup.sh:
Deprecated setup.sh in favor of setup.py to align with Python packaging standards. This enhances cross-platform compatibility and streamlines the installation process.
Refactoring and Modularization:
Moved scripts (make_training_data_from_sketches.py, run_YACHT.py, etc.) into the yacht module, promoting better organization and modular structure.
Renamed and reorganized utility scripts for consistency and ease of understanding. This includes renaming scripts and moving them into the yacht.srcs module.
Added versioning in __init__.py for better version control and package management.
Streamlined the entry points in setup.py for direct script execution, enhancing the user experience by simplifying command-line interactions.
New Features in Scripts:
Implemented new features in download_demofiles.py, download_genome_sketches.py, and download_pretrained_models.py for automated data fetching and processing, making it more convenient for users to set up and use YACHT.
These changes aim to make YACHT more accessible, easier to use, and maintain.
I have carried out a series of enhancements and refactoring efforts in the YACHT project to boost its usability and maintainability. Following Python packaging standards in the structuring of YACHT will streamline its integration into Bioconda. I am prepared to assist with this process once branchwater is also accessible via conda-forge.
Below are the key changes:
.gitignore
Updates:.gitignore
to include a more comprehensive list of Python-specific, environment-specific, and common editor/IDE artifacts. This update ensures a cleaner repository state and avoids accidental commits of unnecessary files.README.md
Refinements:New
setup.py
:setup.py
for easier package installation and management. This change facilitates the distribution and deployment of YACHT as a Python package, aligning with standard Python practices.Removal of
setup.sh
:setup.sh
in favor ofsetup.py
to align with Python packaging standards. This enhances cross-platform compatibility and streamlines the installation process.Refactoring and Modularization:
make_training_data_from_sketches.py
,run_YACHT.py
, etc.) into theyacht
module, promoting better organization and modular structure.yacht.srcs
module.__init__.py
for better version control and package management.setup.py
for direct script execution, enhancing the user experience by simplifying command-line interactions.New Features in Scripts:
download_demofiles.py
,download_genome_sketches.py
, anddownload_pretrained_models.py
for automated data fetching and processing, making it more convenient for users to set up and use YACHT.These changes aim to make YACHT more accessible, easier to use, and maintain.