LSV splicing type annotation

138 views
Skip to first unread message

Oliver Ziff

unread,
Jul 1, 2020, 5:13:12 PM7/1/20
to majiq_voila
Dear developers,

I am trying to make biological sense of the voila tsv output. I am interested in global whole genome splicing changes in the cannonical splicing types between conditions (ES, MXE, IR, A5SS, A3SS etc). The voila tsv does not annotate each LSV with its splicing type and so I am doing this myself. The vast majority of events are complex with >2 Num. Junctions but i wondered how to unpick their composition and look for regular patterns. I wondered if you had any improvements on this:
 
voila_tsv <- voila_tsv %>%
      mutate
(splicing_type = case_when(`Num. Junctions` == 2 & ES == "False" & A5SS == FALSE & A3SS == FALSE ~ "retained intron",
                         `IR coords` != "" ~ "complex: retained intron",
                         `Num. Junctions` == 2 & `Num. Exons` == 3 ~ "skipped exon",
                         `Num. Junctions` == 3 & `Num. Exons` == 4 ~ "two-skipped exons",
                         `Num. Junctions` == 4 & `Num. Exons` == 5 ~ "multi-skipped exons",
                         `Num. Junctions` == 5 & `Num. Exons` == 6 ~ "multi-skipped exons",
                         `Num. Junctions` == 6 & `Num. Exons` == 7 ~ "multi-skipped exons",
                         `Num. Junctions` == 7 & `Num. Exons` == 8 ~ "multi-skipped exons",
                         `Num. Junctions` == 8 & `Num. Exons` == 9 ~ "multi-skipped exons",
                         `Num. Junctions` == 9 & `Num. Exons` == 10 ~ "multi-skipped exons",
                         `Num. Junctions` == 2 & `Num. Exons` == 4 ~ "mutually exclusive exon",
                         `Num. Junctions` == 2 & A3SS == TRUE ~ "alternative 3\'",
                         `Num. Junctions` == 2 & A5SS == TRUE ~ "alternative 5\'",
                         TRUE ~ "complex: other"))

Many thanks,
Oliver

Christian Rohde

unread,
Sep 15, 2020, 6:55:25 AM9/15/20
to majiq_voila
Hi Oliver and dear MAJIQ developers,

this is actually a great question. I also would like to have a global overview about the splice changes between conditions. It would be nice if one could directly export a global view figure from voila view using the parameters chosen. On the other hand I also wish to understand how I can work with the information and merge with expression changes etc. I started working with MAJIQ some days ago and it seems that the information MAJIQ provides changed recently. I do not find the cols ES, A5SS, A3SS. What I get is num_junctions, num_exons and ir_coords. In addition I have the col lsv_type which is not self explanatory for my. I do not find a hint in the help how to deal with information like :
  • s|1e1.1o1|i
  • s|1e1.1o1|1e2.1o1 
  • s|1e1.1o1|1e2.1o1 
  • t|1e1.1o1|1e2.1o1
Is there a way to translate the lsv_type into human readable format?

Best,
Christian

Christian Rohde

unread,
Sep 15, 2020, 9:36:50 AM9/15/20
to majiq_voila
sorry for spamming. I found a tsv from in my dpsi output folder from DeltaPSI calculation which includes all LSV and the columns you mentioned. Just the file I exported with voila tsv for downstream analyses as suggested in the help is different. At this point the help is a bit confusing ...

On Wednesday, July 1, 2020 at 11:13:12 PM UTC+2 Oliver Ziff wrote:

Denisa Bogdan

unread,
Mar 10, 2021, 5:19:15 AMMar 10
to majiq_voila
Hi christian,

Did you ever find an answer for this question? I am hoping to understand the lsv_type column and I am really confused.

Many thanks,
Denisa

Paul Jewell

unread,
Mar 15, 2021, 7:42:45 PMMar 15
to majiq_voila
Hi All, 

I'm a little unsure of what the goal is in this case. The purpose of the "lsv_type" representation is only for the ease of displaying the cartoon in voila view, so, for the best visual representation, I would highly recommend using voila view to check the lsv_types, however, for a rough translation:

  • starts by (s or t) being source or target
  • each '|' is a new junction representation and if there is intron_retention the last character is 'i'
  • each junction is represented by  XeY.ZoK where 
    • X is the ordinal splice site in the reference exon
    • Y is the ordinal exon connecting the lsv
    • Z is the ordinal splice site in exon Y
    • K is the total number of splice sites that Y has

Again, though, it is in house code, not generally stable, and not meant to be parsed. 

Thanks, 
-Paul

Reply all
Reply to author
Forward
0 new messages