From a42ff28e6f2b91378972f4bb8c81644b8c8c7701 Mon Sep 17 00:00:00 2001 From: NuttyLogic Date: Wed, 7 Oct 2020 17:56:04 -0700 Subject: [PATCH] - added support for bedGraph methylation calls --- README.md | 51 ++++++++++++++++++++++++++++++++++++-------- docs/installation.md | 33 ++++++++++++++++++++++++++-- setup.py | 3 +++ 3 files changed, 76 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index a7fa0a6..d836982 100644 --- a/README.md +++ b/README.md @@ -14,22 +14,55 @@ BSBolt is released under the MIT license. BSBolt documentation can be found at [bsbolt.readthedocs.io](https://bsbolt.readthedocs.io). -### Installation +## Installation -BSBolt alignment is performed using a modified version of [BWA](https://github.com/lh3/bwa). Read simulation is carried -out using a modified version of [wgsim](https://github.com/lh3/wgsim). +### **PyPi Installation** - -Install through PyPi +The easiest installation method is installing pre-compiled binaries using PyPi. Binaries are provided for python >=3.6 +on unix like systems (macOS >=10.15 and linux). ```shell pip3 install BSBolt --user ``` -Install from source +### **Installing from Source** + +Dependencies + +* zlib-devel >= 1.2.3-29 +* GCC >= 8.3.1 + ```shell -git clone git@github.com:NuttyLogic/BSBolt.git -cd BSBolt-master -python3 setup.py install . +# clone the repository +git clone https://github.com/NuttyLogic/BSBolt.git +cd BSBolt +# compile and install package +pip3 install . +``` + +### **Installing from Source on macOS** + +Dependencies +* autoconf +* homebrew +* xcode + +Installation from source requires xcode command line utilities, [homebrew](https://brew.sh/) macOS package manager, +and autoconf are installed. Xcode through the mac App Store, running the xcode installation command listed below, +or as part of the [homebrew](https://brew.sh/) macOS package manager installation. The full installation process +can be completed as outlined below. + +```shell script +# install xcode utilities +xcode-select --install +# install homebrew +/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" +# install autoconf +brew install autoconf +# optionally install python +brew install python3.8 +# install BSBolt +pip3 install BSBolt ``` + diff --git a/docs/installation.md b/docs/installation.md index a2f855a..040104f 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -1,5 +1,9 @@ -BSBolt consists of mixture of C, CPP, and Python modules. BSBolt was built to be -[manylinux2010](https://www.python.org/dev/peps/pep-0571/) compliant. +BSBolt and dependencies need to be compiled during the installation process. Pre-compiled binaries are available for +macOS >= 10.15 and linux distributions released after 2010 according to the +[manylinux2010](https://www.python.org/dev/peps/pep-0571/) python enhancement proposal. If a precompiled binary is +unavailable for the target OS binaries will be built from source. If working on a linux distribution zlib-devel should +be installed prior to compilation. Compilation on macOS requires xcode-command line utilities and autoconf be installed +as described below. ### **PyPi Installation** @@ -24,3 +28,28 @@ cd BSBolt # compile and install package pip3 install . ``` + +### **Installing from Source on macOS** + +Dependencies +* autoconf +* homebrew +* xcode + +Installation from source requires xcode command line utilities, [homebrew](https://brew.sh/) macOS package manager, +and autoconf are installed. Xcode through the mac App Store, running the xcode installation command listed below, +or as part of the [homebrew](https://brew.sh/) macOS package manager installation. The full installation process +can be completed as outlined below. + +```shell script +# install xcode utilities +xcode-select --install +# install homebrew +/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" +# install autoconf +brew install autoconf +# optionally install python +brew install python3.8 +# install BSBolt +pip3 install BSBolt +``` diff --git a/setup.py b/setup.py index d8c09f7..4d4a6a7 100644 --- a/setup.py +++ b/setup.py @@ -45,6 +45,9 @@ def compile_dependency(compilation_command, cwd): for line in iter(comp.stdout.readline, ''): formatted_line = line.strip() print(formatted_line) + for line in iter(comp.stderr.readline, ''): + formatted_line = line.strip() + print(formatted_line) def make_external_dependencies():