没有docker我真的不想动这样的生信软件

  • 2020 年 3 月 26 日
  • 筆記

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是一个解决方案

它不仅仅是帮你安装软件,还打包好测试数据,运行的示例,配套数据库,甚至还赠送你一个操作系统!

我在生信技能树上面写过部分docker教程, 目录如下:

  • 用集成了anaconda的docker快速布置生信分析平台
  • 我学会docker啦!希望你也可以学会
  • 跟着jimmy学docker系列之第2讲:一个软件一个容器
  • 跟着jimmy学docker系列之第3讲:为何不创建自己的docker容器呢?
  • 跟着jimmy学docker系列之第4讲:docker容器资源调度问题(MAC版本)
  • 使用+Docker分析RNA-Seq与ChIP-Seq
  • Docker应用之一键化安装Wordpress(无需代码基础)
  • 如何从看不懂Dockerfile到创建自己的镜像

感兴趣的可以简单浏览,如果要完全掌握,仍然是推荐大家看文档,多练习。比如gistic2就有docker镜像,一句话解决战斗:

docker pull cheungatm/gistic2:v2

然后vip群里的另外一位大佬(ShixiangWang)也给出了一些建议,也是他自己耗费一个上午的成果:

https://github.com/ShixiangWang/install_GISTIC  https://hub.docker.com/r/shixiangwang/gistic