Jbrowse安装和序列、bam、vcf配置

时间:2023-03-08 22:39:42

  最近做了一个关于基因开发的项目,要求最终输出的文件可以在专门的基因浏览器上边显示,类似统计图的东西。废话不说上图(表示表达不出来0.0)!

  先说下Jbrowse这个东西吧,一句话:一个简单的,便携式依靠javascript的基因组浏览器。没用过觉得挺高大上的,难度挺高。实际上用过之后觉得也就是那回事,没多少难度,很容易上手。因为我是在虚拟机上边访问,用的是linux系统,所以这里我以linux为版本简述一遍:

Jbrowse安装和序列、bam、vcf配置

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来访问。

            Jbrowse安装和序列、bam、vcf配置

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,点击上边放大按钮显示如下,既添加成功

      Jbrowse安装和序列、bam、vcf配置

第二部:在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下方的红色框往左边移动试试,可能是你的数据只是一部分,是截断过的。

      Jbrowse安装和序列、bam、vcf配置

第三部:在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