Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make report on unswered issues and try to respond #1987

Closed
matentzn opened this issue Jul 26, 2021 · 9 comments
Closed

Make report on unswered issues and try to respond #1987

matentzn opened this issue Jul 26, 2021 · 9 comments
Assignees

Comments

@matentzn
Copy link
Contributor

Using Github API maybe

@matentzn
Copy link
Contributor Author

matentzn commented Jul 26, 2021

Hey @gouttegd I am assigning you here only since you are already working on API stuff.

Basically it would be great to have a small script that generates a markdown table like:

Issue Person Uberon team? Assignee
Close all issues that have not seen activity in last 3 years @matentzn Yes @gouttegd
incorrect classification of bone surfaces under 'surface structure' @dosumis Yes @megbalk
eyestalk @ANiknejad No
  • Open issues
  • That have not been commented on in the last 6 months.
  • For the Uberon team flag, you check whether its one of:
@dosumis @cmungall @megbalk @gouttegd @paolaroncaglia @nicolevasilevsky (.... fill in other names)

@gouttegd
Copy link
Collaborator

gouttegd commented Jul 27, 2021

I have a first draft that does most of the job. It gives issues that were last updated more than 180 days ago (truncated here to the first 50 such issues).

For now, the author of an issue is considered to be part of the "Uberon team" if that user either is a member of the Obophenotype organization (member) or has been invited to contribute to the repository (collaborator). This is the easiest way to do it, but it’s not really suitable for Uberon given that several contributors are effectively considered part of the team even though they are not formally members or collaborators from GitHub’s point of view. I’ll add a check against an externally-maintained list of contributors later.

Issue Author Uberon team? Assignee(s)
consistency in tooth terms @megbalk No
UBERON:0006871 embryonic footplate - change synonym scope @paola-scibite No
EHDAA2:0001090 medulla oblongata alar plate (human), wrong part_of relationship @ANiknejad No
Xrefs without prefixes in OBO export @cthoyt No
UBERON:4200132 tuber @paola-scibite No
UBERON:7500041 tip of digit @paola-scibite No
UBERON:4200179 manual claw @paola-scibite No
UBERON:0018306 bulge and UBERON:0010188 protuberance @paola-scibite No
Some "buccal" terms missing part_of parent @paola-scibite No
Typo in synonym of UBERON:0018133 monotreme bill @paola-scibite No
Typo in def of UBERON:0011933 vibrissa unit @paola-scibite No
Mapping external references @computationdoc No
"anatomical collection" in Uberon and "anatomical set" in FMA @ChristianKleineidam No
developing anatomical structure missing parent @pgaudet No
Add TC UBERON:0002542 'scale' never in Homo sapiens? @paola-scibite No
NTR: right gastric artery @paola-scibite No
NTRs: greater + lesser palatine foramen @paola-scibite No
NTR: Tenon capsule @paola-scibite No
anatomical projection and incorrect FMA link @ChristianKleineidam No
NTR: periosteum of orbit @paola-scibite No
NTR: epitrochlear lymph node @paola-scibite No
Missing textual definitions @paola-scibite No
Some definitions don't start with uppercase and don't end with a period @paola-scibite No
NTR: ganglion impar @paola-scibite No
NTR: glomus coccygeum @paola-scibite No
Typo in label of UBERON:0008989 submocosal esophageal gland @paola-scibite No
Typo in definition of several "epithelium" terms @paola-scibite No
Def of UBERON:0000444 'lymphoid follicle' contains "." only @paola-scibite No
Incorrect UMLS Xref for UBERON:0004016 @pecan88 No
Lack of consistency in use of kidney vs. renal in preferred terms [Typo/Bug] @rich-brennan No
Experiment: materialize phylo-specific uberon classes @cmungall Yes
standardize on creation date property @cmungall Yes
Incorporate ICDOT mappings @cmungall Yes
parent of 'life cycle stage' unclear @johnwjudkins No
human-view.owl should remove contextual axioms in final release @dosumis Yes @cmungall
Bad URI for image depiction @balhoff Yes
Request for comments: model anatomical spaces as material entities, consistent with GO @cmungall Yes
UBERON:0018241 prime adult stage @ANiknejad No @nicolevasilevsky
Adding a whole bunch of species-specific terms @stevevanhooser No
NTR: endodontium @paola-scibite No
uberon uses a 'contains process' relation that has a non-existing IRI @cmungall Yes
Invalid Xrefs in human-view.obo @rpwagner No
Why doesn't adventitia subclass connective tissue? @ChristianKleineidam No
Ligament and Ligament organ @ChristianKleineidam No
nested logical definitions @ramonawalls No
import BSPO terms @ramonawalls No
NTR: oral fluid @cmrn-rhi No
lacrimal apparatus function? @drseb Yes
Add perioral region? @drseb Yes
Make part relationship for tracheobronchial epithelium to tracheobronchial tree @mkeays Yes

