SRA Toolkit 的下载和使用

把之前写在CSDN的博文搬运了过来,集中记录自己的学习过程。


第一次写博客,必须mark一下:2018.07.27


sra toolkit是ncbi上将 .sra文件转换为 .fastq.gz文件的工具。
1.下载/调用 SRA Toolkit
可以直接在linux里在线下载,要根据自己的系统选择合适的安装版本。我查看了一下主机的linux为redhat类型,没找到这个类型的版本,又去服务器看了一下其他人的sratoolkit版本,都是centos_linux,因而选择这个版本应该是合适的。

wget  https://ftp-trace.ncbi.nlm.nih.gov/sra/sdk/2.9.2/sratoolkit.2.9.2-centos_linux64.tar.gz

不清楚版本可将 2.9.2 替换成 current 。
关于调用,直接调用其他用户路径下的工具(locate sratoolkit)会显示permission denied,显然是设置了权限,无法查看和调用其他用户home目录下的东西。
但是问题来了,按理说这种常用的软件公用系统(不知道这个说法对不对,计算机小白轻喷)里肯定会有,但是我不知道怎么用命令直接调用

下载好之后解压:

 tar xzvf sratoolkit.2.9.2-centos_linux64.tar.gz

解压缩之后就可以通过绝对路径使用,但为了以后使用方便,可以直接用程序名调用,最好配置一下环境变量。

mv sratoolkit.2.9.2-centos_linux64 ~/local/app/  #移动到指定文件夹
cd ~/local/app/  #进入本地程序安装路径
mv sratoolkit.2.9.2-centos_linux64 sratoolkit #去掉版本号是为了避免因升级而需要修改配置文件

此处参考> http://blog.shenwei.me/local-blast-installation/

接下来是添加环境变量:

vi ~/.bashrc  #用vi/vim编辑器修改bashrc文件
i  #由command line进入insertion line
export PATH=$PATH:/home/urname/local/app/sratoolkit/bin
ESC, :wq  #退出vi编辑器并保存文件
source ~/.bashrc  #让配置生效

上面是配置永久生效的办法,如果只是临时使用,直接在终端中输入:

export PATH=$PATH:/home/urname/local/app/sratoolkit/bin

2.从NCBI的SRA库里下载数据
关于SRA库的基础知识,可以看这里:https://shengxin.ren/article/16
我是跟着 生信技能树 学习他们的 HiC数据分析实战 https://vip.biotrainee.com/d/779-hic ,所以和里面的教程一样,我也只下载了 SRR824846一个测序结果集。
下载数据有两种方法:

wget https://trace.ncbi.nlm.nih.gov/Traces/sra/?run=SRR824846
prefetch SRR824846

本来以为高枕无忧了,结果客户端显示连接超时了,只能重登重新下载,请教师兄,学习到了一个让程序后台运行的命令nohup,只要服务器主机没掉线就行,即使关闭了本地终端窗口或者断网了也可以继续执行命令。让进程后台运行的命令有好几种,如nohup/&/disown等,disown是事后补救用的,我没有多了解。一般nohup和&一起用。

nohup 命令可以使命令永久的执行下去,和终端没有关系,退出终端也不会影响程序的运行; & 是后台运行的意思,但当用户退出的时候,命令自动也跟着退出。 那么,把两个结合起来nohup 命令 &这样就能使命令永久的在后台执行。

nohup prefetch SRR824846 &   

如何查看进程?如果命令正在当前终端运行:

jobs -l  #可以查看当前终端生效的进程

如果已经退出,又打开新的终端:

top  #查看所有用户的运行进程,也可以看到自己的进程号
ps -ef|grep urname  ##只查看自己的进程记录

如果要终止后台运行命令:

kill -9 进程号

又遇到了一个坑。。在上面修改环境变量的过程中,我是非常马虎地把bashrc文件清空后(因为之前只添加了blast的环境变量,我也没仔细看是否还有其他内容),再添加了新的环境变量。结果用户名的位置变成了-bash-4.1$。google了一下原因, 表明是

没有执行 .bash_profile .bashrc 导致的结果。

解决办法:查了一下网上的教程,据说在 .bash_profile里修改PS1变量就可以了,但我的问题出在 .bashrc上,不敢再动 .bash_profile了。我肯定问题出在bashrc文件里,现在要做的就是把bashrc文件恢复过来,然而我没有备份…这里要敲黑板,.bashrc .bash_profile等环境变量设置文件是很重要的文件,修改不当甚至会无法进入linux系统,所以要谨慎修改并在修改前做好备份!
用系统中存储的.bashrc备份文件恢复到~/目录下

cp /etc/skel/.bashrc ~/

之后退出系统再登录,用户名路径就恢复正常了。

3.文件拆分及格式转换
文件下载完成后放在了home目录下的ncbi/public/sra 文件夹里,可以看到新建了一个SRR824846.sra 文件。在转换文件格式前要清楚sra文件的数据类型,在下载时就能看到其为“paired-end”测序结果。二代测序主要有单端测序和双端测序两种方式,具体内容见:https://vip.biotrainee.com/d/127-paired-end-reads ,以及http://www.bio-info-trainee.com/298.html 。
使用fastq-dump拆分PE文件时有两种常用的参数,--split-files--split-3 ,很奇怪,查到以下解释:

--split-spot: 将双端测序分为两份,但是都放在同一个文件中
--split-files: 将双端测序分为两份,放在不同的文件,但是对于一方有而一方没有的reads直接丢弃
--split-3 : 将双端测序分为两份,放在不同的文件,但是对于一方有而一方没有的reads会单独放在一个文件夹里

作者:hoptop
链接:https://www.jianshu.com/p/a8d70b66794c

cd ~/ncbi/public/sra/   #将拆分文件放在sra文件夹里
fastq-dump --split-3 SRR824846   #将双端测序文件拆分为两个reads

打开1文件,得到如图结果:

SRA Toolkit 的下载和使用_第1张图片
现在还看不太懂

不过在上一步可以加上 -gzip 命令,输出gz的压缩格式,好处是可以节省空间,而且比对软件一般都支持。(参考hoptop的文章: https://www.jianshu.com/p/a8d70b66794c)

你可能感兴趣的:(SRA Toolkit 的下载和使用)