EcoliWiki:Gene Association File: Difference between revisions

From EcoliWiki
Jump to navigation Jump to search
Line 116: Line 116:
This script will print the erroneous lines with short descriptions of the problem. Some of these errors will be easy to fix and will not have any biological significance. A common error is misspellings or disallowed entries in the ''Assigned_by'' column (column 15.) Other errors are non-trivial and should be kept track of for further curation.  
This script will print the erroneous lines with short descriptions of the problem. Some of these errors will be easy to fix and will not have any biological significance. A common error is misspellings or disallowed entries in the ''Assigned_by'' column (column 15.) Other errors are non-trivial and should be kept track of for further curation.  
{{Info|I need to make sure this information gets back to EcoCyc. <br />--[[User:DanielRenfro|Daniel]] 22:43, 8 March 2010 (UTC)}}
{{Info|I need to make sure this information gets back to EcoCyc. <br />--[[User:DanielRenfro|Daniel]] 22:43, 8 March 2010 (UTC)}}
* Get the ''good'' lines from the EcoCyc release, for later inclusion into the GAF.
./filter-gene-association.pl -i gene_association.ecocyc-13.0 -p nocheck -w > good_lines.ecocyc


====Step 2 - EcoliWiki annotations====
====Step 2 - EcoliWiki annotations====
* Get the annotations from EcoliWiki. We use a custom-written script to pull annotations from the wiki, named ''mine_annotations.php.''
php5 mine_annotations.php -w ecoliwiki/colipedia > gene_associations.ecoliwiki
* Just like with the EcoCyc annotations, we must validate the annotations. The lack of restrictions in the annotation table makes for some interesting errors, most of which can be fixed by hand. These errors need to be fixed in the wiki as well, or they will show up again next month.
./filter-gene-association.pl -i gene_associations.ecoliwiki -p nocheck -e > bad_lines.ecoliwiki
* Using a text editor, the errors are fixed. Some sample errors are:
a.) unprintable character found on this line, may not be this column
b.) Line identical to previous line
c.) Qualifier column=4 allowed type not present, found "Deprecated"
d.) DB:Reference column=6 format of reference not DB:REFID
Some characters, such as 'β', cannot be included as there is no standard encoding for the GAF and they can become garbled. Also, EcoliWiki does not enforce strict reference notation, so some lines may need a PubMed number.
* After the file has been fixed to an acceptable degree, the good lines are obtained for inclusion into the GAF.
./filter-gene-association.pl -i gene_associations.ecoliwiki -p nocheck -w > good_lines.ecoliwiki


====Step 3 - Merge====
====Step 3 - Merge====

Revision as of 23:12, 8 March 2010

See text for description.

Overview

EcoliWiki and EcoCyc contribute to the Gene Ontology (GO) by monthly submitting our annotations.

The two sites' annotations are prepared by the EcoliWiki team (mostly [[User:DanielRenfro|Daniel,) and submitted via CVS to the GO Consortium. The figure at right shows the four basic steps to this process:

  1. Obtain annotations from EcoCyc (quarterly)
  2. Obtain annotations from EcoliWiki (monthly)
  3. Merge them and resolve name-conflicts
  4. Submit to the GO

Detailed Description

There are actually two files that get submitted each month. The gene association file and the gp2protein file. A detailed description of each can be found in the GO Consortium's documentation.

header information

Occasionally the header information in the gene_association file needs to be updated. This information can be found in the gene_assocation.ecocyc.conf file in the go/gene-associations/submission/ directory of the GO CVS.

To change this information, just edit the file from the CVS checkout and resubmit it. It will get prepended to the gene_assocation file automatically.

gene_association.ecocyc

The following is the process by which the annotation file is prepared, broken into managable steps.

Step 0.5 - Setup the environment

The process requires some files and scripts from the GO Consortium. Instead of do this by hand each month, Daniel wrote a script to handle this part of the process. To use this bash script, copy this code into a file and make it executable. On our servers it is named gaf_setup.sh.

The first step is to run this script. Alternatively, you can follow the directions below to do this by hand.

gaf_setup.sh

<php>

  1. !/bin/bash
  2. -------------------------------------------------------------------------------
  3. gaf_setup.sh Daniel Renfro 01/2010
  4. This script sets up a working directory for the montly creation of the
  5. gene-associations file and the gp2protein file for EcoliWiki.
  6. -------------------------------------------------------------------------------

working_dir=$(date "+%Y-%m-%d")

  1. prefix="/usr/local/phpwikibots/trunk/PDB_Table" # absolute path bad.

prefix=`dirname "$0"` # relative path good.

  1. make the working directory

