| Literature DB >> 31666648 |
Toshiyuki T Yokoyama1, Masahiro Kasahara2.
Abstract
Visualizing structural variations (SVs) is a critical step for finding associations between SVs and human traits or diseases. Given that there are many sequencing platforms used for SV identification and given that how best to visualize SVs together with other data, such as read alignments and annotations, depends on research goals, there are dozens of SV visualization tools designed for different research goals and sequencing platforms. Here, we provide a comprehensive survey of over 30 SV visualization tools to help users choose which tools to use. This review targets users who wish to visualize a set of SVs identified from the massively parallel sequencing reads of an individual human genome. We first categorize the ways in which SV visualization tools display SVs into ten major categories, which we denote as view modules. View modules allow readers to understand the features of each SV visualization tool quickly. Next, we introduce the features of individual SV visualization tools from several aspects, including whether SV views are integrated with annotations, whether long-read alignment is displayed, whether underlying data structures are graph-based, the type of SVs shown, whether auditing is possible, whether bird's eye view is available, sequencing platforms, and the number of samples. We hope that this review will serve as a guide for readers on the currently available SV visualization tools and lead to the development of new SV visualization tools in the near future.Entities:
Mesh:
Year: 2019 PMID: 31666648 PMCID: PMC8075883 DOI: 10.1038/s10038-019-0687-0
Source DB: PubMed Journal: J Hum Genet ISSN: 1434-5161 Impact factor: 3.172
The characteristics and targets of various view modules
| Category | Whole genome (inter-chromosome) | Chromosome | Gene | Nucleotide | Purpose | Examples |
|---|---|---|---|---|---|---|
| Linear Genome Browser | – | Yes | Yes | Yes | Read alignment, read coverage, and/or gene annotations | IGV [ |
| Dot plot | Yes | Yes | Yes | Yesa | Alignment between a pair of sequences | Assemblytics [ |
| Scatter plot | Yes | Yes | Yes | Yes | Copy number against the reference genome | iCopyDav [ |
| SV table | Yes | Yes | – | – | Navigation through SVs | SplitThreader [ |
| Circos plot | Yes | Yes | – | – | Bird’s eye view of SVs | Circos [ |
| Linear coordinate plot | Yes | Yes | – | – | Bird’s eye view of SVs | Fastbreak [ |
| Two-way view | – | – | Yes | Yes | Read alignment/coverage and gene annotations for fusion genes | Loupe, iFUSE [ |
| Multi-way View | – | – | Yes | Yes | Read alignment/coverage and gene annotations for (possibly complex) fusion genes | svviz [ |
| Graph view | – | – | Yes | Yes | Structure of SV, read alignment/coverage, and gene annotations | MoMI-G [ |
| Population view | a | Yes | Yes | Yes | Copy number or SV frequencies over population | SV-Pop [ |
aYes, in theory, but no available tools in practice
Fig. 1Screenshots of view modules. a Linear Genome Browser (here, IGV) shows Illumina read alignments and annotations for a cancer cell line, LC-2/ad: a large deletion in chromosome 9 with read alignments (in the middle) and repeat annotations (in the bottom) is shown. Alignments courtesy of Mr. Sarun Sereewattanawoot and Prof. Yutaka Suzuki. b Dot plot implemented in Ribbon shows the split-read alignment between a long PacBio read and the two regions on the human genome: a breast cancer cell line, SK-BR-3, exhibits a translocation between chromosome 16 and 19. c. Scatter plot in CNVKit shows the distribution of copy number alterations identified by Illumina reads: a semi-log scatter plot shows the normal-tumor copy ratio across all chromosomes in a melanoma sample. d SV table in MoMI-G for filtering and navigation: a list of SVs identified in CHM1, a hydatidiform mole genome. e Circos plot shows inter-chromosomal SVs identified by using 10x Chromium: SVs between the human reference genome and the NA12878 sample. f Linear Coordinate plot shows SVs between the NA12878 sample and the human reference genome: SVs between chromosome 4, 12, and 20 are shown. g Two-way view in AGFusion shows two fusion partner genes with details on each side: a fusion gene across DLG1 and BRAF (535 amino acids in total) in the mouse genome. h Multi-way view in svviz shows Illumina read alignments along three genomic intervals: the two breakpoints are suggested by the paired-end mapping of the Illumina reads from a trio sample (HG002/003/004). i Graph view in MoMI-G (implemented by using SequenceTubeMap) shows a graphical view of a genomic region with long-read alignments: a deletion of >200 bp is identified by the read alignments. j Population view in UCSC Xena shows SV calls, gene expression, and the copy numbers of multiple genomes: copy numbers on ERG across more than 300 samples represented as a heatmap
The curated list of SV visualization tools
| Program | Publication year | Type | Programming language | License | Recent activities in GitHub | BAM input | Explicit long-read support | VCF input | Installation | Linear genome browser | Dot Plot | Scatter plot | SV table | Circos plot | Linear coordinate plot | Two-way view | Multi-way view | Graph view | Population view | Sequencing platform |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Integrative genomics viewer | 2011 | Commandline/Standalone | Java | MIT | ✓ | ✓ | ✓ | ✓ | Binary | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | Illumina, long reads |
| New genome browser | 2017 | Web app | Java, JavaScript | MIT | ✓ | ✓ | ✗ | ✓ | Docker image or binary | ✓ | ✗ | ✗ | ✓ | ✗ | ✓ | ✗ | ✓ | ✗ | ✗ | Illumina |
| BasePlayer | 2018 | Standalone | Java | AGPL-3.0 | ✓ | ✓ | ✓ | ✓ | Installer or binary | ✓ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✓ | ✗ | ✓ | Illumina, long reads |
| Ribbon | 2016 | Web app | JavaScript | MIT | ✗ | ✓ | ✓ | ✗ | Git clone | ✓ | ✓ | ✗ | ✓ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | Long reads |
| SplitThreader | 2016 | Web app | JavaScript | MIT | ✗ | ✗ | ✗ | ✓ | Git clone | ✗ | ✗ | ✗ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | f |
| svviz | 2015 | Commandline/Web app | Python | MIT | ✓e | ✓ | ✓ | ✓ | pip (Python package) | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | Illumina, long reads |
| Samplot | N/A | Command-line/Web app | Python | MIT | ✓ | ✓ | ✓ | ✓ | Git clone | ✓ | ✗ | ✗ | ✓ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | Illumina, long reads |
| MoMI-G | 2019 | Web app | TypeScript | MIT | ✓ | ✓ | ✓ | ✓ | Git clone | ✓ | ✗ | ✗ | ✓ | ✓ | ✗ | ✗ | ✗ | ✓ | ✗ | Long reads |
| GfaViz | 2018 | Commandline/Standalone | C + + | ISCa | ✓ | ✗ | ✗ | ✗ | Git clone | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | f |
| gGnome | N/A | Library | R | MIT | ✓ | ✗ | ✗ | ✓ | devtools (R library) | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✓ | ✓ | ✗ | Illumina |
| FastBreak | 2012 | Web app | JavaScript, Python | Unknown | ✗ | ✓ | ✗ | ✗ | Git clone | ✗ | ✗ | ✗ | ✓ | ✓ | ✓ | ✗ | ✗ | ✓ | ✗ | Illumina |
| cnvCurator | 2015 | Standalone | Java | LGPL | N/A | ✓ | ✗ | ✗ | Binary | ✓ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | Illumina |
| CNView | 2016 | Commandline | R | MIT | ✗ | ✗ | ✗ | ✗ | Git clone | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | Illumina |
| CNVkit | 2016 | Commandline | Python | Apache-2.0 | ✓ | ✓ | ✗ | ✗ | Docker image, pip (Python package) | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | Illumina |
| iCopyDAV | 2018 | Commandline | R, Shell | Unknown | ✗ | ✓ | ✗ | ✗ | Git clone | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | Illumina |
| VIPER | 2018 | Web app | Java, JavaScript | GPL-3.0 | ✓ | ✓ | ✓ | ✓ | Binary | ✓ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | Illumina, long reads |
| SVCurator | 2019 | Web app | Python, JavaScript | MIT | ✗ | ✓ | ✓ | ✓ | Unspecified | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | Illumina, long reads |
| SV-plaudit | 2018 | Web app | Python | MIT | ✓ | ✓ | ✓ | ✓ | Git clone | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | Illumina, long reads |
| SVPV | 2017 | Commandline/Standalone | Python, R | MIT | ✗ | ✓ | ✗ | ✓ | Git clone | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | Illumina |
| targetSeqView | 2014 | Library | R | GPL | ✗ | ✓ | ✗ | ✗ | devtools (R library) | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | Illumina |
| Circos | 2009 | Command-line | Perl | GPL | N/A | ✗ | ✗ | ✗ | CPAN (Perl module), official page | ✗ | ✗ | ✓ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | f |
| Seqeyes | 2011 | Web app | Adobe Flash | – | ✗ | ✗ | ✗ | Unavailable | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | f | |
| CIRCUS | 2014 | Library | R | – | ✓ | ✗ | ✗ | Unavailable | ✗ | ✗ | ✓ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | f | |
| paplot | 2017 | Web app | JavaScript | MIT | ✓ | ✗ | ✗ | ✗ | Git clone | ✗ | ✗ | ✓ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | f |
| ViVar | 2014 | Web app | PHP | Unknown | N/A | ✓ | ✗ | ✗ | Unavailable | ✗ | ✗ | ✓ | ✓ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | Illumina |
| Gremlin | 2010 | Web app | JavaScript | – | Unavailable | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | f | ||||
| Loupe | N/A | Standalone | – | Otherb | N/A | ✗ | ✗ | ✗ | Binary | ✓ | ✓ | ✗ | ✓ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | 10x Chromium |
| Bionano Access | N/A | Web app | – | Otherc | N/A | ✗ | ✗ | ✓ | Binary | ✓ | ✗ | ✗ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | Bionano Saphyr |
| SV-Pop | 2019 | Standalone | Python, R | MIT | ✓ | ✓ | ✗ | ✓ | Git clone | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | f |
| UCSC Xena | 2019 | Web app | JavaScript | Apache-2.0 | ✓ | ✗ | ✗ | ✗ | Installer | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | f |
| Assemblytics | 2016 | Web app | Python, R | Unknown | ✓ | ✗ | ✗ | ✗ | Git clone | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | f |
| MAVIS | 2018 | Command-line | Python | Academicd | ✓ | ✓ | ✗ | ✓ | pip (Python package) | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | Illumina |
| AGFusion | 2016 | Commandline | Python | MIT | ✓ | ✗ | ✗ | ✗ | pip (Python package) | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | f |
| iFUSE | 2013 | Web app | PHP, R | – | Unavailable | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | f | ||||
| Breakpoint Surveyor | 2017 | Commandline | R, Python, BASH | GPL-3.0 | ✗ | ✓ | ✗ | ✗ | Git clone | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | Illumina |
Availability is as of 2019 May. Recent activities in GitHub are defined as any updates by owners on the master branch, issues, or pull requests at least once after 2018 May
aFunctionally equivalent to a two-term BSD copyright
bProprietary license (10x Genomics End User Software License)
cProprietary license (Bionano Access End User License)
dBC CANCER AGENCY SOFTWARE LICENSE
eRecent updates are seen in svviz2 (https://github.com/nspies/svviz2)
fPlatform independent; read alignments are not visualized
Fig. 2An example of nested insertion. b Both haplotype X and haplotype Y have insertion sequences of different sizes against the international reference genome such as GRCh38. Both haplotype X and Y contain the same insertion sequence against the reference genome; for example, imagine that this insertion is an Asian-specific insertion relative to the reference genome. Haplotype Y also contains another insertion, which is often a transposable element. The innermost insertion is a nested insertion relative to the international human reference genome. b A typical representation of the nested insertion shown in a by linear genome browser. We see the two insertions relative to the international reference genome, but the relationship between the two insertions is not clear. c A graph genome representation of the nested insertion shown in a. Each node (rounded rectangles) represents a sequence. A colored thick line represents a single haplotype. We can easily see that the two insertions are largely the same except that the insertion on haplotype Y has a small transposable element in it