TangeloHub Documentation

Similar documents
Pulp Python Support Documentation

Software Development I

projecto Documentation

GIT. A free and open source distributed version control system. User Guide. January, Department of Computer Science and Engineering

BanzaiDB Documentation

Kivy Designer Documentation

Rubix Documentation. Release Qubole

Bitnami Node.js for Huawei Enterprise Cloud

Git Basi, workflow e concetti avanzati (pt2)

datapusher Documentation

Travis Cardwell Technical Meeting

Verteego VDS Documentation

Git. SSE2034: System Software Experiment 3, Fall 2018, Jinkyu Jeong

Introduction to the UNIX command line

Gunnery Documentation

Git & Github Fundamental by Rajesh Kumar.

I hate money. Release 1.0

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Gerrit

Archan. Release 2.0.1

Patch Server for Jamf Pro Documentation

Introduction to Git and Github Repositories

Git Command Line Tool Is Not Installed

Step 1: Setup a Gitlab account

Git. Charles J. Geyer School of Statistics University of Minnesota. Stat 8054 Lecture Notes

manifold Documentation

Tips on how to set up a GitHub account:

Salesforce DX Setup Guide

syslog-ng Apache Kafka destination

Getting the files for the first time...2. Making Changes, Commiting them and Pull Requests:...5. Update your repository from the upstream master...

almir Documentation Release Domen Kožar

School of Computing Science Gitlab Platform - User Notes

Release Ralph Offinger

Salesforce DX Setup Guide

CS 390 Software Engineering Lecture 5 More Git

NAV Coin NavTech Server Installation and setup instructions

Tutorial 2 GitHub Tutorial

Git Guide. Meher Krishna Patel. Created on : Octorber, 2017 Last updated : October, More documents are freely available at PythonDSP

Vaango Installation Guide

Object Oriented Programming. Week 1 Part 2 Git and egit

Table of Contents. Concepts

Bitdock. Release 0.1.0

Infoblox Kubernetes1.0.0 IPAM Plugin

Technical Manual. Software Quality Analysis as a Service (SQUAAD) Team No.1. Implementers: Aleksandr Chernousov Chris Harman Supicha Phadungslip

Configuration Management

Tenable.io Container Security. Last Updated: November 02, 2018

Bitte decken Sie die schraffierte Fläche mit einem Bild ab. Please cover the shaded area with a picture. (24,4 x 7,6 cm)

Pulp OSTree Documentation

Cloud Computing II. Exercises

Continuous Integration (CI) with Jenkins

Version control system (VCS)

(Cloud9) and to the Remote Repository (GitHub)

RTC 502 and its Git adapter, Git and its prerequisite

Version Control with Git

Getting the Source Code

CROWDCOIN MASTERNODE SETUP COLD WALLET ON WINDOWS WITH LINUX VPS

flask-dynamo Documentation

edx Installation Documentation

Version Control: Gitting Started

Installing and Using Docker Toolbox for Mac OSX and Windows

DEAD-SIMPLE VERSION CONTROL FOR YOUR TEAM GIT WITH MATTHEW REIDSMA GRAND VALLEY STATE UNIVERSITY

Bitnami MEAN for Huawei Enterprise Cloud

Installation and setup guide of 1.1 demonstrator

The instructions in this document are applicable to personal computers running the following Operating Systems:

Eugene, Niko, Matt, and Oliver

Github/Git Primer. Tyler Hague

Git, the magical version control

Introduction to Git and GitHub for Writers Workbook February 23, 2019 Peter Gruenbaum

Tizen Project Guideline. SKKU Embedded Software Lab.

:59:32 PM PST

CS 261 Recitation 1 Compiling C on UNIX

Django MFA Documentation

websnort Documentation

Kollaborate Server. Installation Guide

213/513/613 Linux/Git Bootcamp. Cyrus, Eugene, Minji, Niko

Tunir Documentation. Release Kushal Das

Installing Open Project on Ubuntu AWS with Apache and Postgesql

Version Control. Software Carpentry Github s Hello World Git For Ages 4 And Up You need source code control now

Plumeria Documentation

Windows. Everywhere else

Topics covered. Introduction to Git Git workflows Git key concepts Hands on session Branching models. Git 2

Dell EMC ME4 Series vsphere Client Plug-in

Version Control. Version Control

SwanSim - A Guide to Git / SourceTree / GitLab for Windows

LIFX NodeServer Documentation

Git Tutorial. André Sailer. ILD Technical Meeting April 24, 2017 CERN-EP-LCD. ILD Technical Meeting, Apr 24, 2017 A. Sailer: Git Tutorial 1/36

USING DOCKER FOR MXCUBE DEVELOPMENT AT MAX IV

Recap: Developer's Environment

PiranaJS installation guide

Adafruit WebIDE. Created by Tyler Cooper. Last updated on :29:47 PM UTC

chatterbot-weather Documentation

Kardia / Centrallix VM Appliance Quick Reference

