• 论坛首页
  • 我的丁香客
  • 找人
    查找好友
  • 更多
    丁香园
    丁香通
    丁香人才
    丁香会议
    丁香搜索
    丁香医生
    丁香无线
    丁香导航
    丁当铺
    文献求助
    医药数据库
    丁香诊所
    来问医生
登录 注册

生物信息

关注今日:4 | 主题:140340
论坛首页  >  生物信息学讨论版   >  NGS & Microarray
  • 发帖
    每发1个新帖
    可以获得0.5个丁当奖励
  • 回帖

分享到:

  • 微信

    微信扫一扫

  • 微博
  • 丁香客
  • 复制网址

[原创]【NGS数据分析经验分享】1-4 编译安装常用工具(举例)和编辑终端配置文件 [精华]

  • 只看楼主
  • 页码直达:
  • 直达末页
楼主 老宫
老宫
科室保密

丁香园VIP站友

  • 100
    积分
  • 210
    得票
  • 1332
    丁当
  • +3 积分
  • 1楼
这个帖子发布于3年零45天前,其中的信息可能已发生改变或有所发展。

【目录贴】

大多数NGS分析工具以源代码形式发布。以FASTX-Toolkit为例,演示编译安装源代码形式发布的工具的编译安装方法。FASTX-Toolkit从下面的地址下载。

http://hannonlab.cshl.edu/fastx_toolkit/download.html

最新的0.0.14版本需要下载源代码,老的0.0.13版本可以直接下载编译好的版本(就是下载完解压缩就能直接用)。我们下载新版。新版需要另一个库libGTextUtils的支持,我们同时下载配套的0.7版本。下载方法同前(右键复制地址,然后在PuTTY里用wget下载)。我习惯一般都下载到Linux主目录下Downloads目录里,你随意。

cd ~/Downloads/
wget https://github.com/agordon/fastx_toolkit/releases/download/0.0.14/fastx_toolkit-0.0.14.tar.bz2
wget https://github.com/agordon/libgtextutils/releases/download/0.7/libgtextutils-0.7.tar.gz

回到网页,想要运行FASTX-Toolkit的完整功能还需要其他软件包的支持。

需要 GNU G++ 4.1.2以上版本(我的系统是4.8.5,用g++ --version查看版本),两个Perl模块(module)PerlIO::gzip和GD::Graph::bars(需要安装),gnuplot 4.2以上版本(需要安装)。运行下面的命令安装gnuplot。

sudo yum install gnuplot

在上一节我们配置了cpan并安装了cpanm。可以用cpan和cpanm安装Perl的模块。

cpanm PerlIO::gzip
cpanm GD::Graph::bars

cpanm同样会自动查找并安装关联的模块。然而我们发现“‘GD’ is not installed”。这是由于系统缺少GD库。我们需要先安装GD库。

sudo yum install gd gd-devel

然后重新运行cpanm GD::Graph::bars,显示安装成功。(编译Linux软件包一定要火眼金睛,在满屏幕文字中找是不是有错误。)

在满足了FASTX-Toolkit运行需求之后,下面编译安装FASTX-Toolkit。

一般来说,以源代码形式发布的工具,都会有一个configure程序,运行这个程序会检查编译环境,是否缺少运行库及版本。如果一切满足,就会生成编译脚本。之后执行make编译,make install安装。所以下面我们会经常使用这一组命令组合。假定你想要安装工具的路径是/path/to/the/tool,源代码路径是/source/of/the/tool,下面是一个命令模板。

cd /source/of/the/tool
./configure –prefix=/path/to/the/tool
make && make install

如果一切运行成功,那么在你指定的/path/to/the/tool目录下就会有新的工具程序生成(这个目录下可能会生成bin, lib, include, share等几个子目录)。

比如安装libgtextutils,首先解压缩下载的文件。

tar zxvf libgtextutils-0.7.tar.gz

运行下面命令。

cd libgtextutils-0.7
./configure --prefix=$HOME/Tools/libgtextutils-0.7
make && make install

然后我们进入指定的安装目录查看。

其中有3个目录(因为安装的是个库,所以一般没有bin子目录)。

下面用类似方法安装fastx_toolkit。

cd ~/Downloads/
tar jxf fastx_toolkit-0.0.14.tar.bz2

你会发现我用的解压缩命令略有不同。一般来说,下载的源代码文件常常是几种压缩格式,gz,bz2,xz。对应的解压参数分别是z,j,J。比如,解压缩gz就是tar zxvf;解压缩bz2用tar jxvf;解压缩xz用tar Jxvf。其中,x参数表示执行“解压缩”,v参数在屏幕上显示详细信息(解压出的一大堆文件名),f参数指定操作其后面的文件。

然后运行配置程序。

./configure --prefix=$HOME/Tools/fastx_toolkit-0.0.14

然而这一次,系统报了一个错。

