From e8b7ccd8aa5246ca1422022ca5a795c8b78438c4 Mon Sep 17 00:00:00 2001 From: Sierra Taylor Moxon Date: Tue, 7 Jan 2025 16:53:46 -0800 Subject: [PATCH 01/21] start updating about.md --- src/docs/about.md | 52 +++++++++++++++++++++++++++++++---- src/docs/images/DOE_logo.png | Bin 0 -> 47959 bytes 2 files changed, 46 insertions(+), 6 deletions(-) create mode 100644 src/docs/images/DOE_logo.png diff --git a/src/docs/about.md b/src/docs/about.md index fcffb444df..6456d89b4b 100644 --- a/src/docs/about.md +++ b/src/docs/about.md @@ -1,11 +1,51 @@ -## NMDC Schema +## National Microbiome Data Collaborative (NMDC) Schema Documentation -**Schema resources for the National Microbiome Data Collaborative (NMDC)** - -The purpose of the NMDC Schema is to define metadata for the [National Microbiome Data Collaborative (NMDC)](https://microbiomedata.org/). The [NMDC](https://microbiomedata.org/) is a multi-organizational effort to enable integrated microbiome data across diverse areas in medicine, agriculture, bioenergy, and the environment. This integrated platform facilitates comprehensive discovery of and access to multidisciplinary microbiome data in order to unlock new possibilities with microbiome data science. +The NMDC Schema is a foundational framework designed to standardize metadata for the National Microbiome Data +Collaborative (NMDC), ensuring that microbiome data from diverse fields can be seamlessly integrated and +utilized. By establishing a structured approach to metadata, the NMDC Schema enables researchers to organize, +share, and interpret complex datasets with consistency and clarity. The NMDC Schema is critical substrate used to facilitate +interoperability and collaboration, as it provide a common language for data exchange across systems and disciplines. +In the context of the NMDC, this schema supports the integration of microbiome data from medicine, agriculture, +bioenergy, and environmental science into a cohesive platform. Such an approach enhances data accessibility and +usability, fostering discovery and innovation in microbiome research. By harmonizing diverse datasets, the NMDC Schema +unlocks new possibilities for addressing pressing scientific and practical challenges through microbiome data science. The NMDC schema is used during the translation process to specify how metadata elements are related. -## Credits +### Funding: +The work conducted by the National Microbiome Data Collaborative (https://ror.org/05cwx3318) is supported by the +Genomic Science Program in the U.S. Department of Energy, Office of Science, Office of Biological and Environmental +Research (BER) under contract numbers DE-AC02-05CH11231 (LBNL), 89233218CNA000001 (LANL), and DE-AC05-76RL01830 (PNNL). + +![DOE_logo.png](images/DOE_logo.png) + +This project was made using the [LinkML framework](https://github.com/biolink/biolinkml) + +### Citing NMDC Schema: + +Microbiome Data Coordination Center. (n.d.). NMDC schema. GitHub. from https://github.com/microbiomedata/nmdc-schema + +### How to cite the NMDC: -this project was made using the [LinkML framework](https://github.com/biolink/biolinkml) +##### Data Portal +Eloe-Fadrosh EA, Ahmed F, Anubhav, Babinski M, Baumes J, Borkum M, Bramer L, Canon S, Christianson DS, Corilo YE, +Davenport KW, Davis B, Drake M, Duncan WD, Flynn MC, Hays D, Hu B, Huntemann M, Kelliher J, Lebedeva S, Li PE, +Lipton M, Lo CC, Martin S, Millard D, Miller K, Miller MA, Piehowski P, Jackson EP, Purvine S, Reddy TBK, +Richardson R, Rudolph M, Sarrafan S, Shakya M, Smith M, Stratton K, Sundaramurthi JC, Vangay P, Winston D, +Wood-Charlson EM, Xu Y, Chain PSG, McCue LA, Mans D, Mungall CJ, Mouncey NJ, Fagnan K. +The National Microbiome Data Collaborative Data Portal: an integrated multi-omics microbiome data resource. +Nucleic Acids Res. 2022 January 7;60(D1):D828–D836. doi: 10.1093/nar/gkab990. + +#### Ambassador Program +Kelliher, JM, Rudolph M, Vangay P, Abbas A, Borton MA, Davenport ER, Davenport KW, Erazo NG, Herman C, Karstens L, +Kocurek D, Lutz HL, Myers KS, Ockert I, Rodriguez FE, Santistevan C, Saunders JK, Smith ML, Vogtmann E, Windsor A, +Wood-Charlson EM, Woodley L, Eloe-Fadrosh EA. Cohort-based learning for microbiome research community standards. +Nature Microbiology. 2023 April 17. doi:10.1038/s41564-023-01361-7. + +#### Program Launch +E. M. Wood-Charlson, Anubhav, D. Auberry, H. Blanco, M. I. Borkum, Y. E. Corilo, K. W. Davenport, S. Deshpande, R. +Devarakonda, M. Drake, W. D. Duncan, M. C. Flynn, D. Hays, B. Hu, M. Huntemann, P.-E. Li, M. Lipton, C.-C. Lo, +D. Millard, K. Miller, P. D. Piehowski, S. Purvine, T. B. K. Reddy, M. Shakya, J. C. Sundaramurthi, P. Vangay, +Y. Wei, B. E. Wilson, S. Canon, P. S. G. Chain, K. Fagnan, S. Martin, L. A. McCue, C. J. Mungall, N. J. Mouncey, +M. E. Maxon, E. A. Eloe-Fadrosh, The National Microbiome Data Collaborative: enabling microbiome science. +Nature Reviews Microbiology 18, 313-314 (2020). doi: 10.1038/s41579-020-0377-0 diff --git a/src/docs/images/DOE_logo.png b/src/docs/images/DOE_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..fe6cc0445b6642d8eec0715a153ec0efe0787340 GIT binary patch literal 47959 zcmd?Pgmy?_%Gs#RQ$xL!0)l}rM(8pSDe2u?5HhM7z!DTatoWuT^a}!jb!uyECjcjy zv43fopbGYU`@;IcUs4zcz)Z5^9ViUM+94=z-;87+1<-sdHgNL!>K$4ER!RmVaU8S&Gk183_n_1a|T!P` zU2H2yj1ms$YJORL9on@7qqtf+R@&nvHwAW0VTy*lK?PAGqax3C!hK@Hg$I45vD=J+ zzxjBM9?8Yc@}*14DI>TG@0@*?tBj-E0WQ6dty}K4wAzJp}N1u`l@p&o6s|IW%K9v}Yg~jvtJ470k^gZ&!md)=61DkAoQE zjEg{wK&1e01A-vXmv|+$<`=qk5^LmNoj%T_pHT!Q1-(&yy8zyB za-Du$$db5Jc_2*%tjVvKG`xdkrc#iEH-vz2DQ-22@2HV9EVby1s5{c(YAl*?GoTI- zQ|{&Xr(%p|oNLLRaq@lMm`?L_WV`OKXP?v2YK(*4Q5YgJbq}xGze8C?PwPxMGigK< z$1(cWvSE0KBpL;f!Oo=UAT}9QOV^NSxXo~Z_N7OS z8#6|zpL8oavh$28YoRfJrKJuNI|_NMaxdq=u4!}? zN>%K<;=JP#;6@DlTmDvzGxj^9&zPK~4fqX64JdQLBHs?XueapRy<5pvF;7Ery4}u6 z?>;{{KAAk}K5;w&V04mkVC70iZvs;^+HPbi?%Y)8ug=k23M6!__*fAty)?8rjiEZA zGTM54CtQ>WGkS(3yrFPHl@E;NOeqNm@6#0G6`Xdqx7~LrcBHn$To1QDY{&gENIXn_ zl+j}Rk+iTKZqDMvc8_~caW8()@hanjMh#OI((mQp$^IbyA^0QjQ_>nPDxVGP&}vs| ze-BH2VnfOc4S`oQsgkOfs_J$LCr1YoMMiy%vX_NylJ)WQB}aJ?$)^;5(E1?x!RCYh zciR*QD;CRE3RX(n_xnFWe;!kS%(ohNB~&TOJL-ZTON-Nr5%?%ZBl>e0rY>yct+Q(J zh%AWoQxsCzQ+QIQSlisg92NG)HU1)9nO#vm?CECK=+q$A2tZ46JnUvsW)@0LO5kTi zXOL$cXP~y2{J=WGx?|f>+xQvogQA1C2g5VBB}N~EgnkGt`3N|9t{$1yP+NDB6_MqV zvGL#7xm(BB+S)u=NAY{v8IJq^mYs8*`!LHoDV)z=raa?0Lu~uTCTAvaOwFW{@?Gx7{W>iWhOcrAlR5sBN znWCTKnIgBW%xKFPw~yDIqd1}%5XuuuaXZOO9@X8=*!9>AAa;)iL}L+;5?AaVKx4C7 z0vsQgol-qhf2V#*#VP+@{!}KQQ>WKfB~Z7ko2I)~l{@dfR90tG<>O#y$yT{y=Le0m zePi7)1Q|UkZTr&J+rAn&FS+)1EO&W>Gr1qr($U1wrB~SZ9mGR)=Wb|dm8Iuz`jpYw z?ikBh-I(-c%r4sQr_n>N36G6t&Bm){p3hsKgFKHtrd+m~KQ)Va%(?BgP`gu`XH+KX ze$%ZGWf!BTilw5SS2>zFa?6hR6>pVo^((DfJ52lc9D$R;sm!VHDIT>*PKx-Re^ooI zeJSA7l}|`i1y9Y z|NJ;~@GB{&zk$*In7tA>--6YkTw89{vUGDGRoH#h4WkSZ$&4bA^^raG>3b*yZgyTWT5_rRw@>D0A-*zv2Kz z{VyZ-5>tIIAEJtQ4$V$6|6u#YKEo{7-i7doQ0I6c?!sBifz! zOb7eM6k%zQ&o}M3#tGM{ zb4$CqRtRsyvSU`qvCrcLHgPDqprH%<;lcx+388uQ;?l?w5%w_08pj(NiL9AT8vl)px7DFNZ zByM!(zaD?lMY)x&Y3aZ&DUtE$twO^}?MUEHu$+-zU zl3tasi=W9!&smg^51^vZhatTbZkGsA7M`#z!~dpO~`+gVCAj0cX3ofbS%L zVnH|>j`V}yOh}mz*y;3VIo>6w*@S+8k`*{qd5^pR(cluil8b%6v+tDkRf&JyUqlv4 zRUbaJ%S{*%am(~+@o zGjp|ZcDHeIr1^)giK&x^yBIC)KMnoQ^Pl~+@V5EimK@#wi>+4%f&Y{MxjDIj|3mu~ zRrH@+VKp0X3wvD|8;4h!y|y9FEx;%GANBt~CI8#v|H0JxUrYghuK$bqe@gxx^OKu} ztF)8DYm@Hc|2tg&h5UaD{|iwR_z&m*M-u-j=Ksijm9sdyDDZ#AOdMSyx2XDc7%6OI zR5f4YS0($8=hf2!Fu#U>;@4m}kZFT91OR{l?`0%4z2T0skb;RmJ@(`1a^H5i{BpE&a?&<@66zYq*OZPk0#-{|GRYTf@F|Lor&A{iu(L%2o1DdCIe{V$M?D5`cv*`?U|FF=#~nyti4 z{8E?}{I7r#)sFM86ui;szXzj4q4jNcT>V?KXP}8&IN-lRNErSZh&xy3Da{c6UxAAG zL42LzUm-yao{E`~F#2WkU;6jjTLjrPlvc!l1^f@42z_Cu=SKg|r8jv0@!uFp14*HI zgVWX6VT%9OLpU750P262paS!2HbGQh(BFUS;d)5kDZ;-pVhE4MupVM6Rdok!`?nsx z3OnFmMct|R|7&4~1c|9(hIT&R@8z7#83npX!0x_0nqCq&*i0ce_-rvY_)N()oJ^@M z|H|>-tPiZ}dw!ZyJ&BiqIR`yorwyk8bC&EX+Lpy1j}GJBT_|{c2nmI#ZFHZ65vaNj z`-K-f69B*ChK~Md@|Cd^KIhP@K4?ec_;=dyvcaoRi5Ggc#)Wd-x<3J|Tz3* zxILb?thBE@pY_}#GyV?h zc!q7oiNW3>Bv@s+K}4=QUOawfKNx9))!xo{6~hgz>~TM){`X{SecD9VK56%}7k65$ zuCsg4VFMDrDsBin{aMB9QBF(j;am$5RAMjN=%!4+?Z7Nxbv^KY$I1qV?SZ5!Hj@=_ z;&XDvJLWD=?G_`lUD=~V=RGco((;V+u9Gjq8mUmp{iDnQkn4D}qT>VkeGkrJc%T!( z$c~XsyKH_?v$WnhTjc*yw<+mKw(?ytukAl?2BHu$_caupPFYxJ2l=DdtH0X zHC+N*6&SY&l%pebeI5nZ(!V;Nw%vLTPDcB2S64h;3qLuW#M`vhgA z;t&;!Hi6*0?l$Cm9{`zs$4edD4h)R34AI2Rx2u6m0ZcXhk|)L%ca1!ZA+D`O+&vO2412!qIH!m znSKN|)Zmlbe>P=D*2|&D?ZfGgM8#If`K-V(+gE zX9dpcLO@+o5UU1GNCIDio7JfMi`cRI6mhoCm=MI{+t_aOT??ec;*#-pCe5fB0sGxJ zrN`BTrDOlzdCD6j_u*9WEv@!P$h~Z~{|7kjr`5;h*oM_z^kJERU{C={?8{Nemj3Ch z;Lo7RuM6=@tJSW4>mkEgJVI1Rtv9*3p`73C)ltSIBE%hq4ZQuQw8BMj)wNXQ^2lxZ zJyXun#ZXx5`d=Z(u4N(Y%hO{oBDX_{N2R^Mlakr89qc4k(_gdY%Of@#>elW7K$w&Ery$taK3v~v|i2zc7O%D%RcL4W0|{{T^fIu#Sk5iy-!We;{WzznZAGr5is6 zA04?tQ*bt`PL2iFoZ|&-X=+Y49H+yEP7rJe&t;!Z|608R>@{-dAKeXY4Ky7(H7^(h z9DAJfCaZY%DK1-m%og`aD%H-lyv` zZsn@|x~uI%`~!|(RM4L2f;WMA^>BbV3ZD7VEFl9}=(m=o)7IfnztyL*7{?nLifz&X zdVD^EBmD-xH>s9q-UxBWRCXu3(2Qd)AoPdWl0P!H*w)-Tk4;3c{spTR*-7kIT7xFE z?R&5!$VQJcM}md(OZ!Qcd}iaoqKEtS4^eyZ=2$3Uy~khICw4pdW;hGuzH5VF67Jr8ck= zw&&m$wROAbeWx3|J}mJtYorOPZ1+Dbkhx&VlOXNSHe{W-2oFt;l#4AQ(Q6Kj7Go_} zL1{luH(h1rasqcVkOh`L(7kh*M1<=oflO_Q9kbjV-#6O5=wM9YYnAD(wD*)P7aEY? z%c^*4>~SV|UbtgK*=Uv)>9-nZA4>Rt_w${_Y_K2Vg+SMHFHD~PjAnC>^5fqq3DH+Bn$nvC1+>|sUIYP^?MMaM-HTs4`;0ZZt; z@0R3GzQ8h@H<9N3>`#5E9FA9KxlzJ_!z;j`?p=pPQj%Ux1EXEDTEB7;PXT8kcTkY_ zQMR8l2AaBO;Qd~vmQ8?8+ztB;CJY}@khbK};69!F{G z(26s}0y1rQOJ|D<>(jWCA0Yc#!Ru?&oPXMrhT9*H8>E@SLs3m#i;|x1FLh~DJwn8pX`XQ3 zx8^v9+x~-VLE0~IK))fRkVAsVoRK^e2X%uOqCcyffR&&Zgw0ar+YGlrt;a-Jf0M{= ztWYbQ1^>Wj2G-ga!Rrlk#a2w`xA)HtYvnlVDAhtB&bQ~$B)5Haum``5&H3kPrVWW$ zV!A)7&Jq)5-M8lsk>WTfIn94>&yjr2mu)bP3)(h#Ek?LJlQ=}J9%P=L8U0|V9WT4> z%gv+ggh5Z|ztsJ?9jnok9xtI1e4aBe$&I*|n;nUZcG?KCpR?QXw)&au<{F`M<;k>? zP<4tn(PZhmb_%y67h;{ri!axVM`rIut0}Qfp2`f`76a(z63UJIbDN&Ex3KzAUVdJV zHSn_@eOU{*Eidyt75YxH)Un_w+Ea@nmw*9Ox%~C=a9D9fcHhgZG#Pp4(kPAa^oB(d z(0T@IIn^2I@mdS~#od^rtCo97his;uvVzad^B13eQW6vk_>NylYi)`3Fh z^I&N}nM!cB?sRb_pz=aY(DaPPYhg#bS(#k0vE{U7ErnTkF)t4dY+{m0cPYe+z-UFh zO&Ya`{8?&2Blp9nxw{GC-GN5lWSJ7mC?uch%D2RlW2W9|e3byVZ32!#Y&X$pI(JFc zD@tRBSgPa&zY}WXh#Qa1`CrQe)Peiy1?iRPonyp4KKHCMG92z-L=?>Tg>=CnDQTqw z-)35HcXtHvFdSWlwL}>a@gSjO;0;J6`rD8Buk^46nOBqTfOW1wcQ`#}Uojwi|0I=D zueN6cAOqt0nWHA0i}Wp<<>$zjs_|xEfutBY-P6|`$J^C_QJ?^9{*3o_HQ!DCwrKw+ zKG7mz-8iK2z52u53H}5%hyC~Q2&PZ;OTz_SPLr+SJQS1`oYakuBa^%P6&+oa!3AdV zOflW8WdsK-@UzG_e;qjK{c}{wlWqAAb)0p*DF6_kExFxziompmLx!|xRr=xb@(LFU zn#&<3-+do;z6Af8lP1p|IofpzdINs;ysX7~e9)4uq>b3aRrE}kcfXTxYmPe;;~jup z`iF`E`#xtE6s@D$CEw-ZsoKIZsUPbS^AhP+RsW^bDyU%>^neLvQ_u0yxLh$)ruO8L zGyill(O)08edfg0g3b)TI0)l+x?!&gl-%o=%h)617`eY|NbcQOO)6YA@LID2$GBvC z2&s2C8pLz#Om0)s#cLZ|^*i07vVABn51DQ`$dCVg8+W|&)Kud&f3{u|ZxKT?4mn;b zX&YM<^gO`y`br|@KSYW)E@4Q_K%J@_Y+78I>-o@|`vLu8=#9&v*4Ss^-+G=R;6W*Y zjo%ZFci<4cN^IwJ{|vxfP`yg9Z8d5o!qO0+x=4v+ul@dk9N{bb#a?z$d&@k@iyGp z@Ag4h312YPXmmUG4=dVfUwS1th}N6-jEo6_O694!K})4CG;Qj~{q8WK`Tt4bLTq45-*r=fX6l(wRy3@%O zko46%?7m_^WnGi zza*38?UQ0=t9VZ*l(c=<1D6ohR0$)#5wLVV7w5;j5S3`TecD05Fpi@7CIGowkv$gb zo5NcZ80(QwiA)t{LHx}B+i2j)tjV(0F%V}7PND56itTfB{qf4qfyDX1L_D$elxF!d zLe&su6BZ?}7OX|q>s@v;i<&4_7>mVX-sK|Mw}>35a8TPac^;)iz_YPDg< zyDipPt=~$}Nof?9D$&YtDCZ@L&~D%zitN)6j% z9Au#56g+ktyj8;U#$pd@J?;Q@Iv;0sg%^3{pX?=NQ{6=t_fcBKMiorGS6plyHQ&cT zTZ-gx#aAeR+l5I&{samB6ZZ2(i!wHxWexUOqrBTUYr&b$8!w&2Zv ztiw@TzK!49@D|iX2yhug_@g%&@Mb!LY628Y9EN#VAb(2hb`%?`)5qSe{#Cpe5pv0X z^%NAlW@sIxe!AalC=aRXoJ1^}-@5ZG@q=mAvVi%O9X#J2hXH5#w$Ft0^P~NT;8ChB z$S9d$?KQWsSJ)@RywRJ@JtIts-TOmF1VTJ)+tYTjoP^U=%#d~rcAPznG^4ju$5W0E z-`}5L!SO2nvG#{u<~(EhNN{9JYp$Eg$8vr0Eyd1Kvg_@AulDEuje+^1$OXTh)(m~i zO0LDzT@TK(<^4Oykt~>+KmXuYIHQcD>NAc{T(g`b&^|=jkl?2`|eviZh$Fp>lT%R@vOtrg8G*F^AzqGts+nQ7n9gk-@YB6LG)Y zb~Bn{q1IQ_WjZRD@WWG!MODc}YTHy0d^flsU173VjBHZ~M6CUMU(Z2_!r)di9^bO2 zmauDcWI`j~je9=j)?Es8Ju?AKQANN0G{Yk0H6($YGZ74N9t)U4(R%c=LXYoB2GV7D zJlLk=<}0~F96$;DTd(R#h?f`s=XnbwpkmNKmSY^)+V3jHDsISf`*+DG=sHDAQE7r( z8~J+R%tvs#pR^N{^QR2=PPgteX@lNe5!cuPzyuC`Z&EIv&tq=IyJq&)B=|AdDkn+m z`k@Qn68;xfxC)2;k59$>DEk4O|u7y8Lh~XdL4{@po(BI27E)_a^ z%cPs8rBnnx^UhPk3}4o_z;|s7@XG#Ol(NxC745f@mB+u<;BCs_7j_XQ#t`v8J1>%2 zAu1aBGu$1dNgUnAtx)4wju;WT`{ZeZhu)=gnR$+T4ORv})cfCRob5n6P^bgzxpBo* z)T)&hK&;Oom}m&H3{ANdIEEv{bFB+uhYcBv+J zQfQo(Kmmzje*@`a0+qA&XS^l2hBB!%AHdihiD|9)Ksy*J~Ws=naCrvtkV2a0E?clV3-Rvv|t}*k3kCEY|2%_yt_{%!JgA zdpg7=vIu(L6wXZ=!1PLcPJCUooho zC*_B{2tdm6y~1p~9bJ1SN$$&3)-MM-2TlKuRj<65x~_WgHuQX2yM5l&KSf5zuQ4Mf zpPWbf;VzM@l*hCFxOhztTY+An@YMZiCDo2jt%xu%JI4Sn@a9o-sU*HRB^8`_%;n&T zU#d&gjc0l+Z1J4`dd9yrG5ww4htpCP+M63kQ0&!hbkfCt^Si8G3JJt#2vNH+OkX2Hti=SYIV2&|R#-cH9>nFSqKhCW^vTplO> z`nBolqyVW!$%UvCM3_MO`ZgP$XmMY_*k&Od0E??15&hkEjS_Q6ZF2p5M2rY7OFhi@C<}K8sa}4 zYN8q|h>JIyMqc5AK-hq|SzL?sUAE2hiyZPkT)`k}26v*M-3(&_DUY}91>cWx*Mq=( z5Z;+&M|8!b7)LhG?|E=xEc@hy*=ES5hDOn^M=@XfyjyiJvx5o^ff~R$g6eTszO-Dm zN&&#AyPn@M^#+c56Omt+c%uIx&a@99m=ZwIi35nrCTNd`m)&`X(|moBj7x|~Ez%{R zQM)m}6_2y3`~1H9q4@SXg&JuxCUXQ3C7nZ-wo#=HMvXAF|1&T~EGuBW(U^z>b|6a; z=0)C4f{QX09Xwmi#muWv2a|-VpJe!0o)vQo2s-;)g1GglPbJ1fq44%U;8y55bNU2e zjppJVj0+#6t*Z-xgG6r`^Y`yZG^Vl*aVb3KH$2PW-`cxTh%urQ?tC!DP`kPn+Xz?% z^hwxLb>v&S93osXJwR%GC6g^V?CJ1sE@gQ3bgQ{v&9VVd;5m2apg%o_OScc39*!Ns z+%`_%aH9<`!Hw8=@(tv8GdSi*0hozjw&BC)&NV5AOacFzeEheI$S>kPm8dF`=jKqw zORu(XnFUJ)C)m}?g+*4=^XU)5^|pVxjulFo+}zAEGA~+el9`%y(J$s}ZSwJK&5(O@ z63n=jF(_D3cN}Ho%RR}(UzS%`XO4!La%kP4dpyw`++#9Nl3YSY>?oe0=-`~UC73f! z$dGKs8w~Z~B@5bln#;+<3t+Fz&Bo)Yep{M>Pa#_gJ4YJq6kX$O(94RKr$l-R|9qBb z@}{HzqLL3~tf?vHOVz1=^#THB07tzYmmhnzNyxw$S7kyO4>8p_%`bw!_A!5mhwWE*s zIJ3o?t9ftHG}Eh$6O%1z%es{^JxaCt-RRUi1HNGj&Y{2)?b{*Ri?ZZ^Mpn-mY<>F+ zIMpD45?f*iO2nXyzhA%*Seq|vqfK!}9(TNIh6r@hsDEz2iib>0r>fQOFqRMBfB*MM z@{2!dLM211t22hr6YrSXh=X49l8db`~R znK@!-w_ii-ie%7A8D%J<<9kIrPOgr@qpwcZuby+6lcl9E_940vHv@l(fi#@{+ovzy<*&M0r{_Y5sjN+ugowi*lyoN zo;ZJYrA2xZK^HIl@pAU%c3}|ua@XKv;%k}xdO`AQ)GZw=g9%l|=E>U4OTNlGmH%L{S{>3kmwV;&)OKHY5jsXpz(n-TFX0wG;$Gtx&fErYr>0Ph~fa81Oi)o@{S zwZZA!Zl+(b$CvKcLxT`KT>m>qG_D%ljJO} zu0BX}u+i}Y)`*u`*kDB+FR^l8JH%jkH}wK?NzgWuv#XJHnc)8v(Ot4sS@mT9Asq(= z1NZM8Dxq#^IEDlRPZ{WaPk{oxuGV_OH_OCmJvANoB$l6FjBpcM-ysu}i>V^6Ax;2P z(EbEZ;Q>VK#{qUIl4Qa90Ji&rI(R)oF8}yJ^X2J`i@N67CrtpDgUZn!9A0dT%!^^D zlGX}{8nhiP`2_K}EMjB=k=|C%8Qz6ZS;K6Y(2k6x30oqdXsJUHc?=@AIhbk%tBKMm zK$WYoDidh<^tFQu967l0k2&74X0RFPwUp&m;&j6B(w4)a z6S}-}S4|59T)i4Zrd?dqydIn0vLbVWIZW>)3%R+#I(0_~af4b9L_e?w*S8)&5Hizx z!MCb#e4dZ%(I)69;JCo~{CdBI(YgU^zV@BWmX|Z5Z2{pWuxVrN*ab}#mjDXhjq&Od zx9l*It0EHNDNI#eo6Yu*1m__qIgF4TMxr0@`N-HXz8du%H2xpYJ9MEJ4g8j6=G{mx-1`R>^DFroX~SWo$kU53)RXkZN$iUJ>8|D z^~^j@k60~Js}4Kv2M=`J|DZvwE~d!uOq$$boi}}eG!jIf!8<2q$H#Dt?^GIFe)3lP zPE9BZis~re96(e0 zIC60Ns&gjf0uIa8cpKw6_RE!B?-+EqyREuhf{~du#t-P(9xGunhRH}#h!N8j>MMB; zz}9VirXbMN-A5-;H5tY4>W}Mm6ylC~A&-^HukPXV1w~IdMO>X4vVZ(;X-ea(jfkEj zn0Qb0Vda;>z7)sBeb$HuF{Mh!A&rAbV%4-uv;bi~qtfEr3x0IMp2Mm7vt|}K&(>HKrza|E-BK+GVG8#sNpF=t{I z9$S{Ud+C&wY_$mKC`=t{9XNE4ZCqxUTV~^41;QkK{yqwaI0xz=qQ0gmJvtQ>LL!7a zkxBE?x)KCr6XsvM)cVlDGX0BixPD1_NWHy%vM%Jr+QCDLddfz<>$w=ub7*l-+@W}M zVrjx6^syAJV6qU}@KIycD&;(=rRw*}pcLZS< zfx+bEy$H>*(c&K;#AwIq#(Oh7=Hv9*6%hR zYrzuzoL~}L5dm+~(V>YOi`xJ_k-)j9vvOU+2FGV9O?in7(QQ_BQKZ}Iqk+M=LO?|rlhbf;== zb_#t0L>VkL@H-&ted?5abX?&;=k$%;BO2A!OU9tgLUKFdRpf95`YQ39Znz>4b}(fm zk0mIG0Z_nj<6{6iTaCcqyPOG1S-O}vF%=n>N1quJ(X@I1r+WPVk0bD1mFTBS&I zJ*m9B1>7(Obi#XVGKwjlef0~`+esm%u`8_oAR{PE?2~9m#xlA1Q?U)jgtCo;2CD3l(R z0C0kgyM)jWIE?YJ_LxWQ27dMDL5LE?sTSbYA|L|Xk2b7QCBGSv;g4b$I8*DEov*R8 z;-!ZF$o;5Y`bi%EjujB_K_Se@2bbDbU;*41@hUEUJiSC*H2x^)Fb(K*2>tjmdK8?P zuk7d_2QN!Io|y9V`JP29;jI=%Udc-=Lqo`>Wzz?uj$>k3a0SmfC9OqYfv%ea)k4NS z*`+g!Y#Bl$bIgMJ7Spi9-p5C!AS7osaUvwrV=z|($b}&D_r@TRFgLDLkjW^+hnzeT zIJXqEr6IEDLwHVB=Wy)5K#sz(La2LCbw!y;B>z${HBSlNef%SmJwvc8h%SKamTmXl zvTJ31r>Se^s+9nAd=^I=qA9$pI~y;N!~*+89mJ(g3Syic*plfe1ZZU3M(e*=x@q*YJ|&l+ZIW9b$FYIZ$b1T$H5a@yGxEW*KCW}fM<7`$S&jruyki! zA=Vqd-R;mMwjY*SUf*S{-&DoXHW+AKEUG6liycRCC`d=A=lxoZ6v=xitt{@ zi?(<`>)o>$dyx4NrLaUH_J*an;I8d9qo%^sKICcC6BT{%Xw@*_vSvmFvPGuR1^svuHNsm#J!t8J+_aEFEL0g%)3K3P*VU&|Z*8kJ zzUNZWspC!S^+YC!A|a%fa+m$dIeH*8gicP^d|Ccb5Q%mPa~n!*9n3;oQ~fhbLiIPt zxkL2JNE_Z~>Dr&f(V(JV>oq{Hn0Ni>#3(i%I?*IdtZeO&81agw2amJmQYRe%4wNmX zY&&C1=J{y2LYI(B5_?*8`}VW!cPmY!k~JoRkvIP=dbb}0{@!HvmjZjkufc&+5+FL;g8pbSQSHwYuGNXFie6=ULz2!7-TX4*@v7S3nv zJztyi<9l8zV<63BhQPU>mO2!Ej8q&WTU|4|H6FQUFlPaN;N8i}Oiq-;hCoZvNKMGH z0{rV4W52xEz+8q#7kjO=u|$GJFQgQ!Y!vH!4nu-qP##R-AY*u;uH@A*VVtUgPFU%; ze07X-pgqwMje4?qSDmLL(C-2u4uSR%bk<qU#w{u&AlQ} zcV4*eKHTkP>&ncr9V-gd0qtu{D+bXEiyV1PXvc+DA%(ndYlrD)B=6E2f47)U%?Txaz|W>JIf1D38$&7Z$WWQ0P>#6&0B~*CbWc?(T?jJ#9)p zJSKU(nw)B;X)Q%C5+eW0!XAfaPJ|_`@=kGu!tNG3J{fw7rbrmYh*>l%LNF3KIv{Vf zF|byg7AKcCxSPh_jJ0B!?mHqa5%HZ+Kkb|jK-+2AbZ%P^gpYx{uG@vwg{~gwyn4tc zfn8ux<;V0P*4n06MyGcx-$KJiY7)fAMITqb@B>y2p|h!`~Du&GY`{Ei{g6hu`HL?_(J&xQ-HM6}knzXf9HkNd5!yYI;#qOYB@t34^j z05+-W?BJ3A1}*BM?9}Rpq|h*c8wu2*uZ#M8eg{6KJ;BS`@n(P_ob2}F;v+SwGVz=R z!L9RUD%zgX!`R*58hDozUB5_rY9W)4%~o%aqQnn`I_8O7Q>jp7zriaj!Dg+d<4v4U z2ZqL4FZ@lIQ3WSPx|r4H_s^E{O`~x4DxcxT8^wd{<$wva^iRs-qi{j~Uz<^O!_MY= zWcwH-=I5(E*-rB;3LdBuGgm{@fm?!QX?B%=^Tlba7bu30C=jw^eEJF9rOtUm1(eRw zkX59?e@a8g%BW^F&+(R;(KIBzmCrS!Y|AxcC>h#UH6`+=y)~oAK(6!HCwS=m*0%=& zz6#S`bqLm1It|^P&Q6mfMfv>jMz0G|w~mH4wsEfWSfPrItr-*qdoWe>VJ*^pU$-LU z;hzmBD@y#rnW$LI42G&R7xb(dC?Slcv{bOj(QhO=7+8}N*1GMNAT15i*Uz(87IGI4N*`bQb&X6EH za9>_8eZ>e-e^C8XouD$Y^Ia|xtvgjSZmsTVwDA7op;N7J5!5K%c|xI3d82Aj-BR37 z!2JR~936>nK$SfBxJwmUOWxbDhh z`gmbnSX(*`ZR@%W_vHB5ntrxVzH#3Qzx^9!)LbEv@L8o=kSCxv(5)B#I#L_L9;k7uX=pi;FBdG6<^_1OY1l{N*HRa@ET+sT4@`LpmL2BjJ0gPRv}g8yK?nkSl6mBk=eaL>f~TOW_vkZA#7` zFwIUgQ5W>ZT*6{(s;FzHdAVcc#FF8Qs!$oPNJXu76&&|yyZy){F_pt5r`_jy?Cq<2 z?WHe~yjJAKn37^!czqamOs(SRK)ymz919zsLsEyYhDw$J`b^%~6g?EU*$t(Jmzd0^ z0%qM`_DQk@LDU2kS(H>#!Yq0`wJ~-APW-D?I~8pVv`6U3_^}Z>tsm11w_AwV1OCpq z)6jo{Gd<`li%G?uS~B-g2rnR4H6>hD14fI4t!20jG57^A5{wWWU2wKNxwdf5eF5T6 zIw>7sn#%@dmQco)z@yt+2?s4)&a!0q&kt29_Jn00)$vN4!~-_XJ%70C1k=!iEm$>q zl$lHX0UpJ!D81Y+eRF7ceKMWvy9+KI8{A6pqL0o4;kMauh>am4QCYgh%G<(6qCO|D z`Y2VYvU1c-2uL|;*msFsl@Fn{4I26Lc?&ja5!%vs${a+^d+hdNJvDAFzoeS=x{UP} zD$&?@sHuiZ1nXUqTD)QIt{D0nX-6x;m!-s`WI7?S_$$K7CKbDW57k;mpYjhK8(6^z z(VcnJqKvvSBZ|oh`*6#{Dunh2mO!XIO`=#3(@*y#2YhSQY7pMS=ZlUP27m00n%}w= z?GN{U+&-^&Vi|Wv0WUou@%XB~`1&0NHJNty{fn(AI4xp=Y&5f^sxJ$8t}y2iQDsh4 zGe*@VlaO-|w^s-)xq-Sx-vgJMg8Px|fRg7b(C^;k&~Jl8JxVpClX5S}JG{qCMfBc0 zcBR+xLnEtk21a~eN^}!_yTj{l(0}%N@JpJIFFuPSz^N#MNZpbBQNm*q!Uq}RGj$pH zt4_eznM_ZyfsB9D`7*;!}hB;G2b)Soc%O7&$I&Jt>I4h z-Pu>_xYQg)y#0a9eDSR*j1pJr!u>`dt9h}?eSZLv)&~@fMm#E$1tfyI2+s4ce?CtG z9OJ^m&ads4VQu#W7iU{R!(&#$7{TZrOvD$ue+okGV^0A_!7PKi8P?<0AS&z$8{Koe#7mM5g%Gg@ znj^uHv5+_$c#!)_wN@)ZKm&!0U%-X*et#EH&0O91OV{?MC zEhIGDzBRmh7?ar*^BE_&FO;C3qauX%*tjO7p7Bb1yM4bjCd+x5*>pi687|WLOSd1U zk(kPGguP^TC=fm4jD4Tl+Z+JlCH(>E#%)Rq9|6CKKEvGiZ+#{3%=+u6b z>311B_t`_1NghLHZR>l_eJw8(cVG=`BB%N}d%q%0yG-r-rnH;}_=t^|bfxG%pZJ{p zI7?O-i<)mdkJG7fhgi^a8+F)2nNu$hSegd3dx}xTCNrHV*W;>Q$v%^zosF0$&mCMN z8cvH0HU9CafoG+c&JLfsUwiSXr16Ji8;2YzLH00P;-Xl}aK`=u250NwzCM^Of;f;) z{x;@!a%@F>gdIAbuNnn&-_NN6u{XFLUpnocO!8Rn`)Hllf^JtR0~N2rmyv%mN<{zM^Ex3iz1~qw z)Ar6(n#g~?%2nkIg`A}{^|j>flE@J3IZ36M=D*nOXx6P>&})K7SC?&ooO zuo`%YwG|Zh3wP63dGhbU<~wF_nu#J+>tw52I2K?3g#v|Vsw@$`?d;ktIp1YZB107 zWwnXIDk>R8VXD65zWlpo^mFEH60zRZflKBO`PNEkBjFR>chn^c4tap+K* zPaLW`QUtsf-H3B#F4Ec`ulRW~bcLG1p%5Rt7Tx6h=?C29jtS5xuC#IS>5pslN&4IkAcYjXlRJ(Ht&JGQm0xIxP- z@yWgupb*V$fI0GU1ClOv?^XiBt1&;Pooim8`=j6*_3l!5Arvd!q$|`e3hD0kzgipI zEE_QH0gggbiscx`PeEuzZUt^EF5+--(oa_Q{iR-+@EDlW$P?jwzRGdo zj&LfSZGG{wN%t}XJfJ~Zcv(DXCcM%2kqLNv`TlnWc^;Qk&G^MWn!hQbLPNxWH+%}g z(bl;E|Bt3~V2rD4!*$%CX*5xjG`4Nqwr$&LY}>YN+iIM~b{b8RGw*lK`2{n3@!4zL z*R{9s5$If?A~tY-$#?k!Xov9ozEJ#9&Z>aQP~}MBiZ~8@*q9(5gS{&jsBy{1R3pMK zgbDo(JH*W@EX$C4srIf(kv>1~fKy;-nAhos2mkHYGh8^k*RQJAudjk12XBkTRqNBU zN10%4FZXNu{*}J`BWwU%aU8UiW-os>Jpo3E(k?!NpS=R`PT(#|`Jr%}TQ9M@g&}a9 zXD4^={68>5Ce(;IR^O#64MXn5(UoS&(tsD#V9bwy+jFGLZZ96Aq3MP6m6rq|b!%l?x zFV*cIPG)*~#Hc_mRVwTXzI$+ufxC*mE|>icbODs}hRP!;oECK7NJI+|sS%CIpnI^- z$MA`@YcqM)^>=G3ozD4YJJmN*S>qX##+#3_lI0xAzzvO@*_qE8o<)&;+snK9v)#<( z1;s(H%nMx_USQMY%qg;;?Z^0c`M39P8{l`GxZ~YvNG%h;TX<=FZUPI7!86Q1GFM{8 ze>PgU@uL+J>JajAu<-2qe5By;cvat_4&a561&zS^al(iRmkb8sR|E$j`?wm4!$apN z*U7ZgQ{h17Q1LxsBRTI}YNiSy7cOPf(2zOEwkW-|R5fQod>_Jmnv9~}3R%Q0z~hkj zQFG`|D7@$(mEKYclve5+C|XndIlfLraYN#C?k$}J#%zA|a=L5XuH4N2 z(fGWR6F1{5#>i)hh~TLnOz`ztn51Dj(v^G?RTGktlx%GRMDpKdmvE%~-3kJ1h>~`! znTQ4DD#Mw)`#E2c2wdBlIv%fgX2N|hSV+{(`Ae*_@|)$KH^DS3tdTAsinY5PdMzOc zsKnmi0>d@%s}*J?a>nFx?7+CmH;*sw|Hn7Jv`G-K2NFd;VYY1vMKy1eo;ulraR)SR9KoN!Y!F=>TT8HZA|i8rYa+cnqs{? zCbgt$17?iko;D0be%m$7*fHDclx?CQTI6ssbO z8h1Fd8nu@aBwNUHI^>o4m$SiBI?W>eonokTZaCh*4p{mxm)p6txlX?;>!>NhpP-`{ zJ;A1nROQm7?2PP7Rtd9|Dc`C1t{3%xgk_+A0F)CNh0%unMt$Jx5)u6LJMUpq9@-={ z7_{I0OePBxL#Uf{@v7Nmw7ShDsGL$N60G?)!wPG#Du2BGo~%jL1zj?Y$F5^;$G1H2 zVbm#m(~zrk1*Q%ivY}te5tMz?Ql-}V2ToCivc(jwOkfsoOP|SVVuQ6RMgHB(`CuQ5 zCQ*1SI;v*D8+3UDRuqQBN=sOA0j80Euens(xu)kg!4h>CHJp&MHC;^ieqKeN!z7cA z<~IexW^j^s%3RB4xeu#mP76#+U$Wnuq&GZ zHd#$iys&eEyB*m4+XZ>u1Az5jl2x60d&vfvK9dr}t#TC^=M_b{es38V)dB=ivpscE zxrnS1lAERBW4O+_v*k6P-v6)B3jb@g{eF0ZO7)`7k}6@o;yqjrpJdxpcQL(m1^lH< z4w*@K8if~(s3*bWZLvj{lIL$bpiviqs55=b43qw(7*Jx7)#y7_+|hFoYE4VBDJR^4y0Y&s6Y+@~Ki_EiKqHooJj$@Ky^Az59|w}uxg@%P$l z@T<`jhH_Pr=2Xq#p7B@!K0)k2fo0Yy*{{8>d-*-@4})G5i^uUX854}yhD#@>#`#|= zFNYT+eZt+b7_TAU!{uz&8aoh$+-$T#UKSBAw7OG9ktJQi(kvi@%?^>y1lc0feUb~@jJBvfVMpyIWVetNB3vzM+?|5l6v66P7O z^UzAA+Q1KfX0z3uzY;RW->P|fPJF}tGKhhjpVg>6(U{*f8J#05_9vIhBUMg|wv};$ zas&}_lNZMXa28T%D8f_SGHQ!4lEJJ^NQAnVOoZLYO6))qCw$ga!EX06CX0l*ZoD|> zWjV1!MQRMJ5WiA+3OCjJ3I9}t=Tgldn1J)AE$&^!%BJK&S?SSyyI~Cf1Qe3m5}?B* zQ0f+%KozS9o-=R6<186{4gSB(^5+2RxNSbHu$VP8){nE@wNn-3l<)=Gc1ThQH~8L9 zUvECURZajcU@H!WdjEBtIBuh060|j_!y>EFs*lQ4gHbthcBsC;`)r z;}l(-3EgKqPOzs07qsnE7%s!y{O22IwBNF!v#uS6;Ccnl?$ZE#U@JhS$2~a=q;j@M468(X4e>S)eB?gZhyWG$LP|6Is3ZLs$$rAOh&C(h^l%tem zTJ>P+%FHp(R{fgaRixp#0N0}WxN5U@-Eh1*Fl=J)lMJS2T7km9+aVSss7=kQpakh! zbwRzZ>-Bo1sXO|0P1-m}g9`@sE9^fPz<=O-y|^SnTOiS(&(%@d4As8~0HF}N1EjyW5lhz<`*R(fU2J+1%P%TnT1UQhDY4v?OWHEYSj+w-J9GLc{9M;j*%{0-a^30G}9S#89(gRfG!*Ces z*7~P;poSNM@%CTf-aa$W{`>X=ui%?&@x@L>FbAx3dyBPNhb4%MwH6tl2quOVo@kCa zbW4}uCA7vs>kKI%{|QwP(Bu_DevNcRp}>vy{#y;1U-3wyRCf z{hvYGyo4SE4FoWxmZsYr#q`I1+%xbs(H(UhA%7f*sL5+5m5%GV`X9Azz0z9*PQgd6 zJTE6iyru_7DWN7vm|qlKttn-iRGms?-ZSqN*z}7!DFuh5 zuRrSWBu`Vj8r<%I@DKba8$N}LWe_C-}hZraV3 z^oRc82Us47VzGJ2@r7gnJGDCgNf((=paw-=37i>57RHw%ScWo;F4;S=_T?$Rn@{aLhAm&h8R`0 z92*uwbhF^d)!)711p0!sr6<|$y_S@>oZKP<7KXPviD@lE?Q9?Z=5IexayVNWn*YtG zeF2G6HpB6<&<>c@G`F%q2^XD2&ko0)4Kp>wtb9PWTm{2S7*7=|M36felrvvK(|9tU zyu#R?qA_mipXf=@a0%Fma3Zu`c|_3`#;&3Wt*6+xOD$*EZLwQj*6AK>U=)f>=sI+t z>#^pVCL*O0zv4@VvvW3j_`MhshRp7YX)MEF0&J%~^YS?~r-qeFwv+r)uH+z4*q z@e*_Cee*eWvAlZ|JNN6S#y@*Lp7{m9%JSj96B?R97tE=!xSX`s*p4ZvtjoKZ5rQEv zQhJ0#%}|6@2Z{k-!f8TbQpgJ(fx^CL4oW&W{?dZ&-4cD#hJ$QyI4F!R{8+4VHG z*tl$&f4&a1do-Dw4|OVy4#95Z0Zk^H@*{?+41ue%7#`;(fo2aX2V~Lv6t$j%a$c_e z)lGpeqEE8Aj&sbWKA8g(pTpMgve9uFU72-Vxz_SC%v5@3V=~#MOIl4`a$rt~P4Qx} zY+5U3eP0*4$!4);6doDg2ABD$3%iI<&XzC}G@`@G&lVYLJiO+K>?uYtWw)+_k|SBj z)rp)6+_nAT>NLAT*g2EM->8v(qwRmTCsU*}MK}6Idh0ZxVP&Rb{2(bz7Ql4|q}}Vm zRt?2*?XubrSoj*G;s;>wJx6&GB0N>w^$W4@TKo=H)NP%|#C|yc#Qr@kFSW-|G}r?^ z+s;018~}Fcvrv-ODdgmASd=Ei0Jb(zV?Mkm=(L;Q@5(k=Li%eGu%+Z$yzC}%2+^0gbG167ULPqp zTNkE>yjrJtco(Subi&{q0?V=d0j;&ZNAc1g5stD<>o50wZ6Tm9Y&&XMjA@S}}i8T&5IDtpu z_9fHOAQ87@vaAYskl~w1T{^^I^tpsGeeWPxS2h|m{CBfm)OAE*>LlNaJh9WNoc6o8 zPR6Dkk%93#Rv@8VIJ-DZ;jJW9)RKVNs$FZMRE>%85UE`g&YTH3CG31Zeg zZ2nV?%HiGar#sb>mGcf`frQPwiqR`mmm+!;V7?XRMV-f?mZ5_1U`HKTaGz53(?jA3 zSRFeDy6EAKhn~hRP9j#d=HLg93=bXkN1`RpqBr@>XEK$^kzjnKK7ZUKgNOK6XC+MvGv=uia3c6%$@gIN;ojw{1{*_y2@I0-o}sa_CE zVJ{*mdAOzNxMkE3hMjprsDVe2oM_PI%{bT+q!0_z1Z=*zT_y-5WWhN6M@I^vfstPk z+BweA>KbvAPKSj}Ry>qo>LFV`vJsP*itASX(Jgfv{Wr(Rt*pS`M?6!IS#&|;z6n){ zm3;dhH9jZ~A8I443h&bEG&>z$f^z)#gnKcXPM22<%w^hYhi3eq$8Rhk$ojz&Lj;NS zmVLEIus1!m52cUR`&-A_93f&=8k642_8KTc?;I&wBqVN9cvg6m{vsjfe-*>7buP%# z{FIE0x8$`;IFy)c^URVDJ72EbSI`LEGBdwMUUYI2Xyi3<$f_XY|I{pBnzK|m%<;|S zcC3`43?YiJw4OZg)Giv1=K60?Zqizz|F6mzYJmp3qA)iNfrC0|iLtvcl)L&+1Qj5o zrZ1h7x}stt;tpj8BW4PXTN$I2iEGcx?gB1m-!tFZ*gy-0WhPvZVUnj)AVh{0>X4T^h=+TNh7OXDkbIAP z@nw{B#^=!{o?i9tE$VZs)A*23+-#LrM^G`u6-O8YgLwaUNf?@p!iX%9Q{A^L4W1n4 zdXH^uye%ecg5u*)w)Ll+nkGQ4IfX}@;*6p>&28_eu=W>_`D$ly7p$3f_$?@dE1@OW z`5#9NQMi{vAK&pfw??)&yR>NR=ns<5!H2mH{lkOjs%FMpGB%qv*N0geGxj^bm1-jTB%b35Ar*;$4lJ(*tC=W>c6@ z4(8&w2YFp=KGL&5K86c+mv&K;wQ`jK35i;QKFqpa`v=KtpE#1-l&x zwORc%sqHHR7c~j0qx`XEVWxcM{EMRWMzIT0A-Xjj5r+kXcGHdF$_TiR#>=+;EO?vt ziWh^=ys?mjyfK6|ETGH0%zh@dcxb%zJAy5;snrDGfBar zqy1^V75)~x%EX~vv6Hx?-au<|D%QW)<`Kpmf`74sggL*dXU;6f2O*xK{q-%>w&#|K4J0|TZIK&^xlh#d&65xLfdM0b`4%M zI-s8z5jzs}&ii*bsaRIW6y+$Lu53ozBBynw2+2B)X_qYgflgw!xsx11wBKKn@n{K& z*{MC&8~5J=?b6I@t(0bg{$4uyh4 zwRKei#%}!Po;(B*-`mf3vDp|Tqs*xwCsb*}z`U!7dsgysI4_Q5%nA%JN(|<|7)`N% zpEF?@zNq~FD7E4yS}wKI2X%tEy^sVUfki>x zpl+A;xJjrL?$PGhed> zis}x@0{nT3cPNT(qlR6fL`8@?#@OL5hky|2Vyzl_|(q zF4M&or43oEzLlK2`!2IFOPmu`JSr+2D@W>MM!xn5n_Gx&TSi@)EI#X$GKq-RYYxWZ zu?}CV2JjV0=|1<3^+N-72@{##IULTdK!T`C6}0*9sqGJL&Mx+AC0VcJjlzP)6SK|! zH{^%!_enljbuGgumy_R~e3d+#xUoWn)}>OCIzMw^0Vv;Nmk!5!+f2@izm8Y7cC0bRjk)-yab0rP*_lpiU3r+D6VRqORss?}s^U~Q+<7!|oKZVWVCZ`s8z z60N|CQCP(6wp0#7^zo!1bmA<8sX{JvN{hcK1m=`OL3U`mu_}DOiFtw-vY^-!@&sRg zUWNHaDooXgbg`wY-@)H(SIUb{LaIw2K*54jwqci~t8udHYfC>7%avfLHxcXRAYZDO z>=b@6_+x;1n&Kzdiubl|EGXY5aj36q*(c$%-DzyD%#Q{g!r(X62M{${ zm%_aywOCJ|ApekBezh=PLvT14k1M*IY1^fH^7eZeBY_&z%S#5%f)+3M`*E)=Ruyv0ctNH1AJ!STH!V?)Tjs~ zgJar)J@6ZPA-_<86;iU~{*KIiOwUv!#&p6co}f@LG88j&!;|4$IA(A^+HzdG|18os zoATU+pfH`1^^oEPcbEv}1fYO0_*JPr#Y<+i5UEqqy{*ZhPK6CGEcphNA%73(EfVjh9MoaFA&pi&=)h0 zQ|6Dmiv7SgF{3YsoM(W*jcBD)X|I13M)nwzGt1(@!v~>|K892&bQJ#KQj5LYI+_F}B6iDKSj@OLrFl zV*R!z#GY<}40#GBOZ2n_q~aqzGGo3`Mezk-d@rnTqDn`1#2*|?sLU36j{E1ux20}} zi3D)g9_;<}FZ%EK6W8js!`!a#_&!F^R0kz$?}!N^Gj!<=n+*MqHitJ=p9@9{M=FTv zM$qkM3rjM%e9cIG$jav*aqAQh*?olfo;U3KzBF8z_`vQe?E^^0AVwYNLmyCBnYv!0 z;S)B6VIJ8T!oEZ_76bNii}v99rmm?0xHCBHi4o0lM*}`)3lPo_WJEt6P+uADOn<}u zibQZ$>TOG>OPiBTTw-*=(M;jRrXb1^D#Ks{b*&{fuY$~OmYaJ%EXQv>tIOpx$tDzr zRBd+e;hA(UQcJ(tN2Q5v`8A3rbZivn=nbULlB`2JdM_|4F!e#jkoD09dkhgVjq@gx;(yS|I^4F>q%2=%;b^R+3I5y zN&C3sqY0%sL9r*p_a@NDZ1Jwo6OJVHzxLWtrPd4uCC|mR*^+M)Z-1gL1kVv9L6)Mx z%Ur8YCNmMh&n|8v<6V@XkOZ}dpu$lRsYp`ITz5AH9!nFCxKo~uF;rCQ2>MN zj+BYC_zQa$hW_O%8pG(AWFY_!Sh4#T_w;==B+mOWM(NqR0 zI_#AA=ikD{AUUQT0cyn5fBW$(Ihd%H4@km<=dA3Kl=3OJSS|poRq-e=(d=`3_w7#EqI1n1Vx&P zuRWvR`ghhD)A9;XJ1y*61p577okEi*(W?;;1uuq<**u2X86~j&9Rd}enJuWEO>S?8 z)t@>h>mc@t@U2?Es1q9e2|sl-E+l$I(D*=tH zqpG%JwRi3^F9$r5`(ca8TKNU%X~=5VyPp93`H^JO2C6YBgS49aZITQof7k!dxJ=7t z7mmWT?JIE+k%`%Y867!ulgX;xsHPmIg}5254$VenbRb-y1#OC3OnyU-CFHYNw;j=W z7{q0MFjAw1{3sd8r@rs&%5F2odY?QN5!XMDt>cwwlZY>ZK-xKq601ss*gFAaqq$E= z+uUeAq;sMbO4qvg!=zJr$)2!S_#K@_y^$_3QdL1Vq>vg%t=-=Z-_cMFfnfDf(#X5r6=WL zDEShpsS874ntUql*?XXy>6XkR^Bp^nLe>3Lp}8|h#J>{zf&Se z#4)BH0pT&&XLbMLc(3UrmGoh&8FYIIA&OB2vhdM&~d)=_U=bQPbw83Ifh^97JJ{$Y1`WB11ra%Yw_W_N zELKsquwB2e8I(WYq6Ult+ss=sf(Hn?pkur58h;{lW|t!;@Yv7VtSO;POzT!)Bz|v3 z24~QWE{q0HfNexE!IFZ_QKSgv(W+NOUMx1bEAcp2Ea$8={Gu=;CH(42>yQ0kCtX*R zX-IKr=Ytyqe4b&QUQdIOXzG~rLkC5AR9@)`Eo>`Q{As4Sm6;$SmnZ1_TBm0Z%}m2& zaeh(g5BLCtYei!X!=hVJ@qV1344V}Ge;oA*9^}(rap|uPI44ev=!q(#v z_jT~d=#+(|QWMDtA^jg;@!Xy%T~Wk9gwyx}5EwC@0Q&pgNvn?kjQXGwp8$m?B%-fmn=; zrkRRYy+{6xKnjl-GP$KUG z*I1*xe{;V&y<_JQe&nISH5>>-MWgTa6XEgu+HQOEr9WEZ5#77v$I#rW5%zBLSyx(e zL5A}!5+EQ*^NBUo?EnY#DQkn3TM(8~;VHA2lK^7^1eysi__fVvpGgeE9K0R+dTXEi z2TD6Yf7NGkqDRd$-fx|<0B!@cax+cK=BIy3S>{RPs5Uu?PQApRK1cT&e_u{Lf{0bO z(A-BbPUAUyp)Avy??&%vDwnv?{v*bcjnr8A&2~$gp66zx)xr#$TnRdAOF8U1t}D~^ zf*h((Cy#5_>%djL$jCEGxY0@(c(Wya^v$}xHK$W+6>z)=y3^@;T~sNxnjIyYmjLLs zoU=-l=fw88$@%{iU@Rj&zt}`0iLU}hPS}uFAo}MQ3$WioUMIvqU_a96w35j|&k-+^ z{#OK-KjDFwATc|p7#HaF-X_KoRdJPqsoq{2Y3B#JdNf`A*q$a8foio_;=}lkrbk>C zK=c#oFk%8%_GHq1m$k|L%;_ivzj^u#azqd!@_EOc328I^bj2F5Bn?f=#HZ4RL1}~& zdRq63LagNPw0;__VRP36#;88i&k>O)l!&d$v!PUbR`h&`a)?`(^9AQ`N#qB8=4-Rp zcXT<^5DBN9*uG;hSom^I(nIm_R)#djR|MkTZXQTc+sZ`*cCbRi`CrO?iK04Q>OvC$J@&<-zdNjpsXJ&3d30~Q=x6ZGc|4nhd zzYzBmoJ-R=4$mFHRelPIV zM9NQ7C$2@dX#AN59<1TGX7i_`M|UY5dw|jMV>CbNaI1y!uJ^Mo!r<#`S)S>?NqgJi zaLgvm-Y62f=h73EJim>*bg~JC-}va3pM@ikBjqgjAT_d=m)pg@*BL$f7sn`71Q^$p zD#@f#|91bh!`xL{`h~<>*VG$Yh73$Bmg({C%PYY}(^4!L&He*>z5Gow7`r*z2an^Z zjr+9Y8D!6XU5vk5%q032(OqLG&hd*e)7$rY^C6J!25n7&%p40{iPommQMxeqCC01L z)%4i|3D88%>A#ap6Zi%CI>OgimTnfq|JT!B`NNFY5jpB)@D7Q�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 Date: Tue, 7 Jan 2025 16:55:59 -0800 Subject: [PATCH 02/21] add logo --- src/docs/about.md | 7 +++---- src/docs/images/NMDC_logo.png | Bin 0 -> 24722 bytes 2 files changed, 3 insertions(+), 4 deletions(-) create mode 100644 src/docs/images/NMDC_logo.png diff --git a/src/docs/about.md b/src/docs/about.md index 6456d89b4b..4a737e573e 100644 --- a/src/docs/about.md +++ b/src/docs/about.md @@ -1,16 +1,15 @@ ## National Microbiome Data Collaborative (NMDC) Schema Documentation +![NMDC_logo.png](images/NMDC_logo.png) + The NMDC Schema is a foundational framework designed to standardize metadata for the National Microbiome Data Collaborative (NMDC), ensuring that microbiome data from diverse fields can be seamlessly integrated and utilized. By establishing a structured approach to metadata, the NMDC Schema enables researchers to organize, share, and interpret complex datasets with consistency and clarity. The NMDC Schema is critical substrate used to facilitate interoperability and collaboration, as it provide a common language for data exchange across systems and disciplines. In the context of the NMDC, this schema supports the integration of microbiome data from medicine, agriculture, -bioenergy, and environmental science into a cohesive platform. Such an approach enhances data accessibility and -usability, fostering discovery and innovation in microbiome research. By harmonizing diverse datasets, the NMDC Schema -unlocks new possibilities for addressing pressing scientific and practical challenges through microbiome data science. +bioenergy, and environmental science into a cohesive platform. -The NMDC schema is used during the translation process to specify how metadata elements are related. ### Funding: The work conducted by the National Microbiome Data Collaborative (https://ror.org/05cwx3318) is supported by the diff --git a/src/docs/images/NMDC_logo.png b/src/docs/images/NMDC_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..a7cbba18ecca6f3a65fedc1a83e37a11ff8bb0d3 GIT binary patch literal 24722 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 Date: Tue, 7 Jan 2025 16:58:46 -0800 Subject: [PATCH 03/21] add logos and funding --- src/docs/about.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/docs/about.md b/src/docs/about.md index 4a737e573e..371376f623 100644 --- a/src/docs/about.md +++ b/src/docs/about.md @@ -11,7 +11,7 @@ In the context of the NMDC, this schema supports the integration of microbiome d bioenergy, and environmental science into a cohesive platform. -### Funding: +#### Funding: The work conducted by the National Microbiome Data Collaborative (https://ror.org/05cwx3318) is supported by the Genomic Science Program in the U.S. Department of Energy, Office of Science, Office of Biological and Environmental Research (BER) under contract numbers DE-AC02-05CH11231 (LBNL), 89233218CNA000001 (LANL), and DE-AC05-76RL01830 (PNNL). @@ -20,13 +20,13 @@ Research (BER) under contract numbers DE-AC02-05CH11231 (LBNL), 89233218CNA00000 This project was made using the [LinkML framework](https://github.com/biolink/biolinkml) -### Citing NMDC Schema: +#### Citing NMDC: -Microbiome Data Coordination Center. (n.d.). NMDC schema. GitHub. from https://github.com/microbiomedata/nmdc-schema +###### Schema -### How to cite the NMDC: +Microbiome Data Coordination Center. (n.d.). NMDC schema. GitHub. from https://github.com/microbiomedata/nmdc-schema -##### Data Portal +###### Data Portal Eloe-Fadrosh EA, Ahmed F, Anubhav, Babinski M, Baumes J, Borkum M, Bramer L, Canon S, Christianson DS, Corilo YE, Davenport KW, Davis B, Drake M, Duncan WD, Flynn MC, Hays D, Hu B, Huntemann M, Kelliher J, Lebedeva S, Li PE, Lipton M, Lo CC, Martin S, Millard D, Miller K, Miller MA, Piehowski P, Jackson EP, Purvine S, Reddy TBK, @@ -35,13 +35,13 @@ Wood-Charlson EM, Xu Y, Chain PSG, McCue LA, Mans D, Mungall CJ, Mouncey NJ, Fag The National Microbiome Data Collaborative Data Portal: an integrated multi-omics microbiome data resource. Nucleic Acids Res. 2022 January 7;60(D1):D828–D836. doi: 10.1093/nar/gkab990. -#### Ambassador Program +###### Ambassador Program Kelliher, JM, Rudolph M, Vangay P, Abbas A, Borton MA, Davenport ER, Davenport KW, Erazo NG, Herman C, Karstens L, Kocurek D, Lutz HL, Myers KS, Ockert I, Rodriguez FE, Santistevan C, Saunders JK, Smith ML, Vogtmann E, Windsor A, Wood-Charlson EM, Woodley L, Eloe-Fadrosh EA. Cohort-based learning for microbiome research community standards. Nature Microbiology. 2023 April 17. doi:10.1038/s41564-023-01361-7. -#### Program Launch +###### Program Launch E. M. Wood-Charlson, Anubhav, D. Auberry, H. Blanco, M. I. Borkum, Y. E. Corilo, K. W. Davenport, S. Deshpande, R. Devarakonda, M. Drake, W. D. Duncan, M. C. Flynn, D. Hays, B. Hu, M. Huntemann, P.-E. Li, M. Lipton, C.-C. Lo, D. Millard, K. Miller, P. D. Piehowski, S. Purvine, T. B. K. Reddy, M. Shakya, J. C. Sundaramurthi, P. Vangay, From 9da164e60e00da7d87b1362bd9ce2c8459b2988a Mon Sep 17 00:00:00 2001 From: Sierra Taylor Moxon Date: Tue, 7 Jan 2025 17:14:22 -0800 Subject: [PATCH 04/21] more changes to splash page/front page of nmdc schema --- mkdocs.yml | 3 ++- src/doc-templates/index.md.jinja2 | 4 +++- src/schema/nmdc.yaml | 26 ++++++++++++++++++-------- 3 files changed, 23 insertions(+), 10 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index c70eb6534c..dbafcc45ba 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -6,6 +6,7 @@ theme: # primary: cyan features: - content.tabs.link + logo: images/nmdc-logo.png plugins: - search - mermaid2: @@ -22,7 +23,7 @@ extra_javascript: - javascripts/tablesort.js nav: # Reference: https://www.mkdocs.org/user-guide/configuration/#nav - - NMDC Schema: index.md + - Overview: index.md - About: about.md - How to run a collaborative data modeling project: https://linkml.io/linkml/howtos/collaborative-development.html - Identifiers in NMDC: identifiers.md diff --git a/src/doc-templates/index.md.jinja2 b/src/doc-templates/index.md.jinja2 index 86a1a13ef9..54d02bb180 100644 --- a/src/doc-templates/index.md.jinja2 +++ b/src/doc-templates/index.md.jinja2 @@ -1,4 +1,6 @@ -# {{ schema.name }} +## National Microbiome Data Collaborative (NMDC) Schema Documentation + +![NMDC_logo.png](images/NMDC_logo.png) {{ schema.description }} diff --git a/src/schema/nmdc.yaml b/src/schema/nmdc.yaml index 3df0348b96..c6a22d90c5 100644 --- a/src/schema/nmdc.yaml +++ b/src/schema/nmdc.yaml @@ -4,14 +4,24 @@ title: NMDC Schema notes: - not importing any MIxS terms where the relationship between the name (SCN) and the id isn't 1:1 description: >- - Schema for National Microbiome Data Collaborative (NMDC). - - This schema is organized into multiple modules, such as: - - * a set of core types for representing data values - * a subset of the mixs schema - * an annotation schema - * the NMDC schema itself, into which the other modules are imported + The NMDC Schema is a foundational framework designed to standardize metadata for the National Microbiome Data + Collaborative (NMDC), ensuring that microbiome data from diverse fields can be seamlessly integrated and + utilized. By establishing a structured approach to metadata, the NMDC Schema enables researchers to organize, + share, and interpret complex datasets with consistency and clarity. The NMDC Schema is critical substrate used to facilitate + interoperability and collaboration, as it provide a common language for data exchange across systems and disciplines. + In the context of the NMDC, this schema supports the integration of microbiome data from medicine, agriculture, + bioenergy, and environmental science into a cohesive platform. + + This schema is organized into three key modules: + + * A core set of elements for representing data values represented in LinkML format (https://w3id.org/linkml/) consisting + of a set classes, slots, types, and enumerations that are used to define the structure of the NMDC schema. + + * A subset of the MIxS schema developed by the Genomic Standards Consortium, that is used to describe the + environmental context of samples. + + * An annotation schema that provides a mechanism for annotating data with additional information, such as provenance, + quality, and other metadata that is not part of the core data model. license: https://creativecommons.org/publicdomain/zero/1.0/ version: 0.0.0 From eeca827ee66eac4501d6fb1669407773041d6800 Mon Sep 17 00:00:00 2001 From: Sierra Taylor Moxon Date: Tue, 7 Jan 2025 17:23:14 -0800 Subject: [PATCH 05/21] more changes to splash page/front page of nmdc schema --- mkdocs.yml | 2 +- src/doc-templates/index.md.jinja2 | 15 ++++++++++++--- src/schema/nmdc.yaml | 14 +------------- 3 files changed, 14 insertions(+), 17 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index dbafcc45ba..2d56b421f6 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -6,7 +6,7 @@ theme: # primary: cyan features: - content.tabs.link - logo: images/nmdc-logo.png + logo: NMDC_logo.png plugins: - search - mermaid2: diff --git a/src/doc-templates/index.md.jinja2 b/src/doc-templates/index.md.jinja2 index 54d02bb180..eaf444f274 100644 --- a/src/doc-templates/index.md.jinja2 +++ b/src/doc-templates/index.md.jinja2 @@ -1,9 +1,18 @@ -## National Microbiome Data Collaborative (NMDC) Schema Documentation - -![NMDC_logo.png](images/NMDC_logo.png) +National Microbiome Data Collaborative Schema Documentation ![NMDC_logo.png](images/NMDC_logo.png) {{ schema.description }} +This schema is organized into three key modules: + +* A core set of elements for representing data values represented in LinkML format (https://w3id.org/linkml/) consisting +of a set classes, slots, types, and enumerations that are used to define the structure of the NMDC schema. + +* A subset of the MIxS schema developed by the Genomic Standards Consortium, that is used to describe the +environmental context of samples. + +* An annotation schema that provides a mechanism for annotating data with additional information, such as provenance, +quality, and other metadata that is not part of the core data model. + URI: {{ schema.id }} diff --git a/src/schema/nmdc.yaml b/src/schema/nmdc.yaml index c6a22d90c5..66087fa304 100644 --- a/src/schema/nmdc.yaml +++ b/src/schema/nmdc.yaml @@ -10,19 +10,7 @@ description: >- share, and interpret complex datasets with consistency and clarity. The NMDC Schema is critical substrate used to facilitate interoperability and collaboration, as it provide a common language for data exchange across systems and disciplines. In the context of the NMDC, this schema supports the integration of microbiome data from medicine, agriculture, - bioenergy, and environmental science into a cohesive platform. - - This schema is organized into three key modules: - - * A core set of elements for representing data values represented in LinkML format (https://w3id.org/linkml/) consisting - of a set classes, slots, types, and enumerations that are used to define the structure of the NMDC schema. - - * A subset of the MIxS schema developed by the Genomic Standards Consortium, that is used to describe the - environmental context of samples. - - * An annotation schema that provides a mechanism for annotating data with additional information, such as provenance, - quality, and other metadata that is not part of the core data model. - + bioenergy, and environmental science into a cohesive platform. license: https://creativecommons.org/publicdomain/zero/1.0/ version: 0.0.0 From 799a77b2bf966dd4d9f11510765b57ac253fb14e Mon Sep 17 00:00:00 2001 From: Sierra Taylor Moxon Date: Tue, 7 Jan 2025 17:32:17 -0800 Subject: [PATCH 06/21] more changes to splash page/front page of nmdc schema --- mkdocs.yml | 2 +- src/doc-templates/index.md.jinja2 | 4 +++- src/schema/nmdc.yaml | 3 +-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index 2d56b421f6..36c2cc6b2f 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -6,7 +6,7 @@ theme: # primary: cyan features: - content.tabs.link - logo: NMDC_logo.png + logo: images/NMDC_logo.png plugins: - search - mermaid2: diff --git a/src/doc-templates/index.md.jinja2 b/src/doc-templates/index.md.jinja2 index eaf444f274..e30355138e 100644 --- a/src/doc-templates/index.md.jinja2 +++ b/src/doc-templates/index.md.jinja2 @@ -1,4 +1,6 @@ -National Microbiome Data Collaborative Schema Documentation ![NMDC_logo.png](images/NMDC_logo.png) +# {{ schema.name }}: National Microbiome Data Collaborative Schema Documentation + +![NMDC_logo.png](images/NMDC_logo.png) {{ schema.description }} diff --git a/src/schema/nmdc.yaml b/src/schema/nmdc.yaml index 66087fa304..3b94fbc2a3 100644 --- a/src/schema/nmdc.yaml +++ b/src/schema/nmdc.yaml @@ -5,8 +5,7 @@ notes: - not importing any MIxS terms where the relationship between the name (SCN) and the id isn't 1:1 description: >- The NMDC Schema is a foundational framework designed to standardize metadata for the National Microbiome Data - Collaborative (NMDC), ensuring that microbiome data from diverse fields can be seamlessly integrated and - utilized. By establishing a structured approach to metadata, the NMDC Schema enables researchers to organize, + Collaborative (NMDC) and collaborating data providors. By establishing a structured approach to metadata, the NMDC Schema enables researchers to organize, share, and interpret complex datasets with consistency and clarity. The NMDC Schema is critical substrate used to facilitate interoperability and collaboration, as it provide a common language for data exchange across systems and disciplines. In the context of the NMDC, this schema supports the integration of microbiome data from medicine, agriculture, From bd887f812e65abac9f998f72c1a1c30754ed5a1d Mon Sep 17 00:00:00 2001 From: Sierra Taylor Moxon Date: Tue, 7 Jan 2025 17:41:51 -0800 Subject: [PATCH 07/21] more changes to splash page/front page of nmdc schema --- mkdocs.yml | 1 + src/doc-templates/index.md.jinja2 | 2 +- src/docs/about.md | 4 +--- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index 36c2cc6b2f..4cb71fd7b8 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -6,6 +6,7 @@ theme: # primary: cyan features: - content.tabs.link + - hide_page_title logo: images/NMDC_logo.png plugins: - search diff --git a/src/doc-templates/index.md.jinja2 b/src/doc-templates/index.md.jinja2 index e30355138e..3ab7ec6ce4 100644 --- a/src/doc-templates/index.md.jinja2 +++ b/src/doc-templates/index.md.jinja2 @@ -1,4 +1,4 @@ -# {{ schema.name }}: National Microbiome Data Collaborative Schema Documentation +# ![NMDC_logo.png](images/NMDC_logo.png) {{ schema.name }}: National Microbiome Data Collaborative Schema Documentation ![NMDC_logo.png](images/NMDC_logo.png) diff --git a/src/docs/about.md b/src/docs/about.md index 371376f623..f8ba1094c7 100644 --- a/src/docs/about.md +++ b/src/docs/about.md @@ -1,6 +1,4 @@ -## National Microbiome Data Collaborative (NMDC) Schema Documentation - -![NMDC_logo.png](images/NMDC_logo.png) +# ![NMDC_logo.png](images/NMDC_logo.png) The NMDC Schema is a foundational framework designed to standardize metadata for the National Microbiome Data Collaborative (NMDC), ensuring that microbiome data from diverse fields can be seamlessly integrated and From 7b92b64f3566b0804334e20902a85ee30942e5ff Mon Sep 17 00:00:00 2001 From: Sierra Taylor Moxon Date: Tue, 7 Jan 2025 18:17:45 -0800 Subject: [PATCH 08/21] add favicon.ico --- mkdocs.yml | 19 ++++++------ src/doc-templates/index.md.jinja2 | 5 ++-- src/docs/about.md | 9 ------ src/docs/collaboration.md | 30 +++++++++++++++++++ src/docs/developer-docs.md | 14 +++++++++ src/docs/identifiers.md | 2 ++ src/docs/images/favicon.ico | Bin 0 -> 15086 bytes src/docs/migrations.md | 6 ++++ src/docs/prefixes_curies_ids_mappings_etc.md | 5 ---- 9 files changed, 64 insertions(+), 26 deletions(-) create mode 100644 src/docs/collaboration.md create mode 100644 src/docs/developer-docs.md create mode 100644 src/docs/images/favicon.ico create mode 100644 src/docs/migrations.md diff --git a/mkdocs.yml b/mkdocs.yml index 4cb71fd7b8..078cda0983 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -8,6 +8,8 @@ theme: - content.tabs.link - hide_page_title logo: images/NMDC_logo.png +extra: + favicon: images/favicon.ico plugins: - search - mermaid2: @@ -25,18 +27,17 @@ extra_javascript: nav: # Reference: https://www.mkdocs.org/user-guide/configuration/#nav - Overview: index.md - - About: about.md - - How to run a collaborative data modeling project: https://linkml.io/linkml/howtos/collaborative-development.html - - Identifiers in NMDC: identifiers.md - - Identifiers, CURIes, Prefixes, etc.: prefixes_curies_ids_mappings_etc.md - - NMDC Metadata Standards Documentation: Metadata_Documentation_Overview.md - - NMDC Schema Contributors How-to from Schema Hackathon 2023-12-10: https://docs.google.com/presentation/d/1ZH41QAoESUwAkdHyUxlrmSKS5M-bT0TOulBgX4rBx2A/edit#slide=id.g26390794265_0_693 - - NMDC Schema Validation: schema-validation.md + - Funding: about.md + - Contributing: collaboration.md + - Metadata Standards Documentation: Metadata_Documentation_Overview.md + - Maintaining the NMDC Schema: prefixes_curies_ids_mappings_etc.md - Schema element deprecation guide: schema_element_deprecation_guide.md - - v10 vs v11 (Berkeley schema) retrospective: v10-vs-v11-retrospective.md + - NMDC Schema Validation: schema-validation.md + - Identifiers: identifiers.md + - Version Migration Guides: migrations.md - Visualizations: visualizations.md - Data Validation: validation.md - - SchemaView: schemaview.md + - Developer Docs: developer-docs.md site_url: https://microbiomedata.github.io/nmdc-schema diff --git a/src/doc-templates/index.md.jinja2 b/src/doc-templates/index.md.jinja2 index 3ab7ec6ce4..0083408fbd 100644 --- a/src/doc-templates/index.md.jinja2 +++ b/src/doc-templates/index.md.jinja2 @@ -1,6 +1,5 @@ -# ![NMDC_logo.png](images/NMDC_logo.png) {{ schema.name }}: National Microbiome Data Collaborative Schema Documentation - -![NMDC_logo.png](images/NMDC_logo.png) +# ![NMDC_logo.png](images/NMDC_logo.png) +# National Microbiome Data Collaborative Schema Documentation {{ schema.description }} diff --git a/src/docs/about.md b/src/docs/about.md index f8ba1094c7..19b54caf35 100644 --- a/src/docs/about.md +++ b/src/docs/about.md @@ -1,14 +1,5 @@ # ![NMDC_logo.png](images/NMDC_logo.png) -The NMDC Schema is a foundational framework designed to standardize metadata for the National Microbiome Data -Collaborative (NMDC), ensuring that microbiome data from diverse fields can be seamlessly integrated and -utilized. By establishing a structured approach to metadata, the NMDC Schema enables researchers to organize, -share, and interpret complex datasets with consistency and clarity. The NMDC Schema is critical substrate used to facilitate -interoperability and collaboration, as it provide a common language for data exchange across systems and disciplines. -In the context of the NMDC, this schema supports the integration of microbiome data from medicine, agriculture, -bioenergy, and environmental science into a cohesive platform. - - #### Funding: The work conducted by the National Microbiome Data Collaborative (https://ror.org/05cwx3318) is supported by the Genomic Science Program in the U.S. Department of Energy, Office of Science, Office of Biological and Environmental diff --git a/src/docs/collaboration.md b/src/docs/collaboration.md new file mode 100644 index 0000000000..b9608b4869 --- /dev/null +++ b/src/docs/collaboration.md @@ -0,0 +1,30 @@ +# Collaborating on NMDC Schema + +NMDC Schema is a collaborative, multidisciplinary project that seeks to harmonize data across the microbiome research +community. We welcome any and all kinds of contributions. Our goal is to make it easy for you to contribute to the +project, and to make sure that your contributions are properly reviewed and integrated. + +## How can I contribute? + +We welcome any and all kinds of contribution, including: + + * bug fixes and code contributions + * ideas for new features + * testing + * documentation improvements + * stlyistic improvements + * general suggestions on how we can do better + +## How do I do X? Why doesn’t Y work? Where can I go to get help? + +First, please check if your question is answered on the FAQ. + +We always welcome questions, bug reports, feature requests, and feedback via our GitHub issue tracker: + + * [https://github.com/microbiomedata/nmdc-schema/issues](https://github.com/microbiomedata/nmdc-schema/issues) + +## How do I run a collaborative schema project? + +Please check some guidelines from LinkML Schema Developers: [https://linkml.io/linkml/howtos/collaborative-development.html](https://linkml.io/linkml/howtos/collaborative-development.html) + +Consult NMDC Schema Contribution guidelines directly: [GoogleSlides](https://docs.google.com/presentation/d/1ZH41QAoESUwAkdHyUxlrmSKS5M-bT0TOulBgX4rBx2A/edit#slide=id.g26390794265_0_693) \ No newline at end of file diff --git a/src/docs/developer-docs.md b/src/docs/developer-docs.md new file mode 100644 index 0000000000..2440dee958 --- /dev/null +++ b/src/docs/developer-docs.md @@ -0,0 +1,14 @@ +# Schema Developer FAQs + +* What are some effective strategies for collaborative schema development? + +[LinkML Collaborative Development](https://linkml.io/linkml/howtos/collaborative-development.html) +[Google Slides Presentation](https://docs.google.com/presentation/d/1ZH41QAoESUwAkdHyUxlrmSKS5M-bT0TOulBgX4rBx2A/edit#slide=id.g26390794265_0_693) + +* How do I migrate from one version of the NMDC schema to another? +[Version 10 to 11 migration](v10-vs-v11-retrospective.md) + +* How do I view the NMDC schema programmatically? + +[NMDC SchemaView Documentation](schemaview.md) +[SchemaView Documentation](https://linkml.github.io/linkml/schemaview.html) diff --git a/src/docs/identifiers.md b/src/docs/identifiers.md index 81c380240f..6d2346f3fb 100644 --- a/src/docs/identifiers.md +++ b/src/docs/identifiers.md @@ -274,3 +274,5 @@ We produce a JSON-LD context with the schema: * [jsonschema/nmdc.context.jsonld](https://github.com/microbiomedata/nmdc-schema/blob/main/project/jsonschema/nmdc.schema.json) When this is combined with schema-conformant JSON, RDF can be automatically created using the intended URIs + +Please also see: [Maintaining identifiers](prefixes_curies_ids_mappings_etc.md)] for more information. \ No newline at end of file diff --git a/src/docs/images/favicon.ico b/src/docs/images/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..dff6056f675c564167696b0b5e400b14a2c780c4 GIT binary patch literal 15086 zcmeHOd013Ow(k}<7DYq^L|Fu6-*-^r9%xw;qDGBzn@OT(G*M9mq*)Tf35$YgSvnJhS1hSF8`k*7=+DU-=uUA50cWU`BRHv}dB{&-)R>{)!^jc-szHV?$_ z#pR(X{{Qd4Zx6JbRrUdSwVW$h(D?nlLe(~l!m7>kN2|8*L-tS!k z(*n>6pV$F=I{#LR z@p3eUJIy=EENrC0&)-q8*w<0<63Q1tM=BnhIC|QcqWH8vrs@H=H>j!?_?x(`Yd`%p zu;I{*I?PRiouS6Va|rVQIPSZVX4j2*qH};fh>W zyTr?*Y!ll@+9nc{^RUErkKu`xkYnXTzDY)H0C0zc8he4iU5nqh@$l>#)yI}py<;df z9b2ryepZPR#Imp)KRgb4g6}Kw&czV_7{?TIS3AWkz}+U{HY{C+CEf~hQatl`Xi6s= z0Ng>Kx?bSF#Td}f9>8>^>FA$<9rz^7Vhn&E*z5L=C)ge6k|ouB6Mw$tOwI^H{H}J> z<^u0;hL{bXF*eO1PKu;X^)>dsx)=CcH29S+z|4Ir`nu`Z63pGn)Ntrw$bxxr;we&X zx4CPJw)8t!{n?1&`uu14Cy(;9R~$FQYU;Glai0y+Zv(j9L6>`hUoG&TD;NR% z7X;SRYpG_ZyVllNP~(vWVjk;kDb@qk_Q5CByCa55yy?|B@&!T3MPuw01$xcdyGLofkKmj-iPzMdVI8uNHaO4VpP&0OsoJAacvE+b}BSipW(H(et!aVXOgtuVm{jn{gLJ{j}hj>!R8aot+=i-F4d}F zZ0fdU;VA_B(zE^_dOx|2T0jxW6%?J(@O<=xb!OZaaNC1Qdx8Hv*Q?(*)u#3f@8dPQ z+%+}^_ENRoS}TK`>JKF8>}k`9<)khS-mlu)PuM`irD0sqN?t8}1^kr;nowf6`DjQ%w z*$ez97(dq8LC}dqV!hJZPM)`_tphbCQkNIkaxp|QHZaNtl>n=~-Jg)uHSJgLm0|Du9vV&WqIhM>NwXT)uCSC zKg9T}wwPH!C-ÐWC2E0I$Ri^d{7^|bk8!( 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 literal 0 HcmV?d00001 diff --git a/src/docs/migrations.md b/src/docs/migrations.md new file mode 100644 index 0000000000..0aee7cd0da --- /dev/null +++ b/src/docs/migrations.md @@ -0,0 +1,6 @@ +# NMDC Schema Migration Guides + +This document provides guidance on how to migrate from one version of the NMDC schema to another. + +* [Version 10 to 11 migration](v10-vs-v11-retrospective.md) + diff --git a/src/docs/prefixes_curies_ids_mappings_etc.md b/src/docs/prefixes_curies_ids_mappings_etc.md index 6b0f7835f6..ac17fcfced 100644 --- a/src/docs/prefixes_curies_ids_mappings_etc.md +++ b/src/docs/prefixes_curies_ids_mappings_etc.md @@ -1,8 +1,3 @@ -# Notes about prefixes, CURIEs, identifiers and mappings: -## An NMDC and LinkML perspective - -# First Draft: 2023-09-18 - ## The nmdc-schema is a framework for describing multi-omics microbiome experiments. - What samples were included? From 69a057833d2af89f2349f257b4cb026e206f93b5 Mon Sep 17 00:00:00 2001 From: Sierra Taylor Moxon Date: Tue, 7 Jan 2025 18:22:50 -0800 Subject: [PATCH 09/21] update pages to reflect header changes --- src/docs/Metadata_Documentation_Overview.md | 1 - src/docs/about.md | 14 ++++++-------- src/docs/prefixes_curies_ids_mappings_etc.md | 5 ++++- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/docs/Metadata_Documentation_Overview.md b/src/docs/Metadata_Documentation_Overview.md index 867f356c6c..557e41f38b 100644 --- a/src/docs/Metadata_Documentation_Overview.md +++ b/src/docs/Metadata_Documentation_Overview.md @@ -1,5 +1,4 @@ # The NMDC Metadata Standards Documentation -# Introduction This documentation provides details on the National Microbiome Data Collaborative’s ([NMDC](http://microbiomedata.org)) approach to diff --git a/src/docs/about.md b/src/docs/about.md index 19b54caf35..95724a12ca 100644 --- a/src/docs/about.md +++ b/src/docs/about.md @@ -1,6 +1,4 @@ -# ![NMDC_logo.png](images/NMDC_logo.png) - -#### Funding: +# Funding: The work conducted by the National Microbiome Data Collaborative (https://ror.org/05cwx3318) is supported by the Genomic Science Program in the U.S. Department of Energy, Office of Science, Office of Biological and Environmental Research (BER) under contract numbers DE-AC02-05CH11231 (LBNL), 89233218CNA000001 (LANL), and DE-AC05-76RL01830 (PNNL). @@ -9,13 +7,13 @@ Research (BER) under contract numbers DE-AC02-05CH11231 (LBNL), 89233218CNA00000 This project was made using the [LinkML framework](https://github.com/biolink/biolinkml) -#### Citing NMDC: +## Citing NMDC: -###### Schema +### Schema Microbiome Data Coordination Center. (n.d.). NMDC schema. GitHub. from https://github.com/microbiomedata/nmdc-schema -###### Data Portal +### Data Portal Eloe-Fadrosh EA, Ahmed F, Anubhav, Babinski M, Baumes J, Borkum M, Bramer L, Canon S, Christianson DS, Corilo YE, Davenport KW, Davis B, Drake M, Duncan WD, Flynn MC, Hays D, Hu B, Huntemann M, Kelliher J, Lebedeva S, Li PE, Lipton M, Lo CC, Martin S, Millard D, Miller K, Miller MA, Piehowski P, Jackson EP, Purvine S, Reddy TBK, @@ -24,13 +22,13 @@ Wood-Charlson EM, Xu Y, Chain PSG, McCue LA, Mans D, Mungall CJ, Mouncey NJ, Fag The National Microbiome Data Collaborative Data Portal: an integrated multi-omics microbiome data resource. Nucleic Acids Res. 2022 January 7;60(D1):D828–D836. doi: 10.1093/nar/gkab990. -###### Ambassador Program +### Ambassador Program Kelliher, JM, Rudolph M, Vangay P, Abbas A, Borton MA, Davenport ER, Davenport KW, Erazo NG, Herman C, Karstens L, Kocurek D, Lutz HL, Myers KS, Ockert I, Rodriguez FE, Santistevan C, Saunders JK, Smith ML, Vogtmann E, Windsor A, Wood-Charlson EM, Woodley L, Eloe-Fadrosh EA. Cohort-based learning for microbiome research community standards. Nature Microbiology. 2023 April 17. doi:10.1038/s41564-023-01361-7. -###### Program Launch +### Program Launch E. M. Wood-Charlson, Anubhav, D. Auberry, H. Blanco, M. I. Borkum, Y. E. Corilo, K. W. Davenport, S. Deshpande, R. Devarakonda, M. Drake, W. D. Duncan, M. C. Flynn, D. Hays, B. Hu, M. Huntemann, P.-E. Li, M. Lipton, C.-C. Lo, D. Millard, K. Miller, P. D. Piehowski, S. Purvine, T. B. K. Reddy, M. Shakya, J. C. Sundaramurthi, P. Vangay, diff --git a/src/docs/prefixes_curies_ids_mappings_etc.md b/src/docs/prefixes_curies_ids_mappings_etc.md index ac17fcfced..1cde4edff2 100644 --- a/src/docs/prefixes_curies_ids_mappings_etc.md +++ b/src/docs/prefixes_curies_ids_mappings_etc.md @@ -1,4 +1,7 @@ -## The nmdc-schema is a framework for describing multi-omics microbiome experiments. +# Understanding the nmdc-schema + +The nmdc-schema is a framework for describing multi-omics microbiome experiments and the data they produce. We aim +to answer questions like: - What samples were included? - Where were they gathered? From a67e002895d7c25ddc5e00962cbf08d10ba3d953 Mon Sep 17 00:00:00 2001 From: Sierra Taylor Moxon Date: Tue, 7 Jan 2025 18:26:13 -0800 Subject: [PATCH 10/21] update pages to reflect header changes --- src/docs/about.md | 40 ++++++++++++++++------------------------ 1 file changed, 16 insertions(+), 24 deletions(-) diff --git a/src/docs/about.md b/src/docs/about.md index 95724a12ca..9be4f84140 100644 --- a/src/docs/about.md +++ b/src/docs/about.md @@ -1,37 +1,29 @@ -# Funding: +# NMDC Schema Development Funding: The work conducted by the National Microbiome Data Collaborative (https://ror.org/05cwx3318) is supported by the Genomic Science Program in the U.S. Department of Energy, Office of Science, Office of Biological and Environmental Research (BER) under contract numbers DE-AC02-05CH11231 (LBNL), 89233218CNA000001 (LANL), and DE-AC05-76RL01830 (PNNL). ![DOE_logo.png](images/DOE_logo.png) -This project was made using the [LinkML framework](https://github.com/biolink/biolinkml) +## Framework -## Citing NMDC: +This schema was made using the [LinkML framework](https://github.com/biolink/biolinkml). LinkML is a data modeling language that is used to create data +models in a human-readable format. The LinkML framework is used to generate the schema in multiple formats, +including JSON-LD, YAML, and RDF. + +NMDC uses the LinkML framework to create a schema to be used by researchers, data scientists, and developers to +understand the structure of the data and how it is related. + +## Citing NMDC ### Schema Microbiome Data Coordination Center. (n.d.). NMDC schema. GitHub. from https://github.com/microbiomedata/nmdc-schema -### Data Portal -Eloe-Fadrosh EA, Ahmed F, Anubhav, Babinski M, Baumes J, Borkum M, Bramer L, Canon S, Christianson DS, Corilo YE, -Davenport KW, Davis B, Drake M, Duncan WD, Flynn MC, Hays D, Hu B, Huntemann M, Kelliher J, Lebedeva S, Li PE, -Lipton M, Lo CC, Martin S, Millard D, Miller K, Miller MA, Piehowski P, Jackson EP, Purvine S, Reddy TBK, -Richardson R, Rudolph M, Sarrafan S, Shakya M, Smith M, Stratton K, Sundaramurthi JC, Vangay P, Winston D, -Wood-Charlson EM, Xu Y, Chain PSG, McCue LA, Mans D, Mungall CJ, Mouncey NJ, Fagnan K. -The National Microbiome Data Collaborative Data Portal: an integrated multi-omics microbiome data resource. -Nucleic Acids Res. 2022 January 7;60(D1):D828–D836. doi: 10.1093/nar/gkab990. - -### Ambassador Program -Kelliher, JM, Rudolph M, Vangay P, Abbas A, Borton MA, Davenport ER, Davenport KW, Erazo NG, Herman C, Karstens L, -Kocurek D, Lutz HL, Myers KS, Ockert I, Rodriguez FE, Santistevan C, Saunders JK, Smith ML, Vogtmann E, Windsor A, -Wood-Charlson EM, Woodley L, Eloe-Fadrosh EA. Cohort-based learning for microbiome research community standards. -Nature Microbiology. 2023 April 17. doi:10.1038/s41564-023-01361-7. - ### Program Launch -E. M. Wood-Charlson, Anubhav, D. Auberry, H. Blanco, M. I. Borkum, Y. E. Corilo, K. W. Davenport, S. Deshpande, R. -Devarakonda, M. Drake, W. D. Duncan, M. C. Flynn, D. Hays, B. Hu, M. Huntemann, P.-E. Li, M. Lipton, C.-C. Lo, -D. Millard, K. Miller, P. D. Piehowski, S. Purvine, T. B. K. Reddy, M. Shakya, J. C. Sundaramurthi, P. Vangay, -Y. Wei, B. E. Wilson, S. Canon, P. S. G. Chain, K. Fagnan, S. Martin, L. A. McCue, C. J. Mungall, N. J. Mouncey, -M. E. Maxon, E. A. Eloe-Fadrosh, The National Microbiome Data Collaborative: enabling microbiome science. -Nature Reviews Microbiology 18, 313-314 (2020). doi: 10.1038/s41579-020-0377-0 +E. M. Wood-Charlson, Anubhav, D. Auberry, H. Blanco, M. I. Borkum, Y. E. Corilo, K. W. Davenport, S. Deshpande, +R. Devarakonda, M. Drake, W. D. Duncan, M. C. Flynn, D. Hays, B. Hu, M. Huntemann, P.-E. Li, M. Lipton, C.-C. Lo, +D. Millard, K. Miller, P. D. Piehowski, S. Purvine, T. B. K. Reddy, M. Shakya, J. C. Sundaramurthi, P. Vangay, Y. Wei, +B. E. Wilson, S. Canon, P. S. G. Chain, K. Fagnan, S. Martin, L. A. McCue, C. J. Mungall, N. J. Mouncey, M. E. Maxon, +E. A. Eloe-Fadrosh, The National Microbiome Data Collaborative: enabling microbiome science. Nature Reviews +Microbiology 18, 313-314 (2020). doi: 10.1038/s41579-020-0377-0 \ No newline at end of file From cb3001f3090b2bda5534aa7a43dcdd24beb2ad6d Mon Sep 17 00:00:00 2001 From: Sierra Taylor Moxon Date: Tue, 7 Jan 2025 18:29:05 -0800 Subject: [PATCH 11/21] update pages to reflect header changes --- mkdocs.yml | 2 +- src/docs/about.md | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index 078cda0983..f7c312b5cc 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -27,7 +27,7 @@ extra_javascript: nav: # Reference: https://www.mkdocs.org/user-guide/configuration/#nav - Overview: index.md - - Funding: about.md + - Funding and Acknowledgements: about.md - Contributing: collaboration.md - Metadata Standards Documentation: Metadata_Documentation_Overview.md - Maintaining the NMDC Schema: prefixes_curies_ids_mappings_etc.md diff --git a/src/docs/about.md b/src/docs/about.md index 9be4f84140..c60a323092 100644 --- a/src/docs/about.md +++ b/src/docs/about.md @@ -1,4 +1,5 @@ -# NMDC Schema Development Funding: +# Funding and Acknowledgements + The work conducted by the National Microbiome Data Collaborative (https://ror.org/05cwx3318) is supported by the Genomic Science Program in the U.S. Department of Energy, Office of Science, Office of Biological and Environmental Research (BER) under contract numbers DE-AC02-05CH11231 (LBNL), 89233218CNA000001 (LANL), and DE-AC05-76RL01830 (PNNL). From eb41cb89d3ca94cca66062b688a4ae2d900c8ecc Mon Sep 17 00:00:00 2001 From: Sierra Taylor Moxon Date: Wed, 8 Jan 2025 12:11:07 -0800 Subject: [PATCH 12/21] update naming convention for maintiaikng the schema doc, add tables and formating to identifiers doc --- Makefile | 5 +- mkdocs.yml | 2 +- src/docs/identifiers.md | 125 +++++++++--------- ...pings_etc.md => maintaining-the-schema.md} | 0 4 files changed, 64 insertions(+), 68 deletions(-) rename src/docs/{prefixes_curies_ids_mappings_etc.md => maintaining-the-schema.md} (100%) diff --git a/Makefile b/Makefile index df2372d2e4..ad49a407ad 100644 --- a/Makefile +++ b/Makefile @@ -173,12 +173,11 @@ $(DOCDIR): gendoc: $(DOCDIR) prefixmaps # Copy all documentation files to the documentation directory cp -rf $(SRC)/docs/* $(DOCDIR) - # Added copying of images and renaming of TEMP.md - cp $(SRC)/docs/*md $(DOCDIR) - cp -r $(SRC)/docs/images $(DOCDIR) # Generate documentation using the gen-doc command $(RUN) gen-doc -d $(DOCDIR) --template-directory $(SRC)/$(TEMPLATEDIR) --include src/schema/deprecated.yaml $(SOURCE_SCHEMA_PATH) # Create directory for JavaScript files and copy them + # Added copying of prefixmaps output + cp -f $(DEST)/prefixmap/nmdc-prefix-map.json $(DOCDIR) mkdir -p $(DOCDIR)/javascripts $(RUN) cp $(SRC)/scripts/*.js $(DOCDIR)/javascripts/ # Use `refgraph` to generate an interactive diagram within the compiled documentation website file tree. diff --git a/mkdocs.yml b/mkdocs.yml index f7c312b5cc..36cd8217cb 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -30,7 +30,7 @@ nav: - Funding and Acknowledgements: about.md - Contributing: collaboration.md - Metadata Standards Documentation: Metadata_Documentation_Overview.md - - Maintaining the NMDC Schema: prefixes_curies_ids_mappings_etc.md + - Maintaining the NMDC Schema: maintaining-the-schema.md - Schema element deprecation guide: schema_element_deprecation_guide.md - NMDC Schema Validation: schema-validation.md - Identifiers: identifiers.md diff --git a/src/docs/identifiers.md b/src/docs/identifiers.md index 6d2346f3fb..067bc69c6c 100644 --- a/src/docs/identifiers.md +++ b/src/docs/identifiers.md @@ -1,7 +1,7 @@ # Identifiers in NMDC Identifiers are crucial for the NMDC, both for any data objects *created* (aka minted) and for any external objects -*referenced* +that are being *referenced* in NMDC. Examples of entities that require identifiers: @@ -28,7 +28,7 @@ See [McMurry et al, PMID:28662064](https://www.ncbi.nlm.nih.gov/pubmed/28662064) ## CURIEs - prefixed IDs -Following McMurry et al we adopt the use of *prefixed identifiers* +Following McMurry et al. we adopt the use of *prefixed identifiers* The syntax is: @@ -41,40 +41,44 @@ Examples: - DOI:10.1038/nbt1156 These prefixed identifiers are also known as CURIEs (Compact URIs). There is -a [W3C specification](https://www.w3.org/TR/curie) for these +a [W3C specification](https://www.w3.org/TR/curie) for these. -All prefixes should be registered with a standard identifier prefix system. These include: +All prefixes should be registered with at least one standard identifier prefix system. If a prefix is not already +registered, please open a ticket at Bioregistry.io to request registration. If an entity is registered in multiple +registries (possibly with differing syntax or case), we recommend using the bioregistry.io registry as the primary +source of truth. +Popular choices for identifier registry services include: + +* https://bioregistry.io * http://n2t.net * http://identifiers.org -* http://obofoundry.org ## Examples -### INSDC BioSamples - -Registry entry: https://registry.identifiers.org/registry/biosample - -Example ID/CURIE: BIOSAMPLE:SAMEA2397676 +#### 1. INSDC BioSamples (Example CURIE: `BIOSAMPLE:SAMEA2397676`) -Resolving via -identifiers.org: [https://identifiers.org/BIOSAMPLE:SAMEA2397676](https://identifiers.org/BIOSAMPLE:SAMEA2397676) +| Description | Registry Entry | Resolvable Link | +|--------------------|----------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------| +| **Bioregistry.io** | [https://bioregistry.io/registry/biosample](https://bioregistry.io/registry/biosample) | [https://bioregistry.io/biosample:SAMEA2397676](https://bioregistry.io/biosample:SAMEA2397676) | +| **Identifiers.org**| [https://registry.identifiers.org/registry/biosample](https://registry.identifiers.org/registry/biosample) | [https://identifiers.org/BIOSAMPLE:SAMEA2397676](https://identifiers.org/BIOSAMPLE:SAMEA2397676) | +| **N2T.net** | | [http://n2t.net/BIOSAMPLE:SAMEA2397676](http://n2t.net/BIOSAMPLE:SAMEA2397676) | -Resolving via nt2.net: [http://n2t.net/BIOSAMPLE:SAMEA2397676](http://n2t.net/BIOSAMPLE:SAMEA2397676) -### GOLD identifiers +#### 2. GOLD identifiers (Example CURIE: `GOLD:Gp0119849`) -https://registry.identifiers.org/registry/gold +| Description | Registry Entry | Resolvable Link | +|--------------------|-------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------| +| **Bioregistry.io** | [https://bioregistry.io/registry/gold](https://bioregistry.io/registry/gold) | [https://bioregistry.io/gold:Gp0119849](https://bioregistry.io/gold:Gp0119849) | +| **Identifiers.org**| [https://registry.identifiers.org/registry/gold](https://registry.identifiers.org/registry/gold) | [https://identifiers.org/GOLD:Gp0119849](https://identifiers.org/GOLD:Gp0119849) | +| **N2T.net** | N/A | [http://n2t.net/GOLD:Gp0119849](http://n2t.net/GOLD:Gp0119849) | -Example ID: `GOLD:Gp0119849` - -Resolving via identifiers.org: https://identifiers.org/GOLD:Gp0119849 ### identifiers for ontology terms and function descriptors -Most of the ontologies we use are in OBO. All OBO IDs are prefixed -using the ontology ID space. The list of ID spaces can be found on -http://obofoundry.org +Most of the ontologies we use are in OBO. All OBO IDs are prefixed using the ontology ID space. +The list of ID spaces can be found on: http://obofoundry.org, and use a special resolver service called "PURL" +(Permanent URL) to resolve the ID to a URL. For example the ID/CURIE `ENVO:00002007` represents the class `sediment` and is expanded to a URI of http://purl.obolibrary.org/obo/ENVO_00002007 @@ -88,15 +92,14 @@ KEGG is actually a set of databases, each with its own prefix, usually of form ` ## Recommended IDs for use within NMDC -The NMDC schema is annotated with the set of IDs that are allowed to act as primary keys for instances of each class. - -For example the class [OrthologyGroup](https://microbiomedata.github.io/nmdc-metadata/docs/OrthologyGroup) has a -description of the IDs allowed on the class web page, the first listed -is [KEGG.ORTHOLOGY](https://registry.identifiers.org/registry/kegg.orthology) +The NMDC schema is annotated with the set of IDs, ordered by preference, that are allowed to act as primary keys +for instances of each class. For example the class [OrthologyGroup](https://microbiomedata.github.io/nmdc-metadata/docs/OrthologyGroup) has a description of the IDs allowed +on the class web page, the first listed is [KEGG.ORTHOLOGY](https://registry.identifiers.org/registry/kegg.orthology). The full URL for each is in the jsonld context file, +[jsonschema/nmdc.context.jsonld](...). The underlying yaml looks like this: -``` +```yaml orthology group: is_a: functional annotation term description: >- @@ -112,17 +115,11 @@ The underlying yaml looks like this: - biolink:GeneFamily ``` -The full URLs for each is in the jsonld context file - ## IDs minted for use within NMDC -The NMDC schema specifies legal identifiers for all of its classes. All data instances/records that are intended for upload into the NMDC metadata store must have an `id` field that follows this specification, which is discussed below. - -NMDC offers a central identifier minting [endpoint](https://api.microbiomedata.org/docs#/minter/mint_ids_pids_mint_post) in order to save data contributors the trouble of hand-crafting `id`s. - -The possibility of decentralized (or offline) minting of `id`s by trusted organizations has also been anticipated. `id` component 3 below (the shoulder) is used to indicate the organization that minted an `id`. LBL, which hosts the `id` minting endpoint will use one shoulder value. If another organization, like JGI or EMSL, needs to bulk-create `id`s outside of the central identifier minting endpoint, they would use different shoulders, to be determined by the NMDC schema and metadata team. - -No matter where they are minted, all NMDC `id` values must match this abstract pattern: +The NMDC schema specifies legal identifiers for all of its classes. All data instances/records that are intended for +upload into the NMDC metadata store must have an `id` field that follows this specification. Ids that are minted +at NMDC must match this abstract pattern: ``` nmdc:--<.version><_locus> @@ -148,30 +145,34 @@ The per-part regular expression described above can be composed into one complet ^(?nmdc):(?[a-z]{1,6})-(?[0-9][a-z]{0,6}[0-9])-(?[A-Za-z0-9]+)(?(\.[A-Za-z0-9]+)*)(?_[A-Za-z0-9_\.-]+)?$ ``` -## Annotation identifiers +NMDC offers a central identifier minting [endpoint](https://api.microbiomedata.org/docs#/minter/mint_ids_pids_mint_post) in order to save data contributors the trouble of hand-crafting `id`s. +The possibility of decentralized (or offline) minting of `id`s by trusted organizations has also been anticipated. +`id` component 3 below (the shoulder) is used to indicate the organization that minted an `id`. LBL, which hosts +the `id` minting endpoint will use one shoulder value. If another organization, like JGI or EMSL, needs to bulk-create +`id`s outside of the central identifier minting endpoint, they would use different shoulders, to be determined by the +NMDC schema and metadata team. -Both metaG and metaT analyses produce GFF3 files. -See [issue 184](https://github.com/microbiomedata/nmdc-metadata/issues/184) for more on how the GFF is modeled. +## Annotation identifiers -The main entity we care about in these is -the [gene product] https://microbiomedata.github.io/nmdc-metadata/docs/GeneProduct) ID (usually a protein), this is what -functional annotation hangs off. +Both metaG and metaT analyses produce GFF3 files. See [issue 184](https://github.com/microbiomedata/nmdc-metadata/issues/184) for more on how the GFF is modeled. -This is typically a protein encoded by a CDS, e.g. +The main entity identifier used in NMDC is the [gene product](https://microbiomedata.github.io/nmdc-metadata/docs/GeneProduct) +ID. This identifier is used in functioanl annotations. This is typically a protein encoded by a CDS, e.g. ``` Ga0185794_41 GeneMark.hmm-2 v1.05 CDS 48 1037 56.13 + 0 ID=Ga0185794_41_48_1037;translation_table=11;start_type=ATG;product=5-methylthioadenosine/S-adenosylhomocysteine deaminase;product_source=KO:K12960;cath_funfam=3.20.20.140;cog=COG0402;ko=KO:K12960;ec_number=EC:3.5.4.28,EC:3.5.4.31;pfam=PF01979;superfamily=51338,51556 ``` -When converting col9 we ensure that each ID is correctly prefixed. So for example, we use `KEGG.OTHOLOGY:K12960` -not `KO:K12960` as the former is the official prefix according to KEGG and identifiers.org - -We will also later need a policy for IDs for the sequences in col1 (ie genome or transcript), please return later for -more details... +Note: when processing GFF column 9 values, NMDC first ensures that each ID in this field is correctly prefixed +according to the NMDC schema `id_prefixes` directives. In the example above, `KO:K12960` is translated to +`KEGG.OTHOLOGY:K12960` to make sure the data is compliant with the registered prefix authorities and thus the +NMDC schema. This helps to ensure that the data is interoperable and can be used in a variety of tools and +services beyond NMDC. ## Reuse vs minting new IDs -In 2023 NMDC transitioned from reusing identifiers from other organizations to using NMDC minted identifiers as the primary identifier. In April 2024 NMDC will update legacy records to use NMDC minted identifers as the primary identifier. The table below provides information is how legacy identifiers can be found in updated records. +In 2023 NMDC transitioned from reusing identifiers from other organizations to using NMDC minted identifiers as the +primary identifier. ## Identifier mapping @@ -184,11 +185,14 @@ In 2023 NMDC transitioned from reusing identifiers from other organizations to u | gold:Gp* | gold:Gp0452734 | OmicsProcessing | gold_sequencing_project_identifiers | | emsl:* | emsl:598506 | OmicsProcessing | alternative_identifiers | -Some legacy data object identifiers were based on file md5sums, either with or without a prefix (nmdc, jgi, emsl). In some cases the legacy value can be found by removing the prefix and searching DataObject records on slot md5_checksum. If you are having trouble finding information based on legacy identifiers please contact support@microbiomedata.org. +Some legacy data object identifiers were based on file md5sums, either with or without a prefix (nmdc, jgi, emsl). +In some cases the legacy value can be found by removing the prefix and searching DataObject records on slot +md5_checksum. If you are having trouble finding information based on legacy identifiers +please contact support@microbiomedata.org. ## Additional details on legacy identifiers -Legacy metagenomics omics objects look like this: +Legacy metagenomics objects look like this: ```yaml id: "gold:Gp0108335" @@ -218,7 +222,7 @@ the linked data object uses a jgi prefix and an md5 hash type: "nmdc:DataObject" ``` -Legacy metaproteomics omics objects look like this: +Legacy metaproteomics objects look like this: ```yaml id: "emsl:404590" @@ -234,7 +238,7 @@ Legacy metaproteomics omics objects look like this: processing_institution: "Environmental Molecular Sciences Lab" ``` -the output data objects are formed from these: +and the output data objects are formed from these: ```yaml id: "emsl:output_404590" @@ -257,22 +261,15 @@ the data objects use hashes (md5) prefixed with nmdc: ## MIxS term identifiers We are working with the GSC to provide permanent IDs for MIxS terms. Note these terms are schema-level rather than -data-level. - -Please check this section later - -For now we place these in the nmdc namespaces, e.g - -`nmdc:alt` - - +data-level. For now we place these in the nmdc namespaces, e.g `nmdc:alt` ## Identifiers and semantic web URIs -We produce a JSON-LD context with the schema: +Using LinkML's default tooling, we produce a JSON-LD context with the schema: * [jsonschema/nmdc.context.jsonld](https://github.com/microbiomedata/nmdc-schema/blob/main/project/jsonschema/nmdc.schema.json) When this is combined with schema-conformant JSON, RDF can be automatically created using the intended URIs -Please also see: [Maintaining identifiers](prefixes_curies_ids_mappings_etc.md)] for more information. \ No newline at end of file +Please see: [Maintaining identifiers](maintaining-the-schema)] for more information on +developing and maintaining identifiers in the schema. \ No newline at end of file diff --git a/src/docs/prefixes_curies_ids_mappings_etc.md b/src/docs/maintaining-the-schema.md similarity index 100% rename from src/docs/prefixes_curies_ids_mappings_etc.md rename to src/docs/maintaining-the-schema.md From 12ca98e359a707a1ae089f2aaec9fd73261033f5 Mon Sep 17 00:00:00 2001 From: Sierra Taylor Moxon Date: Wed, 8 Jan 2025 12:15:05 -0800 Subject: [PATCH 13/21] update naming convention for maintiaikng the schema doc, add tables and formating to identifiers doc --- src/docs/maintaining-the-schema.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/docs/maintaining-the-schema.md b/src/docs/maintaining-the-schema.md index 1cde4edff2..785955095c 100644 --- a/src/docs/maintaining-the-schema.md +++ b/src/docs/maintaining-the-schema.md @@ -9,18 +9,18 @@ to answer questions like: - How were they prepared, so that they would be suitable for sequencing, LC-MS proteomics, metabolomics, etc? - How were the results of those analyses interpreted? -All metadata gathered and stored by the NMDC community must validate against the nmdc-schema. +All metadata gathered and stored by the NMDC community must validate against the NMDC Schema. -## The nmdc-schema is expressed in the [LinkML](https://linkml.github.io/linkml/) schema language. - -LinkML uses structures like classes, slots (for relationships and properties), types and enumerations. -People with object-oriented programming experience might find this familiar. - -## The name "LinkML" indicates that it's a modeling language for linked data. +## The NMDC Schema is expressed in the [LinkML](https://linkml.github.io/linkml/) modeling language. +LinkML uses structures like classes, slots (for relationships and properties), types and enumerations to create a +blueprint of the NMDC data. The schema is used to define the structure of the data, and to ensure that the data is +consistent and interoperable. The schema is expressed in a human-readable format, and can be generated in multiple +formats, including JSONSchema (used to support validation on ingest to NMDC), YAML (for ease of editing), and OWL. LinkML schemas generally make good use of terminology from external resources, especially ontologies, -especially those from the OBO Foundry. In return, LinkML schema elements and the corresponding data should be -interoperable with other ontologies and semantic databases. +and especially those from the OBO Foundry. + +In return, LinkML schema elements and the corresponding data should be interoperable with other ontologies and semantic databases. ## Asserting element identifiers in the schema with URIs and CURIEs From 32e909c821f9c728b356a905fe50141a86c9849b Mon Sep 17 00:00:00 2001 From: Sierra Taylor Moxon Date: Wed, 8 Jan 2025 12:27:59 -0800 Subject: [PATCH 14/21] update naming convention for maintiaikng the schema doc, add tables and formating to identifiers doc --- src/docs/maintaining-the-schema.md | 67 +++++++++++++++--------------- 1 file changed, 33 insertions(+), 34 deletions(-) diff --git a/src/docs/maintaining-the-schema.md b/src/docs/maintaining-the-schema.md index 785955095c..cd2df7b4d0 100644 --- a/src/docs/maintaining-the-schema.md +++ b/src/docs/maintaining-the-schema.md @@ -15,12 +15,37 @@ All metadata gathered and stored by the NMDC community must validate against the LinkML uses structures like classes, slots (for relationships and properties), types and enumerations to create a blueprint of the NMDC data. The schema is used to define the structure of the data, and to ensure that the data is -consistent and interoperable. The schema is expressed in a human-readable format, and can be generated in multiple -formats, including JSONSchema (used to support validation on ingest to NMDC), YAML (for ease of editing), and OWL. -LinkML schemas generally make good use of terminology from external resources, especially ontologies, -and especially those from the OBO Foundry. - -In return, LinkML schema elements and the corresponding data should be interoperable with other ontologies and semantic databases. +consistent and interoperable. The schema is expressed in a human-readable format, and with the help of LinkML tooling, +can be generated in multiple formats, including JSONSchema (used to support validation on ingest to NMDC), +YAML (for ease of editing), and OWL. LinkML schemas generally make good use of terminology and concepts already modeled +in external, trusted knowledge centers, especially [ontologies](https://en.wikipedia.org/wiki/Ontology_(information_science)), +and especially those from the [OBO Foundry](https://obofoundry.org/). + +Reuse of existing terminologies and knowledge can be found in several places in the NMDC schema, including the use of +the [MIxS](https://gensc.org/mixs/) schema, the [EnvO](https://environmentontology.org/) ontology, and the +[CHEBI](https://www.ebi.ac.uk/chebi/) ontology. In addition, the NMDC schema elements like slots and classes are +annotated with mappings ([exact, narrow, related scopes](https://linkml.io/linkml/schemas/uris-and-mappings.html)) +to these external resources. + +For example: +```yaml + doi_value: + description: >- + A digital object identifier, which is intended to persistantly identify some resource on the web. + required: true + aliases: + - DOI + - digital object identifier + range: uriorcurie + pattern: '^doi:10.\d{2,9}/.*$' + examples: + - value: doi:10.46936/10.25585/60000880 + description: The DOI links to an electronic document. + exact_mappings: + - OBI:0002110 + narrow_mappings: + - edam.data:1188 +``` ## Asserting element identifiers in the schema with URIs and CURIEs @@ -179,34 +204,8 @@ The text that comes immediately after the `nmdc` prefix and colon, and before th Typecodes must correspond 1:1 to a class in the NMDC schema. The typecodes currently in use are available from the nmdc-runtime API: https://api.microbiomedata.org/nmdcschema/typecodes -The typecodes for each class are auto-discovered each time the nmdc-runtime API is restarted, -and the API is restarted each time it is bound to a new version of the nmdc-schem. - -We do not currently have any criteria for good typecodes, other than they are ideally between 3 and 6 characters in length. - -## unresolved - -* may need to reassert identifier, range and or unique for subclasses -* still getting anyurl typed string statement objects in RDF. I added a workaround in anyuri-strings-to-iris -* make better use of id prefixes? - -* todo what reference ontologies do we want to include in a graph database? - * kegg, but from where? - * nmdc schema - * envo - * mixs - * chebi - * selected branches of NCBI taxonomy? protein ontology? - * could federate uniprot - -* gen-prefix-map - * doesn't merge - * emits JSON content into a file with the .yaml extension by default - -* doesn't look like all the emit_prefixes are making it into the OWL output +Please see [identifers](identifiers.md) for more information on the minting of identifiers in NMDC directly, and +for more discussion on identifier resolution and harmonization in NMDC. -* two graphdb endpoints: http://3.236.215.220:7200/sparql (switch to port 80) and https://graphdb-dev.microbiomedata.org/ -* configure graphdb visual graph for showing blank nodes ? -* MAM audit DOIs, websites, urls, and other uriorcurie values From c4b5b720885bb355b311b7cb36c5b489c3824ffc Mon Sep 17 00:00:00 2001 From: Sierra Taylor Moxon Date: Wed, 8 Jan 2025 12:32:27 -0800 Subject: [PATCH 15/21] update naming convention for maintiaikng the schema doc, add tables and formating to identifiers doc --- src/docs/collaboration.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/docs/collaboration.md b/src/docs/collaboration.md index b9608b4869..f11016127a 100644 --- a/src/docs/collaboration.md +++ b/src/docs/collaboration.md @@ -15,16 +15,19 @@ We welcome any and all kinds of contribution, including: * stlyistic improvements * general suggestions on how we can do better -## How do I do X? Why doesn’t Y work? Where can I go to get help? +Please see our [Contributing Guidelines](https://github.com/microbiomedata/nmdc-schema/blob/main/CONTRIBUTING.md) for +more information on how to contribute to the project, and +our [Code of Conduct](https://github.com/microbiomedata/nmdc-schema/blob/main/CODE_OF_CONDUCT.md) for information on +how to interact with the community. -First, please check if your question is answered on the FAQ. +## How do I do X? Why doesn’t Y work? Where can I go to get help? +First, please check if your question is answered on the FAQ and or in this documentation. We always welcome questions, bug reports, feature requests, and feedback via our GitHub issue tracker: - * [https://github.com/microbiomedata/nmdc-schema/issues](https://github.com/microbiomedata/nmdc-schema/issues) +[https://github.com/microbiomedata/nmdc-schema/issues](https://github.com/microbiomedata/nmdc-schema/issues) ## How do I run a collaborative schema project? Please check some guidelines from LinkML Schema Developers: [https://linkml.io/linkml/howtos/collaborative-development.html](https://linkml.io/linkml/howtos/collaborative-development.html) - Consult NMDC Schema Contribution guidelines directly: [GoogleSlides](https://docs.google.com/presentation/d/1ZH41QAoESUwAkdHyUxlrmSKS5M-bT0TOulBgX4rBx2A/edit#slide=id.g26390794265_0_693) \ No newline at end of file From 14f8f11fe9c40e99d256dced68436c76fb1dcd88 Mon Sep 17 00:00:00 2001 From: Sierra Taylor Moxon Date: Wed, 8 Jan 2025 12:34:22 -0800 Subject: [PATCH 16/21] update naming convention for maintiaikng the schema doc, add tables and formating to identifiers doc --- src/docs/developer-docs.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/docs/developer-docs.md b/src/docs/developer-docs.md index 2440dee958..12915c4e4e 100644 --- a/src/docs/developer-docs.md +++ b/src/docs/developer-docs.md @@ -1,14 +1,17 @@ # Schema Developer FAQs -* What are some effective strategies for collaborative schema development? +Some frequently asked questions about developing the NMDC schema. + +### What are some effective strategies for collaborative schema development? [LinkML Collaborative Development](https://linkml.io/linkml/howtos/collaborative-development.html) [Google Slides Presentation](https://docs.google.com/presentation/d/1ZH41QAoESUwAkdHyUxlrmSKS5M-bT0TOulBgX4rBx2A/edit#slide=id.g26390794265_0_693) -* How do I migrate from one version of the NMDC schema to another? +### How do I migrate from one version of the NMDC schema to another? + [Version 10 to 11 migration](v10-vs-v11-retrospective.md) -* How do I view the NMDC schema programmatically? +### How do I view the NMDC schema programmatically? [NMDC SchemaView Documentation](schemaview.md) [SchemaView Documentation](https://linkml.github.io/linkml/schemaview.html) From 63d6476bb4360496747939f0d82edac97be80f9c Mon Sep 17 00:00:00 2001 From: Sierra Taylor Moxon Date: Wed, 8 Jan 2025 12:43:11 -0800 Subject: [PATCH 17/21] prefix management --- src/docs/schema-validation.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/docs/schema-validation.md b/src/docs/schema-validation.md index da88a535ad..05345b47a9 100644 --- a/src/docs/schema-validation.md +++ b/src/docs/schema-validation.md @@ -1,7 +1,7 @@ # Validating data against the nmdc-schema -The nmdc-schema's preferred on-disk data serializations are YAML, closely followed by JSON. Preferred databases -are MongDB and any RDF triplestore. +The nmdc-schema's preferred serializations are YAML, closely followed by JSONSchema. MongoDB is the database of +choice for storing data. The nmdc-schema is designed to be a bridge between these formats. The nmdc-schema Makefiles use the `linkml-validate` and `linkml-run-examples` CLIs for build-time validation of data file, From 470b6fdd58a7055a55871f02769e6eb6468a5662 Mon Sep 17 00:00:00 2001 From: Sierra Taylor Moxon Date: Wed, 8 Jan 2025 13:13:14 -0800 Subject: [PATCH 18/21] consistent use of NMDC Schema vs nmdc-schema vs NMDC schema --- src/docs/Metadata_Documentation_Overview.md | 4 ++-- src/docs/about.md | 2 +- src/docs/collaboration.md | 2 +- src/docs/developer-docs.md | 2 +- src/docs/identifiers.md | 16 ++++++++-------- src/docs/maintaining-the-schema.md | 4 ++-- src/docs/migrations.md | 2 +- src/docs/schema-validation.md | 5 ++--- src/docs/schema_element_deprecation_guide.md | 2 +- src/docs/schemaview.md | 6 ------ src/docs/v10-vs-v11-retrospective.md | 6 +++--- src/docs/validation.md | 2 +- src/docs/visualizations.md | 5 ++--- 13 files changed, 25 insertions(+), 33 deletions(-) diff --git a/src/docs/Metadata_Documentation_Overview.md b/src/docs/Metadata_Documentation_Overview.md index 557e41f38b..603dc180a4 100644 --- a/src/docs/Metadata_Documentation_Overview.md +++ b/src/docs/Metadata_Documentation_Overview.md @@ -66,7 +66,7 @@ environment, elevation, altitude, depth, etc.) organized into different packages for 17 different sample environments. To standardize how physical samples are described (i.e., sample -metadata, Figure 1), the NMDC schema includes environmental descriptors +metadata, Figure 1), the NMDC Schema includes environmental descriptors from the GSC MIxS standards. *Explore how to create a MIxS-compliant sample metadata spreadsheet* @@ -278,7 +278,7 @@ relationships between samples, and associated data objects. The schema is organized into object classes, which act as nodes. Each class has associated slots, which are fields that contain metadata that describe the object. For more in-depth information, full documentation of the -NMDC schema can be found +NMDC Schema can be found [here](https://microbiomedata.github.io/nmdc-metadata/#classes). For the NMDC pilot, a python diff --git a/src/docs/about.md b/src/docs/about.md index c60a323092..b08c606892 100644 --- a/src/docs/about.md +++ b/src/docs/about.md @@ -19,7 +19,7 @@ understand the structure of the data and how it is related. ### Schema -Microbiome Data Coordination Center. (n.d.). NMDC schema. GitHub. from https://github.com/microbiomedata/nmdc-schema +Microbiome Data Coordination Center. (n.d.). NMDC Schema. GitHub. from https://github.com/microbiomedata/nmdc-schema ### Program Launch E. M. Wood-Charlson, Anubhav, D. Auberry, H. Blanco, M. I. Borkum, Y. E. Corilo, K. W. Davenport, S. Deshpande, diff --git a/src/docs/collaboration.md b/src/docs/collaboration.md index f11016127a..263f9a4655 100644 --- a/src/docs/collaboration.md +++ b/src/docs/collaboration.md @@ -12,7 +12,7 @@ We welcome any and all kinds of contribution, including: * ideas for new features * testing * documentation improvements - * stlyistic improvements + * stylistic improvements * general suggestions on how we can do better Please see our [Contributing Guidelines](https://github.com/microbiomedata/nmdc-schema/blob/main/CONTRIBUTING.md) for diff --git a/src/docs/developer-docs.md b/src/docs/developer-docs.md index 12915c4e4e..54f5f30ccc 100644 --- a/src/docs/developer-docs.md +++ b/src/docs/developer-docs.md @@ -1,6 +1,6 @@ # Schema Developer FAQs -Some frequently asked questions about developing the NMDC schema. +Some frequently asked questions about developing the NMDC Schema. ### What are some effective strategies for collaborative schema development? diff --git a/src/docs/identifiers.md b/src/docs/identifiers.md index 067bc69c6c..a987712353 100644 --- a/src/docs/identifiers.md +++ b/src/docs/identifiers.md @@ -92,7 +92,7 @@ KEGG is actually a set of databases, each with its own prefix, usually of form ` ## Recommended IDs for use within NMDC -The NMDC schema is annotated with the set of IDs, ordered by preference, that are allowed to act as primary keys +The NMDC Schema is annotated with the set of IDs, ordered by preference, that are allowed to act as primary keys for instances of each class. For example the class [OrthologyGroup](https://microbiomedata.github.io/nmdc-metadata/docs/OrthologyGroup) has a description of the IDs allowed on the class web page, the first listed is [KEGG.ORTHOLOGY](https://registry.identifiers.org/registry/kegg.orthology). The full URL for each is in the jsonld context file, [jsonschema/nmdc.context.jsonld](...). @@ -117,7 +117,7 @@ The underlying yaml looks like this: ## IDs minted for use within NMDC -The NMDC schema specifies legal identifiers for all of its classes. All data instances/records that are intended for +The NMDC Schema specifies legal identifiers for all of its classes. All data instances/records that are intended for upload into the NMDC metadata store must have an `id` field that follows this specification. Ids that are minted at NMDC must match this abstract pattern: @@ -129,7 +129,7 @@ The abstract pattern has six parts, delimited by hyphens (unless otherwise speci 1. `nmdc`: All NMDC identifiers will begin with this static prefix. -2. ``: An alphabetical code with a 1:1 correspondence to a class from the NMDC schema. Answers the question "of what class is the data record that bears this `id`"? Must consist of 1 to 6 lower case letters, although a minimum of 3 letters is suggested. The *type code* portion of an NMDC `id` must match the regular expression `[a-z]{1,6}`. +2. ``: An alphabetical code with a 1:1 correspondence to a class from the NMDC Schema. Answers the question "of what class is the data record that bears this `id`"? Must consist of 1 to 6 lower case letters, although a minimum of 3 letters is suggested. The *type code* portion of an NMDC `id` must match the regular expression `[a-z]{1,6}`. 3. ``: A code that indicates what organization minted the identifier. Shoulder values must be zero to six lower case letters, flanked by one digit on either side. Answers the question "what organization minted this `id`"? The central identifier endpoint, hosted at LBL, uses the shoulder 00. Should organizations like JGI or EMSL need to mint identifiers in bulk, they would be assigned other shoulders, so that `id` values aren't reused. The *shoulder* portion of an NMDC `id` must match the regular expression `[0-9][a-z]{0,6}[0-9]`. @@ -150,7 +150,7 @@ The possibility of decentralized (or offline) minting of `id`s by trusted organi `id` component 3 below (the shoulder) is used to indicate the organization that minted an `id`. LBL, which hosts the `id` minting endpoint will use one shoulder value. If another organization, like JGI or EMSL, needs to bulk-create `id`s outside of the central identifier minting endpoint, they would use different shoulders, to be determined by the -NMDC schema and metadata team. +NMDC Schema and metadata team. ## Annotation identifiers @@ -164,9 +164,9 @@ Ga0185794_41 GeneMark.hmm-2 v1.05 CDS 48 1037 56.13 + ``` Note: when processing GFF column 9 values, NMDC first ensures that each ID in this field is correctly prefixed -according to the NMDC schema `id_prefixes` directives. In the example above, `KO:K12960` is translated to +according to the NMDC Schema `id_prefixes` directives. In the example above, `KO:K12960` is translated to `KEGG.OTHOLOGY:K12960` to make sure the data is compliant with the registered prefix authorities and thus the -NMDC schema. This helps to ensure that the data is interoperable and can be used in a variety of tools and +NMDC Schema. This helps to ensure that the data is interoperable and can be used in a variety of tools and services beyond NMDC. ## Reuse vs minting new IDs @@ -248,7 +248,7 @@ and the output data objects are formed from these: type: "nmdc:DataObject" ``` -the data objects use hashes (md5) prefixed with nmdc: +the data objects use hashes (md5) prefixed with `nmdc`: ```yaml name: "404590_resultant.tsv" @@ -261,7 +261,7 @@ the data objects use hashes (md5) prefixed with nmdc: ## MIxS term identifiers We are working with the GSC to provide permanent IDs for MIxS terms. Note these terms are schema-level rather than -data-level. For now we place these in the nmdc namespaces, e.g `nmdc:alt` +data-level. For now we place these in the NMDC namespaces, e.g `nmdc:alt` ## Identifiers and semantic web URIs diff --git a/src/docs/maintaining-the-schema.md b/src/docs/maintaining-the-schema.md index cd2df7b4d0..13cbdd67c1 100644 --- a/src/docs/maintaining-the-schema.md +++ b/src/docs/maintaining-the-schema.md @@ -1,4 +1,4 @@ -# Understanding the nmdc-schema +# Understanding the NMDC Schema The nmdc-schema is a framework for describing multi-omics microbiome experiments and the data they produce. We aim to answer questions like: @@ -62,7 +62,7 @@ Ideally, the expanded URI should be web resolvable, but that is not required. The prefixes can be expanded to base URIs owned by a particular resource, or they can be expanded to base URIs owned by some resolving service, like the bioregistry. -## Asserting mappings in the nmdc-schema +## Asserting mappings in the NMDC Schema As mentioned above, URIs are assigned to most elements of a LinkML schema, either explicitly by the schema authors, or implicitly through the default prefix and the element's key. If an external prefix is used, that means the semantics diff --git a/src/docs/migrations.md b/src/docs/migrations.md index 0aee7cd0da..3ce16c507f 100644 --- a/src/docs/migrations.md +++ b/src/docs/migrations.md @@ -1,6 +1,6 @@ # NMDC Schema Migration Guides -This document provides guidance on how to migrate from one version of the NMDC schema to another. +This document provides guidance on how to migrate from one version of the NMDC Schema to another. * [Version 10 to 11 migration](v10-vs-v11-retrospective.md) diff --git a/src/docs/schema-validation.md b/src/docs/schema-validation.md index 05345b47a9..1fe0d99aeb 100644 --- a/src/docs/schema-validation.md +++ b/src/docs/schema-validation.md @@ -1,11 +1,10 @@ -# Validating data against the nmdc-schema +# Validating data against the NMDC Schema The nmdc-schema's preferred serializations are YAML, closely followed by JSONSchema. MongoDB is the database of choice for storing data. The nmdc-schema is designed to be a bridge between these formats. The nmdc-schema Makefiles use the `linkml-validate` and `linkml-run-examples` CLIs for build-time validation of data -file, -both of which build upon JSON Schema validation. `linkml-validate` can even validate against TSV, +file, both of which build upon JSON Schema validation. `linkml-validate` can even validate against TSV, as long as the schema classes that are instantiated can reasonably be expressed in a table. Programmers can learn more about the internals of these tools at https://linkml.io/linkml/data/validating-data.html diff --git a/src/docs/schema_element_deprecation_guide.md b/src/docs/schema_element_deprecation_guide.md index fa9d7e8bbf..cea13aacb3 100644 --- a/src/docs/schema_element_deprecation_guide.md +++ b/src/docs/schema_element_deprecation_guide.md @@ -1,4 +1,4 @@ -# Deprecating NMDC schema elements +# Deprecating NMDC Schema elements By deprecating, rather than deleting, schema elements in the NMDC model, we ensure backward compatibility, extend user trust, and provide a valuable historical record, aiding in the understanding of the model's evolution. Therefore, diff --git a/src/docs/schemaview.md b/src/docs/schemaview.md index 8cb214fb3f..7879ec223a 100644 --- a/src/docs/schemaview.md +++ b/src/docs/schemaview.md @@ -9,10 +9,4 @@ https://linkml.io/linkml/developers/schemaview.html#schemaview There are also several notebooks that demonstrate SchemaView usage in the LinkML-runtime repository: https://github.com/linkml/linkml-runtime/tree/main/notebooks -Finally, the Biolink Model Toolkit is a helper wrapper around SchemaView for use with the Biolink Model and it -has many examples of customizing SchemaView output for Biolink Model specific use cases. Similar customizations -may be helpful for NMDC. -https://biolink.github.io/biolink-model-toolkit/ -https://github.com/biolink/biolink-model-toolkit/blob/master/examples/bmt-tutorial.ipynb - diff --git a/src/docs/v10-vs-v11-retrospective.md b/src/docs/v10-vs-v11-retrospective.md index 3d85cafb0d..f21d19ec0b 100644 --- a/src/docs/v10-vs-v11-retrospective.md +++ b/src/docs/v10-vs-v11-retrospective.md @@ -1,6 +1,6 @@ -# Merging the Berkeley schema into the NMDC schema +# Merging the Berkeley schema into the NMDC Schema -This document is a retrospective on the changes made to the NMDC schema between major versions 10 and 11. +This document is a retrospective on the changes made to the NMDC Schema between major versions 10 and 11. Motivations for the Berkeley schema development included: @@ -306,7 +306,7 @@ replaced with `has_metabolite_identifications` and `metabolite_quantified` has b The `part_of` slots have been replaced in many cases with more specific slots. For example, `Biosample` now has an `associated_studies` relationship with `Study`. -The NMDC schema has always imported many slots from the MIxS standard, and has generally associated them with the +The NMDC Schema has always imported many slots from the MIxS standard, and has generally associated them with the `Biosample` class. In schema v11, several of those have been de-associated with `Biosample` as they are arguably attributes of laboratory methods, not about samples of biological materials that are extracted from some environment. diff --git a/src/docs/validation.md b/src/docs/validation.md index 2547f711a4..684be3bdfd 100644 --- a/src/docs/validation.md +++ b/src/docs/validation.md @@ -1,4 +1,4 @@ -# Validating nmdc-schema data against the schema +# Validating nmdc-schema data against the NMDC Schema ## Introduction diff --git a/src/docs/visualizations.md b/src/docs/visualizations.md index a20286a5a7..7a49dd9a5e 100644 --- a/src/docs/visualizations.md +++ b/src/docs/visualizations.md @@ -7,7 +7,6 @@ This [**inter-collection relationship diagram**](visualizations/collection-graph.html) shows the database **collections** described by the schema, and the **relationships** between those collections. -Each circle represents a collection. -Each arrow represents all of the fields that documents in one collection—the one at that arrow's tail—can -use to refer to documents in another collection—the one at that arrow's head. +Each circle represents a collection. Each arrow represents all of the fields that documents in one collection—the one +at that arrow's tail—can use to refer to documents in another collection—the one at that arrow's head. If you click on a circle, the names of the fields will appear on the arrows connected to that circle. From 64698688d5bc17527b181c8759662a4dcf4113a4 Mon Sep 17 00:00:00 2001 From: Sierra Taylor Moxon Date: Tue, 14 Jan 2025 09:22:48 -0800 Subject: [PATCH 19/21] two modules not three in the schema according to code review --- src/doc-templates/index.md.jinja2 | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/doc-templates/index.md.jinja2 b/src/doc-templates/index.md.jinja2 index 0083408fbd..19e87f5a24 100644 --- a/src/doc-templates/index.md.jinja2 +++ b/src/doc-templates/index.md.jinja2 @@ -3,7 +3,7 @@ {{ schema.description }} -This schema is organized into three key modules: +This schema is organized into two modules: * A core set of elements for representing data values represented in LinkML format (https://w3id.org/linkml/) consisting of a set classes, slots, types, and enumerations that are used to define the structure of the NMDC schema. @@ -11,8 +11,6 @@ of a set classes, slots, types, and enumerations that are used to define the str * A subset of the MIxS schema developed by the Genomic Standards Consortium, that is used to describe the environmental context of samples. -* An annotation schema that provides a mechanism for annotating data with additional information, such as provenance, -quality, and other metadata that is not part of the core data model. URI: {{ schema.id }} From 26b7301838f7ce2eff9bd61821807633bab7513b Mon Sep 17 00:00:00 2001 From: Sierra Taylor Moxon Date: Tue, 14 Jan 2025 09:24:41 -0800 Subject: [PATCH 20/21] more code review fixes --- src/docs/about.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/docs/about.md b/src/docs/about.md index b08c606892..5e3367d0d2 100644 --- a/src/docs/about.md +++ b/src/docs/about.md @@ -8,9 +8,9 @@ Research (BER) under contract numbers DE-AC02-05CH11231 (LBNL), 89233218CNA00000 ## Framework -This schema was made using the [LinkML framework](https://github.com/biolink/biolinkml). LinkML is a data modeling language that is used to create data -models in a human-readable format. The LinkML framework is used to generate the schema in multiple formats, -including JSON-LD, YAML, and RDF. +This schema was made using the [LinkML framework](https://linkml.github.io/linkml). LinkML is a data modeling language +that is used to create data models in a human-readable format. The LinkML framework is used to generate +the schema in multiple formats, including JSON-LD, YAML, and RDF. NMDC uses the LinkML framework to create a schema to be used by researchers, data scientists, and developers to understand the structure of the data and how it is related. From edd8a56c7b37b7f45008a3f9f0bc3f8b92d26a42 Mon Sep 17 00:00:00 2001 From: Sierra Taylor Moxon Date: Tue, 14 Jan 2025 09:39:22 -0800 Subject: [PATCH 21/21] fix home page formatting TOC --- src/doc-templates/index.md.jinja2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/doc-templates/index.md.jinja2 b/src/doc-templates/index.md.jinja2 index 19e87f5a24..cd9def858a 100644 --- a/src/doc-templates/index.md.jinja2 +++ b/src/doc-templates/index.md.jinja2 @@ -1,5 +1,5 @@ -# ![NMDC_logo.png](images/NMDC_logo.png) # National Microbiome Data Collaborative Schema Documentation +![NMDC_logo.png](images/NMDC_logo.png) {{ schema.description }}