jbrowse和NGL展示基因组

2024-01-30 16:20
文章标签 展示 基因组 jbrowse ngl

本文主要是介绍jbrowse和NGL展示基因组,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

jbrowse安装

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

安装过程比较简单,我使用的CentOS7,首先准备安装所需要的环境

yum groupinstall "Development Tools"
yum install gcc gcc-c++ libpng-devel gd-devel zlib-devel perl-ExtUtils-MakeMaker

然后运行解压后的目录中的setup.sh就可以了,直接访问url就可以了。如果安装过程中出现问题,可以查看setup.log文件。

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

NewImage

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

加上自己的基因组数据

虽然写这篇文章的时候把这步放在前面,但是之前走了很多弯路。jbrowse很多操作都是基于某个特定基因组的(也就是我们需要把我们的设置放在特定的trackList.conf,他只针对对应的data起作用)。

引用手册文件

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

参考官网文档http://gmod.org/wiki/JBrowse_Configuration_Guide#Reference_Sequences

NewImage

从RCSB网站下载FASTA文件,然后运行命令

bin/prepare-refseqs.pl --fasta  [options]

如果不指定options的话就会在目录下生成一个4EK4对应的data目录

找到控制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

转载于:https://www.cnblogs.com/bh4lm/p/6612384.html

这篇关于jbrowse和NGL展示基因组的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/660821

相关文章

起点中文网防止网页调试的代码展示

起点中文网对爬虫非常敏感。如图,想在页面启用调试后会显示“已在调试程序中暂停”。 选择停用断点并继续运行后会造成cpu占用率升高电脑卡顿。 经简单分析网站使用了js代码用于防止调试并在强制继续运行后造成电脑卡顿,代码如下: function A(A, B) {if (null != B && "undefined" != typeof Symbol && B[Symbol.hasInstan

通过Ajax请求后台数据,返回JSONArray(JsonObject),页面(Jquery)以table的形式展示

点击“会商人员情况表”,弹出层,显示一个表格,如下图: 利用Ajax和Jquery和JSONArray和JsonObject来实现: 代码如下: 在hspersons.html中: <!DOCTYPE html><html><head><meta charset="UTF-8"><title>会商人员情况表</title><script type="text/javasc

Jasperreports+jaspersoft studio 实现单个或多个jrxml(jasper)文件生成一个pdf文件,并利用Servlet发送该pdf文件到浏览器中展示

Jasperreports+jaspersoft studio 实现单个或多个jrxml(jasper)文件生成一个pdf文件,并利用Servlet发送该pdf文件到浏览器中展示; 代码如下: Demo07.jrxml <?xml version="1.0" encoding="UTF-8"?><!-- Created with Jaspersoft Studio version 6.6.

【CSS】flex布局 - 左边超过打点, 右边完整展示

场景:宽度一定的情况下右边自适应,左边被挤压。 需要的效果如下: flex 的三个参数分别对应:flex-grow、flex-shrink、flex-basis。 flex-grow:定义项目的放大比例,默认为0。即如果存在剩余空间,也不放大。flex-shrink:定义项目的缩小比例,默认为1。即如果空间不足,该项目将缩小。flex-basis:定义在分配多余空间之前,项目占据的主轴空间。

C# 无法删除 Winform的PictureBox正在展示的图片

最近用C#的前端项目,写了PictureBox展示并上传图片。想删除掉已经展示和上传的图片,提示资源正在使用中不能删除。 查了一些原因,总结原因是PictureBox控件占用着图片资源,不允许删除。 从PictureBox展示图片入手,可以采用以下两个解决办法: 1:使用Bitmap类转接图片资源 Image bmp = new Bitmap(img); this.twoPictureBo

各种算法动画展示,效果不错。

各种算法动画展示: http://www.yxqzzx.cn/teacher/ShowArticle.asp?ArticleID=417

QT4.8 不展示JPG图片问题解决办法

最近遇到一个很奇怪的问题,项目在自己机上展示JPG图片都是正常的,打包给客户机上始终不展示,试过很多方法,比如本机Debug下不管是运行工程文件还是直接运行 .exe文件 都是可以展示JPG图片的 ,而Release下 发现运行工程文件时 JPG文件也是可以展示的 但是直接运行 Release下exe文件 是不展示JPG文件的。最终经过大神的提示和网上的搜索 知道是由于缺少jpg插件 , 也就是

ELK系列之四---如何通过Filebeat和Logstash优化K8S集群的日志收集和展示

前 言 上一篇文章《日志不再乱: 如何使用Logstash进行高效日志收集与存储》介绍了使用ELK收集通用应用的日志,在目前大多应用都已运行在K8S集群上的环境,需要考虑怎么收集K8S上的日志,本篇就介绍一下如何使用现有的ELK平台收集K8S集群上POD的日志。 K8S日志文件说明 一般情况下,容器中的日志在输出到标准输出(stdout)时,会以.log的命名方式保存在/var/log/po

Cesium 展示——实现昼夜交替

文章目录 需求分析1. 添加2. 移除 需求 Cesium 展示——实现昼夜交替 分析 1. 添加 <

前端百科---标签信息展示

在Web开发工程中,会遇到将后台返回的json数据进行页面展示,而很多的开发者都喜欢使用类似标签的样式进行信息展示.本文就简单了展示两种信息的展示样式,直接上demo:        在类选择器.bean中,display: inline-block的作用是将div属性变为行内元素(不占一行,宽度由内容决定).当然也可以使用float来实现(记得清除浮动奥). 注