文章转载于 Original 2017-06-08 Jolvii 生信百科

由于生物信息的大部分工作都是在没有 root 权限的集群上进行的,本期我主要介绍一下非 root 用户怎么安装常用的软件。工欲善其事,必先利其器!

准备工作

1 首先我们建一个文件夹,用来存储我们自己编译的程序 ($HOME/software/bin) 和预编译的程序 ($HOME/software)。

mkdir -p $HOME/software/bin

2 用 vim 或 nano 等编辑器修改 ~/.bash_profile (如果没有这个文件,可以自己创建一个,注意 ~ 符号,这个文件是在自己的 HOME 目录下),在其中加入下一行命令并退出。

export PATH=$HOME/software/bin:$PATH

  • $PATH 为系统默认的查找可执行文件的目录,可以用 echo $PATH 来查看它的内容。我们安装软件以后,需要告诉系统在哪里寻找并运行我们自己安装的软件,因此我们需要把软件的安装目录写入到环境变量 $PATH 中。

  • 在写入新的路径到 PATH 时,可以有两种形式,export PATH=$HOME/software/bin:$PATH  和 export PATH=$PATH:$HOME/software/bin。系统查找可执行文件的规则是:首先在冒号之前的路径查找用户想要执行的命令,找不到再从冒号以后的路径查找。因此,如果集群上已经装了某个软件,如果你想安装并使用不同的版本,则需要把自己刚刚安装软件的路径写在冒号前面,把 $PATH 写在冒号后面。比如,系统的 java 版本比较老旧,你想安装最新版,那一定要把新安装的 java 的路径写在前面。

  • 我将用刚刚建立的 $HOME/software/bin 文件夹,保存所有自己编译的软件和预编译的软链接。这样可以做到只添加一个路径到 ~/.bash_profile 中,就可以执行安装的软件。应该尽量保持 ~/.bash_profile 文件的简洁 (尽量减少修改它次数,在修改前一定要备份,防止误操作引起用户不能登陆)。

3 执行 source ~/.bash_profile 使刚刚设置的环境变量生效。

一 质量控制软件 FastQC 的安装

cd $HOME/software

wget https://www.bioinformatics.babraham.ac.uk/projects/fastqc/fastqc_v0.11.5.zip

unzip fastqc_v0.11.5.zip

rm fastqc_v0.11.5.zip

cd FastQC/

chmod 755 fastqc

ln -s $HOME/software/FastQC/fastqc $HOME/software/bin/fastqc

  • FastQC 为预编译软件,即开发者已经编译好,可以直接使用。我用软链接在 $HOME/software/bin/ 目录下建立了一个已编译的 fastqc 的软链接,由于我们已经提前把 $HOME/software/bin/ 写入到环境变量 PATH 中,现在我们在任何路径下都可以直接运行 fastqc 了。

  • FastQC 可以用来得到多个测序数据的质量参数,让我们对测序得到的数据质量有个初步的认识,从而判断后续的质控如何进行,我会在接下来的博文中详细介绍这部分内容。

二 质量控制软件 Trimmomatic 的安装

cd $HOME/software

wget http://www.usadellab.org/cms/uploads/supplementary/Trimmomatic/Trimmomatic-0.36.zip

unzip Trimmomatic-0.36.zip

rm Trimmomatic-0.36.zip

cd Trimmomatic-0.36; ls ;

Trimmomatic 是 java 写的软件,它的使用和 fastqc 不同,我们可以这样来调用它:

Trimmomatic=$HOME/software/Trimmomatic-0.36/trimmomatic-0.36.jar

ava -jar $Trimmomatic

输入上面的命令可以得到 Trimmomatic 的帮助文件。Trimmomatic 是一个强大的质控软件,可以去除 reads 中含有的测序接头,裁剪或者去掉低质量的 reads 等。在去测序接头方面的表现尤为突出,我会在以后的博文中详细介绍。

