.. _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``