BACKGROUND
protein-protein interactions  execute many critical biological activities, including signal transduction and metabolic activity.
understanding these interactions can help in disease diagnosis, prevention and treatment.
although many efforts have been made to create databases that store the verified ppi information in a structured form, much ppi interaction information still remains unmined as unstructured text.
while biomedical literature databases, such as medline databases http://www.ncbi.nlm.nih.gov contain such information, the structural features that would favor automatic access and data processing by computer are lacking.
it goes without saying that manual extraction is both error-prone and time consuming.
moreover, it becomes potentially impossible to manually extract ppi information in a high throughput manner.
therefore, the quick and easy extraction and visualization of ppi relationships from biomedical text is an attractive research goal.
thus far, more than  <dig> million citations of articles, journals, books and technical reports are available in the medline database.
many other databases, such as the dip  <cit> , mint  <cit> , intact  <cit> , biogrid  <cit> , have been built by manually annotation to store the processed ppi data.
however, a lot of ppi information still hides in the biomedical text literatures.
because a formal structure narrating the natural language of these documents is lacking, the task of mining and retrieval of ppi information is quite complex  <cit> .
several international systems now exist which can analyze literature databases  to provide users with a summary of relevant biological information services  <cit> , such as pie  <cit>  and ihop  <cit> , but both systems have met with only limited success.
pie extracts ppi from text-driven search results derived from papers or keywords, and ihop lists related key sentences with a given query, but both do not visualize and classify the results.
in addition, suiseki <cit>  and biobibliometrics  <cit>  both focus on the extraction and visualization of protein-protein interaction, but without any classification and statistics.
genies  <cit>  retrieves molecular pathways from journal articles, and the medscan  <cit>  system uses whole sentence analysis technology to extract ppi from the medline database, but it does not support classification and offers no statistical function for the search results.
furthermore, its use requires commercial licensure.
in  <dig>  cooper and kershenbaum applied a combination of approaches, including linguistics, statistics and information graphics, to discover protein-protein interaction  <cit>  but they have not yet developed software for the system.
in this paper, we introduce a new ppi extraction tool, pplook, which is based on the opengl graphics interface technology and uses a keywords dictionary pattern matching approach  <cit>  as its core natural language processing  algorithm.
pattern matching is one of the ppis extracting methods, and parsing approach is another method  <cit> .
given a query protein name, pplook can search for the interacting proteins and show the results in a three-dimensional display.
in addition, pplook has incorporated many useful search functions, including heterogeneous search, classification, statistics, and resource integration.
implementation
pplook is a four-tier information extraction system based on a full-sentence parsing approach.
conceptually, it contains four modules:  submission authentication which aims to identify whether the query word is a protein name or not;  an article parser which acts as a collector to pick up sentences containing the query protein name;  a full-sentence parser which determines the ppi by keywords dictionary pattern-matching and  ppi visualization which displays the ppi in the form of a 3-d graph.
figure  <dig> shows the architecture of pplook.
corpus
annotated corpora are important to the development and evaluation of protein-protein extraction systems, and there are several available annotated corpora.
as our simulation dataset, we chose the genia v <dig>  corpus  <cit> , which can be downloaded freely from the following website: http://www-tsujii.is.s.u-tokyo.ac.jp/genia/home/wiki.cgi?page=genia+corpus.
submission authentication
before extracting ppi information, we need to verify whether the input words represent a legitimate protein name.
the protein name authentication module uses the genia tagger tool to verify the input words  <cit> .
a two-way reasoning algorithm was adopted to execute the tagging of protein names  <cit> .
first, the two-way algorithm trains relevant parameters using the penn treebank corpus  <cit>  as the training set, and then it analyzes the user's keywords to determine if the words are a protein name or not.
the precision of the system of identifying the protein name for genia corpus is  <dig> % http://www-tsujii.is.s.u-tokyo.ac.jp/genia/home/wiki.cgi?page=genia+corpus.
xml text parser
genia corpus is an xml-tagged text, which has been structured and annotated.
based on rules of the xml editor, an xml text parser was developed to read out the protein names and protein catalog.
article parser
parsing occurs in two steps.
in the first step, the article parser checks whether the dataset contains the given protein.
in this procedure, the genia tagger tool  <cit>  is used to find all proteins contained in the dataset using a part-of-speech tagger.
then, by comparing the given protein with proteins contained in the dataset, the article parser module picks up all the sentences that contain the query protein.
because ppi information may be available from these sentences, pplook scans the keywords  in all of these sentences and saves the sentences that contain one or more keywords.
full-sentence parser and ppi extractor
in the second step, the full-sentence parser identifies ppi from documents classified by the article parser.
in order to find more and exact ppi patterns, we carried out statistical analysis of word frequency with our developed statistical tool of word frequency based on the statistical principles related to the verb.
using the rules of pattern matching and part-of-speech  <cit> , we tested genia v <dig>  corpus to find common ways of describing interactions, and examined approximately  <dig> different verbs .
considering the recall/precision of the keywords appeared in genia v <dig>  corpus, the six keywords  and their corresponding patterns were selected to define the relationship between proteins.
the recall/precision of six keywords and their corresponding ppi patterns are listed on table  <dig> and table  <dig> respectively.
classification and statistic function
according to the taxonomy of genia ontology, some entities  involved in reactions were classified semantically for the genia corpus.
we adopted this semantic classification to the pplook system.
after the users select the protein semantic class which the users want to search interacting with a query protein, the pplook can give the count number of how many this semantic class proteins interact with the query protein.
in addition, the pplook can also give the literature count number of the articles appearing the interacting relationship about the query protein.
the literature count number supports the reliability of search results.
if the literature count number is bigger, the confidence of this ppi is higher.
ppi visualization and resources integration
pplook system employs opengl technology for ppi visualization.
the opengl graphics system is hardware for the gl graphics library software interface  <cit> .
it provides powerful functions to create complex three-dimensional objects, such as balls, rings, cylinders, and polyhedrons.
in pplook, the extracted ppis are well distributed to a sphere with the opengl.
each ball represents a protein.
different semantic classes of protein are represented by different colors.
the stick-like connection between two proteins indicates their interaction relationship.
based on the inter-library web service search framework  <cit> , pplook provides a heterogeneous search engines  <cit>  that can link to the pdb search engine and google search engine, thus letting users directly proceed to online search to gather related information about their proteins of interest.
RESULTS
3d ppi viewer
using opengl programming, ppi results returned are displayed in 3-d style.
the user can either zoom in/out or rotate the ppi network in the main window.
the user can also change the size and the color of balls or the length and color of lines according to their needs.
circular extraction
assume that a is the first query protein.
in this case, pplook provides a circular extraction function that can help users extract ppi information of another protein b which interacts with protein a based on the outlink to b within the first query.
the user just needs to click on protein b listed on the right side output window.
the ppi information of protein b will immediately return on the main window.
heterogeneous search engines
normally, users not only want to know ppi information of interest proteins, but also related information about the query protein, such as structures and published articles.
in the pplook system, we developed heterogeneous search engines which include ppi search engine, pdb search engine and google search engine.
users can get a unique answer that satisfies conjunctive queries where each query can be routed to a specialized engine.
by heterogeneous search engineer, pplook enables cross-references when users require ppi information, protein structures and published articles simultaneously.
otherwise, users have to use several specialized search engines to get what they want.
figure  <dig> shows structural data and google search results for the protein il- <dig>
data table output
pplook provides many kinds of output data in a format that meets users' needs.
the interaction protein names and corresponding literature appeared in the results can be exported as text files.
the 3-d ppi network can also be saved in a design format  or in bitmap format.
all ppi information can be printed whenever necessary.
performance of extracting ppi information with pplook
the recall, precision and f value for assessment of the pplook tool are respectively defined as:
where tp is the number of ppi extracted correctly by pplook, tp+fn is the number of ppi in the dataset, tp+fp is the number of ppi retrieved by pplook.
to evaluate the reliability of pplook tool, we used the following search query on the pubmed web interface: "humans"  and "blood cells"  and "transcription factors"  to retrieve the corresponding records from medline database, then constructed a test dataset which concludes  <dig> abstracts.
based on interacting domain, gene compression profile and gene ontology  annotation, we annotated the test dataset and identified the ppi by hand, and the annotated dataset which concludes  <dig> abstracts is shown in additional file  <dig>  then, the test dataset was converted to xml format file with xml constructor, and also inputted to the pplook tool.
the average recall/precision and f of ppi extraction are  <dig> %,  <dig> % and  <dig>  respectively.
the average time of searching ppi of a query protein is about  <dig>  s .
the results show that pplook is a valuable automated data mining tool of ppi from text literatures.
CONCLUSIONS
in this paper, we introduced a useful tool, pplook, which uses an improved keywords dictionary pattern-matching algorithm to extract protein-protein interaction information from biomedical literature.
based on the opengl graphics interface technology, visual methods were adopted to show the results of protein-protein interaction in three dimensional stereoscopic displays.
pplook can also provide users with more interactive features, such as the count of the semantic class protein and the number of articles appearing ppi information of query protein, the medline access number, title and abstract of related literature, as well as integrated resources and heterogeneous search functions.
prospectively, pplook will add more functions that include extracting ppi information for users submitting text articles or constructing complex ppi networks, both directed and undirected.
in addition, based on the new medeline database, we will develop a more complete xml-tagged text corpus in order to enhance the robustness of pplook's search results.
availability and requirements
pplook is freely available for non-commercial users at http://meta.usc.edu/softs/pplook.
operating system: windows  32-bit, 64-bit, requires .net framework version  <dig> .
hardware requirements/recommendations: pentium iii or later for windows, color display capable of  <dig> x  <dig> pixel resolution.
programming language: c++
authors' contributions
swz developed and implemented the tool and drafted the manuscript.
yjl designed the software module, implemented and tested the codes.
lx and qp participated in design and implementation.
all authors read and approved the final manuscript.
supplementary material
additional file 1
an annotated ppi dataset.
click here for file
acknowledgements
this paper was supported in part by the national natural science foundation of china  and the technological innovation foundation of northwestern polytechnical university .

 protein-protein interactions execute many critical biological activities, including signal transduction and metabolic activity. understanding these interactions can help in disease diagnosis, prevention and treatment. although many efforts have been made to create databases that store the verified ppi information in a structured form, much ppi interaction information still remains unmined as unstructured text. while biomedical literature databases, such as medline databases http://www.ncbi.nlm.nih.gov contain such information, the structural features that would favor automatic access and data processing by computer are lacking. it goes without saying that manual extraction is both error-prone and time consuming. moreover, it becomes potentially impossible to manually extract ppi information in a high throughput manner. therefore, the quick and easy extraction and visualization of ppi relationships from biomedical text is an attractive research goal. thus far, more than million citations of articles, journals, books and technical reports are available in the medline database. many other databases, such as the dip, mint, intact, biogrid, have been built by manually annotation to store the processed ppi data. however, a lot of ppi information still hides in the biomedical text literatures. because a formal structure narrating the natural language of these documents is lacking, the task of mining and retrieval of ppi information is quite complex. several international systems now exist which can analyze literature databases to provide users with a summary of relevant biological information services, such as pie and ihop, but both systems have met with only limited success. pie extracts ppi from text-driven search results derived from papers or keywords, and ihop lists related key sentences with a given query, but both do not visualize and classify the results. in addition, suiseki and biobibliometrics both focus on the extraction and visualization of protein-protein interaction, but without any classification and statistics. genies retrieves molecular pathways from journal articles, and the medscan system uses whole sentence analysis technology to extract ppi from the medline database, but it does not support classification and offers no statistical function for the search results. furthermore, its use requires commercial licensure. in cooper and kershenbaum applied a combination of approaches, including linguistics, statistics and information graphics, to discover protein-protein interaction but they have not yet developed software for the system. in this paper, we introduce a new ppi extraction tool, pplook, which is based on the opengl graphics interface technology and uses a keywords dictionary pattern matching approach as its core natural language processing algorithm. pattern matching is one of the ppis extracting methods, and parsing approach is another method. given a query protein name, pplook can search for the interacting proteins and show the results in a three-dimensional display. in addition, pplook has incorporated many useful search functions, including heterogeneous search, classification, statistics, and resource integration. implementation pplook is a four-tier information extraction system based on a full-sentence parsing approach. conceptually, it contains four modules: submission authentication which aims to identify whether the query word is a protein name or not; an article parser which acts as a collector to pick up sentences containing the query protein name; a full-sentence parser which determines the ppi by keywords dictionary pattern-matching and ppi visualization which displays the ppi in the form of a 3-d graph. figure shows the architecture of pplook. corpus annotated corpora are important to the development and evaluation of protein-protein extraction systems, and there are several available annotated corpora. as our simulation dataset, we chose the genia v corpus, which can be downloaded freely from the following website: http://www-tsujii.is.s.u-tokyo.ac.jp/genia/home/wiki.cgi?page=genia+corpus. submission authentication before extracting ppi information, we need to verify whether the input words represent a legitimate protein name. the protein name authentication module uses the genia tagger tool to verify the input words. a two-way reasoning algorithm was adopted to execute the tagging of protein names. first, the two-way algorithm trains relevant parameters using the penn treebank corpus as the training set, and then it analyzes the user's keywords to determine if the words are a protein name or not. the precision of the system of identifying the protein name for genia corpus is % http://www-tsujii.is.s.u-tokyo.ac.jp/genia/home/wiki.cgi?page=genia+corpus. xml text parser genia corpus is an xml-tagged text, which has been structured and annotated. based on rules of the xml editor, an xml text parser was developed to read out the protein names and protein catalog. article parser parsing occurs in two steps. in the first step, the article parser checks whether the dataset contains the given protein. in this procedure, the genia tagger tool is used to find all proteins contained in the dataset using a part-of-speech tagger. then, by comparing the given protein with proteins contained in the dataset, the article parser module picks up all the sentences that contain the query protein. because ppi information may be available from these sentences, pplook scans the keywords in all of these sentences and saves the sentences that contain one or more keywords. full-sentence parser and ppi extractor in the second step, the full-sentence parser identifies ppi from documents classified by the article parser. in order to find more and exact ppi patterns, we carried out statistical analysis of word frequency with our developed statistical tool of word frequency based on the statistical principles related to the verb. using the rules of pattern matching and part-of-speech, we tested genia v corpus to find common ways of describing interactions, and examined approximately different verbs. considering the recall/precision of the keywords appeared in genia v corpus, the six keywords and their corresponding patterns were selected to define the relationship between proteins. the recall/precision of six keywords and their corresponding ppi patterns are listed on table and table respectively. classification and statistic function according to the taxonomy of genia ontology, some entities involved in reactions were classified semantically for the genia corpus. we adopted this semantic classification to the pplook system. after the users select the protein semantic class which the users want to search interacting with a query protein, the pplook can give the count number of how many this semantic class proteins interact with the query protein. in addition, the pplook can also give the literature count number of the articles appearing the interacting relationship about the query protein. the literature count number supports the reliability of search results. if the literature count number is bigger, the confidence of this ppi is higher. ppi visualization and resources integration pplook system employs opengl technology for ppi visualization. the opengl graphics system is hardware for the gl graphics library software interface. it provides powerful functions to create complex three-dimensional objects, such as balls, rings, cylinders, and polyhedrons. in pplook, the extracted ppis are well distributed to a sphere with the opengl. each ball represents a protein. different semantic classes of protein are represented by different colors. the stick-like connection between two proteins indicates their interaction relationship. based on the inter-library web service search framework, pplook provides a heterogeneous search engines that can link to the pdb search engine and google search engine, thus letting users directly proceed to online search to gather related information about their proteins of interest.  3d ppi viewer using opengl programming, ppi results returned are displayed in 3-d style. the user can either zoom in/out or rotate the ppi network in the main window. the user can also change the size and the color of balls or the length and color of lines according to their needs. circular extraction assume that a is the first query protein. in this case, pplook provides a circular extraction function that can help users extract ppi information of another protein b which interacts with protein a based on the outlink to b within the first query. the user just needs to click on protein b listed on the right side output window. the ppi information of protein b will immediately return on the main window. heterogeneous search engines normally, users not only want to know ppi information of interest proteins, but also related information about the query protein, such as structures and published articles. in the pplook system, we developed heterogeneous search engines which include ppi search engine, pdb search engine and google search engine. users can get a unique answer that satisfies conjunctive queries where each query can be routed to a specialized engine. by heterogeneous search engineer, pplook enables cross-references when users require ppi information, protein structures and published articles simultaneously. otherwise, users have to use several specialized search engines to get what they want. figure shows structural data and google search results for the protein il- data table output pplook provides many kinds of output data in a format that meets users' needs. the interaction protein names and corresponding literature appeared in the results can be exported as text files. the 3-d ppi network can also be saved in a design format or in bitmap format. all ppi information can be printed whenever necessary. performance of extracting ppi information with pplook the recall, precision and f value for assessment of the pplook tool are respectively defined as: where tp is the number of ppi extracted correctly by pplook, tp+fn is the number of ppi in the dataset, tp+fp is the number of ppi retrieved by pplook. to evaluate the reliability of pplook tool, we used the following search query on the pubmed web interface: "humans" and "blood cells" and "transcription factors" to retrieve the corresponding records from medline database, then constructed a test dataset which concludes abstracts. based on interacting domain, gene compression profile and gene ontology annotation, we annotated the test dataset and identified the ppi by hand, and the annotated dataset which concludes abstracts is shown in additional file then, the test dataset was converted to xml format file with xml constructor, and also inputted to the pplook tool. the average recall/precision and f of ppi extraction are %, % and respectively. the average time of searching ppi of a query protein is about s. the results show that pplook is a valuable automated data mining tool of ppi from text literatures.  in this paper, we introduced a useful tool, pplook, which uses an improved keywords dictionary pattern-matching algorithm to extract protein-protein interaction information from biomedical literature. based on the opengl graphics interface technology, visual methods were adopted to show the results of protein-protein interaction in three dimensional stereoscopic displays. pplook can also provide users with more interactive features, such as the count of the semantic class protein and the number of articles appearing ppi information of query protein, the medline access number, title and abstract of related literature, as well as integrated resources and heterogeneous search functions. prospectively, pplook will add more functions that include extracting ppi information for users submitting text articles or constructing complex ppi networks, both directed and undirected. in addition, based on the new medeline database, we will develop a more complete xml-tagged text corpus in order to enhance the robustness of pplook's search results. availability and requirements pplook is freely available for non-commercial users at http://meta.usc.edu/softs/pplook. operating system: windows 32-bit, 64-bit, requires.net framework version. hardware requirements/recommendations: pentium iii or later for windows, color display capable of x pixel resolution. programming language: c++ authors' contributions swz developed and implemented the tool and drafted the manuscript. yjl designed the software module, implemented and tested the codes. lx and qp participated in design and implementation. all authors read and approved the final manuscript. supplementary material additional file 1 an annotated ppi dataset. click here for file acknowledgements this paper was supported in part by the national natural science foundation of china and the technological innovation foundation of northwestern polytechnical university.
