生信技能樹的轉錄組學習開班了, 第一個任務是安裝軟件, 于是我花了一個下午時間和Linux斗智斗勇。
windows10: Unbuntu on windows10. 至于如何win10上開啟Linux子系統(tǒng),百度會有無數教程的。
建議搭配cmder,界面更好看,用的更開心。
但是直接在cmder里啟動ubuntu不能使用方向鍵,需要做一些修改,即在cmder的setting的startup的command line添加
%windir%\system32\bash.exe ~ -cur_console:p:n
1.下載miniconda https://conda.io/miniconda.html Linux Python2.7
cd srcwget https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.shbash Miniconda2-latest-Linux-x86_64.sh
根據提示,最后會安裝到~/miniconda2
下。
2.添加bioconda channel, 目前還沒有國內源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/conda config --add channels biocondaconda config --set show_channel_urls yes
3.用conda安裝軟件sratoolkit,fastqc,hisat2,samtools,htseq-count, 與網絡有著密切的關系
查詢可供安裝的軟件, https://bioconda.github.io/recipes.html#recipes
conda create -n biostar sra-tools fastqc hisat2 samtools htseq
拓展: 了解conda的命令
注:conda只有一個問題,就是看網絡條件,國內源似乎還在制作中。
R語言和Rstudio就看下面的講解。
我的習慣:
家目錄下創(chuàng)建src文件夾,用于存放軟件包
家目錄下創(chuàng)建biosoft文件夾,用于安裝軟件
為了提高下載速度,我們需要替換/etc/apt/source.list
中默認鏡像源。方法參考自中國科學技術大學開源鏡像站
# 備份cd /etc/apt/sudo cp source.list source.list.bk# 替換sudo sed -i 's/http/https/g' sources.listsudo sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' sources.listsudo sed -i 's/security.ubuntu.com/mirrors.ustc.edu.cn/g' sources.list# 更新sudo apt-get updatesudo apt-get upgrade
選擇合適的鏡像站,讓你的速度飛起來
功能: 下載,操作,驗證NCBI SRA中二代測序數據
網址:https://trace.ncbi.nlm.nih.gov/Traces/sra/sra.cgi?view=software
步驟:
cd srcwget https://ftp-trace.ncbi.nlm.nih.gov/sra/sdk/2.8.2-1/sratoolkit.2.8.2-1-ubuntu64.tar.gztar -zxvf sratoolkit.2.8.2-1-ubuntu64.tar.gzmv sratoolkit.2.8.2-1-ubuntu64 ~/biosoft# 加入環(huán)境變量echo 'PATH=$PATH:~/biosoft/sratoolkit.2.8.2-1-ubuntu64/bin' >> ~/.bashrc# 測試prefetch -v# 嘗試下載,默認存放在家目錄下的ncbi文件夾中prefetch -c SRR390728
閱讀官方文章進一步了解:
如何開啟ascp加速下載
vdb-config更改基本設置
功能: 可視化展示二代測序數據質量
網站:http://www.bioinformatics.babraham.ac.uk/projects/fastqc/
步驟:
# 判斷系統(tǒng)是否安裝javajava -version# 安裝java, 請改成openjdk-9-jdk,下面的是錯誤演示sudo apt install openjdk-9-jre-headless# 驗證java -version# openjdk version '9-internal'# OpenJDK Runtime Environment (build 9-internal+0-2016-04-14-195246.buildd.src)# OpenJDK 64-Bit Server VM (build 9-internal+0-2016-04-14-195246.buildd.src, mixed mode)# 安裝fastqccd srcwget http://www.bioinformatics.babraham.ac.uk/projects/fastqc/fastqc_v0.11.5.zipunzip fastqc_v0.11.5.zipmv FastQC/ ~/biosoft/cd ~/biosoft/FastQC/chmod 770 fastqc# 添加環(huán)境變量, 我用sed修改sed -i '/^PATH/s/\(.*\)/\1:~\/biosoft\/FastQC\//' ~/.bashrcsource ~/.bashrcfastqc -v# FastQC v0.11.5
拓展:
了解fastqc結果中各個圖的含義
掌握如何從fastqc的結果中提取數據
學習sed的用法,http://dongweiming.github.io/sed_and_awk/
SAM: 存放高通量測序比對結果的標準格式
功能: Reading/writing/editing/indexing/viewing SAM/BAM/CRAM format
網站: http://samtools.sourceforge.net/
安裝:
cd src# prerequsite## system requirementsudo apt install autoconf libz-dev libbz2-dev liblzma-dev libssl-dev### zlib2wget http://zlib.net/zlib-1.2.11.tar.gztar -zxvf zlib-1.2.11.tar.gz && cd zlib-1.2.11 && make && sudo make install && cd .. && rm -rf zlib-1.2.11### bzip2wget http://bzip.org/1.0.6/bzip2-1.0.6.tar.gztar -zxvf bzip2-1.0.6.tar.gz && cd bzip2-1.0.6 && make && sudo make install && cd .. && rm -rf bzip2-1.0.6### cursessudo apt-get install libncurses5-dev ### htslibgit clone https://github.com/samtools/htslib.gitcd htslibautoreconf# building samtoolsgit clone https://github.com/samtools/samtools.gitcd samtoolsautoconf -Wno-syntax./configure make && make install prefix=$HOME/biosoft/samtools## add PATHsed '/^PATH/s/\(.*\)/\1:~\/biosoft\/samtools\/bin/' .bashrc -isource ~/.bashrcsamtools --help
順便安裝bcftools
cd srcgit clone https://github.com/samtools/bcftools.gitmake && make install prefix=$HOME/biosoft/bcftoolsmake cleansed '/^PATH/s/\(.*\)/\1:~\/biosoft\/bcftools\/bin/' .bashrc -isource ~/.bashrcebcftools -h
因為用的是github,所以以后更新就用下面命令
cd htslib; git pullcd ../bcftools; git pullmake cleanmake
吐槽: 編譯的時候需要安裝好多前置包,真麻煩!
功能: 將測序結果比對到參考基因組上
網站: http://ccb.jhu.edu/software/hisat2/index.shtml
安裝:
cd srcwget ftp://ftp.ccb.jhu.edu/pub/infphilo/hisat2/downloads/hisat2-2.1.0-source.zipunzip hisat2-2.1.0-source.zip# 編譯hisat2cd hisat2-2.1.0makerm -f *.h *.cpp cd ../mv hisat2-2.1.0 ~/biosoft/hisat2# add to PATHsed '/^PATH/s/\(.*\)/\1:~\/biosoft\/hisat2/' ~/.bashrc -isource ~/.bashrc# testhisat2 -h
吐槽: 居然沒有make install !!!
拓展:
HISAT2支持--sra-acc
,也就是可以集成SRATOOLS的,但是需要安裝額外包,可以看文章自己折騰。
功能: 根據比對結果統(tǒng)計基因count
# prerequsitessudo apt-get install python-pippip install --upgrade pipsudo apt-get install build-essential python2.7-dev python-numpy python-matplotlib## 驗證, 保證無報錯python -V## pythonpython>>> import numpy >>> import matplotlib ## install HTSeqpip install htseq## 驗證python>>> import HTSeq
教程:
http://www-huber.embl.de/users/anders/HTSeq/doc/tour.html#tour
推薦:
推薦安裝一個ipython,學習ipython如何使用
將軟件包安裝到當前用戶目錄下pip install --user xxx
Ubuntu 14.04的自帶R版本跟不上時代的變化,然后自己編譯的坑有太多,所以先用Linux處理數據,然后在Windows下分析數據。這樣就很輕松了。一些需要編譯的軟件包,還可以用RTools。
R:https://cran.r-project.org/
Rstudio: https://www.rstudio.com/
二進制版本: R官方提供了Ubuntu最新版本更新方法,如下
# 添加Secure APTsudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E084DAB9# 添加deb到source.listvi source.listdeb https://mirrors.ustc.edu.cn/CRAN/bin/linux/ubuntu xenial/deb https://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe# 更新并安裝sudo apt-get updatesudo apt-get install r-base# (optional)如果要自己編譯Rsudo apt-get install r-base-dev# 測試which R/usr/bin/R
安裝之后建議修改一下R包鏡像源,提高下載速度。
vi ~/.Rprofileoptions('repos' = c(CRAN='https://mirrors.tuna.tsinghua.edu.cn/CRAN/'))options(BioC_mirror='https://mirrors.tuna.tsinghua.edu.cn/bioconductor')
編譯部分:新手階段不要輕易嘗試,如果你能順利搞定,你的Linux能力已經過關了
如何處理./configure
中出現的問題:
configure: error: No F77 compiler found
sudo apt-get install gfortran
configure: error: —with-readline=yes (default) and headers/libs are not available
# 其實可以--with-readlines=no, 但是還是把東西裝了吧install libreadline-dev
configure: error: —with-x=yes (default) and X11 headers/libs are not available
# 因為是CLI模式,不需要GUI./configure --with-x=no
configure: error: pcre >= 8.20 library and headers are required
sudo apt-get install libpcre3 libpcre3-dev
注: 上面安裝其他軟件時用到的包,其實也有一部分是R所需要的,如果出錯的話,也是谷歌+必應+百度一個一個解決。
./configure --with-x=no --prefix=$HOME/biosoft/R3.4.1
最后配置成功后會出現如下結果:
R is now configured for x86_64-pc-linux-gnu Source directory: . Installation directory: /usr/local C compiler: gcc -g -O2 Fortran 77 compiler: f95 -g -O2 Default C++ compiler: g++ -g -O2 C++98 compiler: g++ -g -O2 C++11 compiler: g++ -std=gnu++11 -g -O2 C++14 compiler: g++ -std=gnu++14 -g -O2 C++17 compiler: Fortran 90/95 compiler: gfortran -g -O2 Obj-C compiler: Interfaces supported: External libraries: readline, curl Additional capabilities: NLS Options enabled: shared BLAS, R profiling Capabilities skipped: PNG, JPEG, TIFF, cairo, ICU Options not enabled: memory profiling Recommended packages: yesconfigure: WARNING: you cannot build info or HTML versions of the R manualsconfigure: WARNING: you cannot build PDF versions of the R manualsconfigure: WARNING: you cannot build PDF versions of vignettes and help pages
這些警告無傷大雅,畢竟CLI看不了PDF。
make
然后我發(fā)現一個錯誤
error: jni.h: No such file or directory
原因是之前的openjdk-9-jre-headless
無頭, 不完整,所以需要重新安裝一個完整的
# 先卸載sudo apt-get remove openjdk-9-jre-headless# 后安裝最完整java環(huán)境sudo apt-get install openjdk-9-jdk
然后重新make && make install
我以為自己不會遇到問題了,結果
installing doc .../usr/bin/install: 無法獲取'NEWS.pdf' 的文件狀態(tài)(stat): 沒有那個文件或目錄/usr/bin/install: 無法獲取'NEWS.pdf' 的文件狀態(tài)(stat): 沒有那個文件或目錄Makefile:121: recipe for target 'install-sources2' failed
MDZZ!本來就沒有考慮到x11模塊,不能搞pdf,你和我說報錯!于是我默默去百度一下,給出的方法是忽略錯誤
make install -i
謝天謝地,終于通過了?。。√砑迎h(huán)境變量測試一下吧
sed '/^PATH/s/\(.*\)/\1:~\/biosoft\/R-3\.4\.1\/bin\//' .bashrc -iR> .libPath()[1] '/home/xzg/biosoft/R-3.4.1/lib/R/library'# 安裝Hadley大神的包壓壓驚install.packages('tidyverse')
真麻煩!我要去Y叔的小密圈問下,看看他有沒有其他更好的方法
以后在Ubuntu安裝軟件之前,先保證如下被安裝了。
## build-essentialsudo apt-get install build-essential## javasudo apt install openjdk-9-jdk## 各種包sudo apt install autoconf libz-dev libbz2-dev liblzma-dev libssl-dev### zlib2wget http://zlib.net/zlib-1.2.11.tar.gztar -zxvf zlib-1.2.11.tar.gz && cd zlib-1.2.11 && make && sudo make install && cd .. && rm -rf zlib-1.2.11### bzip2wget http://bzip.org/1.0.6/bzip2-1.0.6.tar.gztar -zxvf bzip2-1.0.6.tar.gz && cd bzip2-1.0.6 && make && sudo make install && cd .. && rm -rf bzip2-1.0.6### cursessudo apt-get install libncurses5-dev
R編譯需要的Java必須是完全體,所以必須是 openjdk-9-jdk,不然無限報錯
make -i
可以忽略系統(tǒng)報錯,繼續(xù)走下去,很多時候一點小錯是沒有關系的
如果./configure --prefix=/path/to/where
寫錯了,然后最后安裝的地方錯了, 不能簡單的把軟件包挪個位置就行了,至少要把目錄內的R-3.4.1/bin/R
和R-3.4.1/lib/R/bin/R
的路徑進行修改。
make得要好好學習,有些時候不能./configure && make && make install prefix=/path/to/where
一套走下來,有點作者可能沒有定義install
我們遇到的問題基本上無數前人已經填坑了,所以谷歌百度必應總能找到, 如果你想偷懶,那你可以加入我的小密圈,向我提問。
聯(lián)系客服