Skip to content

Latest commit

 

History

History
126 lines (80 loc) · 8.88 KB

File metadata and controls

126 lines (80 loc) · 8.88 KB
graph LR
    CLI_Interface["CLI Interface"]
    Command_Dispatcher_Modules["Command Dispatcher Modules"]
    Module_Management_Commands["Module Management Commands"]
    Pipeline_Management_Commands["Pipeline Management Commands"]
    Subworkflow_Management_Commands["Subworkflow Management Commands"]
    Component_Command_Base["Component Command Base"]
    Utility_Functions["Utility Functions"]
    Synchronized_Repository["Synchronized Repository"]
    CLI_Interface -- "delegates command handling to" --> Command_Dispatcher_Modules
    Command_Dispatcher_Modules -- "dispatches requests to" --> Module_Management_Commands
    Command_Dispatcher_Modules -- "dispatches requests to" --> Pipeline_Management_Commands
    Command_Dispatcher_Modules -- "dispatches requests to" --> Subworkflow_Management_Commands
    Module_Management_Commands -- "inherits from" --> Component_Command_Base
    Subworkflow_Management_Commands -- "inherits from" --> Component_Command_Base
    Module_Management_Commands -- "interacts with" --> Synchronized_Repository
    Pipeline_Management_Commands -- "interacts with" --> Synchronized_Repository
    Module_Management_Commands -- "utilizes" --> Utility_Functions
    Pipeline_Management_Commands -- "utilizes" --> Utility_Functions
    Subworkflow_Management_Commands -- "utilizes" --> Utility_Functions
    CLI_Interface -- "utilizes" --> Utility_Functions
    click CLI_Interface href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/tools/CLI_Interface.md" "Details"
Loading

CodeBoardingDemoContact

Details

Abstract Components Overview of the nf-core tool.

CLI Interface [Expand]

This is the entry point of the application, responsible for parsing command-line arguments and dispatching them to the appropriate command handlers. It acts as the presentation layer, translating user input into actionable requests.

Related Classes/Methods:

Command Dispatcher Modules

This component represents the collection of modules responsible for defining and dispatching specific nf-core commands. The CLI Interface uses these modules to map command-line arguments to the appropriate execution logic for modules, pipelines, and subworkflows.

Related Classes/Methods:

Module Management Commands

This component encompasses specific command implementations for managing nf-core modules, such as creation, installation, linting, listing, patching, and updating. These command classes inherit from Component Command Base or its specialized subclasses.

Related Classes/Methods:

Pipeline Management Commands

This component handles specific command implementations for operations related to nf-core pipelines, such as creation, downloading, linting, and schema validation. Unlike module and subworkflow commands, these commands do not directly inherit from Component Command Base.

Related Classes/Methods:

Subworkflow Management Commands

Similar to module management, this component focuses on specific command implementations for the creation, installation, linting, listing, patching, and updating of nf-core subworkflows. These command classes inherit from Component Command Base or its specialized subclasses.

Related Classes/Methods:

Component Command Base

This is a foundational class (ComponentCommand) providing shared logic and utilities specifically for managing nf-core components (modules and subworkflows). It implements common operations and interactions with the repository structure.

Related Classes/Methods:

Utility Functions

This component provides a collection of general-purpose utility functions used across various parts of the nf-core tool, such as file I/O, GitHub API interactions, and configuration handling.

Related Classes/Methods:

Synchronized Repository

This component handles the synchronization and management of local copies of remote nf-core repositories (e.g., for modules or pipelines).

Related Classes/Methods: