graph LR
Test_Dataset_CLI_Interface["Test Dataset CLI Interface"]
Test_Dataset_Core_Logic["Test Dataset Core Logic"]
GitHub_API_Client["GitHub API Client"]
Application_Configuration["Application Configuration"]
Shared_Utilities["Shared Utilities"]
Test_Dataset_CLI_Interface -- "uses" --> Test_Dataset_Core_Logic
Test_Dataset_CLI_Interface -- "uses" --> Shared_Utilities
Test_Dataset_Core_Logic -- "uses" --> GitHub_API_Client
Test_Dataset_Core_Logic -- "uses" --> Application_Configuration
Test_Dataset_Core_Logic -- "uses" --> Shared_Utilities
This subsystem 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.
This component serves as the user-facing interface for the test data management subsystem. It provides the command-line entry points for listing and searching available test datasets, translating user commands into calls to the core logic. It embodies the Command Pattern by encapsulating user actions into distinct commands.
Related Classes/Methods:
This is the central application logic component for test data management. It encapsulates the business rules and data access mechanisms for interacting with remote GitHub repositories. Its responsibilities include constructing GitHub API requests, parsing responses, and extracting relevant information about test datasets (e.g., branches, file lists, download URLs). This component represents the core domain logic of the subsystem.
Related Classes/Methods:
This shared infrastructure component provides a robust and centralized mechanism for authenticating and managing HTTP requests to the GitHub API. It handles API tokens, rate limiting, and general network communication, ensuring efficient and authorized access to GitHub resources. It acts as a dedicated External API Integration layer.
Related Classes/Methods:
This shared infrastructure component is responsible for loading, parsing, and providing access to various YAML-based configurations used across the nf-core project. It ensures that the application can dynamically adapt its behavior based on predefined settings and user preferences, supporting a Configuration-driven Design.
Related Classes/Methods:
nf_core.utils.NFCoreYamlConfig(1:999999)nf_core.utils.NFCoreTemplateConfig(1:999999)nf_core.utils.NFCoreYamlLintConfig(1:999999)
This broad, shared infrastructure component encompasses a collection of common utility functions and helper methods that are widely used across the entire nf-core project. This includes functionalities like file system operations, path resolution, logging, string manipulation, and general data processing. It promotes code reusability across different components.
Related Classes/Methods: