All Projects → carlochess → uchuva

carlochess / uchuva

Licence: GPL-3.0 License
A scientific web portal that allows users to create and submit workflows to HTCondor (Dagman), Slurm, OpenLava (LSF), Torque (PBS)

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects
haskell
3896 projects
racket
414 projects
shell
77523 projects
Puppet
460 projects

Projects that are alternatives of or similar to uchuva

future.batchtools
🚀 R package future.batchtools: A Future API for Parallel and Distributed Processing using batchtools
Stars: ✭ 77 (+352.94%)
Mutual labels:  slurm, torque
DNAscan
DNAscan is a fast and efficient bioinformatics pipeline that allows for the analysis of DNA Next Generation sequencing data, requiring very little computational effort and memory usage.
Stars: ✭ 36 (+111.76%)
Mutual labels:  workflow
simple-workflow
Laravel simple implementation of a complete workflow system, allowing you to focus on your business logic and letting the package do the necessary work to make your workflow system work and easy to customize
Stars: ✭ 58 (+241.18%)
Mutual labels:  workflow
zen-do-r
Um livro sobre programação para não-programadores.
Stars: ✭ 24 (+41.18%)
Mutual labels:  workflow
sonata-workflow
Integrate Symfony workflow component in Sonata Admin
Stars: ✭ 23 (+35.29%)
Mutual labels:  workflow
alfred-latex-symbols-workflow
🔎 Alfred 3-4 workflow to search for latex symbol commands
Stars: ✭ 33 (+94.12%)
Mutual labels:  workflow
tip
GitHub Action to keep a 'tip' pre-release always up-to-date
Stars: ✭ 18 (+5.88%)
Mutual labels:  workflow
snorkeling
Extracting biomedical relationships from literature with Snorkel 🏊
Stars: ✭ 56 (+229.41%)
Mutual labels:  workflow
alfred-gitignore
Create .gitignore files using Alfred
Stars: ✭ 15 (-11.76%)
Mutual labels:  workflow
action-sync-node-meta
GitHub Action that syncs package.json with the repository metadata.
Stars: ✭ 25 (+47.06%)
Mutual labels:  workflow
alfred-relative-dates
Alfred workflow to generate relative dates in different locales
Stars: ✭ 30 (+76.47%)
Mutual labels:  workflow
user guide
The CWL v1.0 user guide
Stars: ✭ 20 (+17.65%)
Mutual labels:  workflow
alfred-workflow
No description or website provided.
Stars: ✭ 26 (+52.94%)
Mutual labels:  workflow
release-notify-action
GitHub Action that triggers e-mails with release notes when these are created
Stars: ✭ 64 (+276.47%)
Mutual labels:  workflow
CaseManagement
CMMN engine implementation in dotnet core
Stars: ✭ 16 (-5.88%)
Mutual labels:  workflow
wakatime-to-toggl
📩 Sync your WakaTime data in Toggl
Stars: ✭ 23 (+35.29%)
Mutual labels:  workflow
nactivity
workflow engine activity activiti
Stars: ✭ 55 (+223.53%)
Mutual labels:  workflow
ibis
IBIS is a workflow creation-engine that abstracts the Hadoop internals of ingesting RDBMS data.
Stars: ✭ 48 (+182.35%)
Mutual labels:  workflow
my curd
超轻量 快速开发脚手架、流程平台。
Stars: ✭ 38 (+123.53%)
Mutual labels:  workflow
Tesseract
A set of libraries for rapidly developing Pipeline driven micro/macroservices.
Stars: ✭ 20 (+17.65%)
Mutual labels:  workflow

Uchuva - A Scientific web Portal Build Status

Currently, under heavy development, keep in touch :).

Uchuva is a scientific web portal that allow users to create workflows and submit to HTCondor (Dagman), Slurm, OpenLava (LSF) and Torque (PBS). Is designed to be fast, flexible and simple.

Features

  • A visual editor for workflows
  • A virtual file system
  • A visual command line opts and args library generator
  • Submit workflows to HTCondor (Dagman), Slurm, OpenLava (LSF), Torque (PBS) and OAR.
  • Rest Api with Swagger
  • Vagrant
  • Docker
  • Tested using mocha/chai: unit testing, regression, integration and aceptance test (selenium)
  • i8ln
  • Easy to monitor with ELK stack (logger)

For more information please visit the wiki

Installing

If you want to try it out as quickly as possible, please install MongoDB, ensure that you have the right compilers installed (for OSX, XCode4 will work, for Ubuntu, the build-essential and libssl-dev packages) and then use Docker:

Native

Dependencies

  • Node.js
  • MongoDB
  • Git

Optional Deps

  • Git
  • make, g++, curl
  • HTCondor/OpenLava/Torque/Slurm
  • Web browser

Ubuntu Linux (32 and 64 bits)

Update and install the essential packages

apt-get update
apt-get install -y git curl sudo python make build-essential g++

Install NodeJS 6.9

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs mongodb

Clone this repo and install the Node dependencies

git clone https://github.com/carlochess/uchuva
cd uchuva/prototipo
npm install

Install MongoDB

Start uchuva

npm start

Centos 7

DEB Linux (doesn't work for now)

Install using dpkg

$ apt-get update
$ apt-get install -y git curl sudo python build-essential g++
$ curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
$ sudo apt-get install -y nodejs mongodb
$ sudo dpkg -i uchuva_0.0.1_all.deb
$ sudo apt-get -f install

All the files for Uchuva install are listed here.

/var/lib/uchuva      #contains the binaries
/usr/share/uchuva    #contains the start script
/var/log/uchuva      #contains the agent logs
/etc/default/uchuva  #contains all the environment variables with default values. These variable values can be changed as per requirement

Docker

Using Docker to test this project is the better choise you can make. Please, install Docker engine

$ curl -fsSL https://get.docker.com/ | sudo sh
$ sudo gpasswd -a ${USER} docker
$ newgrp docker

Then Docker-compose

$ curl -L "https://github.com/docker/compose/releases/download/1.8.1/docker-compose-$(uname -s)-$(uname -m)" > docker-compose
$ sudo mv docker-compose /usr/local/bin/docker-compose
$ chmod +x /usr/local/bin/docker-compose
$ docker-compose --version

And finally, download and create Uchuva container

$ git clone --depth=1 https://github.com/carlochess/uchuva/ && cd uchuva
$ docker-compose up -d

It may take from 10 to 60 minutes to complete (The first time).

You can now visit the host page

$ firefox localhost:3000

Vagrant

Go to vagrant/{HTCondor/sola,OpenLava,Torque,Slurm} folder and run

$ vagrant up

Visit the wiki vagrant entry

Windows

Download The HTCondor.msi currently stable release. Then you have two choises: manually download and install MongoDB, Nodejs and Git installers

Or using Chocolatey package manager, automatically download and install nodejs, mongodb and git.

choco install nodejs.install 
choco install mongodb 
choco install git 

Remember to start MongoDB Service:

md \data\db
"C:\Program Files\MongoDB\Server\3.2\bin\mongod.exe" --dbpath c:\data\db

Open another terminal, clone Uchuva

git clone https://github.com/carlochess/uchuva
cd uchuva/prototipo
npm install
npm start

Mac OS

brew update
brew install node mongodb git

Open another terminal, clone Uchuva

git clone https://github.com/carlochess/uchuva
cd uchuva/prototipo
npm install
npm start

And go to the website

NPM package

Isn't working right now You can install uchuva using a node package manager (npm or yarn)

$ npm install -g uchuva

Test

cd prototipo
npm test

API

You can generate your api client or server from swagger, the spec is saved in prototipo/static/swagger/api.json

  • Using the code editor http://editor.swagger.io/
  • Using a code gen from an image: see prototipo/utils/generadores/generate.sh

This is an exampĺe

require 'swagger_client'

SwaggerClient.configure do |config|
     config.host= "127.0.0.1"
end

apikey = "hzeQHLaKmgg4bdB25Jio"
dagapi   = SwaggerClient::DagApi.new

result = dagapi.user_get(apikey)
puts "Number of dags", result.length

Documentation

You can read my bacherlor thesis (Spanish) in the doc/ folder

Related projects

Pegasus, Swift parallel scripting language, Dagman, Taverna, Apache airavata, Galaxy, OnlineHPC, Kepler, makeflow, Askaban, Luigi, Agave API,

Why does my project is call by a super heroe name?

Because i believe that your project would save too many lives and therefore the planet :)

Issues

Please report any issues using Github issue tracker.

  • Do include a detailed description of the problem.
  • Do include a link to a gist with any interesting stack traces/logs (you may also attach these directly to the bug report).
  • Do include a reduced test case.
  • Use the issue tracker to submit basic help requests.
  • Do not post empty "I see this too" or "Any updates?" comments. These provide no additional information and clutter the log.

Disclaimer

  • Thanks to Colorado Reed's for creating the d3.graph.editor.
  • Also thanks to the creators of Angular file manager
  • Agave project for Torque and Slurm Docker images
  • Puppet for their HTCondor, Mongo, Docker, etc modules
  • Swagger for the api generator
  • TTY.js for such amazing web terminal
  • Graph ordering and rendering: Dagre

Roadmap

See TODO.md

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].