Here is your assignment for next Tuesday. As promised, this should not take very long, but will hopefully give you some insight into working with an ontology as well as some of the challenges we face in evaluating them.

For this assignment, you have the option of:
1) Writing your own parser for the OBO file format or
2) Adapting the Java class I posted on the project website to complete the assignment

If you decide to try and learn Java, then I would be happy to lend a hand. The choice is up to you.

We would like you to submit your code along with your results. Take heed of Kevin's presentation from today and make sure that it is well-documented, tested, etc.

Here is your assignment:
For the cell type ontology, ChEBI, and another OBO ontology of your choice, design an application to automatically:
1) Count the number of ontology terms with and without definitions
2) Determine if there are any ambiguous definitions
3) Determine if there are any ambiguous synonyms (include "exact" synonyms only for this analysis)

Include a summary of your results with your code and answer the following:

Based on your results, how well do you think these automatic approaches will serve the task of ontology evaluation?

If you have any questions, please let me or Mike know.