In a scientific paper I have been studying ("Predicting Novel Human Gene Ontology Annotations Using Semantic Analys" S.Draghici et al., 2010), I have read that authors checked the accuracy of their annotation predictions by searching on available literature the scientific evidence of their discoveries.

So, for instance, if they predicted an annotation X, they would search for scientific papers that prove that the predicted annotation is correct.

I think I could use the same method for my annotation prediction experiments, but how to do it? How to search evidence of a certain annotation by browsing literature?

Should I just visit PubMed website and use annotation id as keyword for search? And which source (EntrezGene, etc) id should I use?

  • 2
    $\begingroup$ Text-mining the scientific literature has become a very popular topic recently. I think this question is definitely on-topic, but you're likely to get a better response from biostars.org, where I've seen many more questions related to mining the literature. $\endgroup$ May 15, 2012 at 13:21
  • 1
    $\begingroup$ Haha, looks like you already posted it there! $\endgroup$ May 15, 2012 at 13:22
  • $\begingroup$ @Daniel Standage Lol ^_^ $\endgroup$ May 15, 2012 at 13:37
  • $\begingroup$ Might be more likely to get a good answer at Academia.SE? $\endgroup$
    – Armatus
    May 15, 2012 at 18:14

1 Answer 1


Well here's my take.

Too bad there is no open access to this article.

I see that they only had statistics for the top 50 annotations, which implies a fairly manual process - you are going to have to read a bunch of articles or abstracts to decide directly whether the software is right.

In this case, the authors are using a weighted latent semantic indexing method, which have started with a bunch of articles for each gene. In this case they would need to only look over the data they put into their training.

That might not answer your question though. If you wanted to search through the literature to confirm annotations generated by a different method...you could create a semi automated process perhaps like this:

Do a rough search from NCBI in an automated fashion (I use biopython) and then read every article for validation of the Gene Ontology result.

Its possible you could search for the gene and the GO term if to get a more focused result, load them into a database or just create a set of files with the data. I would build a little website that would let me scan through the abstracts with links to the complete articles (pubmed supplies DOI numbers) and just check 'yea' or 'nay' on whether confirmation happened.

There's other potential options on finding articles for search. the Genbank record for the gene often has a few references in it. One might use pubmed's referencing feature, where you can start at these confirmed articles that describes the gene in question and use pubmed to show articles that have referenced that first article. I'm not sure if this is accessible by API, but you can build an article graph by crawling the bibliographic references.

For anything that was neither directly contradicted nor confirmed you would have to go back to google and look until you found something. Clearly there are genes for which you will find no reference at all, and you will have to avoid these for confirmation.

I'm not sure if they checked for any biases here. If something like interpro2go which generates GO mappings from protein domains was used to generate the annotations, you would want to take care that you weren't just rediscovering the references which helped generate the annotations in the first place.

  • $\begingroup$ I face a similar problem. I know that something is a fact but i am not able to get the exact references for them. A big problem is how to select appropriate keywords that describe the fact. Do you have an idea about this?? And Is this topic worth a new question ? $\endgroup$
    Jun 17, 2013 at 10:58
  • $\begingroup$ it might be worth getting a new question started, but I recommned Latent Semantic Indexing or Dirchelet decomposition, or Bayesian filtering (google plan for spam) if you are something easier. $\endgroup$
    – shigeta
    Jun 17, 2013 at 21:51

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .