graph LR
User_Interface_CLI_["User Interface (CLI)"]
SRAgent_cli___main__["SRAgent.cli.__main__"]
SRAgent_cli_utils["SRAgent.cli.utils"]
SRAgent_cli_entrez["SRAgent.cli.entrez"]
SRAgent_cli_find_datasets["SRAgent.cli.find_datasets"]
SRAgent_cli_metadata["SRAgent.cli.metadata"]
SRAgent_cli_sragent["SRAgent.cli.sragent"]
SRAgent_cli_srx_info["SRAgent.cli.srx_info"]
SRAgent_cli_tissue_ontology["SRAgent.cli.tissue_ontology"]
User_Interface_CLI_ -- "contains" --> SRAgent_cli___main__
User_Interface_CLI_ -- "contains" --> SRAgent_cli_utils
SRAgent_cli___main__ -- "orchestrates calls to" --> SRAgent_cli_entrez
SRAgent_cli___main__ -- "orchestrates calls to" --> SRAgent_cli_find_datasets
SRAgent_cli___main__ -- "orchestrates calls to" --> SRAgent_cli_metadata
SRAgent_cli___main__ -- "orchestrates calls to" --> SRAgent_cli_sragent
SRAgent_cli___main__ -- "orchestrates calls to" --> SRAgent_cli_srx_info
SRAgent_cli___main__ -- "orchestrates calls to" --> SRAgent_cli_tissue_ontology
SRAgent_cli_utils -- "provides utilities to" --> SRAgent_cli_entrez
SRAgent_cli_utils -- "provides utilities to" --> SRAgent_cli_find_datasets
SRAgent_cli_utils -- "provides utilities to" --> SRAgent_cli_metadata
SRAgent_cli_utils -- "provides utilities to" --> SRAgent_cli_sragent
SRAgent_cli_utils -- "provides utilities to" --> SRAgent_cli_srx_info
SRAgent_cli_utils -- "provides utilities to" --> SRAgent_cli_tissue_ontology
SRAgent_cli_entrez -- "utilizes" --> SRAgent_cli_utils
SRAgent_cli_entrez -- "initiates" --> Entrez_Agent
SRAgent_cli_find_datasets -- "utilizes" --> SRAgent_cli_utils
SRAgent_cli_find_datasets -- "initiates" --> SRAgent_workflows_find_datasets
SRAgent_cli_metadata -- "utilizes" --> SRAgent_cli_utils
SRAgent_cli_metadata -- "initiates" --> SRAgent_workflows_metadata
SRAgent_cli_sragent -- "utilizes" --> SRAgent_cli_utils
SRAgent_cli_sragent -- "initiates" --> SRAgent_Agent
SRAgent_cli_srx_info -- "utilizes" --> SRAgent_cli_utils
SRAgent_cli_srx_info -- "initiates" --> SRAgent_workflows_srx_info
SRAgent_cli_srx_info -- "interacts with" --> SRAgent_db
SRAgent_cli_tissue_ontology -- "utilizes" --> SRAgent_cli_utils
SRAgent_cli_tissue_ontology -- "initiates" --> SRAgent_workflows_tissue_ontology
click User_Interface_CLI_ href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/SRAgent/User_Interface_CLI_.md" "Details"
The User Interface (CLI) subsystem serves as the primary interactive gateway for users to engage with the SRAgent system. It is meticulously designed to parse user commands, validate inputs, and subsequently trigger the appropriate bioinformatics data curation and retrieval workflows. This component embodies the Command Line Interface (CLI) Application architectural pattern, providing a robust and user-friendly command-line experience.
User Interface (CLI) [Expand]
The overarching component that provides the interactive command-line experience. It is responsible for the overall structure and flow of user interactions, encompassing all sub-commands and utilities.
Related Classes/Methods:
SRAgent.cli(1:1)
This is the core entry point of the CLI application. It is responsible for setting up the command-line argument parser, defining the available top-level commands, and dispatching control to the relevant command-specific modules based on user input. It acts as the central orchestrator for all CLI interactions.
Related Classes/Methods:
This module provides a collection of common utility functions that are leveraged by various command-specific modules within the SRAgent.cli package. These utilities include functions for argument parsing, input validation, output formatting, and other helper functionalities that promote code reusability and consistency across the CLI.
Related Classes/Methods:
Encapsulates the logic for handling Entrez-specific user commands. It parses arguments relevant to Entrez operations, performs necessary input validation, and initiates the corresponding Entrez Agent or related workflows to interact with the Entrez database.
Related Classes/Methods:
Manages commands for discovering and retrieving datasets. It parses arguments, validates input, and initiates the Find-datasets Agent or the SRAgent.workflows.find_datasets workflow to fulfill the user's request.
Related Classes/Methods:
Handles commands related to metadata curation and retrieval. It parses arguments, validates input, and initiates the Metadata Agent or the SRAgent.workflows.metadata workflow to process metadata-related queries.
Related Classes/Methods:
Encapsulates the logic for general SRAgent commands that might not fall under specific categories like Entrez or SRX info. It parses arguments, validates input, and initiates the core SRAgent Agent or related workflows.
Related Classes/Methods:
Manages commands for retrieving detailed information about SRX (SRA Experiment) accessions. It parses arguments, validates input, and initiates the SRX-info Agent or the SRAgent.workflows.srx_info workflow, potentially interacting with the database for data retrieval.
Related Classes/Methods:
Handles commands related to tissue ontology, likely for mapping or querying tissue-specific data. It parses arguments, validates input, and initiates the Tissue-ontology Agent or the SRAgent.workflows.tissue_ontology workflow.
Related Classes/Methods: