Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 installer script

Download the installer file (install_helixer_post.sh) from this repository and do the following

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


## 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
Expand Down
51 changes: 51 additions & 0 deletions ubuntuInstall.sh
Original file line number Diff line number Diff line change
@@ -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_bin

echo "HelixerPost has been installed successfully!"