@matentzn
Copy link
Contributor Author

No, I think you are doing the right thing - this is perfect. Let's make this all a bit more organised:

All people that are part of the wider Uberon team should be in
https://github.com/orgs/obophenotype/teams/uberon-curators

I have sent out some invites. Check only that team - if you are listed in there (and only then), you are considered core team. I will update the list when I see the names coming in - maybe you can send me a list of all github handles you see outside that list and I can update.

@paolaroncaglia
Copy link
Contributor

Hi @gouttegd and @matentzn ,
I have followed up on all tickets above opened by my alter ego paola-scibite. She won't join obophenotype for now ;-) (notifications go to yet another email account, I'd rather keep everything in one place...). Thanks for your work on this!

@gouttegd
Copy link
Collaborator

gouttegd commented Jul 28, 2021

@matentzn The script will be available in this repo.

It's in a very rough shape for now, but it already works (for some definition of "works", anyway: for example there's absolutely no error checking of any kind) for what you want to do.

If you want to try it to get the list you want:

  1. Create an access token.
  2. Create a configuration file named ~/Library/Application Support/grainyhead/config with the following:
[default]
user: obophenotype
repo: oberon
token: <your access token>
  1. From the cloned repo:
$ PYTHONPATH=. python fbcam/grainyhead/main.py issues --older-than 180 --team obophenotype/uberon-cl-curators > old-issues.md

You'll need the click, click-shell, ghapi, and ipython packages from PyPI.

Alternatively you can already install the package in your per-user Python environment (which would then install the grh command in your PATH — this would also take care of downloading the dependencies), but I'd say it's probably a bit premature for now.

Warning: I make no promise that I will not change the format of the configuration file or the syntax of the command line.

@matentzn
Copy link
Contributor Author

This is amazing! Will come back to this next week - now I am on vacation ;) supper cooool.

@matentzn
Copy link
Contributor Author

matentzn commented Aug 2, 2021

Awesome thank you @gouttegd; Currently I get:

[email protected]:~/ws/grainyhead (master) $ cat ~/Library/Application\ Support/grainyhead/config 
[default]
user: obophenotype
repo: uberon
token: IHAVEADDEDMYTOKENHERE
[email protected]:~/ws/grainyhead (master) $ PYTHONPATH=. python fbcam/grainyhead/main.py issues --older-than 180 --team obophenotype/uberon-cl-curators > old-issues.md
Traceback (most recent call last):
  File "/Users/matentzn/opt/anaconda3/lib/python3.8/configparser.py", line 789, in get
    value = d[option]
  File "/Users/matentzn/opt/anaconda3/lib/python3.8/collections/__init__.py", line 898, in __getitem__
    return self.__missing__(key)            # support subclasses that define __missing__
  File "/Users/matentzn/opt/anaconda3/lib/python3.8/collections/__init__.py", line 890, in __missing__
    raise KeyError(key)
KeyError: 'repository'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "fbcam/grainyhead/main.py", line 250, in <module>
    grh()
  File "/Users/matentzn/opt/anaconda3/lib/python3.8/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/Users/matentzn/opt/anaconda3/lib/python3.8/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/Users/matentzn/opt/anaconda3/lib/python3.8/site-packages/click_shell/core.py", line 164, in invoke
    ret = super(Shell, self).invoke(ctx)
  File "/Users/matentzn/opt/anaconda3/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/matentzn/opt/anaconda3/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/matentzn/opt/anaconda3/lib/python3.8/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/Users/matentzn/opt/anaconda3/lib/python3.8/site-packages/click/decorators.py", line 33, in new_func
    return f(get_current_context().obj, *args, **kwargs)
  File "fbcam/grainyhead/main.py", line 133, in list_issues
    repo = grh.repository
  File "fbcam/grainyhead/main.py", line 82, in repository
    repo_url = self._config.get(self._name, 'repository')
  File "/Users/matentzn/opt/anaconda3/lib/python3.8/configparser.py", line 792, in get
    raise NoOptionError(option, section)
configparser.NoOptionError: No option 'repository' in section: 'default'
[email protected]:~/ws/grainyhead (master) $ 

@gouttegd
Copy link
Collaborator

gouttegd commented Aug 2, 2021

Told you I don't promise the interface wouldn't change. :D The comment above is already obsolete, this weekend I replace the user and repo options with a single repository option, for simplicity's sake.

The config file should now be like:

[default]
repository: obophenotype/uberon
token: <your access token>

@matentzn
Copy link
Contributor Author

matentzn commented Aug 2, 2021

Update to command:

PYTHONPATH=. python fbcam/grainyhead/main.py issues --older-than 180 --team uberon-cl-curators > old-issues.md

I will close this issue now, as its all done! Thank you @gouttegd

@matentzn matentzn closed this as completed Aug 2, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants