Skip to content

sanctuuary/restape

RestAPE Logo

RestAPE Logo

Badges
Fairness fair-software.eu OpenSSF Best Practices
Packages and Releases Latest release Static Badge
Build Status build CodeQL
Documentation Documentation Status
DOI DOI
License GitHub license

The RESTful API for the APE library (RESTful APE) allows users to interact with APE's automated pipeline exploration features through HTTP requests. APE automates the exploration of computational pipelines from large collections of computational tools.

Users can submit pipeline exploration requests to the APE server and receive results in JSON format. This interface allows interaction with APE via web browsers or any HTTP client and can be integrated into other applications.

In addition to APE's core feature of automated workflow composition, the API performs design-time benchmarking of workflows by aggregating tool-specific information such as licenses and citations for better workflow comparison.

RESTful APE is packaged in a Docker image.

Overall, the RESTful API for APE provides a flexible way to leverage APE's capabilities in scientific workflows.

Development

RESTful API for the APE library, based on Spring Boot.

To run the Spring Boot directly, you can run the following cmd:

mvn spring-boot:run

Alternatively, you can build the jar package

mvn clean package

and then run the jar package

java -jar target/restape-[version].jar

OpenAPI documentation is available at

[host]:[port]]/swagger-ui/index.html

Configure .env file

To configure the application, you can create a .env file in the root directory of the project. See the following content as an example:

REST_APE_PORT = 4444
PUBMETRIC_ENDPOINT= localhost
PUBMETRIC_PORT = 8000

We use REST_APE_PORT to specify the port on which the application will run. When run locally under REST_APE_PORT=4444 the service would be available on localhost:4444. The PUBMETRIC_ENDPOINT and PUBMETRIC_PORT are used to specify the endpoint and port of the Pubmetric service that is used to retrieve tool metrics.

Use local APE version

If the APE version you wish to use is not available on the Mvn repository you can install APE in your local repository and use it to build the back-end. To do so, download or compile the APE version you wish to use. In the location where you have the resulting APE.jar file, run the following command:

mvn install:install-file -Dfile=APE-<version>.jar

This adds the specified APE file to your local Maven repository. You can now build the back-end using:

mvn package -DskipTests=true