From 05b796564b1cc91667f7edc0f5108bea5eee6fa7 Mon Sep 17 00:00:00 2001 From: Sigve Nakken Date: Mon, 19 Aug 2024 13:38:37 +0200 Subject: [PATCH] EFO 3.69.0 --- DESCRIPTION | 2 +- R/sysdata.rda | Bin 510 -> 510 bytes README.md | 4 +-- data-raw/data-raw.R | 4 +-- data-raw/metadata_phen_oncox.xlsx | Bin 10566 -> 10565 bytes data-raw/phen_oncox_utilities.R | 52 ++++++++++++++++++++++++++++++ pkgdown/_pkgdown.yml | 18 +++++++++++ pkgdown/index.md | 4 +-- 8 files changed, 77 insertions(+), 7 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 173de93..1a09b76 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -9,7 +9,7 @@ Authors@R: email = "sigven@ifi.uio.no", comment = c(ORCID = "0000-0001-8468-2050"))) Maintainer: Sigve Nakken -URL: https://github.com/sigven/phenOncoX +URL: https://sigven.github.io/phenOncoX BugReports: https://github.com/sigven/phenOncoX/issues Description: A semi-manually curated resource that maps relevant phenotype terms for the oncology domain. Using OncoTree as the starting point, diff --git a/R/sysdata.rda b/R/sysdata.rda index c36f49303ea4ce0d71f1d1bbff82f0363dc20e9c..6732632d6407e2c36dc0321c8e3cda0939335dff 100644 GIT binary patch literal 510 zcmVcx5SbXPs-;3MCzU+M)@QpsR;z4@Qgw?G8N$qXz} zsFHZfNgf{2OKsTieLY8x(kWn701PCx*#n`1CJ^j|Be9ej3Jfub421b(1u!pK7%Rm= zEZHiw#HeecX%I;0%JX^tH2$Pgk0C?`_$Ptq>K|6PNlvd$Qm&OY&+>LPW<)amrX0VR z5}lS4ND)<(m{cPZB$NQc$#l0;^Jm@m^>H_^TwjfSF*H$ame=0QKU|+Ux9B&|_B=az zab>x_JEy;S>r$MDHvwcWaGUH*Xy(8hUpNXHMhgRjV`t`t+#^jq>%#}K+B!qvPi!8j ziP~yqgQ3Z-^SUeq)Np21zBOmdi&wsB{BG6| zz$%$7Y8YKq<+~Udfo`~Fag6>=v!{>)I16firi6$21qcQ*BRujP=-K`PIcR) z4C#;DVHagKAQxKU!C?@b8)UZ`LbHDKToc%r2Slix`2FQhLia$}2Hi?te@{d!>Vlz+%gGZWBh>VldB=VElO-2*c^dJU?0Wc;sWN98y z5=8=!Mw&4|8UPJ600E|eX`mS#CYHOUT1HBE92N#K=|S0!&a^TJ!+Jbcg-cM$WM6z% z9|ku-1!BzQS%Xm(s7XkkOfW}b*lUNj%o8Gp1xNtNAY?E*2zEjdeU-*SiH2kp$Wj#3 zaCD^vk$To*&Q+5H*-p8MZTw0x;{4~gl;%u58D3zE6pn`>p=Mo7raSb6a|J5760v~Z zq14mTKGP`gHj2m003|RqT51}pK$~=s73~GO#+;5f7}ALXnzdeM(3j^wy0*{NDWRhi z+P>A({bKD=r+P9F(Qq&=N)(Hl+3jY`bduHsA^{6w42Jn(wh1kQH+f`%!q@sHDgj^} z-XK@NZLlUGBGQYe2`mWWgw$YlXc7UXV8r%>v8X~7`Y(sV*m>F`F#^s{B`Bh8$Eu_{ zE;t*oOUr@%jEv>ES+5V=k&s7*IPl7t3W)5#QW0Z-xZaCAu5DFL^bp&rQbZZIeK}#5 zBx?;HYZE<^?3cKlsGJ+UWWyy*(`!A~a)!iTEe}rD|101|FgN(Sk}1N3gQ4-1SaD|L A;{X5v diff --git a/README.md b/README.md index 08f1dbb..c28143e 100644 --- a/README.md +++ b/README.md @@ -40,10 +40,10 @@ For each entry in the final list of phenotype terms, we make cross-mappings with phenotype terms from [EFO](https://github.com/EBISPOT/efo), [DO](https://disease-ontology.org/), and the [ICD10 classification](https://www.who.int/standards/classifications/classification-of-diseases). -As of early August 2024, the following ontology versions are used to create the mapping: +As of mid August 2024, the following ontology versions are used to create the mapping: - OncoTree (2021_11_02) -- Experimental Factor Ontology v3.68.0 (2024-07-15) +- Experimental Factor Ontology v3.69.0 (2024-08-15) - Disease Ontology (v2024-07-31) **IMPORTANT NOTE**: The mapping established by **phenOncoX** attempts diff --git a/data-raw/data-raw.R b/data-raw/data-raw.R index 0fc59f3..2452d86 100644 --- a/data-raw/data-raw.R +++ b/data-raw/data-raw.R @@ -40,7 +40,7 @@ efo_map <- map_efo( umls_map = umls_map, efo_release = metadata$phen_oncox[ metadata$phen_oncox$source == "Experimental Factor Ontology",]$source_version, - update = T, + update = F, basedir = here::here()) ## Use OncoTree as starting point for phenotype cross-map @@ -73,7 +73,7 @@ db[['oncotree_core']] <- oncotree_core db[['oncotree_expanded']] <- oncotree_expanded db[['auxiliary_maps']] <- auxiliary_maps -version_bumped <- "0.7.7" +version_bumped <- "0.7.8" gd_records <- list() db_id_ref <- data.frame() diff --git a/data-raw/metadata_phen_oncox.xlsx b/data-raw/metadata_phen_oncox.xlsx index 03777c105f92902211661b3e775890cfb189e471..853753679a174d8e6ef7d2f3a3a910d8934d1ff6 100644 GIT binary patch delta 3240 zcmV;Z3|I5UQpHlR{Rn>=wyg{u0{{RB2LJ#M0001ZY%h0ja%*C5Z)+}iZEUPn-*1~b z6n?+b{U4CuscixzpwcNMM60yjTWwvpx5x!2cmeN&6hjA(878n~9}yT0>F)ph`JD;i-R22kX+WqP@lO0(Mr z+}_j3+iQ4Y_)~uZO)!25OeddeMX8lh8+!)O_(1x^e@ZZ=KZIa^8iUs%g;?`@;c|Fn zrQ_dZ6(6zUXD~|s7>$Co2CbwJyx&BNj@$xtalR1^zd1H@XuwKILK1{8j&i=zUd1=8Z|pS)d4vmxg>jq&ky{DEm^YJ!3L^?- zx8{o3+Us?bA(OHSLVu^DV6Uw9V0^iJ2TA+L?jeOBllz+JCZZLipm8~-rBvE{P z_m+!o4UB0#?1Or7%rf-2DnNvJKKEyFGW91U%zf~D<}X$YLg#c*tiobogkMk^PF$ci z^qw55#ED?7Ko5I3-rb4p0v#bwr|vuYvZ6yG$E_u6N~jFi4H=1pgihQFzPIm;9eNO@ z0E#pu^C?L}pFb3n$PZ^p;LpNI;4i{uP(;&WS>%z+k-Ih0|Ksc&Y9k%5Bge94+FolY z0l36I@J-GPi0a@F@C8kdtns+(;*;v zi)5N+37}Q3)V5kAe}BE7Tqi(5+EN;4agpqik~hm=f0+{n;8;tGWE(>Bn-HY7SW8M> zgO+bL&ewl3@Tac?H6CS2Tf|Tsk!RVZsHL_EDA(GsNM^GHTC4wUu{a(q=cJeOuq4-d zg>w;>bJ3j~P9K=$SC7&8@0w5&!h;RYxN1L+yZhdt*EQN84cto=oIm+?sLOGxz^T%j zzA4q$^Ga-89px^ZB~5{`&%k3#a%~V;I-r&%)V6>BE|HYiO<=tV+y=I7EiIG-?SQ_f zG3U3Sq*dra8A+r!TFEXPXwS)NV4;EaRl4gTbZlQL{7e6s0~I`@&@sU0lI*0{9Zv$e zliKu@wS~Le_fX0p*Q{;CuhWTm03IJ7Q(Ws*sZoat6q=>+IrUHU{{swWXKG z_&%zW460~PgcnPCvJov@x z*^rO(4li17PTVL?+HKg0>%lHh+{*RZ<4*q!z-Wb*BL5h84Y#Wo_!UJ4?9r!srr3XF zgWjQXbL`VYR6R{vmYIxZjkokt@BmJr-vr98E4kOtTuklijS zlW`m+e_M~MI1GMYY5xP_ zok9WyT9qDAF4K{ArPVomd8RaN(E#Z}=29J<|GrMrQj%7))sbc`1W{Mon#F$MNl^s9IAZ%)3W0=x$e) zB&FqRLs}+5I#L%5;_naDvA>`-vaj2>3vz!RYZfvSSIU>&Q&t0q@rh zr7zs_8FU`)s`I~ z2AHHR*%hxf`%2%}q}m@CJoSMI-b(ZBDJ6XgJq)2tFn3eZ8ZhCn(NugEp#_T%alT7P z4`?i3dq$g!kF%LHfQktNIL`*iL6gwMj*Bql^oc0|e+yGM&!+C|F-z}k3FjrsVB-6p zD(E^9U6wXVu&STLAXG=IQmhgW2#1%+|D>%;vQ>e?W zfh~(C8YL}Qv0QZY-GGS(?fzKs_amAE$lcmQ(Yb2Ob!GELW)JQ8wsaQu8}wXx)>z$Y zU{_V)f32>8U{6&^@2E^wl}xHYJ3xENP_VD6i%-7&iYmj7Yt;L&;Wk{nqf0NKK;MZiZ)>(?ZCVUzTU2Q(r5`4^* zdu3W-3IceTsd2E{xUI%Attk@jBQnRO)w(~u)j;|rN)?4KErxt7M4IqP30{kEEx{GO zt|2OX@o(az?=jFFitB3mtT>R`TCP5YV|%2PIFgI+Cug+80<+hHJT*@u}}j;Cpa4qge^@q0{{T* z2LJ#R00000000000000006CM1CqV+B50kwQC6n1|23{rr0000W)-6*2 delta 3206 zcmV;140-d#QpQrS{Rn>q+B=0F0{{RB2LJ#M0001ZY%h0ja%*C5Z)+}iZEUPn+iu%9 z5Pe@@|3TopLQX964$IlD2EeylBXy zGc#w%^Edmp@$R`cLdhJ_GlD!WOH~QE&C#dpm7gHbSSBmhD9L|w^uP^zbMg0I=R2kE zZk4+806>}?)z)?y#-^-!%gmYTxCF~a>6TfT>Mb^%=BzR`=eBKdKuC;RCL}r_WcoE2 zYO@g~U#hZixwHom%^PNczNtlLMzpqk4P49gUEleoYCC|q6^*bD11R#^GP~SLrP*x* zZtrR2?KM0x{3(BdCK$g2rjt*#qSVT$jXeWsd?0<|KP8ybA40G{jlt`XLah0{a5+4( z((!MyijP?FGZ-a*j7C9PgH|#K-fyBsM{WVSINykd-yEdtv99}vwJuW)@)~ArQ3=bd z98F=WcKnAIy6@(_XuwKIN>YR`j&i=zUd1=8Z|pS)d4vmxg>jq)ky{DEm^G7y3L^?* zx8{o3+Us?bBa^ZULVstYV6Uw9V0^iJ2TA+L?jeOBl4{8bbP{m_&YAF%&$P+wzF zR-D9LZ5NG}tlicISi6Tk88mg4iBhD-qnx_GekWNm0x>SI7Xu=B-+lMp-RH&IZ?%Cv zdeY7=lWCeIfL6Iu+iIEo{pEf#Pk@57r8LgsGC3e6Z&yG6v>*z=v6hy}E`;V6AxQ18 zmXx{%E#GXNuYYCWPhSaYJj#-Gh@mzj&$4S#OKlTSuC-yA%w`F+R{z^#aXMHnNUs)Q zMXvP<7b2_{qB}XBJ}}8I9;5SLHK8Pg2OFGm)nOcW_pL#%YqUWcxR)w8fA;NAm*Z4{ zQ>8V1RjRM&mDssD%3U~1ngU~AfX9~P#vrhCKrKtCZGZn=A}Oz%zk*-NiG zo&<6)wdpBq3wO64pp-#wSlftSrxWo2JU%|AxY4OpY5P^+)`@W?PcMgZCvNCcFY39+ z9jsN1Yky6hTD?mvw-+^*71}7lQ?JHYr5m3xz41|=<rUcjw( z+8*ayE4qL@n`UqLmj^q`UXO!6s~u0AIYobJl|gR9JEcp4zwiiX*IK#XF{9=HQ=mqU!u|c`<6{YuoLx0BXzeSt~ymdb;_w; zeEDc<b5=(!$P;vZmnh%Jz15WTe3@D$MNl^s9Li}n6pPP z=x$e)B&FqRLt5U0Fj5yB^6w7SvAdu(}uh@_CFiCy% z!(1-56;xQ9%3x#{nK7ELebZhpq<;Rc$a^<>Hh8i5Mru-W0x^(jaC-cW?07=zIx-XZ zK5K4u1{()Le{|AAgeXd0y^-EJ^FZ?d%AoKF5$z%5`1uk(mkR%b8JnUb39bLB zw)_A&KqqaGQe+ui_70({?1g@kftd}f< ziSK)k|34uiA?XO~+0g~YI(`z}256rg6gZTwuwJrt9?Ld3d%}A0g!}E2P_QdQ!FqO> zLS1eh?7nzXC~3iq<$}?713DV4yJI2lM>GeJyS0a+3)5KG_Tr7q4&?c^bQbm-Xs$e4 ztZpq_teOa^e`_GFr<$a9Os1+y)|-GFK%RXnuCJQpcTfV=HL*RYy@uJ~(7J&iZn)Wbq@}j9l*V- zFcglUU=MSo6j$R&;6x_$*AP(?NHX@;@=eEkNTWFGf1#nluZM9pWhwsJ=F@l+YyGkA z!N*MDE7J;7;*Ni`FUQGh?Y0{4X`)C(jL009R#Sg^Yk~Am>`fHDv>fvBCek*al;pJx z*FCtx*EL0jFSw>3<_m0x;$rPQD*>cR3+r7t_D5QY)82n7zxl+inUAeKy|0v1G-}p8 zlydrOf72?bhfa9-^y98UTESQ2O;?k4qIl{}rFd$jWO6W)mqo7F>2!=Yu@)YtD^Zz1 zPCWAB?dP8U>+Enk5>{933ydhkb3d7hu48jC+p*^@+~>oj=TAf5cU)vmXMSkSre17? z(=4%qJV7pY^Uz!6KSVek5DGH@Li^OTl=FRLe{SKcbritMTqpCBz`|MJTQk?otT>zH z77CKk@txF-edlff038C1XH%Fz(=1M>7LJ|V%409I;v6F@Ucqb{;Lu4!ECKB?AID-( zelOU*YCEHbp;JtBpeojneDWE_QTZvHY(qIraF@3O{6|DU#?A!t*ip(aFJkT-{>NJW z0SA+j0~E6#A<6;;P}-}aO0(`GC;@-NAQXk)P5ciH?=7@*#x-r1sM(VVb$(NX`bN{xo$D;0!|z5|pzzj$-`nbzr3ZbD&p7PAS|$`%b60 zV>V|;ad7Xg7>sS(M(w1J;q%A%efhNNtA;{#yJCQfjI)#(psq2+N>n=tp6PZAD#Ih8 zTVhSETl#&k1@QaBFYl%9xqU&6BOG|(gQdqBXXS13@K`QTk&q+_$z4d2GA3y}OQ(~M z?)e|{UC`r&Jcan5c+(T7CGogfN~R;?8Bk>S;&T*VlUF9$1q9kVg&vbNCpZM|GJm3z zaVHi5I+KVeK?0!=&ARe+O$C=~%-lb0w(0Th$n sC?gwC+N+{U0RRAL0ssIJ0000000000000000N#@uDI^A8CIA2c07ai8+yDRo diff --git a/data-raw/phen_oncox_utilities.R b/data-raw/phen_oncox_utilities.R index 7d5876c..6ccbcf9 100644 --- a/data-raw/phen_oncox_utilities.R +++ b/data-raw/phen_oncox_utilities.R @@ -807,6 +807,11 @@ map_disease_ontology <- function( ## manual correction of erroneous or missing UMLS cross-references do_map <- do_map |> + dplyr::filter(!( + !is.na(cui) & + cui == "C0206687" & + do_id == "DOID:2871" + )) |> # dplyr::mutate(do_name = # stringi::stri_enc_toascii(do_name)) |> ## sarcoma (non-existent UMLS_CUI = C0153519) @@ -1324,6 +1329,11 @@ onco_pheno_map <- function( !is.na(nci_t) & nci_t == "C9305", "C1334557", as.character(cui) + )) |> + dplyr::mutate(cui = dplyr::if_else( + !is.na(cui) & cui == "C0206687", + "C1332913", + as.character(cui) )) cui_name_map_lower <- cui_name_map |> @@ -2248,6 +2258,22 @@ onco_pheno_map <- function( "Blood_Cancer_NOS", as.character(ot_main_type) )) |> + dplyr::mutate(primary_site = dplyr::if_else( + stringr::str_detect(tolower(cui_name),"ewing sarcoma") & + stringr::str_detect(tolower(cui_name),"bone") & + !is.na(primary_site) & + primary_site != "Bone", + "Bone", + as.character(primary_site) + )) |> + dplyr::mutate(ot_main_type = dplyr::if_else( + stringr::str_detect(tolower(cui_name),"ewing sarcoma") & + stringr::str_detect(tolower(cui_name),"bone") & + !is.na(primary_site) & + primary_site != "Bone", + "Bone_Cancer_NOS", + as.character(ot_main_type) + )) |> dplyr::distinct() missing_hereditary <- dplyr::bind_rows( @@ -2431,6 +2457,17 @@ onco_pheno_map <- function( primary_site, "CNS/Brain|Peripheral Nervous System" )) )) |> + dplyr::filter( + !(!is.na(cui_name) & + stringr::str_detect( + tolower(cui_name),"ewing sarcoma") & + stringr::str_detect( + tolower(cui_name),"bone") & + (!is.na(primary_site) & + stringr::str_detect( + primary_site, "Soft Tissue|Peripheral Nervous System" + )) + )) |> dplyr::filter( !(!is.na(efo_name) & stringr::str_detect( @@ -2575,6 +2612,21 @@ onco_pheno_map <- function( stringr::str_detect(tolower(cui_name), "heart") & (!is.na(ot_main_type) & ot_main_type == "Lung_Cancer_NOS")) ) |> + dplyr::filter(!( + stringr::str_detect(tolower(cui_name), "desmoid") & + (!is.na(ot_main_type) & ot_main_type == "Bone_Cancer_NOS")) + ) |> + dplyr::filter(!( + stringr::str_detect(tolower(cui_name), + "malignant peripheral nerve sheath") & + (!is.na(primary_site) & + !(primary_site == "Soft Tissue" | + primary_site == "Peripheral Nervous System")) + )) |> + dplyr::filter(!( + cui == "C0019562" & + !is.na(primary_site) & primary_site == "Soft Tissue" + )) |> dplyr::filter( !(stringr::str_detect(tolower(cui_name), "cardiac"))) |> dplyr::filter( diff --git a/pkgdown/_pkgdown.yml b/pkgdown/_pkgdown.yml index 70ddd28..d811f13 100644 --- a/pkgdown/_pkgdown.yml +++ b/pkgdown/_pkgdown.yml @@ -2,12 +2,30 @@ url: https://sigven.github.io/phenOncoX/ title: phenOncoX template: bootstrap: 5 + bslib: + info: "#00483A" + dropdown-link-hover-bg: "#00483A" + dropdown-link-hover-color: "white" + dropdown-link-active-color: "white" + navbar-light-color: "white" + navbar-light-brand-color: "white" + navbar-link-hover-color: "white !important" + nav-link-hover-color: "white !important" + navbar-light-brand-hover-color: "white !important" + navbar-link-color: "white" + toc: depth: 3 authors: Sigve Nakken: href: "https://github.com/sigven" navbar: + link-color: "white" + light-color: "white" + light-brand-color: "white" + light-hover-color: "white !important" + type: light + bg: info structure: left: [home, get_started, reference, news] right: [search, github] diff --git a/pkgdown/index.md b/pkgdown/index.md index 2f5ab28..da87385 100644 --- a/pkgdown/index.md +++ b/pkgdown/index.md @@ -40,10 +40,10 @@ For each entry in the final list of phenotype terms, we make cross-mappings with phenotype terms from [EFO](https://github.com/EBISPOT/efo), [DO](https://disease-ontology.org/), and the [ICD10 classification](https://www.who.int/standards/classifications/classification-of-diseases). -As of early August 2024, the following ontology versions are used to create the mapping: +As of mid August 2024, the following ontology versions are used to create the mapping: - OncoTree (2021_11_02) -- Experimental Factor Ontology v3.68.0 (2024-07-15) +- Experimental Factor Ontology v3.69.0 (2024-08-15) - Disease Ontology (v2024-07-31) The package offers a few pre-processed datasets, along with metadata, that