Sharing SDK Projects/Working in a Team

LPF Training Handbook!

Software Revision Control for MASS. Git Installation / Configuration / Use

CSE 344: Section 1 Git Setup for HW Introduction to SQLite

What is git? Distributed Version Control System (VCS); Created by Linus Torvalds, to help with Linux development;

Using vrealize Operations Tenant App as a Service Provider

Revision Control and GIT

Trunk Player Documentation

Incident Response Platform. IBM BIGFIX INTEGRATION GUIDE v1.0

Transcription:

TangeloHub Documentation Release None Kitware, Inc. September 21, 2015

Contents 1 User s Guide 3 1.1 Managing Data.............................................. 3 1.2 Running an Analysis........................................... 3 1.3 Visualization............................................... 3 1.4 Creating an Analysis........................................... 3 1.5 Creating a Workflow........................................... 4 2 Administrator Documentation 7 2.1 Prerequisites............................................... 7 2.2 Installation................................................ 7 2.3 Configuration............................................... 9 3 Developer Documentation 11 3.1 Contributing............................................... 11 3.2 Testing.................................................. 11 3.3 API Reference.............................................. 11 4 Indices and tables 13 i

ii

Please visit the TangeloHub homepage or the GitHub repository for more information. Contents 1

2 Contents

CHAPTER 1 User s Guide 1.1 Managing Data 1.2 Running an Analysis 1.3 Visualization 1.4 Creating an Analysis For an overview of this process, see the demonstration video. To create an analysis, start with the following steps: Log in to TangeloHub (or first register for an account). Navigate to the Data Management tab. Click the pencil icon on the left for the collection you want to add an analysis to. If you do not have edit permissions on any collection, contact Kitware to request access with your user name, organization, and desired use case. Navigate to the Analysis tab. Under Create new analysis, enter an analysis name and click the New analysis button. A new empty analysis will now be saved and selected in the Analysis drop-down menu. Click the Show script and Edit buttons to show an editable script view in the main window. Select the language (Python or R) that you desire for your script. At this point you will have a place to begin writing your Arbor script. You must now decide what input and output types you require, and what formats you expect them to be in. Inputs will be imported into the namespace of the script as variables before the script executes. Outputs are variable names expected to be present after the script runs at which point it will be exported from the script environment. To add an input, click the plus button next to Inputs and enter the name (which must match the script variable name), type, description, and default value. The type represents both the high-level data type (table, tree, string, number, etc.) and format (CSV string, array of dictionaries, R dataframe, etc.) of the input variable in the script. Romanesco, the script execution engine used by Arbor, supports many types and formats described in this documented list. There are two additional properties specific to string inputs. Enter a value in Comma-separated list of values if your string input has a fixed set of named values. The interface for such a parameter will be presented as a drop-down list selection. Use Input for column names if a string input should represent a column name from another tabular input. In that 3

case, enter the name of the table input. The input will be presented to the user as a drop-down list of column names from that table. To add an output, click on the plus button next to Outputs and enter the name (which must match the script variable name), type, and description. Similar to inputs, the type must specify the type and format of the variable upon completion of the script. The final step is to enter the script itself. Start with any required library imports, and enter your script as a simple set of commands as would be entered from the language shell. Use input variables as if they have already been assigned a value, and be sure to create output variables whose names match each of your output names. Note: After any changes are made, be sure to click the Save button to ensure your latest version is saved. Analysis runs will always be performed against the saved version, so be sure to click Save before running a new version of your analysis. 1.5 Creating a Workflow A workflow is an analysis made up of other analyses chained together. Similar to script-based analyses, you must first do the following: Log in to TangeloHub (or first register for an account). Navigate to the Data Management tab. Click the pencil icon on the left for the collection you want to add an analysis to. If you do not have edit permissions on any collection, contact Kitware to request access with your user name, organization, and desired use case. Navigate to the Analysis tab. Under Create new analysis, enter an analysis name and click the New workflow button (not the New analysis button, which is for creating scripts). A new empty workflow will now be saved and selected in the Analysis drop-down menu. Click the Show script and Edit buttons to show an editable workflow view in the main window. At this point you will have a blank canvas for building your workflow. To add an item to the workflow, select an analysis from the lower Select analysis drop-down menu. (The upper Select analysis drop-down menu will switch over to editing a completely different analysis.) Once a desired analysis is selected, click Add to workflow, which will add an analysis step box to your workflow diagram. Inputs appear as knobs on the left, while outputs appear as knobs on the right. To connect analyses in the workflow, drag from an output knob of one analysis to an input knob of another. To expose an analysis input as a workflow input, click on an input knob and an input box will appear. To expose an analysis output as a workflow output, click on an output knob and an output box will appear. Note: Upon completing your workflow, you must ensure that all input knobs have an incoming connection for the workflow to function properly. Note: After any changes are made, be sure to click the Save button to ensure your latest version is saved. Analysis runs will always be performed against the saved version, so be sure to click Save before running a new version of your analysis. 4 Chapter 1. User s Guide

