Coder Social home page Coder Social logo

termgenie's Introduction

#Overview TermGenie is a web application, which uses patterns and reasoning to create new classes for an ontology.

Originally this was devolped for the GeneOntology, but TermGenie uses a generic approach applicable to many ontologies.

#Publication

TermGenie โ€“ a web-application for pattern-based ontology class generation
Heiko Dietze, Tanya Z. Berardini, Rebecca E. Foulger, David P. Hill, Jane Lomax, David Osumi-Sutherland3, Paola Roncaglia, and Christopher J. Mungall
Journal of Biomedical Semantics 2014, 5:48 doi:10.1186/2041-1480-5-48 Published: 11 December 2014

Link to JBMS open access article

##Abstract Background

Biological ontologies are continually growing and improving from requests for new classes (terms) by biocurators. These ontology requests can frequently create bottlenecks in the biocuration process, as ontology developers struggle to keep up, while manually processing these requests and create classes.

Results

TermGenie allows biocurators to generate new classes based on formally specified design patterns or templates. The system is web-based and can be accessed by any authorized curator through a web browser. Automated rules and reasoning engines are used to ensure validity, uniqueness and relationship to pre-existing classes. In the last 4 years the Gene Ontology TermGenie generated 4715 new classes, about 51.4% of all new classes created. The immediate generation of permanent identifiers proved not to be an issue with only 70 (1.4%) obsoleted classes.

Conclusion

TermGenie is a web-based class-generation system that complements traditional ontology development tools. All classes added through pre-defined templates are guaranteed to have OWL equivalence axioms that are used for automatic classification and in some cases inter-ontology linkage. At the same time, the system is simple and intuitive and can be used by most biocurators without extensive training.

#Technical descriptions

For details on how to build TermGenie using Maven, run TermGenie in Eclipse for debugging, or a description of TermGenie and its modules, please check the wiki pages of the project.

#TermGenie Instances Instances exist for the following ontologies:

To get write access to any of these TG instances, contact the administrators of the ontology (list available from obofoundry.org)

#Updates to TermeGene Need to install https://github.com/RitwikSaikia/jsonrpc/ locally and maven install the server code.

Add user here:

https://github.com/geneontology/go-site/blob/master/metadata/users.yaml

termgenie's People

Contributors

bbopjenkins avatar cmungall avatar hdietze avatar kltm avatar nathandunn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

termgenie's Issues

Check dbxref syntax

Original issue 7 created by hdietze on 2011-11-02T11:01:52.000Z:

In TG1, would it be possible to check the dbxrefs conform to the spec, and that there is a corresponding entry in go/doc/GO.xrf_abbs

thanks,

Jane

Protein2Go Integration

Original issue 19 created by hdietze on 2012-03-05T21:46:31.000Z:

Define and implement a way to communicate newly requested terms to protein2go.

Currently the user has to wait until terms have been reviewed and committed and until the protein2go has reloaded the ontology.

Template for MF involved in BP

Original issue 6 created by hdietze on 2011-09-08T10:45:15.000Z:

Hi, could we please have a template for

[molecular function] involved in [biological process]

This would be very useful for terms such as "cysteine-type endopeptidase activity involved in apoptosis".

Thanks,
Paola

Inference of parthood

Original issue 25 created by hdietze on 2013-03-02T02:04:28.000Z:

Example:

https://sourceforge.net/tracker/index.php?func=detail&aid=3606431&group_id=36855&atid=440764

One way to support this is to add a GCI for each generated class

standard EC axiom:

  1. HD = D and results_in_development_of some H

additional GCI:

  1. (results_in_developmental_progression_of some H) SubClassOf (part_of some HD)

Still not ideal as reasoners won't return class expressions as results of superclasses. to be discussed further...

Sanity checks for Freeform TG requests

Original issue 28 created by hdietze on 2013-06-05T16:09:36.000Z:

Hi Heiko,

