From f54608b628cd6e77f68931cbe9cad020d2511e77 Mon Sep 17 00:00:00 2001 From: Charles Tapley Hoyt Date: Sat, 1 Oct 2022 17:21:22 +0200 Subject: [PATCH] Structure membership information (#2117) * Start updating membership storage * Add unit tests * Update TechnicalWG.md * Get remaining data * Add technical working group structured data * Add editorial * Add links and update pages * Update OperationsCommittee.md * Update * ORCID required * Add ORCIDs for alumni Still need: - Eric Douglass - Gareth Owen - Carlo Tornial * Update Membership.md * Merge data based on Nico's request * Split out country - show massive USA centric nature of OBO ops * Add sort by name * Standardize sort order of operations.yml * Lint * Update test_memberships.py * Update obo-test.yml --- .github/workflows/obo-test.yml | 2 +- _data/alumni.yml | 26 ++++ _data/operations.yml | 199 +++++++++++++++++++++++++ docs/EditorialWG.md | 55 ++++--- docs/Membership.md | 93 ++++++------ docs/OperationsCommittee.md | 2 + docs/OutreachWG.md | 34 +++-- docs/TechnicalWG.md | 44 ++++-- setup.cfg | 1 + src/obofoundry/standardize_metadata.py | 8 +- tests/test_memberships.py | 42 ++++++ 11 files changed, 407 insertions(+), 99 deletions(-) create mode 100644 _data/alumni.yml create mode 100644 _data/operations.yml create mode 100644 tests/test_memberships.py diff --git a/.github/workflows/obo-test.yml b/.github/workflows/obo-test.yml index bc99d1222..66c4babe6 100644 --- a/.github/workflows/obo-test.yml +++ b/.github/workflows/obo-test.yml @@ -16,7 +16,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: - python-version: '3.6' + python-version: '3.9' - name: Install requirements run: | python3 -m pip install -r requirements.txt diff --git a/_data/alumni.yml b/_data/alumni.yml new file mode 100644 index 000000000..d891b7095 --- /dev/null +++ b/_data/alumni.yml @@ -0,0 +1,26 @@ +members: +- name: Michael Ashburner + orcid: 0000-0002-6962-2807 +- name: Colin Batchelor + orcid: 0000-0001-5985-7429 +- name: Mathias Brochhausen + orcid: 0000-0003-1834-3856 +- name: Melanie Courtot + link: http://purl.org/net/mcourtot + orcid: 0000-0002-9551-6370 +- name: Eric Douglass +- name: Janna Hastings + orcid: 0000-0002-3469-4923 +- name: Simon Jupp + note: OBO Industry Liaison + orcid: 0000-0002-0643-3144 +- name: Suzanna Lewis + link: https://github.com/selewis + orcid: 0000-0002-8343-612X +- name: James Malone + note: OBO Industry Liaison + orcid: 0000-0002-1615-2899 +- name: Gareth Owen +- name: Susanna-Assunta Sansone + orcid: 0000-0001-5306-5690 +- name: Carlo Tornial diff --git a/_data/operations.yml b/_data/operations.yml new file mode 100644 index 000000000..fcc4755bb --- /dev/null +++ b/_data/operations.yml @@ -0,0 +1,199 @@ +members: +- affiliation: University at Buffalo, Buffalo + country: USA + groups: + - outreach + link: http://sciencecommons.org/about/whoweare/ruttenberg/ + name: Alan Ruttenberg + orcid: 0000-0002-1604-3078 +- affiliation: University at Buffalo, Buffalo, NY + country: USA + groups: + - technical + name: Alexander Diehl + orcid: 0000-0001-9990-8331 +- affiliation: University at Buffalo, Buffalo, NY + country: USA + groups: + - outreach + name: Barry Smith + orcid: 0000-0003-1384-116X +- affiliation: University of Florida, Gainseville, FL + country: USA + groups: + - editorial + name: Bill Duncan + orcid: 0000-0001-9625-1899 +- affiliation: University of Florida, Gainseville, FL + country: USA + groups: + - editorial + name: Bill Hogan + orcid: 0000-0002-9881-1017 +- affiliation: La Jolla Institute for Immunology, La Jolla, CA + country: USA + groups: + - editorial + name: Bjoern Peters + orcid: 0000-0002-8457-6693 +- affiliation: Lawrence Berkeley National Laboratory, Berkeley, CA + country: USA + groups: + - technical + link: https://github.com/cmungall/ + name: Chris Mungall + orcid: 0000-0002-6601-2165 +- affiliation: University of Pennsylvania, Philadelphia, PA + country: USA + groups: + - outreach + - editorial + name: Chris Stoeckert + orcid: 0000-0002-5714-991X +- affiliation: Centre for Infectious Disease Genomics and One Health, Simon Fraser University, BC + country: Canada + groups: + - outreach + name: Damion Dooley + orcid: 0000-0002-8844-9165 +- affiliation: Georgetown University Medical Center, Washington DC + country: USA + groups: + - editorial + link: http://pir.georgetown.edu/pirwww/aboutpir/natalebio.shtml + name: Darren Natale + orcid: 0000-0001-5809-9523 +- affiliation: EMBL-EBI, Cambridge + country: UK + groups: + - outreach + name: David Osumi-Sutherland + orcid: 0000-0002-7073-9172 +- affiliation: Kansas State University, Manhattan, KS + country: USA + groups: + - editorial + - outreach + name: "Hande K\xFC\xE7\xFCk McGinty" + orcid: 0000-0002-9025-5538 +- affiliation: La Jolla Institute for Immunology, La Jolla, CA + country: USA + groups: + - outreach + name: Hector Guzman-Orozco + orcid: 0000-0003-3430-8997 +- affiliation: Knocean Inc., Toronto + country: Canada + groups: + - technical + link: http://james.overton.ca/ + name: James A. Overton + orcid: 0000-0001-5139-5557 +- affiliation: University of Pennsylvania, Philadelphia, PA + country: USA + groups: + - outreach + - technical + link: http://cbil.upenn.edu/profile-staff_bio/39 + name: Jie Zheng + orcid: 0000-0002-2999-0103 +- affiliation: RENCI, University of North Carolina, Chapel Hill, NC + country: USA + groups: + - technical + name: Jim Balhoff + orcid: 0000-0002-8688-6599 +- affiliation: University of Maryland School of Medicine, Baltimore, MD + country: USA + groups: + - editorial + - outreach + link: http://www.medschool.umaryland.edu/profiles/Schriml-Lynn/ + name: Lynn Schriml + orcid: 0000-0001-8910-9851 +- affiliation: Unversity of Colorado Anschutz Medical Campus, Auroa, CO + country: USA + groups: + - technical + name: Matt Brush + orcid: 0000-0002-1048-5019 +- affiliation: Unversity of Colorado Anschutz Medical Campus, Auroa, CO + country: USA + groups: + - outreach + link: https://www.ohsu.edu/people/melissa-haendel/AFE044BDE8046E5D6FBDA51F448BDE2A + name: Melissa Haendel + orcid: 0000-0001-9114-8737 +- affiliation: Semanticly, Athens + country: Greece + groups: + - technical + name: Nico Matentzoglu + orcid: 0000-0002-7356-1779 +- affiliation: Unversity of Colorado Anschutz Medical Campus, Auroa, CO + country: USA + groups: + - editorial + - outreach + name: Nicole Vasilevsky + orcid: 0000-0001-5208-3432 +- affiliation: Lawrence Berkeley National Laboratory, Berkeley, CA + country: USA + groups: + - outreach + - technical + name: Nomi Harris + orcid: 0000-0001-6315-3707 +- affiliation: University of Oxford e-Research Centre, Department of Engineering Science, Oxford + country: UK + groups: + - outreach + link: https://eng.ox.ac.uk/people/philippe-rocca-serra/ + name: Philippe Rocca-Serra + orcid: 0000-0001-9853-5668 +- affiliation: Alfred Wegener Institute, Helmholtz Centre for Polar and Marine Research, Bremerhaven + country: Germany + groups: + - editorial + - outreach + name: Pier Luigi Buttigieg + orcid: 0000-0002-4366-3088 +- affiliation: CyVerse, University of Arizona, Tucson, AZ + country: USA + groups: + - technical + - editorial + link: http://www.cyverse.org/ramona-walls + name: Ramona Walls + orcid: 0000-0001-8815-0078 +- affiliation: La Jolla Institute for Immunology, La Jolla, CA + country: USA + groups: + - outreach + name: Randi Vita + orcid: 0000-0001-8957-7612 +- affiliation: Intelligent Medical Objects (IMO), Rosemont, IL + country: USA + groups: + - technical + name: Rebecca Jackson + orcid: 0000-0003-4871-5569 +- affiliation: J. Craig Venter Institute, La Jolla, CA + country: USA + groups: + - outreach + link: https://www.jcvi.org/about/rscheuermann + name: Richard Scheuermann + orcid: 0000-0003-1355-892X +- affiliation: Lawrence Berkeley National Laboratory, Berkeley, CA + country: USA + groups: + - technical + name: Seth Carbon + orcid: 0000-0001-8244-1536 +- affiliation: European Bioinformatics Institute, Cambridge + country: UK + groups: + - technical + name: Shawn Tan + orcid: 0000-0001-7258-9596 diff --git a/docs/EditorialWG.md b/docs/EditorialWG.md index 8cf261e96..c4e13c4ea 100644 --- a/docs/EditorialWG.md +++ b/docs/EditorialWG.md @@ -4,13 +4,9 @@ id: EditorialWG title: Editorial Working Group --- -This page describes members and activities of the OBO Foundry Editorial Working Group. - -# Details - The primary task of the Editorial WG is to facilitate the review of candidate OBO Foundry ontologies. This task includes developing the principles against which ontologies are reviewed, developing the review process itself, conducting the reviews, and setting policies governing the process. -# Scope +## Scope The OBO Foundry Editorial WG will: @@ -20,29 +16,46 @@ The OBO Foundry Editorial WG will: Current activities are focused on creating guidelines for reviews. Once those guidelines are in place, the working group will shift its focus to carrying out the review process, with an aim of reducing the backlog of ontologies awaiting review. -# Draft guidelines and policies - -## Ontology Review +## Draft guidelines and policies -[Ontology review process guidelines](/docs/ReviewProcessGuidelines.html) +### Ontology Review -[Ontology review criteria policies](/docs/ReviewCriteriaPolicies.html) +- [Ontology review process guidelines](/docs/ReviewProcessGuidelines.html) +- [Ontology review criteria policies](/docs/ReviewCriteriaPolicies.html) +- [Ontology review management guidelines](/docs/ReviewManagementGuidelines.html) -[Ontology review management guidelines](/docs/ReviewManagementGuidelines.html) - -## Principles Review +### Principles Review [Principles review workflow](/docs/PrinciplesReviewWorkflow.html) -# Members - -See the [membership page](/docs/Membership.html) for a list of current members. - -Membership in the OBO Foundry Editorial WG is open to all members of the OBO Foundry Operations Committee who are willing to actively participate. If you are interested in joining the working group, send an email to the mailing list.
-
- -

Contact Us

+## Contact Us The best way to contact the OBO Foundry Editorial Working Group is through the issue tracker.

The mailing list for the OBO Foundry Editorial Working Group is obo-foundry-editorial-working-group@googlegroups.com. This is currently a closed list, but non-members can post to the list. + +## Members + +Membership in the OBO Foundry Editorial WG is open to all members of the OBO Foundry Operations Committee who are willing to actively participate. If you are interested in joining the working group, send an email to the mailing list. + + + + + + + + + + + +{% assign members = site.data.operations.members | sort: "name" | where_exp:"item","item.groups contains 'editorial'" %} +{% for member in members %} + + + + + + +{% endfor %} + +
NameORCIDAffiliationCountry
{% if member.link %}{{ member.name }}{% else %}{{ member.name }}{% endif %}{{ member.orcid }}{{ member.affiliation }}{{ member.country }}
diff --git a/docs/Membership.md b/docs/Membership.md index a40ca845b..a86be5261 100644 --- a/docs/Membership.md +++ b/docs/Membership.md @@ -6,64 +6,55 @@ title: Membership The OBO Foundry Operations Committee discusses, oversees, and ensures the completion of the fundamental day-to-day activities of the Foundry. The Committee is composed of three working groups. Anyone who is active in a working group (active being based on both attendance at WG meetings and actual work done for working groups) is considered a member of the Operations Committee. -There are currently three working groups: +There are currently three working groups. Each page lists their respective members: - [Editorial Working Group](EditorialWG.html) - [Technical Working Group](TechnicalWG.html) - [Outreach Working Group](OutreachWG.html) -More information [here](/docs/OperationsCommittee.html) - -## Members - -Membership in working groups: T=technical working group, O=outreach working group, E=editorial working group - -Current members of the OBO Foundry Operations Committee are (in alphabetical order of surname): - -- Jim Balhoff (T), RENCI, University of North Carolina, Chapel Hill, NC, USA -- Matt Brush (T), Unversity of Colorado Anschutz Medical Campus, Auroa, CO, USA -- Pier Luigi Buttigieg (E, O), Alfred Wegener Institute, Helmholtz Centre for Polar and Marine Research, Bremerhaven, Germany -- Seth Carbon (T), Lawrence Berkeley National Laboratory, Berkeley, CA, USA -- Alexander Diehl (T), University at Buffalo, Buffalo, NY, USA -- [Damion Dooley](https://orcid.org/0000-0002-8844-9165) (O), Centre for Infectious Disease Genomics and One Health, Simon Fraser University, BC, Canada -- [Bill Duncan](https://orcid.org/0000-0001-9625-1899) (E), University of Florida, Gainseville, FL, USA -- Hector Guzman-Orozco (O), La Jolla Institute for Immunology, La Jolla, CA, USA -- Nomi Harris (O, T), Lawrence Berkeley National Laboratory, Berkeley, CA, USA -- [Melissa Haendel](https://www.ohsu.edu/people/melissa-haendel/AFE044BDE8046E5D6FBDA51F448BDE2A) (O), Unversity of Colorado Anschutz Medical Campus, Auroa, CO, USA -- Bill Hogan (E), University of Florida, Gainseville, FL, USA -- Rebecca Jackson (T), Intelligent Medical Objects (IMO), Rosemont, IL, USA -- Nico Matentzoglu (T), Semanticly, Athens, Greece -- Hande Küçük McGinty (E, O), Kansas State University, Manhattan, KS, USA -- [Chris Mungall](https://github.com/cmungall/) (T), Lawrence Berkeley National Laboratory, Berkeley, CA, USA -- [Darren Natale](http://pir.georgetown.edu/pirwww/aboutpir/natalebio.shtml) (E), Georgetown University Medical Center, Washington DC, USA -- David Osumi-Sutherland (O), EMBL-EBI, Cambridge, UK -- [James A. Overton](http://james.overton.ca) (T), [Knocean Inc.](http://knocean.com), Toronto, Canada -- Bjoern Peters (E), La Jolla Institute for Immunology, La Jolla, CA, USA -- [Philippe Rocca-Serra](https://eng.ox.ac.uk/people/philippe-rocca-serra/) (O), University of Oxford e-Research Centre, Department of Engineering Science, Oxford, UK -- [Alan Ruttenberg](http://sciencecommons.org/about/whoweare/ruttenberg/) (O), University at Buffalo, Buffalo, USA -- [Richard Scheuermann](https://www.jcvi.org/about/rscheuermann) (O), J. Craig Venter Institute, La Jolla, CA, USA -- [Lynn Schriml](http://www.medschool.umaryland.edu/profiles/Schriml-Lynn/) (E, O), University of Maryland School of Medicine, Baltimore, MD, USA -- Barry Smith (O), University at Buffalo, Buffalo, NY, USA -- Chris Stoeckert (E, O), University of Pennsylvania, Philadelphia, PA, USA -- [Nicole Vasilevsky](http://orcid.org/0000-0001-5208-3432) (E, O), Unversity of Colorado Anschutz Medical Campus, Auroa, CO, USA -- Shawn Tan (T), European Bioinformatics Institute, Cambridge, UK -- Randi Vita (O), La Jolla Institute for Immunology, La Jolla, CA, USA -- [Ramona Walls](http://www.cyverse.org/ramona-walls) (E, T), CyVerse, University of Arizona, Tucson, AZ, USA -- [Jie Zheng](http://cbil.upenn.edu/profile-staff_bio/39) (T, O), University of Pennsylvania, Philadelphia, PA, USA + + + + + + + + + + + +{% assign members = site.data.operations.members | sort: "name" %} +{% for member in members %} + + + + + + + +{% endfor %} + +
NameORCIDAffiliationCountryGroups
{% if member.link %}{{ member.name }}{% else %}{{ member.name }}{% endif %}{{ member.orcid }}{{ member.affiliation }}{{ member.country }} {{ member.groups | join: ", " }}
New members: follow the instructions on the [onboarding doc](https://docs.google.com/document/d/1MKhNTjZjGx6Ls72dybIV2ajYtbqtwP7O4lwxN2v3RBA/edit#heading=h.10q6n5qc13dp) ## Alumni -- Michael Ashburner -- Colin Batchelor -- Mathias Brochhausen -- [Melanie Courtot](http://purl.org/net/mcourtot) -- Eric Douglass -- Janna Hastings -- Simon Jupp (OBO Industry Liaison) -- [Suzanna Lewis](https://github.com/selewis) -- James Malone (OBO Industry Liaison) -- Gareth Owen -- Susanna-Assunta Sansone -- Carlo Tornial + + + + + + + + + +{% for member in site.data.alumni.members %} + + + + + +{% endfor %} + +
NameORCIDNote
{% if member.link %}{{ member.name }}{% else %}{{ member.name }}{% endif %}{% if member.orcid %}{{ member.orcid }}{% endif %}{% if member.note %}{{ member.note }}{% endif %}
diff --git a/docs/OperationsCommittee.md b/docs/OperationsCommittee.md index 58bcab2b6..5e3ad5c7d 100644 --- a/docs/OperationsCommittee.md +++ b/docs/OperationsCommittee.md @@ -15,6 +15,8 @@ title: Operations Committee The members of the Operations Committee are listed [here](Membership.html). See a description of our activities in our [mission statement](MissionStatement.html). +New members should follow the instructions on the [onboarding doc](https://docs.google.com/document/d/1MKhNTjZjGx6Ls72dybIV2ajYtbqtwP7O4lwxN2v3RBA/edit#heading=h.10q6n5qc13dp) + ## OBO Operations Committee SOP [Standard operating procedures (SOPs)](https://github.com/OBOFoundry/OBOFoundry.github.io/blob/master/docs/SOP.md) for the OBO Foundry Operations Committee can be found in our GitHub repo. diff --git a/docs/OutreachWG.md b/docs/OutreachWG.md index 443a5a46a..63a620d61 100644 --- a/docs/OutreachWG.md +++ b/docs/OutreachWG.md @@ -4,18 +4,34 @@ id: OutreachWG title: Outreach Working Group --- -This page describes members and activities of the OBO Foundry Outreach Working Group. - -## Details - The OBO Foundry Outreach WG is involved in public relations for the OBO Foundry. This includes monitoring and following up discussions on mailing lists, preparing documentation and educational materials, and presenting OBO Foundry activities at workshops, conferences, or other venues. -## Members - -See the [membership page](/docs/Membership.html) for a list of current members. - -

Contact Us

+## Contact Us The best way to contact the OBO Foundry Outreach Working Group is through the obo foundry issue tracker. A member of the OBO admin group will assign the `outreach` label to the ticket. The mailing list for the OBO Foundry Outreach Working Group is obo-foundry-outreach-working-group@googlegroups.com. This is currently a closed list, but non-members can post to the list. + +## Members + + + + + + + + + + + +{% assign members = site.data.operations.members | sort: "name" | where_exp:"item","item.groups contains 'outreach'" %} +{% for member in members %} + + + + + + +{% endfor %} + +
NameORCIDAffiliationCountry
{% if member.link %}{{ member.name }}{% else %}{{ member.name }}{% endif %}{{ member.orcid }}{{ member.affiliation }}{{ member.country }}
diff --git a/docs/TechnicalWG.md b/docs/TechnicalWG.md index 4a18526af..6f384f8a8 100644 --- a/docs/TechnicalWG.md +++ b/docs/TechnicalWG.md @@ -6,24 +6,36 @@ title: Technical Working Group The OBO Foundry Operations Committee Technical WG is involved in maintaining the technical infrastructure for the OBO Foundry. This includes establishment of policies to be implemented in common tools, website maintenance, etc. -# Members +- Meetings +- Creating a prefix and domain for a resource +- How is the OBO PURL configured -See the [membership page](/docs/Membership.html) for a list of current members. - -

Meetings

- -See here - -

HOWTOs

- - - -

DOCs

- - - -

Contact Us

+## Contact Us The best way to contact the OBO Foundry Technical Working Group is through the issue tracker. Select the Technical group template or the Prefix/domain request template.

The mailing list for the OBO Foundry Technical Working Group is obo-foundry-technical-working-group@googlegroups.com. This is currently a closed list, but non-members can post to the list. + +## Members + + + + + + + + + + + +{% assign members = site.data.operations.members | sort: "name" | where_exp:"item","item.groups contains 'technical'" %} +{% for member in members %} + + + + + + +{% endfor %} + +
NameORCIDAffiliationCountry
{% if member.link %}{{ member.name }}{% else %}{{ member.name }}{% endif %}{{ member.orcid }}{{ member.affiliation }}{{ member.country }}
diff --git a/setup.cfg b/setup.cfg index 851885421..116115b5f 100644 --- a/setup.cfg +++ b/setup.cfg @@ -9,6 +9,7 @@ version = 0.0.1-dev install_requires = pyyaml requests + pydantic # Random options zip_safe = false diff --git a/src/obofoundry/standardize_metadata.py b/src/obofoundry/standardize_metadata.py index 733174a32..8a76e9653 100644 --- a/src/obofoundry/standardize_metadata.py +++ b/src/obofoundry/standardize_metadata.py @@ -16,7 +16,8 @@ HERE = pathlib.Path(__file__).parent.resolve() ROOT = HERE.parent.parent.resolve() -ONTOLOGY_DIRECTORY = ROOT.joinpath("ontology").resolve() +ONTOLOGY_DIRECTORY = ROOT.joinpath("ontology") +DATA_DIRECTORY = ROOT.joinpath("_data") def sort_key(kv): @@ -105,6 +106,11 @@ def main(): for path in ONTOLOGY_DIRECTORY.glob("*.md"): update_markdown(path) + path = DATA_DIRECTORY.joinpath("operations.yml") + t = yaml.safe_load(path.read_text()) + t["members"] = sorted(t["members"], key=itemgetter("name")) + path.write_text(yaml.safe_dump(t, sort_keys=True, width=float("inf"))) + if __name__ == "__main__": main() diff --git a/tests/test_memberships.py b/tests/test_memberships.py new file mode 100644 index 000000000..d6b5c621a --- /dev/null +++ b/tests/test_memberships.py @@ -0,0 +1,42 @@ +"""Tests for working group membership data.""" + +import unittest +from collections import Counter +from pathlib import Path +from typing import List, Literal + +import yaml +from pydantic import BaseModel + +HERE = Path(__file__).parent.resolve() +ROOT = HERE.parent.resolve() +DATA = ROOT.joinpath("_data") + + +class Member(BaseModel): + """Representation of a member in a working group.""" + + name: str + orcid: str + affiliation: str + country: str + groups: List[Literal["editorial", "outreach", "technical"]] + + +class Group(BaseModel): + """Representation of a working group.""" + + members: List[Member] + + +class TestMembershipData(unittest.TestCase): + """Test membership data.""" + + def test_data(self): + """Test the working group data is clean.""" + path = DATA.joinpath("operations").with_suffix(".yml") + res = Group.parse_obj(yaml.safe_load(path.read_text())) + self.assertIsNotNone(res) + counter = Counter(member.orcid for member in res.members if member.orcid) + counter = {orcid for orcid, count in counter.items() if count > 1} + self.assertEqual(0, len(counter), msg=f"Duplicate: {counter}")