三 Mapping 软件 BWA 的安装

cd $HOME/software

wget https://sourceforge.net/projects/bio-bwa/files/bwa-0.7.15.tar.bz2

tar -jxvf bwa-0.7.15.tar.bz2

rm bwa-0.7.15.tar.bz2

cd bwa-0.7.15/

make

mv bwa $HOME/software/bin

cd ..

rm -rf bwa-0.7.15

在安装每个软件前可以先读一下目录内的 README,里面会有关于安装软件的说明。 bwa 的安装比较特殊,只需要一个 make 就可以完成。

四 SAMTools 的安装

cd $HOME/software

wget https://github.com/samtools/samtools/releases/download/1.4.1/samtools-1.4.1.tar.bz2

tar -jxvf samtools-1.4.1.tar.bz2

rm samtools-1.4.1.tar.bz2

cd samtools-1.4.1/

./configure --prefix=$HOME/software/

make

make install

cd ../; rm -rf samtools-1.4.1

  • 上面的过程是非 root 用户安装软件的标准流程:其中 --prefix=$HOME/software 用来定义软件的安装位置,安装完成后,所有的应用程序自动的被安装到 $HOME/software/bin 的目录下。

  • 如果是 root 用户,就只需要 ./configure; make; sudo make install。软件会被安装到默认目录中 ,比如 /usr/local/bin。

五 BCFtools 的安装

cd $HOME/software

wget https://github.com/samtools/bcftools/releases/download/1.4.1/bcftools-1.4.1.tar.bz2

tar -jxvf bcftools-1.4.1.tar.bz2

rm bcftools-1.4.1.tar.bz2

cd bcftools-1.4.1/

make

make prefix=$HOME/software/ install

cd ..

rm -rf bcftools-1.4.1

同样是要先读 README,发现需要看 INSTALL 文件,然后发现如果需要安装到指定目录是在 make install 步骤指定的,而且 prefix 前没有 --。

六 GATK 和 Picard Tools 的安装

GATK 是 java 写的软件,下载这个软件需要先注册用户,同意一些协议,网址为 https://software.broadinstitute.org/gatk/。下载后,上传到 $HOME/software 目录,运行:

tar -jxvf GenomeAnalysisTK-3.7-0.tar.bz2

rm GenomeAnalysisTK-3.7-0.tar.bz2

rm -rf resources

Picard 也是 java 写的软件,可以直接下载到我们的 software 目录下:

cd $HOME/software

wget https://github.com/broadinstitute/picard/releases/download/2.9.2/picard.jar

GATK 和 Picard 的运行,参考第三步的 Trimmomatic。

结语

本期的内容,涵盖了常用软件的安装方法,这是我自己多年积累的经验,希望对大家有所帮助。还有一个软件 (fastSTRUCTURE) 的安装比较特殊,涉及到没有 root 权限安装所依赖的 Python package 和 GNU Scientific Library 我会在用到它时进行介绍。

