@@ -138,4 +138,38 @@ module Constants
138138 ENSEMBL_TRANSCRIPT_ID_FORMAT = /\A ENST\d {11}\. \d {1,2}\z /
139139
140140 REPRESENTATIVE_FUSION_VARIANT_NAME = 'Fusion'
141+
142+ # INSDC regulatory class vocabulary as required here: https://fusions.cancervariants.org/en/latest/nomenclature.html#regulatory-nomenclature
143+ REGULATORY_FUSION_TYPES = [
144+ [ "attenuator" , "SO:0000140" ] ,
145+ [ "CAAT_signal" , "SO:0000172" ] ,
146+ [ "DNase_I_hypersensitive_site" , "SO:0000685" ] ,
147+ [ "enhancer" , "SO:0000165" ] ,
148+ [ "enhancer_blocking_element" , nil ] ,
149+ [ "GC_signal" , "SO:0000173" ] ,
150+ [ "imprinting_control_region" , nil ] ,
151+ [ "insulator" , "SO:0000627" ] ,
152+ [ "locus_control_region" , "SO:0000037" ] ,
153+ [ "matrix_attachment_region" , "SO:0000036" ] ,
154+ [ "minus_35_signal" , "SO:0000176" ] ,
155+ [ "minus_10_signal" , "SO:0000175" ] ,
156+ [ "polyA_signal_sequence" , "SO:0000551" ] ,
157+ [ "promoter" , "SO:0000167" ] ,
158+ [ "recoding_stimulatory_region" , "SO:1001268" ] ,
159+ [ "recombination_enhancer" , "SO:0002059" ] ,
160+ [ "replication_regulatory_region" , "SO:0001682" ] ,
161+ [ "response_element" , nil ] ,
162+ [ "ribosome_binding_site" , "SO:0000552" ] ,
163+ [ "riboswitch" , "SO:0000035" ] ,
164+ [ "silencer" , "SO:0000625" ] ,
165+ [ "TATA_box" , "SO:0000174" ] ,
166+ [ "terminator" , "SO:0000141" ] ,
167+ [ "transcriptional_cis_regulatory_region" , "SO:0001055" ] ,
168+ [ "uORF" , "SO:0002027" ] ,
169+ [ "other" , nil ]
170+ ] . map { |( type , soid ) | [ "reg_#{ type } " , soid ] }
171+
172+ REGULATORY_FUSION_ENUM_TYPES = REGULATORY_FUSION_TYPES . map { |( type , _ ) | [ type , type ] } . to_h
173+
174+ FUSION_PARTNER_STATUSES = [ 'known' , 'unknown' , 'multiple' , 'regulatory' ] . map { [ _1 , _1 ] } . to_h
141175end
0 commit comments