Jbrowse安装和序列、bam、vcf配置
最近做了一个关于基因开发的项目,要求最终输出的文件可以在专门的基因浏览器上边显示,类似统计图的东西。废话不说上图(表示表达不出来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配置的更多相关文章
- pysam - 多种格式基因组数据(sam/bam/vcf/bcf/cram/…)读写与处理模块(python)--转载
pysam 模块介绍!!!! http://pysam.readthedocs.io/en/latest/index.html 在开发基因组相关流程或工具时,经常需要读取.处理和创建bam.vcf.b ...
- Linux安装LAMP开发环境及配置文件管理
Linux主要分为两大系发行版,分别是RedHat和Debian,lamp环境的安装和配置也会有所不同,所以分别以CentOS 7.1和Ubuntu 14.04做为主机(L) Linux下安装软件,最 ...
- CentOS安装Apache-2.4.10+安全配置
注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 在安装Nginx之前,请确保已经使用yum安装了各基础组件,并且配置了www用户和用户组,具体见<CentOS ...
- Java 学习第一步-JDK安装和Java环境变量配置
Java学习第一步——JDK安装及Java环境变量配置 [原文] 2014-05-30 9:09 Java SE 阿超 9046 views Java作为当下很主流的编程语言,学习Java的朋 ...
- magento安装新插件后后台配置空白解决办法
前段时间,安装完Magento插件以后,就会出现空白或者404问题,在某些运营中的magento网站,安装新插件后后台配置空白解决. 1 将sysytem->toos->Compilati ...
- Java JDK的安装以及环境变量的配置
安装并配置完Android SDK之后,本想着可以做个简单的APP应用了,只是依然提示我“请确认Java JDK是否安装”类似的报错,于是又进行了Java JDK的安装以及环境变量的配置. 1.下载地 ...
- Windows 安装程序无法将 Windows 配置为在此计算机的硬件上运行
遇到这个问题是用辅助工具(WinNTSetup3.exe)进行的安装,重启后就就遇到“Windows 安装程序无法将 Windows 配置为在此计算机的硬件上运行” 解决:在WIN PE 下挂载安装光 ...
- 在虚拟机上安装红帽Linux.5.5.for.x86.服务器版系统(按针对安装oracle 10g作的配置)
在虚拟机上安装红帽Linux.5.5.for.x86.服务器版系统(按针对安装oracle 10g作的配置) 软件版本: 虚拟机版本:vmwareworkstation 7.11 build-28 ...
- Oralce11 客户端的安装和 PlSql Developer 的配置
关于Oracle11服务器端安装时的配置问题我就不讲了,就是要安装DataBase1和DataBase2. 现在我来讲的是Oralce11 客户端的安装和PlSql的配置问题: 步骤一:选择图示,wi ...
随机推荐
- spring通过静态方法获得properties文件的值
获得spring bean方法 @Component public class BeanUtils implements ApplicationContextAware { private stati ...
- PowerMockito 同时mock多个对象
有时候,需要测试的方法内有collections结构,就需要同时mock多个对象 被测方法: public class EmployeeService { public List<Integer ...
- Informatica - Powercenter 英文版资料(转载)
Informatica - Powercenter 英文版资料 http://gerardnico.com/wiki/powercenter/powercenter
- 又出头了,又SB了
前些天买冰箱的事啊.. 前些天卡激活的事啊.. 今天门禁的事情啊.. 自己真是大傻逼啊.. 自己表情非常难看.注意保持乐观帅气的笑容.
- POJ 题目2411 Mondriaan's Dream(状压DP)
Mondriaan's Dream Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 13519 Accepted: 787 ...
- jacon
com的线程回收不由java垃圾回收器进行处理,因此,每new一次jacob提供的类就要分配一定大小的内存给该操作,new出来的这个com对象在使用结束之后产生的垃圾java是无法回收的,new出来的 ...
- Javascript闭包(狗血剧情,通俗易懂)
我们先来看一个闭包的函数: function a() { var i = 0; function b() { alert(++i); } return b; } var c = a(); c(); c ...
- (转)jQuery插件 -- Form表单插件jquery.form.js
beforeSubmit: validate function validate(formData, jqForm, options) { //在这里对表单进行验证,如果不符合规则,将返回false来 ...
- time元素和datetime、pubtime属性
time:对一个时间进行标识 <time datetime="2012-12-24">2012-12-24</time> datetime:时间的值 pub ...
- 多线程知识点总结 -NSThread4
NSThread 三种创建方式 NSThread的对象方法 - (void)threadDemo1 { NSLog(@"before %@", [NSThread currentT ...