Ontology CVS Directory Layout Overhaul 2007

From GO Wiki
Jump to: navigation, search

Rationale

The current layout is confusing, with the edit file serving two purposes: an editors version and an obof1.2 version

Purpose: provide buffer between ontology users and editors to allow implementation of new features in a way that is non-disruptive

Currently we have

 go/
   ontology/
     gene_ontology.obo
     gene_ontology_edit.obo

this was designed to be a separate editors and for-public version of the ontology. However, the editors version has been advertised as the file to download for the public wishing to get obof1.2 features.

Timeline

Immediate timeline

The new layout will be phased in from March 18-25 2007.

This will be tied in with the introduction of the regulates relation

  1. Midnight Pacific time March 18 (8 am, 3/19 Jen's time) : Begin freeze.
    • Jen merges electron transport changes into gene_ontology_edit.obo, then let's Chris know that he can start file conversion
    • This marks the last ever manual edit to gene_ontology_edit.obo
  2. March 19: Add regulates relations - keep in scratch/ then cp to gene_ontology_write
  3. March 20: Switch edit files: gene_ontology_write.obo open for business.
    • Editors (David, Tanya, Jen only) can edit new file for QC purposes only. However, new changes remain largely invisible to general public
  4. March 20-25: Switch script to use gene_ontology_write as source. See software TODO below
  5. Freeze period will last until March 25th, x am Pacific when Chris puts up gene_ontology_write.obo as editor's file. Chris will email go list to say that new file is available for editing.
  6. March 26+: Announce changes to community

Future changes

Dates to be determined

  1. Extract slims from for-public version
    • (retain in go_write for ease of maintenance)
  2. Introduce stanza timestamps to write version
  3. Add a obof1.3 export directory

Proposed new layout

The layout here is for the cvs tree. This is also reflected in the public URLs for GO. E.g the following are equivalent:

This is the proposed structure:

go/
  ontology/
 
    gene_ontology.obo            
        -- The current for-public version of GO.
        -- Format: obof1.0 (currently)
        -- We reserve the right to switch to obof1.2, and any future versions,
        -- given sufficient lead time for file consumers to change software.
        -- If you wish to use a file that is *guaranteed* to be obof1.0, please consider
        -- go/ontology/obo_format_1_0/gene_ontology.1_0.obo
 
    gene_ontology_edit.obo       
        -- ** DEPRECATED [March 25 2008] **
        -- Format: obof1.2
        -- Use of this file is no longer recommended after March 25 2008
        -- Please use go/ontology/obo_format_1_2/gene_ontology.1_2.obo instead
        -- (the contents should be identical)
        -- This file path will be fully supported throughout 2008 and possibly indefinitely
  
    obo_format_1_0/
 
      README
          -- contains links to obof1.0 documentation
      
      gene_ontology.1_0.obo
          -- Format: obof1.0
          -- Recommended instead of: go/ontology/gene_ontology.obo
 
    obo_format_1_2/
 
      README
          -- contains links to obof1.2 documentation
 
      gene_ontology.1_2.obo        
          -- Format: obof1.2
          -- Must be used instead of: go/ontology/gene_ontology.obo
 
    editors/
 
      README
 
      gene_ontology_write.obo
          -- You should only use this file path if you are editing the live ontology.
          -- We do not recommend use of this file for non-editors. The file may
          -- contain experimental new features or tags that are filtered out in
          -- the for-public version.
          -- Caveat emptor!

There is further explanation here:
http://wiki.geneontology.org/index.php/Thaw_Mail


Software/Admin TODO

Fix scripts for updating .obo files and .go files.

The sequence of events is as follows:

  1. generate obo_format_1_2/gene_ontology.1_2.obo
    • at first this will be a direct cp of editors/gene_ontology_write.obo
    • in the future it may use obo2obo (for example, to separate out slims)
  2. generate obo_format_1_0/gene_ontology.1_0.obo
    • using obo2obo
  3. generate deprecated files
    • using cp
  4. cvs commit

Derived files in CVS

See Derived files in CVS

FAQ

will this break scripts / configurations or lead to dead or stale links?

No, absolutely not. The change will be invisible to most uses as http://www.geneontology.org/ontology/gene_ontology_edit.obo and http://www.geneontology.org/ontology/gene_ontology.obo will continue to be contain up-to-date (< 24hrs) versions of the ontologies in .obo format.

We may *eventually* deprecate http://www.geneontology.org/ontology/gene_ontology_edit.obo - however, we would not have stale URLs. We could do a URL redirect (http code 304) to http://www.geneontology.org/ontology/obo_format_1_2/gene_ontology.1_2.obo

when should I change my scripts / configuration?

Any time after March 25 2008. There is no set window in which this needs to be done. http://www.geneontology.org/ontology/obo_format_1_2/gene_ontology.1_2.obo will be synonymous with http://www.geneontology.org/ontology/gene_ontology_edit.obo

See Also

Versioning_Proposal