Skip to content

Latest commit

 

History

History
127 lines (91 loc) · 12 KB

File metadata and controls

127 lines (91 loc) · 12 KB
graph LR
    CLI_Interface["CLI Interface"]
    Component_Lifecycle_Management["Component Lifecycle Management"]
    Pipeline_Management_Schema["Pipeline Management & Schema"]
    Repository_Sync_Services["Repository & Sync Services"]
    Core_Utilities_Configuration["Core Utilities & Configuration"]
    Test_Data_Management["Test Data Management"]
    CLI_Interface -- "calls" --> Component_Lifecycle_Management
    CLI_Interface -- "calls" --> Pipeline_Management_Schema
    CLI_Interface -- "calls" --> Test_Data_Management
    CLI_Interface -- "utilizes" --> Core_Utilities_Configuration
    Component_Lifecycle_Management -- "utilizes" --> Repository_Sync_Services
    Component_Lifecycle_Management -- "utilizes" --> Core_Utilities_Configuration
    Pipeline_Management_Schema -- "utilizes" --> Repository_Sync_Services
    Pipeline_Management_Schema -- "utilizes" --> Core_Utilities_Configuration
    Repository_Sync_Services -- "relies on" --> Core_Utilities_Configuration
    Test_Data_Management -- "utilizes" --> Core_Utilities_Configuration
    click CLI_Interface href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/tools/CLI_Interface.md" "Details"
    click Pipeline_Management_Schema href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/tools/Pipeline_Management_Schema.md" "Details"
    click Repository_Sync_Services href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/tools/Repository_Sync_Services.md" "Details"
    click Core_Utilities_Configuration href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/tools/Core_Utilities_Configuration.md" "Details"
    click Test_Data_Management href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/tools/Test_Data_Management.md" "Details"
Loading

CodeBoardingDemoContact

Details

The tools project, functioning as a CLI Application, SDK/Framework Helper Tool, and Developer Tool, exhibits a modular and layered architecture. The core components are designed to manage Nextflow pipelines and reusable components (modules and subworkflows), with clear separation between the user interface, domain logic, and underlying utility services.

CLI Interface [Expand]

The primary user interaction layer, responsible for parsing command-line arguments and dispatching requests to the appropriate application logic. It acts as the presentation layer, translating user commands into calls to the core functionalities.

Related Classes/Methods:

Component Lifecycle Management

Manages the full lifecycle of reusable Nextflow components (modules and subworkflows), including creation, installation, updating, removal, listing, information retrieval, patching, version bumping, and linting. It provides a unified interface for managing these workflow building blocks.

Related Classes/Methods:

Pipeline Management & Schema [Expand]

Handles the complete lifecycle of Nextflow pipelines, encompassing creation, version bumping, linting, downloading, parameter file generation, launching, listing, RO-Crate generation, and synchronization. It also includes the definition, validation, building, and documentation of pipeline schemas to ensure parameter adherence.

Related Classes/Methods:

Repository & Sync Services [Expand]

Provides core functionalities for interacting with Git repositories, including cloning, checking out branches/commits, and managing local repository states. It also encapsulates the synchronization logic for keeping local repositories up-to-date with remote sources.

Related Classes/Methods:

Core Utilities & Configuration [Expand]

A foundational layer offering general-purpose utility functions, including file I/O operations, loading and managing application configurations (YAML/JSON), interacting with the GitHub API, executing external commands, and other common helper functions used across the application.

Related Classes/Methods:

Test Data Management [Expand]

Facilitates the listing, searching, and potentially downloading of test datasets required for pipeline and component testing. It primarily interacts with remote GitHub repositories to retrieve dataset information and download URLs.

Related Classes/Methods: