做生信的朋友一般对软件都不陌生,我们处理数据的整个过程或多或少的都会用到各种发表的软件,今天来和大家聊聊如何进行软件的选择及安装。
1. 软件选择
软件选择没什么需要注意的,分析之前都会看文献或帖子找方法,里面介绍的都可以用。这一步其实是需要大把时间去调研的,首先应该明确自己样本构建及数据情况,要分析什么内容,期望获得什么结果,最重要的是摸清每个软件的使用范围,比如差异分析时有无生物学重复和有重复两种情况,测序数据有芯片和二代测序等,同一款软件很难兼顾这么多要求,如果不仔细筛选,发文章时肯定会被diss的。
现在有很多文章也会对某一分析条目常用的软件进行测试及优缺点比较,参考自己的硬件资源及分析流程,灵活的选择就可以。比如下面这篇文献,测试的是转录组分析的几个主流软件。
rna-pipline图片来源:https://doi.org/10.1038/s41598-020-76881-x
在实际中还是得根据自己数据情况去选择合适的软件,条条大路通罗马,但是适合别人的不一定适合你。有时间的话可以多测试几款,择优使用。
2. 软件下载
第一种方法也是最简单的,直接去软件官网找安装包的链接,通过wget
下载后安装即可。
目前有很多软件都在github开源了,可以使用git clone
下载项目目录后安装。
有其他一些软件,已经公布了python或者R的包文件,可以直接用conda或者软件支持的方法进行安装。
软件安装方法在官网界面都会有相应的链接,根据情况选择相应的文件下载即可。
比如samtools,以下是官网的下载界面。
samtools-download根据官网说明,以下方法都可以进行下载。
# wget download
wget https://github.com/samtools/samtools/releases/download/1.14/samtools-1.14.tar.bz2
# git clone
git clone https://github.com/samtools/samtools.git
# conda install
conda install -c bioconda samtools
使用第三种方法,下载的时候会自动编译,安装完成后可以直接使用。前两种方法,只是下载了安装文件,还需要自己安装。
3. 软件安装
软件安装看着很容易,实际上遇到的问题最多,主要应该考虑的是以下几个方面。
3.1 系统
目前常用的系统也就是windows、linux和macos三种了吧(顺序不分先后)。
windows很方便,有交互界面,点点点就行,没什么可说的。
linux有自己的安装命令,同时也有很多软件可以下,和windows不同的就是在命令行操作。这个也是目前生信分析用的最多的平台,不管是虚拟机还是服务器,都是如此。
对于macos来说,目前有不少分析软件没有该系统的安装包,使用受限。虽然安装虚拟机可以适当的解决问题,M1芯片的电脑目前貌似只能安装ARM版本的系统,软件就更少了。对于发布的软件,可以直接安装,和windows系统一致,也可以在命令行安装,和linux差不多。
3.2 是否需要编译
linux系统上的软件安装,从是否编译的角度就两种,免编译和需要编译的软件。
对于绝大多数人而言,免编译的软件都省去了很多麻烦,下载后直接使用,最多也就是改一下文件权限就可以了。
Fastree像上面这种标注executable
或者binary
的软件,基本上都是免安装的,可以直接使用。
对于编译,就比较麻烦了,在安装说明里,总会遇见这么几句话(以samtools安装为例)。
cd samtools-1.x # and similarly for bcftools and htslib
./configure --prefix=/where/to/install
make
make install
export PATH=/where/to/install/bin:$PATH # for sh or bash users
简单来说就是配置、安装、添加环境变量。按照操作走一遍,多数的软件都没有问题。如遇到dev、lib或者gcc的问题,多数是因为对应软件和库没有安装或者版本不对,按照错误提示更新就好。
3.3 操作权限和环境变量
在软件编译的时候,会用到一些库文件,最好用有sudo权限的账号安装,可以避免permission denied
的错误。安装完成后,最好将软件的可执行文件及依赖库文件添加到环境变量,使用时避免切换目录或者使用绝对路径运行。添加时可以是全局的,也可以编辑换个人的配置文件。
# 编辑个人配置文件
vi ~/.bashrc
export PATH=/where/to/install/bin:$PATH
export LD_LIBRARY_PATH=/where/to/install/lib:$LD_LIBRARY_PATH
如果有权限添加系统全局变量最好,可以方便其他人使用。
对于软件的使用,一般安装目录都会有readme文件,官网也会有详细的userguide说明,照着做就行了。
网友评论