Linux服务器上其它软件安装方式
在Linux服务器上除了用conda安装软件外,还有以下几种原始安装软件方式
1.二进制文件安装;
2.源代码安装;
3.java编译的软件
这几种软件安装方式不一定学会,只作为了解,根据文件的帮助文档来决定使用定哪种安装方式,比如在文献里看到一个软件,到网页搜软件库,或是到gitHub搜软件的仓库,仓库会介绍软件的用法,怎么安装以及如何使用。如果搜不到,可能找不到安装方式,或是人家没写,那么就放弃安装这个软件。目前我们用的软件,95%以上是没有界面化的,不像界面化的软件以傻瓜式点..点就能安装。
1.二进制文件【binary】安装
使用二进制安装软件,有3个步骤:下载、解压、添加到PATH
1.1下载:
首先,搜索想要下载的软件,如hisat2,进到官网找到最新的版本,特别注意,找到linux版本,因为要用服务器安装。
官网:
http://daehwankimlab.github.io/hisat2/
hisat2官网常规下载方式
常规下载方式
找最新更新的,在服务器上安装,和自己的电脑是什么系统没有关系,然后点击右键选择复制链接。
选择最新和匹配服务器的版本其次,下载,使用wget 命令,-c 表示断点续传,-O 指定保存的文件名称
##新建一个文件夹,把要安装的软件放到里面
mkdir biosoft
cd biosoft/
wget -c https://cloud.biohpc.swmed.edu/index.php/s/oTtGWbWjaxsQ2Ho/download -O hisat2-2.2.1-Linux_x86_64.zipls
##-c正在下载时,网络突然断了,过一会儿或是下次提交命令,会从上次下载断的地方开始下载,如果是下载到99%的时候断了,有-c参数在,就不用重新开始。
##-o参数是指定名字,hisat2-2.2.1-Linux_x86_64.zip是从浏览器复制过来的,或是下载完重命名
下载可能很慢,取决于服务器的网速,与自己电脑网速无关。
网络中断导致
1.2解压
ls
##查看是否下载好了,然后解压
unzip hisat2-2.2.1-Linux_x86_64.zip
ls
##查看解压后的文件
解压过程
解压成功
unzip hisat2-2.2.1-Linux_x86_64.zip
软件解压成功
cd hisat2-2.2.1/
ls
./hisat2 --help
# echo 'export PATH="${HOME}/biosoft/hisat2-2.2.1/:$PATH" ' >> ~/.bashrc
ln -s ~/biosoft/hisat2-2.2.1/hisat2* ~/bin/
查看软件里面的内容(绿色的是可执行文件),或是调用帮助文档
调用软件帮助文档
注意:命令不在PATH里,不能随时随地调用文件
路径不对调用不成功例子演示:
hisat2软件本来在安装在biosoft文件夹(目录)里,退出当前路径,调用帮助文档,发现错误。
cd ~
hisat2 --help
不在软件的目录下调用帮助文档报错
出现报错,主要的原因是hisat2不在家目录,而是在biosft。
解决的办法是添加到PATH,3种添加到PATH的方法:
1.3添加到PATH
- 添加到PATH-方法1,临时添加,当次登录有效,不推荐。
PATH=/home/ashu/biosoft/hisat2-2.2.1/:$PATH
##查看自己的家目录:pwd
#这个方法的缺陷:修改后能用,下次登录就不能用了
- 添加到PATH-方法2,追加到~/.bashrc,永久生效。但如果安装软件太多会导致$PATH臃肿,不推荐。
echo'export "PATH=$HOME/bin:$PATH"' >> ~/.bashrc
source~/.bashrc
不理解PATH的人去修改PATH,最终导致的结果是他们的环境是有问题的,因为他们没有系统性学过这个变量,不知道怎么去管理。
如何管理PATH
$PATH
:理解环境变量$PATH 是非常重要的,对后续的环境和软件管理都非常重要。
推荐方法:在自己家目录下创建一个~/bin/
文件夹并将其添加到环境变量,后续安装软件,就将软件的可执行文件拷贝或软链接(绝对路径)到这个bin文件夹(注意双引号里面没有空格):
mkdir~/bin
echo'export "PATH=$HOME/bin:$PATH"' >> ~/.bashrc
source~/.bashrc
- 添加到PATH-方法3,软链接可执行文件的绝对路径到~/bin,推荐。
mkdir ~/bin
echo 'export "PATH=$HOME/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
pwd
##查看自己的路径:/home/ashu/,后面的内容用tab键补全
ln -s /home/ashu/biosoft/hisat2-2.2.1/hisat2* ~/bin/
ls ~/bin/
~/bin在PATH
2.源代码安装
第二种原始安装方式
源代码【source code】安装,4个步骤:下载,解压,编译三部曲:(configure,make,make install), 添加到PATH。
详细讲解4个步骤:
首先搜索软件,比如在文献里看到的,或是公众号推文看到的软件,如samtools (之前已经用conda安装过)。
搜索samtools软件samtools官网下载地址:https://www.htslib.org/download/
复制得到的地址:https://github.com/samtools/samtools/releases/download/1.15/samtools-1.15.tar.bz2
2.1下载:把软件下载链接粘贴到服务器
##考虑到之前在conda里安装过samtools,现在练习,先建一个文件夹,以后用来安装文件,隔一段时间清除
mkdir install-packages
ls
cd install-packages/
wget -c https://github.com/samtools/samtools/releases/download/1.15/samtools-1.15.tar.bz2
ls
软件下载完成
2.2 解压软件
tar -jxvf samtools-1.15.tar.bz2
###注意不同后缀的压缩文件,用与之对应的压缩命令
ls
##如果解压失败,重新运行下载命令
tar -jxvf samtools-1.15.tar.bz2
ls
成功解压后会,ls出现文件
解压过程与结束
2.3 编译三部曲
•./configure --prefix=(检查系统,构建makefile)
•make(编译)
•make install(安装)
cd ~/install-packages/samtools-1.15/
./configure prefix="/home/ashu/biosoft/samtools-1.15/"
make
##第一次输入这样的命令,跑出一大串不认识的内容,耐心等待进程
make install
-
编译第一步:
./configure --prefix=
编译第一步
- 编译第二步:
make
输入make命令,出现一连串不认识的东西,第一次使用make这个命令。
编译第二步
- 编译第三步:
make install
输入make install命令
编译第三步
cd ~/biosoft/samtools-1.15/
ls
cd bin/
ls
##bin里面有这些绿颜色可执行的文件,可以添加到小环境里
查看编译三步后的结果
如果编译过程出问题,需要解决环境问题,会非常复杂,需要强大的lLinux基础,有些问题得靠管理员权限来解决。
解决不了只能弃用软件了,选择用conda去安装
2.4 添加到PATH
echo 'export "PATH=$HOME/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
##"PATH=$HOME/bin:$PATH",如果冒号,逗号之类的打错,就很麻烦,一有点错,PATH变了,命令就用不了
不建议修改PATH或是bashrc,只要把可执行文件软链接到bin目录就好,PATH不变。工具箱层数没有那么多(不发生改变),就是有一层的工具变多。
3. java编译的软件
java编译的软件分为三步:下载、解压、java-jar xxx.jar
还是和前两种方法一样,先搜索需要安装的软件。
所搜软件软件官网:http://www.usadellab.org/cms/?page=trimmomatic
3.1 下载软件
image.png复制软件下载地址:
http://www.usadellab.org/cms/uploads/supplementary/Trimmomatic/Trimmomatic-0.39.zip
wget -c http://www.usadellab.org/cms/uploads/supplementary/Trimmomatic/Trimmomatic-0.39.zip
##注意是一整句代码
image.png
3.2 解压
解压整理文件
mv Trimmomatic-0.39/ ~/biosoft/
##下载的压缩文件放在install-packas
cd ~/biosoft/Trimmomatic-0.39/
##解压好的软件放到biosoft里
按照自己的方式来管理软件的存放位置
把软件放到一个目录下
以上有jar格式的文件
3.3 java-jar xxx.jar
调用软件的方式有以下几种:
- 第一种:java-jar xxx.jar
xxx代表文件名
##格式:java-jar xxx.jar
java -jar trimmomatic-0.39.jar --help
image.png
- 第二种:用绝对路径调用安装的软件帮助文档
只要给对路径,就能调用成功,不用cd到那个文件夹下
cd ~
pwd
##/trainee/Jan22
trimmomatic-0.39.jar
插曲:调用出现报错,这个过程花了我很多时间去探索。
路径报错1:符号/小郭老师说一般路没有问题会调用成功,我试了很多遍,认真检查
路径报错2:字母大小写
自己基础比较薄弱,之前我用的一个账户是在home目录下,用pwd还是看不出问题,通过Fizilla看树状结构,才发现自己错了。
路径报错3:目录搞错了
坚信小郭老师的话,只要给对路径,就能调用成功,不用cd到那个文件夹下。我就按这个信念,一种种方法去试,一个小小的报错,花了我一个小时,用两个服务账号去验证。
关于解决路径报错问题我单独写一篇推文,如何思考解决报错和总结。
- 第三种:通过赋值的形式调用
trimmomtic=$HOME/biosoft/Trimmotic-0.39/trimmomtic-0.39.jar
echo $trimmomatic
###赋值和echo出的变量不同,少一个a,以后要在注意细节
报错:软件名输入不对
trimmomatic=$HOME/biosoft/Trimmomatic-0.39/trimmomatic-0.39.jar
##现在深刻明白$HOME的意思,$HOME是家目录,不管它的变量名是什么。
echo $trimmomatic
java -jar $trimmomatic --help
##调用成功
变量名调用软件帮助文档
95%以上的软件都是用conda来安装,以上”其它软件安装方法“不掌握或是理解没有关系。
以下作为参考,因为方法不断更新
生物信息学常见1000个软件的安装代码!
http://www.biotrainee.com/thread-856-1-1.html
(软件和技术一般更新比较快,链接里有些安装方法可能过时,看看思路。)
参考视频教学
https://www.bilibili.com/video/av28836717
说明
以上内容是听生信技能树小郭老师授课内容以及参考课件。