这是因为,我们虽然安装了gtextutils,却没有告诉系统它在哪儿(Linux系统可傻了,你不告诉它,它就不知道)。根据提示,我们修改PKG_CONFIG_PATH 环境变量,告诉系统gtextutils的位置。然后重新运行配置程序。

export PKG_CONFIG_PATH=$HOME/Tools/libgtextutils-0.7/lib/pkgconfig
./configure --prefix=$HOME/Tools/fastx_toolkit-0.0.14

这一次应该可以了。运行make && make install安装。

进入安装FASTX-Toolkit的目录($HOME/Tools/fastx_toolkit-0.0.14),查看并测试。运行每一个程序并带参数-h(个别程序没有这个参数),如果没问题,会给出这个程序的用法。

./fasta_clipping_histogram.pl

还记得吗?Linux很傻。虽然你安装了程序,它就在你眼前,但是Linux不知道。你需要告诉Linux到哪里找它。方法有:(1)给出路径,比如~/Tools/fastx_toolkit-0.0.14/bin/fastx_trimmer;(2)如果程序在当前路径下,可以用./fastx_renamer(这其实也是给出路径,只不过是相对路径);(3)把程序路径放在系统变量PATH里。当安装的程序越来越多,每次用路径名太麻烦了。我一般使用第三种方法。下面我们编辑~/.bashrc文件,把程序路径添加到系统变量PATH,这样每次打开终端,这个路径就会自动设置。在Linux终端,一般使用vi工具来编辑配置文件。vi工具很强大且容(Nan)易(Yi)使用。下面介绍更麻(Rong)烦(Yi)的方法。需要在Windows中安装2个软件WinSCP和Notepad++。在将来远程操作服务器的时候,你会发现这两个软件是多么实用。在这里下载,有安装包和便携包两种,看你喜欢。

https://winscp.net/eng/download.php

https://notepad-plus-plus.org/download/

运行WinSCP(就一个WinSCP.exe文件有用,我把它放桌面上了)。

弹出一个登陆对话框。在右侧填写“Host name”,“User name”和“Password”(就是你PyTTY登陆的主机一样的),点“Save”保存(起个名字吧)。

虽然说不推荐,但是我的虚拟机里面也没啥重要的东西不是,保存密码吧,少年!然后“Login”。

和PuTTY一样,WinSCP在第一次连接Linux的时候也需要存储密匙(因为两者都使用SSH协议)。

左侧是你的Windows目录,右侧是Linux目录。按快捷键CTRL+ALT+H显示隐藏文件(也可以在设置中找,你自己找吧)。

找到.bashrc文件,点鼠标右键,选“Edit”,然后“Configure…”。

点击“Add…”

选“External editor:”,然后点“Browse…”找到你安装的notepad++程序。按“OK”。

按“UP”和“Down”调整编辑器顺序,把Notepad++移动到第一个。按“OK”完成设置。这样,以后双击WinSCP中的文件,就会默认用Notepad++打开。双击.bashrc文件。

文件在Notepad++中打开,我们需要编辑的是最后一行“export PATH=…”,把这一行改成下面这样。

# User specific aliases and functions
#
#Systom tools
export PATH=/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin

#General tools
PYTHONPATH=$HOME/Tools/Python-2.7.14
export PATH=$PYTHONPATH/bin:$HOME/perl5/bin:$HOME/.local/bin:/home/bionux/bin:$PATH

#NGS tools
export PATH=$HOME/Tools/fastx_toolkit-0.0.14/bin:$PATH

不同路径之间用“:”分开。“#”开头的行是注释。上面段是系统全局定义,不要改动。“# User specific aliases and functions”这行字下面是我们自己改的。第一段,“export PATH=/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin”是系统程序的路径,千万不能缺,不然很多东西都会出错。第二段,我把基本工具(python,Perl等)路径加了进去(注意尾巴上的“:$PATH”非常十分特别重要,它引用了前面对PATH的定义,如果缺少了,前面等于没写)。第三段添加了NGS工具软件路径(暂时只有FASTX-Toolkit,后面会逐渐添加)。保存这个文件(这个保存操作会直接应用到远程Linux服务器上,不信你用less ~/.bashrc看看)。重新打开终端~/.bashrc会自动执行,或者用下面命令手动执行~/.bashrc文件。

. ~/.bashrc
echo $PATH

.命令是个神奇的命令,它跟source差不多(有些微的差别,不过我忘记了),用来运行shell脚本。echo命令查看PATH变量的值,仔细检查,看看有没有错。

有些工具以编译好的可执行文件形式发布,不需要编译,下载,解压缩,设置环境,运行就可以了。比如fastQC是个Java软件,在这里下载。

https://www.bioinformatics.babraham.ac.uk/projects/fastqc/

https://www.bioinformatics.babraham.ac.uk/projects/download.html#fastqc

用下面命令解压缩。

unzip fastqc_v0.11.7.zip

