Jbrowse部署安装

腾讯云服务

如果服务不存在,登陆腾讯云服务器执行如下命令

1
2
cd /var/www/html/jbrowse
nohup npx serve . &

前言

JBrowse 是今天要介绍的主角。它是GMOD( Generic Model Organism Database) 开源项目的一部分,这个项目收集了非常多的开源软件工具,用来管理、可视化、存储、展示基因组学数据。

the Generic Model Organism Database project, a collection of open source software tools for managing, visualising, storing, and disseminating genetic and genomic data. ---GMOD官网
在GMOD的众多项目中最出名的应该是Galaxy,而JBrowse则是GMOD之前一款基因浏览器JGBrowse的继任者。
image

JBrowse资料

JBrowse官网
GMOD-JBrowse WIki
JBrowse2 Github项目

JBrowse 部署安装

镜像调整

设置yum镜像

1
2
3
4
5
6
7
8
9
cd /etc/yum.repos.d/
mkdir centos.back
mv *.repo centos.back
# 获取新镜像
wget http://mirrors.aliyun.com/repo/Centos-7.repo 阿里的源
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo 163的源

yum clean all # 清空缓存
yum makecache # 生成缓存

设置npm镜像

1
2
3
4
5
6
7
8
9
# 设置npm源为淘宝NPM镜像
npm config set registry https://registry.npm.taobao.org
# 查看是否设置成功
npm config get registry
# 直接使用cnpm命令行工具代替默认的npm
npm install -g cnpm --registry=https://registry.npm.taobao.org

# 设置回默认的官方源
npm config set registry https://registry.npmjs.org/

环境需求

Node version must be >=12.0.0 to use this CLI
需要安装 redhat-lsb

1
yum -y install redhat-lsb

升级Node版本

安装npm的n模块(专门用来管理nodejs的版本)

1
2
npm install -g n # 安装n模块
n stable # 升级到最新的稳定版本

安装jbrowse

1
2
3
### operate under a normal user so this guide does not use this
npm install -g @jbrowse/cli
jbrowse create /var/www/html/jbrowse2

也可以直接下载软件包: 下载最新版JBrowse2软件包

选择其中的Web版本(jbrowse-web-v1.5.3.zip),解压后进入目录,运行npm服务即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
unzip  jbrowse-web-v1.5.3.zip
cd jbrowse
npx serve .

弹出如下信息,则证明服务已经成功启动。
┌──────────────────────────────────────────────────┐
│ │
│ Serving! │
│ │
│ - Local: http://localhost:39963 │
│ - On Your Network: http://172.21.0.8:39963 │
│ │
│ This port was picked because 3000 is in use. │
│ │
└──────────────────────────────────────────────────┘

配置jbrowse

完成了jbrowse以后,下一步就是Jbrowse的配置,有两种方案可以进行配置

使用命令行添加数据

添加基因组

1
2
# 添加Hg19的基因组,由于添加过程会在执行目录更新config.json文件,因此记得在jbrowse目录下执行!!
jbrowse add-assembly /root/Database/hg19.fa --load copy --displayName Hg19

添加 bam 文件

1
2
3
jbrowse add-track /data/volvox.bam --load copy
# 如果bam缺少索引文件,需要建立索引。
samtools index volvox.bam

添加 BigWig/BigBed 文件

因为jbrowse添加的bed文件必须是BigBed文件(二进制的bed文件),因此bed文件添加前要先通过bedToBigBed 进行处理

1
2
3
4
5
sort -k1,1 -k2,2n unsorted.bed > input.bed   #bed文件必须先排序
bedToBigBed input.bed chrom.sizes myBigBed.bb

## Download bigwig or bigbed file
jbrowse add-track volvox-sorted.bam.coverage.bw --load copy

除了bed文件外,jbrowse还支持 BigWig
有多种方式可以生成BigWig文件以下介绍的方式有基于wiggle (wig) 格式的文件,通过 软件:wigToBigWig 生成),

BigWig(.bw)的生成需要准备一个BedGraph文件格式如下:

1
2
3
4
5
6
#Chr    Start   End Value(可以自行定义)
chr1 10270744 10270745 0.278208333333333
chr1 10270745 10270746 0.275666666666667
chr1 10270746 10270747 0.276833333333333
chr1 10270747 10270748 0.27675
chr1 10270748 10270749 0.279083333333333

排序后,通过bedGraphToBigWig工具,将BedGraph文件转换成.bw文件,直接加载

1
2
sort -k1,1 -k2,2n $file.bedGraph > $file.sorted.bedGraph 
bedGraphToBigWig $file.sorted.bedGraph hg19.fa.fai $file.bw

Adding a variant track

1
2
3
4
5
6
7
8
#首先对vcf进行排序
bcftools sort file.vcf > file.sorted.vcf

#vcf需要进行压缩和建立索引
bgzip yourfile.vcf
tabix yourfile.vcf.gz

jbrowse add-track /data/yourfile.vcf.gz --load copy

Adding a GFF3 file with GFF3Tabix

1
2
3
4
gt gff3 -sortlines -tidy -retainids yourfile.gff > yourfile.sorted.gff
bgzip yourfile.sorted.gff
tabix yourfile.sorted.gff.gz
jbrowse add-track yourfile.sorted.gff.gz --load copy
-------------本文结束感谢您的阅读-------------