GithubHelp home page GithubHelp logo

rdgoite / ingest-broker Goto Github PK

View Code? Open in Web Editor NEW

This project forked from humancellatlas/ingest-broker

0.0 2.0 0.0 3.29 MB

Scripts for brokering spreadsheets to ingest API, staging files and pushing bundles to datastore

License: Apache License 2.0

Python 80.45% CSS 0.42% JavaScript 6.75% HTML 12.39%

ingest-broker's Introduction

Docker Repository on Quay

HCA broker and ingestion service demo

Scripts for submitting spreadsheets of experimental metadata to the HCA.

To run scripts locally you'll need python 2.7 and all the dependencies in requirements.txt.

pip install -r requirements.txt

Web application

Running with python

Start the web application with

python broker-app.py

Alternatively, you can build and run the app with docker. To run the web application with docker for build the docker image with

docker build . -t broker-demo:latest

then run the docker container. You will need to provide the URL to the ingestion API

docker run -p 5000:5000 -e INGEST_API=http://localhost:8080 broker-demo:latest

The application will be available at http://localhost:5000

CLI application

Spreadsheet converter

This script will submit a HCA spreadsheet to the ingest API.

python broker/hcaxlsbroker.py -p <path to excel file>

If you want to do a dry run to check the spreadsheet parses without submitting use the -d argument

python broker/hcaxlsbroker.py -d -p <path to excel file>

Bundle to spreadsheet

This script will convert a set of data bundles in HCA JSON into an Excel file. It expects your bundles are in folders under your path like this <supplied path>/bundles/bundle*

python broker/bundle2xls.py -p <path to directory containing bundles>

Export service

This script listens for submissions on the ingest API messaging queue. When a submission is valid and complete (i.e. all data files have been uploaded to the staging area) this script will run to generate the bundles and submit them to the HCA datastore. The export service needs the URL of the messaging queue along with the queue name. You can also override the URLs to the staging API and the DSS API. To see all the argument use the --help argument.

python export-to-dss.py

ingest-broker's People

Contributors

daniwelter avatar simonjupp avatar rolando-ebi avatar tburdett avatar aaclan-ebi avatar danielvaughan avatar

Watchers

Rodrey avatar James Cloos 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.