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。 对不同的操作系统有不同的安装方法,如果你有管理员权限,那么用系统自带的管理工具就行。

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

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

安装jbrowse

jbrowse有两种安装形式:

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

系统级安装(最高权限)

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

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

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

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

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

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

# 安装nginx,基于ubuntu
sudo apt-get install nginx
# 检查是否安装成功
sudo nginx -t
安装检查

启动nginx服务

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

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

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/.

sudo vi /etc/nginx/sites-avaiable/jbrowse
# 内容如下
server {
    listen 8080;
    listen [::]:8080;
    root /var/www/jbrowse/JBrowse-1.12.3;
    index index.html
}
# 链接到/etc/nginx/sites-enabled/
sudo ln -n /etc/nginx/sites-available/jbrowse /etc/nginx/sites-enabled/jbrowse
# 重启
ps -ef | grep nginx
sudo kill -QUIT  nginx 主进程号
sudo nginx

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

JBrowse

小规模使用(普通权限)

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

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

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

cd ~/biosoft/JBrowse-1.12.3
python -m SimpleHTTPServer 5000
# 长时间运行
# nohup python -m SimpleHTTPServer 5000 &

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

小结

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 161,513评论 4 369
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,312评论 1 305
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 111,124评论 0 254
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,529评论 0 217
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,937评论 3 295
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,913评论 1 224
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,084评论 2 317
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,816评论 0 205
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,593评论 1 249
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,788评论 2 253
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,267评论 1 265
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,601评论 3 261
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,265评论 3 241
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,158评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,953评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 36,066评论 2 285
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,852评论 2 277