mkdir $working_dir cd $working_dir

  1. make some necessary directory

echo "Creating directories..." mkdir ontology mkdir doc

  1. download the stuff from GO

echo "Downloading files from the Gene Ontology..." ncftp ftp://ftp.geneontology.org/pub/go/software/utilities/ <<END_SCRIPT get filter-gene-association.pl get check-abbr-ga-file.pl quit END_SCRIPT ncftp ftp://ftp.geneontology.org/pub/go/ontology <<END_SCRIPT get gene_ontology_edit.obo quit END_SCRIPT ncftp ftp://ftp.geneontology.org/pub/go/doc/ <<END_SCRIPT get GO.xrf_abbs quit END_SCRIPT

  1. put the files in the right places

mv gene_ontology_edit.obo ontology mv GO.xrf_abbs doc

  1. set the permissions on the executable files.

chmod +x check-abbr-ga-file.pl filter-gene-association.pl

echo "setup complete."</php>

manual setup
  • Make a new directory to work in.
cd /usr/local/working/GAF/
mkdir YYYY-MM-DD
chmod 775 YYYY-MM-DD
cd YYYY-MM-DD
  • Look through the wiki and find things that are wrong and can be fixed and fix them.
php5 /usr/local/phpwikibots/trunk/find_GO_terms_with_changed_names.php -w /Library/WebServer/WebServer/Documents/ecoliwiki/colipedia 
php5 /usr/local/phpwikibots/trunk/find_obsolete_categories_and_annotations.php -w /Library/WebServer/WebServer/Documents/ecoliwiki/ -C -A 
  • Make some directories for use later
mkdir {doc, ontology}
  • Download some scripts and some files. Here we are using the ncftp commandline tool, you can use whichever tool you are comfortable with.
ncftp ftp://ftp.geneontology.org/pub/go/software/utilities/
  get filter-gene-association.pl
  get check-abbr-ga-file.pl
  quit
ncftp ftp://ftp.geneontology.org/pub/go/ontology
  get gene_ontology_edit.obo
  quit
ncftp ftp://ftp.geneontology.org/pub/go/doc/
  get GO.xrf_abbs
  quit
  • Move some of those files into the directories.
mv gene_ontology_edit.obo ontology/
mv GO.xrf_abbs doc/


Step 1 - EcoCyc annotation

EcoCyc's quarterly releases contain their annotations in the gene_association file format. The file is typically named gene_associations.ecocyc.... (Notice the plural on associations). In order to prepare their annotations, we must first parse the annotations for validity.


./filter-gene-association.pl -i gene_associations.ecocyc-13.0 -p nocheck -e 

This script will print the erroneous lines with short descriptions of the problem. Some of these errors will be easy to fix and will not have any biological significance. A common error is misspellings or disallowed entries in the Assigned_by column (column 15.) Other errors are non-trivial and should be kept track of for further curation.

I need to make sure this information gets back to EcoCyc.
--Daniel 22:43, 8 March 2010 (UTC)

  • Get the good lines from the EcoCyc release, for later inclusion into the GAF.
./filter-gene-association.pl -i gene_association.ecocyc-13.0 -p nocheck -w > good_lines.ecocyc 

Step 2 - EcoliWiki annotations

  • Get the annotations from EcoliWiki. We use a custom-written script to pull annotations from the wiki, named mine_annotations.php.
php5 mine_annotations.php -w ecoliwiki/colipedia > gene_associations.ecoliwiki 
  • Just like with the EcoCyc annotations, we must validate the annotations. The lack of restrictions in the annotation table makes for some interesting errors, most of which can be fixed by hand. These errors need to be fixed in the wiki as well, or they will show up again next month.
./filter-gene-association.pl -i gene_associations.ecoliwiki -p nocheck -e > bad_lines.ecoliwiki
  • Using a text editor, the errors are fixed. Some sample errors are:
a.) unprintable character found on this line, may not be this column
b.) Line identical to previous line
c.) Qualifier column=4 allowed type not present, found "Deprecated"
d.) DB:Reference column=6 format of reference not DB:REFID

Some characters, such as 'β', cannot be included as there is no standard encoding for the GAF and they can become garbled. Also, EcoliWiki does not enforce strict reference notation, so some lines may need a PubMed number.

  • After the file has been fixed to an acceptable degree, the good lines are obtained for inclusion into the GAF.
./filter-gene-association.pl -i gene_associations.ecoliwiki -p nocheck -w > good_lines.ecoliwiki

Step 3 - Merge

Step 4 - Submit

gp2protein.ecocyc

See Also