转录组

软件安装及 bowtie 的使用

2020-05-22  本文已影响0人  Peng_001

查看磁盘空间

df -hl 

软件类型

参考:计算资源及编程-仅针对生信人员:生信技能树

一般来说,下载的linux 软件分成两类,1)二进制软件;2)源码软件。

二进制软件

一般来说,二进制软件已经是预编译的版本了,这类软件对新手非常的友好,也是最方便的,解压就可以直接使用了。(zip, gz, bzip2等等压缩类型)

源码软件

相比起二进制软件,这类软件是作者直接分享了它们的源代码,因此我们需要将它们通过编译器编译它们,从而让计算机读懂它们。

一般来说有三个步骤。
1)配置;2)编译;3)安装。

1)配置

配置部分一般的代码为

./configure --prefix= 安装路径

这个安装路径是用于指定软件编译后的可执行文件所放的目录,而默认的路径需要有root权限。

2)编译

一般通过make 命令对文件进行编译,但经常会出现库文件的缺失,比如bwa的zlib。通常来说这也是其比较头疼的地方。

3)安装

make install,直接安装到相应目录就好啦。

用conda 做你的软件管家

和苹果的app store, 手机的软件管家一样,linux 也提供了conda(miniconda)这样一个软件中心。

我们可以在里面找到各种工具,实现快速的一键式安装,而且可以通过设定不同的环境,使各自依赖的环境相互隔离,不至于使内部安装环境乱成一团。通过conda install便可实现各种软件的安装。

安装第一个软件

创建并进入文件夹

mkdir bowtie2 && cd bowtie2

版本

软件安装提供了各种版本,因此需要注意合适的版本选择。


下载

可以使用wget 下载
首先进入安装目录下

mkdir xxx && cd xxx

接着安装,直接找到文件的下载地址通过wget下载即可。

wget 下载地址

通过ftp 上传文件到服务器

由于我通过wget 方式文件下载速度过于感人,我选择先将它下载至电脑上,再上传到服务器中。

sftp root@your_sever_id
put local-file [remote-file]

更多内容参考
https://blog.csdn.net/q1596948728/article/details/23859879

通过FileZilla 连接远程服务器

FileZilla是一个FTP 连接服务器的软件,提供linux、mac、win 等各个平台
https://filezilla-project.org/
注意一般服务器只提供SFTP 的连接方式。
设定好服务器公网ID,连接,输入用户密码就可以登录了。


你可以直接直接将本地服务器的内容拖拽进去。

解压与使用

https://sourceforge.net/projects/bowtie-bio/files/bowtie2/2.2.9/bowtie2-2.2.9-linux-x86_64.zip
我是通过filezilla 下载了bowtie(一个短序列比对工具),并将它存放在了biosofts/bowtie2目录下。

先来解压

下载的文件是bowtie2-2.2.9-linux-x86_64.zip,直接用unzip 就好。

unzip bowtie2-2.2.9-linux-x86_64.zip

查看文件文档


可以看到,bowtie2 文件用绿色标记出来了,这表示它是一个可执行文件,因此我们可以通过输入绝对路径的方式调用它(没有添加环境),通过调用,我们可以看到bowtie2 的使用说明。

/root/biosofts/bowtie2/bowtie2-2.2.9/bowtie2 # 我的路径

阅读帮助文件,发现有许许多多的参数。

使用文件

https://www.jianshu.com/p/36b28cd9ad8e

查看范例文件

一般来说文件里会附带一个example,可以作为练习。


果不其然

可以查看一些文件的大小等信息


其中可以先查看其中一个reads 文件。

$less reads/reads_1.fq 

通过less 可以上下滚动阅读文本。

我截取其中一个序列。至于如何解读fastq 文件,你可以参考我的笔记,
https://www.yuque.com/mugpeng/nwmnq7/ug9fg8#36bd89cf

