GW:染色体水平基因组学数据的超快可视化工具

创业   2024-09-11 00:00   云南  

摘要

GW 是一个交互式基因组浏览器,它加速了比对后的测序reads和数据轨道的分析,并引入了新的界面用于探索、注释和量化数据。GW 的高性能设计使数据的快速渲染成为可能,其速度接近文件读取速率,并且消除了可视化大区域时的内存限制。GW的性能有显著提升,并展示了 GW 在无需额外处理的情况下,分析大规模基因组区域或染色体时的实用性。

诸如IGV和 JBrowse2 等基因组浏览器在分析比对后的测序reads和验证变异检测结果方面非常有用,但它们缺乏高性能库和框架所提供的速度优势。尤其是,当前工具在可视化大型基因组时表现不佳,而这在研究包含百万碱基的大型染色体重排时是常见需求。由于加载时间较长或需要生成静态图像,探索变异集合并手动注释数据仍然比较繁琐。

本文介绍了 GW,一个用于快速可视化比对后的测序reads数据、数据轨道和基因组变异数据集的交互式浏览器。GW 具有多线程架构,支持桌面或命令行使用,适用于多种平台,包括云环境(如 AWS 服务器或 Genomics England Research Environment)(图 1a-c,补充视频 Movie1.mp4,补充表 1)

Availability of supporting source code and requirements
Project name: GW (Genome Wide)
Project homepage: https://github.com/kcleal/gw
Operating system(s): unix based, Windows.Programming language: C++Other requirements: glfw, htslibLicense: MIT

⚙️安装

### For best performance, download one of the app packages from the Releases page. See the install section of the documentation for more details.
### Using a package manager:
conda install -c bioconda -c conda-forge gw
brew install kcleal/homebrew-gw/gw
### To build from source, using conda to fetch htslib + glfw3 dependencies:
conda create -y -n gw_env -c conda-forge glfw htslibconda activate gw_envgit clone https://github.com/kcleal/gw.gitcd gw && make prepCONDA_PREFIX=$(conda info --base) LDLIBS+="-lcrypto -lssl" make -j4

🚀快速上手

### Command line:
# Start gw (drag and drop bams into window)gw hg38
# View start of chr1gw hg38 -b your.bam -r chr1
# Two regions, side-by-sidegw hg38 -b your.bam -r chr1:1-20000 -r chr2:50000-60000
# Multiple bamsgw hg38 -b '*.bam' -r chr1gw hg38 -b b1.bam -b b2.bam -r chr1
# Add a track BED/VCF/BCF/LABELgw hg38 -b your.bam -r chr1 --track a.bed
# png image to stdoutgw hg38 -b your.bam -r chr1:1-20000 -n > out.png
# Save pdfgw hg38 -b your.bam -r chr1:1-20000 -n --fmt pdf -f out.pdf
# plot every chromosome in parallelgw t2t -t 24 -b your.bam -n --outdir chrom_plots
# View VCF/BCFgw hg38 -b your.bam -v var.vcf
# View VCF/BCF from stdingw hg38 -b your.bam -v -
# View some png imagesgw -i "images/*.png"
# Save some annotationsgw hg38 -b your.bam -v var.vcf --labels Yes,No --out-labels labels.tsv
### Here are a few GW commands (others are available). Access command box with : or /:
help # help menuconfig # open config file for editingchr1:1-20000 # Navigate to regionadd chr2:1-50000 # Append new regionrm 1 # Region at column index 1 removedrm bam1 # Bam file at row index 1 removedmate # Move view to mate of readmate add # mate added in new viewline # Toggle vertical lineylim 100 # View depth increased to 100find QNAME # Highlight all reads with qname==QNAMEfilter mapq >= 10 # Filer reads for mapq >= 10count # Counts of all reads for each view pointsnapshot # Save screenshot to .pngman COMMAND # manual for command

### Sequencing data### To view a genomic region e.g. chr1:1-20000, supply an indexed reference genome and an alignment file (using -b option):
gw hg38 -b your.bam -r chr1:1-20000
### Variant data### A variant file in .vcf/.bcf format can be opened in a GW window by either dragging-and-dropping or via the -v option:
gw hg38.fa -b your.bam -v variants.vcf

Sequencing data

Variant data

图1 使用 GW 进行基因组浏览和变异注释

