JBrowse是GMOD项目开源的一套非常好用的基因组浏览器,继承自GBrowse,完全使用ajax技术异步加载数据,加载速度非常之快。
JBrowse的官方文档是这样介绍JBrowse的功能的:
Fast, smooth scrolling and zooming. Explore your genome with unparalleled speed.
Scales easily to multi-gigabase genomes and deep-coverage sequencing.
Supports GFF3, BED, FASTA, Wiggle, BigWig, BAM, VCF (with tabix), REST, and more. BAM, BigWig, and VCF data are displayed directly from the compressed binary file with no conversion needed.
Very light server resource requirements. In fact, JBrowse has no back-end server code, just tools for formatting data files to be read directly over HTTP. Serve huge datasets from a single low-cost cloud instance.
本文介绍如何使用现在最流行的nginx来部署JBrowse:
第一步:下载JBrowse源码
到JBrowse的官网下载JBrowse的源码,例如我下载到的是:JBrowse-1.12.1.zip
第二步:解压
unzip JBrowse-1.12.1.zip
第三步:移动到nginx的目录(这里其实可以是任何目录,不过显而易见,应该把网站代码放到大家都知道的目录)
sudo mv JBrowse-1.12.1 /var/www/jb
第四步:安装JBrowse依赖
cd /var/www/jb
sudo ./setup.sh
第五步:配置nginx
在/etc/nginx/sites-available目录建立jb.conf文件,输入如下内容:
server {
listen 80;
server_name localhost;
access_log /var/log/nginx-jb-access.log;
error_log /var/log/nginx-jb-error.log;
location / {
root /var/www/jb;
}
}
listen指令用来指定该网站监听的端口
server_name指令是非常有用的,这个功能让一个主机的一个端口可以架设很多网站,只要server_name不同就行了,访问的时候只要以server_name作为域名就行了(server_name必须指向这个主机),要知道localhost这个server_name默认是被占用的,你可以需要选用其他server_name或者直接用IP也行。
access_log指令指定网站的访问日志
error_log指令指定网站的错误日志
location指令指定访问哪些url去哪个文件夹下寻找对应的文件(如果是静态文件的话),比如我的server_name是jb.com,那么当我访问
jb.com/index.html时,nginx就会读取/var/www/jb/index.html返回到浏览器,浏览器就会显示index.html的内容。
第六步:创建软链接
为啥要创建软链接呢?这个属于nginx的一个最佳实践。默认情况下/etc/nginx/sites-available目录下的配置文件nginx是不会include(nginx的一个指令,可以加载额外的配置文件),那为什么不直接把配置文件放到sites-enabled下呢,这个目录下的所有配置文件都可以被include啊?从文件夹名字我们可以看出sites-available是所有可用的配置文件,sites-enabled是所有的已被include的配置文件,我们可以把我们所有的配置文件都放到sites-avaliable,想启用哪个站点时就把这个配置文件软链接到sites-enabled文件夹下,这样就可以启用这个配置文件了。
sudo ln -s /etc/nginx/sites-available/jb.conf /etc/nginx/sites-enabled
第七步:加载新的配置文件
sudo systemctl reload nginx # 较老版本的系统可能是sudo service nginx reload
第八步:访问Volvox测试数据
安装JBrowse时,JBrowse默认会初始化一个测试基因组数据Volvox,可以通过链接:http://localhost/?data=sample...访问
好了,JBrowse的安装讲完了,后面还有JBrowse的配置、使用等文章,敬请期待。