For freeform TG requests, could you add in a few checks, to ensure:

  1. The definitions end with a fullstop.
  2. Terms don't share exact synonyms (with another TG term or an existing term)
  3. Term definitions don't include extra white-spaces.
  4. Spell-check if possible (there's an OBO-Edit dictionary in the editors directory that could be referred to, if possible?)

Are any of these doable? The minor errors are flagged up in OBO-Edit checks, but would be good if they could be highlighted at the source.

Thank you.
Becky

Transporter definitions with no periods

Original issue 24 created by hdietze on 2012-08-08T13:41:55.000Z:

What steps will reproduce the problem?

  1. Add a new transporter term in TG
  2. Check its textual definition in the output obo file

What is the expected output? What do you see instead?
Textual definition ending in a period. Textual definition without a period!

What version of the product are you using? On what operating system?
Latest. MacOS X

Please provide any additional information below.

Allow intact IDs as xrefs in TG freeform

Original issue 36 created by hdietze on 2013-12-16T13:08:26.000Z:

Intact IDs are apparently not accepted in the xref box on TermGenie freeform - despite being in GO_xref.abbs. Please could these be added? Even better - would it be possible to separate out DB and accession components of xref into two boxes and have a choice of valid DB for this field as either pulldown or autocomplete?

Template for assembly/disassembly of CC

Original issue 26 created by hdietze on 2013-05-14T08:24:55.000Z:

Hi,

As discussed on email thread "cc assembly xps" on go-ontology,
Could we please have a new TG template for assembly/disassembly of CC terms.

Many thanks!
Paola

Termgenie for GO not online

Original issue 40 created by hdietze on 2014-03-10T22:22:23.000Z:

When I go to http://go.termgenie.org/ I get a 503 error the message

Service Temporarily Unavailable

The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
Apache/2.2.22 (Ubuntu) Server at go.termgenie.org Port 80

I don't have any emails saying it has moved or is down.

Thanks,
Ceri

TG1: Change synonym scope

Original issue 8 created by hdietze on 2011-11-02T11:03:14.000Z:

In TG1, we would like to be able to edit the synonym scopes.

thanks,

Jane

Feature request: to have a "create another set of terms" button at Step 4 of TermGenie

Original issue 21 created by hdietze on 2012-05-28T15:04:39.000Z:

Hi,

For the curators who infrequently use TermGenie or forget to create multiple templates in the first place, it would be good to have a button at the bottom of the page on the "Step 4 Final matters" stage of TermGenie saying something like "Create another set of terms" after a curator has already created one set of new terms, in order to refresh the page ready to create a new set. Currently one has to to refresh the page but it would be nicer to have a cue at the last step in order to do this.

Thanks,
Yasmin.

Update header for committed obo ontololgy

Original issue 12 created by hdietze on 2011-12-20T20:38:12.000Z:

Update the obo file ontology header for a committed ontology. The following tags should be updated:
date: current date as in oboformat writer (i.e. dd:MM:yyyy hh:mm)
saved-by: user name (long form)
auto-generated-by: Termgenie 1.0

Metabolism templates

Original issue 5 created by hdietze on 2011-08-31T11:52:58.000Z:

I'd like a template for:

X biosynthetic process from Y

I guess the xp would be something like:

[biosynthetic process] has_input [Y]
[biosynthetic process] has_output [X]

It'd probably be worth doing xps for the other metabolism types here too:

X biosynthetic process via Y
X catabolism via Y
X catabolism to Y

Ah, looks like Amelia listed them here:

http://www.geneontology.org/GO.doc.metabolism.shtml#metQual

Add text box for definition comment

Original issue 32 created by hdietze on 2013-11-14T20:34:10.000Z:

Hi,

As discussed at today's editors call
(http://wiki.geneontology.org/index.php/Ontology_meeting_2013-11-14#TG_feature_requests, point 2)
could you please add a text box in both the TG template and the TG free form, so curators can leave notes for themselves. This would appear as a definition comment in the ontology. On top of the text box, we should indicate that the comment will be made public, and request that the comment is entered in the following format:
"An example of this is [name of gene product, such as LysZ] in [species name] [then add UniProt symbol here] in PMID:xxx. [add evidence code here]"
TG reviewers will simply have to strip off the evidence code.

Thanks,
Paola

Create a HP TG instance

Original issue 43 created by hdietze on 2014-06-24T13:45:27.000Z:

This will largely mirror the MP instance, but specific templates may differ (background: the implicit templates that have evolved in these two ontologies are different but we are trying to align them, there will be some tension between forcing this via TG vs allowing ontology-specific patterns).

The svn repo is the same. Source: hp/hp-edit.owl

ID range: see hp/hp-idranges.owl (TG is 3m+)

Seed with the same user permissions, I will modify.

Seed with the same morphology templates as is in HP. Difference: all HP labels start with a leading capital letter (sigh). E.g. HP:0100261 ! "Abnormal tendon morphology"

Key dates:

July 1: Abnormal X morphology template and freeform made ready for testing. Some combination of MH, NV, SK and PR will test.

Between July 2 - July 7: made available at hp.termgenie.org URL

July 2: MH, CJM, NV, PR and SK will suggest additional templates via this tracker.

July 3: A well-specified subset will be implemented

July 7: adding advanced HP term providers (e.g. Heather) to permissions list

Modify existing template: cell-type-specific apoptosis

Original issue 39 created by hdietze on 2014-02-28T12:55:06.000Z:

Hello,

This stems from a SF ticket from Pascale (https://sourceforge.net/p/geneontology/ontology-requests/10669/, first half).
Could we please modify the TG template for cell-type-specific apoptosis so that it yields

is_a: GO:0097285 ! cell-type specific apoptotic process
intersection_of: GO:0097285 ! cell-type specific apoptotic process
intersection_of: occurs_in CL:xxxxxxx ! xyz
relationship: occurs_in CL:xxxxxxx ! xyz

rather than the current

is_a: GO:0006915 ! apoptotic process
intersection_of: GO:0006915 ! apoptotic process
intersection_of: occurs_in CL:xxxxxxx ! xyz
relationship: occurs_in CL:xxxxxxx ! xyz

?
This way, any new term requested via TG will be placed appropriately. Apologies for not realizing this earlier.

I've just fixed these ones manually:
GO:1902362 melanocyte apoptotic process
GO:1902484 Sertoli cell apoptotic process
GO:1902488 cholangiocyte apoptotic process
GO:1902489 hepatoblast apoptotic process

Thanks,
Paola

Add disjoint axioms to TermGenie

Original issue 29 created by hdietze on 2013-06-17T17:17:29.000Z:

We need to add the disjoint to the import chain for TermGenie.

Recently Becky created an unsatisfiable term with conflicting parents:
is_a: GO:0044445 ! cytosolic part --> cytolsol
is_a: GO:0005667 ! transcription factor complex --> nuclear pst

(cytosol disjoint with nuclear part)

We only caught that during the checks in Jenkins, as TermGenie currently does not load the x-disjoint.owl file.

Difficulty: Low
It should be straight forward to add another 'support ontology'. Will do some testing, but there should be no negative effects.

Inclusion of GO IDs in TG1 log message

Original issue 17 created by hdietze on 2012-01-12T10:22:08.000Z:

The log messages for TG1 read:
TermGenie commit for user: rph reviewed by bf.

Could the GO IDs be included in the log message to give a bit more info?

E.g.
TermGenie commit for user: rph reviewed by bf.
GO:1900015
GO:1900016
GO:1900017

There is the option to hand-edit the log of course, but it would be an added-extra (and reduce typo/cut&paste errors) if the IDs could be included automatically.

Thanks,
Becky

Switch on freeform for MP

Original issue 41 created by hdietze on 2014-06-16T05:58:30.000Z:

Freeform is not available for MP yet. I've set up required permissions.

Feature request: ontology reload button

Original issue 31 created by hdietze on 2013-09-18T14:27:27.000Z:

Please could we have an option in TG to force reload of the ontology. This would be really useful when dual-editing in TG and OBO-Edit.

It should have a comment to the effect that the option should be used sparingly because reloading causes all other TG functions to halt until complete.

thanks

Jane

Feature: request for an email to be sent to curator as soon as the terms are created

Original issue 22 created by hdietze on 2012-05-28T15:40:43.000Z:

Hi,

Please could you add a feature for TermGenie to send an automatic email to the curator as soon as the new terms are created so that they have a record of the terms. This is particularly useful if the curators computer crashes soon after the terms have been generated but then when the computer is rebooted the terms have disappeared! It could be an email saying something like: Here are your new terms which are currently being reviewed and another email will be sent when the terms have been accepted and committed to the Gene Ontology."

Thanks
Yasmin.

NTR: CL, secretory cells

Original issue 46 created by hdietze on 2014-06-30T16:17:39.000Z:

Ontology: CL

Slots:

  • Genus (any existing CL term)
  • Secretion process (any GO term under 'cell secretion')

Label:

PROCESS CELL

(note: we expect this to look horrible - should be edited. Ideally would look like "noradreline-secreting neuron")

Def:

Any CELL that is capable of PROCESS

Axiom:

CELL and capable_of some PROCESS

Example:

'neuron' and capable_of some 'GO:0048243 ! norepinephrine secretion'

Expected placement:

under 'neuron' and 'noradrenergic cell'

Note:

this can wait til we upgrade cl.tg.org

Feature request: [chemical] binding template

Original issue 1 created by hdietze on 2011-08-18T10:46:56.000Z:

Hi - can we add a template for x binding to TG please? We already have a protein binding template, but I'd like one for chemicals too i.e. [CHEBI term] binding.

thanks,

Jane

Adding additional synonyms to new TG1 terms

Original issue 20 created by hdietze on 2012-03-06T11:11:36.000Z:

You can currently choose to select or deselect the synonyms suggested by TG1.

Could a feature be added to add in your own synonyms for new terms you are requesting from TG1?

Thanks,
Becky

Fix or add quick validation for PMIDs

Original issue 49 created by hdietze on 2014-08-18T21:46:39.000Z:

A user managed to push a TG class with the PMID:DUMMY into the ontology.
Add or bug fix the existing validation.
Discuss with ontology editors group: Implement/check that GO TermGenie fails with a missing Literature reference for non/admin users?

Perform satisfiability test on generate class expressions

Original issue 15 created by hdietze on 2012-01-04T23:44:02.000Z:

The newly generated class expression should be tested to see if it is satisfiable using the reasoner.

Note that Elk does not support this for anon class expressions - so this should be done after the class is added to the ontology and the reasoner is run.

Test example. Use this ontology as input:

This is simply the combination of go and some disjointness axioms

Then try and make a class using the part-of-cell-component template:

nucleus and part_of some 'extracellular region'

The reasoner should detect that the equivalent named class is unsatisfiable.

Note that Elk0.2 does not detect unsatisfiable classes - it should be easy to roll a check that uses disjointness on top of the normal reasoning process, but this may be unneccessary if a new version of elk comes out soon that fixes this.

Create cl.termgenie.org

Original issue 37 created by hdietze on 2013-12-18T21:03:27.000Z:

At first just one template:

?CellType and part_of some ?AnatomicalEntity

Where CellType is anything from CL and AnatomicalEntity anything from Uberon

Example: "neuron of hippocampus" "A neuron that is part of a hippocampus"

(in theory it would be possible to use the "relational adjective" annotation in uberon to make the nicer "hippocampal neuron", "hippocampus neuron" is fine though)

Use [email protected] as the agent.

Feature request: regulation of y process by regulation of transcription from RNA polymerase II promoter

Original issue 4 created by hdietze on 2011-08-19T10:53:54.000Z:

Could we please have an automated way to add requests for the following:

regulation of y process by regulation of transcription from RNA polymerase II promoter
is_a: regulation of y process
is_a: regulation of transcription from RNA polymerase II promoter

negative regulation of y process by negative regulation of transcription from RNA polymerase II promoter
is_a: negative regulation of y process
is_a: negative regulation of transcription from RNA polymerase II promoter

positive regulation of y process by negative regulation of transcription from RNA polymerase II promoter
is_a: positive regulation of y process
is_a: negative regulation of transcription from RNA polymerase II promoter

negative regulation of y process by negative regulation of transcription from RNA polymerase II promoter
is_a: negative regulation of y process
is_a: negative regulation of transcription from RNA polymerase II promoter

negative regulation of y process by positive regulation of transcription from RNA polymerase II promoter
is_a: negative regulation of y process
is_a: positive regulation of transcription from RNA polymerase II promoter

Plus intersections.

See discussions in fortnightly editors meetings:
http://gocwiki.geneontology.org/index.php/Aug_3#Discussion_notes_-_III
http://gocwiki.geneontology.org/index.php/Aug_17

See existing terms as a template:

positive regulation of gluconeogenesis by negative regulation of transcription from RNA polymerase II ; GO:0035949

regulation of gluconeogenesis by regulation of transcription from RNA polymerase II promoter ; GO:0035947

regulation of glycolysis by regulation of transcription from RNA polymerase II promoter ; GO:0072361

Thanks,
Becky and GOed

Feature request: non-template term submission

Original issue 2 created by hdietze on 2011-08-18T10:55:07.000Z:

What would be really useful would be an option to submit non-template terms, where the user specifies the parent terms, def, dbxrefs.

Obviously we'd want these to come through a separate pipeline to the template terms because they'd need to be very thoroughly checked, but often our power users request terms that require little or no editing and if they were able to do that in a format that could be directly submitted into the ontology, it would save us lots of work. I'm thinking things like catalysis terms, protein complexes etc.

Additional "Literature_refs" in TG

Original issue 38 created by hdietze on 2014-01-21T10:18:51.000Z:

Hello,

Sometimes curators can provide more than one literature reference for a new term. Would it be possible, please, to add a "More, Less" option for the "Literature_Ref" field in TermGenie (template version), similar to what is in place for the "Optional DefX_Ref" field?
I presume that it would be ok to use the "Optional DefX_Ref" field, but the curators may not be aware of this.

Thanks,
Paola

additional DefX_Ref dropdown option

Original issue 23 created by hdietze on 2012-07-13T12:52:42.000Z:

For the template dropdown menu options in DefX_Ref would it be possible to have UniPathway: as one of the options?
Yasmin

Adding HAS_PART relationship for TG requests

Original issue 30 created by hdietze on 2013-08-22T11:01:30.000Z:

Hi Heiko,

Could we add the option of adding in HAS_PART relationships to the TG freeform template, please?

They'd be useful for many of Birgit's complex terms. At the moment we're adding in the HAS_PARTs by hand, once the TG term is committed.

Thanks,
Becky

Feature Request: Add option to create synonym if term already exists

Original issue 9 created by hdietze on 2011-11-30T00:49:47.000Z:

During the term generation, TermGenie checks if a term with the same logic definition already exists. Should this be the case, add an option to add the generated label as new synonym to the term.

Requested by Tanya and David during GOC meeting Nov 2011

Add ability to clone rows

Original issue 44 created by hdietze on 2014-06-25T21:23:49.000Z:

Sometimes we may have to enter an M x N cross product. E.g.

{neuron,glial cell} and part_of some {forebrain,hindbrain,midbrain}

Here it would be convenient to enter 3 rows

  • forebrain neuron
  • hindbrain neuron
  • midbrain neuron

And then to duplicate these (en masse or one at a time) and replace neuron with glial cell

Switch ID space BATTO -> OBA

Original issue 34 created by hdietze on 2013-12-11T21:54:38.000Z:

BATTO is now OBA

The ontology continues to live in bio-attributes.obo in go/ontology/extensions for now.

The IDs have already been switched (odd things could happen if batto TG users are to submit now, but they have been told not to).

It's fine to leave the url as batto.termgenie.org

The source java files can also remain as Batto.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.