最近做了一個關於基因開發的項目,要求最終輸出的文件可以在專門的基因瀏覽器上邊顯示,類似統計圖的東西。廢話不說上圖(表示表達不出來0.0)!
先說下Jbrowse這個東西吧,一句話:一個簡單的,便攜式依靠javascript的基因組瀏覽器。沒用過覺得挺高大上的,難度挺高。實際上用過之后覺得也就是那回事,沒多少難度,很容易上手。因為我是在虛擬機上邊訪問,用的是linux系統,所以這里我以linux為版本簡述一遍:
1.安裝
與其說是安裝我還是覺得下載比較好。為什么?實際上也就是下載一個文件,文件夾里面擁有很多的js和conf配置文件,用web瀏覽器訪問基因瀏覽器的時候加載這些配置,完成基因瀏覽器的顯示效果。
首先在虛擬機下建立一個存放jbrowse的文件夾
下載地址:http://jbrowse.org/jbrowse-1-11-5/
找到一個版本獲取他的下載鏈接
wget -c 下載鏈接
下載好一般就是在你當前的文件夾里面,找到他進行解壓
unzip 文件名稱
解壓好后進入解壓好的目錄中,然后執行
./setup.sh
在你的瀏覽器中輸入:http://your.host.ip.or.domain/jbrowse/
如果你可以在界面模式下訪問虛擬機。你也可以直接進入到解壓好的文件夾里面,找到index.html打開它。如果可以 看到如下圖所顯示,恭喜你,安裝成功了。
如果你是用的黑窗口來訪問虛擬機的。可以在虛擬機上安裝一個tomact,把Jbrowse放到tomact的webapps來訪問。
2.處理數據文件
jbrowse可以展示大多數基因文件,但是基因文件是經過處理后才能展示的。我只說下bam和vcf的處理方法
第一步:在你加壓后的文件夾內建立一個文件夾file
madir file
在file下建立seqfiles文件夾中放你需要導入的參考序列。
fasta file/seqfiles/**.fa
如果導入過參考序列后,又有新的序列需要導入,首先將配置文件中的參考序列刪除,同時將產生的seq文件夾刪除,將新的序列和之前的序列合並為一個fasta文件,再重新導入。
在新建的file文件夾下面會出現一個新的trackList.json文件。里面的內容是:
{"tracks":[
{
"chunkSize" : 20000,
"storeClass" : "JBrowse/Store/Sequence/StaticChunked",
"urlTemplate" : "seqfiles/seq_1/{refseq_dirpath}/{refseq}-",
"category" : "Reference sequence",
"type" : "SequenceTrack",
"label" : "DNA",
"key" : "Reference sequence"
}
],"formatVersion":1}
在之前打開的頁面鏈接上邊加上條件data=file,選中左邊seq,點擊上邊放大按鈕顯示如下,既添加成功
第二部:在file里面建立一個新的bamfile,把需要的bam文件放進去
只有sort的bam文件才能顯示出來,所以:
samtools sort file.bam (bam文件名) file.sorted (生成file.sorted.bam文件)
sort后進行index:
samtools index file.sorted.bam (生成file.sorted.bam.bai文件)
然后在file文件夾下面的trackList.json文件中添加紅色字體部分:
{"tracks":[
{
"chunkSize" : 20000,
"storeClass" : "JBrowse/Store/Sequence/StaticChunked",
"urlTemplate" : "seqfiles/seq_1/{refseq_dirpath}/{refseq}-",
"category" : "Reference sequence",
"type" : "SequenceTrack",
"label" : "DNA",
"key" : "Reference sequence"
},
{
"storeClass" : "JBrowse/Store/SeqFeature/BAM",
"urlTemplate" : "./bamfile/file.sorted.bam",
"label" : "file.sorted.bam",
"category" : "BAM",
"key" : "file.sorted.bam",
"type" : "JBrowse/View/Track/Alignments2"
},
{
"storeClass" : "JBrowse/Store/SeqFeature/BAM",
"urlTemplate" : "./bamfile/file.sorted.bam",
"label" : "file.bam.sorted.bam_coverage",
"category" : "BAM",
"key" : "file.bam.sorted.bam_coverage",
"type" : "JBrowse/View/Track/SNPCoverage"
}
],"formatVersion":1}
刷新之前打開的頁面,頁面左邊有明顯的變化(出現紅色邊框圈起來的部分,選中它們),展示信息出現了(這里我這邊已經把bam和vcf加好了,不要在意這些細節0.0),如果沒有展示信息出現,嘗試把頭部Help下方的紅色框往左邊移動試試,可能是你的數據只是一部分,是截斷過的。
第三部:在file文件夾下面建立一個vcffile文件夾,把vcf文件放進去
bam文件需要sort和index后才能展示,同樣,vcf文件需要壓縮和index后才能展示
bgzip file.vcf (得到vcf文件的壓縮文件*.vcf.gz后,會刪除原文件,做好保留原文件的操作)
tabix -p vcf file.vcf.gz (對*.vcf.gz文件做好index后,得到*.vcf.gz.tbi文件)
在file下面的trackList.json中做好vcf的配置,添加下面紅色字體部分(因為我的vcf文件是個錯誤的文件,就不展示頁面了)
{"tracks":[ { "chunkSize" : 20000, "storeClass" : "JBrowse/Store/Sequence/StaticChunked", "urlTemplate" : "seqfiles/seq_1/{refseq_dirpath}/{refseq}-", "category" : "Reference sequence", "type" : "SequenceTrack", "label" : "DNA", "key" : "Reference sequence" }, { "storeClass" : "JBrowse/Store/SeqFeature/BAM", "urlTemplate" : "./bamfile/file.sorted.bam", "label" : "file.sorted.bam", "category" : "BAM", "key" : "file.sorted.bam", "type" : "JBrowse/View/Track/Alignments2" }, { "storeClass" : "JBrowse/Store/SeqFeature/BAM", "urlTemplate" : "./bamfile/file.sorted.bam", "label" : "file.sorted.bam_coverage", "category" : "BAM", "key" : "file.sorted.bam_coverage", "type" : "JBrowse/View/Track/SNPCoverage" }, { "storeClass" : "JBrowse/Store/SeqFeature/VCFTabix", "urlTemplate" : "./vcffile/file.vcf.gz", "type" : "JBrowse/View/Track/CanvasVariants", "category" : "VCF", "key" : "file.vcf", "label" : "file.vcf" } ],"formatVersion":1}
Jbrowse學習:
官網地址:http://gmod.org/wiki/JBrowse
如果英文的看不懂,推薦這個頁面:http://ju.outofmemory.cn/entry/162255