sphinx-quickstart on Wed Jan 29 13:25:56 2020. You can adapt this file completely to your liking, but it should at least contain the root toctree directive.

JBrowse中文翻译

注解

本人在开发时阅读的JBrowse文档,仅供参考学习

JBrowse中文文档

安装

一个最通常的情况是,下载JBrowse之后,将整个项目文件夹放在web服务器的目录下(在ubuntu中通常是/var/www/),JBrowse就是一个静态站点, 它通过index.html中的js进行数据处理,不需要后端处理.

安装JBrowse之前需要做什么

有一些前提条件可以帮助您进行JBrowse设置,包括

  • unix操作系统系列-- MacOSX, Linux, 或者 WSL on Windows(在windows10的应用商店中下载ubuntu,使用cmd输入命令 bash 即可进入linux环境)
  • Web服务器-JBrowse是一组静态文件,可与Apache或Nginx一起使用
  • 命令行技能-熟悉命令行将帮助您更好的使用本教程
  • Sudo访问-sudo是没有必要的,除非您需要它来修改Web服务器文件,例如 在/ var / www中,修改权限

如果您不具备所有这些条件,请考虑使用JBrowse Desktop,因为它不需要命令行,并且易于在所有操作系统上使用:)

导入JBrowse插件

如果您使用的是JBrowse插件,则还需要安装Node.js版本6或更高版本。请按照https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions 中的步骤在ubuntu上安装node.js

下载JBrowse的发行版本

curl -L -O https://github.com/GMOD/jbrowse/releases/download/1.16.7-release/JBrowse-1.16.7.zip
unzip JBrowse-1.16.7.zip
sudo mv JBrowse-1.16.7 /var/www/html/jbrowse
cd /var/www/html
sudo chown `whoami` jbrowse
cd jbrowse
./setup.sh

注解

文档假设你已经安装了web服务器,例如apache. 在ubuntu上安装apache使用命令 apt install apache2 会在/var中自动生成www文件夹,里面会有index.html初始文件. 访问ubuntu服务器ip即可查看该页面.将JBrowse项目文件夹放入/var/www中,配置apache,apache具体配置自行搜索

如果将JBrowse作为插件需要备用JBrowse设置

JBrowse现在在构建时捆绑了插件,因此,如果您使用插件或自己修改jbrowse源代码,则必须下载源代码https://github.com/GMOD/jbrowse

git clone https://github.com/gmod/jbrowse
cd jbrowse
git checkout 1.16.7-release # or version of your choice
./setup.sh
npm run start # starts a express.js dev server on port 8082, alternatively move the entire jbrowse dir to /var/www/html as above

注解

使用npm run watch自动获取对您所做的代码所做的更改(但是,如果添加或删除文件,则需要重新启动) 对于中国的用户,如果使用自定义配置,推荐使用npm镜像

npm config set registry http://r.cnpmjs.org
npm config set puppeteer_download_host=http://cnpmjs.org/mirrors
export ELECTRON_MIRROR="http://cnpmjs.org/mirrors/electron/"

祝贺!

您应该看到一条消息,“Congratulations, JBrowse is on the web”,并带有指向“ Volvox example data”的链接。 如果您没有看到此消息,则可能是错过了设置步骤

索引文件格式

在本节中,我们将使用“索引文件格式”,以纯文本配置为例

加载FASTA格式的索引

首先,我们假设正在建立Volvox mythicus(Volvox属中的一个神话物种)的基因组。 Volvox基因组已由测序中心在2018年进行了测序,他们想立即设置JBrowse。 他们为我们提供了指向其FASTA文件的链接,我们将下载该文件

mkdir data
curl -L https://jbrowse.org/code/JBrowse-1.16.7/docs/tutorial/data_files/volvox.fa > data/volvox.fa

我们将使用samtools的 faidx 命令来创建“ FASTA index”. FASTA index能将非常大的FASTA文件“按需”下载到JBrowse中. 例如, 仅下载特定视图所需的序列.

samtools faidx data/volvox.fa

FASTA index将是一个名为volvox.fa.fai的文件。 然后,我们将这些文件移到JBrowse可以使用的“数据目录”中

然后创建文件data / tracks.conf,使用以下内容

[GENERAL]
refSeqs=volvox.fa.fai
[tracks.refseq]
urlTemplate=volvox.fa
storeClass=JBrowse/Store/SeqFeature/IndexedFasta
type=Sequence

