Documented Plurality of Users Automated Check

Discussion on this check can be found here.

Requirements

  1. The ontology must have usages.

Fixes

First, read the FAQ on how to edit the metadata for your ontology.

Adding Usages

Determine what other groups are using your ontology and how they are using it. Then, add the following to your metadata file (replacing with the correct group name, link, and description):

usages:
- user: http://www.informatics.jax.org/disease (link to group)
  description: MGI disease model annotations use DO (description of group)
  examples:
   - url: http://www.informatics.jax.org/disease/DOID:4123 (link to specific example)
     description: Human genes and mouse homology associated with nail diseases (description of specific example)

You may have multiple exampels for each user, and mulitple users under the usages tag.

Implementation

The registry data is checked for ‘usage’ entries. If they are missing, this is an error.

import dash_utils
from dash_utils import format_msg


def has_users(data):
   """Check fp 9 - users.
   If the ontology has an active issue tracker and examples of use, PASS.

   Args:
       data (dict): ontology registry data from YAML file

   Return:
       PASS or ERROR with optional help message
   """
   if 'usages' in data:
       usages = data['usages']
       # TODO: usages should have a valid user that resolves
       #       and a description
   else:
       usages = None

   if usages is None:
       return {'status': 'ERROR', 'comment': 'Missing usages'}
   return {'status': 'PASS'}