码迷,mamicode.com
首页 > 其他好文 > 详细

jbrowse和NGL展示基因组

时间:2017-03-24 17:55:46      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:reference   function   conf   基础   生物   安装步骤   拷贝   指定   over   

最近朋友介绍了一个项目,用jbrowse和NGL来展示基因组,对于没有生物基础的我来说是个不小的挑战,但是咱10岁就开始用学习机写程序,这点问题还是难不倒我的(吹点小牛,开始正题)。

jbrowse和NGL都是用JavaScript开发,所以有web开发经验的同学应该都比较好上手。

jbrowse安装

我使用的是JBrowse-1.12.1-dev.zip这个版本,不要使用不带dev的版本,这样在开发中会缺少一些js包。

安装过程比较简单,将压缩包解压放到nginx的html目录下,直接访问url就可以了。

我们在首次安装好以后就有过一个错误提示,提示我们找不到data/seq/refSeqs.json文件。这并不是jbrowse安装的不好,是因为安装完后样例放在sample_data目录下,可以吧sample_data/json/volvox下的内容拷贝到jbrowse安装目录下的data目录下(如果没有data可以手工建一个)

技术分享

安装完成后会自带几个样例基因组,可以通过访问url来指定其他的data目录所在位置,例如样例提供的http://192.168.1.39/jbrowse/?data=sample_data/json/volvox

加上自己的基因组数据

虽然写这篇文章的时候把这步放在前面,但是之前走了很多弯路,其实jbrowse很多操作都是基于某个特定基因组的(也就是对应特定的trackList.conf)。

引用手册文件

Before any feature or image tracks can be displayed in JBrowse, the reference sequences must be defined using the prepare-refseqs.pl formatting tool.

上面安装步骤介绍的时候我们是吧volvox数据拷贝到了data下,这里简单说一下如何创建自己的data,官方配置向导中也提到了如何创建Ref

找到控制jbrowse的核心文件

所谓的核心文件也就是控制jbrowse的一些操作函数所在的js文件,文件位于{jbrowse_root}/src/JBrowse/Browser.js

例如我们要自己实现一个按钮,控制jbrowse的视窗右移,我们可以在代码中找到下面这一段

   var moveRight = document.createElement("img");

    //moveRight.type = "image";

    moveRight.src = this.resolveUrl( "img/Empty.png" );

    moveRight.id="moveRight";

    moveRight.className = "icon nav";

    navbox.appendChild(moveRight);

    dojo.connect( moveRight, "click", this,

                  function(event) {

                      dojo.stopEvent(event);

                      this.view.slide(-0.9);

                  });

最重要的就是this.view.slide(-0.9)这句话了,我们在其他地方写js的时候只要能得到view这个对象,那么我们就可以直接调用他的slide方法进行平移操作了。

这个目前可以实现控制jbrowse上的navigation导航栏

玩一下plugin

玩jbrowse时候遇到的一些坑

在调试的时候发现改了代码没有起作用,首先要清除一下缓存,然后再刷新。例如在写插件的时候,发现view自带一个zoomOut,但是this.view.zoomOut报找不到view(this等于plugin当然找不到~),改为args.browser.view感觉应该能找到,但是怎么刷新都提示找不到view,后台清除缓存后解决此问题。

在写好了一个plugin的时候发现无论如何就加不上(后来发现这是一个连环坑),因为如果不提供url中data=sample_data/xxxxx/xxx那么jbrowse会去找根目录下的data目录,但是一开始setup.sh完成后并没有这个目录,所以造成在jbrowse.conf就算配置上plugin也看不到,但是如果加上url中的data,那么jbrowse.conf就不起作用了,直接定位到sample_data下的trackList.json。

 

NGL安装

同样

参考文档

jbrowse官网
http://jbrowse.org

官方配置向导
http://gmod.org/wiki/JBrowse_Configuration_Guide

参考了这个网站的全屏按钮的代码
https://phytozome.jgi.doe.gov/jbrowse/sample_data/

一个不错的jbrowse网站,介绍了一些官网没有的概念
https://www.araport.org/jbrowse/user-guide#navigation

jbrowse和NGL展示基因组

标签:reference   function   conf   基础   生物   安装步骤   拷贝   指定   over   

原文地址:http://www.cnblogs.com/bh4lm/p/6612384.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!