CulebrONT安裝筆記(新)
現在拿長序列做基因體的散彈槍定序組裝,可以用的生物資訊工具真的很多。問題是,選用怎樣的工具組裝比較好?這個叫做culebrONT的開源Snakemake pipeline是一個很有用的東西,他可以用來運行各種的散彈槍定序組裝的生物資訊工具、修正(polishing)、甚至於(有必要的話)把序列圈起來等等,幫助你進行各種方案間的比較,讓使用者可以建構適合自己的理想工作流程。以下是我們在舊的Z600電腦工作站上重新安裝culebrONT的筆記。
安裝作業系統
我們這台是修修補補過的HP Z600老電腦工作站,硬體規格是Xeon E5620x2 8 cores 24GB DDR3-1333 ECC Registered RAM (4GB*6) 1TB SATA SSD Nvidia GTX 1080 8GB。首先是安裝Linux作業系統,我們要在1TB的SSD上面安裝的作業系統是Ubuntu 22.04.4 LTS (Jammy Jellyfish),準備工作:
先從官網下載它的64-bit PC (AMD64) Desktop Image iso (ubuntu-22.04.4-desktop-amd64.iso),然後用balena etcher寫到USB flash disk上 (超過5Gb的容量)。
用做好的USB flash disk開機進行安裝。從GRUB選單中,選擇Try or Install Ubuntu,語系選English,Install type選Normal Installation,核取Download updates while installing Ubuntu以及Install third-party software for graphics and Wi-Fi hardware and additional media formats。
下一個選單,因為這個SSD裡面的東西已經不要了,我們選取Erase disk and install Ubuntu。
選地區、建立使用者名稱密碼。進行安裝。完成之後,重新開機,系統會提醒你取出USB flash disk。
第一次開機進入Ubuntu Desktop之後,首先做系統更新:
sudo apt-get update
安裝R
關於R的安裝,參考https://cran.r-project.org ,步驟如下:
# update indices
$ sudo apt update -qq
# install two helper packages we need
$ sudo apt install --no-install-recommends software-properties-common dirmngr
# add the signing key (by Michael Rutter) for these repos
# To verify key, run gpg --show-keys /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc
# Fingerprint: E298A3A825C0D65DFD57CBB651716619E084DAB9
$ wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc | sudo tee -a /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc
# add the R 4.0 repo from CRAN -- adjust 'focal' to 'groovy' or 'bionic' as needed
$ sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/"
#installation
$ sudo apt install --no-install-recommends r-base
安裝Graphviz
Graphviz: https://graphviz.org/download/
$ sudo apt install graphviz
安裝GO
參考這篇的作法
sudo apt-get install -y build-essential libseccomp-dev pkg-config squashfs-tools cryptsetup
export VERSION=1.13.15 OS=linux ARCH=amd64
wget -O /tmp/go${VERSION}.${OS}-${ARCH}.tar.gz https://dl.google.com/go/go${VERSION}.${OS}-${ARCH}.tar.gz
sudo tar -C /usr/local -xzf /tmp/go${VERSION}.${OS}-${ARCH}.tar.gz
echo 'export GOPATH=${HOME}/go' >> ~/.bashrc
echo 'export PATH=/usr/local/go/bin:${PATH}:${GOPATH}/bin' >> ~/.bashrc
source ~/.bashrc
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.58.0
創建一個目錄結構,以將Singularity的原始碼放在正確的位置。然後cd切換到Singularity原始碼的目錄。
mkdir -p ${GOPATH}/src/github.com/sylabs && \
cd ${GOPATH}/src/github.com/sylabs
安裝Singularity
git clone --recurse-submodules https://github.com/sylabs/singularity.git
cd singularity
git checkout v4.1.2
然後編譯
cd ${GOPATH}/src/github.com/sylabs/singularity && \./mconfig && \cd ./builddir && \make
以上步驟出現錯誤,發現需要先裝git,所以
sudo apt install git
然後再做一次編譯,發現還需要autoconf, lib tool, glib-2.0, fuse, libfuse-dev,所以先用sudo apt-get install以上這些套件,然後再重新編譯就可以成功了。
如果以上都順利通過,那就是最後一步!將Singularity安裝到系統中。
sudo make install
用singularity version看看:
4.1.2
下載與安裝culebrONT
$ python3 -m pip install culebrONT
$ culebrONT install_local
這裡發現需要先安裝pip,所以
sudo apt install python3-pip
然後再重做一次python3 -m pip install ….
他會需要下載超過4GB的內容,所以可以在這裡擺著。(最好大清早做這件事,網路速度比較快)
等待…..
另外,我發現這個Ubuntu 22.04有個問題,就是安裝之後我就一直找不到它的”Settings”
這個問題好像早就有不少人遇到過了,解決的方法就是重新安裝settings,我們另外開一個terminal:
sudo apt-get update && sudo apt-get install --reinstall gnome-control-center
就可以了。
測試
裝好之後可以裝測試數據來跑看看,首先下載測試用的數據到test資料夾:
culebrONT test_install -d test
開始測試:
culebrONT run_local -t 8 -c test/data_test_config.yaml --singularity-args "--bind $HOME"
我這裡test放在/home/onion/底下,我用的是:
culebrONT run_local --threads 8 --singularity-args "--bind $HOME" --config /home/onion/test/data_test_config.yaml
跑下去才知道這台老電腦真的好慢好慢ㄟ…. 🙂
結語:電腦硬體老舊似乎真的是跑不動的。我們把這個新安裝好的SSD搬到另一台電腦(Xeon E2236 32G RAM RTX4000)上跑test data就OK了!
附註:這次新安裝的Ubuntu 22.04不知為何(有人說也許apt-get更新就會好)沒有顯示桌面圖示,但我們這樣解決的:
sudo apt install gnome-shell-extension-desktop-icons