Proteins can form a variety of functional connections with each other, including stable complexes, metabolic pathways and a bewildering array of direct and indirect regulatory interactions. These connections can be conceptualized as networks and the size and complex organization of these networks present a unique opportunity to view a given genome as something more than just a static collection of distinct genetic functions. Indeed, the ‘network view’ on a genome is increasingly being taken in many areas of applied biology: protein networks are used to increase the statistical power in human genetics (1
), to aid in drug discovery (3
), to close gaps in metabolic enzyme knowledge (5
,6) and to predict phenotypes and gene functions (7
), to name just a few examples.
While clearly very useful, the annotation and storage of protein–protein associations in databases is less straightforward than for other types of data (such as genomic sequence data or taxonomy information). This is because functional interactions between proteins can span a wide spectrum of mechanisms and specificities, often have high error rates and may depend on biological context (such as environmental condition or tissue type). Consequently, considerable information is needed to describe the various aspects of a given protein–protein association and a number of standards have been developed for this purpose with distinct levels of expressivity and specialization (9–13
). Likewise, the actual annotations and interaction records themselves are scattered over a number of public resources. Experimental data on physical protein–protein interactions are mostly stored in a group of dedicated databases that together form the International Molecular Exchange (IMEx) consortium (14–21
). Annotated pathway knowledge is mostly kept in a separate set of resources (22–24
) and yet other interactions can be found in various organism-specific databases (25
) or text-mining resources (27
). Furthermore, a number of algorithms have been devised that allow de novo
prediction of functional links between proteins (29–32
), albeit usually with considerable rates of false positives and without providing hints on the specificity and type of a predicted interaction.
Given all these distinct types and sources of protein–protein association information, it is highly desirable for users to have an integration and re-appraisal that can be easily searched and browsed, at one single site. The Search Tool for the Retrieval of Interacting Genes (STRING) database resource aims to provide this service, by acting as a ‘one-stop shop’ for all information on functional links between proteins. It is by no means the only such site: related resources that are currently being actively maintained include VisANT (33
), GeneMANIA (34
), N-Browse (35
), APID (37
), bioPIXIE (38
) and ConsensusPathDB (39
). Each of these sites has unique features and distinct strengths and users should carefully compare them for any specific task at hand. The main strengths of STRING lie in its unique comprehensiveness, its confidence scoring and its interactive and intuitive user interface. STRING is the only site to cover hundreds (and soon more than 1100) organisms—ranging from Bacteria and Archaea to humans. This large number of organisms, represented by their fully sequenced genomes, also enables STRING to periodically execute interaction prediction algorithms that depend on exhaustive genome sequence information. The resource also transfers interaction information between organisms where applicable, thereby significantly increasing coverage particularly for poorly studied organisms. The confidence scoring is another key feature of STRING, giving guidance to users who want to balance different levels of coverage and accuracy. Lastly, the unique and compact user interface enables fast and ad hoc
use of the resource, with a quick learning curve and no need for setup or installation.
Here, we briefly describe the content and procedures currently used in STRING and describe new features that have been added since our last update on the resource (40
User experience and content
Users enter STRING via its web portal (http://string-db.org
) and identify one or more proteins of interest. Various types of identifiers are recognized by the system and a full-text search on gene annotations is conducted in parallel to aid in the identification. Using the search results, STRING will either recognize automatically or ask the user to disambiguate, the organism of interest. The user is then presented with the input protein(s) in the context of a graphical network of interaction partners (). From this network, pop-up windows lead to detailed information on each node (or edge) in the network, providing accessory information on a protein or on the evidence behind a proposed connection. The network display can be modified by adding or removing proteins, changing the required confidence level and by selecting or de-selecting certain evidence types (for example, users might choose to filter out the results of computational predictions).
Figure 1. Protein network visualization on the STRING website. The figure shows a composite of two screenshots, illustrating a typical user interaction with STRING (focused on a specific protein network in Saccharomyces cerevisiae). Upon querying the database with (more ...)
The interactive network viewer in STRING has been re-designed extensively. It is now based on Adobe’s Flash Player (version 10 or better is recommended) and allows users to freely reposition nodes in the network. Optionally, this can be done while running a spring-embedded layout algorithm in real time. Upon switching to the ‘advanced’ mode of the viewer, users can also apply clustering algorithms to the network (41–43
), which is then visually partitioned accordingly, in real time. All of this can be done in the context of a user-supplied background illustration; publication-ready, high-resolution image files can then be exported. Search results can also be saved in a number of abstract file formats for later use elsewhere, including the proteomics standards initiative-molecular interaction format (PSI-MI) molecular interaction standard (9
). The protein information pop-up window (, bottom) has also been re-designed using the Flash framework and now shows all available 3D structure information for a protein in the context of its domain architecture, which can be browsed interactively along the protein from N- to C-terminus. Apart from PDB entries, the structure information now also includes pre-computed homology models, made available via a collaboration with the SwissModel repository (44
The current extent of protein–protein association information in STRING is summarized in . The majority of associations actually derive from predictions—either from prediction algorithms that are based on analyzing genomic information (‘genomic context’-methods) or from transferring associations/interactions between organisms (‘interolog’-transfer). Importantly, all associations in STRING are provided with a probabilistic confidence score, which is derived by separately benchmarking groups of associations against the manually curated functional classification scheme of the KEGG database (22
). Each score represents a rough estimate of how likely a given association describes a functional linkage between two proteins that is at least as specific as that between an average pair of proteins annotated on the same ‘map’ or ‘pathway’ in KEGG. The various major sources of interaction/association data in STRING are benchmarked independently; a combined score is computed which indicates higher confidence when more than one type of information supports a given association. All scores and association data in STRING are pre-computed and are also available for wholesale download (free for non-profit institutions). Fully sequenced genomes in STRING are imported from RefSeq (45
) and Ensembl (46
), as well as from a number of dedicated sites, and are hand-screened for completeness and non-redundancy. For this large space of complete genomes, STRING also stores the results of exhaustive cross-genome homology searches, in order to be able to transfer interactions among organisms. As of version 9.0, this extensive body of protein–protein similarity data is imported from and cross-linked with the Similarity Matrix of Proteins (SIMAP) project (47
Figure 2. Association counts and data sources. The table shows the number of pair-wise protein–protein associations processed for STRING (version 8.3), listed separately for three important model organisms as well as for the database as a whole. The associations (more ...)
It should be stressed that interactions in STRING are not limited to direct, physical interactions between two proteins. Instead, proteins may also be linked because, for example, they exhibit a genetic interaction or are known to catalyze subsequent steps in a metabolic pathway. Most associations, especially when derived from one of the prediction algorithms, currently can neither be specified with much precision in terms of their mode of interaction, nor in terms of the cellular conditions under which they occur (e.g. development time points, environmental conditions, specific cell types, etc.). Because of this, the fundamental unit stored in STRING is the ‘functional association’, i.e. the specific and biologically meaningful functional connection between two proteins. Within this definition, STRING aims to uncover the entire space of ‘possible’ interactions for any fully sequenced organism; it is likely that only a subset of these interactions will be realized in any given cell. The number of interactions stored in STRING has grown considerably over the years and is projected to grow further as more information becomes available. Previous versions of the resource are kept accessible online, such that studies that refer to a given version of STRING can later be reproduced.
Integration with other resources
One central aim of the STRING project is to achieve and maintain cross-connectivity and integration with other public resources in a user-friendly manner. Apart from making the entire SQL database back-end available for download (free for non-profit institutions), this is mainly achieved via the following routes:
First, the database maintains mutual HTML cross-references with a number of widely used websites, including UniProt (48
), SMART (49
), GeneCards (50
) and SwissModelRepository (44
). Notably, such cross references do not have to be limited to simple text-based HTML links. Instead, partner websites can embed minimized icon-previews of STRING networks within their own web pages, using the capabilities of STRINGs API interface (as described in the last update) (40
). The SMART and SwissModelRepository sites already use this option, requesting the network preview images—when needed, at run time—based on pre-determined name-space mappings. Such embedded previews do not have to be limited to static images; external sites can also provide pop-up windows for any protein of interest, the content of the pop-up is then provided by STRING [variants of this mechanism are currently used by the resources Reflect (51
) and ViralZone (http://expasy.org/viralzone
)]. As another new feature of the user interface, permanent URLs can now be retrieved for almost all pages served by STRING—this facilitates cross-linking and archiving and also indexing by search engines and meta-sites.
Second, partner websites can choose to embed the entire STRING website into their own pages (52
), for example, using HTML inline frames (iframes). A notable example for this is the BioGPS Community Gene Portal System (53
); this site provides ‘plugins’ through which users can connect any number of external websites into freely configurable screen layouts. A STRING plugin has been established at BioGPS; it is currently among the most frequently used plugins there.
Third, users can choose to work with STRING networks from inside the Cytoscape software. Cytoscape is a widely used open-source software framework for network visualization and manipulation (54
); it can be very flexibly extended, with a rapidly growing number of network-centered manipulation and analysis tools. There are several options for loading STRING data into Cytoscape: users can save a given network from the STRING site to a local file, which can then be opened by Cytoscape (preferably using the PSI-MI format). Users can also query STRING directly from within Cytoscape; this is made possible via a dedicated plugin ‘StringWSClient’ that exposes much of the STRING query interface, including organism disambiguation. Lastly, the perhaps most important way to query STRING from within Cytoscape is via the ‘PSICQUIC’ query interface (‘PSICQUIC Web Service Universal Client’ in Cytoscape). PSICQUIC is a newly developed standard that allows interaction queries across a growing number of compliant database resources (56
); STRING has implemented this standard as of version 8.3 and can thus now be queried directly alongside a number of other resources ().
Figure 3. Accessing STRING data from within Cytoscape. Two proteins from Escherichia coli were used as queries for the ‘PSICQUIC Web Service Universal Client’ import-plugin of Cytoscape. Multiple databases have reported hits for these queries (upper (more ...)
Lastly, a new call-back interface allows STRING to be ‘branded’ by third-party resources, who may wish to project their own information onto the STRING name space and thereby onto the STRING network data (). This allows such resources to take advantage of the extensive user-interface features of STRING, as well as tapping into the existing user base, with very little additional coding effort of their own. This mechanism requires no specific setup on the STRING side—instead, our resource is simply instructed to query the third-party site at runtime, for any additional information that is to be displayed alongside the STRING network. Data updates at the STRING site are usually accommodated automatically, since the name space itself is changed only at the major release updates.
Figure 4. Projecting third-party data onto the STRING web-surface. STRING provides a consistent name space that encompasses genes, genomes, protein and interaction networks, all of which can be easily searched and browsed. These features can now be employed by (more ...)
Published use cases
STRING has been used in projects of various scales—both in large, organism-wide studies but also in focused projects that are restricted to a few proteins or to a single pathway only. Studies of the latter type often make use of STRING as a discovery tool, taking advantage of the pre-computed and confidence-scored association predictions that it provides. Examples include the discoveries of a missing enzyme in Bacillothiol biosynthesis in Bacilli (57
), of a previously unknown chaperone subunit in Cytochrome C oxidase assembly (58
) or of a missing enzyme in uric acid degradation in mammals (59
Another way to use STRING is to download and extend its relational database schema; this can, for example, be useful for projects dedicated to additional types of information (e.g. small molecule interactors in the case of our partner project STITCH) (60
) or for projects wishing to rely on a single source of completely sequenced genomes with associated homology data (e.g. in the case of the gene orthology resource eggNOG) (61
). Users not wishing to download and install the entire database schema have the alternative to download compact flat-files; these contain only the actual interaction information or information regarding the interacting proteins themselves (sequences, identifiers, etc.).
A unique strength of STRING lies in its comprehensiveness, albeit at the expense of considerable false-positive rates. Because of this, organism-wide studies represent perhaps the most interesting use cases and they are probably best done when they involve integration of orthogonal data types (since this may allow the noise in both data sets to cancel out). Examples include the filtering and extension of results from large-scale genetic screens (62
) or the annotation of large groups of proteins having a specific post-translational modification (64
). Another intriguing application scenario is to use STRING for search-space reduction in epistasis screens. This is done under the assumption that gene loci showing genetic epistasis should also often show up as functionally linked in STRING. Indeed, this approach has been demonstrated to work on human association mapping data, providing the statistical power to link up loci that show a non-additive effect when mutated together (1
). Approaches such as this are expected to gain further power, as the information in STRING becomes even more comprehensive and precise in future updates.