如果您在學習本教程中存在困難,可能因為缺少背景知識,建議先閱讀本系統前期文章
測試數據劉博士幫助把測試數據建立了一個百度雲同步共享文件夾,有非常多的好處,請讀完下文再決定是否下載:
下載被牆的數據;很多數據存在google, amazon的部分伺服器國內無法直接下載,而伺服器一般科學上網不方便,下載數據困難。大家下載失敗的數據請到共享目錄中查找;
預下載好的軟體、資料庫;有很多需要下載安裝、註冊的軟體(在線安裝包除外),其實已經在共享目錄了,節約小夥伴申請、下載的時間;
數據同步更新;任何筆記或教程不可避免的有些錯誤、或不完善的地方,後期通過大家的測試反饋問題,我可以對教程進行改進。共享目錄不建議全部下載或轉存,因為文件體積非常大(目前>18G),而且還會更新。你轉存的只是當前版本的一個備份,就不會再更新了。建議直接在連結中每次逐個下載需要的文件,也對文件有一個認識過程。
方便結果預覽和跳過問題步驟;伺服器Linux在不同平臺和版本下,軟體安裝和兼容性問題還是很多的,而且用戶的權限和經驗也會導致某些步驟相關軟體無法成功安裝(有問題建議選google、再找管理員幫助;想在群裡提問或聯繫作者務必閱讀《如何優雅的提問》)。在百度雲共享目錄中,有每一步的運行結果,讀者可以下載查看分析結果,並可基於此結果進一步分析。不要糾結於某一步無法通過,重點是了解整個流程的分析思路。
最後送上本教程使用到的所有文件同步共享文件夾連結:http://pan.baidu.com/s/1hsIjosk 密碼:y0tb 。
bwa序列比對安裝bwa
# 工作目錄,根據個人情況修改wd=~/test/metagenome17cd $wdsudo apt-get install bwa samtools
下載數據
mkdir mappingcd mapping# 可以接之前的學習,或在百度雲中下載cp ../data/*.pe.fq.gz ./ # 引處如果ln硬鏈解壓不允許# 逐個解壓,直接gunzip *.gz批量也不成功for file in *fq.gzdogunzip $filedone# 無法下載找百度雲curl -O https://s3-us-west-1.amazonaws.com/dib-training.ucdavis.edu/metagenomics-scripps-2016-10-12/subset_assembly.fa.gzgunzip subset_assembly.fa
序列比對
# 建索引bwa index subset_assembly.fa# 雙端合併序列,使用-p參數比對for i in *fqdo# unrecognized command 'mem' 版本過舊,qiime索引了舊版本,bwa改為絕對路/usr/bin/bwa mem -p subset_assembly.fa $i > ${i}.aln.sam done
samtools操作比對結果samtools可視化比對結果
# 參考序列建索引samtools faidx subset_assembly.fa# 壓縮sam為bam用於可視化for i in *.samdo samtools import subset_assembly.fa $i $i.bam samtools sort $i.bam -o $i.bam.sorted.bam samtools index $i.bam.sorted.bamdone# 可視化# 按contig的reads數量排序,找高豐度的查看grep -v ^@ SRR1976948.abundtrim.subset.pe.fq.aln.sam | cut -f 3 | sort | uniq -c | sort -n | tail# Pick one e.g. k99_13588.# 查看k99_13588序列400bp開始samtools tview SRR1976948.abundtrim.subset.pe.fq.aln.sam.bam.sorted.bam subset_assembly.fa -p k99_13588:400# 方向可以上下左右移動查看,q退出# 另一個窗口打開另一個樣品,便於比較samtools tview SRR1977249.abundtrim.subset.pe.fq.aln.sam.bam.sorted.bam subset_assembly.fa -p k99_13588:400
在兩個終端(Xshell)中用samtools查看不同樣品的比對結果序列分析情況
我們將會用比對結果估計組裝序列的覆蓋度
使用bedtools比對,常用 http://bedtools.readthedocs.io/en/latest/content/tools/genomecov.html
# 安裝程序sudo apt-get install bedtools# 使用genomeCoverageBed定量基因for i in *sorted.bam do genomeCoverageBed -ibam $i > ${i/.pe*/}.histogram.tabdone
我們看一下結果:
k99_5 6 87 258 0.337209k99_5 7 18 258 0.0697674k99_5 8 11 258 0.0426357
Contig name
Depth of coverage 覆蓋深度
Number of bases on contig depth equal to column 2
Size of contig (or entire genome) in base pairs
Fraction of bases on contig (or entire genome) with depth equal to column 2
To get an esimate of mean coverage for a contig we sum (Depth of coverage) * (Number of bases on contig) / (Length of the contig). We have a quick script that will do this calculation.
計算平均深度
wget https://raw.githubusercontent.com/ngs-docs/2017-cicese-metagenomics/master/files/calculate-contig-coverage.py# 安裝過可跳過sudo pip install pandasfor hist in *histogram.tabdo python calculate-contig-coverage.py $histdone
產生結果文件 SRR1976948.abundtrim.subset.histogram.tab.coverage.tab:
k99_100 18.200147167k99_1000 52.6492890995k99_10000 4.97881916865k99_10008 16.7718223583k99_1001 62.2604006163
可選分析:末質控數據結果如何?# 下載原始數據curl -O https://s3-us-west-1.amazonaws.com/dib-training.ucdavis.edu/metagenomics-scripps-2016-10-12/SRR1976948_1.fastq.gzcurl -O https://s3-us-west-1.amazonaws.com/dib-training.ucdavis.edu/metagenomics-scripps-2016-10-12/SRR1976948_2.fastq.gz# 如果有,可複製過來cp ../data/SRR1976948_?.fastq.gz .# 解壓變只提取前20萬行gunzip -c SRR1976948_1.fastq.gz | head -800000 > SRR1976948.1gunzip -c SRR1976948_2.fastq.gz | head -800000 > SRR1976948.2# 比對bwa aln subset_assembly.fa SRR1976948.1 > SRR1976948_1.untrimmed.saibwa aln subset_assembly.fa SRR1976948.2 > SRR1976948_2.untrimmed.saibwa sampe subset_assembly.fa SRR1976948_1.untrimmed.sai SRR1976948_2.untrimmed.sai SRR1976948.1 SRR1976948.2 > SRR1976948.untrimmed.sam# 壓縮、排序、索引i=SRR1976948.untrimmed.samsamtools import subset_assembly.fa $i $i.bamsamtools sort $i.bam -o $i.bam.sorted.bamsamtools index $i.bam.sorted.bam# 查看samtools tview SRR1976948.untrimmed.sam.bam.sorted.bam subset_assembly.fa -p k99_13588:500
比較這些沒有trim質控的數據,看看和原來的結果有什麼不同?
猜你喜歡寫在後面為鼓勵讀者交流、快速解決科研困難,我們建立了「宏基因組」專業討論群,目前己有國內外七十多位PI,七百多名一線科研人員加入。參與討論,獲得專業指導、問題解答,歡迎分享此文至朋友圈,並掃碼加主編好友帶你入群,務必備註「姓名-單位-研究方向-職務」。技術問題尋求幫助,首先閱讀《如何優雅的提問》學習解決問題思路,仍末解決群內討論,問題不私聊,幫助同行。
學習16S擴增子、宏基因組科研思路和分析實戰,關注「宏基因組」