BACKGROUND
recent decades have seen a massive increase in the amount of data available to researchers.
revolutionary high-throughput technologies have enabled data production on an unprecedented scale in many areas of the life sciences.
to accommodate this increase in experimental data, we have also witnessed a database explosion, with both the number and size of specialised biological repositories growing enormously over the years  <cit> .
most of these resources offer their own data formats, websites and programmatic interfaces.
this has made the task of retrieving information increasingly difficult and complex  <cit> .
gpcrdb  <cit>  is one of the earliest examples of a molecular-class specific information system .
it collects, combines, validates and disseminates large amounts of gpcr-related content, bringing together information  from other databases, and augmenting this with manually annotated data , as well as computationally-derived multiple sequence alignments and homology models.
its contents are validated, integrated, internally consistent  <cit>  and updated regularly  <cit> .
gpcrdb thus functions as a one-stop shop for gpcr-related knowledge, relieving scientists of the burden of going through the process of finding multiple data sources, of learning how to use them, and of then retrieving, synthesising and integrating the retrieved information.
much of the routine practice of communicating scientific knowledge is conducted through the process of reading and writing scientific papers, an invaluable method that has been used successfully for hundreds of years.
however, it is now widely acknowledged that this approach imposes considerable constraints upon the type and quantity of biological information published: specifically, the data used to generate hypotheses and to perform experiments are not readily accessible to fellow researchers who use the results of their peers' publications.
relating information between databases and literature has become increasingly difficult with the growing quantities of data and documents available, and it is evident that new solutions are required to address this problem  <cit> .
when reading about a mutation, a scientist might, for example, want to know the location of the mutated residue in the structure, or find other articles describing the same mutation.
although systems like gpcrdb provide scientists with access to focused information derived from the literature, subsequent exploration of concepts in related articles still poses practical hurdles .
with the goal of bridging the gap between data and scientific articles, several initiatives have explored how to enrich scientific literature with repository data, either by manual annotation  <cit>  or by automatic approaches  <cit> .
the results of these projects are encouraging, but also point to what remains to be done.
for example, shotton et al.
<cit>  have explored the use of semantic annotations, beautifully illustrating the possibilities of these types of technologies.
however, providing enhancements of this quality on a routine basis is still far beyond our reach; this impressive example is limited to one paper, and a very large amount of manual input was involved.
one of the most promising automated initiatives, the reflect  <cit>  system, provides annotations for a very large number of biological entities, covering genes, proteins and a large number of small-molecule compounds.
these annotations contain an enormous wealth of data and hyperlinks to a multitude of information systems.
however, automation of the process carries the price of a large number of errors; hence, vigilance and caution are required, coupled with a significant amount of manual effort to validate and disambiguate the results.
in addition, the aforementioned approaches all focus on html/xml formats, and require users to read their articles in a web browser, ignoring the de facto standard format of scientific literature: adobe's portable document format .
this is by far the most popular format for peer-reviewed science communication, for reasons that include the benefits of their permanence, device independence, and ubiquitous support and good readability.
it therefore makes sense to exploit the pdf; the software tool utopia documents  <cit>  was developed for just this purpose.
behaving like a familiar pdf reader, utopia documents is a desktop application for reading and exploring papers.
its strength lies in being able to semantically annotate concepts in documents with additional relevant information and links to online resources.
we report here a technology that allows on-the-fly annotation of gpcr-related pdf articles.
by fully integrating the utopia documents pdf reader and the gpcrdb information system, we can present to the scientist, in a non-intrusive way, all possible data and information related to the topics discussed in the article at hand.
this makes possible a paradigmatic change in the relationship between the pdf-reading scientist and internet-based data resources, alleviating the troubles associated with navigating the many links between existing data and information in this field.
the scientist neither struggles to get access to information related to topics within an article, nor is swamped by unnecessary information that still needs disambiguation; only data and information relevant to the topic of the article is made available.
implementation
the system comprises three parts: the utopia documents reader; the gpcrdb; and a module that performs the communication between the two.
users can annotate a document with gpcr-specific information with a single click, but, behind the scenes, the pdf annotation is a multi-step process:
<dig>  extracting the text from the pdf document
<dig>  identifying concepts
<dig>  creating relevant annotations based on gpcrdb data
<dig>  adding the annotations to the document
<dig> and  <dig> are carried out by utopia documents, while  <dig> and  <dig> are performed by gpcrdb .
the communication between the device running utopia documents and gpcrdb is done from within utopia documents by a gpcrdb-specific plugin.
this plugin, written in the python programming language, makes use of the publicly available web service  and utopia's plugin-api to facilitate the communication and data exchanges between the utopia documents reader at the scientist's computer and the remote gpcrdb computing facilities.
within the plugin, the text is extracted from the pdf document and sent via the web service to gpcrdb.
there, the text is analysed automatically and annotations are created that are passed back to the main utopia client to be displayed on the article as highlighted regions.
more information on plugins can be obtained from the paper by attwood et al.
<cit> .
identifying concepts
concepts for which we can provide information  must be unambiguously identified to be able to present users with relevant information.
clearly, it is important to ensure that terms in the pdf are correctly mapped to terms in gpcrdb.
concepts must be found in the text and coupled to a unique database identifier, a process referred to as normalization  <cit> .
in the case of a protein, this requires knowledge about the species from which it originates.
the term 'rhodopsin', for example, cannot be normalised, whereas the words 'human rhodopsin' would map to the uniprotkb:swiss-prot identifier 'opsd_human'.
for residues and mutations, each occurrence needs to be identified and associated with one of the proteins mentioned in the text, a process called grounding  <cit> : e.g., 'trp161' is meaningless, whereas 'trp <dig> in human rhodopsin' maps to a unique residue in one specific protein, and is thus grounded on a normalised protein.
it is beyond the scope of this article to provide an exhaustive explanation of all algorithms and heuristics involved in normalisation and grounding.
however, at the heart of both tasks lies the use of a metric based on word distances, in which combinations of terms that are close together in the text are favoured over more distant combinations.
the distance metrics are combined with a number of heuristics, filters and validations.
some of the heuristics have been described elsewhere  <cit> , while a series of related heuristics have been newly designed and implemented.
in the following sections, we describe the most important steps involved in extracting and identifying proteins, residues and mutations.
protein identification and normalisation
protein identification is the non-trivial task of pinpointing words that represent a gene or protein.
we use a dictionary-based approach.
dictionaries are populated with gene identifiers, protein identifiers and protein descriptions from all gpcrs in gpcrdb that are present in uniprotkb:swiss-prot  <cit> .
uniprotkb's swiss-prot component is used because of its consistent mapping between protein sequences and their descriptions.
commonly observed synonyms not present in the database-extracted list were manually added to the dictionaries.
the text is scanned for gene or protein occurrences using approximate dictionary matching, allowing for some variability.
separate dictionaries are created for gene identifiers, protein identifiers and protein descriptions, each with their own scoring metric.
this makes it possible to set high penalties for mismatches between reference dictionary entries and detected gene or protein identifiers, while allowing more variability  when scoring protein descriptions, taking into account their free-text and relatively changeable nature.
the linnaeus  <cit>  system is used to find species occurrences in the text, and to normalise these occurrences to ncbi taxonomy  <cit>  identifiers.
the normalised species occurrences are then used to complete the normalisation of the identified protein occurrences.
mutation and residue identification and grounding
identifying point mutations and residues involves two subtasks.
first, it is necessary to identify the mutation or residue terms discussed in an article.
second, the identified residues and mutations must be grounded.
three entities in the text need to be related to identify point mutations: the wild type residue, the mutant residue, and the position in the sequence where the substitution occurred.
point mutations are represented in the literature in a variety of ways.
the most common representation is in the form 'xny', where × is the single-letter code for the wild-type residue, n its location and y the single-letter code for the substituted residue .
however, there are many variations on this theme, ranging from the use of three-letter amino acid codes, as in 'asp98phe' and 'asp <dig> → phe', to more exotic notations, like 'asp98-phe98', 'd <dig> to phenylalanine' and 'asp  <dig> was mutated to phenylalanine'.
regular expressions are used to identify residues and mutations.
articles about gpcrs refer to mutations and residues using one of four numbering schemes.
the most frequently used are the standard sequential numbering scheme and the scheme of ballesteros-weinstein  <cit> .
other articles use the oliveira scheme  <cit>  , or their own, article-specific scheme.
the ballesteros-weinstein and oliveira schemes are so-called general residue numbering schemes.
these allow consistent residue numbering across multiple proteins, independent of their sequential numbers.
the underlying principle is that residues with the same general residue number have equivalent locations in their tertiary structures and consequently in the multiple sequence alignments.
in the widely used ballesteros-weinstein scheme, residue numbers are in the format 'tm.n', where the number before the period indicates the number of the transmembrane helix, and the number after the period indicates the residue position with respect to the most conserved residue position in the helix .
some articles discuss residues and mutations using an article-specific numbering scheme.
often, standard sequential residue numbers are used that do not exactly map to the protein sequence in the database.
this mismatch can arise owing to inclusion of signal peptides in the sequence, different isoforms, etc.
in these cases, there is an offset by which the residue numbers must be corrected to obtain a valid mapping to the reference sequences in the database.
a regular expression-based approach is taken to calculate the right offsets.
when multiple offsets are possible , the offset is chosen that is closest to the residue numbers mentioned in the text.
residues and mutations are grounded mainly based on proximity to proteins mentioned in the text, favouring combinations that occur within the same sentence.
validation of these combinations is performed by comparing the identified residues and mutations to the sequences of the candidate protein mentions, using similar approaches to those discussed by horn et al.
<cit> .
where general residue numbers have been used, the sequential numbers are retrieved from gpcrdb for all candidate protein mentions.
RESULTS
gpcrdb contains a substantial amount of information, but for this to be useful, users require more than just large collections of 'data'.
for the three concepts for which we provide annotations , we have selected data, links and knowledge that we believe will benefit users when reading an article, allowing them to link effortlessly from the text to all relevant information in gpcrdb.
once a paper is annotated, red marks on the side of the pages indicate where annotated concepts are located, as shown in figure  <dig>  the intensity of the red marks increases with the number of annotations at those positions.
all annotated concepts can also be highlighted simultaneously by pressing the space-bar.
proteins
protein annotations contain links to a number of sources .
a link pointing to the protein detail page in gpcrdb is always present.
here, users can find information relating to the protein sequence, mutations, homology models, ligand-binding data, and so on.
in addition, a link to the protein family page is provided.
from here, all other protein family members can be retrieved, multiple sequence alignments can be accessed, etc.
protein annotations also contain links to uniprotkb for a detailed report on the protein, and, if available, a link to ensembl for the genomic view.
we provide a list of synonyms for the protein names.
structural information on gpcrs is still limited, but we provide links to structures when they are available.
if oligomerisation information is available, we provide links to pages that contain the relevant details.
residues
residue annotations contain various links and a selection of data pertinent to that specific residue .
the protein name is linked to its protein detail page in gpcrdb.
the residue type is displayed, together with its residue number in several numbering schemes.
general residue numbers are provided in two different schemes: the commonly used ballesteros-weinstein scheme, and that of oliveira et al.
the sequential residue number is also shown.
sequential residue numbers in gpcrdb annotations may not be identical to residue numbers described in an article.
if the software has detected a mismatch and made the appropriate corrections, this will be noted in the annotation.
a one-line description of the location and interactions of the residue is given, based on manual analysis of currently available protein structures.
a three-dimensional cartoon image of a gpcr structure is provided, in which the position of the residue is highlighted.
this allows readers to directly place the information in the article in a structural context.
if the residue is located in a structurally conserved region of the class a gpcrs, and thus has a general residue number in gpcrdb, a link is given that will create a yasara scene containing the homology model of the protein with the residue highlighted in the structure.
if the residue is part of a reported oligomerisation interface, links to more detailed descriptions of that interface are included.
for each residue, a link is provided to a gpcrdb page summarising all known data and information for that residue, including information about available mutations at that position, and mutations at equivalent positions in other proteins.
mutations
the mutation annotations also link to the protein detail page.
if gpcrdb contains information about the same mutation from other literature, links to the relevant pubmed pages are provided.
this way, users can immediately look up literature that discusses the same mutation.
if gpcrdb contains mutations at the same position in the same protein, but with a different mutated residue type, links to relevant gpcrdb pages are provided.
a link to a page that displays mutations at the same  position in other proteins is always present.
in addition to links to other literature or other mutations, gpcrdb contains a large amount of descriptive information about the effects of mutations - such information has been culled, over the years, from painstaking analysis of the literature, and manually added to the knowledgebase in the form of short summaries.
where such information is present in the gpcrdb for the mutation at hand, this information is provided automatically in the annotations displayed in the side-bar.
if the mutation is located at a position in a structurally conserved region of the class a gpcrs, and thus has a general residue number in gpcrdb, a link is given that will create a yasara scene containing the homology model of the protein, with the wild-type and mutated residues highlighted in the structure.
in addition to mutation-specific information, mutation annotations also contain general information about the mutated residue.
this residue-specific annotation is identical to the information displayed within residue annotations .
community annotations
with this work, we take the integration of literature data in gpcrdb one step further.
using the pdf reader, when a mutation is identified in a scientific article that is not yet known to the gpcrdb, this mutation is automatically integrated into the gpcrdb, making this information available from both the gpcrdb website as well as from the annotations within utopia documents.
thus, when a user reads another article discussing a mutation at the same position, links to the newly integrated article will appear as an integral part of the annotation display, allowing immediate navigation to the appropriate literature.
in addition, behind the scenes, for all articles annotated using the reader, sentences are extracted in which mutations are mentioned.
this information, which effectively provides an at-a-glance summary of the article with respect to that mutation, is stored in the gpcrdb and made available from the gpcrdb website.
because we strive to include only the most highly relevant data and information in the annotations offered by utopia documents, this automatically extracted text is not displayed with the pdf reader, and is only accessible through the gpcrdb website.
annotations and the rescue of data
the integrated view of literature and data offered here is invaluable when reading articles published before the first x-ray structure of a gpcr, that of bovine rhodopsin  <cit> , became available.
prior to that moment, researchers often interpreted their experimental results in the light of homology models.
the quality of those models was usually very poor  <cit> , and hence the interpretation of the experimental data was often far from optimal, and sometimes simply wrong.
the experimental data are still valuable though; today, with more information available, scientists can re-interpret the data in light of current knowledge.
as an example, figure  <dig> illustrates an image from an old mutation study  <cit>  in which the authors describe various mutations in the guinea pig histamine h <dig> receptor, building and validating a homology model using these data, and arguing, for example, that residue trp <dig> plays an important role in receptor-ligand binding.
this assumption was based on the effect of the mutation on receptor function, leading to a model in which trp <dig> was  modelled as being positioned in the ligand-binding site.
by contrast, the annotation indicates that this residue, located in tm iv, points towards the membrane and possibly interacts with cholesterol .
this is a completely different view from that proposed by the authors.
looking at the model provided by gpcrdb, based on sub-family specific profiles and the latest crystal structures, it can be seen that the position of trp <dig> with respect to the ligand-binding pocket is completely obscured by tm iii and hence that a direct role in receptor-ligand binding is highly unlikely .
the point here is not that the wieland model is incorrect; as stated before, most models were wrong before the structure of bovine rhodopsin was published.
what is important is that this software can be used to detect these types of historical artifacts, relieving scientists of the task of validating the results of 'old' literature against current knowledge.
it is important to emphasise that the published experimental data are still valuable, but need new interpretation: in a sense, the software rescues old data from articles that contain interpretations that we now know to be incorrect.
with this tool, therefore, scientists can now focus on providing new views on experimental data in the light of current knowledge.
for example, knowing that trp <dig> is conserved and interacts with cholesterol in some receptor structures allows for the hypotheses that this residue is functionally important for dimer formation, potentially through cholesterol.
other hypotheses can be imagined too, but the only thing that seems certain is that trp <dig> is not directly involved in ligand binding.
applications
the system presented here is likely to be useful in a number of different scenarios.
for example, for biocurators, it offers a rapid means of accessing reliable, contextualised gpcr-relevant data: this would not only benefit future curators of gpcr-specific resources like gpcrdb, but would also facilitate the work of those who annotate more general repositories, such as uniprotkb:swiss-prot or interpro  <cit> .
for journal editors, it offers a swift route to 'gold standard' gpcr data that they may officially endorse as part of their manuscript mark-up process.
for life scientists and bioinformaticians in general, and for pharmacologists and target-discovery researchers in particular, it offers a convenient way to keep up with gpcr literature, and to find new articles and new links that they might otherwise have overlooked.
for users of gpcrdb, it offers a swifter, more targeted and hence more convenient navigation system compared to simple web-based browsing of the resource.
many other use cases are likely as the system is generalised to other superfamilies.
CONCLUSIONS
the work presented here was developed in response to the need to achieve tighter coupling between published articles and their underlying data as a crucial step towards knowledge discovery.
the strength of our approach lies in its ability to present users  with current, integrated, validated, internally consistent data and information in the context of literature being read.
the annotations provided are extensive and detailed, and, importantly, include concepts such as 'residue a interacts with the ligand', 'residue b is implicated as playing a role in oligomeric interactions', 'residue c is located in tm <dig> and points to the lipid environment', 'residue d is conserved in its sub-family', etc.
a substantial amount of knowledge is sequestered in such annotations.
taking mutation annotations as an example, although trivial at first glance, the mapping of sequential residue numbers to those of general residue numbering schemes saves researchers large amounts of time in looking up the residue mentioned in the database and finding its associated general residue number.
in order to reliably transfer information between different proteins, this is a necessary but very time-consuming process.
the structural information consists of data from a variety of different manually- or automatically-generated sources, and provides scientists with a structural perspective on the concepts in the text, making it much easier to critically assess the authors' interpretations of experimental results, which is crucially important when reading old literature.
linking mutation data to other articles in which similar mutations have been discussed saves users considerable effort.
this is an onerous task to perform by hand, owing to the necessary conversions between various numbering schemes and residue numbering offsets.
to summarise, this work helps gpcr researchers to optimally extract new knowledge from scientific literature by automatically putting data from a pdf article in the wider context of the total body of knowledge related to gpcrs.
availability and requirements
project name: gpcr-specific pdf reader
project home page: http://www.gpcr.org/7tm
operating systems: mac os , windows , ubuntu linux , debian linux
programming language: c++, java, python
other requirements: none
license: http://www.getutopia.com/documents/license.txt
any restrictions to use by non-academics: none
abbreviations
mcsis: molecular class-specific information system; gpcr: g protein-coupled receptor; pdf: portable document format; soap: simple object access protocol
authors' contributions
bv drafted the manuscript and wrote the gpcrdb-specific software.
bv, dt, pm and sp participated in the writing of the utopia documents plugin.
dt, pm and sp wrote the utopia documents software and adapted it to be used with the gpcrdb plugin.
gv supervised the project.
gv & ta helped write the manuscript and draft figure  <dig>  all authors have read and approved the final manuscript.

 recent decades have seen a massive increase in the amount of data available to researchers. revolutionary high-throughput technologies have enabled data production on an unprecedented scale in many areas of the life sciences. to accommodate this increase in experimental data, we have also witnessed a database explosion, with both the number and size of specialised biological repositories growing enormously over the years. most of these resources offer their own data formats, websites and programmatic interfaces. this has made the task of retrieving information increasingly difficult and complex. gpcrdb is one of the earliest examples of a molecular-class specific information system. it collects, combines, validates and disseminates large amounts of gpcr-related content, bringing together information from other databases, and augmenting this with manually annotated data, as well as computationally-derived multiple sequence alignments and homology models. its contents are validated, integrated, internally consistent and updated regularly. gpcrdb thus functions as a one-stop shop for gpcr-related knowledge, relieving scientists of the burden of going through the process of finding multiple data sources, of learning how to use them, and of then retrieving, synthesising and integrating the retrieved information. much of the routine practice of communicating scientific knowledge is conducted through the process of reading and writing scientific papers, an invaluable method that has been used successfully for hundreds of years. however, it is now widely acknowledged that this approach imposes considerable constraints upon the type and quantity of biological information published: specifically, the data used to generate hypotheses and to perform experiments are not readily accessible to fellow researchers who use the results of their peers' publications. relating information between databases and literature has become increasingly difficult with the growing quantities of data and documents available, and it is evident that new solutions are required to address this problem. when reading about a mutation, a scientist might, for example, want to know the location of the mutated residue in the structure, or find other articles describing the same mutation. although systems like gpcrdb provide scientists with access to focused information derived from the literature, subsequent exploration of concepts in related articles still poses practical hurdles. with the goal of bridging the gap between data and scientific articles, several initiatives have explored how to enrich scientific literature with repository data, either by manual annotation or by automatic approaches. the results of these projects are encouraging, but also point to what remains to be done. for example, shotton et al. have explored the use of semantic annotations, beautifully illustrating the possibilities of these types of technologies. however, providing enhancements of this quality on a routine basis is still far beyond our reach; this impressive example is limited to one paper, and a very large amount of manual input was involved. one of the most promising automated initiatives, the reflect system, provides annotations for a very large number of biological entities, covering genes, proteins and a large number of small-molecule compounds. these annotations contain an enormous wealth of data and hyperlinks to a multitude of information systems. however, automation of the process carries the price of a large number of errors; hence, vigilance and caution are required, coupled with a significant amount of manual effort to validate and disambiguate the results. in addition, the aforementioned approaches all focus on html/xml formats, and require users to read their articles in a web browser, ignoring the de facto standard format of scientific literature: adobe's portable document format. this is by far the most popular format for peer-reviewed science communication, for reasons that include the benefits of their permanence, device independence, and ubiquitous support and good readability. it therefore makes sense to exploit the pdf; the software tool utopia documents was developed for just this purpose. behaving like a familiar pdf reader, utopia documents is a desktop application for reading and exploring papers. its strength lies in being able to semantically annotate concepts in documents with additional relevant information and links to online resources. we report here a technology that allows on-the-fly annotation of gpcr-related pdf articles. by fully integrating the utopia documents pdf reader and the gpcrdb information system, we can present to the scientist, in a non-intrusive way, all possible data and information related to the topics discussed in the article at hand. this makes possible a paradigmatic change in the relationship between the pdf-reading scientist and internet-based data resources, alleviating the troubles associated with navigating the many links between existing data and information in this field. the scientist neither struggles to get access to information related to topics within an article, nor is swamped by unnecessary information that still needs disambiguation; only data and information relevant to the topic of the article is made available. implementation the system comprises three parts: the utopia documents reader; the gpcrdb; and a module that performs the communication between the two. users can annotate a document with gpcr-specific information with a single click, but, behind the scenes, the pdf annotation is a multi-step process: extracting the text from the pdf document identifying concepts creating relevant annotations based on gpcrdb data adding the annotations to the document and are carried out by utopia documents, while and are performed by gpcrdb. the communication between the device running utopia documents and gpcrdb is done from within utopia documents by a gpcrdb-specific plugin. this plugin, written in the python programming language, makes use of the publicly available web service and utopia's plugin-api to facilitate the communication and data exchanges between the utopia documents reader at the scientist's computer and the remote gpcrdb computing facilities. within the plugin, the text is extracted from the pdf document and sent via the web service to gpcrdb. there, the text is analysed automatically and annotations are created that are passed back to the main utopia client to be displayed on the article as highlighted regions. more information on plugins can be obtained from the paper by attwood et al.. identifying concepts concepts for which we can provide information must be unambiguously identified to be able to present users with relevant information. clearly, it is important to ensure that terms in the pdf are correctly mapped to terms in gpcrdb. concepts must be found in the text and coupled to a unique database identifier, a process referred to as normalization. in the case of a protein, this requires knowledge about the species from which it originates. the term'rhodopsin', for example, cannot be normalised, whereas the words'human rhodopsin' would map to the uniprotkb:swiss-prot identifier'opsd_human'. for residues and mutations, each occurrence needs to be identified and associated with one of the proteins mentioned in the text, a process called grounding: e.g.,'trp161' is meaningless, whereas'trp in human rhodopsin' maps to a unique residue in one specific protein, and is thus grounded on a normalised protein. it is beyond the scope of this article to provide an exhaustive explanation of all algorithms and heuristics involved in normalisation and grounding. however, at the heart of both tasks lies the use of a metric based on word distances, in which combinations of terms that are close together in the text are favoured over more distant combinations. the distance metrics are combined with a number of heuristics, filters and validations. some of the heuristics have been described elsewhere, while a series of related heuristics have been newly designed and implemented. in the following sections, we describe the most important steps involved in extracting and identifying proteins, residues and mutations. protein identification and normalisation protein identification is the non-trivial task of pinpointing words that represent a gene or protein. we use a dictionary-based approach. dictionaries are populated with gene identifiers, protein identifiers and protein descriptions from all gpcrs in gpcrdb that are present in uniprotkb:swiss-prot. uniprotkb's swiss-prot component is used because of its consistent mapping between protein sequences and their descriptions. commonly observed synonyms not present in the database-extracted list were manually added to the dictionaries. the text is scanned for gene or protein occurrences using approximate dictionary matching, allowing for some variability. separate dictionaries are created for gene identifiers, protein identifiers and protein descriptions, each with their own scoring metric. this makes it possible to set high penalties for mismatches between reference dictionary entries and detected gene or protein identifiers, while allowing more variability when scoring protein descriptions, taking into account their free-text and relatively changeable nature. the linnaeus system is used to find species occurrences in the text, and to normalise these occurrences to ncbi taxonomy identifiers. the normalised species occurrences are then used to complete the normalisation of the identified protein occurrences. mutation and residue identification and grounding identifying point mutations and residues involves two subtasks. first, it is necessary to identify the mutation or residue terms discussed in an article. second, the identified residues and mutations must be grounded. three entities in the text need to be related to identify point mutations: the wild type residue, the mutant residue, and the position in the sequence where the substitution occurred. point mutations are represented in the literature in a variety of ways. the most common representation is in the form'xny', where × is the single-letter code for the wild-type residue, n its location and y the single-letter code for the substituted residue. however, there are many variations on this theme, ranging from the use of three-letter amino acid codes, as in'asp98phe' and'asp → phe', to more exotic notations, like'asp98-phe98','d to phenylalanine' and'asp was mutated to phenylalanine'. regular expressions are used to identify residues and mutations. articles about gpcrs refer to mutations and residues using one of four numbering schemes. the most frequently used are the standard sequential numbering scheme and the scheme of ballesteros-weinstein. other articles use the oliveira scheme, or their own, article-specific scheme. the ballesteros-weinstein and oliveira schemes are so-called general residue numbering schemes. these allow consistent residue numbering across multiple proteins, independent of their sequential numbers. the underlying principle is that residues with the same general residue number have equivalent locations in their tertiary structures and consequently in the multiple sequence alignments. in the widely used ballesteros-weinstein scheme, residue numbers are in the format'tm.n', where the number before the period indicates the number of the transmembrane helix, and the number after the period indicates the residue position with respect to the most conserved residue position in the helix. some articles discuss residues and mutations using an article-specific numbering scheme. often, standard sequential residue numbers are used that do not exactly map to the protein sequence in the database. this mismatch can arise owing to inclusion of signal peptides in the sequence, different isoforms, etc. in these cases, there is an offset by which the residue numbers must be corrected to obtain a valid mapping to the reference sequences in the database. a regular expression-based approach is taken to calculate the right offsets. when multiple offsets are possible, the offset is chosen that is closest to the residue numbers mentioned in the text. residues and mutations are grounded mainly based on proximity to proteins mentioned in the text, favouring combinations that occur within the same sentence. validation of these combinations is performed by comparing the identified residues and mutations to the sequences of the candidate protein mentions, using similar approaches to those discussed by horn et al.. where general residue numbers have been used, the sequential numbers are retrieved from gpcrdb for all candidate protein mentions.  gpcrdb contains a substantial amount of information, but for this to be useful, users require more than just large collections of'data'. for the three concepts for which we provide annotations, we have selected data, links and knowledge that we believe will benefit users when reading an article, allowing them to link effortlessly from the text to all relevant information in gpcrdb. once a paper is annotated, red marks on the side of the pages indicate where annotated concepts are located, as shown in figure the intensity of the red marks increases with the number of annotations at those positions. all annotated concepts can also be highlighted simultaneously by pressing the space-bar. proteins protein annotations contain links to a number of sources. a link pointing to the protein detail page in gpcrdb is always present. here, users can find information relating to the protein sequence, mutations, homology models, ligand-binding data, and so on. in addition, a link to the protein family page is provided. from here, all other protein family members can be retrieved, multiple sequence alignments can be accessed, etc. protein annotations also contain links to uniprotkb for a detailed report on the protein, and, if available, a link to ensembl for the genomic view. we provide a list of synonyms for the protein names. structural information on gpcrs is still limited, but we provide links to structures when they are available. if oligomerisation information is available, we provide links to pages that contain the relevant details. residues residue annotations contain various links and a selection of data pertinent to that specific residue. the protein name is linked to its protein detail page in gpcrdb. the residue type is displayed, together with its residue number in several numbering schemes. general residue numbers are provided in two different schemes: the commonly used ballesteros-weinstein scheme, and that of oliveira et al. the sequential residue number is also shown. sequential residue numbers in gpcrdb annotations may not be identical to residue numbers described in an article. if the software has detected a mismatch and made the appropriate corrections, this will be noted in the annotation. a one-line description of the location and interactions of the residue is given, based on manual analysis of currently available protein structures. a three-dimensional cartoon image of a gpcr structure is provided, in which the position of the residue is highlighted. this allows readers to directly place the information in the article in a structural context. if the residue is located in a structurally conserved region of the class a gpcrs, and thus has a general residue number in gpcrdb, a link is given that will create a yasara scene containing the homology model of the protein with the residue highlighted in the structure. if the residue is part of a reported oligomerisation interface, links to more detailed descriptions of that interface are included. for each residue, a link is provided to a gpcrdb page summarising all known data and information for that residue, including information about available mutations at that position, and mutations at equivalent positions in other proteins. mutations the mutation annotations also link to the protein detail page. if gpcrdb contains information about the same mutation from other literature, links to the relevant pubmed pages are provided. this way, users can immediately look up literature that discusses the same mutation. if gpcrdb contains mutations at the same position in the same protein, but with a different mutated residue type, links to relevant gpcrdb pages are provided. a link to a page that displays mutations at the same position in other proteins is always present. in addition to links to other literature or other mutations, gpcrdb contains a large amount of descriptive information about the effects of mutations - such information has been culled, over the years, from painstaking analysis of the literature, and manually added to the knowledgebase in the form of short summaries. where such information is present in the gpcrdb for the mutation at hand, this information is provided automatically in the annotations displayed in the side-bar. if the mutation is located at a position in a structurally conserved region of the class a gpcrs, and thus has a general residue number in gpcrdb, a link is given that will create a yasara scene containing the homology model of the protein, with the wild-type and mutated residues highlighted in the structure. in addition to mutation-specific information, mutation annotations also contain general information about the mutated residue. this residue-specific annotation is identical to the information displayed within residue annotations. community annotations with this work, we take the integration of literature data in gpcrdb one step further. using the pdf reader, when a mutation is identified in a scientific article that is not yet known to the gpcrdb, this mutation is automatically integrated into the gpcrdb, making this information available from both the gpcrdb website as well as from the annotations within utopia documents. thus, when a user reads another article discussing a mutation at the same position, links to the newly integrated article will appear as an integral part of the annotation display, allowing immediate navigation to the appropriate literature. in addition, behind the scenes, for all articles annotated using the reader, sentences are extracted in which mutations are mentioned. this information, which effectively provides an at-a-glance summary of the article with respect to that mutation, is stored in the gpcrdb and made available from the gpcrdb website. because we strive to include only the most highly relevant data and information in the annotations offered by utopia documents, this automatically extracted text is not displayed with the pdf reader, and is only accessible through the gpcrdb website. annotations and the rescue of data the integrated view of literature and data offered here is invaluable when reading articles published before the first x-ray structure of a gpcr, that of bovine rhodopsin, became available. prior to that moment, researchers often interpreted their experimental results in the light of homology models. the quality of those models was usually very poor, and hence the interpretation of the experimental data was often far from optimal, and sometimes simply wrong. the experimental data are still valuable though; today, with more information available, scientists can re-interpret the data in light of current knowledge. as an example, figure illustrates an image from an old mutation study in which the authors describe various mutations in the guinea pig histamine h receptor, building and validating a homology model using these data, and arguing, for example, that residue trp plays an important role in receptor-ligand binding. this assumption was based on the effect of the mutation on receptor function, leading to a model in which trp was modelled as being positioned in the ligand-binding site. by contrast, the annotation indicates that this residue, located in tm iv, points towards the membrane and possibly interacts with cholesterol. this is a completely different view from that proposed by the authors. looking at the model provided by gpcrdb, based on sub-family specific profiles and the latest crystal structures, it can be seen that the position of trp with respect to the ligand-binding pocket is completely obscured by tm iii and hence that a direct role in receptor-ligand binding is highly unlikely. the point here is not that the wieland model is incorrect; as stated before, most models were wrong before the structure of bovine rhodopsin was published. what is important is that this software can be used to detect these types of historical artifacts, relieving scientists of the task of validating the results of'old' literature against current knowledge. it is important to emphasise that the published experimental data are still valuable, but need new interpretation: in a sense, the software rescues old data from articles that contain interpretations that we now know to be incorrect. with this tool, therefore, scientists can now focus on providing new views on experimental data in the light of current knowledge. for example, knowing that trp is conserved and interacts with cholesterol in some receptor structures allows for the hypotheses that this residue is functionally important for dimer formation, potentially through cholesterol. other hypotheses can be imagined too, but the only thing that seems certain is that trp is not directly involved in ligand binding. applications the system presented here is likely to be useful in a number of different scenarios. for example, for biocurators, it offers a rapid means of accessing reliable, contextualised gpcr-relevant data: this would not only benefit future curators of gpcr-specific resources like gpcrdb, but would also facilitate the work of those who annotate more general repositories, such as uniprotkb:swiss-prot or interpro. for journal editors, it offers a swift route to'gold standard' gpcr data that they may officially endorse as part of their manuscript mark-up process. for life scientists and bioinformaticians in general, and for pharmacologists and target-discovery researchers in particular, it offers a convenient way to keep up with gpcr literature, and to find new articles and new links that they might otherwise have overlooked. for users of gpcrdb, it offers a swifter, more targeted and hence more convenient navigation system compared to simple web-based browsing of the resource. many other use cases are likely as the system is generalised to other superfamilies.  the work presented here was developed in response to the need to achieve tighter coupling between published articles and their underlying data as a crucial step towards knowledge discovery. the strength of our approach lies in its ability to present users with current, integrated, validated, internally consistent data and information in the context of literature being read. the annotations provided are extensive and detailed, and, importantly, include concepts such as'residue a interacts with the ligand','residue b is implicated as playing a role in oligomeric interactions','residue c is located in tm and points to the lipid environment','residue d is conserved in its sub-family', etc. a substantial amount of knowledge is sequestered in such annotations. taking mutation annotations as an example, although trivial at first glance, the mapping of sequential residue numbers to those of general residue numbering schemes saves researchers large amounts of time in looking up the residue mentioned in the database and finding its associated general residue number. in order to reliably transfer information between different proteins, this is a necessary but very time-consuming process. the structural information consists of data from a variety of different manually- or automatically-generated sources, and provides scientists with a structural perspective on the concepts in the text, making it much easier to critically assess the authors' interpretations of experimental results, which is crucially important when reading old literature. linking mutation data to other articles in which similar mutations have been discussed saves users considerable effort. this is an onerous task to perform by hand, owing to the necessary conversions between various numbering schemes and residue numbering offsets. to summarise, this work helps gpcr researchers to optimally extract new knowledge from scientific literature by automatically putting data from a pdf article in the wider context of the total body of knowledge related to gpcrs. availability and requirements project name: gpcr-specific pdf reader project home page: http://www.gpcr.org/7tm operating systems: mac os, windows, ubuntu linux, debian linux programming language: c++, java, python other requirements: none license: http://www.getutopia.com/documents/license.txt any restrictions to use by non-academics: none abbreviations mcsis: molecular class-specific information system; gpcr: g protein-coupled receptor; pdf: portable document format; soap: simple object access protocol authors' contributions bv drafted the manuscript and wrote the gpcrdb-specific software. bv, dt, pm and sp participated in the writing of the utopia documents plugin. dt, pm and sp wrote the utopia documents software and adapted it to be used with the gpcrdb plugin. gv supervised the project. gv & ta helped write the manuscript and draft figure all authors have read and approved the final manuscript. 
with the continued growth in the volume both of experimental g protein-coupled receptor data and of the related peer-reviewed literature, the ability of gpcr researchers to keep up-to-date is becoming increasingly curtailed. we present work that integrates the biological data and annotations in the gpcr information system with next-generation methods for intelligently exploring, visualising and interacting with the scientific articles used to disseminate them.
 with the continued growth in the volume both of experimental g protein-coupled receptor data and of the related peer-reviewed literature, the ability of gpcr researchers to keep up-to-date is becoming increasingly curtailed.  we present work that integrates the biological data and annotations in the gpcr information system with next-generation methods for intelligently exploring, visualising and interacting with the scientific articles used to disseminate them. this solution automatically retrieves relevant information from gpcrdb and displays it both within and as an adjunct to an article.  this approach allows researchers to extract more knowledge more swiftly from literature. importantly, it allows reinterpretation of data in articles published before gpcr structure data became widely available, thereby rescuing these valuable data from long-dormant sources. 