此时,您应该可以打开http://localhost/jbrowse/?data=data(或者打开http://localhost/jbrowse/), 您就会看到带有参考序列轨迹的基因组。 示例图如下:

https://i.loli.net/2020/01/29/oBIGKYMH3sJTEyX.png

加载Tabix GFF3

我们将使用的新生成的“基因注释”文件

curl -L https://jbrowse.org/code/JBrowse-1.16.7/docs/tutorial/data_files/volvox.gff3 > data/volvox.gff3

当我们处理GFF3以在JBrowse中使用时,我们的目标是使用GFF3Tabix格式。 T abix格式允许随机访问类似于Indexed FASTA的基因组区域。因此, 我们必须首先对GFF进行排序以为Tabx做准备

sort -k1,1 -k4,4n data/volvox.gff3 > data/volvox.sorted.gff3
bgzip data/volvox.sorted.gff3
tabix -p gff data/volvox.sorted.gff3.gz

在data/tracks.conf中加入一下配置:

[tracks.genes]
urlTemplate=volvox.sorted.gff3.gz
storeClass=JBrowse/Store/SeqFeature/GFF3Tabix
type=CanvasFeatures

完成!

加载BAM

如果已获得序列比对,也可以创建一个显示比对的“比对”轨迹 对于volvox,我们得到一个文件

curl -L https://jbrowse.org/code/JBrowse-1.16.7/docs/tutorial/data_files/volvox-sorted.bam > data/volvox-sorted.bam

请注意,此BAM文件已经排序。 如果您的BAM未排序,则必须对其进行排序以在JBrowse中使用。使用以下命令行:

samtools index data/volvox-sorted.bam

最后在data/tracks.conf中添加以下内容:

[tracks.alignments]
urlTemplate=volvox-sorted.bam
storeClass=JBrowse/Store/SeqFeature/BAM
type=Alignments2

检查您的文件是否已经加载成功

此时,如果jbrowse文件位于您的Web服务器中,则应具有目录布局,例如

/var/www/html/jbrowse
/var/www/html/jbrowse/data
/var/www/html/jbrowse/data/volvox.fa
/var/www/html/jbrowse/data/volvox.fa.fai
/var/www/html/jbrowse/data/volvox.sorted.gff3.gz
/var/www/html/jbrowse/data/volvox.sorted.gff3.gz.tbi
/var/www/html/jbrowse/data/volvox-sorted.bam
/var/www/html/jbrowse/data/volvox-sorted.bam.bai
/var/www/html/jbrowse/data/tracks.conf

你的tracks.conf文件夹中的内容如下:

[GENERAL]
refSeqs=volvox.fa.fai

[tracks.refseq]
urlTemplate=volvox.fa
storeClass=JBrowse/Store/SeqFeature/IndexedFasta
type=Sequence

[tracks.genes]
urlTemplate=volvox.sorted.gff3.gz
storeClass=JBrowse/Store/SeqFeature/GFF3Tabix
type=CanvasFeatures

[tracks.alignments]
urlTemplate=volvox-sorted.bam
storeClass=JBrowse/Store/SeqFeature/BAM
type=Alignments2

然后,您可以访问http:// localhost / jbrowse /将自动加载“data”目录。

示例图如下:

https://i.loli.net/2020/01/29/sqaibQEHCl8fOMv.png

祝贺!

您现在成功配置了JBrowse.

经典快速入门指南

参考序列

在加载注释数据之前,请使用 bin/prepare-refseqs.pl 格式化JBrowse的参考序列。 对于FASTA格式序列文件

bin/prepare-refseqs.pl --fasta docs/tutorial/data_files/volvox.fa

对于已经存储在Bio :: DB :: *数据库中的序列,可以将prepare-refseqs.pl与biodb-to-json.pl配置结合使用

bin/prepare-refseqs.pl --conf docs/tutorial/conf_files/volvox.json

基因组注释和特征

JBrowse可以从平面文件或具有Bio :: DB :: * Perl接口的数据库中导入数据。

bin/flatfile-to-json.pl

如果您有平面文件,例如GFF3或BED,通常最好使用bin / flatfile-to-json.pl导入它们。 bin / flatfile-to-json.pl接受许多不同的命令行设置, 这些设置可用于自定义新track的外观。 运行bin / flatfile-to-json.pl --help查看可用设置的描述。

