没有docker我真的不想动这样的生信软件
看到群里有人咨询TCGA数据库御用的SNP6.0芯片的CNV数据的分析软件,GISTIC2如何安装和使用。让我想起来五六年前安装它的恐惧,有必要系统性整理一下,并且实名羡慕一下 现在的小朋友们,安装软件方便的不要不要的!
C语言源代码需要编译的软件
最开始开发者都是C语言流派, 所以标准的源代码安装三部曲即可,即使 configure+make+ make install 来安装
mkdir -p ~/biosoft/myBin
echo 'export PATH=/home/jianmingzeng/biosoft/myBin/bin:$PATH' >>~/.bashrc
source ~/.bashrc
cd ~/biosoft
mkdir cmake && cd cmake
wget http://cmake.org/files/v3.3/cmake-3.3.2.tar.gz
tar xvfz cmake-3.3.2.tar.gz
cd cmake-3.3.2
./configure --prefix=/home/jianmingzeng/biosoft/myBin
make
make install
## Download and install samstat
## http://samstat.sourceforge.net/
## http://www.htslib.org/doc/samtools.html
cd ~/biosoft
mkdir samstat && cd samstat
wget http://liquidtelecom.dl.sourceforge.net/project/samstat/samstat-1.5.tar.gz
tar zxvf samstat-1.5.tar.gz
cd samstat-1.5
./configure --prefix=/home/jianmingzeng/biosoft/myBin
make
make install
~/biosoft/myBin/bin/samstat --help
但是这样的安装受限于操作系统库文件,大多数人是没有操作系统管理员权限的,所以安装库文件特别的免麻烦,这也就是早期生物信息学初学者遇到最多的bug,去搜索一个软件的安装使用方法, 甚至彻夜不眠三天两夜都搞不定一个小小的软件安装!实在是不能怪他,毕竟并不是计算机专业科班出身,可能连为什么需要三部曲,configure+make+ make install 来安装软件都不知道,谈何调试解决bug呢。
打包好的二进制可执行软件
所以作者会提供打包好的二进制可执行文件,下载即可使用它。
# ftp://ftp.ncbi.nlm.nih.gov/blast/
# ftp://ftp.ncbi.nlm.nih.gov/blast/executables/LATEST
进入就可以看到,非常齐全的软件列表,都是下载即可使用!
按需下载即可。
各个编程语言依赖软件
但是后来开发者都是各个编程语言派系,perl,python,r,java,julia,go,ruby等等,甚至是MATLAB程序。
并不是说作为一个生信工程师,你需要学会那么多语言,其实你仔细想想看,你并没有学会C语言,仍然是在源代码安装大量软件。所以,对应各种编程语言依赖的软件,同样的是需要搞清楚常规安装方法即可。
pip install RPy2 --user
pip install Numpy --user
pip install Pandas --user
pip install BioPython --user
pip install matplotlib --user
pip install PySQLite --user
还是推荐conda解决
现在的生信工程师非常幸福啦,大量的NGS流程代码我几年前就共享在生信技能树,生信菜鸟团各大平台了。也无需一个个软件去搜索,去学习,去安装它。比如我在 鉴定新的lncRNA之上游流程 写到的,使用conda来创建LncRNA-seq的实战软件环境
conda create -n lncRNA
conda activate lncRNA
conda install -y -c bioconda hisat2 stringtie samtools fastp gffcompare
# conda search gffcompare
它会自动解决软件的有各式各样的依赖,不过,有些软件仅仅是安装并没有用,还需要下载配套数据库,比如 HOMER的motif寻找,数据库文件也是几个G,如果是在海外,下载的网速也是一个问题。
这个时候docker是一个解决方案
它不仅仅是帮你安装软件,还打包好测试数据,运行的示例,配套数据库,甚至还赠送你一个操作系统!
用集成了anaconda的docker快速布置生信分析平台 我学会docker啦!希望你也可以学会 跟着jimmy学docker系列之第2讲:一个软件一个容器 跟着jimmy学docker系列之第3讲:为何不创建自己的docker容器呢? 跟着jimmy学docker系列之第4讲:docker容器资源调度问题(MAC版本) 使用阿里云+Docker分析RNA-Seq与ChIP-Seq Docker应用之一键化安装Wordpress(无需代码基础) 如何从看不懂Dockerfile到创建自己的镜像
docker pull cheungatm/gistic2:v2
然后vip群里的另外一位大佬(ShixiangWang)也给出了一些建议,也是他自己耗费一个上午的成果:
https://github.com/ShixiangWang/install_GISTIC
https://hub.docker.com/r/shixiangwang/gistic