pantherdb / pango

BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

PAN-GO Site and Data Pipeline

Introduction

This project streamlines the process of converting specific PAINT IBA release data into a JSON format that can be indexed into Elasticsearch. It comprises four main components: data conversion, data loading, API setup, and front-end site development. Below, you will find a high-level overview of each component, setup instructions, and links to detailed documentation for each part.

Prerequisites

Project Components

1. Data Conversion

The Data Conversion component converts data related to a specific PAINT IBA release into JSON files suitable for Elasticsearch. This includes extracting and structuring annotation data from GAF files, managing ontology with ROBOT tools, and preparing gene lists.

Key Operations:

For more detailed steps and usage instructions, visit Data Conversion README

2. Loader (Elasticsearch Loader)

The Loader component manages the loading of processed data into Elasticsearch, ensuring that the data is accurately indexed and efficiently stored. This involves fetching article metadata, preprocessing annotations, and handling the actual indexing into Elasticsearch.

Setup and Operation:

For more detailed setup and operational instructions, visit Loader README.

3. API (FastAPI with GraphQL)

The API component is powered by FastAPI and GraphQL, providing a robust interface for handling complex data interactions with Elasticsearch. It offers a high-performance, flexible API setup ideal for both development and production environments.

Setup and Operation:

For further details on setting up and running the API, refer to the API README.

4. Site (Angular Front-End)

An Angular-based front-end provides a user-friendly interface to interact with the data through web requests to the API.

Development Setup:

Front-end development guidelines and setup instructions are detailed at Site README.

Getting Started

To begin using this pipeline, ensure all prerequisites are installed. Then, clone this repository and follow the setup instructions in each component's detailed documentation:

   git clone https://github.com/pantherdb/pango
   cd pango