Warning: It is undefined behavior to expose a string input that was defined to be a column from another table, unless that table is also an input. It is undefined because when setting up the analysis, the system does not know what the table s columns will be. 1.5. Creating a Workflow 5

6 Chapter 1. User s Guide

CHAPTER 2 Administrator Documentation 2.1 Prerequisites 2.2 Installation 2.2.1 Vagrant Install A Vagrant install is an easy way to get everything running in a local virtual machine. This includes an install of MongoDB, Girder, Romanesco, Apache, and the TangeloHub application. To get started, install Vagrant, VirtualBox, and Ansible. It s then a matter of cloning this repository and running vagrant up: git clone https://github.com/kitware/tangelothub.git cd tangelohub vagrant up When that completes (it will take some time - get a coffee), visit http://localhost:9080/ to visit the interface. To see the Girder interface, visit http://localhost:9080/girder. To create new analyses and save data, login to TangeloHub or Girder with username girder and password girder. To log in to your virtual machine, run: vagrant ssh From that environment, you can restart Romanesco: sudo stop romanesco sudo start romanesco To view the Romanesco log for analysis debugging: sudo cat /var/log/upstart/romanesco.log To restart Girder: sudo stop girder sudo start girder To enter a local MongoDB shell: mongo 7

The default Vagrant install will also install several R libraries needed for Arbor analyses, which takes a significant amount of time. To turn off this step, edit devops/ansible/playbook.yml and set the arbor variable to false. 2.2.2 Apache Installation The TangeloHub application requires several components, as well as the main TangeloHub source. Check out the TangeloHub repository. As a team developer: git clone git@github.com:kitware/tangelohub.git Or as a contributor: git clone https://github.com/kitware/tangelohub.git Next, install Girder. Follow the link for install instructions. After following the Girder install, you will also have a MongoDB instance running on your machine. The simplest Girder install consists of a pip install. Ensure you have an updated pip then install Girder: sudo pip install -U pip sudo pip install girder Install R. R is needed in order to install and use Romanesco. We need the Romanesco Girder plugin and web interface. To install them, use the girder-install command: sudo girder-install -f web git clone https://github.com/kitware/romanesco.git sudo girder-install -f plugin -s./romanesco Install an appropriate Girder config file: sudo cp tangelohub/devops/ansible/girder.local.cfg path/to/site-packages/girder/conf/ You can find your path/to/site-packages with: python >>> import site >>> site.getsitepackages() Start Girder: python -m girder & Start a Romanesco worker with: cd romanesco sudo pip install -r requirements.txt python -m romanesco & TangeloHub requires npm and Grunt, which should already have been installed as part of the Girder installation: curl -sl https://deb.nodesource.com/setup sudo bash - sudo apt-get install nodejs sudo npm install -g grunt Enter the source folder and build out all the npm dependencies: 8 Chapter 2. Administrator Documentation

cd tangelohub npm install If you modify the TangeloHub source, you can rebuild the app: grunt init grunt If you are using Apache, use something like the following file in the sites-available folder (you can simply replace the default file there): Listen 9080 <VirtualHost *:9080> DocumentRoot /path/to/tangelohub/app ProxyPass /girder http://localhost:9000 ProxyPassReverse /girder http://localhost:9000 </VirtualHost> You will need the proxy and proxy_html Apache modules: sudo a2enmod proxy sudo a2enmod proxy_http After restarting Apache (sudo apache2ctl restart), visit your Girder web interface at http://localhost:9080/girder to enable the Romanesco plugin from the admin console. A restart of Girder is required to fully enable the Romanesco plugin. Now you should be able to visit the running TangeloHub instance at http://localhost:9080. Note: If you hit any npm errors in the install process, execute the following and retry the steps: sudo rm -rf ~/tmp sudo rm -rf ~/.npm Note: If you hit any pip errors in the installation of Girder, execute the following and retry: sudo pip install -U pip 2.3 Configuration 2.3. Configuration 9

10 Chapter 2. Administrator Documentation

CHAPTER 3 Developer Documentation 3.1 Contributing To contribute features and fixes, create a Git branch for your work: git checkout -b my-topic-name Commit your changes to that branch, then push the topic to GitHub: git push -u origin my-topic-name Due to setting upstream with -u, after new commits, you may simply: git push Use the GitHub pull request feature to suggest a topic for inclusion. Use GitHub tools to check for a clean Travis CI build and merge to the master branch. 3.2 Testing Testing is performed with PhantomJS and uses Python to drive the process and setup a sandboxed Girder environment. Tests are performed automatically by Travis with resulting test data pushed to a CDash dashboard. To initialize the testing environment, create a build folder and run CMake: mkdir build cd build cmake.. Run the tests with CTest. Use -V for verbose output. ctest -V 3.3 API Reference 11

12 Chapter 3. Developer Documentation

CHAPTER 4 Indices and tables genindex search 13