把之前寫在CSDN的博文搬運了過來逗旁,集中記錄自己的學習過程鹅士。
第一次寫博客纺酸,必須mark一下:2018.07.27
sra toolkit是ncbi上將 .sra文件轉(zhuǎn)換為 .fastq.gz文件的工具薪棒。
1.下載/調(diào)用 SRA Toolkit
可以直接在linux里在線下載,要根據(jù)自己的系統(tǒng)選擇合適的安裝版本趁餐。我查看了一下主機的linux為redhat類型,沒找到這個類型的版本篮绰,又去服務(wù)器看了一下其他人的sratoolkit版本后雷,都是centos_linux,因而選擇這個版本應(yīng)該是合適的吠各。
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 臀突。
關(guān)于調(diào)用,直接調(diào)用其他用戶路徑下的工具(locate sratoolkit)會顯示permission denied贾漏,顯然是設(shè)置了權(quán)限候学,無法查看和調(diào)用其他用戶home目錄下的東西。
但是問題來了磕瓷,按理說這種常用的軟件公用系統(tǒng)(不知道這個說法對不對盒齿,計算機小白輕噴)里肯定會有念逞,但是我不知道怎么用命令直接調(diào)用。
下載好之后解壓:
tar xzvf sratoolkit.2.9.2-centos_linux64.tar.gz
解壓縮之后就可以通過絕對路徑使用边翁,但為了以后使用方便翎承,可以直接用程序名調(diào)用,最好配置一下環(huán)境變量符匾。
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/
接下來是添加環(huán)境變量:
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庫里下載數(shù)據(jù)
關(guān)于SRA庫的基礎(chǔ)知識啊胶,可以看這里:https://shengxin.ren/article/16
我是跟著 生信技能樹 學習他們的 HiC數(shù)據(jù)分析實戰(zhàn) https://vip.biotrainee.com/d/779-hic 甸各,所以和里面的教程一樣,我也只下載了 SRR824846一個測序結(jié)果集焰坪。
下載數(shù)據(jù)有兩種方法:
wget https://trace.ncbi.nlm.nih.gov/Traces/sra/?run=SRR824846
prefetch SRR824846
本來以為高枕無憂了趣倾,結(jié)果客戶端顯示連接超時了,只能重登重新下載某饰,請教師兄儒恋,學習到了一個讓程序后臺運行的命令nohup,只要服務(wù)器主機沒掉線就行黔漂,即使關(guān)閉了本地終端窗口或者斷網(wǎng)了也可以繼續(xù)執(zhí)行命令诫尽。讓進程后臺運行的命令有好幾種,如nohup/&/disown等炬守,disown是事后補救用的牧嫉,我沒有多了解。一般nohup和&一起用减途。
nohup 命令可以使命令永久的執(zhí)行下去酣藻,和終端沒有關(guān)系,退出終端也不會影響程序的運行观蜗; & 是后臺運行的意思臊恋,但當用戶退出的時候,命令自動也跟著退出墓捻。 那么抖仅,把兩個結(jié)合起來nohup 命令 &這樣就能使命令永久的在后臺執(zhí)行。
nohup prefetch SRR824846 &
如何查看進程砖第?如果命令正在當前終端運行:
jobs -l #可以查看當前終端生效的進程
如果已經(jīng)退出撤卢,又打開新的終端:
top #查看所有用戶的運行進程,也可以看到自己的進程號
ps -ef|grep urname ##只查看自己的進程記錄
如果要終止后臺運行命令:
kill -9 進程號
又遇到了一個坑梧兼。放吩。在上面修改環(huán)境變量的過程中,我是非常馬虎地把bashrc文件清空后(因為之前只添加了blast的環(huán)境變量羽杰,我也沒仔細看是否還有其他內(nèi)容)渡紫,再添加了新的環(huán)境變量到推。結(jié)果用戶名的位置變成了-bash-4.1$
。google了一下原因惕澎, 表明是
沒有執(zhí)行 .bash_profile .bashrc 導(dǎo)致的結(jié)果莉测。
解決辦法:查了一下網(wǎng)上的教程,據(jù)說在 .bash_profile里修改PS1變量就可以了唧喉,但我的問題出在 .bashrc上捣卤,不敢再動 .bash_profile了。我肯定問題出在bashrc文件里八孝,現(xiàn)在要做的就是把bashrc文件恢復(fù)過來董朝,然而我沒有備份…這里要敲黑板,.bashrc .bash_profile等環(huán)境變量設(shè)置文件是很重要的文件干跛,修改不當甚至會無法進入linux系統(tǒng)子姜,所以要謹慎修改并在修改前做好備份!
用系統(tǒng)中存儲的.bashrc備份文件恢復(fù)到~/目錄下
cp /etc/skel/.bashrc ~/
之后退出系統(tǒng)再登錄驯鳖,用戶名路徑就恢復(fù)正常了闲询。
3.文件拆分及格式轉(zhuǎn)換
文件下載完成后放在了home目錄下的ncbi/public/sra 文件夾里久免,可以看到新建了一個SRR824846.sra 文件浅辙。在轉(zhuǎn)換文件格式前要清楚sra文件的數(shù)據(jù)類型,在下載時就能看到其為“paired-end”測序結(jié)果阎姥。二代測序主要有單端測序和雙端測序兩種方式记舆,具體內(nèi)容見:https://vip.biotrainee.com/d/127-paired-end-reads ,以及http://www.bio-info-trainee.com/298.html 呼巴。
使用fastq-dump拆分PE文件時有兩種常用的參數(shù)泽腮,--split-files
和--split-3
,很奇怪衣赶,查到以下解釋:
--split-spot: 將雙端測序分為兩份,但是都放在同一個文件中
--split-files: 將雙端測序分為兩份,放在不同的文件,但是對于一方有而一方?jīng)]有的reads直接丟棄
--split-3 : 將雙端測序分為兩份,放在不同的文件,但是對于一方有而一方?jīng)]有的reads會單獨放在一個文件夾里
作者:hoptop
鏈接:http://www.reibang.com/p/a8d70b66794c
cd ~/ncbi/public/sra/ #將拆分文件放在sra文件夾里
fastq-dump --split-3 SRR824846 #將雙端測序文件拆分為兩個reads
打開1文件诊赊,得到如圖結(jié)果:
不過在上一步可以加上
-gzip
命令,輸出gz的壓縮格式府瞄,好處是可以節(jié)省空間碧磅,而且比對軟件一般都支持。(參考hoptop的文章:http://www.reibang.com/p/a8d70b66794c)