Examples
Below are some examples of the kinds of transcript that ExonViz can create.
SDHD
Visualise two variants in the SDHD gene
exonviz --transcript "NM_003002.4:r.[274g>u;300del]" --exonnumber > SDHD.svg
NF1
Visualise NF1, setting the width of the figure to the size of the largest exon
exonviz --transcript "ENST00000358273.9" --noncoding --width 3600 --height 75 > NF1-202.svg
Schematic representation of DMD
Create a schematic visualisation of the DMD gene. Since this gene is very large, we will first export the exons to TSV format, and then modify each exon to have the same size.
# Write the exons in TSV format to dmd.tsv
exonviz --transcript DMD --exonnumber --dump-exons DMD-schematic.tsv
# Next, modify each exon to be 30 bp in your favorite text editor
# Don't forget to also update the size of the coding region for each exon
# (see the table below)
# Finally, draw the exons from the TSV file
exonviz --exon-tsv DMD-schematic.tsv --width 750 --gap 0 > DMD-schematic.svg
size |
name |
color |
coding_start |
coding_end |
start_phase |
end_phase |
30 |
1 |
#4C72B7 |
0 |
30 |
0 |
1 |
30 |
2 |
#4C72B7 |
0 |
30 |
1 |
0 |
30 |
3 |
#4C72B7 |
0 |
30 |
0 |
0 |
30 |
4 |
#4C72B7 |
0 |
30 |
0 |
0 |
30 |
5 |
#4C72B7 |
0 |
30 |
0 |
0 |
30 |
6 |
#4C72B7 |
0 |
30 |
0 |
2 |
30 |
7 |
#4C72B7 |
0 |
30 |
2 |
1 |
30 |
8 |
#4C72B7 |
0 |
30 |
1 |
0 |
30 |
9 |
#4C72B7 |
0 |
30 |
0 |
0 |
30 |
10 |
#4C72B7 |
0 |
30 |
0 |
0 |
30 |
11 |
#4C72B7 |
0 |
30 |
0 |
2 |
30 |
12 |
#4C72B7 |
0 |
30 |
2 |
0 |
30 |
13 |
#4C72B7 |
0 |
30 |
0 |
0 |
30 |
14 |
#4C72B7 |
0 |
30 |
0 |
0 |
30 |
15 |
#4C72B7 |
0 |
30 |
0 |
0 |
30 |
16 |
#4C72B7 |
0 |
30 |
0 |
0 |
30 |
17 |
#4C72B7 |
0 |
30 |
0 |
2 |
30 |
18 |
#4C72B7 |
0 |
30 |
2 |
0 |
30 |
19 |
#4C72B7 |
0 |
30 |
0 |
1 |
30 |
20 |
#4C72B7 |
0 |
30 |
1 |
0 |
30 |
21 |
#4C72B7 |
0 |
30 |
0 |
1 |
30 |
22 |
#4C72B7 |
0 |
30 |
1 |
0 |
30 |
23 |
#4C72B7 |
0 |
30 |
0 |
0 |
30 |
24 |
#4C72B7 |
0 |
30 |
0 |
0 |
30 |
25 |
#4C72B7 |
0 |
30 |
0 |
0 |
30 |
26 |
#4C72B7 |
0 |
30 |
0 |
0 |
30 |
27 |
#4C72B7 |
0 |
30 |
0 |
0 |
30 |
28 |
#4C72B7 |
0 |
30 |
0 |
0 |
30 |
29 |
#4C72B7 |
0 |
30 |
0 |
0 |
30 |
30 |
#4C72B7 |
0 |
30 |
0 |
0 |
30 |
31 |
#4C72B7 |
0 |
30 |
0 |
0 |
30 |
32 |
#4C72B7 |
0 |
30 |
0 |
0 |
30 |
33 |
#4C72B7 |
0 |
30 |
0 |
0 |
30 |
34 |
#4C72B7 |
0 |
30 |
0 |
0 |
30 |
35 |
#4C72B7 |
0 |
30 |
0 |
0 |
30 |
36 |
#4C72B7 |
0 |
30 |
0 |
0 |
30 |
37 |
#4C72B7 |
0 |
30 |
0 |
0 |
30 |
38 |
#4C72B7 |
0 |
30 |
0 |
0 |
30 |
39 |
#4C72B7 |
0 |
30 |
0 |
0 |
30 |
40 |
#4C72B7 |
0 |
30 |
0 |
0 |
30 |
41 |
#4C72B7 |
0 |
30 |
0 |
0 |
30 |
42 |
#4C72B7 |
0 |
30 |
0 |
0 |
30 |
43 |
#4C72B7 |
0 |
30 |
0 |
2 |
30 |
44 |
#4C72B7 |
0 |
30 |
2 |
0 |
30 |
45 |
#4C72B7 |
0 |
30 |
0 |
2 |
30 |
46 |
#4C72B7 |
0 |
30 |
2 |
0 |
30 |
47 |
#4C72B7 |
0 |
30 |
0 |
0 |
30 |
48 |
#4C72B7 |
0 |
30 |
0 |
0 |
30 |
49 |
#4C72B7 |
0 |
30 |
0 |
0 |
30 |
50 |
#4C72B7 |
0 |
30 |
0 |
1 |
30 |
51 |
#4C72B7 |
0 |
30 |
1 |
0 |
30 |
52 |
#4C72B7 |
0 |
30 |
0 |
1 |
30 |
53 |
#4C72B7 |
0 |
30 |
1 |
0 |
30 |
54 |
#4C72B7 |
0 |
30 |
0 |
2 |
30 |
55 |
#4C72B7 |
0 |
30 |
2 |
0 |
30 |
56 |
#4C72B7 |
0 |
30 |
0 |
2 |
30 |
57 |
#4C72B7 |
0 |
30 |
2 |
0 |
30 |
58 |
#4C72B7 |
0 |
30 |
0 |
1 |
30 |
59 |
#4C72B7 |
0 |
30 |
1 |
0 |
30 |
60 |
#4C72B7 |
0 |
30 |
0 |
0 |
30 |
61 |
#4C72B7 |
0 |
30 |
0 |
1 |
30 |
62 |
#4C72B7 |
0 |
30 |
1 |
2 |
30 |
63 |
#4C72B7 |
0 |
30 |
2 |
1 |
30 |
64 |
#4C72B7 |
0 |
30 |
1 |
1 |
30 |
65 |
#4C72B7 |
0 |
30 |
1 |
2 |
30 |
66 |
#4C72B7 |
0 |
30 |
2 |
1 |
30 |
67 |
#4C72B7 |
0 |
30 |
1 |
0 |
30 |
68 |
#4C72B7 |
0 |
30 |
0 |
2 |
30 |
69 |
#4C72B7 |
0 |
30 |
2 |
0 |
30 |
70 |
#4C72B7 |
0 |
30 |
0 |
2 |
30 |
71 |
#4C72B7 |
0 |
30 |
2 |
2 |
30 |
72 |
#4C72B7 |
0 |
30 |
2 |
2 |
30 |
73 |
#4C72B7 |
0 |
30 |
2 |
2 |
30 |
74 |
#4C72B7 |
0 |
30 |
2 |
2 |
30 |
75 |
#4C72B7 |
0 |
30 |
2 |
0 |
30 |
76 |
#4C72B7 |
0 |
30 |
0 |
1 |
30 |
77 |
#4C72B7 |
0 |
30 |
1 |
1 |
30 |
78 |
#4C72B7 |
0 |
30 |
1 |
0 |
30 |
79 |
#4C72B7 |
0 |
30 |
0 |
0 |
DM20 and PLP1
The PLP1 gene has two main isoforms, namely PLP1 (ENST00000621218.5) and DM20 (ENST00000619236.1). DM20 is the shorter form of the protein, missing the last 35 amino acids from the third exon. Either isoform can be drawn by ExonViz directly. In the literature, the third exon is often divided in two parts. The first part, termed 3A is present in each isoform, while the second part, termed 3B, is missing from DM20 (for example, Shy et al., 2016). The figure and associated TSV file are shown below, note that exon 3 has been split into two parts, 3A and 3B.
exonviz --exon-tsv PLP1-DM20.tsv --scale 1.3 --gap 0 > PLP1-DM20.svg
size |
name |
color |
coding_start |
coding_end |
start_phase |
end_phase |
4 |
1 |
#4C72B7 |
0 |
4 |
0 |
1 |
187 |
2 |
#4C72B7 |
0 |
187 |
1 |
2 |
157 |
3A |
#4C72B7 |
0 |
157 |
2 |
0 |
105 |
3B |
#4C72B7 |
0 |
105 |
0 |
0 |
169 |
4 |
#4C72B7 |
0 |
169 |
0 |
1 |
74 |
5 |
#4C72B7 |
0 |
74 |
1 |
0 |
66 |
6 |
#4C72B7 |
0 |
66 |
0 |
0 |
72 |
7 |
#4C72B7 |
0 |
72 |
0 |
0 |
NDUFAF6 cryptic exon
Catania et al., 2018 describe a deep intronic variant in NDUFAF6 which leads to the inclusion of a 124nt cryptic exon.
exonviz --exon-tsv NDUFAF6.tsv > NDUFAF6.svg
size |
name |
color |
coding_start |
coding_end |
start_phase |
end_phase |
197 |
1 |
#4C72B7 |
0 |
197 |
0 |
2 |
100 |
2 |
#4C72B7 |
0 |
100 |
2 |
0 |
123 |
3 |
#4C72B7 |
0 |
123 |
0 |
0 |
124 |
cryptic exon |
darkred |
0 |
0 |
0 |
0 |
57 |
4 |
#4C72B7 |
0 |
57 |
0 |
0 |
103 |
5 |
#4C72B7 |
0 |
103 |
0 |
1 |
134 |
6 |
#4C72B7 |
0 |
134 |
1 |
0 |
102 |
7 |
#4C72B7 |
0 |
102 |
0 |
0 |
57 |
8 |
#4C72B7 |
0 |
57 |
0 |
0 |
129 |
9 |
#4C72B7 |
0 |
129 |
0 |
0 |
CYLD
CYLD is a tumor suppressor gene, which has a clear mutational hotspot in exon 16. In the figure below, all ClinVar variants for CYLD transcript NM_001378743.1 have been visualized using ExonViz. This figure uses colors that are clearly distinguishable for color blind people, thanks to this useful website.
How to create the figure
Generating a figure such as this is fairly involved, since it requires gathering all variants for a given transcript, and then modifying them so they are displayed per category.
Gather the variants
The following should be repeated for every variant category of interest, we will use the category Likely Pathogenic as an example. At the time of writing, this gives the following HGVS description:
NM_001378743.1(CYLD):c.[454_455del;1111del;2040dup;2282_2283del;2616del;2723dup].
Note that intronic variants such as 1684+2T>C should not be included, since they are outside of the exons.
Visit ClinVar and Download all variants in Tabular (text) format.
Open the file in a spreadsheet program, and order all variants using the Germline consequence option.
Create a compound HGVS description for all variants in a category, for example Likely Pathogenic.
Export the variants
Use ExonViz to export the exons and variants to TSV files to maninpulate
exonviz --dump-variants likely-pathogenic.tsv --transcript "NM_001378743.1:c.[454_455del;1111del;2040dup;2282_2283del;2616del;2723dup]" --scale 1.2 > /dev/null
exon |
position |
name |
color |
3 |
453 |
c.454_455del |
#BA1C30 |
8 |
89 |
c.1111del |
#DB6917 |
13 |
90 |
c.2040dup |
#EBCE2B |
16 |
40 |
c.2282_2283del |
#702C8C |
18 |
146 |
c.2616del |
#C0BD7F |
19 |
36 |
c.2723dup |
#BA1C30 |
Update the variants
Open the likely-pathogenic.tsv file in a spreadsheet program, and update the name column to contain (Likely) Pathognic, and the color option to #882255 for each variant.
exon |
position |
name |
color |
3 |
453 |
(Likely) Pathogenic |
#882255 |
8 |
89 |
(Likely) Pathogenic |
#882255 |
13 |
90 |
(Likely) Pathogenic |
#882255 |
16 |
40 |
(Likely) Pathogenic |
#882255 |
18 |
146 |
(Likely) Pathogenic |
#882255 |
19 |
36 |
(Likely) Pathogenic |
#882255 |
Draw the figure with ExonViz
Repeat the above steps for each category from ClinVar you are interested in. When you are satisfied with the variants, you can merge all categories into a single file. You can then draw CYLD from the tsv files you have created. ExonViz will recognise that there are multiple variants with the same name and color, and will only include each combination in the legend only once.
exonviz --width 747 --exon-tsv CYLD-exons.tsv --variant-tsv CYLD-variants.tsv --scale 1.2 --variantshape bar > CYLD.svg
size |
name |
color |
coding_start |
coding_end |
start_phase |
end_phase |
0 |
1 |
#88CCEE |
0 |
0 |
0 |
0 |
0 |
2 |
#88CCEE |
0 |
0 |
0 |
0 |
504 |
3 |
#88CCEE |
0 |
504 |
0 |
0 |
303 |
4 |
#88CCEE |
0 |
303 |
0 |
0 |
106 |
5 |
#88CCEE |
0 |
106 |
0 |
1 |
9 |
6 |
#88CCEE |
0 |
9 |
1 |
1 |
99 |
7 |
#88CCEE |
0 |
99 |
1 |
1 |
117 |
8 |
#88CCEE |
0 |
117 |
1 |
1 |
380 |
9 |
#88CCEE |
0 |
380 |
1 |
0 |
166 |
10 |
#88CCEE |
0 |
166 |
0 |
1 |
142 |
11 |
#88CCEE |
0 |
142 |
1 |
2 |
123 |
12 |
#88CCEE |
0 |
123 |
2 |
2 |
92 |
13 |
#88CCEE |
0 |
92 |
2 |
1 |
67 |
14 |
#88CCEE |
0 |
67 |
1 |
2 |
133 |
15 |
#88CCEE |
0 |
133 |
2 |
0 |
109 |
16 |
#88CCEE |
0 |
109 |
0 |
1 |
119 |
17 |
#88CCEE |
0 |
119 |
1 |
0 |
217 |
18 |
#88CCEE |
0 |
217 |
0 |
1 |
185 |
19 |
#88CCEE |
0 |
185 |
1 |
0 |
exon |
position |
name |
color |
3 |
86 |
(Likely) Benign |
#117733 |
9 |
153 |
(Likely) Benign |
#117733 |
9 |
334 |
(Likely) Benign |
#117733 |
16 |
77 |
(Likely) Benign |
#117733 |
19 |
127 |
(Likely) Benign |
#117733 |
3 |
125 |
(Likely) Benign |
#117733 |
4 |
9 |
(Likely) Benign |
#117733 |
7 |
81 |
(Likely) Benign |
#117733 |
9 |
33 |
(Likely) Benign |
#117733 |
9 |
50 |
(Likely) Benign |
#117733 |
9 |
226 |
(Likely) Benign |
#117733 |
17 |
61 |
(Likely) Benign |
#117733 |
3 |
65 |
(Likely) Benign |
#117733 |
4 |
29 |
(Likely) Benign |
#117733 |
4 |
272 |
(Likely) Benign |
#117733 |
5 |
59 |
(Likely) Benign |
#117733 |
5 |
83 |
(Likely) Benign |
#117733 |
8 |
49 |
(Likely) Benign |
#117733 |
8 |
88 |
(Likely) Benign |
#117733 |
9 |
70 |
(Likely) Benign |
#117733 |
9 |
97 |
(Likely) Benign |
#117733 |
9 |
217 |
(Likely) Benign |
#117733 |
10 |
110 |
(Likely) Benign |
#117733 |
11 |
25 |
(Likely) Benign |
#117733 |
12 |
93 |
(Likely) Benign |
#117733 |
13 |
15 |
(Likely) Benign |
#117733 |
14 |
25 |
(Likely) Benign |
#117733 |
15 |
39 |
(Likely) Benign |
#117733 |
16 |
98 |
(Likely) Benign |
#117733 |
17 |
34 |
(Likely) Benign |
#117733 |
17 |
67 |
(Likely) Benign |
#117733 |
18 |
5 |
(Likely) Benign |
#117733 |
18 |
6 |
(Likely) Benign |
#117733 |
18 |
83 |
(Likely) Benign |
#117733 |
18 |
176 |
(Likely) Benign |
#117733 |
3 |
453 |
(Likely) Pathogenic |
#882255 |
8 |
89 |
(Likely) Pathogenic |
#882255 |
13 |
90 |
(Likely) Pathogenic |
#882255 |
16 |
40 |
(Likely) Pathogenic |
#882255 |
18 |
146 |
(Likely) Pathogenic |
#882255 |
19 |
36 |
(Likely) Pathogenic |
#882255 |
5 |
82 |
(Likely) Pathogenic |
#882255 |
10 |
139 |
(Likely) Pathogenic |
#882255 |
10 |
162 |
(Likely) Pathogenic |
#882255 |
11 |
86 |
(Likely) Pathogenic |
#882255 |
14 |
66 |
(Likely) Pathogenic |
#882255 |
15 |
29 |
(Likely) Pathogenic |
#882255 |
15 |
46 |
(Likely) Pathogenic |
#882255 |
16 |
21 |
(Likely) Pathogenic |
#882255 |
16 |
49 |
(Likely) Pathogenic |
#882255 |
16 |
57 |
(Likely) Pathogenic |
#882255 |
17 |
39 |
(Likely) Pathogenic |
#882255 |
17 |
55 |
(Likely) Pathogenic |
#882255 |
18 |
45 |
(Likely) Pathogenic |
#882255 |
18 |
99 |
(Likely) Pathogenic |
#882255 |
4 |
56 |
(Likely) Pathogenic |
#882255 |
5 |
23 |
(Likely) Pathogenic |
#882255 |
5 |
103 |
(Likely) Pathogenic |
#882255 |
7 |
45 |
(Likely) Pathogenic |
#882255 |
7 |
64 |
(Likely) Pathogenic |
#882255 |
8 |
90 |
(Likely) Pathogenic |
#882255 |
9 |
188 |
(Likely) Pathogenic |
#882255 |
9 |
224 |
(Likely) Pathogenic |
#882255 |
9 |
253 |
(Likely) Pathogenic |
#882255 |
10 |
18 |
(Likely) Pathogenic |
#882255 |
10 |
80 |
(Likely) Pathogenic |
#882255 |
15 |
63 |
(Likely) Pathogenic |
#882255 |
15 |
131 |
(Likely) Pathogenic |
#882255 |
16 |
10 |
(Likely) Pathogenic |
#882255 |
16 |
30 |
(Likely) Pathogenic |
#882255 |
19 |
119 |
(Likely) Pathogenic |
#882255 |
3 |
23 |
Other |
black |
3 |
54 |
Other |
black |
3 |
69 |
Other |
black |
3 |
124 |
Other |
black |
3 |
156 |
Other |
black |
3 |
157 |
Other |
black |
3 |
169 |
Other |
black |
3 |
175 |
Other |
black |
3 |
207 |
Other |
black |
3 |
240 |
Other |
black |
3 |
273 |
Other |
black |
3 |
284 |
Other |
black |
3 |
420 |
Other |
black |
3 |
438 |
Other |
black |
3 |
466 |
Other |
black |
4 |
38 |
Other |
black |
4 |
84 |
Other |
black |
4 |
103 |
Other |
black |
4 |
106 |
Other |
black |
4 |
130 |
Other |
black |
4 |
135 |
Other |
black |
4 |
144 |
Other |
black |
4 |
160 |
Other |
black |
4 |
175 |
Other |
black |
4 |
180 |
Other |
black |
4 |
189 |
Other |
black |
4 |
222 |
Other |
black |
4 |
256 |
Other |
black |
5 |
33 |
Other |
black |
5 |
91 |
Other |
black |
7 |
1 |
Other |
black |
7 |
9 |
Other |
black |
7 |
23 |
Other |
black |
7 |
33 |
Other |
black |
7 |
85 |
Other |
black |
7 |
93 |
Other |
black |
8 |
56 |
Other |
black |
9 |
2 |
Other |
black |
9 |
3 |
Other |
black |
9 |
12 |
Other |
black |
9 |
27 |
Other |
black |
9 |
51 |
Other |
black |
9 |
110 |
Other |
black |
9 |
132 |
Other |
black |
9 |
137 |
Other |
black |
9 |
150 |
Other |
black |
9 |
155 |
Other |
black |
9 |
192 |
Other |
black |
9 |
218 |
Other |
black |
9 |
263 |
Other |
black |
9 |
294 |
Other |
black |
10 |
165 |
Other |
black |
11 |
78 |
Other |
black |
11 |
93 |
Other |
black |
12 |
26 |
Other |
black |
12 |
106 |
Other |
black |
13 |
35 |
Other |
black |
13 |
89 |
Other |
black |
13 |
91 |
Other |
black |
15 |
36 |
Other |
black |
15 |
63 |
Other |
black |
16 |
100 |
Other |
black |
17 |
39 |
Other |
black |
17 |
51 |
Other |
black |
17 |
83 |
Other |
black |
17 |
111 |
Other |
black |
17 |
114 |
Other |
black |
18 |
46 |
Other |
black |
18 |
108 |
Other |
black |
18 |
119 |
Other |
black |
18 |
174 |
Other |
black |
18 |
176 |
Other |
black |
18 |
180 |
Other |
black |
19 |
157 |
Other |
black |
19 |
167 |
Other |
black |
3 |
343 |
Other |
black |
7 |
65 |
Other |
black |
3 |
58 |
Other |
black |
9 |
364 |
Other |
black |
17 |
66 |
Other |
black |