package Ġorg . battery park dev . cosm ic graph db . neo 4 j . dao Ċ Ċ import Ġcom . google . common . f logger . Fluent Logger Ċ import Ġorg . battery park dev . cosm ic graph db . cosm ic . model . Cos mic Gene C ensus Ċ import Ġorg . battery park dev . cosm ic graph db . cosm ic . model . Cos mic Mutation Gene Ċ import Ġorg . battery park dev . cosm ic graph db . neo 4 j . Neo 4 j Connection Service Ċ import Ġorg . battery park dev . cosm ic graph db . neo 4 j . Neo 4 j Utils Ċ import Ġorg . battery park dev . cosm ic graph db . neo 4 j . loader . Cos mic Gene C ensus Loader Ċ import Ġorg . battery park dev . cosm ic graph db . service . T um or Type Service Ċ Ċ object ĠCos mic Gene Dao Ġ{ ĊĠĠĠ Ġprivate Ġval Ġlogger : ĠFluent Logger Ġ= ĠFluent Logger . for En closing Class () ĊĊĠĠĠ Ġprivate Ġconst Ġval Ġcy pher Load Template Ġ= Ġ" MERGE Ġ( cg : Cos mic Gene { gene _ symbol : Ġ\" GEN ES Y MBOL \" Ġ}) Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" SET Ġcg . gene _ name Ġ= Ġ\" GEN ENAME \", Ġcg . ent rez _ gene _ id Ġ= Ġ\" ENT RE Z \", Ġcg . genome _ location Ġ= Ġ\" LOCATION \ "," Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" cg . tier Ġ= ĠTI ER , Ġcg . hall mark Ġ= ĠH ALL MARK , Ġcg . chrom osome _ band Ġ= Ġ\" CH RB AND \", Ġcg . som atic Ġ= ĠS OM AT IC , Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" cg . ger ml ine Ġ= ĠG ER ML INE , Ġcg . c ancer _ syn d rome Ġ= Ġ\" CAN CER SYN \", Ġcg . molec ular _ gen etics Ġ= Ġ\" M OL GEN \", Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" cg . other _ ger ml ine _ mut Ġ= Ġ\" OTHER MUT \" Ġ ĠRETURN Ġcg . gene _ symbol " ĊĊĠĠĠ Ġfun Ġload Cos mic Gene Node ( cosm ic Gene : ĠCos mic Gene C ensus ): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmerge Ġ= Ġcy pher Load Template . replace (" GEN ES Y MBOL ", Ġcos mic Gene . gene Symbol ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace (" GEN ENAME ", Ġcos mic Gene . gene Name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace (" ENT RE Z ", Ġcos mic Gene . ent rez Gene Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace (" LOCATION ", Ġcos mic Gene . genome Location ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace (" TI ER ", Ġcos mic Gene . tier . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace (" H ALL MARK ", Ġcos mic Gene . hall mark . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace (" CH RB AND ", Ġcos mic Gene . chrom osome Band ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace (" SO MAT IC ", Ġcos mic Gene . som atic . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace (" GER ML INE ", Ġcos mic Gene . ger ml ine . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace (" CAN CER SYN ", Ġcos mic Gene . c ancer Syn d rome ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace (" M OL GEN ", Ġcos mic Gene . molec ular Gen etics ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace (" OTHER MUT ", Ġcos mic Gene . other Ger ml ine Mut ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠNeo 4 j Connection Service . execute Cy pher Command ( merge ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġload Trans loc Partner List ( gene Symbol : ĠString , Ġtrans Partner List : ĠList < String >) Ġ{ ĊĠĠĠĠĠĠĠ Ġtrans Partner List . forEach Ġ{ Ġtrans Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNeo 4 j Connection Service . execute Cy pher Command (" MERGE Ġ( ca : Cos mic Annotation { annotation _ value : Ġ\"$ trans \" }) ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Annotation Label ( trans , Ġ" Trans location Partner ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomplete Basic Relationship ( gene Symbol , Ġtrans , Ġ" HAS _ TRANS LOCATION _ PART NER ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠ Ġfun Ġload Other Syn d rome Annotations ( gene Symbol : ĠString , Ġother Syn d rome List : ĠList < String >) Ġ{ ĊĠĠĠĠĠĠĠ Ġother Syn d rome List . forEach Ġ{ Ġsyn Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNeo 4 j Connection Service . execute Cy pher Command (" MERGE Ġ( ca : Cos mic Annotation { annotation _ value : Ġ\"$ syn \" }) ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Annotation Label ( syn , Ġ" Other Syn d rome ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomplete Basic Relationship ( gene Symbol , Ġsyn , Ġ" HAS _ OTHER _ SY ND ROME ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġload T issue Type Annotations ( gene Symbol : ĠString , Ġt issue TypeList : ĠList < String >) Ġ{ ĊĠĠĠĠĠĠĠ Ġt issue TypeList . forEach Ġ{ Ġt issue Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNeo 4 j Connection Service . execute Cy pher Command (" MERGE Ġ( ca : Cos mic Annotation { annotation _ value : Ġ\"$ t issue \" }) ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Annotation Label ( t issue , Ġ" T issue Type ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomplete Basic Relationship ( gene Symbol , Ġt issue , Ġ" HAS _ T ISSUE _ TYPE ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġload Mutation Type Annotations ( gene Symbol : ĠString , Ġmutation TypeList : ĠList < String >) Ġ{ ĊĠĠĠĠĠĠĠ Ġmutation TypeList . forEach Ġ{ Ġmut Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNeo 4 j Connection Service . execute Cy pher Command (" MERGE Ġ( ca : Cos mic Annotation { annotation _ value : Ġ\"$ mut \" }) ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġadd ĠMutation Type Ġlabel Ġif Ġnovel ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Annotation Label ( mut , Ġ" Mutation Type ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠCos mic Gene Ġ-> ĠCos mic Annotation ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomplete Basic Relationship ( gene Symbol , Ġmut , Ġ" HAS _ MUT ATION _ TYPE ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠ Ġfun Ġload Role In C ancer Annotations ( gene Symbol : ĠString , Ġrole List : ĠList < String >) Ġ{ ĊĠĠĠĠĠĠĠ Ġrole List . forEach Ġ{ Ġrole Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNeo 4 j Connection Service . execute Cy pher Command (" MERGE Ġ( ca : Cos mic Annotation { annotation _ value : Ġ\"$ role \" }) ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġadd ĠRole In C ancer Ġlabel Ġif Ġnovel ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Annotation Label ( role , Ġ" Role In C ancer ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠCos mic Gene Ġ-> ĠCos mic Annotation ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomplete Basic Relationship ( gene Symbol , Ġrole , Ġ" HAS _ ROLE _ IN _ CAN CER ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġadd Annotation Label ( value : ĠString , Ġlabel : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlabel Exists Query Ġ= Ġ" MERGE Ġ( ca : Cos mic Annotation { annotation _ value :\" $ value \" }) Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" RETURN Ġap oc . label . exists ( ca , Ġ\"$ label \") ĠAS Ġoutput ;" ĊĠĠĠĠĠĠĠ Ġif Ġ( Neo 4 j Connection Service . execute Cy pher Command ( label Exists Query ). uppercase () Ġ== Ġ" FALSE ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNeo 4 j Connection Service . execute Cy pher Command ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" MATCH Ġ( ca : Cos mic Annotation { annotation _ value :\" $ value \" }) Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" CALL Ġap oc . create . add Labels ( ca ,[ \" $ label \" ]) ĠY I ELD Ġnode ĠRETURN Ġnode " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġload Syn onym Annotations ( gene Symbol : ĠString , Ġsyn onym List : ĠList < String >) Ġ{ ĊĠĠĠĠĠĠĠ Ġsyn onym List . forEach Ġ{ Ġsyn Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNeo 4 j Connection Service . execute Cy pher Command (" MERGE Ġ( ca : Cos mic Annotation { annotation _ value : Ġ\"$ syn \" }) ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġadd ĠSyn onym Ġlabel Ġif Ġnovel ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlabel Exists Query Ġ= Ġ" MERGE Ġ( ca : Cos mic Annotation { annotation _ value :\" $ syn \" }) Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" RETURN Ġap oc . label . exists ( ca , Ġ\" Syn onym \") ĠAS Ġoutput ;" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Neo 4 j Connection Service . execute Cy pher Command ( label Exists Query ). uppercase () Ġ== Ġ" FALSE ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNeo 4 j Connection Service . execute Cy pher Command ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" MATCH Ġ( ca : Cos mic Annotation { annotation _ value :\" $ syn \" }) Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠCALL Ġap oc . create . add Labels ( ca ,[ \" Syn onym \" ]) ĠY I ELD Ġnode ĠRETURN Ġnode " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠCos mic Gene Ġ-> ĠCos mic Annotation ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNeo 4 j Connection Service . execute Cy pher Command ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" MATCH Ġ( cg : Cos mic Gene ), Ġ( ca : Cos mic Annotation ) ĠWHERE Ġcg . gene _ symbol Ġ= Ġ\"$ gene Symbol \" Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠAND Ġca . annotation _ value Ġ= Ġ\"$ syn \" ĠMER GE Ġ( cg ) Ġ- " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"[ r : ĠHAS _ SY NON YM ] Ġ-> ( ca ) Ġ" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġload T um or List ( gene Symbol : ĠString , Ġt um or List : ĠList < String >, Ġt um or Type : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġt um or List . map Ġ{ Ġtt Ġ-> ĠT um or Type Service . resolve T um or Type ( tt ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġtt Ġ-> Ġtt . isNotEmpty () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ Ġtt Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNeo 4 j Connection Service . execute Cy pher Command ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" MERGE Ġ( ca : Cos mic Annotation { annotation _ value : Ġ\"$ tt \" })" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġadd ĠT um or Type Ġlabel Ġif Ġnovel ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlabel Exists Query Ġ= Ġ" MERGE Ġ( ca : Cos mic Annotation { annotation _ value :\" $ tt \" })" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" RETURN Ġap oc . label . exists ( ca , Ġ\" T um or Type \") ĠAS Ġoutput ;" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Neo 4 j Connection Service . execute Cy pher Command ( label Exists Query ). uppercase () Ġ== Ġ" FALSE ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNeo 4 j Connection Service . execute Cy pher Command ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" MATCH Ġ( ca : Cos mic Annotation { annotation _ value :\" $ tt \" } Ġ)" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" CALL Ġap oc . create . add Labels ( ca ,[ \" T um or Type \" ]) ĠY I ELD Ġnode ĠRETURN Ġnode " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcreate ĠCos mic Gene Ġ-> ĠCos mic Annotation ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNeo 4 j Connection Service . execute Cy pher Command ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" MATCH Ġ( cg : Cos mic Gene ), Ġ( ca : Cos mic Annotation ) ĠWHERE Ġcg . gene _ symbol Ġ= Ġ\"$ gene Symbol \" Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠAND Ġca . annotation _ value Ġ= Ġ\"$ tt \" ĠMER GE Ġ( cg ) Ġ- " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"[ r : ĠHAS _ T UM OR _ TYPE Ġ{ type : Ġ\"$ tum or Type \" }] Ġ-> ( ca ) Ġ" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* ĊĠ ĠThe ĠCos mic Mut ant Export Ġ& ĠCos mic Mut ant Export C ensus Ġfiles Ġcontain Ġsome ĊĠ Ġadditional Ġgene Ġproperties Ġand Ġidentifiers ĊĠ ĠUse Ġthis Ġfunction Ġto Ġmerge Ġthese Ġdata Ġinto ĠCos mic Gene Ġnodes ĊĠ ĠAlso , Ġallowing Ġthis Ġfunction Ġto Ġcreate Ġnew ĠCos mic Gene Ġnodes , Ġremoves ĊĠ Ġthe Ġnecess ity Ġof Ġloading Ġgenes Ġbefore Ġloading Ġmutations ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġload Cos mic Mutation Gene ( mut Gene : ĠCos mic Mutation Gene ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// create Cos mic Gene Node ( mut Gene . gene Symbol ) ĊĠĠĠĠĠĠĠ ĠNeo 4 j Connection Service . execute Cy pher Command ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" MERGE Ġ( cg : Cos mic Gene { gene _ symbol : Ġ\" ${ mut Gene . gene Symbol }\" Ġ}) Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" SET Ġcg . access ion _ number Ġ= Ġ\" ${ mut Gene . access ion Number }\ ", Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ġcg . cds _ length Ġ= ${ mut Gene . cds Length }, Ġcg . h gn c _ id Ġ= Ġ\" ${ mut Gene . h gn c Id }\" Ġ" ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* ĊĠĠĠ ĠFunction Ġto Ġcreate Ġa Ġbasic ĠCos mic Gene Ġnode Ġas Ġa Ġplaceholder ĊĠĠĠ Ġfor Ġsubsequent Ġcompletion Ġif Ġnecessary ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġcreate Cos mic Gene Node ( gene Symbol : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( c ancer Gene Symbol Loaded ( gene Symbol )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue Ġ-> Ġgene Symbol ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse Ġ-> ĠNeo 4 j Connection Service . execute Cy pher Command ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" MERGE Ġ( cg : Cos mic Gene { gene _ symbol : Ġ\"$ gene Symbol \" Ġ}) Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠRETURN Ġ Ġcg . gene _ symbol " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġcomplete Basic Relationship ( ĊĠĠĠ Ġgene Symbol : ĠString , Ġannotation Value : ĠString , ĊĠĠĠ Ġrelationship Name : ĠString Ċ ) Ġ{ ĊĠĠĠ ĠNeo 4 j Connection Service . execute Cy pher Command ( ĊĠĠĠĠĠĠĠ Ġ" MATCH Ġ( cg : Cos mic Gene ), Ġ( ca : Cos mic Annotation ) ĠWHERE Ġcg . gene _ symbol Ġ= Ġ\"$ gene Symbol \" Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠAND Ġca . annotation _ value Ġ= Ġ\"$ annotation Value \" ĠMER GE Ġ( cg ) Ġ- " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"[ r : Ġ${ relationship Name . uppercase ()} ] Ġ-> ( ca ) Ġ" ĊĠĠĠ Ġ) Ċ } Ċ Ċ /* Ċ Function Ġto Ġdetermine Ġif Ġa ĠC ancer Gene Ġnode Ġfor Ġa Ġspecified Ġgene Ġname Ċ has Ġalready Ġbeen Ġloaded Ċ */ Ċ fun Ġcan cer Gene Name Loaded ( gene Symbol : ĠString ): ĠBoolean Ġ= ĊĠĠĠ ĠNeo 4 j Utils . node Loaded Predicate ( ĊĠĠĠĠĠĠĠ Ġ" OPTIONAL ĠMATCH Ġ( cg : Cos mic Gene { gene _ symbol : Ġ\"$ gene Symbol \" Ġ}) Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠRETURN Ġcg ĠIS ĠNOT ĠNULL ĠAS ĠP RED ICATE " ĊĠĠĠ Ġ) Ċ Ċ /* Ċ Function Ġto Ġdetermine Ġif ĠCos mic Gene Ġnode Ġexists Ċ Ġ*/ Ċ fun Ġcan cer Gene Symbol Loaded ( gene Symbol : ĠString ): ĠBoolean Ġ= ĊĠĠĠ ĠNeo 4 j Utils . node Loaded Predicate ( ĊĠĠĠĠĠĠĠ Ġ" OPTIONAL ĠMATCH Ġ( cg : Cos mic Gene { gene _ symbol : Ġ\"$ gene Symbol \" Ġ}) Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠRETURN Ġcg ĠIS ĠNOT ĠNULL ĠAS ĠP RED ICATE " ĊĠĠĠ Ġ)