Skip to content

Latest commit

 

History

History
130 lines (95 loc) · 7 KB

README.md

File metadata and controls

130 lines (95 loc) · 7 KB

Reactome Data Content

What is the Reactome Data Content Project

Reactome Data Content is a web-based project that offers optimized and high performance results based on Apache SolR and also provides detailed results querying Reactome Graph Database.

Fully implemented based on Spring WebMVC Application, this project consumes search-core which provides an API to query SolR documents in order to retrieve optimized, faceted and grouped results. Spellcheck, suggestions and auto complete are provided to.

Installation Guide

  • ⚠️ Pre-Requirement (in the given order)
    1. Maven 3.X - Installation Guide
    2. Reactome Graph Database - Installation Guide
    3. Search SolR Index - search-indexer
      • Search Indexer queries Reactome Graph Database, so it must be set up before the SolR indexer
      • Search Indexer guides though SolR installation, core and indexing.
    4. Mail Server (if you don't have a valid SMTP Server, please here to FakeSMTP
Git Clone
git clone https://github.com/reactome/data-content.git
Configuring Maven Profile 📝

Maven Profile is a set of configuration values which can be used to set or override default values of Maven build. Using a build profile, you can customize build for different environments such as Production v/s Development environments. Add the following code-snippet containing all the Reactome properties inside the tag <profiles> into your ~/.m2/settings.xml. Please refer to Maven Profile Guideline if you don't have settings.xml

<profile>
    <id>DataContent-Local</id>
    <properties>
        <!-- Neo4j Configuration -->
        <neo4j.host>localhost</neo4j.host>
        <neo4j.port>7474</neo4j.port>
        <neo4j.user>neo4j</neo4j.user>
        <neo4j.password>neo4j</neo4j.password>
        
        <!-- SolR Configuration -->
        <solr.host>http://localhost:8983/solr/reactome</solr.host>
        <solr.user>solr</solr.user>
        <solr.password>solr</solr.password>

        <!-- Logging -->
        <logging.dir>/Users/reactome/Reactome/search</logging.dir>
        <logging.level>INFO</logging.level>

        <!-- Mail Configuration, using FakeSMTP -->
        <!-- Properties are ready to use GMail, etc. -->
        <mail.host>localhost</mail.host>
        <mail.port>8081</mail.port>
        <mail.username>username</mail.username>
        <mail.password>password</mail.password>
        <mail.enable.auth>false</mail.enable.auth>
        <mail.error.dest>bug-fixing-team@mycompany.co.uk</mail.error.dest>
        <mail.support.dest>helpdesk@mycompany.co.uk</mail.support.dest>
            
        <!-- Reactome Server to query header and footer -->
        <template.server>https://reactomedev.oicr.on.ca/</template.server>
    </properties>
</profile>
Running Data-Content activating DataContent-Local profile
mvn tomcat7:run -P DataContent-Local

in case you didn't set up the profile it is still possible to run Reactome Data Content. You may need to add all the properties into a command-line call.

mvn tomcat7:run \ 
    -Dneo4j.user=neo4j -Dneo4j.password=neo4j -Dneo4j.host=localhost -Dneo4j.port=7474 \
    -Dsolr.host=http://localhost:8983/solr/reactome -Dsolr.user=solr -Dsolr.password=solr \
    -Dlogging.dir=/Users/reactome/Reactome/search \
    -Dlogging.level=INFO \
    -Dmail.host=localhost -Dmail.port=8081 -Dmail.username=username -Dmail.password=password \ 
    -Dmail.enable.auth=false -Dmail.error.dest=bug-fixing-team@mycompany.co.uk \
    -Dmail.support.dest=helpdesk@mycompany.co.uk \ 
    -Dtemplate.server=https://reactomedev.oicr.on.ca/

Check if Tomcat has been initialised

[INFO] Using existing Tomcat server configuration at /Users/reactome/data-content/target/tomcat
INFO: Starting ProtocolHandler ["http-bio-8080"]

Usage

  • 💻 Access your local installation
  • On the top right corner the search box retrieves information from SolR documents based on the search term and organise them in an intuitive way adding the most relevant result always on top of the list. Faceting the result by Species, Type, Compartments, etc are also possible. The entry point for all these features is SearchController.java

search-result

  • After clicking in the entry your are looking for, then another query will be executed in Reactome Graph. The entry point is the GraphController.java

search-details

Reactome Data Schema

What is the Reactome Data Schema

Reactome Data Schema traverses through all the classes in the Data Model and provides easy visualisation of Reactome classes hierarchy.

Installation

Reactome Data Content already installed together with the Data Content.

Usage

  • 💻 Access your local installation

  • By clicking in any class the attributes, type, cardinality and the attribute origin are displayed in a table which helps developers to understand how Reactome classes are related each other. Referrals of the given instance are also shown.

  • By clicking in the number in front of the class all the entries will be retrieved.

  • By clicking in one entry a query is performed in Reactome Graph Database which gives the instance. All the raw content of the given object, at this point, if details page is available in this instance a button is present in the right corner.

From the technical side, note the Reactome Data Schema is built as the page is requested as well as the data retrieval. This has been achieved by extensive usage of Java Reflection, which means every time there is an update in Reactome Data Model the changes are going to be automatically propagated to the Data Schema Page. There isn't any static content. You can find documentation for the Reactome data model here. Also the entry point class is the GraphController.java

content-schema