The Amissense Tool analyzes and visualizes AlphaMissense pathogenicity scores, integrating AlphaFold structures and ClinVar data. It offers automated pipelines, visualizations, and versatile command-line utilities.
MIT License
0
stars
0
forks
source link
Convert script to CLI tool for better usability and integration #12
This pull request transforms the existing script into a comprehensive command-line interface (CLI) tool, significantly enhancing usability and integration into larger pipelines. Key improvements include:
CLI Implementation: The tool now supports command-line arguments with well-structured subcommands for running the full pipeline, fetching ClinVar data, downloading PDB files, querying UniProt, and generating JSON files from TSV data.
Project Structure Overhaul: The project structure has been refactored for better organization, with a modular approach that reflects the new CLI functionality.
Configuration Management: A config.json file has been introduced for flexible and centralized configuration management, allowing users to adjust settings like logging levels, file paths, and API URLs.
Logging: Replaced all print statements with Python's logging module, improving error tracking, debugging capabilities, and control over log output. The configuration is now dynamically controlled via the config.json.
Redundancy Reduction (DRY Principle): Refactored redundant code by extracting common functionality into shared utility functions, significantly improving code maintainability.
License Addition: Added an open-source MIT License to the repository, ensuring proper usage and distribution of the codebase.
Package Setup: Addressed issues in the setup.py to ensure proper installation of the package, and updated .gitignore to exclude unnecessary files.
Enhancements:
Improved modularity, maintainability, and usability.
Centralized configuration for streamlined control.
Better error handling and logging integration.
Reduced code duplication, adhering to DRY principles.
Fixes & Enhancements:
Fixes #10: Convert to CLI.
Fixes #1: Refactor Configuration Management.
Fixes #4: Refactor Logging.
Fixes #11: Add License.
Fixes #2: Remove Redundancy (DRY Programming).
Fixes #9: Create setup.py.
Fixes #5: Add Semantic Versioning.
Fixes #3: Shared Utilities Module.
See the included commit history in the attached screenshot and the current issues in the second screenshot.
Pull Request Overview:
This pull request transforms the existing script into a comprehensive command-line interface (CLI) tool, significantly enhancing usability and integration into larger pipelines. Key improvements include:
config.json
file has been introduced for flexible and centralized configuration management, allowing users to adjust settings like logging levels, file paths, and API URLs.logging
module, improving error tracking, debugging capabilities, and control over log output. The configuration is now dynamically controlled via theconfig.json
.setup.py
to ensure proper installation of the package, and updated.gitignore
to exclude unnecessary files.Enhancements:
Fixes & Enhancements:
See the included commit history in the attached screenshot and the current issues in the second screenshot.