@r1
CCAGCCGGACTTCAGGCCTGCCATCCAGTTCCCGCGAAGCTGGTCTTCAGCCGCCCAGGTCTTTTTCTGCTCTGACACGACGTTATTCAGCGCCAGCGGATTATCGCCATACTGTTCCTTCAGGCGCTGTTCCGTGGCTTCCCGTTCTGCCTGCCGGTCAGTCAGCCCCCGGCTTTTCGCATCAATGGCGGCCC
+
7%&%E,3@->*/4>0):4)17/4A=H<3!72"$97HDB(*66B(,&$+41&A,8+=,7/216,C=2#B6!>)"?&D44/6+@))30A91BA&=@(%0&-E.1-=959!B,",,#FA94,7.B+-)2@5H;6E**#EA&;"3F920A>1:<:8F-1.<A4.-/HE$02%1>;0HA6.*@(=37<:.E93+;52+8

bowtie 的使用规范

首先可以看看版本和帮助界面。

bowtie2 --help ## 帮助文件,且我已经设定了bowtie 的alias。
bowtie2 --version ## 查看版本。

bowtie2 是一个用于短序列比对的工具。
http://bowtie-bio.sourceforge.net/index.shtml

Usage: 
  bowtie2 [options]* -x <bt2-idx> {-1 <m1> -2 <m2> | -U <r>} [-S <sam>]

  <bt2-idx>  Index filename prefix (minus trailing .X.bt2).
             NOTE: Bowtie 1 and Bowtie 2 indexes are not compatible.
  <m1>       Files with #1 mates, paired with files in <m2>.
             Could be gzip'ed (extension: .gz) or bzip2'ed (extension: .bz2).
  <m2>       Files with #2 mates, paired with files in <m1>.
             Could be gzip'ed (extension: .gz) or bzip2'ed (extension: .bz2).
  <r>        Files with unpaired reads.
             Could be gzip'ed (extension: .gz) or bzip2'ed (extension: .bz2).
  <sam>      File for SAM output (default: stdout)

  <m1>, <m2>, <r> can be comma-separated lists (no whitespace) and can be
  specified many times.  E.g. '-U file1.fq,file2.fq -U file3.fq'.

Options (defaults in parentheses):

 Input:
  -q                 query input files are FASTQ .fq/.fastq (default)
  --qseq             query input files are in Illumina's qseq format
  -f                 query input files are (multi-)FASTA .fa/.mfa
  -r                 query input files are raw one-sequence-per-line
  -c                 <m1>, <m2>, <r> are sequences themselves, not files
  -s/--skip <int>    skip the first <int> reads/pairs in the input (none)
  -u/--upto <int>    stop after first <int> reads/pairs (no limit)
  -5/--trim5 <int>   trim <int> bases from 5'/left end of reads (0)
  -3/--trim3 <int>   trim <int> bases from 3'/right end of reads (0)
  --phred33          qualities are Phred+33 (default)
  --phred64          qualities are Phred+64
  --int-quals        qualities encoded as space-delimited integers

使用bowtie2构建索引

$bowtie2-build reference/lambda_virus.fa temp

我们可以通过md5sum 比较一下生成的index 和默认的index 的文件差距。
md5sum 是一套linux 下的算法,可以被用来验证网络文件传输的完整性,防止被他们篡改。MD5 全称是报文摘要算法(Message-Digest Algorithm 5)。

$md5sum index/lambda_virus.1.bt2 
9c033d93b13e5106347b4d39ccf33af8  index/lambda_virus.1.bt2

$md5sum temp.1.bt2 
9160769174cc604412693aff33b76f88  temp.1.bt2

其实二者还是有区别的。

进行序列比对

完成索引的构建后,便可以按照usage 的方式进行序列比对。

$bowtie2 -x temp -1 reads/reads_1.fq -2 reads/reads_2.fq -S temp.sam

查看比对结果

less -S temp.sam

ps: 我也不懂各个参数的意义,留给未来吧!

上一篇下一篇

猜你喜欢

热点阅读