进入解压缩的FastQC目录。FastQC是个Java程序,不需要编译。只要系统中有Java就可以了(用java -version查看你的Java版本)。

我的Java是OpenJDK 1.8.0_151版本(系统自带的)。

fastqc文件是运行脚本,解压缩出来的时候没有可执行权限(x)。用chmod命令增加可执行权限。运行该程序,查看使用帮助。

cd FastQC
chmod u+x fastqc
./fastqc --help

然后移动FastQC到~/Tools目录下,并添加路径到PATH里。

mv FastQC ~/Tools/

此处省略好几百个工具的安装说明。

总结几点:

(1)源代码形式发布的工具安装之前要阅读说明,确保需要的库都准备就绪(包括设置环境变量,不然系统找不到)。用三部曲模板安装(解压缩,配置,编译安装)。

(2)有些工具有编译好的包,直接下载、解压缩就行了。

(3)对于缺少的系统库,Python包,Perl模块,分别用yum,pip,cpanm或cpan安装。

(4)要仔细查看配置和编译过程中是否有错误,找出你的系统缺少那些库/包/模块。

(5)安装完成后,要记得设置PATH,不然系统找不到。

(6)有个别的软件需要Oracle JDK,而不是OpenJDK,有的需要老版本(1.7,1.6),这时你需要安装需要的Java版本,用绝对路径运行java程序。

 ======我是帅帅的分割线======

本帖将时不时更新,添加内容(就是在省略的好几百个工具里挑几个再写写)。

如果你在安装工具软件中遇到问题,欢迎在本帖提问。

【回到目录】

  • 邀请讨论
  • 不知道邀请谁?试试他们

    换一换
2018-01-14 05:18 浏览 : 42188 回复 : 3
  • 投票 4
  • 收藏 14
  • 打赏
  • 引用
  • 分享
    • 微信扫一扫

    • 新浪微博
    • 丁香客
    • 复制网址
  • 举报
    • 广告宣传推广
    • 政治敏感、违法虚假信息
    • 恶意灌水、重复发帖
    • 违规侵权、站友争执
    • 附件异常、链接失效
    • 其他
老宫 编辑于 2018-01-14 05:51
  • • 2021年基层医疗机构绩效考核变了,事关医生的钱袋子,速看!
2017-8-17
2017-8-17
丁香园准中级站友

  • 82
    积分
  • 283
    得票
  • 1829
    丁当
  • 2楼

2018-01-14 10:24
  • 投票
  • 收藏
  • 打赏
  • 引用
  • 分享
    • 微信扫一扫

    • 新浪微博
    • 丁香客
    • 复制网址
  • 举报
    • 广告宣传推广
    • 政治敏感、违法虚假信息
    • 恶意灌水、重复发帖
    • 违规侵权、站友争执
    • 附件异常、链接失效
    • 其他
  • • 儿科夜班急诊
为梦想小小医生
为梦想小小医生
入门站友

  • 0
    积分
  • 4
    得票
  • 95
    丁当
  • 3楼

留着慢慢消化,感谢楼主!


2018-01-16 15:30
  • 投票
  • 收藏
  • 打赏
  • 引用
  • 分享
    • 微信扫一扫

    • 新浪微博
    • 丁香客
    • 复制网址
  • 举报
    • 广告宣传推广
    • 政治敏感、违法虚假信息
    • 恶意灌水、重复发帖
    • 违规侵权、站友争执
    • 附件异常、链接失效
    • 其他
  • • 2021年取消公立医院编制会不会有进一步动作?最新回复来了
zjubell
zjubell
丁香园准中级站友

  • 174
    积分
  • 470
    得票
  • 561
    丁当
  • +3 丁当
  • 4楼

写的不错,但一般懂点linux的人,觉的这个很容易。

而不懂linux的人,又会觉的无法消化。


版主dachong99留言:
欢迎补充,多多益善~

2018-01-21 21:59
  • 投票
  • 收藏
  • 打赏
  • 引用
  • 分享
    • 微信扫一扫

    • 新浪微博
    • 丁香客
    • 复制网址
  • 举报
    • 广告宣传推广
    • 政治敏感、违法虚假信息
    • 恶意灌水、重复发帖
    • 违规侵权、站友争执
    • 附件异常、链接失效
    • 其他
dachong99 编辑于 2018-01-22 15:41
  • • 【经验分享】要就业了,工作单位怎么选?

关闭提示

需要2个丁当

丁香园旗下网站

  • 丁香园
  • 用药助手
  • 丁香通
  • 文献求助
  • 丁香人才
  • 丁香医生
  • 丁香导航
  • 丁香会议
  • 手机丁香园
  • 医药数据库

关于丁香园

  • 关于我们
  • 丁香园标志
  • 友情链接
  • 联系我们
  • 加盟丁香园
  • 版权声明
  • 资格证书

官方链接

  • 丁香志
  • 丁香园新浪微博
引用回复