From e34886e82ed608be9f023a7ee72e6c6efdacd309 Mon Sep 17 00:00:00 2001 From: "J. Allen Baron" Date: Fri, 20 Mar 2026 17:40:21 -0400 Subject: [PATCH 1/2] Move internal scripts to data-raw/internal --- data-raw/{internal-DO_gs.R => internal/DO_gs.R} | 0 data-raw/{internal-curation_opts.R => internal/curation_opts.R} | 0 data-raw/{internal-html_tags.R => internal/html_tags.R} | 0 data-raw/{internal-sssom_spec.R => internal/sssom_spec.R} | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename data-raw/{internal-DO_gs.R => internal/DO_gs.R} (100%) rename data-raw/{internal-curation_opts.R => internal/curation_opts.R} (100%) rename data-raw/{internal-html_tags.R => internal/html_tags.R} (100%) rename data-raw/{internal-sssom_spec.R => internal/sssom_spec.R} (100%) diff --git a/data-raw/internal-DO_gs.R b/data-raw/internal/DO_gs.R similarity index 100% rename from data-raw/internal-DO_gs.R rename to data-raw/internal/DO_gs.R diff --git a/data-raw/internal-curation_opts.R b/data-raw/internal/curation_opts.R similarity index 100% rename from data-raw/internal-curation_opts.R rename to data-raw/internal/curation_opts.R diff --git a/data-raw/internal-html_tags.R b/data-raw/internal/html_tags.R similarity index 100% rename from data-raw/internal-html_tags.R rename to data-raw/internal/html_tags.R diff --git a/data-raw/internal-sssom_spec.R b/data-raw/internal/sssom_spec.R similarity index 100% rename from data-raw/internal-sssom_spec.R rename to data-raw/internal/sssom_spec.R From 4d02703ce949b71a67391b08a34f92935e6aefa4 Mon Sep 17 00:00:00 2001 From: "J. Allen Baron" Date: Tue, 24 Mar 2026 11:02:27 -0400 Subject: [PATCH 2/2] Completely refactor internal data management Workflow: 1. data-raw/internal scripts generate internal datasets as .rds 2. data-raw/sysdata-update.R load internal data as R/sysdata.rda Also includes update of curation_opts.R to bring it up-to-date with specification changes --- R/sysdata.rda | Bin 10220 -> 10152 bytes data-raw/curation_opts.csv | 57 -- data-raw/internal/DO_gs.R | 14 +- data-raw/internal/DO_gs.rds | Bin 0 -> 280 bytes data-raw/internal/curation_opts.R | 40 +- data-raw/internal/curation_opts.rds | Bin 0 -> 997 bytes data-raw/internal/curation_opts.tsv | 66 ++ data-raw/internal/html4_tags.tsv | 97 +++ data-raw/internal/html_tags.R | 37 +- data-raw/internal/html_tags.rds | Bin 0 -> 1582 bytes data-raw/internal/sssom_mapping_slots.rds | Bin 0 -> 408 bytes data-raw/internal/sssom_schema-v1.0.0.yaml | 792 +++++++++++++++++++++ data-raw/internal/sssom_slot_types.rds | Bin 0 -> 742 bytes data-raw/internal/sssom_spec.R | 55 +- data-raw/internal/sssom_spec.rds | Bin 0 -> 7707 bytes data-raw/sysdata-update.R | 33 + 16 files changed, 1102 insertions(+), 89 deletions(-) delete mode 100644 data-raw/curation_opts.csv create mode 100644 data-raw/internal/DO_gs.rds create mode 100644 data-raw/internal/curation_opts.rds create mode 100644 data-raw/internal/curation_opts.tsv create mode 100644 data-raw/internal/html4_tags.tsv create mode 100644 data-raw/internal/html_tags.rds create mode 100644 data-raw/internal/sssom_mapping_slots.rds create mode 100644 data-raw/internal/sssom_schema-v1.0.0.yaml create mode 100644 data-raw/internal/sssom_slot_types.rds create mode 100644 data-raw/internal/sssom_spec.rds create mode 100644 data-raw/sysdata-update.R diff --git a/R/sysdata.rda b/R/sysdata.rda index 8fbd5b3672b231937033a93a5deaa6614564adb0..8b5094118783f4b62061674ca736aa21c863c13a 100644 GIT binary patch literal 10152 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�%VQ+_V!wr0tI}9*W6I*h>qt`gxD34nInL80MQKqA_Fd1 zsYr*P=e&O9@bdZc4Qf3xJpO)}JNmu3n7*=A`i256$L-+~XA-i~kz`03WDX{7nb$5UX z*mb50_C7*`rvx%C8mgSOGzb|I%u^V~E^2^k zaLN0b2wQYbaUo3^Q5ca($ZudAx`6n=l#uw_1I5yWBA3W6ZWDe$7$C+$h)!1H%vXq9 z6e%(I=?XZSJP1`h8sY(V(uj!Oq?E`c3ZYK`V+gQ)6n+xvh;TtTSTeM*N=g$wn{UOY z51<;0V-Y1nQ3Q(ij$X5H+rO8<+}PvjuO3{sMiZd3+oTc!5ihFv~-lu3}QwY9PPIgd&JbT00pc8!YwI;$|6R#l^rAt%Ta2! zI6YVki5Wcjb)OO@8~0$9$@u?Q=s$Cx+aGs&@bkMjF73psE(0>nwkM1hQ4bmjS~dr; zlc1g1Q25+WZIOK zJclM&o&QGzx5K{ud9a*g-2|{7Ep_=t^jB!z>aAX&9+$NsC}M|4P)6>g330TwwJf9= z>Uw`RVGVeC}cLfq++4A*}|=D zv;x#$DoETS+h9f%a858@t|mcXzzZ1(!7XF&(Y)hw=%Ila06?-WFxf=ETHiMI_oZSu zLg`Q6O{reA?@IHhnQNeuCy4-)XW!^T|Ds6x>iJ%8t?m0h6U*gAy>Gd_r&qtK~=ethU6{T63kb))0qe+=16eJR8K=SON?^aFiOc2*E zi?^y&Wy*sRj7#cEID!&nU6yRY^|cz8D=kcF@{(a^W@`>+TK09a5Sk+Bpq;70UT{S? z?RWUbl3dp=koFy%aCcZ~-pyelaRb$m*pLXoTNa@uhJ`m%Lf>M^Cxrlm17E)#?947M zXHq9Ims#4C!ORs~fcmmMhwF;;Lm`tUVJTuJC3ha#&!Aw4<{s~hAp2gDp!;sQyF;BC8Yco2R}J?P`w))DPn3b~N3S|P z+D+b2)a*1DYXT4~W@;e_r^O26U4GYR6}lZ!Ksg911dAdDGh%h)TSC+q1iNE!whwH& z3B!N|FnKFr6P+%BGt_7r+@>oyb`k|GSU@N+h>1(w{GMaa903K@`MSPmnrQfZgLfB2LXj6Vo5$?9MOv%HE za|#%SeISGnoDjk>j5lPmEuo532z5YdAVQ@K$Rl%@U^&V-*IRj%YIMjUvj?R%M1gon mScj!zo{0bjpa5#v1Vey85UBx5&KjtH;_gVN3KAK!dl%pV4ZQ0B diff --git a/data-raw/curation_opts.csv b/data-raw/curation_opts.csv deleted file mode 100644 index 46a16c17..00000000 --- a/data-raw/curation_opts.csv +++ /dev/null @@ -1,57 +0,0 @@ -header,template,type,example,optional_values,alternate_title,alternate_format,notes -iri/curie,ID,required manual,DOID:0080943,IRI or CURIE,NA,NA,NA -label,AL rdfs:label@en,required manual,"46,XX sex reversal 5",NA,NA,NA,NA -parent iri/curie,SC % SPLIT=|,required manual,DOID:0111760,disease by infectious agent,CI,IRI or CURIE; CI means Class IRI --> type will be CLASS_TYPE,NA -definition,AL obo:IAO_0000115@en,required manual,"A 46,XX sex reversal that is characterized by genital virilization in 46,XX individuals, associated with congenital heart disease and variable somatic anomalies including blepharophimosis-ptosis-epicanthus inversus syndrome and congenital diaphragmatic hernia and that has_material_basis_in heterozygous mutation in the NR2F2 gene on chromosome 15q26.",NA,NA,NA,NA -definition source(s),>A oboInOwl:hasDbXref SPLIT=|,required manual,url:https://pubmed.ncbi.nlm.nih.gov/29478779/,NA,NA,NA,NA -definition source type(s),>AI dc11:type SPLIT=|,optional manual,curator inference from journal publication,"ECO codes, e.g. ECO:0007645",NA,NA,do not quote!!! -synonym(s): exact,AL oboInOwl:hasExactSynonym@en SPLIT=|,optional manual,hemangiosarcoma,NA,NA,NA,do not quote!!! -synonym(s): broad,AL oboInOwl:hasBroadSynonym@en SPLIT=|,optional manual,NA,NA,NA,NA,NA -synonym(s): narrow,AL oboInOwl:hasNarrowSynonym@en SPLIT=|,optional manual,NA,NA,NA,NA,NA -synonym(s): related,AL oboInOwl:hasRelatedSynonym@en SPLIT=|,optional manual,NA,NA,NA,NA,NA -acronym(s): exact,AL oboInOwl:hasExactSynonym@en SPLIT=|,optional manual,CAMRQ,NA,NA,NA,"must be accompanied by ""acronym annotation"" header/template in the adjacent column to the rigth in robot template" -acronym(s): broad,AL oboInOwl:hasBroadSynonym@en SPLIT=|,optional manual,NA,NA,NA,NA,NA -acronym(s): narrow,AL oboInOwl:hasNarrowSynonym@en SPLIT=|,optional manual,NA,NA,NA,NA,NA -acronym(s): related,AL oboInOwl:hasRelatedSynonym@en SPLIT=|,optional manual,DES,NA,NA,NA,"must be accompanied by ""acronym annotation"" header/template in the adjacent column to the rigth in robot template" -acronym annotation,>AI oboInOwl:hasSynonymType,optional auto,acronym,NA,NA,NA,NA -xref(s),A oboInOwl:hasDbXref SPLIT=|,optional manual,OMIM:618901,NA,NA,NA,NA -skos mapping(s): exact,A skos:exactMatch SPLIT=|,optional manual,OMIM:618901,NA,NA,"should use IRIs and be as follows: -AI skos:exactMatch SPLIT=| - - example input: https://omim.org/MIM:618901",adds skos mappings as strings; current INCORRECT DO format -skos mapping(s): broad,A skos:broadMatch SPLIT=|,optional manual,OMIM:PS613135,NA,NA,"should use IRIs and be as follows: -AI skos:exactMatch SPLIT=| - - example input: https://omim.org/MIM:618901",adds skos mappings as strings; current INCORRECT DO format -skos mapping(s): narrow,A skos:narrowMatch SPLIT=|,optional manual,OMIM:618901,NA,NA,"should use IRIs and be as follows: -AI skos:exactMatch SPLIT=| - - example input: https://omim.org/MIM:618901",adds skos mappings as strings; current INCORRECT DO format -skos mapping(s): related,A skos:relatedMatch SPLIT=|,optional manual,NA,NA,NA,"should use IRIs and be as follows: -AI skos:exactMatch SPLIT=| - - example input: https://omim.org/MIM:618901",adds skos mappings as strings; current INCORRECT DO format -equivalent class,EC %,optional manual,disease and ('has material basis in' some (Viruses or Bacteria or Eukaryota)),NA,NA,NA,NA -sc axiom: inheritance,SC 'has material basis in' some % SPLIT=|,optional manual,NA,NA,NA,NA,NA -sc axiom: anatomical location,SC 'disease has location' some %,optional manual,NA,NA,NA,NA,NA -sc axiom: onset,SC 'existence starts during' some %,optional manual,NA,NA,NA,NA,NA -sc axiom: has_material_basis_in,SC has_material_basis_in some %,optional manual,autosomal dominant inheritance,NA,NA,NA,do not quote!!! -sc axiom: located_in,SC located_in some %,optional manual,NA,rdfs:label (preferred); IRI or CURIE (possible),NA,NA,NA -disjoint class,DC %,optional manual,NA,NA,NA,NA,NA -subset(s),AI oboInOwl:inSubset SPLIT=|,optional manual,DO_AGR_slim,any subset (aka 'slim') defined in doid-edit.owl,NA,NA,NA -deprecate,AT owl:deprecated^^xsd:boolean,optional manual,true,NA,NA,NA,NA -alternate id(s),A oboInOwl:hasAlternativeId SPLIT=|,optional manual,DOID:4,CURIE of deprecated term,NA,NA,NA -term replaced by,AI obo:IAO_0100001,optional manual,DOID:4,IRI or CURIE of term to replace by,NA,NA,NA -comment,AL rdfs:comment@en,optional manual,This is a comment. There should only be one per term.,NA,NA,NA,NA -obo id,A oboInOwl:id,required auto,DOID:0080943,OBO CURIE,NA,NA,"required data, but not necessary to include in manual curation; will be inferred from iri/curie - -if manually entered it must match the CURIE form of iri/curie" -obo namespace,A oboInOwl:hasOBONamespace,required auto,disease_ontology,"OBO namespace of ontology: disease_ontology, symptoms, transmission_process",NA,NA,"required data, but not necessary to include in manual curation; will be automatically added for any new disease - -if manually entered it must be ""disease_ontology"" (without quotes)" -español - label,AL rdfs:label@es,optional manual,NA,NA,NA,NA,NA -español - definition,AL obo:IAO_0000115@es,optional manual,NA,NA,NA,NA,NA -español - synonym(s): exact,AL oboInOwl:hasExactSynonym@es SPLIT=|,optional manual,NA,NA,NA,NA,NA -español - synonym(s): broad,AL oboInOwl:hasBroadSynonym@es SPLIT=|,optional manual,NA,NA,NA,NA,NA -español - synonym(s): narrow,AL oboInOwl:hasNarrowSynonym@es SPLIT=|,optional manual,NA,NA,NA,NA,NA -español - synonym(s): related,AL oboInOwl:hasRelatedSynonym@es SPLIT=|,optional manual,NA,NA,NA,NA,NA -español - acronym(s): exact,AL oboInOwl:hasExactSynonym@es SPLIT=|,optional manual,NA,NA,NA,NA,NA -español - acronym(s): broad,AL oboInOwl:hasBroadSynonym@es SPLIT=|,optional manual,NA,NA,NA,NA,NA -español - acronym(s): narrow,AL oboInOwl:hasNarrowSynonym@es SPLIT=|,optional manual,NA,NA,NA,NA,NA -español - acronym(s): related,AL oboInOwl:hasRelatedSynonym@es SPLIT=|,optional manual,NA,NA,NA,NA,NA diff --git a/data-raw/internal/DO_gs.R b/data-raw/internal/DO_gs.R index e7cda198..881f39b0 100644 --- a/data-raw/internal/DO_gs.R +++ b/data-raw/internal/DO_gs.R @@ -1,5 +1,9 @@ -## code to save DO Google Sheet information internally (`.DO_gs`) -devtools::load_all() +## code to prepare `.DO_gs` internal dataset ## +# +# Serves as a reference for DO-related Google Sheets and relevant sheets (tabs) +# for data retrieval + +rlang::check_installed("here") .DO_gs <- list( users = list( @@ -12,4 +16,8 @@ devtools::load_all() ) ) -use_data_internal(.DO_gs, overwrite = TRUE) +saveRDS( + .DO_gs, + file = here::here("data-raw", "internal", "DO_gs.rds"), + compress = "bzip2" +) diff --git a/data-raw/internal/DO_gs.rds b/data-raw/internal/DO_gs.rds new file mode 100644 index 0000000000000000000000000000000000000000..3af90b105fcd55071389aebdf44238354336d684 GIT binary patch literal 280 zcmV+z0q6cgT4*^jL0KkKSvpMuKmY)Ze}Mk*OaK4_{%{4tw&1?!|L_0-umJOE2~wL= zL7-?FH1!%iKp78Fk)SSg41fRt000006;)3}+MCc(iK9V@ - dplyr::filter(!is.na(.data$template)) + dplyr::filter(!is.na(.data$template)) -readr::write_csv(curation_opts, "data-raw/curation_opts.csv") +vroom::vroom_write( + curation_opts, + file.path(out_dir, "curation_opts.tsv"), + na = "" +) +# save internal data .curation_opts <- dplyr::select( - curation_opts, - tidyselect::all_of(c("header", "template", "type")) + curation_opts, + dplyr::all_of(c("data_type", "template", "inclusion")) ) -use_data_internal(.curation_opts, overwrite = TRUE) \ No newline at end of file +saveRDS( + .curation_opts, + file = file.path(out_dir, "curation_opts.rds"), + compress = "bzip2" +) diff --git a/data-raw/internal/curation_opts.rds b/data-raw/internal/curation_opts.rds new file mode 100644 index 0000000000000000000000000000000000000000..fd80ae1a71493c8ce9cb0461b5fe046bea48bf82 GIT binary patch literal 997 zcmVJrK#JhJeu6rkhc;izQB1KHif>cEuieh{N%|REXNjdTmnv z?K*kB@BjcuSH8Ejt4j{{)h_A&)JHrWO05EE&}|pWHmbMQRa=k%j}eTiqR35{4jS2_ zERBl=6v~3~j2RK(Npwq~Yj)tCxQGx?4)YR>K|-ofMGq`MN}?`LwId{aUwO!z+~l5# zlCxE1?O+@aLt+3>F^4Qak_s2#lnrYPwO%pEsIBW@RzQshC61AENl)UVHBQw@pztuT z)~C{^p0NlN_Hl28LSY1gNm>XJBi;Dq=hh%=+;dIVc!uh07!*lG6pw+5@Zx}xB^#;) z6VJuXQKOPUYDO0VOCn@(*e>0;CkfgH&GblB?jCG`xetdz2t`bdGh9kV_qc>PQEA1q zw>4)kXY;}#sTQM2<@&on9_}c!UxXtFdI{tc>9bznz?<((GwjbKYCs$xVM{1ht%HxS zdQ}Y_?m7q*Jl-0fi?}qzI>4r@LekF~1hmT1Bw`!nCR4TrMT;^Onpz1&U_C&%1;FDI zF$D11%L=M3(YbqIWiN3ly`4R4!&uF$xu|)$X~!>9qG@!62`R%;6vDcgK)ahpGOkZO z4Ec+3J9&00$Tg>_u9CVjA>i&{zpnhIzyN^=D6tGmJcGbcJtcNb#bvLfex<0f;f1Fv_nNTMCZ z2vzOs)zngC9VVcxySYwuFo;-+ZWiQDsX(Ka1vXKTgd`rwg(wJb;gm4WTxBj&h-XI} z&2|u$DisJ~?SfoA9eync96JM~&Ad1DObsP;DFP$}GS*ZEf=MAJ){Y?q)Fy(=#zo6R zuZT_o9NCZ~0iY2Q00{HRKs1RkU)rwS4bV^Tc;o|v>W literal 0 HcmV?d00001 diff --git a/data-raw/internal/curation_opts.tsv b/data-raw/internal/curation_opts.tsv new file mode 100644 index 00000000..2139e094 --- /dev/null +++ b/data-raw/internal/curation_opts.tsv @@ -0,0 +1,66 @@ +data_type template inclusion example notes optional_values alternate_title alternate_format sparql export_header sparql_dt_motif +id ID required manual DOID:0080943 replaced older 'iri/curie' header for simplicity; id now covered by obo id field IRI or CURIE CI IRI or CURIE; CI means Class IRI --> type will be CLASS_TYPE ?iri a owl:Class . ID +iri/curie ID deprecated DOID:0080943 replaced by 'id' header IRI or CURIE ?iri a owl:Class . IRI +label A rdfs:label required manual 46,XX sex reversal 5 ?iri rdfs:label ?label . LABEL rdfs:label +parent id SC % SPLIT=| required manual DOID:0111760 "accepts CURIE or IRI; intended for only asserted subclass relationships between named classes +--> separated from subclass anon for practical purposes - ROBOT template is the same, ROBOT export differs" disease by infectious agent "?iri rdfs:subClassOf ?parent . +FILTER(!isBlank(?parent))" SubClass Of [NAMED ID] rdfs:subClassOf +definition A IAO:0000115 required manual A 46,XX sex reversal that is characterized by genital virilization in 46,XX individuals, associated with congenital heart disease and variable somatic anomalies including blepharophimosis-ptosis-epicanthus inversus syndrome and congenital diaphragmatic hernia and that has_material_basis_in heterozygous mutation in the NR2F2 gene on chromosome 15q26. ?iri obo:IAO_0000115 ?definition . obo:IAO_0000115 IAO:0000115 +definition source(s) >A oboInOwl:hasDbXref SPLIT=| required manual url:https://pubmed.ncbi.nlm.nih.gov/29478779/ "!<<.definition_axiom>>! + oboInOwl:hasDbXref ?def_src ." IAO:0000115-oboInOwl:hasDbXref +definition source type(s) >AI dc11:type SPLIT=| optional manual curator inference from journal publication do not quote!!! ECO codes, e.g. ECO:0007645 "!<<.definition_axiom>>! + dc:type ?src_type ." IAO:0000115-dc:type +xref(s) A oboInOwl:hasDbXref SPLIT=| optional manual OMIM:618901 ?iri oboInOwl:hasDbXref ?xref . oboInOwl:hasDbXref oboInOwl:hasDbXref +skos mapping(s): exact A skos:exactMatch SPLIT=| optional manual OMIM:618901 adds skos mappings as strings; current INCORRECT DO format "should use IRIs and be as follows: +AI skos:exactMatch SPLIT=| + - example input: https://omim.org/MIM:618901" ?iri skos:exactMatch ?skos_exact . skos:exactMatch skos:exactMatch +skos mapping(s): close A skos:closeMatch SPLIT=| optional manual OMIM:618901 adds skos mappings as strings; current INCORRECT DO format "should use IRIs and be as follows: +AI skos:closeMatch SPLIT=| + - example input: https://omim.org/MIM:618901" ?iri skos:closeMatch ?skos_close . skos:closeMatch skos:closeMatch +skos mapping(s): broad A skos:broadMatch SPLIT=| optional manual OMIM:PS613135 adds skos mappings as strings; current INCORRECT DO format "should use IRIs and be as follows: +AI skos:exactMatch SPLIT=| + - example input: https://omim.org/MIM:618901" ?iri skos:broadMatch ?skos_broad . skos:broadMatch skos:broadMatch +skos mapping(s): narrow A skos:narrowMatch SPLIT=| optional manual OMIM:618901 adds skos mappings as strings; current INCORRECT DO format "should use IRIs and be as follows: +AI skos:exactMatch SPLIT=| + - example input: https://omim.org/MIM:618901" ?iri skos:narrowMatch ?skos_narrow . skos:narrowMatch skos:narrowMatch +skos mapping(s): related A skos:relatedMatch SPLIT=| optional manual adds skos mappings as strings; current INCORRECT DO format "should use IRIs and be as follows: +AI skos:exactMatch SPLIT=| + - example input: https://omim.org/MIM:618901" ?iri skos:relatedMatch ?skos_related . skos:relatedMatch skos:relatedMatch +synonym(s): exact A oboInOwl:hasExactSynonym SPLIT=| optional manual hemangiosarcoma do not quote!!! "glueV: .synonym_stmt, syn_scope = ""Exact""" oboInOwl:hasExactSynonym oboInOwl:hasExactSynonym +synonym(s): broad A oboInOwl:hasBroadSynonym SPLIT=| optional manual "glueV: .synonym_stmt, syn_scope = ""Broad""" oboInOwl:hasBroadSynonym oboInOwl:hasBroadSynonym +synonym(s): narrow A oboInOwl:hasNarrowSynonym SPLIT=| optional manual "glueV: .synonym_stmt, syn_scope = ""Narrow""" oboInOwl:hasNarrowSynonym oboInOwl:hasNarrowSynonym +synonym(s): related A oboInOwl:hasRelatedSynonym SPLIT=| optional manual "glueV: .synonym_stmt, syn_scope = ""Related""" oboInOwl:hasRelatedSynonym oboInOwl:hasRelatedSynonym +acronym(s): exact A oboInOwl:hasExactSynonym SPLIT=| optional manual CAMRQ "must be accompanied by ""acronym annotation"" header/template in the adjacent column to the rigth in robot template" "glueV: .acronym_stmt, acronym_scope = ""Exact""" oboInOwl:hasExactSynonym-OMO:0003012 +acronym(s): broad A oboInOwl:hasBroadSynonym SPLIT=| optional manual "glueV: .acronym_stmt, acronym_scope = ""Broad""" oboInOwl:hasBroadSynonym-OMO:0003012 +acronym(s): narrow A oboInOwl:hasNarrowSynonym SPLIT=| optional manual "glueV: .acronym_stmt, acronym_scope = ""Narrow""" oboInOwl:hasNarrowSynonym-OMO:0003012 +acronym(s): related A oboInOwl:hasRelatedSynonym SPLIT=| optional manual DES "must be accompanied by ""acronym annotation"" header/template in the adjacent column to the rigth in robot template" "glueV: .acronym_stmt, acronym_scope = ""Related""" oboInOwl:hasRelatedSynonym-OMO:0003012 +acronym annotation >AI oboInOwl:hasSynonymType optional auto acronym +eq class EC % SPLIT=| optional manual disease and ('has material basis in' some (Viruses or Bacteria or Eukaryota)) "?iri owl:equivalentClass ?eq . +FILTER(!isBlank(?eq))" Equivalent Class [NAMED ID] owl:equivalentClass +eq class anon EC % SPLIT=| optional manual Equivalent Class [ANON ID] +subclass anon SC % SPLIT=| optional manual 'disease has feature' some cherubism "intended for only subclass of anonymous logical expressions +--> separated from parent id for practical purposes - ROBOT template is the same, ROBOT export differs" SubClass Of [ANON ID] +subclass anon: inheritance SC 'has material basis in' some % SPLIT=| optional manual +subclass anon: anatomical location SC 'disease has location' some % SPLIT=| optional manual +subclass anon: onset SC 'existence starts during' some % SPLIT=| optional manual +subclass anon: has_material_basis_in SC has_material_basis_in some % SPLIT=| optional manual autosomal dominant inheritance do not quote standalone terms!!! +subclass anon: located_in SC located_in some % SPLIT=| optional manual rdfs:label (preferred); IRI or CURIE (possible) +disjoint class DC % SPLIT=| optional manual "?iri owl:disjointClass ?disjoint . +FILTER(!isBlank(?disjoint))" Disjoint With [NAMED ID] owl:disjointWith +disjoint class anon DC % SPLIT=| optional manual Disjoint With [ANON ID] +subset(s) AI oboInOwl:inSubset SPLIT=| optional manual DO_AGR_slim any subset (aka 'slim') defined in doid-edit.owl "?iri oboInOwl:inSubset ?subset_iri . +?subset_iri rdfs:label ?subset ." oboInOwl:inSubset oboInOwl:inSubset +alternate id(s) A oboInOwl:hasAlternativeId SPLIT=| optional manual DOID:4 CURIE of deprecated term ?iri oboInOwl:hasAlternativeId ?alt_id . oboInOwl:hasAlternativeId oboInOwl:hasAlternativeId +deprecated AT owl:deprecated^^xsd:boolean optional manual true ?iri owl:deprecated ?deprecate . owl:deprecated owl:deprecated +obsolescence reason AI IAO:0000231 optional manual terms merged must be IRI or label of child of 'obsolescence reason specification' (IAO:0000225) ?iri IAO:0000231 ?obs_reason . IAO:0000231 +term replaced by AI IAO:0100001 optional manual DOID:4 IRI or CURIE of term to replace by ?iri obo:IAO_0100001 ?term_replaced_by . IAO:0100001 IAO:0100001 +consider instead oboInOwl:consider optional manual ?iri oboInOwl:consider ?consider . oboInOwl:consider oboInOwl:consider +comment A rdfs:comment optional manual This is a comment. There should only be one per term. ?iri rdfs:comment ?comment . rdfs:comment rdfs:comment +created by A oboInOwl:created_by optional manual ?iri oboInOwl:created_by ?created_by . oboInOwl:created_by oboInOwl:created_by +creation date A oboInOwl:creation_date optional manual ?iri oboInOwl:creation_date ?creation_date . oboInOwl:creation_date oboInOwl:creation_date +obo id A oboInOwl:id required auto DOID:0080943 "required data, but not necessary to include in manual curation; will be inferred from iri/curie + +if manually entered it must match the CURIE form of iri/curie" OBO CURIE ?iri oboInOwl:id ?id . oboInOwl:id +obo namespace A oboInOwl:hasOBONamespace required auto disease_ontology "required data, but not necessary to include in manual curation; will be automatically added for any new disease + +if manually entered it must be ""disease_ontology"" (without quotes)" OBO namespace of ontology: disease_ontology, symptoms, transmission_process ?iri oboInOwl:hasOBONamespace ?obo_namespace . oboInOwl:hasOBONamespace oboInOwl:hasOBONamespace diff --git a/data-raw/internal/html4_tags.tsv b/data-raw/internal/html4_tags.tsv new file mode 100644 index 00000000..34ae8e9e --- /dev/null +++ b/data-raw/internal/html4_tags.tsv @@ -0,0 +1,97 @@ +name start_tag end_tag deprecated dtd description +a required required FALSE anchor +abbr required required FALSE "abbreviated form (e.g., www, http, +etc.)" +acronym required required FALSE +address required required FALSE information on author +applet required required TRUE loose java applet +area required forbidden FALSE client-side image map area +b required required FALSE bold text style +base required forbidden FALSE document base uri +basefont required forbidden TRUE loose base font size +bdo required required FALSE i18n bidi over-ride +big required required FALSE large text style +blockquote required required FALSE long quotation +body optional optional FALSE document body +br required forbidden FALSE forced line break +button required required FALSE push button +caption required required FALSE table caption +center required required TRUE loose shorthand for div align=center +cite required required FALSE citation +code required required FALSE computer code fragment +col required forbidden FALSE table column +colgroup required optional FALSE table column group +dd required optional FALSE definition description +del required required FALSE deleted text +dfn required required FALSE instance definition +dir required required TRUE loose directory list +div required required FALSE generic language/style container +dl required required FALSE definition list +dt required optional FALSE definition term +em required required FALSE emphasis +fieldset required required FALSE form control group +font required required TRUE loose local change to font +form required required FALSE interactive form +frame required forbidden FALSE forbidden subwindow +frameset required required FALSE forbidden window subdivision +h1 required required FALSE heading +h2 required required FALSE heading +h3 required required FALSE heading +h4 required required FALSE heading +h5 required required FALSE heading +h6 required required FALSE heading +head optional optional FALSE document head +hr required forbidden FALSE horizontal rule +html optional optional FALSE document root element +i required required FALSE italic text style +iframe required required FALSE loose inline subwindow +img required forbidden FALSE embedded image +input required forbidden FALSE form control +ins required required FALSE inserted text +isindex required forbidden TRUE loose single line prompt +kbd required required FALSE text to be entered by the user +label required required FALSE form field label text +legend required required FALSE fieldset legend +li required optional FALSE list item +link required forbidden FALSE a media-independent link +map required required FALSE client-side image map +menu required required TRUE loose menu list +meta required forbidden FALSE generic metainformation +noframes required required FALSE forbidden "alternate content container for non +frame-based rendering" +noscript required required FALSE "alternate content container for non +script-based rendering" +object required required FALSE generic embedded object +ol required required FALSE ordered list +optgroup required required FALSE option group +option required optional FALSE selectable choice +p required optional FALSE paragraph +param required forbidden FALSE named property value +pre required required FALSE preformatted text +q required required FALSE short inline quotation +s required required TRUE loose strike-through text style +samp required required FALSE "sample program output, scripts, +etc." +script required required FALSE script statements +select required required FALSE option selector +small required required FALSE small text style +span required required FALSE generic language/style container +strike required required TRUE loose strike-through text +strong required required FALSE strong emphasis +style required required FALSE style info +sub required required FALSE subscript +sup required required FALSE superscript +table required required FALSE +tbody optional optional FALSE table body +td required optional FALSE table data cell +textarea required required FALSE multi-line text field +tfoot required optional FALSE table footer +th required optional FALSE table header cell +thead required optional FALSE table header +title required required FALSE document title +tr required optional FALSE table row +tt required required FALSE teletype or monospaced text style +u required required TRUE loose underlined text style +ul required required FALSE unordered list +var required required FALSE "instance of a variable or program +argument" diff --git a/data-raw/internal/html_tags.R b/data-raw/internal/html_tags.R index 157ab11f..95de392a 100644 --- a/data-raw/internal/html_tags.R +++ b/data-raw/internal/html_tags.R @@ -1,13 +1,31 @@ +## code to prepare `.html_tags` internal dataset ## +# +# HTML tag information is retrieved from the W3C HTML 4.01 specification and +# serves as a reference for parsing and validation of HTML elements in DO +# website curation +# +# NOTE: HTML 4.01 is used as a reference for tag information, but the web +# now supports the HTML Living Standard (https://html.spec.whatwg.org/), which +# includes additional tags and attributes. + rlang::check_installed( - c("dplyr", "janitor", "purrr", "rvest", "stringr", "tidyr") + c("dplyr", "here", "janitor", "purrr", "rvest", "stringr", "tidyr", "vroom") ) -raw_element_index <- rvest::read_html("https://www.w3.org/TR/html401/index/elements.html") +outdir <- here::here("data-raw", "internal") + +raw_element_index <- rvest::read_html( + "https://www.w3.org/TR/html401/index/elements.html" +) index_legend <- raw_element_index |> rvest::html_text() |> stringr::str_match( - stringr::regex("legend:(.*)name[^[:alnum:]]", dotall = TRUE, ignore_case = TRUE) + stringr::regex( + "legend:(.*)name[^[:alnum:]]", + dotall = TRUE, + ignore_case = TRUE + ) ) |> (\(x) x[, 2])() |> stringr::str_split(",[[:space:]]*") |> @@ -39,4 +57,15 @@ if (nrow(.html_tags) != dplyr::n_distinct(.html_tags$name)) { rlang::abort("Duplicate HTML tag names found") } -use_data_internal(.html_tags, overwrite = TRUE) +# save tabular data for reference +vroom::vroom_write( + .html_tags, + file = file.path(outdir, "html4_tags.tsv"), + na = "" +) + +saveRDS( + .html_tags, + file = file.path(outdir, "html_tags.rds"), + compress = "bzip2" +) diff --git a/data-raw/internal/html_tags.rds b/data-raw/internal/html_tags.rds new file mode 100644 index 0000000000000000000000000000000000000000..4e3f4e3055f07afdd0b344ef5a335a79905dd6fe GIT binary patch literal 1582 zcmV+}2GRLKT4*^jL0KkKSrZG)i2w(R|Iq*c|M_Hpzw!wH21vjE|L{Nn0ssI3;09lM z&hFNYT+|TQ0NZM~NvtRYS+NRu*u9-|ejMs*&+2`V;`FnK`YC)$?IHk8VYfn;Vf@AN}iz$&PI!2^{ zblS)Ql*|w!2ynr)*w_jPfe_R%P|{G+&1(^eQqVY=mWgCIX|d}QFrh?CS>LPe$}_;8 zi44fW4NXQNoaHV#MC(A49hnT8OIi8lHb%MBmf1M%tu@;?U4E~1A+otVCYHf*X(1)| z!2l+bK&|##uX*;?>oNpnrho*pq67#?{BoMMXOIX!4IsIQRr$Rq?T9jr^TLQZ)@!=u zLF{EIrR9`qj;r|eg6&$4Z`r-nP{6@BqD7$y%1RK!fW=b$#mA9>RpVk8$z|-1=ij<| ze~d{HN9yU{l7RzU_-%CHV0U#EyI|bjN7?ZBLcc-qp{`?SyE>i0|Qy{P;k| zVq4Bk2Fe$C=b`CSRaAz1uxy33p$Hy%$r$8SY_`(23tf3NIR#gJF~IAN%Hc8Pa0aK( z)uAD^7mm!(%*Is*Kh~_IC zq>Uj6`J=l2wX-6D_p*R8BKm>Hor`isG;&GOj}pLovd|=?A`l_pnmTW7b!jqy3D6>M z2!aDlTa*do&Jnf)!+{b%1#u-}qT-*X>$y=oLCR1MV##JqTPx14Ias}$|4s1$lTwB- zeIui?=af)p9$R(}$5G?iOvkbyi$L1}w9;fa z8hrKMdoboz9<$UG_3b{2_(^F{^jS38E-!=%rahU3;qPHuq*5E*x9IeggIyijv9txW zq@ZPIdP8SYc_n$khUv%B4f6@%%<%5<@4GwjT?jr)dvy;`T+7?K93c_y;jOn~Bp|@| z<7_L(*ha=Sn;RH2vg62sIwTvYtrw((7bwW@5)gM<i3hiGh+!GeveNe|qD_~Mn%!~&P*{`T#(I!y zm5^4vv?4p#CbeQZIc>7QY^1AZv%(A#jjb_2y0PI)O0`mle93C|8~1%%Jo$CO&yVFZ z4Ud-ddpI#zd>3Ri;e0C$53~H|P!P3dEh3Oi+9}6XFKoHVU=hub;v7UYg4c4P=O*HV z$7fp9W5#l+hLa-v9sx06+l%20*|6-{3F-mYWd?B#l$e zBg&o$>YkCK(KN^zHlQ@o1q}v+LqkIl#LxheAet%Yo|n z#y}0u7&00ohpk%8c3s$_52aNV8=_$|Fa}lBe+tp~Qk5A_TIkxU6%#9Lw~pdB6H-B7C1 zZr^7P$@?o!A541g#R-z}DvyeSxGJveX^Yzh=aK4?^k0000000~p|3a6y>CVSrg3gVn3`vgR8Om_4c}@gD1UJbWF&l z(<>r^vXSwJJ<(M}6X_az>3dq#^pavPj&`MtA}pC$&61fjTakPYNK!9Qr8%RhZAP|wcq>;$M2Ak#A)l;Pb``Dh>R!T(-otB`ts(hbGe5gktMC8Hr%mR6umDr4oun0esT(` zsHzT;$6*s7TK2-CBt;mlfSlMmd0xme0AD@&b&p*J*Gjp=-4sl+E^9OVER6IqQ5|KuR)>343FJdC6!_O?A ztiMEq)G^+`W{@sqXz%diNGZ;0Ae2OaE{PP));+AajpS+AVgwqi0R^mTH61cwB`s}f zLm&}}f+&XCp@%m|FmGxwH`)Q>Lb}=k8j8rUYs}M%!s*T>uMpE&L32Sxj5uSX?}r=o zUq1`)z3qA7M$MTAtxc-B;Uf2l^9eC)o^nDr#EL+f(foj5Hv9QgWqn$5?bvo_DIdDZ z#F%S{LSdo1aV#qaVK$3o-h!bBrgS4eEV^}bORrIoX%{*)CQRfw0Ma?wa3iwtx*=qc zNuy3l8HiaKlVi48UoIf07{(xd_#NkB7gYqa@@X-K16)NxjH;<1RiIywpJzVLr#7=j z?RvRJF|jd&WnyXpzhh4)0gZOx*hP#%5J4j>!/src/sssom_schema/schema/sssom_schema.yaml" +sssom_yaml_path <- glue::glue( + "https://raw.githubusercontent.com/mapping-commons/sssom/@sssom_version@/src/sssom_schema/schema/sssom_schema.yaml", + .open = "@", + .close = "@" ) -.sssom_spec <- yaml::read_yaml(sssom_yaml_path) + + +# download YAML schema and parse for internal use +outdir <- here::here("data-raw", "internal") +yaml_file <- file.path(outdir, paste0("sssom_schema-", sssom_version, ".yaml")) + +dl_status <- download.file(sssom_yaml_path, yaml_file) + +if (dl_status != 0) { + rlang::abort( + glue::glue( + "Failed to download SSSOM specification from {sssom_yaml_path}" + ) + ) +} + +.sssom_spec <- yaml::read_yaml(yaml_file) .sssom_spec$version <- sssom_version .sssom_spec$access_date <- Sys.Date() .sssom_slot_types <- purrr::map_chr(.sssom_spec$slots, ~ .$range) .sssom_mapping_slots <- .sssom_spec$classes$mapping$slots -use_data_internal( +saveRDS( .sssom_spec, + file = file.path(outdir, "sssom_spec.rds"), + compress = "bzip2" +) +saveRDS( .sssom_slot_types, + file = file.path(outdir, "sssom_slot_types.rds"), + compress = "bzip2" +) +saveRDS( .sssom_mapping_slots, - overwrite = TRUE + file = file.path(outdir, "sssom_mapping_slots.rds"), + compress = "bzip2" ) - -# save YAML for dev reference -dev_dir <- "setup_docs" -yaml_file <- file.path(dev_dir, paste0("sssom_schema-", sssom_version, ".yaml")) - -if (!dir.exists(dev_dir)) dir.create(dev_dir) -download.file(sssom_yaml_path, yaml_file) diff --git a/data-raw/internal/sssom_spec.rds b/data-raw/internal/sssom_spec.rds new file mode 100644 index 0000000000000000000000000000000000000000..199abb365589b3aa6d1389499fa825de66d41a1f GIT binary patch literal 7707 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 V!bB8)u%bWwUC9*TLPD`97)YX;=%4@q literal 0 HcmV?d00001 diff --git a/data-raw/sysdata-update.R b/data-raw/sysdata-update.R new file mode 100644 index 00000000..3e273230 --- /dev/null +++ b/data-raw/sysdata-update.R @@ -0,0 +1,33 @@ +rlang::check_installed("here", "usethis") + +indir <- here::here("data-raw", "internal") + + +# DO Google Sheets reference +.DO_gs <- readRDS(file.path(indir, "DO_gs.rds")) + + +# HTML tags reference +.html_tags <- readRDS(file.path(indir, "html_tags.rds")) + + +# curation template specification +.curation_opts <- readRDS(file.path(indir, "curation_opts.rds")) + + +# SSSOM specification +.sssom_spec <- readRDS(file.path(indir, "sssom_spec.rds")) +.sssom_slot_types <- readRDS(file.path(indir, "sssom_slot_types.rds")) +.sssom_mapping_slots <- readRDS(file.path(indir, "sssom_mapping_slots.rds")) + + +usethis::use_data( + .DO_gs, + .html_tags, + .curation_opts, + .sssom_spec, + .sssom_slot_types, + .sssom_mapping_slots, + internal = TRUE, + overwrite = TRUE +)