GONUTS has been updated to MW1.31 Most things seem to be working but be sure to report problems.

It is now the 2nd CHALLENGE Period for CACAO Spring 2020! It will end on Sunday February 23, 2020 at 11:59 pm CST
This is your chance to challenge other team's annotations. You may also DEFEND or suggest improvements to your own annotations IF they have been challenged. Please note, although we ENCOURAGE challenges, an excess of identical challenges that do not appear to be applicable to the annotation or well thought out will be considered spam and ignored.
Have any questions? Please email us at ecoliwiki@gmail.com

GO wiki scripts

Jump to: navigation, search

The GO wiki updater is actually set of scripts to manage this wiki.

Controlled from index.php

The GO wiki homepage links to this wiki and also to some scripts for updating the wiki.


Automatically downloads the obo file and saves it to a tmp directory.


Parses the obo file into a database outside the wiki GO_archive. Records are only saved to the database if they have been changed. New versions are saved to the same GO id, so that the history of revisions can be tracked, starting in July 2006 when the system was rewritten.


This script is a php script that lives in the pywikipedia bot directory. The script, which is run from the command line

  • Looks for GO terms that were updated on the same date as the most recent parsed version of the obo file.
  • Determines whether an old page should be updated, or if a new page is needed.
    • If a new page is needed, then it writes a temp file and uses the pagefromfile.py bot to create the new page
    • If an old page has to be revised, then it edits the record in the mysql database, then uses touch.py to touch the page so it updates properly.

JimHu Using touch.py caused process buildup and a server crash. Changed to do all updates and then run php rebuildall.php from the maintenance scripts.


where x is a database. These take a sorted, decompressed annotation file and create or update gene pages as articles.

Known issues

it may be possible for the external database to get out of synch with the updating of pages. This could lead to some terms being skipped. Solution will be to decouple update.php from the website and have it run before replace_old.php