菜鳥自學之——SRA Toolkit 的下載和使用
菜鳥自學之——SRA Toolkit 的下載和使用
第一次寫部落格,必須mark一下:2018.07.27
sra toolkit是ncbi上將 .sra檔案轉換為 .fstaq.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檔案,得到如圖結果:
不過在上一步可以加上-gzip
命令,輸出gz的壓縮格式,好處是可以節省空間,而且比對軟體一般都支援。(參考hoptop的文章:https://www.jianshu.com/p/a8d70b66794c)
相關文章
- 菜鳥學Python之 _, __ 和 __xx__的區別Python
- 菜鳥學Python之雜湊表Python
- 菜鳥學網路之 —— 長連線和短連線
- 一個菜鳥管理的學習和思考(二)
- 一個菜鳥管理的學習和思考(一)
- 跟著菜鳥學pythonPython
- ncbi下載資料sra和轉換fastq流程AST
- 【菜鳥教程筆記】python基礎之元組的使用筆記Python
- GEO資料庫下載 SRA資料庫
- React菜鳥入門之setStateReact
- 我是如何自學C語言的(一個菜鳥的學習路)C語言
- Linux“菜鳥”到“菜鳥的一些建議Linux
- 菜鳥學習計劃淺談之Linux系統Linux
- 菜鳥如何學習自動化測試?新夢想
- 菜鳥筆記之pwn工具篇--Pwndbg基礎使用筆記
- 菜鳥的資訊保安學習之路
- sra檔案下載及解析的問題
- 菜鳥求助!!!
- 菜鳥也想學習JSON解析JSON
- 菜鳥教程python 學習進度Python
- Linux菜鳥到老鳥的那些建議Linux
- 菜鳥做 bomb lab 之第一關
- 菜鳥市場
- python菜鳥教程學習9:函式Python函式
- Android菜鳥學習js筆記一AndroidJS筆記
- 菜鳥筆記之PWN入門(1.0.0)前言筆記
- 菜鳥筆記之資料結構(24)筆記資料結構
- python菜鳥教程學習1:背景性學習Python
- 菜鳥的Hadoop快速入門Hadoop
- 菜鳥理解的區塊鏈區塊鏈
- 菜鳥的架構師之路架構
- 菜鳥學網路——HTTPS是怎麼實現的?HTTP
- 菜鳥看前端(Git)前端Git
- java菜鳥入門Java
- hashmap == 菜鳥驛站?HashMap
- python菜鳥教程學習13:檔案操作Python
- 菜鳥學python之用python找指定檔案Python
- python菜鳥教程學習5: python運算子Python