package Ġcom . h art w ig . h mf tools . knowledge base importer . cgi Ċ Ċ import Ġcom . h art w ig . h mf tools . knowledge base importer . cgi . input . C gi Action able Input Ċ import Ġcom . h art w ig . h mf tools . knowledge base importer . cgi . readers . C gi Action able C nv Reader Ċ import Ġcom . h art w ig . h mf tools . knowledge base importer . cgi . readers . C gi Action able F usion Reader Ċ import Ġcom . h art w ig . h mf tools . knowledge base importer . cgi . readers . C gi Action able Variant Reader Ċ import Ġcom . h art w ig . h mf tools . knowledge base importer . knowledge bases . Action able Record Ċ import Ġcom . h art w ig . h mf tools . knowledge base importer . knowledge bases . Record Metadata Ċ import Ġcom . h art w ig . h mf tools . knowledge base importer . knowledge bases . S om atic Event Ċ import Ġcom . h art w ig . h mf tools . knowledge base importer . knowledge bases . readers . Knowledge base Event Reader Ċ import Ġcom . h art w ig . h mf tools . knowledge base importer . output . Action ability Ċ import Ġcom . h art w ig . h mf tools . knowledge base importer . output . H mf Dr ug Ċ import Ġcom . h art w ig . h mf tools . knowledge base importer . output . H mf Level Ċ import Ġcom . h art w ig . h mf tools . knowledge base importer . output . H mf Response Ċ Ċ data Ġclass ĠC gi Action able Record ( private Ġval Ġmetadata : ĠRecord Metadata , Ġoverride Ġval Ġevents : ĠList < S om atic Event >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġaction ability : ĠList < Action ability >, Ġval Ġc gi Dr ug s : ĠList < C gi Dr ug >) Ġ: ĠRecord Metadata Ġby Ġmetadata , ĊĠĠĠĠĠĠĠ ĠAction able Record Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġreader Ġ= ĠKnowledge base Event Reader (" cgi ", ĠC gi Action able Variant Reader , ĠC gi Action able F usion Reader , ĠC gi Action able C nv Reader ) ĊĊĠĠĠĠĠĠĠ Ġoperator Ġfun Ġinvoke ( input : ĠC gi Action able Input , Ġtreatment TypeMap : ĠMap < String , ĠString >): ĠC gi Action able Record Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmetadata Ġ= ĠC gi Metadata ( input . gene , Ġinput . transcript Ġ?: Ġ" na ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġevents Ġ= Ġreader . read ( input ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaction ability Ġ= Ġread Action ability ( input , Ġtreatment TypeMap ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠC gi Action able Record ( metadata , Ġevents , Ġaction ability , Ġread C gi Dr ug s ( input )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġread Action ability ( input : ĠC gi Action able Input , Ġtreatment TypeMap : ĠMap < String , ĠString >): ĠList < Action ability > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcan cer Types Ġ= Ġinput .` Primary ĠT um or Ġtype `. split ("; "). map Ġ{ Ġit . trim () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlevel Ġ= Ġinput .` Evidence Ġlevel ` ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġassociation Ġ= Ġinput . Association ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠAction ability (" cgi ", Ġinput . Alter ation , Ġcan cer Types , Ġread Dr ug s ( input , Ġtreatment TypeMap ), Ġlevel , Ġassociation , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Predict ive ", ĠH mf Level ( level ), ĠH mf Response ( association )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġread Dr ug s ( input : ĠC gi Action able Input , Ġtreatment TypeMap : ĠMap < String , ĠString >): ĠList < H mf Dr ug > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdrug s Ġ= Ġread Dr ug Names ( input ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġdrug s . map Ġ{ Ġname Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( name . contains ("+ ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtype Ġ= Ġname . split ("+ "). map Ġ{ Ġit . trim () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. join ToString (" Ġ+ Ġ") Ġ{ Ġtreatment TypeMap [ it . toLowerCase ()] Ġ?: Ġ" Unknown " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠH mf Dr ug ( name , Ġtype ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠH mf Dr ug ( name , Ġtreatment TypeMap [ name . toLowerCase ()] Ġ?: Ġ" Unknown ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġread Dr ug Names ( input : ĠC gi Action able Input ): ĠList < String > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdrug Names Ġ= Ġread Dr ug s Field ( input . Dr ug . or Empty ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( drug Names . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġread Dr ug s Field ( input .` Dr ug Ġfamily `. or Empty ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrug Names ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġread Dr ug s Field ( drug Field : ĠString ): ĠList < String > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġdrug Field . replace (" ;", Ġ" Ġ+ Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. remove Sur rounding ("[ ", Ġ"] ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. split (",") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Not Ġ{ Ġit . isBlank () Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