Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
87 changes: 87 additions & 0 deletions .codeboarding/CLI Interface.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
```mermaid

graph LR

CLI_Interface["CLI Interface"]

Gene_Transcript_Protein_API["Gene-Transcript-Protein API"]

Protein_Features_API["Protein Features API"]

CLI_Interface -- "invokes" --> Gene_Transcript_Protein_API

CLI_Interface -- "invokes" --> Protein_Features_API

```

[![CodeBoarding](https://img.shields.io/badge/Generated%20by-CodeBoarding-9cf?style=flat-square)](https://github.com/CodeBoarding/GeneratedOnBoardings)[![Demo](https://img.shields.io/badge/Try%20our-Demo-blue?style=flat-square)](https://www.codeboarding.org/demo)[![Contact](https://img.shields.io/badge/Contact%20us%20-%20contact@codeboarding.org-lightgrey?style=flat-square)](mailto:contact@codeboarding.org)



## Component Details



This system provides a command-line interface for interacting with two distinct APIs: one for retrieving gene-transcript-protein isoform structure data and another for fetching protein features. The CLI acts as the central entry point, parsing user commands and arguments, and subsequently invoking the appropriate API client function to retrieve and display the requested biological data.



### CLI Interface

Provides the command-line interface for the g2papi application, parsing user arguments and orchestrating calls to the G2P API Client based on the commands issued. It serves as the primary entry point for users to interact with the system.





**Related Classes/Methods**:



- <a href="https://github.com/broadinstitute/g2papi/blob/master/g2papi/cli.py#L4-L26" target="_blank" rel="noopener noreferrer">`g2papi.g2papi.cli.main` (4:26)</a>





### Gene-Transcript-Protein API

Responsible for interacting with an external service to retrieve gene-transcript-protein isoform structure data. It constructs the appropriate URL, makes an HTTP GET request, handles potential errors, and processes the response into a pandas DataFrame.





**Related Classes/Methods**:



- <a href="https://github.com/broadinstitute/g2papi/blob/master/g2papi/api.py#L7-L15" target="_blank" rel="noopener noreferrer">`g2papi.g2papi.api.get_gene_transcript_protein_isoform_structure` (7:15)</a>





### Protein Features API

Handles requests for protein feature data from an external service. It forms the request URL, performs an HTTP GET operation, checks for response errors, and converts the received data into a structured pandas DataFrame.





**Related Classes/Methods**:



- <a href="https://github.com/broadinstitute/g2papi/blob/master/g2papi/api.py#L18-L24" target="_blank" rel="noopener noreferrer">`g2papi.g2papi.api.get_protein_features` (18:24)</a>









### [FAQ](https://github.com/CodeBoarding/GeneratedOnBoardings/tree/main?tab=readme-ov-file#faq)
67 changes: 67 additions & 0 deletions .codeboarding/G2P API Client.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
```mermaid

graph LR

G2P_API_Client["G2P API Client"]

CLI_Interface["CLI Interface"]

CLI_Interface -- "invokes" --> G2P_API_Client

```

[![CodeBoarding](https://img.shields.io/badge/Generated%20by-CodeBoarding-9cf?style=flat-square)](https://github.com/CodeBoarding/GeneratedOnBoardings)[![Demo](https://img.shields.io/badge/Try%20our-Demo-blue?style=flat-square)](https://www.codeboarding.org/demo)[![Contact](https://img.shields.io/badge/Contact%20us%20-%20contact@codeboarding.org-lightgrey?style=flat-square)](mailto:contact@codeboarding.org)



## Component Details



This system provides a command-line interface for interacting with an external G2P API. The CLI component parses user input and dispatches requests to the G2P API Client, which handles the actual HTTP communication, data retrieval (gene, transcript, protein isoform structures, and protein features), and initial processing of the API responses.



### G2P API Client

Encapsulates the logic for interacting with an external G2P API. It handles making HTTP requests to retrieve gene, transcript, and protein isoform structures, as well as protein features, and processes the received data (e.g., CSV parsing).





**Related Classes/Methods**:



- <a href="https://github.com/broadinstitute/g2papi/blob/master/g2papi/api.py#L7-L15" target="_blank" rel="noopener noreferrer">`g2papi.g2papi.api.get_gene_transcript_protein_isoform_structure` (7:15)</a>

- <a href="https://github.com/broadinstitute/g2papi/blob/master/g2papi/api.py#L18-L24" target="_blank" rel="noopener noreferrer">`g2papi.g2papi.api.get_protein_features` (18:24)</a>





### CLI Interface

Provides a command-line entry point for the g2papi system. It parses user arguments, determines the requested operation, and dispatches the request to the G2P API Client functions. It also handles the output of the results to the console.





**Related Classes/Methods**:



- <a href="https://github.com/broadinstitute/g2papi/blob/master/g2papi/cli.py#L4-L26" target="_blank" rel="noopener noreferrer">`g2papi.g2papi.cli.main` (4:26)</a>









### [FAQ](https://github.com/CodeBoarding/GeneratedOnBoardings/tree/main?tab=readme-ov-file#faq)
71 changes: 71 additions & 0 deletions .codeboarding/on_boarding.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
```mermaid

graph LR

CLI_Interface["CLI Interface"]

G2P_API_Client["G2P API Client"]

CLI_Interface -- "invokes" --> G2P_API_Client

click CLI_Interface href "https://github.com/broadinstitute/g2papi/blob/main/.codeboarding//CLI Interface.md" "Details"

click G2P_API_Client href "https://github.com/broadinstitute/g2papi/blob/main/.codeboarding//G2P API Client.md" "Details"

```

[![CodeBoarding](https://img.shields.io/badge/Generated%20by-CodeBoarding-9cf?style=flat-square)](https://github.com/CodeBoarding/GeneratedOnBoardings)[![Demo](https://img.shields.io/badge/Try%20our-Demo-blue?style=flat-square)](https://www.codeboarding.org/demo)[![Contact](https://img.shields.io/badge/Contact%20us%20-%20contact@codeboarding.org-lightgrey?style=flat-square)](mailto:contact@codeboarding.org)



## Component Details



This architecture describes a command-line interface (CLI) application that interacts with an external G2P (Gene to Protein) API. The main flow involves the CLI parsing user commands and arguments, then invoking the appropriate functions within the G2P API Client to fetch and process biological data such as gene, transcript, and protein isoform structures, or protein features. The processed data is then typically outputted to the user.



### CLI Interface

Provides the command-line interface for the g2papi application, parsing user arguments and orchestrating calls to the G2P API Client based on the commands issued. It serves as the primary entry point for users to interact with the system.





**Related Classes/Methods**:



- <a href="https://github.com/broadinstitute/g2papi/blob/master/g2papi/cli.py#L4-L26" target="_blank" rel="noopener noreferrer">`g2papi.g2papi.cli.main` (4:26)</a>





### G2P API Client

Encapsulates the logic for interacting with an external G2P API. It handles making HTTP requests to retrieve gene, transcript, and protein isoform structures, as well as protein features, and processes the received data (e.g., CSV parsing).





**Related Classes/Methods**:



- <a href="https://github.com/broadinstitute/g2papi/blob/master/g2papi/api.py#L7-L15" target="_blank" rel="noopener noreferrer">`g2papi.g2papi.api.get_gene_transcript_protein_isoform_structure` (7:15)</a>

- <a href="https://github.com/broadinstitute/g2papi/blob/master/g2papi/api.py#L18-L24" target="_blank" rel="noopener noreferrer">`g2papi.g2papi.api.get_protein_features` (18:24)</a>









### [FAQ](https://github.com/CodeBoarding/GeneratedOnBoardings/tree/main?tab=readme-ov-file#faq)