bin/flatfile-to-json.pl --gff path/to/my.gff3 --trackType CanvasFeatures --trackLabel mygff

bin/biodb-to-json.pl

如果您拥有基因组注释数据库,例如Chado,Bio :: DB :: SeqFeature :: Store或Bio :: DB :: GFF,则可以使用JBrowse的biodb-to-json.pl。 您将bin / biodb-to-json.pl与配置文件一起使用(其格式在此处记录)。

bin/biodb-to-json.pl --conf docs/tutorial/conf_files/volvox.json

Next-gen reads (BAM)

JBrowse可以直接从BAM文件显示对齐方式,而无需进行预处理。 要使用该文件,请将BAM文件和BAM索引下载到您的数据文件夹中, 然后您可以将文本片段手动编辑到tracks.conf中:

[tracks.alignments]
storeClass = JBrowse/Store/SeqFeature/BAM
urlTemplate = myfile.bam
category = NGS
type = JBrowse/View/Track/Alignments2
key = BAM alignments from SEQ1654

然后,你需要在data文件夹中存在以下文件:

data/myfile.bam
data/myfile.bam.bai
data/tracks.conf

在tracks.conf包含上述配置的地方,然后myfile.bam将相对于tracks.conf的位置进行定位, 因此由于它们位于同一目录中,因此不需要任何其他路径限定。 请注意,urlTemplate可以是完整的URL路径.

另请注意:BAM文件需要排序和索引(即具有对应的.bai文件或.csi文件。如果为.csi,则可以使用csiUrlTemplate。 如果为.bai,则将自动定位它 作为<yourbamfile.bam>,最后加上.bai)。

Next-gen read track类型

JBrowse有两种主要的轨道类型,这些轨道类型专门设计用于BAM数据:

Alignments2 显示BAM文件中的各个比对,以及BAM的MD或CIGAR字段中编码的插入,删除,跳过的区域和SNP。

SNPCoverage 显示覆盖度直方图,彩色条显示碱基水平不匹配和读数中可能的SNP的位置。

要使用它们,请在轨道配置中设置type = Alignments2或type = SNPCoverage。

Index Names

加载要素数据后,要让用户通过在自动完成搜索框中键入要素名称或ID来查找要素,必须使用 bin/generate-names.pl 生成要素名称的特殊索引。

bin/generate-names.pl -v

注意:每次使用任何* -to-json.pl脚本向JBrowse添加新注释时,都需要重新运行 bin/generate-names.pl 将新功能名称添加到索引。

还要注意:bin / generate-names.pl索引的轨道类型包括:

  • GFF,GBK,BED通过flatfile-to-json.pl加载。 默认情况下,对“ ID”,“名称”和“别名”建立索引。 请注意,--nameAttributes可用于索引其他字段
  • Features from biodb-to-json.pl
  • VCF tabix文件和GFF3 tabix文件(对它们从GFF的“ ID”和“名称”字段建立索引,并且仅对来自VCF的ID进行索引)

BAM的reads和BigWigs不会由generate-names.pl编制索引

定量轨道(BigWig和Wiggle)

JBrowse可以直接从BigWig文件显示对齐方式,而无需进行预处理。 只需将带有文件相对URL的节添加到您的data / tracks.conf文件中,格式为:

[ tracks.my-bigwig-track ]
storeClass = JBrowse/Store/SeqFeature/BigWig
urlTemplate = myfile.bw
type = JBrowse/View/Track/Wiggle/XYPlot
key = Coverage plot of NGS alignments from XYZ

JBrowse有两种专门用于定量数据的track类型:

  • JBrowse/View/Track/Wiggle/XYPlot

将定量数据显示为条形图。 有关配置选项,请参见JBrowse Wiki。

  • JBrowse/View/Track/Wiggle/Density

将定量数据显示为“热图”图,默认情况下,其具有正分数的区域绘制为逐渐变深的蓝色,而具有负分数的区域绘制为逐渐变深的红色。 有关配置选项,请参见JBrowse Wiki,包括如何更改颜色改变点(bicolor_pivot)和颜色。

要使用它们,请在轨道配置中设置type = JBrowse / View / Track / Wiggle / XYPlot或type = JBrowse / View / Track / Wiggle / Density。

结论

祝您好运,并享受JBrowse!

Indices and tables