Installation
#
Install the d2s clientInstall the d2s client and cwlref-runner with pipx on Linux and MacOS:
We recommend to use pipx if you just want to execute
d2s
. You can also install with pip or pip3 depending on your preferences.
Requirements (see below for installation instructions):
- Python 3.6 and pip
- Docker-compose
- Git (download Git for Windows)
- The OpenShift CLI (
oc
command) is required if you want to use experimental features to run services and workflows on OpenShift
See those instructions to install d2s on Windows using Chocolatey and pipx. CWL Workflow execution on Windows with the CWL reference runner requires WSL 2 and Docker Desktop.
#
Enable autocompletionEnabling commandline autocompletion in the terminal provides a better experience using the d2s
client.
- ZSH: add the import autocomplete line to the
~/.zshrc
file.
Set your terminal to use ZSH by default:
A oh-my-zsh theme can be easily chosen for a personalized experience. See the zsh-theme-biradate to easily install a simple theme and configure your terminal in a few minutes.
- Bash: add the import autocomplete line to the
~/.bashrc
file.
Bash autocompletion needs to be tested.
#
Windows supportSupport of the d2s tool on Windows is a work in progress.
- Most workflow orchestrators do not support Windows, as workflows are based on Linux containers, see CWL workflows and Nextflow.
- Windows can run Docker, but not natively like Linux, making it more prone to errors.
CWL Workflow execution on Windows with the CWL reference runner works great with WSL 2 and Docker Desktop.
We recommend to use the Windows PowerShell terminal (which is easier to use than the basic terminal).
#
Try the clientYou need to open a new terminal for the autocomplete to be activated.
Use
Tab
after ad2s
command in the terminal to see all the available options (it will adapt to the command and dynamically retrieve your datasets and workflows!).
#
Download the GraphDB triplestoreFor licensing reason the GraphDB RDF triplestore free edition distribution needs to be downloaded manually 📥
Go to https://ontotext.com/products/graphdb/ and provide informations to get an email with the link to download GraphDB
Download the latest version of GraphDB as stand-alone server free version (
.zip
file)The
d2s
client will ask you to provide the path to the GraphDB distribution.zip
file when initializing the workspace.By default the
d2s
client will try to get the file from your home directory (e.g./home/my-user
)
Update GraphDB version
Change the GraphDB version used by d2s
to the one you downloaded by changing GRAPHDB_VERSION
in the file .env
in your project folder.
#
Install pipxIf you just want to run d2s
we recommend you to use pipx as it install the tool in an isolated environment. It can be compared to apt
, brew
or npx
.
Consider doing a
pip install --upgrade pip
to update your pip installation.
Instructions use
pip3
to make surepipx
is installed with Python3, but feel free to use your ownpip
installation.
#
Install pipx on Ubuntu#
Install pipx on MacOSInstall python3
and pip3
if not installed.
#
Install pipx on CentOS#
Install pipx on WindowsWe will use the Chocolatey package manager for Windows on the PowerShell. To install Chocolatey:
- Open the PowerShell as administrator to install Chocolatey and its packages.
- Check and fix system restrictions:
- Install Chocolatey on PowerShell:
See the official Chocolatey documentation.
Chocolatey can also be installed using a non-administrative shell. See the documentation.
Open the PowerShell as administrator and use Chocolatey to install Python 3.8 and pip:
A reboot of your system is required to complete the installation.
Pip does not need to be run as administrator (only
choco install
)
We recommend using pipx if you are not developing on the d2s Python CLI:
#
Upgrade d2s versionUpgrade d2s to the latest release:
#
UninstallIf you face issues where d2s
or cwl-runner
is already installed, try to make sure it is properly uninstall from pip
:
If you are facing issue with No module name pip found
, it might be due to pip and pipx version issues. Be careful when installing pip
and pipx
as you want it to properly use python3.6
. Those commands will help you uninstalling pipx
properly:
#
Install Docker#
On UbuntuInstall Docker and docker-compose.
sudo groupadd docker
could be required beforeusermod
if the group has not been created.
#
On MacOSUse the Docker installer for MacOS (.dmg
file) to install Docker and docker-compose
.
If you have a DockerHub account you can use the DockerHub installer instead.
You can change Docker settings by clicking on the Docker icon 🐳 in the top bar, then click Preferences...
The volumes /Users
and /tmp
should be shared by default. It is recommended to create the d2s
project folder in a subfolder of /Users
.
#
On WindowsWe use Chocolatey to install Docker. See the pipx installation section to install Chocolatey.
Use docker-desktop for an easier installation if you have Windows Pro or Enterprise and a DockerHub account:
If you have Windows home or don't want to create a DockerHub account, use docker-toolbox:
Open the Docker Quickstart Terminal
to start Docker.
Additional components that might be needed to install (VM and GUI):
#
Activate VirtualizationVirtualization and Hyper-V must be activated. Check in the Task Manager
, in tab Performance
if Virtualization is enabled
.
Check the documentation to enable it.
Docker-desktop installation will propose to install virtualization automatically after the Docker installation, if they are not installed.
Note that Docker Hyper-V is not available for Windows 10 Home edition (you will need Pro or Enterprise edition)
You might need to access the BIOS to enable VT-x virtualization
Share drive
By default docker-desktop
and docker-toolbox
are sharing your C:/Users
volume. Docker will only be able to access folders and files in the Shared Drives
. So make sure you execute d2s init
somewhere in your users directories.
On
docker-desktop
you can change it in Docker config >Settings
>Shared Drives
> Share Drive C
On
docker-toolbox
you need to change the settings of the Virtual Box
#
Fix known issuesDNS issue: Docker build can't access the internet. E.g.: getting
wget: unable to resolve host address
If Docker can't access internet when building you might want to change the DNS (to use Google's one).
On Linux:
On Windows: go to
Docker Settings
>Network
>DNS Server
>Fixed: 8.8.8.8
Firewall issue on Windows: it is common to face a firewall when Docker tries to connect to the internet
- This could be due to local services: try deactivate your firewall and/or antivirus
- If you are running it on your office network you might face issues related to the office network firewall. Try at home and contact your IT department if needed.
For more details on how to run Docker see the Docker guide.
#
Install Rabix Benten for VSCodeRabix Benten is a plugin for completion, error and warning messages for CWL files in Visual Studio Code.
Install the package using pipx
:
And add CWL (Rabix/Benten)
extension to Visual Studio Code.
#
Install Rabix Composer GUIRabix Composer is a nice way to visualize CWL workflows.
Download the right installation file and run it.
Open the
d2s-core
folder in Rabix Composer.
Note that Rabix will overwrite how you originally wrote your CWL files, and add
xy
coordinates to steps.
#
Try Apache AirflowApache Airflow allow to run and monitor workflows. It requires to install the cwl-airflow
package to add CWL compatibility.
Install Apache Airflow and the cwl-airflow pip package to get started.
cwl-airflow init
fails:FileNotFoundError:[Errno 2]No such file or directory:'airflow'
Start Airflow:
Submit a workflow:
To be tested.
#
Try ToilToil is a Python workflow manager which allows to run CWL workflows.
Install Toil for CWL:
Run a workflow
To be tested.