Giter Site home page Giter Site logo

solvebio / dx-toolkit Goto Github PK

View Code? Open in Web Editor NEW
0.0 5.0 0.0 19.32 MB

DNAnexus platform client libraries http://autodoc.dnanexus.com/

License: Apache License 2.0

Makefile 0.63% Shell 0.76% Python 31.94% Groovy 0.13% Batchfile 0.04% PowerShell 0.02% NSIS 0.23% Perl 0.70% Ruby 1.17% R 7.72% CMake 0.32% C++ 24.23% C 0.09% Java 32.01% WDL 0.01%

dx-toolkit's Introduction

DNAnexus Platform SDK

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.

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 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.

Supported languages

The Platform SDK contains API language bindings for the following platforms:

  • Python (requires Python 2.7)
  • C++
  • Java (requires Java 7 or higher)
  • R

Javascript support lives in a separate repo, dnanexus/dx-javascript-toolkit.git.

Build dependencies

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+.

Ubuntu 16.04

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

Ubuntu 14.04

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

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

Fedora

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 2.8.12.1
  • openssl 1.0.1e
  • libcurl 7.32.0

CentOS/RHEL 5.x/6.x

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:

  • Tested on CentOS 5.4 and CentOS 6.2.

OS X

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 or brew install cmake)
  • Boost >= 1.49 (sudo port install boost or 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

Windows

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

Upload Agent

See the Upload Agent Readme for Upload Agent build documentation.

Reporting Bugs

Please use GitHub to report bugs, post suggestions, or send us pull requests.

dx-toolkit's People

Contributors

kislyuk avatar abiyani avatar commandlinegirl avatar andrewcarroll avatar kpjensen avatar geetduggal avatar orodeh avatar nicolasbockg avatar billagee avatar knafissi avatar vramey avatar joesachmo avatar godotgildor avatar psung avatar cygnil avatar mlin avatar hamed-dnanexus avatar amtseng avatar ivoloshanenko avatar storozhilov-dnanexus avatar evanworley avatar ocbrewing avatar manolaz avatar dkillebrew avatar thanhhahaha avatar damien-black avatar jtratner avatar emiloslavsky avatar asundqui avatar emspin-zz avatar

Watchers

Joseph Huttner avatar James Cloos avatar Jeff avatar Jérémie Cohen avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.