dataesr/scientific-paragraphs-categorization huggingface dataset:
Background: Systems biology experiments generate large volumes of data of multiple modalities and this information presents a challenge for integration due to a mix of complexity together with rich semantics. Here, we describe how graph databases provide a powerful framework for storage, querying and envisioning of biological data. Results: We show how graph databases are well suited for the representation of biological information, which is typically highly connected, semi-structured and unpredictable. We outline an application case that uses the Neo4j graph database for building and querying a prototype network to provide biological context to asthma related genes. Conclusions: Our study suggests that graph databases provide a flexible solution for the integration of multiple types of biological data and facilitate exploratory data mining to support hypothesis generation.
Representing multiple types of relationships will generally lead to highly connected networks. Additionally, the amount of information associated with a given entity will not be uniform. Some proteins have been extensively investigated experimentally, are well annotated and associated with multiple complementary pieces of information. For example, a gene may be involved in a protein-protein interaction with another protein, may be a drug target for a particular drug, may be known to be enhanced in a particular tissue type or may participate in a particular pathway. Other proteins can have little or no information associated with them and are annotated only as 'hypothetical proteins'. Therefore, such datasets do not naturally fit into a classic relational database model which would have been originally designed to handle application cases with a large number of uniform entries associated with a limited number of data types and representing relatively few relationships in each data model.
Although highly connected and sparse networks can be stored in a relational database, generally traversal-type queries (joins), which connect data linked by different relationships, become too computationally expensive and cumbersome to design. Traversal type queries are important for hypothesis generation, as they can reveal paths connecting entities that might not have been expected, and might not be apparent from visual inspection of the network. Another issue is that biological data are often semi-structured, i. e. lacking a structured data model, while still possessing some semantic annotation. As relational databases require all data to be transformed to conform to a pre-defined schema, developing parsers for such semi-structured data can be particularly problematic. Biological research is also unpredictable in that new types of information can emerge with little advance noticefor example when new analytical instruments or new data resources are released.
In a relational database management system, capturing these new data types often means re-design of a database schema, which is generally a complex and costly process. However, in a research setting this information is often of great importance and can impact on our understanding of the roles of genes and pathways in disease networks. A framework that facilitates the rapid and seamless inclusion of new data types would therefore be particularly well-suited to support the dynamic and ever-changing requirements of biomedical research community. Graph databases are a natural way to represent highly connected, non-uniformly distributed, semi-structured and unpredictable data as found in many biological systems studies  [3, 4]. They also offer agile and flexible solutions and easily allow the inclusion of new data types.
Recently, there has been much interest in network representations of biological systems, particularly for network visualisation and network analytics. Several successful frameworks have been established and used to support bioinformatics analysis including, but not limited to, Cytoscape  [5] , Gephi  [6]  and NetworkX  [7]. However, the tools currently available are primarily for visualisation and analysis of network properties and do not offer an in-built support for semantics, graph querying or the ability to effectively work with datasets that are too large to visualise. Graph databases can naturally complement such tools and methods, by offering this much-needed extra functionality. Several graph-based approaches have been developed for biological data integration such as Biozon  [8] , BN++  [9] , Ondex  [10, 11] , and BioMine  [12] ).
Some approaches, although providing network views, use an underlying relational database (e. g. BN++). The Ondex platform is a data warehouse using a graph data model and has been applied to plant systems biology, a domain where the data is typically fragmented across a large number of data sources and often poorly annotated. More recently, Bio4j  [4]  uses a graph database (Neo4j) to integrate data from several major repositories such as Uniprot KB  [13] , Gene Ontology (GO)  [14] , RefSeq  [15] , NCBI Taxonomy  [16] , and Expasy Enzyme DB  [17]. The need to move towards considering graphs as biological knowledge repositories is particularly evident in the biomedical domain. Many important diseases have now been extensively researched for decades and the amounts of knowledge accumulated are both vast and heterogeneous.
The large volume of interconnected data means that its exploration using a network visualizer cannot be carried out easily and the heterogeneity of the data can make cost-effective management difficult in a relational database system. In this work, we have explored the potential of using a graph database to facilitate data management and analysis in order to provide biological context to disease-related genes and proteins. This application case used the well-established Neo4j graph database for building and querying a prototype disease map for a complex disease, such as asthma. Neo4j has a free community edition that can be run as a lightweight desktop database as well as a database server, and an SQL-like versatile query language for graphs called Cypher. The database comes with an immediately available easy-to-use web interface that can display the results as both graphs and tables and also has interfaces to R, Python and Java -core languages of modern bioinformatics research.
We have integrated information from human protein-protein interactions, pathways, sequence similarity, disease-gene, gene-tissue and protein-drug associations. The selected examples are intended to illustrate how the Neo4j Cypher query language can be used to perform complex queries on this integrated dataset. We also show how information from gene expression studies can be easily added to the database and how the database can provide biological context for these differentially expressed genes. The main advantage of presented approach is in its ability to contextualise diseaseassociated genes by facilitating the identification and visual exploration of their network neighbourhood. In addition, as we have already explained, graph databases excel in traversal-type queries, facilitating the exploration of chains of connected concepts.
Methods A graph database offers several options for representation of data. Connections between entities (i. e. nodes) can be encoded directly as edges linking them together (e. g. protein A interacts with protein B, where the edge between the nodes represents the 'interacts with' relationship). Additionally, properties can be associated with nodes (e. g. protein A has annotation X, where 'has annotation X' is a property of the node representing protein A), and nodes that share a given property could be understood to be linked. And lastly, nodes can be linked via edges to an intermediate node indicating a common property (e. g. membership in the same pathway, for example node i representing protein A is connected to node j, representing pathway P by an edge that describes the relationship 'participates in').
Data sources imported All data used in this application case were imported into the Neo4j v2. 3. 1 graph database. The integration was done from a protein-centric perspective, where the nodes corresponding to the individual entries in the human subset of UniProt/Swissprot served as key anchoring points for all other types of annotation. As many of the databases we used are continuously updated, the point of reference when all data were acquired for this study is 27/03/2015. Sequence similarity was determined by running all versus all Tera-BlastP TM for the UniProt Human reference proteome on the Timelogic DeCypher system. The significance threshold was 1e -05, with effective database size adjusted to 16. 9 bln bases. The results were further processed by retaining bidirectional hits only and modelled in the graph database as sequence similarity edges.
The set of sequence similarity data was refined to exclude duplicates based on the UniProt id pair: the similarity between protein1-protein2 and protein2-protein1 was represented by a single, undirected edge. A score was assigned to each edge, calculated as a negative log10 of the average of the two e-values; only hits for which the ratio between the alignment length and the shortest sequence was above 0. 60 were included. Protein-protein interaction data were imported from the EBI IntAct database  [18]  (PSI-MI tab format). Each interaction edge was annotated with a list of experimental methods supporting it, as well as a confidence score (as given by the IntAct database). Data about human metabolic pathways were acquired from the Reactome database (see for example  [19] ). Individual pathways were modelled as nodes, with edges linking them to proteins to indicate pathway membership.
Data about protein association with particular diseases were modelled in a similar way. The diseases, as defined by the curated subset of DisGeNET  [20]  (2014 release), were likewise represented as nodes with edges connecting them to corresponding proteins; (mapping gene names to UniProt identifiers was done via the Restful web services API of the UniProt database). Data on approved drug compounds were downloaded from DrugBank  [21]  on 27/03/2015 as DrugBank csv files. Where such information was available, those compounds were linked to proteins they target via UniProt identifier references. Data on gene expression-tissue enhanced association have been downloaded from the Human Protein Atlas (HPA), (version 13),  [22] , and integrated in the database. The tissue types were represented by nodes in the graph database and the enhanced expression in particular tissue types were modelled as edges, with RNA-TS-FPKM values as property.
Information on ENSEMBL ids, (used for gene identification within HPA), was mapped to Uni-Prot ids using the 'Retrieve/ID mapping' tool from the UniProt database, and noted as a property of the Protein node. We have included a set of high-confidence manually curated genes believed to be implicated in one of the respiratory diseases as identified by Kaneko et al. [23]. The review categorized genes into four partially overlapping subsets of Bronchial Asthma (BA), Chronic Obstructive Pulmonary Disease (COPD), Essential hypertension (E-HTN) and Tuberculosis (TB). TB and E-HTN are included in the list as controls  [23]. The gene names given in the paper were manually resolved to the UniProt identifiers and imported as a list attribute of corresponding annotations. This resulted in 219 genes (104 BA, 58 COPD, 35 TB, 54 E-HTN); detailed information on these gene sets is given in Additional file 1: Table  S4.
This type of information, gathered typically from domain experts or from careful study of the literature, is important in disease network construction as it serves as a starting point to explore pathways and processes that may be associated with the disease phenotype. New experimental data may have significant impact on hypothesis generation on disease mechanisms. High-throughput transcriptomic experiments are a common original source of such new information, and are routinely used to identify lists of new potential candidate genes of biomedical interest. To evaluate the suitability of graph databases for management and integrative analysis of these data types we have included several such studies from the GEO database. We have extracted gene expression data from three asthma-related GEO studies, namely GSE27876, GSE43696  [24]  and GSE63142  [25].
Specifically, the GSE27876 series includes 5 normal control (NC), 5 mild asthma (MiA) and 5 severe asthma (SA) samples, the GSE43696 series: 20 NC, 50 mildmoderate asthma (MMA) and 38 SA samples, and the GSE63142 series: 27 NC, 72 MMA and 56 SA samples. Gene expression data analysis was conducted on the GPL6480 platform [Agilent-014850 Whole Human Genome Microarray 4x44K G4112F (Probe Name version)], within all these series. The identification of the differentially expressed genes (DEGs) between asthma subtype/control cohorts was carried out using the limma Bioconductor package  [26]. The gene name (given by ENSEMBL identifier) was mapped to the UniProt identifier, (again, via the 'Retrieve/ID mapping' tool from the UniProt database), with the UniProt identifier represented as a node in the graph database and the related ENSEMBL information as node property.
Information to add was checked with already stored data before each adding step in order to avoid duplicates. Thus, the UniProt identifier, (i. e. the key of the Protein node), can be uniquely retrieved in the graph database. Similarly, names of diseases, pathways, tissues, GEO studies, (i. e. the keys for the Disease, Pathway, Tissue, GEO Study nodes, respectively), were checked for duplicates. The microarray data in the figure is also resolved to The key for i) the Protein node is given by the UniProt identifier, ii) the GEO Study node by its name and iii) the GEO Comparison node by the GSM samples that are compared. Information on adjusted p-values of the differentially expressed genes is stored as a property for the DEG RELATED TO edges. This simplified illustration includes only 10 differentially expressed proteins for the GSE43696 study  [24] , with similar representation for other studies.
NC: normal control; MMA: mild-moderate asthma; SA: severe asthma protein ids, so this information will be captured if available. E. g. some probe sets will profile alternative splice variants and will therefore map to different protein ids. Relationships between entities, (i. e. edges), were also checked for duplicates based on keys given by pairs of the involved entities; for example, the key of the Biomarker relationship between the Protein and Disease nodes is given by the pair composed from the UniProt identifier and disease name. Only when modelling associations between DEG and GEO comparison/study, the key was taken as a triplet composed from the UniProt identifier, the GEO Comparison name and the GEO Study identifier, given that the GEO comparison names are not unique among all GEO studies integrated in this database.
Data modelling strategy Unlike the relational database, where tables and relationships are heavily influenced by technical constraints formalized as "normalization rules", graph databases offer much more flexibility and are more closely guided by the needs of the intended application. For this application case we have chosen the entities that correspond to either logical or real entities of biomedical interest. From the multi-omics perspective, the two physical entities central to our application case are proteins and drugs. These can be members of multiple thematic setse. g. the proteins can be grouped by disease involvement, tissue and metabolic pathway and drugs can be linked to particular diseases. To allow us to explore the potentially complex inter-relationships between these sets, they are also represented as nodes and therefore can be referenced directly as part of the query pattern.
The edges are used to indicate both i) the membership of an entity in a particular set (e. g. protein participates in a pathway) and ii) existence of relationships between individual entities (e. g. protein interacts with other protein). The level of the detail was chosen in accordance with the need of our intended application case. For example, in theory it may be valid to model an interaction as a concept rather than an edge and then link it to specific tissues to indicate whether it can occur there. However, by doing so an extra node and two edges will be introduced into the graph, which will increase the computational complexity of querying the database and make query construction more challenging for the user. In this case, due to the applied nature of the work presented here, it was therefore more appropriate to opt for a more generalized representation.
Results Here we illustrate the use of a graph database for facilitating hypothesis generation on disease mechanisms. We describe four queries related to asthma, a complex respiratory disease whose symptoms include airway inflammation and remodelling. Asthma is associated with multiple phenotypes and co-morbidities and has similarities to other respiratory diseases such as COPD. A significant number of asthma patients do not respond to conventional corticosteroid therapy, suggesting a complex underlying aetiology of this disease at both physiological and molecular levels.
Identification of common proteins between Asthma and COPD, TB and E-HTN We first show a simple query that returns proteins, (given by UniProt identifiers), which are common to asthma and other respiratory diseases, (COPD, Tuberculosis (TB), and essential hypertension (E-HTN) respectively) using information from two sources, a review by Kaneko et al. (  2013 )  [23]  and, separately the DisGeNET database  [20]. The Cypher queries are shown in Listings 1 and Listings 2, the visual schematic of the query pattern is shown on Fig. 3  and the results are shown in alphabetic order based on the second disease name in Table  2. Some details of the Cypher query are briefly explained in Additional file 3. We see more genes in common for asthma and COPD than for asthma and the other two respiratory diseases as expected, although differences are dependent on the data source used for comparison.
While there is a degree of commonality among results from these resources, inclusion of multiple data sources can provide complementary information. Information on genes related to a simple disease only, as reported in  [23] , is provided in Additional file 4. Listing 1: Cypher query to identify proteins common to asthma and other respiratory diseases using  Kaneko et al. (2013)  data  [23]  Listing 2: query to identify proteins common to asthma and other respiratory diseases using DisGeNET data only  [18]  Providing biological context: comparison of the network neighbourhoods of differentially expressed genes from two asthma studies Queries can easily be performed to select differentially expressed genes and relate them to the rest of the network. This example compares the network neighbourhoods of two sets of differentially expressed genes (DEGs) between Normal Control (NC) and Severe Asthma (SA) from two studies, GSE43696  [24]  and GSE63142  [25].
Results are shown in Fig. 8 , based on the Cypher query in Listings 5, with the ENTREZ gene names and the protein names given in Additional file 2: Table  S5d. This example illustrates how simple graph traversal queries have the potential to assist in hypothesis generation by exploring relationships between concepts. Listing 5: Cypher query to explore shortest paths (in terms of graph representation) between core clock genes and asthma. pathways (Fig. 8 ) between the Asthma node and the core clock genes (Table  3 ) node include: a) Asthma -Q9UIL8 -P67870 -Q99743; b) Asthma -Fig. 5  Disease -Protein-Signalling pathways associations: Common set of normal control -severe asthma DEGs for GSE43696  [24]  and GSE63142  [25]  series and their associations with respiratory diseases and signalling pathways.
6  A visual schematic representation of graph pattern matched by query in listing 4 Fig. 7  Drugs that target proteins, which have sequence similarity to asthma biomarkers. No information on direct target interaction between these drugs and biomarkers is given in the database a priori. Nodes colours: protein, blue; disease, yellow; drug, red. Edges: drug-target associations, red; sequence similarity relationships, grey; biomarker, green from O00327(ARNTL/BMAL1) and Q99743(NPAS2), (Cypher query given in Listings 6b, in Additional file 5 and output results in Fig. 9b ).
Discussion and conclusions High volume datasets are being routinely generated in systems biomedicine. An ongoing concern for the interpretation of these data is that biological information has a challenging mix of complexity and rich semantics. Modelling of data in graph database ideally are guided by the same principles as those used for ontology design. In a way, the ontology may play the same role as a schema plays in a relational database by defining a valid set of relationships and/or properties that can exist for particular entities or their combinations. However, for this application case we have elected not to explore this topic in great detail in order to keep focus firmly on the applied aspects of managing biomedical data using the Neo4j database and to present it at a level accessible to a more general audience.
For completeness, we would like to point out that from the ontology-centric data modelling perspective a Neo4j graph can be thought of as a Table  3  Gene symbols and corresponding UniProt identifiers, (resolved via the "Retrieve/ID mapping" tool), for the core circadian components collection of instances of data, where node "Labels" are equivalent to classes, and types of edgesto relationship types. Another important consideration in choosing how to represent the data is the performance constraints. [Note: We would encourage developers to look at the Neo4j features relating to Cartesian product warning and to query flow diagnosis, using the EXPLAIN and PROFILE features provided. ] In this respect, as we were specifically interested in exploring the applications of the link discovery type of queries in a biomedical setting, it was necessary to ensure both the compactness of paths and adequate annotation necessary to ensure that the traversal space can be computed, e.
g. it does not produce an all-versus-all set of entities as part of computing the solution (a "Cartesian product"). In traditional relational databases approaches, the technical structure often gets in the way of exploratory data analysis either by visualisation or through data mining techniques. Graph databases (explored here with Neo4j) offer a powerful but lightweight, intuitive and flexible solution that is more readily compatible with a biological network Fig. 9  Shortest path queries to explore relationships between a) the O15534 protein (PER1 gene) and b) the P20393 protein (REV-ErbA-alpha gene) and the circadian core genes, (Table  3 ). a In terms of distance in graph, the O15534 protein (PER1 gene) (red square), transcriptional repressor, is closer to O15055 (PER2), Q16526 (CRY1) and Q49AN0 (CRY2), (transcriptional repressors), than to O15516 (CLOCK), O00327 (ARNTL/ BMAL1) and Q99743 (NPAS2), (transcriptional activators).