From 90e09d7dbe01b8f329a40eb552f05c25f4037148 Mon Sep 17 00:00:00 2001 From: ataulhaleem Date: Tue, 10 Sep 2024 11:30:51 +0200 Subject: [PATCH 1/4] update: installation script for ubuntu --- README.md | 16 +++++++++++++++ ubuntuInstall.sh | 51 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100755 ubuntuInstall.sh diff --git a/README.md b/README.md index 3c6527a..896925a 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,22 @@ In order for Helixer to find this binary, it needs to be on the PATH. The easies the binary to the bin folder in the virtual environment which you previously created for Helixer (e.g. `path_to_Helixer/env/bin` ) +## Ubuntu installation script + +``` +chmod +x install_helixer_post.sh +./install_helixer_post.sh + +After building the binary you will be prompted to create binary at a desired location, if not unsure you can simply copy paste the following +/usr/local/bin +``` +After building the binary you will be prompted to create binary at a desired location, if not unsure you can simply copy paste the following + +``` +/usr/local/bin +``` + + ## Concept HelixerPost uses a sliding window assessment to determine regions of the genome which are likely gene containing. This is then followed by a Hidden Markov Model to convert the base class and coding phase predictions within diff --git a/ubuntuInstall.sh b/ubuntuInstall.sh new file mode 100755 index 0000000..d77cf80 --- /dev/null +++ b/ubuntuInstall.sh @@ -0,0 +1,51 @@ +#!/bin/bash + +# Check for Rust +if ! command -v rustc &> /dev/null; then + echo "Error: Rust is not installed. Please install Rust from https://www.rust-lang.org/tools/install" + exit 1 +fi + +# Check for libhdf5-dev +if ! dpkg -l libhdf5-dev &> /dev/null; then + echo "Installing libhdf5-dev..." + sudo apt install libhdf5-dev +fi + +# Install hdf5-lzf support (Optional) +echo "Do you want to install hdf5-lzf support (y/n)?" +read -r install_lzf + +if [[ "$install_lzf" =~ ^([Yy]) ]]; then + # Download h5py + wget https://pypi.org/packages/source/h/h5py/h5py-3.2.1.tar.gz + + # Extract and build lzf + tar -xzvf h5py-3.2.1.tar.gz + cd h5py-3.2.1/lzf/ + gcc -O2 -fPIC -shared -Ilzf lzf/*.c lzf_filter.c -lhdf5 -L/lib/x86_64-linux-gnu/hdf5/serial -o liblzf_filter.so + sudo mkdir -p /usr/lib/x86_64-linux-gnu/hdf5/plugins + sudo cp liblzf_filter.so /usr/lib/x86_64-linux-gnu/hdf5/plugins + cd ../.. + rm -rf h5py-3.2.1.tar.gz +fi + +# Clone HelixerPost repository +git clone https://github.com/TonyBolger/HelixerPost.git + +# Build HelixerPost in release mode +cd HelixerPost +cargo build --release + +# Move the binary to a directory in your PATH (e.g., /usr/local/bin) +echo "Where would you like to install the binary (e.g., /usr/local/bin)?" +read -r install_dir + +if [ ! -d "$install_dir" ]; then + echo "Creating directory: $install_dir" + sudo mkdir -p "$install_dir" +fi + +sudo mv ./target/release/helixer_post_bin "$install_dir"/helixer_post + +echo "HelixerPost has been installed successfully!" From ea2d965a63d6aefa453104bc53cd3771b7645bdd Mon Sep 17 00:00:00 2001 From: ataulhaleem Date: Tue, 10 Sep 2024 11:34:44 +0200 Subject: [PATCH 2/4] update:documentation --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 896925a..622d7a4 100644 --- a/README.md +++ b/README.md @@ -53,8 +53,6 @@ the binary to the bin folder in the virtual environment which you previously cre chmod +x install_helixer_post.sh ./install_helixer_post.sh -After building the binary you will be prompted to create binary at a desired location, if not unsure you can simply copy paste the following -/usr/local/bin ``` After building the binary you will be prompted to create binary at a desired location, if not unsure you can simply copy paste the following From 70c2d5fa96abe5dabfc2a86859b4ef96504aa21e Mon Sep 17 00:00:00 2001 From: Haleem Date: Tue, 10 Sep 2024 20:10:02 +0200 Subject: [PATCH 3/4] Update ubuntuInstall.sh helixer_post_bin not helixer_post for integration with helixer --- ubuntuInstall.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ubuntuInstall.sh b/ubuntuInstall.sh index d77cf80..0305401 100755 --- a/ubuntuInstall.sh +++ b/ubuntuInstall.sh @@ -46,6 +46,6 @@ if [ ! -d "$install_dir" ]; then sudo mkdir -p "$install_dir" fi -sudo mv ./target/release/helixer_post_bin "$install_dir"/helixer_post +sudo mv ./target/release/helixer_post_bin "$install_dir"/helixer_post_bin echo "HelixerPost has been installed successfully!" From cb9c36c4a0677403b47c2cab89c545229146b1cf Mon Sep 17 00:00:00 2001 From: Haleem Date: Tue, 10 Sep 2024 20:12:16 +0200 Subject: [PATCH 4/4] Update README.md its installer: will perform install on the latest version --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 622d7a4..7d4bded 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,9 @@ In order for Helixer to find this binary, it needs to be on the PATH. The easies the binary to the bin folder in the virtual environment which you previously created for Helixer (e.g. `path_to_Helixer/env/bin` ) -## Ubuntu installation script +## Ubuntu installer script + +Download the installer file (install_helixer_post.sh) from this repository and do the following ``` chmod +x install_helixer_post.sh