DNAnexus Platform SDK
To download pre-built packages for your platform, see https://documentation.dnanexus.com/downloads.
Found a bug? See Reporting Bugs below.
Welcome to the
dx-toolkit repository! This repository contains the DNAnexus
API language bindings and utilities for interacting with the DNAnexus platform.
Installing the toolkit from source
First, see the section "Build dependencies" below and install the appropriate dependencies for your platform.
To build the toolkit, simply run
Then, initialize your environment by sourcing this file:
You will then be able to use
dx (the DNAnexus Command Line
Client) and other
utilities, and you will be able to use DNAnexus API bindings in the supported
The Platform SDK contains API language bindings for the following platforms:
The following packages are required to build the toolkit. You can avoid having to install them by either downloading a compiled release from https://documentation.dnanexus.com/downloads, or by building only a portion of the toolkit that doesn't require them.
Note: There is a known incompatibility (in compiling dxcpp) when using GCC 4.7 with Boost 1.49. Please either use the GCC 4.6 series, or Boost 1.50+.
sudo apt install make python-setuptools python-pip python-virtualenv python-dev \ gcc g++ cmake libboost-all-dev libcurl4-openssl-dev zlib1g-dev libbz2-dev flex bison \ openssl libssl-dev autoconf
sudo apt-get install make python-setuptools python-pip python-virtualenv python-dev \ g++ cmake libboost1.55-all-dev libcurl4-openssl-dev zlib1g-dev libbz2-dev flex bison \ autoconf curl
Ubuntu 12.04 (deprecated)
sudo apt-get install make python-setuptools python-pip python-dev \ g++ cmake libboost1.48-all-dev libcurl4-openssl-dev zlib1g-dev libbz2-dev flex bison \ autoconf curl sudo pip install --upgrade virtualenv
yum install gcc gcc-c++ automake bison flex python python-pip \ python-virtualenv boost-devel boost-static cmake openssl-devel \ libcurl-devel bzip2-devel curl
This package set was tested on Fedora 20, which has the following package versions (abbreviated list):
- gcc 4.8.2
- Python 2.7.5
- python-pip 1.4.1
- python-virtualenv 1.10.1
- boost 1.54.0
- cmake 18.104.22.168
- openssl 1.0.1e
- libcurl 7.32.0
Install Python 2.7. Python 2.7 is not available natively on CentOS/RHEL
5 or 6. You can use the script
installs it into
/usr/local/bin. (Run the script as root.)
Install boost 1.48 or higher (at least the
libraries). This version of boost is not available natively on
CentOS/RHEL 5 or 6. You can use the script
build/centos_install_boost.sh, which installs it into
yum install cmake libcurl-devel easy_install-2.7 pip pip-2.7 install virtualenv
- Tested on CentOS 5.4 and CentOS 6.2.
Install the Command Line Tools for XCode. (Free registration required with Apple)
virtualenv for Python:
easy_install-2.7 pip pip-2.7 install virtualenv
- CMake (
sudo port install cmakeor
brew install cmake)
- Boost >= 1.49 (
sudo port install boostor
brew install boost)
- GCC >= 4.6
On MacPorts, install and select GCC with:
sudo port install gcc47 sudo port select --set gcc mp-gcc47
On Homebrew, install and select an up-to-date version of GCC with:
brew tap homebrew/versions brew install gcc47 export CC=gcc-4.7 export CXX=g++-4.7
- bison >= 2.7, autoconf, automake
- On Homebrew:
brew install bison autoconf automake
- On MacPorts:
sudo port install bison autoconf automake
- On Homebrew:
Warning: Not all parts of the SDK are compatible with Windows. Install the following dependencies to build the Upload Agent:
To generate the .dll dependencies required for Windows, run
make ua, then
make pynsist_installer, it is also possible to pass
DLL_DEPS_FOLDER=C:/folder/path/ as an argument to make
See the Upload Agent Readme for Upload Agent build documentation.
Please use GitHub to report bugs, post suggestions, or send us pull requests.