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

Jbrowse安装和序列、bam、vcf配置的更多相关文章

  1. pysam - 多种格式基因组数据(sam/bam/vcf/bcf/cram/…)读写与处理模块(python)--转载

    pysam 模块介绍!!!! http://pysam.readthedocs.io/en/latest/index.html 在开发基因组相关流程或工具时,经常需要读取.处理和创建bam.vcf.b ...

  2. Linux安装LAMP开发环境及配置文件管理

    Linux主要分为两大系发行版,分别是RedHat和Debian,lamp环境的安装和配置也会有所不同,所以分别以CentOS 7.1和Ubuntu 14.04做为主机(L) Linux下安装软件,最 ...

  3. CentOS安装Apache-2.4.10+安全配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 在安装Nginx之前,请确保已经使用yum安装了各基础组件,并且配置了www用户和用户组,具体见<CentOS ...

  4. Java 学习第一步-JDK安装和Java环境变量配置

    Java学习第一步——JDK安装及Java环境变量配置 [原文]  2014-05-30 9:09  Java SE  阿超  9046 views Java作为当下很主流的编程语言,学习Java的朋 ...

  5. magento安装新插件后后台配置空白解决办法

    前段时间,安装完Magento插件以后,就会出现空白或者404问题,在某些运营中的magento网站,安装新插件后后台配置空白解决. 1 将sysytem->toos->Compilati ...

  6. Java JDK的安装以及环境变量的配置

    安装并配置完Android SDK之后,本想着可以做个简单的APP应用了,只是依然提示我“请确认Java JDK是否安装”类似的报错,于是又进行了Java JDK的安装以及环境变量的配置. 1.下载地 ...

  7. Windows 安装程序无法将 Windows 配置为在此计算机的硬件上运行

    遇到这个问题是用辅助工具(WinNTSetup3.exe)进行的安装,重启后就就遇到“Windows 安装程序无法将 Windows 配置为在此计算机的硬件上运行” 解决:在WIN PE 下挂载安装光 ...

  8. 在虚拟机上安装红帽Linux.5.5.for.x86.服务器版系统(按针对安装oracle 10g作的配置)

    在虚拟机上安装红帽Linux.5.5.for.x86.服务器版系统(按针对安装oracle 10g作的配置)   软件版本: 虚拟机版本:vmwareworkstation 7.11 build-28 ...

  9. Oralce11 客户端的安装和 PlSql Developer 的配置

    关于Oracle11服务器端安装时的配置问题我就不讲了,就是要安装DataBase1和DataBase2. 现在我来讲的是Oralce11 客户端的安装和PlSql的配置问题: 步骤一:选择图示,wi ...

随机推荐

  1. spring通过静态方法获得properties文件的值

    获得spring bean方法 @Component public class BeanUtils implements ApplicationContextAware { private stati ...

  2. PowerMockito 同时mock多个对象

    有时候,需要测试的方法内有collections结构,就需要同时mock多个对象 被测方法: public class EmployeeService { public List<Integer ...

  3. Informatica - Powercenter 英文版资料(转载)

    Informatica - Powercenter 英文版资料 http://gerardnico.com/wiki/powercenter/powercenter

  4. 又出头了,又SB了

    前些天买冰箱的事啊.. 前些天卡激活的事啊.. 今天门禁的事情啊.. 自己真是大傻逼啊.. 自己表情非常难看.注意保持乐观帅气的笑容.

  5. POJ 题目2411 Mondriaan's Dream(状压DP)

    Mondriaan's Dream Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 13519   Accepted: 787 ...

  6. jacon

    com的线程回收不由java垃圾回收器进行处理,因此,每new一次jacob提供的类就要分配一定大小的内存给该操作,new出来的这个com对象在使用结束之后产生的垃圾java是无法回收的,new出来的 ...

  7. Javascript闭包(狗血剧情,通俗易懂)

    我们先来看一个闭包的函数: function a() { var i = 0; function b() { alert(++i); } return b; } var c = a(); c(); c ...

  8. (转)jQuery插件 -- Form表单插件jquery.form.js

    beforeSubmit: validate function validate(formData, jqForm, options) { //在这里对表单进行验证,如果不符合规则,将返回false来 ...

  9. time元素和datetime、pubtime属性

    time:对一个时间进行标识 <time datetime="2012-12-24">2012-12-24</time> datetime:时间的值 pub ...

  10. 多线程知识点总结 -NSThread4

    NSThread 三种创建方式 NSThread的对象方法 - (void)threadDemo1 { NSLog(@"before %@", [NSThread currentT ...