Install Arbor

Local Arbor installation

The instructions below are the simplest way to get an Arbor instance up and going on your own personal machine. They should work equally well for installing Arbor on a server.

kitware logoIf you want more detail about how to install the individual parts of Arbor, you can also go here (maintained by Kitware).

It is also worth noting that you can run Arbor without installing it locally. In fact, Arbor is made to run over the web - and perhaps one of our Arbor instances on AWS can already serve you?

Soon we will post instructions on how to install an Arbor instance remotely using AWS or CyVerse.

Prerequisites

To install Arbor locally, you need the following three programs - each of which might have some dependencies of its own. All three are free and open source.

   
virtualbox logo First, you need VirtualBox, the method we use to create and host virtual machines.
ansible logo Second, you need Ansible, the manager that decides which software gets installed on your virtual machine. Quick link to installation instructions for Ansible
vagrant logo Finally, you need Vagrant, which manages the whole process.

Step 1: Get the “Flow”

To begin, clone the two github repos that you will need: the Flow repo from Kitware, which has all that you need to set up an empty Arbor instance; and the arborCollections repo, which has all of the basic Arbor collections you will need.

To clone these two repositories, use “git clone”.

Lukes-MacBook-Pro:downloads lukeharmon$ git clone https://github.com/Kitware/flow.git
Cloning into 'flow'...
remote: Counting objects: 2812, done.
remote: Total 2812 (delta 0), reused 0 (delta 0), pack-reused 2812
Receiving objects: 100% (2812/2812), 1.23 MiB | 0 bytes/s, done.
Resolving deltas: 100% (1797/1797), done.
Lukes-MacBook-Pro:downloads lukeharmon$ git clone https://github.com/arborworkflows/arborCollections.git
Cloning into 'arborCollections'...
remote: Counting objects: 6784, done.
remote: Total 6784 (delta 0), reused 0 (delta 0), pack-reused 6784
Receiving objects: 100% (6784/6784), 99.45 MiB | 8.45 MiB/s, done.
Resolving deltas: 100% (3613/3613), done.
Lukes-MacBook-Pro:downloads lukeharmon$

Further instructions for using git clone

Step 2: Launch Arbor

Now, you will launch your arbor instance. In the terminal, navigate to your local copy of the flow repository. If you just cloned the repo, then:

cd flow

Now, launch Vagrant, which will use Ansible and VirtualBox to set up your Arbor instance.

vagrant up

Now you wait. This might take a while - perhaps even 20 minutes or so!

When the whole process is finished, you should see a success message.

PLAY RECAP *********************************************************************
flow                       : ok=75   changed=56   unreachable=0    failed=0   

Now you can visit your Arbor instance by opening a web browser (we recommend Chrome) and navigating to:

http://localhost:8080/

You should see a brand-new empty Arbor instance:

arbor-empty

Step 3: Install Arbor collections

To do this, you will need to obtain the current arbor collections from github; then those collections can be loaded into Girder, which manages the functions, data, and users in Arbor.

First, ssh into your virtual machine.

vagrant ssh

You will see a login message and then a command prompt:

Welcome to Ubuntu 14.04.5 LTS (GNU/Linux 3.13.0-117-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

  System information as of Mon May 15 16:32:29 UTC 2017

  System load:  0.11              Processes:           95
  Usage of /:   9.3% of 39.34GB   Users logged in:     0
  Memory usage: 15%               IP address for eth0: 10.0.2.15
  Swap usage:   0%

  Graph this data and manage this system at:
    https://landscape.canonical.com/

  Get cloud support with Ubuntu Advantage Cloud Guest:
    http://www.ubuntu.com/business/services/cloud

New release '16.04.2 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


Last login: Mon May 15 16:32:29 2017 from 10.0.2.2
vagrant@vagrant-ubuntu-trusty-64:~$

Now clone the arborCollections github repository into that directory.

git clone https://github.com/arborworkflows/arborCollections.git

You should get this result:

vagrant@vagrant-ubuntu-trusty-64:~$ git clone https://github.com/arborworkflows/arborCollections.git
Cloning into 'arborCollections'...
remote: Counting objects: 6784, done.
remote: Total 6784 (delta 0), reused 0 (delta 0), pack-reused 6784
Receiving objects: 100% (6784/6784), 99.45 MiB | 12.99 MiB/s, done.
Resolving deltas: 100% (3613/3613), done.
Checking connectivity... done.
vagrant@vagrant-ubuntu-trusty-64:~$

Finally, run a python script that loads these analyses into Arbor:

python /vagrant/devops/load-analysis.py ./arborCollections

You will see analyses being loaded into Arbor:

Merge Tree, Occurrences, and Morphology.json successfully uploaded to advanced-phylomap
LifeMapper occurrences from Experiment Number.json successfully uploaded to advanced-phylomap
Explore LifeMapper occurrences from Experiment Number.json successfully uploaded to advanced-phylomap
Return LifeMapper occurrences from Experiment Number Table.json successfully uploaded to advanced-phylomap

And so on…

Now, when you go back to your Arbor instance at http://localhost:8080/, you will see all the analyses loaded:

arbor-loaded

Now you are ready to do things in Arbor!