JBrowse使用说明:如何安装JBrowse

JBrowse is a fast, scalable genome browser built completely with JavaScript and HTML5. It can run on your desktop, or be embedded in your website.

如果你想要使用JBrowse,一定要有管理员权限,否则建议使用IGV。

前置要求

你的服务器必须安装有libpng,zlib,libgd,make,C compiler, C++ compiler。 对不同的操作系统有不同的安装方法,如果你有管理员权限,那么用系统自带的管理工具就行。

  1. # Ubuntu/Debian
  2. sudo apt-get install build-essential libpng-dev zlib1g-dev libgd2-xpm-dev
  3. # Red Hat/Fedora/CentOS
  4. sudo yum groupinstall "Development Tools"
  5. sudo yum install libpng-devel gd-devel zlib-devel perl-ExtUtils-MakeMaker
  6. # Mac OS X (homebrew)
  7. ## 需要在APP Store 安装 xcode 或在命令行输入gcc提示安装
  8. xcode-select --install
  9. brew install libpng libgd zlib

注:如果你没有管理员权限,就请自行编译并添加到环境变量中。你会发现这非常地麻烦。

安装jbrowse

jbrowse有两种安装形式:

  • 系统级: 面向更多用户,常常部署到网页服务器
  • 普通用户级:满足内网用户的一般需求

系统级安装(最高权限)

系统级安装(需要管理员权限)

  1. # make a directory that this user can write to
  2. # for ubuntu/Debian that is /var/www/; for centos is /var/www/html
  3. sudo mkdir /var/www/jbrowse;
  4. sudo chown `whoami` /var/www/jbrowse;
  5. # cd into it
  6. cd /var/www/jbrowse;
  7. # fetch a JBrowse release zip file
  8. curl -O http://jbrowse.org/releases/JBrowse-1.12.3/JBrowse-1.12.3.zip
  9. # unzip it and cd into it
  10. unzip JBrowse-1.12.3.zip
  11. cd JBrowse-1.12.3
  12. # run setup.sh, quick start with example data
  13. ./setup.sh

系统级别的JBrowse安装到/var/www,然后可以通过http://机器IP地址/jbrowse/JBrowse-1.12.3/docs/tutorial/index.html判断安装是否成功。

但是,如果你的服务器上没有安装"apache"或"nginx"等web服务器软件时,上述操作无法成功访问网页。

以下句子你可能已经看不懂了: 尽管软件已经部署在你的服务器上,但是仅仅是你本人才能查看或使用软件,这对外人不可见。就像你家买了一台老罗的畅呼吸,你不和别人说,别人是不知道的。如果他需要你家这台畅呼吸解决他家的空气问题,”唰的一下就没了“,就需要专门铺设一个管道连接你们两家,这样子你家的畅呼吸就把他家的空气也净化了一下。

因此,你需要安装一个web服务器软件,然后设置规则,让别人能够顺利访问到你的本地资源。这里安装的是nginx.

  1. # 安装nginx,基于ubuntu
  2. sudo apt-get install nginx
  3. # 检查是否安装成功
  4. sudo nginx -t
JBrowse使用说明:如何安装JBrowse-图片1
安装检查

启动nginx服务

  1. # 确保80端口没有占用,否则你需要停用相关的进程
  2. netstat -ano | grep 80
  3. # 启动
  4. sudo nginx

浏览器访问主机的IP,比如说我的虚拟机的IP地址是"http://10.10.87.36/"

JBrowse使用说明:如何安装JBrowse-图片2
nginx检查

以上网页存放在/var/www/html/index.nginx-debian.html,由/etc/nginx/sites-enabled/default定向所在目录。其中/etc/nginx/sites-enabled/default/etc/nginx/sites-available/default的软连接。这是nginx安装完成之后默认设置,提供一个案例。如果我们需要配置nginx,使其找到Jbrowse所在目录,就需要在/etc/nginx/sites-available/创建配置文件,然后链接到/etc/nginx/sites-enabled/.

  1. sudo vi /etc/nginx/sites-avaiable/jbrowse
  2. # 内容如下
  3. server {
  4. listen 8080;
  5. listen [::]:8080;
  6. root /var/www/jbrowse/JBrowse-1.12.3;
  7. index index.html
  8. }
  9. # 链接到/etc/nginx/sites-enabled/
  10. sudo ln -n /etc/nginx/sites-available/jbrowse /etc/nginx/sites-enabled/jbrowse
  11. # 重启
  12. ps -ef | grep nginx
  13. sudo kill -QUIT nginx 主进程号
  14. sudo nginx

然后你就发现直接可以通过IP:8080就能访问JBrowse,而不是要求那样的一长串地址。

JBrowse使用说明:如何安装JBrowse-图片3
JBrowse

小规模使用(普通权限)

普通用户级(不需要管理员权限):和系统级的差异,文件存放在用户目录下。

  1. # 软件原始文件,我一般存放在家目录的src文件夹下
  2. cd ~/src &curl -O http://jbrowse.org/releases/JBrowse-1.12.3/JBrowse-1.12.3.zip
  3. # 解压缩,并移动到我软件文件夹下
  4. unzip JBrowse-1.12.3.zip && mv JBrowse-1.12.3 ~/biosoft
  5. # 安装
  6. cd ~/biosoft/JBrowse-1.12.3 && ./setup.sh
setup

普通用户:nginx和apche是针对大型访问站点,如果你只是实验室内容访问,用Python做web服务器就行了。

  1. cd ~/biosoft/JBrowse-1.12.3
  2. python -m SimpleHTTPServer 5000
  3. # 长时间运行
  4. # nohup python -m SimpleHTTPServer 5000 &

是的就是如此简单,你就可以访问"IP:5000"访问页面。但是距离真实情况下的使用,还需要进行后续的配置

小结

其实这两者在安装上没有多大区别,安装到/var/www下是因为文档编写者默认你的服务器已经有web服务器应用,并且那个应用托管了/var/www,而/var/www需要一定的权限。

但是实际上,如果你修改web服务器应用的配置,你可以将JBrowse安装在任意地方。甚至,对于少量的请求,可以直接用Python自带的web服务器让你的JBrowse被外部人员访问到。

发表评论

匿名网友

拖动滑块以完成验证
加载中...