.. _contrib_start:
***************
Getting Started
***************
.. include:: rst_directives.rst
.. contents::
:local:
Installation of MaSyMoS Development Environment
###############################################
Setup workspace
===============
Setup Folder Structure
----------------------
.. Note:: the ``π Project folder`` is represented *in this instruction* by ``[ENTER_HERE_YOUR_PROJECT_ROOT]``
- create one single root ``π Project folder`` for *everything* needed for MaSyMoS
- create the folder structure with subfolders as described below:
- π Project folder
- π code
- all repositories
- π mvn
- Maven libraries
- π eclipse
- a dedicated Eclipse for MaSyMoS
- π database-engine
- the Neo4j database engine with webserver and everything
- π databases
- the MaSyMoS-generated databases
- π raw-data
- raw data, you're downloading to work with
- π workspace
- your Eclipse workspace
Download/Install needed Software
--------------------------------
- `Download the newest "Eclipse IDE Enterprise for Java Developers" `__ and extract it to ``π eclipse``
- `Download Neo4j v3.5 `__ end extract it to ``π database-engine``
- install Java 11 JDK (:c_java:`apt install openjdk-11-jre`)
- create a file ``settings.xml`` in ``π mvn`` and paste the following content (please replace ``[ENTER_HERE_YOUR_PROJECT_ROOT]``):
.. code-block:: xml
[ENTER_HERE_YOUR_PROJECT_ROOT]/mvn/
Configure Software
==================
Configure Eclipse
-----------------
- start up Eclipse
- set default workspace to ``π workspace`` β restart Eclipse
- use ``π mvn`` as Maven-Path
- *Window β Preferences β Maven β User Settings*
- Global Settings: ``[ENTER_HERE_YOUR_PROJECT_ROOT]/mvn/settings.xml``
.. Attention:: set default Encoding and line delimiter (most important on Windows!)
- *Window β Preferences β General β Workspace*
- Text file encoding: ``UTF-8``
- New text file line delimiter: ``UNIX`` (``\n``)
.. _configure-neo4j:
Configure Neo4j
---------------
- edit file ``π database-engine/neo4j/conf/neo4j.conf``
- β ``dbms.active_database=model-extraction-sbml``
- the value of this key points to the expected database in this folder: ``π database-engine/neo4j-enterprise/data/databases/``
- β ``dbms.security.auth_enabled=false``
- disable security restrictions for authentication
Load Repositories and Projects
==============================
Clone Repositories
------------------
- all repositories are stored in ``π code``, you need
- masymos-cli
- masymos-core
- masymos-morre
- you can do this with Eclipse as well β Git Perspective
Load Eclipse projects
---------------------
- *Java EE* Perspective
- for all three projects do:
- *File β Importβ¦ β Git β Projects from Git*
- existing local repository
- *right-click project β Maven β Update Projectβ¦*
Work with your first Database
#############################
Create Database
===============
- get SBML Models from https://www.ebi.ac.uk/biomodels/
- i.e. ftp://ftp.ebi.ac.uk/pub/databases/biomodels/releases/2017-06-26/
- extract to ``π raw-data``
- create a Java Application runner ``model-extraction-sbml`` for class ``/masymos-cli/src/de/unirostock/sems/masymos/main/MainExtractor.java`` with the following parameters
.. code-block:: text
-dbPath [ENTER_HERE_YOUR_PROJECT_ROOT]/databases/model-extraction-sbml
-directory [ENTER_HERE_YOUR_PROJECT_ROOT]/raw-data/sbml/curated
-noAnno
-type sbml
-fileMode
Open the Database in Neo4j
==========================
- copy the folder ``π /databases/model-extraction-sbml`` to ``π database-engine/neo4j-enterprise/data/databases/model-extraction-sbml``
- the DB path was already set during :ref:`configure-neo4j` to:
- β ``dbms.active_database=model-extraction-sbml``
- start Neo4j and browse the data
- go to ``π database-engine/neo4j``
- ``./bin/neo4j console``
- open in Browser: http://localhost:7474
- simple query: ``match (m:MODEL)-->(s:SBML_SPECIES) return count(s) as Anzahl, m.NAME order by Anzahl desc``