(a)GW 支持常见数据格式,并使用 Skia 和 htslib 等库来加快可视化速度。(b)在比对视图中,显示参考基因组和比例尺(1)、覆盖度和SNP分布图(2)、叠加的reads(3)以及下方的数据轨道(4)。结构变异(SV)通过彩色弧线表示(5)。带有框的染色体示意图叠加在显示中,可作为滑块更改位置(6)。(c)通过气泡界面(6)或命令框(7)访问命令和功能。数据交互(8) 将信息显示到终端(9)。(d)图像视图显示图像网格,支持手动注释。GW支持多种筛选(e)和计数(f)命令,并支持同时显示多种碱基修饰(g)。(h)8号染色体 (146 Mb)的动态可视化,显示复杂的重排模式和拷贝数分布,白色箭头显示了(a)所示位置。

背景介绍

GW 支持 35 个内置命令,提供了丰富的数据交互功能,使用户能够加载、保存、导航和搜索文件,筛选和计数reads,改变外观并组织数据 (图 1e-g)。数据可以通过“比对视图”或“图像视图”显示。在比对视图中 (图 1b),测序reads以堆叠形式排列,不同颜色表示信息,如错配或不一致的reads。覆盖度分布图显示在上方,用户可以将多个文件和区域排列成行和列。数据轨道位于下方,可以扩展、折叠并动态调整大小。交互元素将信息显示到终端 (图 1c)。GW 支持多种主题,包括“slate”(如图所示)和“dark”主题以减轻眼部疲劳,以及“igv”主题 (补充图 1) (1)。

“图像视图” (图 1d) 将图像组织成网格,简化了大数据集的分析和整理。图像可以从磁盘加载或根据文件实时生成,右键单击图像可以在比对视图和图像视图之间切换,允许静态图像探索和动态数据交互。支持多个输入文件,以便比较变异集合,手动整理由可自定义的标签或从输入 VCF 文件解析的信息。标签显示在缩略图图像上,可以循环显示、添加注释、从磁盘加载或编码在文件中 (图 1d)。

GW 能够从变异文件、参考基因组索引或基因组坐标创建静态图像,并可以在不到 1 分 30 秒内保存每条染色体的图像 (补充图 2)。图像可以通过文件名编码基因组位置,随后进行分析。将染色体图像与 bam 文件一起加载 (补充图 3),允许右键单击染色体图像切换到比对视图,放大 500 kb 的基因组区域以便快速分析数据。

GW 还引入了其他浏览器中没有的新数据分析工具,包括可组合的筛选和计数命令,能够完成如统计支持结构变异 (SV) 的reads数量等任务,无需手动统计或额外工具 (图 1e, f)。提供了 8 个额外的分析任务示例 (补充图 4),包括筛选/统计包含 kmer 的reads(例如“count seq contains TTAGGG”或“filter seq omit AAAAAA”),区域重叠筛选(“filter pos >= 10000 and ref-end < 20000”)或 sam-tag 属性筛选(“count AS > 100”、“filter NM = 0”),这些任务在其他浏览器中难以或无法完成。GW 的额外显示模式包括绘制修改碱基,使用彩色弧线表示结构变异模式 (图 1g, h),以及根据模板长度调整reads位置比例 (补充图 5)。   

GW 通过“online”命令链接到在线数据库,提供 UCSC、Gnomad、Ensemble、NCBI 和 DECIPHER 浏览器的网页链接,链接到 GW 中看到的基因组位置,使得将样本与数据轨道、群体或疾病数据库进行比较变得更加简单。

我们将 GW 的速度与 IGV 和 JBrowse2(使用 jb2export 插件)等其他浏览器,以及 samplot 等静态图像工具进行了比较。GW 生成图像的速度接近文件读取速率 (补充图 6),在所有数据集上显著超越了其他工具 (补充图 7-12)。例如,与 IGV 使用 2 Mb 区域大小相比,GW 的渲染速度提高了 146 倍以上(中位数为 185 倍),同时使用的内存最多减少了 109 倍(Illumina 数据)。在智能手机上,GW 比桌面上的 IGV 快 30 倍以上。对于大规模分析,GW 在 7.2 秒内可视化了来自一个具有复杂重排模式的样本的8号染色体(146 Mb,26 倍覆盖度),使用了 736 Mb 的内存,展示了其在处理整条染色体时的高效性能 (图 1h)。

未来的工作将侧重于将 GW 适配于泛基因组图的比对渲染。总之,GW 允许在更大规模上快速探索、分析和注释基因组数据。      

 

    

附图1

附图2

附图3

附图4

附图5

附图6

Cite

GW: ultra-fast chromosome-scale visualisation of genomics data
Kez Cleal, Alexander Kearsey, Duncan M. Baird
bioRxiv 2024.07.26.605272; doi: https://doi.org/10.1101/2024.07.26.605272

进化随想
生物学的一切都是相比较而言
 最新文章