@@ -55,43 +55,25 @@ mGAP.Utils = (function($){
5555 var metricNames = values . split ( ';' ) ;
5656 var targets = [ ] ;
5757
58- //filter:
59- if ( metricNames . length > 1 && metricNames . indexOf ( 'intron_variant' ) > - 1 ) {
60- metricNames . remove ( 'downstream_gene_variant' ) ;
61- metricNames . remove ( 'upstream_gene_variant' ) ;
58+ // Then accept each of these categories in priority order:
59+ if ( $ ( metricNames ) . filter ( [ 'missense_variant' , 'synonymous_variant' , 'stop_lost' , 'stop_retained_variant' , 'stop_gained' , 'initiator_codon_variant' , 'start_lost' , 'non_canonical_start_codon' , 'exon_loss_variant' , 'frameshift_variant' , 'conservative_inframe_insertion' , 'disruptive_inframe_insertion' , 'conservative_inframe_deletion' , 'disruptive_inframe_deletion' ] ) . length ) {
60+ targets . push ( 'Exonic' ) ;
6261 }
63-
64- if ( metricNames . indexOf ( 'downstream_gene_variant' ) > - 1 ) {
62+ else if ( $ ( metricNames ) . filter ( [ 'intron_variant' , 'splice_acceptor_variant' , 'splice_region_variant' , 'splice_donor_variant' ] ) . length ) {
63+ targets . push ( 'Intronic/<br>Non-coding' ) ;
64+ }
65+ else if ( $ ( metricNames ) . filter ( [ 'intragenic_variant' , 'non_coding_transcript_variant' , 'non_coding_transcript_exon_variant' , '3_prime_UTR_variant' , '5_prime_UTR_premature_start_codon_gain_variant' , '5_prime_UTR_variant' ] ) . length ) {
66+ targets . push ( 'Intronic/<br>Non-coding' ) ;
67+ }
68+ else if ( metricNames . indexOf ( 'downstream_gene_variant' ) > - 1 ) {
6569 targets . push ( 'Downstream<br>Gene' ) ;
6670 }
67- if ( metricNames . indexOf ( 'upstream_gene_variant' ) > - 1 ) {
71+ else if ( metricNames . indexOf ( 'upstream_gene_variant' ) > - 1 ) {
6872 targets . push ( 'Upstream<br>Gene' ) ;
6973 }
70-
71- $ . each ( metricNames , function ( idx , val ) {
72- if ( [ 'missense_variant' , 'synonymous_variant' , 'stop_lost' , 'stop_retained_variant' , 'stop_gained' , 'initiator_codon_variant' , 'start_lost' , 'non_canonical_start_codon' , 'exon_loss_variant' , 'frameshift_variant' , 'conservative_inframe_insertion' , 'disruptive_inframe_insertion' , 'conservative_inframe_deletion' , 'disruptive_inframe_deletion' ] . indexOf ( val ) > - 1 ) {
73- targets . push ( 'Exonic' ) ;
74- return false ;
75- }
76- else if ( [ 'downstream_gene_variant' ] . indexOf ( val ) > - 1 ) {
77-
78- }
79- else if ( [ 'upstream_gene_variant' ] . indexOf ( val ) > - 1 ) {
80-
81- }
82- else if ( [ 'intron_variant' , 'splice_acceptor_variant' , 'splice_region_variant' , 'splice_donor_variant' ] . indexOf ( val ) > - 1 ) {
83- targets . push ( 'Intronic/<br>Non-coding' ) ;
84- return false ;
85- }
86- else if ( [ 'intragenic_variant' , 'non_coding_transcript_variant' , 'non_coding_transcript_exon_variant' , '3_prime_UTR_variant' , '5_prime_UTR_premature_start_codon_gain_variant' , '5_prime_UTR_variant' ] . indexOf ( val ) > - 1 ) {
87- targets . push ( 'Intronic/<br>Non-coding' ) ;
88- return false ;
89- }
90- else if ( [ 'intergenic_region' ] . indexOf ( val ) > - 1 ) {
91- targets . push ( 'Intergenic' ) ;
92- return false ;
93- }
94- } , this ) ;
74+ else if ( metricNames . indexOf ( 'intergenic_region' ) > - 1 ) {
75+ targets . push ( 'Intergenic' ) ;
76+ }
9577
9678 if ( ! targets . length ) {
9779 targets . push ( values ) ;
0 commit comments