Giter VIP home page Giter VIP logo

protes's Introduction

proTES

Apache License Build Status

Synopsis

[Flask] microservice implementing the [Global Alliance for Genomics and Health] (GA4GH) [Task Execution Service] (TES) API specification for injecting middleware (such as task distribution) logic into TES requests.

Description

proTES is a proxy-like implementation of the [GA4GH TES OpenAPI specification] based on [Flask] and [Connexion] built for distributing TES tasks over different TES service instances and injecting other middleware into TES requests.

proTES is part of [ELIXIR Cloud & AAI], a multinational effort at establishing and implementing FAIR data sharing and promoting reproducible data analyses and responsible data handling in the Life Sciences.

Installation

For production-grade [Kubernetes]-based deployment, see separate instructions. For testing/development purposes, you can use the instructions described below.

Requirements

Ensure you have the following software installed:

  • [Docker] (18.06.1-ce, build e68fc7a)
  • [docker-compose] (1.22.0, build f46880fe)
  • [Git] (1.8.3.1)

Note: These indicated versions are those that were used for developing/testing. Other versions may or may not work.

Prerequisites

Create data directory and required subdiretories

export PROTES_DATA_DIR=/path/to/data/directory
mkdir -p $PROTES_DATA_DIR/{db,specs}

Note: If the PROTES_DATA_DIR environment variable is not set, proTES will require the following default directories to be available:

  • ../data/pro_tes/db
  • ../data/pro_tes/specs

Clone repository

git clone https://github.com/elixir-europe/proTES.git

Traverse to app directory

cd proTES

Configure (optional)

The following user-configurable files are available:

Deploy

Build/pull and run services

docker-compose up -d --build

Visit Swagger UI

firefox http://localhost:7878/ga4gh/tes/v1/ui

Note: Host and port may differ if you have changed the configuration or use an HTTP server to reroute calls to a different host.

Contributing

This project is a community effort and lives off your contributions, be it in the form of bug reports, feature requests, discussions, or fixes and other code changes. Please read these guidelines if you want to contribute. And please mind the code of conduct for all interactions with the community.

Versioning

Development of the app is currently still in alpha stage, and current "versions" are for internal use only. We are aiming to have a fully spec-compliant ("feature complete") version of the app available by the end of 2018. The plan is to then adopt a [semantic versioning] scheme in which we would shadow TES spec versioning for major and minor versions, and release patched versions intermittently.

License

This project is covered by the [Apache License 2.0] also shipped with this repository. shipped with this repository.

Contact

The project is a collaborative effort under the umbrella of ELIXIR Europe.

Please contact the project leader for inquiries, proposals, questions etc. that are not covered by these docs.

References

GA4GH logo ELIXIR logo ELIXIR Cloud & AAI log [Apache License 2.0]: https://www.apache.org/licenses/LICENSE-2.0 [license-apache]: https://www.apache.org/licenses/LICENSE-2.0 [Connexion]: https://github.com/zalando/connexion [Docker]: https://www.docker.com/ [docker-compose]: https://docs.docker.com/compose/ [ELIXIR Cloud & AAI]: https://elixir-europe.github.io/cloud/ [Flask]: http://flask.pocoo.org/ [GA4GH TES OpenAPI specification]: https://github.com/ga4gh/task-execution-schemas [Git]: https://git-scm.com/ [Global Alliance for Genomics and Health]: https://www.ga4gh.org/ [Kubernetes]: https://kubernetes.io/ [semantic versioning]: https://semver.org/ [Task Execution Service]: https://github.com/ga4gh/task-execution-schemas

protes's People

Contributors

uniqueg avatar djixyacine avatar dependabot[bot] avatar soumyadipde avatar obersthorst avatar rlaurika avatar robertopreste avatar

Stargazers

Ayush Kumar avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.