Fastq 常用软件的更多相关文章

  1. [Tex学习]WinEdit 常用软件快捷键

    WinEdit 常用软件快捷键 编辑: Alt+C:在剪贴板原有复制文本后增加新的被选择的文本. Ctrl+Shift+Alt+Right/Left:对选中文本增加或者删除Comment标记. Ctr ...

  2. windows向ubuntu过渡之常用软件安装

    好久没有写博客了,介于最近上操作系统实验课,好多同学装上了ubuntu,网上的教程比较杂乱,下面我就总结分享一些安装完ubuntu要安装的常用软件,会持续更新... 1.搜狗拼音安装 (1)在安装输入 ...

  3. [转] ubuntu 一些常用软件的安装

    首先说明一下 ubuntu 的软件安装大概有几种方式: 1. deb 包的安装方式deb 是 debian 系 Linux 的包管理方式, ubuntu 是属于 debian 系的 Linux 发行版 ...

  4. 【转】Ubuntu常用软件合集

    [转]Ubuntu常用软件合集 Ubuntu常用软件合集 我用的使Ubuntu-Kylin14.04,原因呢主要是觉得使本土化的,自带了日历.输入法.优客助手等易于上手的应用.也省的每次安装完原生的系 ...

  5. 减少可执行程序size的三个常用软件

    减少可执行程序size的三个常用软件 linux下面,直接用strip 这个命令 #:strip xxx 可以去掉编译调试信息和各种符号表,能够大大减小可执行程序size windows下面这种exe ...

  6. IT生涯, 我的常用软件清单

    IT生涯, 我的常用软件清单 SkySeraph Jan. 26th 2017 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph个人站点:www.skysera ...

  7. 一些常用软件的静默安装参数(nsis,msi,InstallShield,Inno)

    打包的时候,经常需要安装一些其它的环境库,而又不想让用户繁锁的去选择,这时就需要静默安装,而不同的文件所加的参数了不一致,比如VS的环境库vcredist_x86.exe(这是32位的环境库)后面加/ ...

  8. Linux桌面系统常用软件和笔记(更新)

    (一).下文涉及到的环境 manjaro.deepin.Arch等 有些可以通用 有些不可以通用 (二).常用软件下载 一.桌面美化软件 1.桌面壁纸下载软件: varirety 下载方式:可以在多个 ...

  9. Ubuntu16.04系统美化、常用软件安装等,长期更新

    Ubuntu16.04系统美化.常用软件安装等,长期更新 IT之家啊 18-09-0915:00 因为我个人偏向于玩VPS.服务器之类的东西,所以一般我都是用CentOS.不过对于桌面版的Linux, ...

随机推荐

  1. Vim技能修炼教程(16) - 浮点数计算函数

    浮点数计算函数 这一节的所有函数,只有在vim编译时支持了+float时才有效. 三角函数 sin() : sine正弦函数 cos() : cosine余弦函数 tan() : tangent正切函 ...

  2. 05-python中函数的使用

    函数:就是让程序模块化,把具有独立功能的代码块当成一个整体封装成一个函数 首先打印一个佛主看看: print(" _ooOoo_ ") print(" o8888888o ...

  3. 在Golang中获取系统的磁盘空间内存占用

    获取磁盘占用情况(Linux/Mac下有效) import ( "syscall" ) type DiskStatus struct { All uint64 `json:&quo ...

  4. learn go function callback

    package main // 参考文档: // https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/06.7.md im ...

  5. 音乐随想——斯美塔那—G小调钢琴协奏曲

    乐源 Music -> Piano Trio -> Smetana:Piano Trioin G minor Op.15 总结 每一乐章都会有一段美到极致的主旋律. 第一乐章 起头即有凄凉 ...

  6. base64 和 Blob 相互转换

    Base64 to Blob function dataURLtoBlob(dataurl) { var arr = dataurl.split(','), mime = arr[0].match(/ ...

  7. docker下的Jenkins安装和体验【转】

    原文地址:http://blog.csdn.net/boling_cavalry/article/details/78942408 作为一款优秀的持续集成工具,jenkins在日常的项目中经常会用到, ...

  8. 白话machine learning之Loss Function

    转载自:http://eletva.com/tower/?p=186 有关Loss Function(LF),只想说,终于写了 一.Loss Function 什么是Loss Function?wik ...

  9. jdbcTemplate的一些常用方法

    前言 最近的项目中由于只进行查询,所以使用了jdbcTemplate来直接操作sql进行持久层的操作,初次接触jdbcTemplate,从最开始的什么都不知道到现在基本方法都大致知道什么意思,特此记录 ...

  10. NET Core2基于RabbitMQ对Web前端实现推送功能

    NET Core2基于RabbitMQ对Web前端实现推送功能 https://www.cnblogs.com/Andre/p/10012329.html 在我们很多的Web应用中会遇到需要从后端将指 ...