-
To download pre-built packages for your platform, see https://wiki.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.
See https://wiki.dnanexus.com/ and http://autodoc.dnanexus.com/ for relevant documentation.
First, see the section "Build dependencies" below and install the appropriate dependencies for your platform.
To build the toolkit, simply run make
.
Then, initialize your environment by sourcing this file:
source dx-toolkit/environment
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
languages.
The Platform SDK contains API language bindings for the following platforms:
Javascript support lives in a separate repo, dnanexus/dx-javascript-toolkit.git.
The following packages are required to build the toolkit. You can avoid having to install them by either downloading a compiled release from https://wiki.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-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
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
sudo pip install --upgrade virtualenv
Install Python2.7. Python 2.7 is not available natively on Ubuntu 10.04, but Felix Krull maintains the deadsnakes PPA, which includes a build for Ubuntu 10.04. You can install Python from there as follows (as root):
echo "deb http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main" > /etc/apt/sources.list.d/deadsnakes.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5BB92C09DB82666C
apt-get install --yes python2.7 python-pip python-setuptools-deadsnakes
pip-2.7 install virtualenv
Since this repo doesn't contain the Python C headers, you will need to remove the following compiled modules from the dependencies.
sed -i -e '/psutil/ d' src/python/requirements.txt
sed -i -e '/xattr/ d' src/python/requirements_dxfs.txt
The xattr
module in particular is needed for the FUSE module. To use the
features provided by these modules on Ubuntu 10.04, you will need to arrange
for one of the following:
- Install the Python 2.7 C headers, and then skip the
sed
steps above to allow the affected modules to be built from source. - Install the affected modules (
psutil
andxattr
) in binary form.
Install boost 1.48 or higher (at least the filesystem
,
program_options
, regex
, system
and thread
libraries). This
version of boost is not available natively on Ubuntu 10.04. You can use
the script build/lucid_install_boost.sh
, which installs it into
/usr/local/lib
.
The following additional dependencies are also needed:
sudo apt-get install make g++ cmake libcurl4-openssl-dev zlib1g-dev \
libbz2-dev flex bison autoconf
yum install gcc gcc-c++ automake bison flex python python-pip \
python-virtualenv boost-devel boost-static cmake openssl-devel \
libcurl-devel bzip2-devel
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 2.8.12.1
- 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 build/centos_install_python27.sh
, which
installs it into /usr/local/bin
. (Run the script as root.)
Install boost 1.48 or higher (at least the thread
and regex
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
/usr/local/lib
.
Then:
yum install cmake libcurl-devel
easy_install-2.7 pip
pip-2.7 install virtualenv
Notes:
-
On CentOS/RHEL 5.x, two of the utilities,
dx-contigset-to-fasta
anddx-reads-validator
, will not function correctly, as some of the library versions are too old. -
Tested on CentOS 5.4 and CentOS 6.2.
Install the Command Line Tools for XCode. (Free registration required with Apple)
Install pip
and virtualenv
for Python:
easy_install-2.7 pip
pip-2.7 install virtualenv
Install the following packages from source or via Homebrew, Fink, or MacPorts:
- CMake (
sudo port install cmake
orbrew install cmake
) - Boost >= 1.49 (
sudo port install boost
orbrew 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:
- MinGW, including
mingw32-libz-dev
,mingw-zip
, andmingw-regex
. - NSIS
See the Upload Agent Readme for Upload Agent build documentation.
Please use GitHub to report bugs, post suggestions, or send us pull requests.