/aspire

ASPIRE (Analytic Software Pipeline Interface for Reproducible Execution):

Primary LanguageSvelteOtherNOASSERTION

Logo of the project

Table of contents generated with markdown-toc

ASPIRE (Analytic Software Pipeline Interface for Reproducible Execution)

ASPIRE is a tool that allows you to containerize real life data analysis pipelines developed in Python or R in a simple, standardized and transparent way to enable reproducibility and ease of deployment in a federated approach. These projects follow the structure build using the Common Data Model Builder, a tool that allows you to create common data models to facilitate interoperability and reproducibility of the analyses.

ASPIRE Structure

The repository contains the following folders:

gui_aspire: Graphical interface developed in Svelte, a JavaScript framework that allows you to create interactive and dynamic web applications.

api_aspire: The API developed with FastAPI, a Python framework that allows you to create high-performance and easy-to-document RESTful APIs. The API handles the user interactions with the graphical interface and the deployed projects.

projects: Folder where the projects you want to deploy in the application are stored. Each project must have its own subfolder with the project name and contain the files and folders necessary for its execution.

Requirements/Dependencies

To run the Docker container, you need to have Docker and Docker Compose installed on your machine. In addition, you must ensure that the container has installed the minimum dependencies for its operation. These dependencies are specified in the env.yaml file of the repository.

You should also keep in mind that each project may have its own dependencies, such as libraries or packages specific to data analysis. These dependencies should be indicated in the env.yaml file or, failing that, in the Dockerfile. Any incompatibility issues between packages and versions will stop building the image.

How to deploy it

To deploy the Docker container, you must follow these steps:

  1. Clone or download the repository from GitHub to your local machine.
  2. Open a terminal and navigate to the repository folder.
  3. Copy the project's folder structure obtained from Common Data Model Builder into the projects folder.
  4. Modify the env.yaml file, adding the dependencies that your project needs to run correctly.
  5. Run the command docker-compose up in the Terminal to build and run the container.Wait for the container to be ready after installing all the dependencies correctly.
  6. Open a web browser and access the address http://<APP_HOST>:<APP_PORT> to see the graphical user interface of the application (by default http://localhost:3000).

How to use the application

The application allows you to view and execute the data analysis projects that you have previously imported. To use the application, you must follow these steps:

  1. On the main screen, you will see an animation of the steps to follow to execute a project.
  2. MAP DATA: Select the project you want to map data to and select csv files. When everything is ready, click on MAP AND CHECK YOUR DATA button and wait for process to finish. Check output logs to verify that everything has been executed correctly.
  3. RUN ANALYSIS: Select project from which you want to run analysis. Next select, from list of scripts found, main script of your analysis, in case of having dependent files among them. Finish by clicking on RUN ANALYSIS button and check that everything has been executed correctly.
  4. OUTPUTS: In this section you will be able to see and download, for all projects loaded in application, different output files for every process executed within ASPIRE tool, such as logs, html reports, csv aggregated outputs, etc.

Authoring

ASPIRE has been developed by the Data Science for Health Services and Policy research group in the Institute for Health Sciences in Aragón (IACS).

Lead by orcid Javier González-Galindo , with the colaboration of orcid Francisco Estupiñán-Romero, and orcid Santiago Royo-Sierra , under the supervision and coordination of orcid Enrique Bernal-Delgado (PI).

How to contribute

Translate ASPIRE to your language

ASPIRE uses i18n for Svelte for internationalization.

Currently ASPIRE supports English (by default) and Spanish. Language selection is based on the default language set in your browser.

You can contribute adding another language by downloading the en.json file, modify the json file without changing the value of the keys and changing each value to your language. It is important to respect all punctuation marks and escape characters.

Save the translated .json file as <your_language_code>.json. "your_language_code" must follow the ISO 639-1 standard.

Make a pull request to add your language.

Links of interest to manage R and Python dependencies for the analyses

References

DOI License: CC-BY-NC 4.0