pplook is freely available for non-commercial users at http://meta.usc.edu/softs/pplook. pplook can also provide the functions of selecting protein semantic class, counting the number of semantic class proteins which interact with query protein, counting the literature number of articles appearing the interaction relationship about the query protein. extracting and visualizing of protein-protein interaction from text literatures are a meaningful topic in protein science. we developed a ppi search system, termed pplook, which automatically extracts and visualizes protein-protein interaction from text. there is a lack of tools to extract ppi, visualize and classify the results. given a query protein name, pplook can search a dataset for other proteins interacting with it by using a keywords dictionary pattern-matching algorithm, and display the topological parameters, such as the number of nodes, edges, and connected components. the visualization component of pplook enables us to view the interaction relationship among the proteins in a three-dimensional space based on the opengl graphics interface technology. moreover, pplook provides heterogeneous search and a user-friendly graphical interface.
 extracting and visualizing of protein-protein interaction from text literatures are a meaningful topic in protein science. it assists the identification of interactions among proteins. there is a lack of tools to extract ppi, visualize and classify the results.  we developed a ppi search system, termed pplook, which automatically extracts and visualizes protein-protein interaction from text. given a query protein name, pplook can search a dataset for other proteins interacting with it by using a keywords dictionary pattern-matching algorithm, and display the topological parameters, such as the number of nodes, edges, and connected components. the visualization component of pplook enables us to view the interaction relationship among the proteins in a three-dimensional space based on the opengl graphics interface technology. pplook can also provide the functions of selecting protein semantic class, counting the number of semantic class proteins which interact with query protein, counting the literature number of articles appearing the interaction relationship about the query protein. moreover, pplook provides heterogeneous search and a user-friendly graphical interface.  pplook is an effective tool for biologists and biosystem developers who need to access ppi information from the literature. pplook is freely available for non-commercial users at http://meta.usc.edu/softs/pplook. 