- ASPIRE (Analytic Software Pipeline Interface for Reproducible Execution)
- Authoring
- How to contribute
- Links of interest to manage R and Python dependencies for the analyses
- References
Table of contents generated with markdown-toc
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.
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.
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.
To deploy the Docker container, you must follow these steps:
- Clone or download the repository from GitHub to your local machine.
- Open a terminal and navigate to the repository folder.
- Copy the project's folder structure obtained from Common Data Model Builder into the projects folder.
- Modify the env.yaml file, adding the dependencies that your project needs to run correctly.
- 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. - 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).
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:
- On the main screen, you will see an animation of the steps to follow to execute a project.
- 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. - 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. - 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.
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 Javier González-Galindo , with the colaboration of Francisco Estupiñán-Romero, and Santiago Royo-Sierra , under the supervision and coordination of Enrique Bernal-Delgado (PI).
- Repository: https://github.com/cienciadedatosysalud/ASPIRE/
- Issue tracker: https://github.com/cienciadedatosysalud/ASPIRE/issues
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.
- Micromamba: https://mamba.readthedocs.io/en/latest/user_guide/micromamba.html
- Manage Dependencies with the deps R Package: https://hosting.analythium.io/manage-dependencies-with-the-deps-r-package-for-docker-containers/
- Package 'deps': https://cran.r-project.org/web/packages/deps/deps.pdf
- Common Data Model Builder: https://github.com/cienciadedatosysalud/cdmb