diff --git a/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/copypaste/CopyAction.java b/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/copypaste/CopyAction.java
index 7ccc8d9a62a6f977ac9c21959d75b0ce7f2a99f6..9d5523461253e121cc70ae15bd145f67787a71cb 100644
--- a/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/copypaste/CopyAction.java
+++ b/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/copypaste/CopyAction.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.cdplugin.copypaste;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import jp.sbi.celldesigner.plugin.PluginListOf;
 import jp.sbi.celldesigner.plugin.PluginReaction;
@@ -21,7 +21,7 @@ public class CopyAction extends CopyPasteAbstractAction {
   /**
    * Default class logger.
    */
-  private final Logger logger = Logger.getLogger(CopyAction.class.getName());
+  private final Logger logger = LogManager.getLogger(CopyAction.class.getName());
 
   /**
    * Method that perform annotation of a CellDesigner species listed in
diff --git a/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/copypaste/CopyPasteAbstractAction.java b/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/copypaste/CopyPasteAbstractAction.java
index bc1884ceaa768fa18fff7c452cc804064c76469e..176851f3923f71c6c946f937801ac246ba06c907 100644
--- a/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/copypaste/CopyPasteAbstractAction.java
+++ b/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/copypaste/CopyPasteAbstractAction.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.cdplugin.copypaste;
 import java.util.HashSet;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Pair;
 import lcsb.mapviewer.common.exception.InvalidXmlSchemaException;
@@ -24,7 +24,7 @@ public class CopyPasteAbstractAction {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private final Logger logger = Logger.getLogger(CopyPasteAbstractAction.class);
+  private final Logger logger = LogManager.getLogger(CopyPasteAbstractAction.class);
 
   /**
    * Prefix used for serialization/deserialization of {@link MiriamData} to string
diff --git a/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/copypaste/CopyPastePlugin.java b/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/copypaste/CopyPastePlugin.java
index f46d33752d4fec1cac99e97f1e9e54a97095c97d..c14384bf52ed1e206312cafacf3b290fd2a5f848 100644
--- a/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/copypaste/CopyPastePlugin.java
+++ b/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/copypaste/CopyPastePlugin.java
@@ -4,7 +4,7 @@ import java.awt.KeyEventDispatcher;
 import java.awt.KeyboardFocusManager;
 import java.awt.event.KeyEvent;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import jp.sbi.celldesigner.MainWindow;
 import jp.sbi.celldesigner.plugin.CellDesignerPlugin;
@@ -32,7 +32,7 @@ public class CopyPastePlugin extends CellDesignerPlugin {
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(CopyPastePlugin.class.getName());
+  private Logger logger = LogManager.getLogger(CopyPastePlugin.class.getName());
   /**
    * Main window of cell designer.
    */
diff --git a/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/copypaste/CopyPluginAction.java b/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/copypaste/CopyPluginAction.java
index 1e4df5508ac9fae126c5460915f351b7dc92cf1f..fa0f5126a999304f73a6422e645de50e0ff26ff6 100644
--- a/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/copypaste/CopyPluginAction.java
+++ b/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/copypaste/CopyPluginAction.java
@@ -2,7 +2,7 @@ package lcsb.mapviewer.cdplugin.copypaste;
 
 import java.awt.event.ActionEvent;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import jp.sbi.celldesigner.MainWindow;
 import jp.sbi.celldesigner.plugin.PluginAction;
@@ -20,7 +20,7 @@ public class CopyPluginAction extends PluginAction {
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(PasteAction.class.getName());
+  private Logger logger = LogManager.getLogger(PasteAction.class.getName());
 
   /**
    * 
diff --git a/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/copypaste/PasteAction.java b/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/copypaste/PasteAction.java
index f50025facb0a467f8a4bc22e1805fbc3e33ca078..f3b9787030e822383f87c143ddc0f70e6d0f9156 100644
--- a/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/copypaste/PasteAction.java
+++ b/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/copypaste/PasteAction.java
@@ -2,7 +2,7 @@ package lcsb.mapviewer.cdplugin.copypaste;
 
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import jp.sbi.celldesigner.plugin.PluginListOf;
 import jp.sbi.celldesigner.plugin.PluginReaction;
@@ -25,7 +25,7 @@ public class PasteAction extends CopyPasteAbstractAction {
   /**
    * Default class logger.
    */
-  private final Logger logger = Logger.getLogger(PasteAction.class.getName());
+  private final Logger logger = LogManager.getLogger(PasteAction.class.getName());
 
   /**
    * Method that perform annotation of a CellDesigner species listed in
diff --git a/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/copypaste/PastePluginAction.java b/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/copypaste/PastePluginAction.java
index 83cb961f68beabae2004e7d45b38ea1632329d5d..f69c2f31e449d443051306a218247f62e6fd9c8f 100644
--- a/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/copypaste/PastePluginAction.java
+++ b/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/copypaste/PastePluginAction.java
@@ -2,7 +2,7 @@ package lcsb.mapviewer.cdplugin.copypaste;
 
 import java.awt.event.ActionEvent;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import jp.sbi.celldesigner.MainWindow;
 import jp.sbi.celldesigner.plugin.PluginAction;
@@ -20,7 +20,7 @@ public class PastePluginAction extends PluginAction {
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(PasteAction.class.getName());
+  private Logger logger = LogManager.getLogger(PasteAction.class.getName());
   /**
    * 
    */
diff --git a/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/info/InfoFrame.java b/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/info/InfoFrame.java
index c1ed38a65dd4e5147cc6e5dea7acbde43261fbf6..050427addedb5464102cb1cb92a62f8c1e605892 100644
--- a/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/info/InfoFrame.java
+++ b/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/info/InfoFrame.java
@@ -18,7 +18,7 @@ import javax.swing.JScrollPane;
 import javax.swing.JTextArea;
 import javax.swing.JTextField;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import jp.sbi.celldesigner.plugin.PluginSpeciesAlias;
 
@@ -66,7 +66,7 @@ public final class InfoFrame {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private final Logger logger = Logger.getLogger(InfoFrame.class);
+  private final Logger logger = LogManager.getLogger(InfoFrame.class);
 
   /**
    * Instance of the JFrame representation of windows.
diff --git a/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/info/InfoPlugin.java b/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/info/InfoPlugin.java
index 84f47840dfe89e0cda323b18bef310c994ba1b35..92fa61f158c8314eca67f4e1d31877a66a02159e 100644
--- a/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/info/InfoPlugin.java
+++ b/CellDesigner-plugin/src/main/java/lcsb/mapviewer/cdplugin/info/InfoPlugin.java
@@ -10,7 +10,7 @@ import java.util.List;
 
 import javax.swing.Timer;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import jp.sbi.celldesigner.plugin.CellDesignerPlugin;
 import jp.sbi.celldesigner.plugin.PluginListOf;
@@ -43,7 +43,7 @@ public class InfoPlugin extends CellDesignerPlugin {
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(InfoPlugin.class.getName());
+  private Logger logger = LogManager.getLogger(InfoPlugin.class.getName());
 
   /**
    * Listener called when set of selected elements in cell designer changed.
diff --git a/CellDesigner-plugin/src/test/java/lcsb/mapviewer/cdplugin/CdPluginFunctions.java b/CellDesigner-plugin/src/test/java/lcsb/mapviewer/cdplugin/CdPluginFunctions.java
index 778b0f071490a29f21d0aa99983a6929aa655c48..f426805aebbb074372adb584168f929bc3cc8e2e 100644
--- a/CellDesigner-plugin/src/test/java/lcsb/mapviewer/cdplugin/CdPluginFunctions.java
+++ b/CellDesigner-plugin/src/test/java/lcsb/mapviewer/cdplugin/CdPluginFunctions.java
@@ -2,8 +2,7 @@ package lcsb.mapviewer.cdplugin;
 
 import java.util.List;
 
-import org.apache.log4j.Logger;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.core.LogEvent;
 import org.junit.After;
 import org.junit.Before;
 import org.mockito.Mockito;
@@ -12,7 +11,7 @@ import jp.sbi.celldesigner.plugin.PluginListOf;
 import jp.sbi.celldesigner.plugin.PluginReaction;
 import jp.sbi.celldesigner.plugin.PluginSpecies;
 import jp.sbi.celldesigner.plugin.PluginSpeciesAlias;
-import lcsb.mapviewer.common.EventStorageLoggerAppender;
+import lcsb.mapviewer.common.MinervaLoggerAppender;
 
 public class CdPluginFunctions {
 
@@ -27,29 +26,28 @@ public class CdPluginFunctions {
       "</rdf:Description>\n" +
       "</rdf:RDF>\n";
 
-  private EventStorageLoggerAppender appender;
+  private MinervaLoggerAppender appender;
 
   @Before
   public final void _setUp() throws Exception {
-    Logger.getRootLogger().removeAppender(appender);
-    appender = new EventStorageLoggerAppender(false);
-    Logger.getRootLogger().addAppender(appender);
+    MinervaLoggerAppender.unregisterLogEventStorage(appender);
+    appender = MinervaLoggerAppender.createAppender(false);
   }
 
   @After
   public final void _tearDown() throws Exception {
-    Logger.getRootLogger().removeAppender(appender);
+    MinervaLoggerAppender.unregisterLogEventStorage(appender);
   }
 
-  protected List<LoggingEvent> getWarnings() {
+  protected List<LogEvent> getWarnings() {
     return appender.getWarnings();
   }
 
-  protected List<LoggingEvent> getErrors() {
+  protected List<LogEvent> getErrors() {
     return appender.getErrors();
   }
 
-  protected List<LoggingEvent> getFatals() {
+  protected List<LogEvent> getFatals() {
     return appender.getFatals();
   }
 
diff --git a/CellDesigner-plugin/src/test/java/lcsb/mapviewer/cdplugin/copypaste/CopyActionTest.java b/CellDesigner-plugin/src/test/java/lcsb/mapviewer/cdplugin/copypaste/CopyActionTest.java
index ec73f5f1785e3ecb1e24657aa62fbeefe3f061ab..d4ce487f085efd74cd4f67923ccbcc29e51b6e89 100644
--- a/CellDesigner-plugin/src/test/java/lcsb/mapviewer/cdplugin/copypaste/CopyActionTest.java
+++ b/CellDesigner-plugin/src/test/java/lcsb/mapviewer/cdplugin/copypaste/CopyActionTest.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.cdplugin.copypaste;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotEquals;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 import org.mockito.Mockito;
 
@@ -12,7 +12,7 @@ import lcsb.mapviewer.cdplugin.CdPluginFunctions;
 import lcsb.mapviewer.common.SystemClipboard;
 
 public class CopyActionTest extends CdPluginFunctions {
-  Logger logger = Logger.getLogger(CopyActionTest.class);
+  Logger logger = LogManager.getLogger(CopyActionTest.class);
 
   SystemClipboard cp = new SystemClipboard();
 
diff --git a/CellDesigner-plugin/src/test/java/lcsb/mapviewer/cdplugin/copypaste/CopyPasteAbstractActionTest.java b/CellDesigner-plugin/src/test/java/lcsb/mapviewer/cdplugin/copypaste/CopyPasteAbstractActionTest.java
index d1b7ccd956a2a69f1d8f6ab98a4ca55e0723e172..193fa63642653bca05a885e130bcdb34b1b6ce36 100644
--- a/CellDesigner-plugin/src/test/java/lcsb/mapviewer/cdplugin/copypaste/CopyPasteAbstractActionTest.java
+++ b/CellDesigner-plugin/src/test/java/lcsb/mapviewer/cdplugin/copypaste/CopyPasteAbstractActionTest.java
@@ -6,7 +6,7 @@ import static org.junit.Assert.assertNull;
 
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -17,7 +17,7 @@ import lcsb.mapviewer.model.map.MiriamRelationType;
 import lcsb.mapviewer.model.map.MiriamType;
 
 public class CopyPasteAbstractActionTest {
-  Logger logger = Logger.getLogger(CopyPasteAbstractActionTest.class);
+  Logger logger = LogManager.getLogger(CopyPasteAbstractActionTest.class);
 
   @Before
   public void setUp() throws Exception {
diff --git a/CellDesigner-plugin/src/test/java/lcsb/mapviewer/cdplugin/info/InfoFrameTest.java b/CellDesigner-plugin/src/test/java/lcsb/mapviewer/cdplugin/info/InfoFrameTest.java
index d4aa5ee001e9a15832bac43973a7ac0bc5cbeaec..29dd1d8ba517ce7dc47b9dd33b370019a5a341de 100644
--- a/CellDesigner-plugin/src/test/java/lcsb/mapviewer/cdplugin/info/InfoFrameTest.java
+++ b/CellDesigner-plugin/src/test/java/lcsb/mapviewer/cdplugin/info/InfoFrameTest.java
@@ -6,14 +6,14 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 
 import jp.sbi.celldesigner.plugin.PluginSpeciesAlias;
 import lcsb.mapviewer.cdplugin.CdPluginFunctions;
 
 public class InfoFrameTest extends CdPluginFunctions {
-  Logger logger = Logger.getLogger(InfoFrameTest.class);
+  Logger logger = LogManager.getLogger(InfoFrameTest.class);
 
   @Test
   public void testSetEmptySpeciesList() {
diff --git a/CellDesigner-plugin/src/test/java/lcsb/mapviewer/cdplugin/info/InfoPluginTest.java b/CellDesigner-plugin/src/test/java/lcsb/mapviewer/cdplugin/info/InfoPluginTest.java
index a13b986fc5e43facdfd28b9db560b48aeef7111a..6a5190e039bf0021a9753d90a6b1bc52a7f44c6d 100644
--- a/CellDesigner-plugin/src/test/java/lcsb/mapviewer/cdplugin/info/InfoPluginTest.java
+++ b/CellDesigner-plugin/src/test/java/lcsb/mapviewer/cdplugin/info/InfoPluginTest.java
@@ -5,7 +5,7 @@ import static org.junit.Assert.assertEquals;
 import java.util.Arrays;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 
 import jp.sbi.celldesigner.plugin.PluginSpeciesAlias;
@@ -13,7 +13,7 @@ import lcsb.mapviewer.cdplugin.CdPluginFunctions;
 
 public class InfoPluginTest extends CdPluginFunctions {
 
-  Logger logger = Logger.getLogger(InfoPluginTest.class);
+  Logger logger = LogManager.getLogger(InfoPluginTest.class);
 
   @Test
   public void testConstructor() {
diff --git a/CellDesigner-plugin/src/test/resources/log4j.properties b/CellDesigner-plugin/src/test/resources/log4j.properties
deleted file mode 100644
index e66aa395621b6423c2efe274234336b4d1baf858..0000000000000000000000000000000000000000
--- a/CellDesigner-plugin/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-#Set root logger 's level and its appender to an appender called CONSOLE which is defined below.
-log4j.rootLogger=info, CONSOLE
-
-#Set the behavior of the CONSOLE appender 
-log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
-log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
-log4j.appender.CONSOLE.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-#log4j.appender.CONSOLE.layout.ConversionPattern=%m%n
-
-
-#Set the behavior of the FILE appender 
-log4j.appender.R=org.apache.log4j.FileAppender
-log4j.appender.R.File=${catalina.home}/logs/MapViewer.log
-log4j.appender.R.layout=org.apache.log4j.PatternLayout
-log4j.appender.R.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-
-
-log4j.logger.org.springframework=warn
-log4j.logger.org.hibernate=warn
-log4j.logger.lcsb=debug
diff --git a/CellDesigner-plugin/src/test/resources/log4j2.properties b/CellDesigner-plugin/src/test/resources/log4j2.properties
new file mode 100644
index 0000000000000000000000000000000000000000..b5eaa32682d177bf266eb6ed4831b4e8f4b9135d
--- /dev/null
+++ b/CellDesigner-plugin/src/test/resources/log4j2.properties
@@ -0,0 +1,25 @@
+rootLogger.level = INFO
+appenders = console
+
+appender.console.type = Console
+appender.console.name = STDOUT
+appender.console.layout.type = PatternLayout
+appender.console.layout.pattern = %d %5p [%t] (%F:%L) - %m%n
+
+rootLogger.appenderRefs = console
+
+rootLogger.appenderRef.console.ref = STDOUT
+
+logger.minerva.name = lcsb
+logger.minerva.level = debug
+logger.minerva-persist.name = lcsb.mapviewer.persist.DbUtils
+logger.minerva-persist.level = info
+logger.minerva-cache.name = lcsb.mapviewer.annotation.cache
+logger.minerva-cache.level = info
+
+
+logger.springframework.name = org.springframework
+logger.springframework.level = warn
+
+logger.hibernate.name = org.hibernate
+logger.hibernate.level = warn
diff --git a/annotation/pom.xml b/annotation/pom.xml
index 52fb956262f6c7592ad30f17860ed5a3454cc2e4..9db1f508603b899ad2c5a28b2ccc82d5538ee40a 100644
--- a/annotation/pom.xml
+++ b/annotation/pom.xml
@@ -65,11 +65,35 @@
 			<version>1.0</version>
 		</dependency>
 
-		<!-- Log4J -->
+		<!-- Log4J2 -->
 		<dependency>
-			<groupId>log4j</groupId>
-			<artifactId>log4j</artifactId>
-			<version>${log4j.version}</version>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-api</artifactId>
+			<version>${log4j2.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-core</artifactId>
+			<version>${log4j2.version}</version>
+		</dependency>
+		<!-- Spring uses commons-logging, so: https://stackoverflow.com/a/41475146/1127920 -->
+		<dependency>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-jcl</artifactId>
+			<version>${log4j-jcl-version}</version>
+			
+		</dependency>
+
+		<dependency>
+			<groupId>javax.mail</groupId>
+			<artifactId>mail</artifactId>
+			<version>${mail-version}</version>
+		</dependency>
+
+		<dependency>
+			<groupId>commons-io</groupId>
+			<artifactId>commons-io</artifactId>
+			<version>${commons-io.version}</version>
 		</dependency>
 
 		<!-- XML parser -->
@@ -154,23 +178,6 @@
 			<version>${springframework.version}</version>
 		</dependency>
 
-		<!-- Miriam registry API -->
-		<dependency>
-			<groupId>uk.ac.ebi.miriam</groupId>
-			<artifactId>miriam-lib</artifactId>
-			<version>${miriam-lib.version}</version>
-			<exclusions>
-				<exclusion>
-					<groupId>log4j</groupId>
-					<artifactId>log4j</artifactId>
-				</exclusion>
-				<exclusion>
-					<groupId>commons-logging</groupId>
-					<artifactId>commons-logging</artifactId>
-				</exclusion>
-			</exclusions>
-		</dependency>
-
 		<!-- Utils used for connection via http -->
 		<dependency>
 			<groupId>org.apache.httpcomponents</groupId>
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/cache/ApplicationLevelCache.java b/annotation/src/main/java/lcsb/mapviewer/annotation/cache/ApplicationLevelCache.java
index 59a9b26a4af5a09b46427dd1d3e0ca2b970380fa..ac69ec6114d7bc07e3163556cd5c1fce7eff66bd 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/cache/ApplicationLevelCache.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/cache/ApplicationLevelCache.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.annotation.cache;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.stereotype.Service;
 import org.w3c.dom.Node;
 
@@ -31,7 +31,7 @@ public final class ApplicationLevelCache implements QueryCacheInterface {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(ApplicationLevelCache.class);
+  private static Logger logger = LogManager.getLogger(ApplicationLevelCache.class);
 
   /**
    * Cached nodes stored locally and identified by string.
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/cache/BigFileCache.java b/annotation/src/main/java/lcsb/mapviewer/annotation/cache/BigFileCache.java
index d376c55a74c17d5a67240ca52ddeca88652ba052..44c205e061d7abd1d6f84ba2cf436a73d8f6561c 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/cache/BigFileCache.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/cache/BigFileCache.java
@@ -27,7 +27,7 @@ import org.apache.commons.net.ftp.FTP;
 import org.apache.commons.net.ftp.FTPClient;
 import org.apache.commons.net.ftp.FTPFile;
 import org.apache.commons.net.ftp.FTPReply;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import lcsb.mapviewer.common.Configuration;
@@ -58,7 +58,7 @@ public class BigFileCache {
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(BigFileCache.class);
+  private Logger logger = LogManager.getLogger(BigFileCache.class);
 
   /**
    * Access class for database objects storing statuses of the files.
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/cache/CachableInterface.java b/annotation/src/main/java/lcsb/mapviewer/annotation/cache/CachableInterface.java
index d64f6eb8025fd4fd894a2e8db610a3d14b289cd4..6e172786a3df57d847dd84e7ca137c3e3358b18a 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/cache/CachableInterface.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/cache/CachableInterface.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.annotation.cache;
 import java.io.IOException;
 
 import org.apache.commons.lang3.StringEscapeUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.w3c.dom.Node;
 
@@ -23,7 +23,7 @@ public abstract class CachableInterface {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(CachableInterface.class);
+  private static Logger logger = LogManager.getLogger(CachableInterface.class);
 
   /**
    * Refresh cache data from original source.
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/cache/GeneralCache.java b/annotation/src/main/java/lcsb/mapviewer/annotation/cache/GeneralCache.java
index 1feb1a39aaa18a0ca0699a65b62bc79ea40f8c63..360a50c391c6d73467c769ebc1f6ac26ba3ae3ff 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/cache/GeneralCache.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/cache/GeneralCache.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.annotation.cache;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Service;
@@ -26,7 +26,7 @@ public class GeneralCache implements GeneralCacheInterface {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(GeneralCache.class);
+  private static Logger logger = LogManager.getLogger(GeneralCache.class);
 
   /**
    * Application level cache. More information can be found
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/cache/GeneralCacheWithExclusion.java b/annotation/src/main/java/lcsb/mapviewer/annotation/cache/GeneralCacheWithExclusion.java
index 84676a13dfe4d4a61c940c26f34452ade1e094e2..1a82107082005ae425b50378114411e57535b1e0 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/cache/GeneralCacheWithExclusion.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/cache/GeneralCacheWithExclusion.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.annotation.cache;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Node;
 
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
@@ -22,7 +22,7 @@ public class GeneralCacheWithExclusion implements GeneralCacheInterface {
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(GeneralCacheWithExclusion.class);
+  private Logger logger = LogManager.getLogger(GeneralCacheWithExclusion.class);
 
   /**
    * How many queries should be ignored.
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/cache/PermanentDatabaseLevelCache.java b/annotation/src/main/java/lcsb/mapviewer/annotation/cache/PermanentDatabaseLevelCache.java
index b55e206cb8a07c5372b27f6d63ed4825959cc57a..5d5059a89ade105340b8b68b3a4ba50ea1b02aad 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/cache/PermanentDatabaseLevelCache.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/cache/PermanentDatabaseLevelCache.java
@@ -13,7 +13,7 @@ import java.util.concurrent.ThreadFactory;
 
 import javax.annotation.PostConstruct;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.aop.framework.Advised;
 import org.springframework.aop.support.AopUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -406,7 +406,7 @@ public class PermanentDatabaseLevelCache implements PermanentDatabaseLevelCacheI
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(PermanentDatabaseLevelCache.class);
+  private static Logger logger = LogManager.getLogger(PermanentDatabaseLevelCache.class);
 
   /**
    * Data access object for query entries accessed by string key.
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/cache/WebPageDownloader.java b/annotation/src/main/java/lcsb/mapviewer/annotation/cache/WebPageDownloader.java
index 05e3f7d4068c274426931f105ba788cd493990e5..f22b0530b3fcc57a837e11164080797c53373d3a 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/cache/WebPageDownloader.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/cache/WebPageDownloader.java
@@ -15,7 +15,7 @@ import java.util.concurrent.Future;
 import java.util.concurrent.TimeUnit;
 
 import org.apache.commons.io.IOUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.annotation.services.WrongResponseCodeIOException;
 
@@ -36,7 +36,7 @@ public class WebPageDownloader {
 	/**
 	 * Default class logger.
 	 */
-	private final Logger		 logger																		= Logger.getLogger(WebPageDownloader.class);
+	private final Logger		 logger																		= LogManager.getLogger(WebPageDownloader.class);
 
 	/**
 	 * Hard timeout (threads are terminated) of http connection that access data
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/cache/XmlSerializer.java b/annotation/src/main/java/lcsb/mapviewer/annotation/cache/XmlSerializer.java
index 0783e5c99e0e7a019a9aaa01cedd712d89e0d112..3f4189908b9602ede22cc0363c2af70de9b86480 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/cache/XmlSerializer.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/cache/XmlSerializer.java
@@ -8,7 +8,7 @@ import javax.xml.bind.Marshaller;
 import javax.xml.bind.Unmarshaller;
 
 import org.apache.commons.lang3.SerializationException;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Node;
 
 /**
@@ -25,7 +25,7 @@ public class XmlSerializer<T> {
 	/**
 	 * Default class logger.
 	 */
-	private final Logger			 logger	= Logger.getLogger(XmlSerializer.class);
+	private final Logger			 logger	= LogManager.getLogger(XmlSerializer.class);
 
 	/**
 	 * Class of the object that DAO works on.
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/data/Chebi.java b/annotation/src/main/java/lcsb/mapviewer/annotation/data/Chebi.java
index 66f1f1782b1d3c4da497211efe11c51adb17de44..00e4d1f0fc5f55c3dbd0d1ae88823fcdefbd522d 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/data/Chebi.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/data/Chebi.java
@@ -6,7 +6,7 @@ import java.util.List;
 
 import javax.xml.bind.annotation.XmlRootElement;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import uk.ac.ebi.chebi.webapps.chebiWS.model.DataItem;
 import uk.ac.ebi.chebi.webapps.chebiWS.model.Entity;
@@ -30,7 +30,7 @@ public class Chebi implements Serializable {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger				logger					 = Logger.getLogger(Chebi.class);
+	private static Logger				logger					 = LogManager.getLogger(Chebi.class);
 
 	/**
 	 * Name of the object.
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/data/Drug.java b/annotation/src/main/java/lcsb/mapviewer/annotation/data/Drug.java
index ea8576f003697f104b513d70746c866d79439743..d4e786a0654921a3899a2098d4d0533bd84f23f9 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/data/Drug.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/data/Drug.java
@@ -8,7 +8,7 @@ import java.util.List;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlRootElement;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.comparator.StringComparator;
 import lcsb.mapviewer.model.map.MiriamData;
@@ -30,7 +30,7 @@ public class Drug implements Serializable, TargettingStructure {
 	/**
 	 * Default class logger.
 	 */
-	private static Logger			logger						= Logger.getLogger(Drug.class);
+	private static Logger			logger						= LogManager.getLogger(Drug.class);
 
 	/**
 	 * Source of the data.
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/data/MeSH.java b/annotation/src/main/java/lcsb/mapviewer/annotation/data/MeSH.java
index 68eae86800919946efb37f76598edb1800d4846f..dfe74c5eb9ff137fad218587a2d4ab530e5a1824 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/data/MeSH.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/data/MeSH.java
@@ -8,7 +8,7 @@ import java.util.Set;
 import javax.xml.bind.annotation.XmlRootElement;
 
 import org.apache.commons.lang3.StringUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * This class represents <a href="http://www.nlm.nih.gov/cgi/mesh//">MeSH</a>
@@ -29,7 +29,7 @@ public class MeSH implements Serializable {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger			logger					 = Logger.getLogger(MeSH.class);
+	private static Logger			logger					 = LogManager.getLogger(MeSH.class);
 
 	/**
 	 * short name.
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/data/Target.java b/annotation/src/main/java/lcsb/mapviewer/annotation/data/Target.java
index 6c71b4072eba9fbad6d971265353193cfeeeccd4..20c0eaa0adff6f29b85c204b132d79908ce8a06d 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/data/Target.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/data/Target.java
@@ -7,7 +7,7 @@ import java.util.List;
 
 import javax.xml.bind.annotation.XmlElement;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.model.map.MiriamData;
@@ -29,7 +29,7 @@ public class Target implements Serializable {
   /**
    * Default class logger.
    */
-  private static transient Logger logger = Logger.getLogger(Target.class);
+  private static transient Logger logger = LogManager.getLogger(Target.class);
 
   /**
    * Database from which target was received.
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/ChEMBLParser.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/ChEMBLParser.java
index 9b7e32922491af5fce7203928d07580eca51317a..ed43d7470bf9ebd838013445d7665ebaaee3505e 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/ChEMBLParser.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/ChEMBLParser.java
@@ -9,7 +9,7 @@ import java.util.List;
 import java.util.Set;
 
 import lcsb.mapviewer.common.XmlParser;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.w3c.dom.Document;
@@ -99,7 +99,7 @@ public class ChEMBLParser extends DrugAnnotation implements IExternalService {
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(ChEMBLParser.class);
+  private Logger logger = LogManager.getLogger(ChEMBLParser.class);
 
   /**
    * Service used for annotation of proteins using {@link MiriamType#UNIPROT
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/ChemicalParser.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/ChemicalParser.java
index 0ecb5a69cd2729897edb9741d978deb14881ee49..014ea5719388f497de52dd87301540f39827fd61 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/ChemicalParser.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/ChemicalParser.java
@@ -14,7 +14,7 @@ import java.util.regex.Pattern;
 
 import org.apache.commons.lang3.SerializationException;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.w3c.dom.Node;
@@ -50,7 +50,7 @@ public class ChemicalParser extends CachableInterface implements IExternalServic
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(ChemicalParser.class);
+  private Logger logger = LogManager.getLogger(ChemicalParser.class);
 
   /**
    * Prefix used for caching elements with chemical identifier as a key.
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/DrugAnnotation.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/DrugAnnotation.java
index 8f9146ab17d5d3b57841bc875ddad536fa62dc29..5cc8c49bbdc21f7b8fcd5ed224e278e6094ea3bb 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/DrugAnnotation.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/DrugAnnotation.java
@@ -9,7 +9,7 @@ import java.util.List;
 import java.util.Set;
 
 import org.apache.commons.lang3.StringUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import lcsb.mapviewer.annotation.cache.CachableInterface;
@@ -43,7 +43,7 @@ public abstract class DrugAnnotation extends CachableInterface {
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(DrugAnnotation.class);
+  private Logger logger = LogManager.getLogger(DrugAnnotation.class);
 
   /**
    * Object that allows to serialize {@link Drug} elements into xml string and
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/DrugbankHTMLParser.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/DrugbankHTMLParser.java
index a8da8713af3b99ef2f28c7377df707425c455081..31fa6e00093ee2e51b5f51442effec2f810c17db 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/DrugbankHTMLParser.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/DrugbankHTMLParser.java
@@ -13,7 +13,7 @@ import java.util.regex.Pattern;
 
 import org.apache.commons.lang3.SerializationException;
 import org.apache.commons.lang3.StringEscapeUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import lcsb.mapviewer.annotation.cache.GeneralCacheInterface;
@@ -66,7 +66,7 @@ public class DrugbankHTMLParser extends DrugAnnotation implements IExternalServi
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(DrugbankHTMLParser.class);
+  private Logger logger = LogManager.getLogger(DrugbankHTMLParser.class);
 
   /**
    * Url used for finding drug by drug name.
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/MeSHParser.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/MeSHParser.java
index c76bcb1d4714383eefac7084cf678492915ec471..f178fc9cefafb3c53298e187c97fc7e5f54d6f54 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/MeSHParser.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/MeSHParser.java
@@ -10,7 +10,7 @@ import java.util.Set;
 
 import org.apache.commons.lang3.SerializationException;
 import org.apache.http.HttpStatus;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.stereotype.Service;
 import org.w3c.dom.Node;
 
@@ -54,7 +54,7 @@ public class MeSHParser extends CachableInterface implements IExternalService {
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(MeSHParser.class);
+  private Logger logger = LogManager.getLogger(MeSHParser.class);
 
   /**
    * Object that allows to serialize {@link MeSH} elements into xml string and
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/MiRNAParser.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/MiRNAParser.java
index 36644f65e8e2dc32d70f593ffba8693ad4d0f61a..667b344062dcdead21ba4c6906ce382bf109cdb9 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/MiRNAParser.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/MiRNAParser.java
@@ -19,7 +19,7 @@ import java.util.Map;
 import java.util.Set;
 
 import org.apache.commons.lang3.StringUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.apache.poi.poifs.filesystem.NPOIFSFileSystem;
 import org.apache.poi.poifs.filesystem.NotOLE2FileException;
 import org.apache.poi.ss.usermodel.Cell;
@@ -121,7 +121,7 @@ public class MiRNAParser extends CachableInterface implements IExternalService {
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(MiRNAParser.class);
+  private Logger logger = LogManager.getLogger(MiRNAParser.class);
 
   /**
    * Class used to access information about organisms taxonomy.
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/MiriamConnector.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/MiriamConnector.java
index 95304a0ab11d0ce858017700cd42acc03ec3841f..a3e47864a7e36be35d0ff58758b68698b57fc4f9 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/MiriamConnector.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/MiriamConnector.java
@@ -1,23 +1,22 @@
 package lcsb.mapviewer.annotation.services;
 
-import java.io.IOException;
+import java.util.Map;
 
-import lcsb.mapviewer.common.XmlParser;
-import org.apache.log4j.Logger;
+import org.apache.http.HttpStatus;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.hibernate.AnnotationException;
 import org.springframework.stereotype.Service;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
+
+import com.google.gson.Gson;
 
 import lcsb.mapviewer.annotation.cache.CachableInterface;
 import lcsb.mapviewer.annotation.cache.GeneralCacheInterface;
-import lcsb.mapviewer.annotation.cache.SourceNotAvailable;
 import lcsb.mapviewer.annotation.cache.WebPageDownloader;
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.model.map.MiriamData;
 import lcsb.mapviewer.model.map.MiriamRelationType;
 import lcsb.mapviewer.model.map.MiriamType;
-import uk.ac.ebi.miriam.lib.MiriamLink;
 
 /**
  * Class responsible for connection to Miriam DB. It allows to update URI of
@@ -28,40 +27,16 @@ import uk.ac.ebi.miriam.lib.MiriamLink;
  */
 @Service
 public final class MiriamConnector extends CachableInterface implements IExternalService {
-
-  /**
-   * String used to distinguish cached data for links.
-   */
-  static final String LINK_DB_PREFIX = "Link: ";
-
-  /**
-   * String used to distinguish cached data for checking if uri is valid.
-   */
-  protected static final String VALID_URI_PREFIX = "Validity: ";
-
-  /**
-   * String describing invalid miriam entries that will be put into db (instead of
-   * null).
-   */
-  private static final String INVALID_LINK = "INVALID";
-
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(MiriamConnector.class.getName());
-
-  /**
-   * Miriam Registry API.
-   */
-  private MiriamLink link;
+  private Logger logger = LogManager.getLogger(MiriamConnector.class);
 
   /**
    * Default class constructor. Prevent initialization.
    */
   public MiriamConnector() {
     super(MiriamConnector.class);
-    link = new MiriamLink();
-    link.setAddress("https://www.ebi.ac.uk/miriamws/main/MiriamWebServices");
   }
 
   /**
@@ -77,29 +52,27 @@ public final class MiriamConnector extends CachableInterface implements IExterna
     } else if (miriamData.getDataType().getUris().size() == 0) {
       throw new InvalidArgumentException("Url for " + miriamData.getDataType() + " cannot be retreived.");
     }
-    String query = LINK_DB_PREFIX + miriamData.getDataType().getUris().get(0) + "\n" + miriamData.getResource();
-    String result = getCacheValue(query);
-    if (result != null) {
-      if (INVALID_LINK.equals(result)) {
+    String id;
+    if (miriamData.getDataType().getNamespace().isEmpty()) {
+      id = miriamData.getResource();
+    } else {
+      id = miriamData.getDataType().getNamespace() + ":" + miriamData.getResource();
+    }
+
+    String query = "https://identifiers.org/rest/identifiers/validate/" + id;
+    try {
+      String page = getWebPageContent(query);
+      Gson gson = new Gson();
+      Map<?, ?> map = gson.fromJson(page, Map.class);
+      return (String) map.get("url");
+    } catch (WrongResponseCodeIOException e) {
+      if (HttpStatus.SC_NOT_FOUND == e.getResponseCode()) {
         return null;
+      } else {
+        throw new AnnotationException("Problem with accessing identifiers.org", e);
       }
-      return result;
-    }
-    String uri = miriamData.getDataType().getUris().get(0) + ":" + miriamData.getResource();
-    String[] urls = getLink().getLocations(uri);
-    if (urls == null) {
-      result = null;
-    } else if (urls.length > 0) {
-      result = urls[0];
-    }
-    if (result != null) {
-      setCacheValue(query, result);
-      return result;
-    } else {
-      logger.warn("Cannot find url for miriam: " + miriamData);
-      // if url cannot be found then mark miriam data as invalid for one day
-      setCacheValue(query, INVALID_LINK, 1);
-      return null;
+    } catch (Exception e) {
+      throw new AnnotationException("Problem with accessing identifiers.org", e);
     }
   }
 
@@ -142,81 +115,19 @@ public final class MiriamConnector extends CachableInterface implements IExterna
     }
   }
 
-  @Override
-  public String refreshCacheQuery(Object query) throws SourceNotAvailable {
-    String result = null;
-    if (query instanceof String) {
-      String name = (String) query;
-      if (name.startsWith(LINK_DB_PREFIX)) {
-        String tmp = name.substring(LINK_DB_PREFIX.length());
-        String[] rows = tmp.split("\n");
-        if (rows.length != 2) {
-          throw new InvalidArgumentException("Miriam link query is invalid: " + query);
-        }
-        MiriamType dataType = MiriamType.getTypeByUri(rows[0]);
-        String resource = rows[1];
-        result = getUrlString(new MiriamData(MiriamRelationType.BQ_BIOL_IS_DESCRIBED_BY, dataType, resource));
-      } else if (name.startsWith(VALID_URI_PREFIX)) {
-        String tmp = name.substring(VALID_URI_PREFIX.length());
-        result = "" + isValid(tmp);
-      } else if (name.startsWith("http")) {
-        try {
-          result = getWebPageContent(name);
-        } catch (IOException e) {
-          throw new SourceNotAvailable(e);
-        }
-      } else {
-        throw new InvalidArgumentException("Don't know what to do with string \"" + query + "\"");
-      }
-    } else {
-      throw new InvalidArgumentException("Don't know what to do with class: " + query.getClass());
-    }
-
-    return result;
-  }
-
   /**
-   * Checks if uri (like the one defined in {@link MiriamType#getUris()}) is valid.
+   * Checks if {@link MiriamType} is valid.
    * 
-   * @param uri
-   *          uri to check
-   * @return <code>true</code> if uri in parameter is valid, <code>false</code>
+   * @param type
+   *          type to be checked
+   * @return <code>true</code> if {@link MiriamType} is valid, <code>false</code>
    *         otherwise
    */
-  public boolean isValid(String uri) {
-    boolean result = false;
-    String name = getLink().getName(uri);
-    if (name == null) {
-      result = false;
-    } else {
-      result = !name.isEmpty();
-    }
-    return result;
-  }
-
-  /**
-   * This is alternative version of {@link #getUrlString(MiriamData)} method that
-   * is around 30% faster. But it refers to beta version of
-   * <a href="https://www.ebi.ac.uk/miriamws/main/rest/">miriam Rest API</a>.
-   * 
-   * @param md
-   *          miriam data for which access url will be returned
-   * @return url to resource pointed by miriam data
-   * @throws AnnotationException
-   *           thrown when there is a problem with accessing miriam REST API
-   */
-  protected String getUrlString2(MiriamData md) throws AnnotationException {
-    try {
-      String queryUri = md.getDataType().getUris().get(0) + ":" + md.getResource();
-      String query = "https://www.ebi.ac.uk/miriamws/main/rest/resolve/" + queryUri;
-      String page = getWebPageContent(query);
-      Document document = XmlParser.getXmlDocumentFromString(page);
-      Node uri = XmlParser.getNode("uri", document.getChildNodes());
-      return XmlParser.getNodeValue(uri);
-
-    } catch (Exception e) {
-      throw new AnnotationException("Problem with accessing miriam REST API", e);
+  public boolean isValidMiriamType(MiriamType type) {
+    if (type.getNamespace() == null || type.getExampleIdentifier() == null) {
+      return false;
     }
+    return getUrlString(new MiriamData(type, type.getExampleIdentifier())) != null;
   }
 
   /**
@@ -239,22 +150,4 @@ public final class MiriamConnector extends CachableInterface implements IExterna
   protected void setWebPageDownloader(WebPageDownloader webPageDownloader) {
     super.setWebPageDownloader(webPageDownloader);
   }
-
-  /**
-   * @return the link
-   * @see #link
-   */
-  MiriamLink getLink() {
-    return link;
-  }
-
-  /**
-   * @param link
-   *          the link to set
-   * @see #link
-   */
-  void setLink(MiriamLink link) {
-    this.link = link;
-  }
-
 }
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/ModelAnnotator.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/ModelAnnotator.java
index 0b5caced3e4778e5506566437843ccf09fc486ad..f2c88892795ebfb8784edf5323eba51e1c8bcea0 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/ModelAnnotator.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/ModelAnnotator.java
@@ -11,7 +11,7 @@ import java.util.Queue;
 import java.util.Set;
 
 import org.apache.commons.collections4.ListUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -61,7 +61,7 @@ public class ModelAnnotator {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(ModelAnnotator.class);
+  private static Logger logger = LogManager.getLogger(ModelAnnotator.class);
 
   /**
    * List of all avaliable {@link ElementAnnotator} objects.
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/PubmedParser.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/PubmedParser.java
index 550e615a008d9325176b5f13bf94c14780366a12..e26017f9f9e1d1df20cacc3be54e695172027aff 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/PubmedParser.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/PubmedParser.java
@@ -12,7 +12,7 @@ import javax.xml.xpath.XPathFactory;
 
 import lcsb.mapviewer.common.XmlParser;
 import org.apache.commons.lang3.SerializationException;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.w3c.dom.Document;
@@ -69,7 +69,7 @@ public class PubmedParser extends CachableInterface implements IExternalService
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(PubmedParser.class);
+  private Logger logger = LogManager.getLogger(PubmedParser.class);
 
   /**
    * Object that allows to serialize {@link Article} elements into xml string and
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/TaxonomyBackend.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/TaxonomyBackend.java
index bf130db39f776169036306e2bdee3cd66028814d..dffc032f828cbe619792969ded4d0b0d65469db3 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/TaxonomyBackend.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/TaxonomyBackend.java
@@ -5,7 +5,7 @@ import java.net.URLEncoder;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.annotation.cache.CachableInterface;
 import lcsb.mapviewer.annotation.cache.GeneralCacheInterface;
@@ -137,7 +137,7 @@ public class TaxonomyBackend extends CachableInterface implements IExternalServi
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(TaxonomyBackend.class);
+  private Logger logger = LogManager.getLogger(TaxonomyBackend.class);
 
   /**
    * Default constructor.
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/BiocompendiumAnnotator.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/BiocompendiumAnnotator.java
index 8211daf1476e1205bda8ac46660f0015cdb9ba46..1d84a47976756c32213aec9a0092e8f87e3b82e5 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/BiocompendiumAnnotator.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/BiocompendiumAnnotator.java
@@ -20,7 +20,7 @@ import org.apache.http.entity.ContentType;
 import org.apache.http.entity.mime.MultipartEntityBuilder;
 import org.apache.http.impl.client.CloseableHttpClient;
 import org.apache.http.impl.client.HttpClients;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.stereotype.Service;
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
@@ -73,7 +73,7 @@ public class BiocompendiumAnnotator extends ElementAnnotator implements IExterna
   /**
    * Standard class logger.
    */
-  private final Logger logger = Logger.getLogger(BiocompendiumAnnotator.class);
+  private final Logger logger = LogManager.getLogger(BiocompendiumAnnotator.class);
 
   /**
    * Xml parser used for processing notes into structured data.
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/BrendaAnnotator.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/BrendaAnnotator.java
index d4588a159248204b680687d6bc4fe4f0e776f00c..5c123b67d7a340e3643b4d517046e26daa7455d9 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/BrendaAnnotator.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/BrendaAnnotator.java
@@ -5,7 +5,7 @@ import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -36,7 +36,7 @@ public class BrendaAnnotator extends ElementAnnotator implements IExternalServic
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(BrendaAnnotator.class);
+  private static Logger logger = LogManager.getLogger(BrendaAnnotator.class);
 
   /**
    * Service used for annotation of entities using {@link MiriamType#TAIR_LOCUS
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/CazyAnnotator.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/CazyAnnotator.java
index 4f816eebc645f7fde5ededb9d9da77c09f254178..c4ace692b75b9639318e90b97ed893aade40b3b2 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/CazyAnnotator.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/CazyAnnotator.java
@@ -9,7 +9,7 @@ import java.util.List;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -42,7 +42,7 @@ public class CazyAnnotator extends ElementAnnotator implements IExternalService
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(CazyAnnotator.class);
+  private static Logger logger = LogManager.getLogger(CazyAnnotator.class);
 
   /**
    * Service used for annotation of entities using {@link MiriamType#TAIR_LOCUS
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/ChebiAnnotator.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/ChebiAnnotator.java
index e12db6b686dcfaef31f300d8b9dcb691e4221fc3..355a9828d794e556b1dfdc1c9466cc498e96961d 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/ChebiAnnotator.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/ChebiAnnotator.java
@@ -10,7 +10,7 @@ import java.util.Set;
 
 import javax.xml.ws.WebServiceException;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.stereotype.Service;
 
 import lcsb.mapviewer.annotation.cache.GeneralCacheInterface;
@@ -112,7 +112,7 @@ public class ChebiAnnotator extends ElementAnnotator implements IExternalService
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(ChebiAnnotator.class);
+  private static Logger logger = LogManager.getLogger(ChebiAnnotator.class);
 
   /**
    * Client to chebi API.
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/ElementAnnotator.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/ElementAnnotator.java
index e25281c878b5cc13905117ae9073c1101527f143..68874cf7026611f8d32bdf2884d0de9bae9347cf 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/ElementAnnotator.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/ElementAnnotator.java
@@ -7,7 +7,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.annotation.cache.CachableInterface;
 import lcsb.mapviewer.common.comparator.StringSetComparator;
@@ -43,7 +43,7 @@ public abstract class ElementAnnotator extends CachableInterface {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(ElementAnnotator.class);
+  private static Logger logger = LogManager.getLogger(ElementAnnotator.class);
 
   /**
    * List of classes that can be annotated by this {@link IElementAnnotator
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/EnsemblAnnotator.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/EnsemblAnnotator.java
index a97761cc48947d36388d992a7895e4c754406c58..0b502b36f9c2e1c3517df3ca024685473fd0e032 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/EnsemblAnnotator.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/EnsemblAnnotator.java
@@ -7,7 +7,7 @@ import java.util.List;
 import java.util.Set;
 
 import lcsb.mapviewer.common.XmlParser;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.stereotype.Service;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
@@ -74,7 +74,7 @@ public class EnsemblAnnotator extends ElementAnnotator implements IExternalServi
   /**
    * Standard class logger.
    */
-  private final Logger logger = Logger.getLogger(EnsemblAnnotator.class);
+  private final Logger logger = LogManager.getLogger(EnsemblAnnotator.class);
 
   @Override
   public String getCommonName() {
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/EntrezAnnotator.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/EntrezAnnotator.java
index acd75f7b088e5e577a3291c2d56261cc7f310500..6ae860d282688160b31a218928d8026bd1eb4570 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/EntrezAnnotator.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/EntrezAnnotator.java
@@ -10,7 +10,7 @@ import java.util.List;
 import java.util.Set;
 
 import org.apache.commons.text.StringEscapeUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.stereotype.Service;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
@@ -105,7 +105,7 @@ public class EntrezAnnotator extends ElementAnnotator implements IExternalServic
   /**
    * Standard class logger.
    */
-  private final Logger logger = Logger.getLogger(EntrezAnnotator.class);
+  private final Logger logger = LogManager.getLogger(EntrezAnnotator.class);
 
   @Override
   public String getCommonName() {
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/GoAnnotator.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/GoAnnotator.java
index 9360e3e803e2370d87a4a47ebe28665b2638a02a..53669eecb73d0cea00f755faae2508ca45b0278f 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/GoAnnotator.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/GoAnnotator.java
@@ -6,7 +6,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -51,7 +51,7 @@ public class GoAnnotator extends ElementAnnotator implements IExternalService {
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(GoAnnotator.class);
+  private Logger logger = LogManager.getLogger(GoAnnotator.class);
 
   /**
    * Connector used for accessing data from miriam registry.
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/HgncAnnotator.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/HgncAnnotator.java
index e88d025a162f5c48d30d03ff51dcee6bfca7da61..36aa9fb4a2a1d31cd7512ab6bcdcaafa2531deeb 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/HgncAnnotator.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/HgncAnnotator.java
@@ -6,7 +6,7 @@ import java.util.Arrays;
 import java.util.List;
 
 import lcsb.mapviewer.common.XmlParser;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.stereotype.Service;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
@@ -62,7 +62,7 @@ public class HgncAnnotator extends ElementAnnotator implements IExternalService
   /**
    * Standard class logger.
    */
-  private final Logger logger = Logger.getLogger(HgncAnnotator.class);
+  private final Logger logger = LogManager.getLogger(HgncAnnotator.class);
 
   @Override
   public String getCommonName() {
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/KeggAnnotator.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/KeggAnnotator.java
index eba58560fcd51110c175a178e89c1848f1bfd6b3..f1c2e73927928f6b017092b19e9fd5279ea45886 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/KeggAnnotator.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/KeggAnnotator.java
@@ -9,7 +9,7 @@ import java.util.Set;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.stereotype.Service;
 
 import lcsb.mapviewer.annotation.cache.GeneralCacheInterface;
@@ -46,7 +46,7 @@ public class KeggAnnotator extends ElementAnnotator implements IExternalService
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(KeggAnnotator.class);
+  private static Logger logger = LogManager.getLogger(KeggAnnotator.class);
 
   /**
    * Pattern used for finding PUBMED IDs in KEGG page.
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/PdbAnnotator.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/PdbAnnotator.java
index 440815a66c28bdca727a82acf8a45dbb93d4bb8c..65b1a8a5ba0ee923f7e5ed2cf165e7c9454e006e 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/PdbAnnotator.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/PdbAnnotator.java
@@ -9,7 +9,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -49,7 +49,7 @@ public class PdbAnnotator extends ElementAnnotator implements IExternalService {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(PdbAnnotator.class);
+  private static Logger logger = LogManager.getLogger(PdbAnnotator.class);
 
   /**
    * Default constructor.
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/ReconAnnotator.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/ReconAnnotator.java
index 018ffd8d742b500173be4e6872b62f368ae33cea..4bd99f0f0525e6a80b0e37c4fc7d78cc92f87349 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/ReconAnnotator.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/ReconAnnotator.java
@@ -6,7 +6,7 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.Map.Entry;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.stereotype.Service;
 
 import com.google.gson.JsonArray;
@@ -19,7 +19,8 @@ import lcsb.mapviewer.annotation.cache.WebPageDownloader;
 import lcsb.mapviewer.annotation.services.ExternalServiceStatus;
 import lcsb.mapviewer.annotation.services.ExternalServiceStatusType;
 import lcsb.mapviewer.annotation.services.IExternalService;
-import lcsb.mapviewer.common.EventStorageLoggerAppender;
+
+import lcsb.mapviewer.common.MinervaLoggerAppender;
 import lcsb.mapviewer.common.exception.NotImplementedException;
 import lcsb.mapviewer.model.map.MiriamData;
 import lcsb.mapviewer.model.map.MiriamType;
@@ -53,7 +54,7 @@ public class ReconAnnotator extends ElementAnnotator implements IExternalService
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(ReconAnnotator.class);
+  private static Logger logger = LogManager.getLogger(ReconAnnotator.class);
 
   /**
    * Default constructor.
@@ -68,8 +69,7 @@ public class ReconAnnotator extends ElementAnnotator implements IExternalService
 
     GeneralCacheInterface cacheCopy = getCache();
     this.setCache(null);
-    EventStorageLoggerAppender appender = new EventStorageLoggerAppender();
-    Logger.getRootLogger().addAppender(appender);
+    MinervaLoggerAppender appender = MinervaLoggerAppender.createAppender();
     try {
       SimpleMolecule smallMoleculeAlias = new SimpleMolecule("some_id");
       smallMoleculeAlias.setName("h2o");
@@ -84,7 +84,7 @@ public class ReconAnnotator extends ElementAnnotator implements IExternalService
       logger.error(status.getName() + " is down", e);
       status.setStatus(ExternalServiceStatusType.DOWN);
     }
-    Logger.getRootLogger().removeAppender(appender);
+    MinervaLoggerAppender.unregisterLogEventStorage(appender);
     this.setCache(cacheCopy);
     return status;
   }
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/StitchAnnotator.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/StitchAnnotator.java
index 1d47f2df77ae5fa164da1e38f10f99e3d23a3def..553b202ce2467164721154155baf5c10a1d57b6c 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/StitchAnnotator.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/StitchAnnotator.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.annotation.services.annotators;
 import java.util.Arrays;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.stereotype.Service;
 
 import lcsb.mapviewer.annotation.cache.WebPageDownloader;
@@ -31,7 +31,7 @@ public class StitchAnnotator extends ElementAnnotator implements IExternalServic
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(StitchAnnotator.class);
+  private static Logger logger = LogManager.getLogger(StitchAnnotator.class);
 
   /**
    * Service used for annotation of entities using {@link MiriamType#STITCH
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/TairAnnotator.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/TairAnnotator.java
index 44b767900d96ddb0420043ef668708ff6906b4c2..3bcaeca897bc38c42d20ecb6b427a2c06dda8c65 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/TairAnnotator.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/TairAnnotator.java
@@ -6,7 +6,7 @@ import java.util.Collection;
 import java.util.HashSet;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.stereotype.Service;
 
 import lcsb.mapviewer.annotation.cache.GeneralCacheInterface;
@@ -38,7 +38,7 @@ public class TairAnnotator extends ElementAnnotator implements IExternalService
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(TairAnnotator.class);
+  private static Logger logger = LogManager.getLogger(TairAnnotator.class);
 
   /**
    * Default constructor.
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/UniprotAnnotator.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/UniprotAnnotator.java
index 6a593f1083b84e6f4cda9ca80f4a2aa3f15ce0af..f44e4029821ee5c146f6ff6548c581545c10f27c 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/UniprotAnnotator.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/annotators/UniprotAnnotator.java
@@ -9,7 +9,7 @@ import java.util.Set;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.stereotype.Service;
 
 import lcsb.mapviewer.annotation.cache.GeneralCacheInterface;
@@ -42,7 +42,7 @@ public class UniprotAnnotator extends ElementAnnotator implements IExternalServi
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(UniprotAnnotator.class);
+  private static Logger logger = LogManager.getLogger(UniprotAnnotator.class);
 
   /**
    * Pattern used for finding hgnc symbol from uniprot info page .
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/genome/AbstractReferenceGenomeConnector.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/genome/AbstractReferenceGenomeConnector.java
index 2a39d1aaa82d7c747f37b9da7965e0623e19a6bd..f46251b46df3168bb84c925fd56254601a1c0c28 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/genome/AbstractReferenceGenomeConnector.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/genome/AbstractReferenceGenomeConnector.java
@@ -10,7 +10,7 @@ import java.util.concurrent.Future;
 import java.util.concurrent.ScheduledThreadPoolExecutor;
 import java.util.concurrent.ThreadFactory;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import lcsb.mapviewer.annotation.cache.BigFileCache;
@@ -35,7 +35,7 @@ public abstract class AbstractReferenceGenomeConnector extends CachableInterface
 	/**
 	 * Default class logger.
 	 */
-	private Logger												logger = Logger.getLogger(AbstractReferenceGenomeConnector.class);
+	private Logger												logger = LogManager.getLogger(AbstractReferenceGenomeConnector.class);
 
 	/**
 	 * Utils that help to manage the sessions in custom multithreaded
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/genome/UcscReferenceGenomeConnector.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/genome/UcscReferenceGenomeConnector.java
index a6caa1fcd55dad6b5988901dab7909ec5d5d7003..e58e376800c103f4f2eb9d2b23c2bdaa17d7c695 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/genome/UcscReferenceGenomeConnector.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/genome/UcscReferenceGenomeConnector.java
@@ -17,7 +17,7 @@ import org.apache.commons.net.ftp.FTP;
 import org.apache.commons.net.ftp.FTPClient;
 import org.apache.commons.net.ftp.FTPFile;
 import org.apache.commons.net.ftp.FTPReply;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import lcsb.mapviewer.annotation.cache.SourceNotAvailable;
@@ -58,7 +58,7 @@ public class UcscReferenceGenomeConnector extends AbstractReferenceGenomeConnect
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(UcscReferenceGenomeConnector.class);
+  private Logger logger = LogManager.getLogger(UcscReferenceGenomeConnector.class);
 
   /**
    * Regex pattern that helps to find out organism names in source file.
diff --git a/annotation/src/test/java/lcsb/mapviewer/annotation/AnnotationTestFunctions.java b/annotation/src/test/java/lcsb/mapviewer/annotation/AnnotationTestFunctions.java
index 096363ac2973529f56abd383296014725fbb3eef..f5e381170ab4b2be845a00772d0e5597d56b427c 100644
--- a/annotation/src/test/java/lcsb/mapviewer/annotation/AnnotationTestFunctions.java
+++ b/annotation/src/test/java/lcsb/mapviewer/annotation/AnnotationTestFunctions.java
@@ -28,8 +28,9 @@ import javax.xml.transform.TransformerFactory;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
 
-import org.apache.log4j.Logger;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.*;
+import org.apache.logging.log4j.core.LogEvent;
+
 import org.junit.After;
 import org.junit.Before;
 import org.junit.runner.RunWith;
@@ -45,7 +46,8 @@ import org.xml.sax.InputSource;
 import org.xml.sax.SAXException;
 
 import lcsb.mapviewer.annotation.cache.PermanentDatabaseLevelCacheInterface;
-import lcsb.mapviewer.common.EventStorageLoggerAppender;
+
+import lcsb.mapviewer.common.MinervaLoggerAppender;
 import lcsb.mapviewer.common.exception.InvalidXmlSchemaException;
 import lcsb.mapviewer.converter.ConverterParams;
 import lcsb.mapviewer.converter.model.celldesigner.CellDesignerXmlParser;
@@ -67,31 +69,30 @@ public abstract class AnnotationTestFunctions extends AbstractTransactionalJUnit
   @Autowired
   protected DbUtils dbUtils;
 
-  private Logger logger = Logger.getLogger(AnnotationTestFunctions.class);
+  private Logger logger = LogManager.getLogger(AnnotationTestFunctions.class);
 
-  private EventStorageLoggerAppender appender;
+  private MinervaLoggerAppender appender;
 
   @Before
   public final void _setUp() throws Exception {
-    Logger.getRootLogger().removeAppender(appender);
-    appender = new EventStorageLoggerAppender(false);
-    Logger.getRootLogger().addAppender(appender);
+    MinervaLoggerAppender.unregisterLogEventStorage(appender);
+    appender = MinervaLoggerAppender.createAppender(false);
   }
 
   @After
   public final void _tearDown() throws Exception {
-    Logger.getRootLogger().removeAppender(appender);
+    MinervaLoggerAppender.unregisterLogEventStorage(appender);
   }
 
-  protected List<LoggingEvent> getWarnings() {
+  protected List<LogEvent> getWarnings() {
     return appender.getWarnings();
   }
 
-  protected List<LoggingEvent> getErrors() {
+  protected List<LogEvent> getErrors() {
     return appender.getErrors();
   }
 
-  protected List<LoggingEvent> getFatals() {
+  protected List<LogEvent> getFatals() {
     return appender.getFatals();
   }
 
diff --git a/annotation/src/test/java/lcsb/mapviewer/annotation/cache/ApplicationLevelCacheTest.java b/annotation/src/test/java/lcsb/mapviewer/annotation/cache/ApplicationLevelCacheTest.java
index 2a41636316d0f4cd8023baaf247d2a54e6912699..6b47b3b017db97ef481d18a19ecaca03a55c887d 100644
--- a/annotation/src/test/java/lcsb/mapviewer/annotation/cache/ApplicationLevelCacheTest.java
+++ b/annotation/src/test/java/lcsb/mapviewer/annotation/cache/ApplicationLevelCacheTest.java
@@ -5,7 +5,7 @@ import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -18,7 +18,7 @@ import lcsb.mapviewer.model.cache.CacheType;
 
 public class ApplicationLevelCacheTest extends AnnotationTestFunctions {
 
-	Logger	logger = Logger.getLogger(ApplicationLevelCacheTest.class);
+	Logger	logger = LogManager.getLogger(ApplicationLevelCacheTest.class);
 
 	boolean	status;
 
diff --git a/annotation/src/test/java/lcsb/mapviewer/annotation/cache/BigFileCacheTest.java b/annotation/src/test/java/lcsb/mapviewer/annotation/cache/BigFileCacheTest.java
index 9f189ac6b9d931ae718fbe15a1b49dccef594e6c..43b78c5c54b9e65e5024ba4868f1f337cdfe1771 100644
--- a/annotation/src/test/java/lcsb/mapviewer/annotation/cache/BigFileCacheTest.java
+++ b/annotation/src/test/java/lcsb/mapviewer/annotation/cache/BigFileCacheTest.java
@@ -22,7 +22,7 @@ import java.util.concurrent.ThreadFactory;
 import org.apache.commons.net.ftp.FTPClient;
 import org.apache.commons.net.ftp.FTPFile;
 import org.apache.commons.net.ftp.FTPReply;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -41,7 +41,7 @@ import lcsb.mapviewer.persist.dao.cache.BigFileEntryDao;
 
 public class BigFileCacheTest extends AnnotationTestFunctions {
 
-  Logger logger = Logger.getLogger(BigFileCacheTest.class);
+  Logger logger = LogManager.getLogger(BigFileCacheTest.class);
 
   String ftpUrl = "ftp://ftp.informatik.rwth-aachen.de/README";
   String ftpUrlPartContent = "Welcome";
diff --git a/annotation/src/test/java/lcsb/mapviewer/annotation/cache/CachableInterfaceTest.java b/annotation/src/test/java/lcsb/mapviewer/annotation/cache/CachableInterfaceTest.java
index b8f7bfebfd0e92fc0d573e70256a719d686adc40..16ae5883a8ff2e5fe3cb2c28391a0851864713c0 100644
--- a/annotation/src/test/java/lcsb/mapviewer/annotation/cache/CachableInterfaceTest.java
+++ b/annotation/src/test/java/lcsb/mapviewer/annotation/cache/CachableInterfaceTest.java
@@ -4,7 +4,7 @@ import static org.junit.Assert.*;
 import static org.mockito.Matchers.anyString;
 import static org.mockito.Mockito.when;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -17,7 +17,7 @@ import lcsb.mapviewer.persist.dao.cache.CacheTypeDao;
 
 
 public class CachableInterfaceTest extends AnnotationTestFunctions {
-	Logger logger = Logger.getLogger(CachableInterfaceTest.class);
+	Logger logger = LogManager.getLogger(CachableInterfaceTest.class);
 
 	@Before
 	public void setUp() throws Exception {
diff --git a/annotation/src/test/java/lcsb/mapviewer/annotation/cache/GeneralCacheTest.java b/annotation/src/test/java/lcsb/mapviewer/annotation/cache/GeneralCacheTest.java
index 3a790cba661bf4e440eba4a6d4fa6008b8c6502a..6f758e78328c3e900221333418c6a1c37925a2d6 100644
--- a/annotation/src/test/java/lcsb/mapviewer/annotation/cache/GeneralCacheTest.java
+++ b/annotation/src/test/java/lcsb/mapviewer/annotation/cache/GeneralCacheTest.java
@@ -5,7 +5,7 @@ import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Before;
@@ -17,7 +17,7 @@ import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.model.cache.CacheType;
 
 public class GeneralCacheTest extends AnnotationTestFunctions {
-	Logger															 logger	= Logger.getLogger(GeneralCacheTest.class);
+	Logger															 logger	= LogManager.getLogger(GeneralCacheTest.class);
 
 	GeneralCache												 cache	= new GeneralCache(null);
 
diff --git a/annotation/src/test/java/lcsb/mapviewer/annotation/cache/GeneralCacheWithExclusionTest.java b/annotation/src/test/java/lcsb/mapviewer/annotation/cache/GeneralCacheWithExclusionTest.java
index 4d3164868eeb8739aca5f6c4a35ab74782ffd634..b728f586286ee7277a2294b0cdcc67b6fe800e25 100644
--- a/annotation/src/test/java/lcsb/mapviewer/annotation/cache/GeneralCacheWithExclusionTest.java
+++ b/annotation/src/test/java/lcsb/mapviewer/annotation/cache/GeneralCacheWithExclusionTest.java
@@ -5,7 +5,7 @@ import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Before;
@@ -16,7 +16,7 @@ import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.model.cache.CacheType;
 
 public class GeneralCacheWithExclusionTest extends AnnotationTestFunctions {
-	Logger logger = Logger.getLogger(GeneralCacheWithExclusionTest.class);
+	Logger logger = LogManager.getLogger(GeneralCacheWithExclusionTest.class);
 
 	@AfterClass
 	public static void tearDownAfterClass() throws Exception {
diff --git a/annotation/src/test/java/lcsb/mapviewer/annotation/cache/PermanentDatabaseLevelCacheTest.java b/annotation/src/test/java/lcsb/mapviewer/annotation/cache/PermanentDatabaseLevelCacheTest.java
index 1b8b5b7fefd6f3e33fd874475d9f675862ebaee6..1daf157577189f16914a4080c98b62b003f40a58 100644
--- a/annotation/src/test/java/lcsb/mapviewer/annotation/cache/PermanentDatabaseLevelCacheTest.java
+++ b/annotation/src/test/java/lcsb/mapviewer/annotation/cache/PermanentDatabaseLevelCacheTest.java
@@ -11,7 +11,7 @@ import static org.mockito.Mockito.when;
 import java.util.Calendar;
 
 import org.apache.commons.lang3.mutable.MutableBoolean;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -33,7 +33,7 @@ import lcsb.mapviewer.persist.dao.cache.CacheQueryDao;
 @Rollback(true)
 public class PermanentDatabaseLevelCacheTest extends AnnotationTestFunctions {
 
-  Logger logger = Logger.getLogger(PermanentDatabaseLevelCacheTest.class);
+  Logger logger = LogManager.getLogger(PermanentDatabaseLevelCacheTest.class);
 
   @Autowired
   private PermanentDatabaseLevelCacheInterface permanentDatabaseLevelCache;
diff --git a/annotation/src/test/java/lcsb/mapviewer/annotation/services/ChEMBLParserTest.java b/annotation/src/test/java/lcsb/mapviewer/annotation/services/ChEMBLParserTest.java
index 0b4f0d4dd5f38e0d2dae09e2d16cd72dcf0f2e24..ffa83998cb4de61e0b3cc4ace6ffd18c0fe7b4c1 100644
--- a/annotation/src/test/java/lcsb/mapviewer/annotation/services/ChEMBLParserTest.java
+++ b/annotation/src/test/java/lcsb/mapviewer/annotation/services/ChEMBLParserTest.java
@@ -16,7 +16,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 import org.mockito.Mockito;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -41,7 +41,7 @@ import lcsb.mapviewer.model.map.MiriamRelationType;
 import lcsb.mapviewer.model.map.MiriamType;
 
 public class ChEMBLParserTest extends AnnotationTestFunctions {
-  Logger logger = Logger.getLogger(ChEMBLParserTest.class);
+  Logger logger = LogManager.getLogger(ChEMBLParserTest.class);
 
   @Autowired
   private GeneralCacheInterface cache;
diff --git a/annotation/src/test/java/lcsb/mapviewer/annotation/services/ChemicalParserTest.java b/annotation/src/test/java/lcsb/mapviewer/annotation/services/ChemicalParserTest.java
index c718c9afebb7f805e564027ba56044e20b3d284c..8ff192194e383543b9726945d2c632f59dbd1d79 100644
--- a/annotation/src/test/java/lcsb/mapviewer/annotation/services/ChemicalParserTest.java
+++ b/annotation/src/test/java/lcsb/mapviewer/annotation/services/ChemicalParserTest.java
@@ -16,7 +16,7 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.commons.lang3.math.NumberUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 import org.mockito.Mockito;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -38,7 +38,7 @@ import lcsb.mapviewer.model.map.MiriamType;
 import lcsb.mapviewer.model.map.model.Model;
 
 public class ChemicalParserTest extends AnnotationTestFunctions {
-  Logger logger = Logger.getLogger(ChemicalParserTest.class);
+  Logger logger = LogManager.getLogger(ChemicalParserTest.class);
 
   final MiriamData parkinsonDiseaseId = new MiriamData(MiriamType.MESH_2012, "D010300");
   final MiriamData dystoniaDisease = new MiriamData(MiriamType.MESH_2012, "C538007");
diff --git a/annotation/src/test/java/lcsb/mapviewer/annotation/services/DrugAnnotationTest.java b/annotation/src/test/java/lcsb/mapviewer/annotation/services/DrugAnnotationTest.java
index 2ac8e9c9c758368f536f53cfc0b67d274268baa6..5bf0d396920536e825b6e004a9c7d9e979b3efda 100644
--- a/annotation/src/test/java/lcsb/mapviewer/annotation/services/DrugAnnotationTest.java
+++ b/annotation/src/test/java/lcsb/mapviewer/annotation/services/DrugAnnotationTest.java
@@ -5,7 +5,7 @@ import static org.junit.Assert.assertEquals;
 import java.util.Collection;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -16,7 +16,7 @@ import lcsb.mapviewer.annotation.data.Drug;
 import lcsb.mapviewer.model.map.MiriamData;
 
 public class DrugAnnotationTest extends AnnotationTestFunctions {
-  Logger logger = Logger.getLogger(DrugAnnotationTest.class);
+  Logger logger = LogManager.getLogger(DrugAnnotationTest.class);
 
   @Autowired
   private DrugbankHTMLParser drugBankHTMLParser;
diff --git a/annotation/src/test/java/lcsb/mapviewer/annotation/services/DrugbankHTMLParserTest.java b/annotation/src/test/java/lcsb/mapviewer/annotation/services/DrugbankHTMLParserTest.java
index 9d8c8164b260e3504bbc90cfc481f22ae6d81647..dd305c61d4964d219c9828741625bba9e067fbb1 100644
--- a/annotation/src/test/java/lcsb/mapviewer/annotation/services/DrugbankHTMLParserTest.java
+++ b/annotation/src/test/java/lcsb/mapviewer/annotation/services/DrugbankHTMLParserTest.java
@@ -14,7 +14,7 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 import org.mockito.Mockito;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -34,7 +34,7 @@ import lcsb.mapviewer.model.map.MiriamType;
 import lcsb.mapviewer.model.map.model.Model;
 
 public class DrugbankHTMLParserTest extends AnnotationTestFunctions {
-  Logger logger = Logger.getLogger(DrugbankHTMLParserTest.class);
+  Logger logger = LogManager.getLogger(DrugbankHTMLParserTest.class);
 
   @Autowired
   private DrugbankHTMLParser drugBankHTMLParser;
diff --git a/annotation/src/test/java/lcsb/mapviewer/annotation/services/MeSHParserTest.java b/annotation/src/test/java/lcsb/mapviewer/annotation/services/MeSHParserTest.java
index 5e8cc79523006779441089943a070823c132e872..a892afafd5330f11fa1f1a9a17006f22fc90a610 100644
--- a/annotation/src/test/java/lcsb/mapviewer/annotation/services/MeSHParserTest.java
+++ b/annotation/src/test/java/lcsb/mapviewer/annotation/services/MeSHParserTest.java
@@ -14,7 +14,7 @@ import java.io.IOException;
 import java.util.List;
 
 import org.apache.http.HttpStatus;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 import org.mockito.Mockito;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -31,7 +31,7 @@ import lcsb.mapviewer.model.map.MiriamData;
 import lcsb.mapviewer.model.map.MiriamType;
 
 public class MeSHParserTest extends AnnotationTestFunctions {
-  Logger logger = Logger.getLogger(MeSHParserTest.class);
+  Logger logger = LogManager.getLogger(MeSHParserTest.class);
 
   @Autowired
   MeSHParser meshParser;
diff --git a/annotation/src/test/java/lcsb/mapviewer/annotation/services/MiRNAParserTest.java b/annotation/src/test/java/lcsb/mapviewer/annotation/services/MiRNAParserTest.java
index 8132a0fd81c9c0322921e36f3b82e1cf4f84950e..00581cccb14617347aecb312314149c4a3f4cbf9 100644
--- a/annotation/src/test/java/lcsb/mapviewer/annotation/services/MiRNAParserTest.java
+++ b/annotation/src/test/java/lcsb/mapviewer/annotation/services/MiRNAParserTest.java
@@ -14,7 +14,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -34,7 +34,7 @@ import lcsb.mapviewer.model.map.MiriamType;
 import lcsb.mapviewer.model.map.model.Model;
 
 public class MiRNAParserTest extends AnnotationTestFunctions {
-  Logger logger = Logger.getLogger(MiRNAParserTest.class);
+  Logger logger = LogManager.getLogger(MiRNAParserTest.class);
 
   @Autowired
   MiRNAParser miRNAParser;
diff --git a/annotation/src/test/java/lcsb/mapviewer/annotation/services/MiriamConnectorTest.java b/annotation/src/test/java/lcsb/mapviewer/annotation/services/MiriamConnectorTest.java
index 03f636d2a4bbf5bc1205fb37c12b560de1d30ffc..7dc1283151632cb2d81c1f8050dbe41c753e80d4 100644
--- a/annotation/src/test/java/lcsb/mapviewer/annotation/services/MiriamConnectorTest.java
+++ b/annotation/src/test/java/lcsb/mapviewer/annotation/services/MiriamConnectorTest.java
@@ -6,15 +6,14 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
-import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.ArgumentMatchers.nullable;
 import static org.mockito.Mockito.when;
 
 import java.io.IOException;
 
-import org.apache.log4j.Logger;
-import org.hibernate.AnnotationException;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -26,14 +25,12 @@ import lcsb.mapviewer.annotation.cache.GeneralCacheInterface;
 import lcsb.mapviewer.annotation.cache.SourceNotAvailable;
 import lcsb.mapviewer.annotation.cache.WebPageDownloader;
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
-import lcsb.mapviewer.common.exception.InvalidStateException;
 import lcsb.mapviewer.model.map.MiriamData;
 import lcsb.mapviewer.model.map.MiriamRelationType;
 import lcsb.mapviewer.model.map.MiriamType;
-import uk.ac.ebi.miriam.lib.MiriamLink;
 
 public class MiriamConnectorTest extends AnnotationTestFunctions {
-  Logger logger = Logger.getLogger(MiriamConnectorTest.class);
+  Logger logger = LogManager.getLogger(MiriamConnectorTest.class);
 
   @Autowired
   MiriamConnector miriamConnector;
@@ -138,8 +135,7 @@ public class MiriamConnectorTest extends AnnotationTestFunctions {
     try {
       for (MiriamType mt : MiriamType.values()) {
         if (!MiriamType.UNKNOWN.equals(mt)) {
-          String uri = mt.getUris().get(0);
-          assertTrue("Invalid URI (" + uri + ") for MiriamType: " + mt, miriamConnector.isValid(mt.getUris().get(0)));
+          assertTrue("Invalid MiriamType (" + mt + ") for MiriamType: " + mt, miriamConnector.isValidMiriamType(mt));
         }
       }
 
@@ -149,56 +145,6 @@ public class MiriamConnectorTest extends AnnotationTestFunctions {
     }
   }
 
-  @Test
-  public void testRefresh() throws Exception {
-    String query = MiriamConnector.VALID_URI_PREFIX + MiriamType.HGNC.getUris().get(0);
-    try {
-      String res = miriamConnector.refreshCacheQuery(query);
-      assertNotNull(res);
-    } catch (Exception e) {
-      e.printStackTrace();
-      throw e;
-    }
-  }
-
-  @Test
-  public void testRefresh2() throws Exception {
-    MiriamData md = TaxonomyBackend.HUMAN_TAXONOMY;
-    String query = MiriamConnector.LINK_DB_PREFIX + md.getDataType().getUris().get(0) + "\n" + md.getResource();
-    try {
-      String res = miriamConnector.refreshCacheQuery(query);
-      assertNotNull(res);
-    } catch (Exception e) {
-      e.printStackTrace();
-      throw e;
-    }
-  }
-
-  @Test
-  public void testRefresh3() throws Exception {
-    try {
-      String res = miriamConnector.refreshCacheQuery("https://www.google.pl/");
-      assertNotNull(res);
-    } catch (Exception e) {
-      e.printStackTrace();
-      throw e;
-    }
-  }
-
-  @Test
-  public void testGetUrl2() throws Exception {
-    try {
-      MiriamData md = TaxonomyBackend.HUMAN_TAXONOMY;
-
-      String url = miriamConnector.getUrlString2(md);
-      assertNotNull(url);
-
-    } catch (Exception e) {
-      e.printStackTrace();
-      throw e;
-    }
-  }
-
   @Test
   public void testGetUrlForDoi() throws Exception {
     try {
@@ -225,30 +171,6 @@ public class MiriamConnectorTest extends AnnotationTestFunctions {
     }
   }
 
-  @Test
-  public void testGetUrl2WithInvalidApiResponse() throws Exception {
-    WebPageDownloader downloader = miriamConnector.getWebPageDownloader();
-    GeneralCacheInterface cache = miriamConnector.getCache();
-    try {
-      miriamConnector.setCache(null);
-      WebPageDownloader mockDownloader = Mockito.mock(WebPageDownloader.class);
-      when(mockDownloader.getFromNetwork(anyString(), anyString(), nullable(String.class)))
-          .thenThrow(new IOException());
-      miriamConnector.setWebPageDownloader(mockDownloader);
-
-      miriamConnector.getUrlString2(TaxonomyBackend.HUMAN_TAXONOMY);
-
-    } catch (AnnotationException e) {
-      assertTrue(e.getMessage().contains("Problem with accessing miriam REST API"));
-    } catch (Exception e) {
-      e.printStackTrace();
-      throw e;
-    } finally {
-      miriamConnector.setWebPageDownloader(downloader);
-      miriamConnector.setCache(cache);
-    }
-  }
-
   @Test
   public void testRefreshCacheQueryNotAvailable() throws Exception {
     WebPageDownloader downloader = miriamConnector.getWebPageDownloader();
@@ -295,23 +217,10 @@ public class MiriamConnectorTest extends AnnotationTestFunctions {
   }
 
   @Test
-  public void testRefreshInvalidCacheQuery3() throws Exception {
-    try {
-      miriamConnector.refreshCacheQuery(MiriamConnector.LINK_DB_PREFIX);
-      fail("Exception expected");
-    } catch (InvalidArgumentException e) {
-      assertTrue(e.getMessage().contains("Miriam link query is invalid"));
-    } catch (Exception e) {
-      e.printStackTrace();
-      throw e;
-    }
-  }
-
-  @Test
-  public void testCheckValidyOfEmptyUri() throws Exception {
+  public void testCheckValidyOfUnknownMiriamType() throws Exception {
     try {
       // user connector without cache
-      boolean value = new MiriamConnector().isValid("");
+      boolean value = miriamConnector.isValidMiriamType(MiriamType.UNKNOWN);
       assertFalse(value);
     } catch (Exception e) {
       e.printStackTrace();
@@ -329,36 +238,4 @@ public class MiriamConnectorTest extends AnnotationTestFunctions {
     }
   }
 
-  @Test
-  public void testSimulateDownStatus() throws Exception {
-    MiriamLink link = miriamConnector.getLink();
-    try {
-      MiriamLink mockDownloader = Mockito.mock(MiriamLink.class);
-      when(mockDownloader.getLocations(any())).thenThrow(new InvalidStateException());
-      miriamConnector.setLink(mockDownloader);
-      assertEquals(ExternalServiceStatusType.DOWN, miriamConnector.getServiceStatus().getStatus());
-    } catch (Exception e) {
-      e.printStackTrace();
-      throw e;
-    } finally {
-      miriamConnector.setLink(link);
-    }
-  }
-
-  @Test
-  public void testSimulateDownStatus2() throws Exception {
-    MiriamLink link = miriamConnector.getLink();
-    try {
-      MiriamLink mockDownloader = Mockito.mock(MiriamLink.class);
-      when(mockDownloader.getLocations(any())).thenReturn(null);
-      miriamConnector.setLink(mockDownloader);
-      assertEquals(ExternalServiceStatusType.DOWN, miriamConnector.getServiceStatus().getStatus());
-    } catch (Exception e) {
-      e.printStackTrace();
-      throw e;
-    } finally {
-      miriamConnector.setLink(link);
-    }
-  }
-
 }
diff --git a/annotation/src/test/java/lcsb/mapviewer/annotation/services/ModelAnnotatorTest.java b/annotation/src/test/java/lcsb/mapviewer/annotation/services/ModelAnnotatorTest.java
index 104704028d9ccb6c6f2f7b1eed30a3542e15d8cf..062823a786d33d99ee39ca8ea907e6387c9e953a 100644
--- a/annotation/src/test/java/lcsb/mapviewer/annotation/services/ModelAnnotatorTest.java
+++ b/annotation/src/test/java/lcsb/mapviewer/annotation/services/ModelAnnotatorTest.java
@@ -15,7 +15,7 @@ import java.util.Map;
 import java.util.Set;
 
 import org.apache.commons.lang3.mutable.MutableDouble;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -43,7 +43,7 @@ import lcsb.mapviewer.model.user.UserClassAnnotators;
 import lcsb.mapviewer.persist.dao.map.ModelDao;
 
 public class ModelAnnotatorTest extends AnnotationTestFunctions {
-  Logger logger = Logger.getLogger(ModelAnnotatorTest.class);
+  Logger logger = LogManager.getLogger(ModelAnnotatorTest.class);
   IProgressUpdater updater = new IProgressUpdater() {
     @Override
     public void setProgress(double progress) {
diff --git a/annotation/src/test/java/lcsb/mapviewer/annotation/services/PubmedParserTest.java b/annotation/src/test/java/lcsb/mapviewer/annotation/services/PubmedParserTest.java
index 5d2f97a890d5fae1973e481717c6c1f0bc1a2946..7958b8234a85e7ba1a8c9e471c9e8e3920d58d2c 100644
--- a/annotation/src/test/java/lcsb/mapviewer/annotation/services/PubmedParserTest.java
+++ b/annotation/src/test/java/lcsb/mapviewer/annotation/services/PubmedParserTest.java
@@ -14,7 +14,7 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -32,7 +32,7 @@ import lcsb.mapviewer.common.Configuration;
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 
 public class PubmedParserTest extends AnnotationTestFunctions {
-  Logger logger = Logger.getLogger(PubmedParserTest.class);
+  Logger logger = LogManager.getLogger(PubmedParserTest.class);
   private boolean status;
   private boolean status2;
 
diff --git a/annotation/src/test/java/lcsb/mapviewer/annotation/services/TaxonomyBackendTest.java b/annotation/src/test/java/lcsb/mapviewer/annotation/services/TaxonomyBackendTest.java
index ec76ad233372c24de9240323f390340762b4da56..1f14b9a0be2b2ae8b003cc3d0c3db202819998ee 100644
--- a/annotation/src/test/java/lcsb/mapviewer/annotation/services/TaxonomyBackendTest.java
+++ b/annotation/src/test/java/lcsb/mapviewer/annotation/services/TaxonomyBackendTest.java
@@ -11,7 +11,7 @@ import static org.mockito.Mockito.when;
 
 import java.io.IOException;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 import org.mockito.Mockito;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -25,7 +25,7 @@ import lcsb.mapviewer.model.map.MiriamData;
 import lcsb.mapviewer.model.map.MiriamType;
 
 public class TaxonomyBackendTest extends AnnotationTestFunctions {
-  Logger logger = Logger.getLogger(TaxonomyBackendTest.class);
+  Logger logger = LogManager.getLogger(TaxonomyBackendTest.class);
 
   @Autowired
   TaxonomyBackend taxonomyBackend;
diff --git a/annotation/src/test/java/lcsb/mapviewer/annotation/services/annotators/BiocompendiumAnnotatorTest.java b/annotation/src/test/java/lcsb/mapviewer/annotation/services/annotators/BiocompendiumAnnotatorTest.java
index f4c2219a59ad132fc6afdf0c0cb34887531c6079..490032e67e147414ac2d8aa94b63423c8a7409f3 100644
--- a/annotation/src/test/java/lcsb/mapviewer/annotation/services/annotators/BiocompendiumAnnotatorTest.java
+++ b/annotation/src/test/java/lcsb/mapviewer/annotation/services/annotators/BiocompendiumAnnotatorTest.java
@@ -13,7 +13,7 @@ import java.io.FileReader;
 import java.util.ArrayList;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Ignore;
@@ -31,7 +31,7 @@ import lcsb.mapviewer.model.map.MiriamData;
 import lcsb.mapviewer.model.map.MiriamType;
 
 public class BiocompendiumAnnotatorTest extends AnnotationTestFunctions {
-  Logger logger = Logger.getLogger(BiocompendiumAnnotatorTest.class);
+  Logger logger = LogManager.getLogger(BiocompendiumAnnotatorTest.class);
 
   MiriamData camk4 = new MiriamData(MiriamType.HGNC_SYMBOL, "CAMK4");
   MiriamData slc25a27 = new MiriamData(MiriamType.HGNC_SYMBOL, "SLC25A27");
diff --git a/annotation/src/test/java/lcsb/mapviewer/annotation/services/annotators/BrendaAnnotatorTest.java b/annotation/src/test/java/lcsb/mapviewer/annotation/services/annotators/BrendaAnnotatorTest.java
index 60c55a1e9fde82e6ffe095c1120534ca8874274f..a2c16aa7eea33522a104a6a392b89f34859c8cec 100644
--- a/annotation/src/test/java/lcsb/mapviewer/annotation/services/annotators/BrendaAnnotatorTest.java
+++ b/annotation/src/test/java/lcsb/mapviewer/annotation/services/annotators/BrendaAnnotatorTest.java
@@ -8,7 +8,7 @@ import static org.mockito.Mockito.when;
 
 import java.io.IOException;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Ignore;
@@ -25,7 +25,7 @@ import lcsb.mapviewer.model.map.species.GenericProtein;
 import lcsb.mapviewer.model.map.species.Species;
 
 public class BrendaAnnotatorTest extends AnnotationTestFunctions {
-  Logger logger = Logger.getLogger(BrendaAnnotatorTest.class);
+  Logger logger = LogManager.getLogger(BrendaAnnotatorTest.class);
 
   @Autowired
   BrendaAnnotator brendaAnnotator;
diff --git a/annotation/src/test/java/lcsb/mapviewer/annotation/services/annotators/ChebiAnnotatorTest.java b/annotation/src/test/java/lcsb/mapviewer/annotation/services/annotators/ChebiAnnotatorTest.java
index 1627187e3ebdb489747369bc60ac1ce964513a7a..831d19ba7fa346797cb0a047525dbe2ed7921810 100644
--- a/annotation/src/test/java/lcsb/mapviewer/annotation/services/annotators/ChebiAnnotatorTest.java
+++ b/annotation/src/test/java/lcsb/mapviewer/annotation/services/annotators/ChebiAnnotatorTest.java
@@ -13,7 +13,7 @@ import static org.mockito.Mockito.when;
 
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -41,7 +41,7 @@ import uk.ac.ebi.chebi.webapps.chebiWS.model.OntologyDataItem;
 import uk.ac.ebi.chebi.webapps.chebiWS.model.SearchCategory;
 
 public class ChebiAnnotatorTest extends AnnotationTestFunctions {
-  static Logger logger = Logger.getLogger(ChebiAnnotatorTest.class);
+  static Logger logger = LogManager.getLogger(ChebiAnnotatorTest.class);
 
   @Autowired
   ChebiAnnotator backend;
diff --git a/annotation/src/test/java/lcsb/mapviewer/annotation/services/annotators/ElementAnnotatorImplementationsTest.java b/annotation/src/test/java/lcsb/mapviewer/annotation/services/annotators/ElementAnnotatorImplementationsTest.java
index f9aaa52c5956c7b97e21b53b7c43b74d6d228dc9..9fc4231272210776db484d6ec9436a851315692f 100644
--- a/annotation/src/test/java/lcsb/mapviewer/annotation/services/annotators/ElementAnnotatorImplementationsTest.java
+++ b/annotation/src/test/java/lcsb/mapviewer/annotation/services/annotators/ElementAnnotatorImplementationsTest.java
@@ -8,7 +8,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
@@ -38,7 +38,7 @@ import lcsb.mapviewer.persist.DbUtils;
 @RunWith(Parameterized.class)
 public class ElementAnnotatorImplementationsTest extends AnnotationTestFunctions {
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(ElementAnnotatorImplementationsTest.class);
+  private static Logger logger = LogManager.getLogger(ElementAnnotatorImplementationsTest.class);
 
   @Parameter
   public String testName;
diff --git a/annotation/src/test/java/lcsb/mapviewer/annotation/services/annotators/GoAnnotatorTest.java b/annotation/src/test/java/lcsb/mapviewer/annotation/services/annotators/GoAnnotatorTest.java
index 08a2159ab6e3c32d98ef9e502016706149f3c67f..2cfc526f913e11bdbd0814a23c4825b08d783b84 100644
--- a/annotation/src/test/java/lcsb/mapviewer/annotation/services/annotators/GoAnnotatorTest.java
+++ b/annotation/src/test/java/lcsb/mapviewer/annotation/services/annotators/GoAnnotatorTest.java
@@ -11,7 +11,7 @@ import static org.mockito.Mockito.when;
 
 import java.io.IOException;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -32,7 +32,7 @@ import lcsb.mapviewer.model.map.MiriamType;
 import lcsb.mapviewer.model.map.compartment.Compartment;
 
 public class GoAnnotatorTest extends AnnotationTestFunctions {
-  Logger logger = Logger.getLogger(GoAnnotatorTest.class);
+  Logger logger = LogManager.getLogger(GoAnnotatorTest.class);
 
   @Autowired
   GoAnnotator goAnnotator;
diff --git a/annotation/src/test/java/lcsb/mapviewer/annotation/services/annotators/HgncAnnotatorTest.java b/annotation/src/test/java/lcsb/mapviewer/annotation/services/annotators/HgncAnnotatorTest.java
index 4b33b969386c94bfdd5744486458bb2ad65d23de..3d7f21dc102f0be169aea15b5c2a57425980a5a0 100644
--- a/annotation/src/test/java/lcsb/mapviewer/annotation/services/annotators/HgncAnnotatorTest.java
+++ b/annotation/src/test/java/lcsb/mapviewer/annotation/services/annotators/HgncAnnotatorTest.java
@@ -13,7 +13,7 @@ import static org.mockito.Mockito.when;
 import java.io.IOException;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -32,7 +32,7 @@ import lcsb.mapviewer.model.map.species.Species;
 
 public class HgncAnnotatorTest extends AnnotationTestFunctions {
 
-  final Logger logger = Logger.getLogger(HgncAnnotatorTest.class);
+  final Logger logger = LogManager.getLogger(HgncAnnotatorTest.class);
 
   @Autowired
   private HgncAnnotator hgncAnnotator;
diff --git a/annotation/src/test/java/lcsb/mapviewer/annotation/services/annotators/ReconAnnotatorTest.java b/annotation/src/test/java/lcsb/mapviewer/annotation/services/annotators/ReconAnnotatorTest.java
index a16ebc551fd01655d4e6345dd55a09762fc5592d..a6a57dc8b9f65cd166803d3cbad2b6a8a490c88a 100644
--- a/annotation/src/test/java/lcsb/mapviewer/annotation/services/annotators/ReconAnnotatorTest.java
+++ b/annotation/src/test/java/lcsb/mapviewer/annotation/services/annotators/ReconAnnotatorTest.java
@@ -11,7 +11,7 @@ import static org.mockito.Mockito.when;
 
 import java.io.IOException;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -29,7 +29,7 @@ import lcsb.mapviewer.model.map.species.SimpleMolecule;
 import lcsb.mapviewer.model.map.species.Species;
 
 public class ReconAnnotatorTest extends AnnotationTestFunctions {
-  Logger logger = Logger.getLogger(ReconAnnotatorTest.class);
+  Logger logger = LogManager.getLogger(ReconAnnotatorTest.class);
   @Autowired
   ReconAnnotator reconAnnotator;
 
@@ -85,7 +85,7 @@ public class ReconAnnotatorTest extends AnnotationTestFunctions {
 
       reconAnnotator.annotateElement(ion);
       assertEquals(1, getWarnings().size());
-      assertTrue(getWarnings().get(0).getMessage().toString().contains("No recon annotations"));
+      assertTrue(getWarnings().get(0).getMessage().getFormattedMessage().contains("No recon annotations"));
     } catch (Exception e) {
       e.printStackTrace();
       throw e;
@@ -162,7 +162,7 @@ public class ReconAnnotatorTest extends AnnotationTestFunctions {
 
       tweakedReconAnnotator.annotateElement(obj);
       assertTrue(getWarnings().size() > 0);
-      assertTrue(getWarnings().get(0).getMessage().toString().contains("Unknown class type"));
+      assertTrue(getWarnings().get(0).getMessage().getFormattedMessage().contains("Unknown class type"));
     } catch (Exception e) {
       e.printStackTrace();
       throw e;
diff --git a/annotation/src/test/java/lcsb/mapviewer/annotation/services/genome/UcscReferenceGenomeConnectorTest.java b/annotation/src/test/java/lcsb/mapviewer/annotation/services/genome/UcscReferenceGenomeConnectorTest.java
index 3566680735812abfa8b0198678ab69dedba47d4f..9fa49bc988559752828a7d38351704ac5abf1835 100644
--- a/annotation/src/test/java/lcsb/mapviewer/annotation/services/genome/UcscReferenceGenomeConnectorTest.java
+++ b/annotation/src/test/java/lcsb/mapviewer/annotation/services/genome/UcscReferenceGenomeConnectorTest.java
@@ -22,7 +22,7 @@ import java.util.concurrent.Future;
 import org.apache.commons.net.ftp.FTPClient;
 import org.apache.commons.net.ftp.FTPFile;
 import org.apache.commons.net.ftp.FTPReply;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -50,7 +50,7 @@ import lcsb.mapviewer.persist.dao.map.layout.ReferenceGenomeDao;
 
 public class UcscReferenceGenomeConnectorTest extends AnnotationTestFunctions {
 
-  Logger logger = Logger.getLogger(UcscReferenceGenomeConnectorTest.class);
+  Logger logger = LogManager.getLogger(UcscReferenceGenomeConnectorTest.class);
 
   @Autowired
   UcscReferenceGenomeConnector connector;
diff --git a/annotation/src/test/resources/log4j.properties b/annotation/src/test/resources/log4j.properties
deleted file mode 100644
index e23927cb8932324e1cb8b40fe1be2b99fb755c69..0000000000000000000000000000000000000000
--- a/annotation/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-#Set root logger 's level and its appender to an appender called CONSOLE which is defined below.
-log4j.rootLogger=info, CONSOLE
-
-#Set the behavior of the CONSOLE appender 
-log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
-log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
-log4j.appender.CONSOLE.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-#log4j.appender.CONSOLE.layout.ConversionPattern=%m%n
-
-
-#Set the behavior of the FILE appender 
-log4j.appender.R=org.apache.log4j.FileAppender
-log4j.appender.R.File=${catalina.home}/logs/MapViewer.log
-log4j.appender.R.layout=org.apache.log4j.PatternLayout
-log4j.appender.R.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-
-#Silence miriam debug logs 
-log4j.logger.uk.ac.ebi.miriam.lib=warn
-
-log4j.logger.org.springframework=warn
-log4j.logger.org.hibernate=warn
-log4j.logger.lcsb=debug
-log4j.logger.lcsb.mapviewer.persist.DbUtils=info
-log4j.logger.lcsb.mapviewer.annotation.cache.PermanentDatabaseLevelCache=info
-log4j.logger.lcsb.mapviewer.annotation.cache.CachableInterface=info
\ No newline at end of file
diff --git a/annotation/src/test/resources/log4j2.properties b/annotation/src/test/resources/log4j2.properties
new file mode 100644
index 0000000000000000000000000000000000000000..b5eaa32682d177bf266eb6ed4831b4e8f4b9135d
--- /dev/null
+++ b/annotation/src/test/resources/log4j2.properties
@@ -0,0 +1,25 @@
+rootLogger.level = INFO
+appenders = console
+
+appender.console.type = Console
+appender.console.name = STDOUT
+appender.console.layout.type = PatternLayout
+appender.console.layout.pattern = %d %5p [%t] (%F:%L) - %m%n
+
+rootLogger.appenderRefs = console
+
+rootLogger.appenderRef.console.ref = STDOUT
+
+logger.minerva.name = lcsb
+logger.minerva.level = debug
+logger.minerva-persist.name = lcsb.mapviewer.persist.DbUtils
+logger.minerva-persist.level = info
+logger.minerva-cache.name = lcsb.mapviewer.annotation.cache
+logger.minerva-cache.level = info
+
+
+logger.springframework.name = org.springframework
+logger.springframework.level = warn
+
+logger.hibernate.name = org.hibernate
+logger.hibernate.level = warn
diff --git a/commons/pom.xml b/commons/pom.xml
index 92f50c5630c2faac555ca47ddb9755c1e83500d4..4916777ae0cb5c9a2712f151bf655023711c2495 100644
--- a/commons/pom.xml
+++ b/commons/pom.xml
@@ -12,11 +12,19 @@
 	<description>Common classes and configuration files</description>
 
 	<dependencies>
+
+		<!-- Log4J2-->
+		<dependency>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-api</artifactId>
+			<version>${log4j2.version}</version>
+		</dependency>
 		<dependency>
-			<groupId>log4j</groupId>
-			<artifactId>log4j</artifactId>
-			<version>${log4j.version}</version>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-core</artifactId>
+			<version>${log4j2.version}</version>
 		</dependency>
+		
 		<dependency>
 			<groupId>commons-io</groupId>
 			<artifactId>commons-io</artifactId>
diff --git a/commons/src/main/java/lcsb/mapviewer/common/Comparator.java b/commons/src/main/java/lcsb/mapviewer/common/Comparator.java
index 474bf8ce7ff720e5d8cd69b11c82d9da62f96e95..9813b87e5d7b005d3aa55f8295605b9dcab5c542 100644
--- a/commons/src/main/java/lcsb/mapviewer/common/Comparator.java
+++ b/commons/src/main/java/lcsb/mapviewer/common/Comparator.java
@@ -3,7 +3,8 @@ package lcsb.mapviewer.common;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
 
@@ -11,7 +12,7 @@ public abstract class Comparator<T extends Object> implements java.util.Comparat
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(Comparator.class);
+  private static Logger logger = LogManager.getLogger(Comparator.class);
   private Class<T> comparatorClazz;
   private boolean exactClassMatch;
   private List<Comparator<? extends T>> subClassComparatorList = new ArrayList<>();
diff --git a/commons/src/main/java/lcsb/mapviewer/common/Configuration.java b/commons/src/main/java/lcsb/mapviewer/common/Configuration.java
index 36806a836881c3e6a6c27f8445ab03033ca97f9b..42aa17493ad2fb2f84be1f83085d5bd85a5ed592 100644
--- a/commons/src/main/java/lcsb/mapviewer/common/Configuration.java
+++ b/commons/src/main/java/lcsb/mapviewer/common/Configuration.java
@@ -7,7 +7,8 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.*;
 
 /**
  * Basic configuration parameters of the system (these values cannot be modified
@@ -30,7 +31,7 @@ public final class Configuration {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(Configuration.class);
+  private static Logger logger = LogManager.getLogger(Configuration.class);
 
   /**
    * How many elements should be visible in auto-complete lists.
diff --git a/commons/src/main/java/lcsb/mapviewer/common/EventStorageLoggerAppender.java b/commons/src/main/java/lcsb/mapviewer/common/EventStorageLoggerAppender.java
deleted file mode 100644
index d0ae40dd5e7e221e37a605677ff35f89ff851800..0000000000000000000000000000000000000000
--- a/commons/src/main/java/lcsb/mapviewer/common/EventStorageLoggerAppender.java
+++ /dev/null
@@ -1,148 +0,0 @@
-package lcsb.mapviewer.common;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.log4j.Appender;
-import org.apache.log4j.AppenderSkeleton;
-import org.apache.log4j.Level;
-import org.apache.log4j.lf5.LogLevel;
-import org.apache.log4j.spi.LoggingEvent;
-
-/**
- * Custom log4j {@link Appender}. This class is used to store logs in the
- * memory. Such logs should be stored for short period of time. Only logs for
- * the {@link Thread} that created the object will be stored.
- * 
- * @author Piotr Gawron
- *
- */
-public class EventStorageLoggerAppender extends AppenderSkeleton {
-
-  /**
-   * List of {@link LogLevel#DEBUG} logs.
-   */
-  private List<LoggingEvent> debugEvents = new ArrayList<>();
-
-  /**
-   * List of {@link LogLevel#INFO} logs.
-   */
-  private List<LoggingEvent> infoEvents = new ArrayList<>();
-
-  /**
-   * List of {@link LogLevel#WARN} logs.
-   */
-  private List<LoggingEvent> warnEvents = new ArrayList<>();
-
-  /**
-   * List of {@link LogLevel#ERROR} logs.
-   */
-  private List<LoggingEvent> errorEvents = new ArrayList<>();
-
-  /**
-   * List of {@link LogLevel#FATAL} logs.
-   */
-  private List<LoggingEvent> fatalEvents = new ArrayList<>();
-
-  /**
-   * List of logs with unknown log level.
-   */
-  private List<LoggingEvent> otherEvents = new ArrayList<>();
-
-  /**
-   * Identifier of {@link Thread} that created this object.
-   */
-  private long threadId;
-
-  /**
-   * Flag that describe if we log only entries for current thread (
-   * <code>true</code>) or for all threads (<code>false</code>).
-   */
-  private boolean currentThreadLogOnly = true;
-
-  /**
-   * Default constructor.
-   */
-  public EventStorageLoggerAppender() {
-    this(true);
-  }
-
-  /**
-   * Default constructor.
-   * 
-   * @param currentThreadLogOnly
-   *          if <code>true</code> logs should be taken only from thread that
-   *          created object, if <code>false</code> all logs will be stored
-   */
-  public EventStorageLoggerAppender(boolean currentThreadLogOnly) {
-    this.threadId = Thread.currentThread().getId();
-    this.currentThreadLogOnly = currentThreadLogOnly;
-  }
-
-  @Override
-  protected void append(LoggingEvent event) {
-    // store information for all thread only if it is flagged by
-    // currentThreadLogOnly, if not only logs from current thread should be
-    // stored
-    if (!currentThreadLogOnly || threadId == Thread.currentThread().getId()) {
-      if (event.getLevel().equals(Level.DEBUG)) {
-        debugEvents.add(event);
-      } else if (event.getLevel().equals(Level.INFO)) {
-        infoEvents.add(event);
-      } else if (event.getLevel().equals(Level.WARN)) {
-        warnEvents.add(event);
-      } else if (event.getLevel().equals(Level.ERROR)) {
-        errorEvents.add(event);
-      } else if (event.getLevel().equals(Level.FATAL)) {
-        fatalEvents.add(event);
-      } else {
-        otherEvents.add(event);
-      }
-    }
-  }
-
-  @Override
-  public void close() {
-  }
-
-  @Override
-  public boolean requiresLayout() {
-    return false;
-  }
-
-  /**
-   * Returns list of warning logs.
-   * 
-   * @return list of warning logs
-   */
-  public List<LoggingEvent> getWarnings() {
-    return warnEvents;
-  }
-
-  /**
-   * Returns list of warning logs.
-   * 
-   * @return list of warning logs
-   */
-  public List<LoggingEvent> getInfos() {
-    return infoEvents;
-  }
-
-  /**
-   * Returns list of error logs.
-   * 
-   * @return list of error logs
-   */
-  public List<LoggingEvent> getErrors() {
-    return errorEvents;
-  }
-
-  /**
-   * Returns list of fatal logs.
-   * 
-   * @return list of fatal logs
-   */
-  public List<LoggingEvent> getFatals() {
-    return fatalEvents;
-  }
-}
diff --git a/commons/src/main/java/lcsb/mapviewer/common/MinervaLoggerAppender.java b/commons/src/main/java/lcsb/mapviewer/common/MinervaLoggerAppender.java
new file mode 100644
index 0000000000000000000000000000000000000000..5fc9f78100e65976b60fc57c30e62533280b1c6c
--- /dev/null
+++ b/commons/src/main/java/lcsb/mapviewer/common/MinervaLoggerAppender.java
@@ -0,0 +1,206 @@
+package lcsb.mapviewer.common;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.core.Filter;
+import org.apache.logging.log4j.core.Layout;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.LoggerContext;
+import org.apache.logging.log4j.core.appender.AbstractAppender;
+import org.apache.logging.log4j.core.config.Property;
+import org.apache.logging.log4j.core.impl.MutableLogEvent;
+import org.apache.logging.log4j.core.layout.PatternLayout;
+
+/**
+ * Custom log4j {@link AbstractAppender}. This class is used to store logs in
+ * the memory. Such logs should be stored for short period of time. Only logs
+ * for the {@link Thread} that created the object will be stored.
+ * 
+ * @author Piotr Gawron
+ *
+ */
+public class MinervaLoggerAppender extends AbstractAppender {
+
+  /**
+   * List of {@link LogLevel#DEBUG} logs.
+   */
+  private List<LogEvent> debugEvents = new ArrayList<>();
+
+  /**
+   * List of {@link LogLevel#INFO} logs.
+   */
+  private List<LogEvent> infoEvents = new ArrayList<>();
+
+  /**
+   * List of {@link LogLevel#WARN} logs.
+   */
+  private List<LogEvent> warnEvents = new ArrayList<>();
+
+  /**
+   * List of {@link LogLevel#ERROR} logs.
+   */
+  private List<LogEvent> errorEvents = new ArrayList<>();
+
+  /**
+   * List of {@link LogLevel#FATAL} logs.
+   */
+  private List<LogEvent> fatalEvents = new ArrayList<>();
+
+  /**
+   * List of logs with unknown log level.
+   */
+  private List<LogEvent> otherEvents = new ArrayList<>();
+
+  /**
+   * Identifier of {@link Thread} that created this object.
+   */
+  private long threadId;
+
+  /**
+   * Flag that describe if we log only entries for current thread (
+   * <code>true</code>) or for all threads (<code>false</code>).
+   */
+  private boolean currentThreadLogOnly = true;
+
+  /**
+   * Every logger must have different name. We use this counter to create new
+   * names.
+   */
+  private static int loggerCounter = 0;
+
+  /**
+   * Private constructor preventing instantiation. Appender should be created
+   * using factory method: {@link MinervaLoggerAppender#createAppender()}.
+   * 
+   * @param name
+   * @param filter
+   * @param layout
+   * @param ignoreExceptions
+   * @param currentThreadLogOnly
+   */
+  private MinervaLoggerAppender(String name, Filter filter, Layout<? extends Serializable> layout,
+      final boolean ignoreExceptions, boolean currentThreadLogOnly) {
+    super(name, filter, layout, ignoreExceptions, new Property[0]);
+    this.threadId = Thread.currentThread().getId();
+    this.currentThreadLogOnly = currentThreadLogOnly;
+  }
+
+  /**
+   * Creates appender that will store logs in memory.
+   * 
+   * @return appender
+   */
+  public static MinervaLoggerAppender createAppender() {
+    return createAppender(true);
+  }
+
+  /**
+   * Creates appender that will store logs in memory.
+   * 
+   * @param currentThreadLogOnly
+   *          if <code>true</code> logs should be taken only from thread that
+   *          created object, if <code>false</code> all logs will be stored
+   * @return appender
+   */
+  public static MinervaLoggerAppender createAppender(boolean currentThreadLogOnly) {
+    LoggerContext context = LoggerContext.getContext(false);
+    org.apache.logging.log4j.core.config.Configuration config = context.getConfiguration();
+    PatternLayout layout = PatternLayout.createDefaultLayout(config);
+    if (layout == null) {
+      layout = PatternLayout.createDefaultLayout();
+    }
+
+    final Filter filter = null;
+
+    final MinervaLoggerAppender appender = new MinervaLoggerAppender("MinervaAppender" + loggerCounter++, filter,
+        layout, true, currentThreadLogOnly);
+
+    appender.start();
+    config.addAppender(appender);
+    final Level level = Level.DEBUG;
+    config.getRootLogger().addAppender(appender, level, filter);
+
+    // Configurator.setAllLevels(LogManager.getRootLogger().getName(), level);
+
+    return appender;
+
+  }
+
+  public static void unregisterLogEventStorage(MinervaLoggerAppender appender) {
+    if (appender != null) {
+      final LoggerContext context = LoggerContext.getContext(false);
+      final org.apache.logging.log4j.core.config.Configuration config = context.getConfiguration();
+      config.getRootLogger().removeAppender(appender.getName());
+    }
+  }
+
+  @Override
+  public void append(LogEvent logEvent) {
+    // store information for all thread only if it is flagged by
+    // currentThreadLogOnly, if not only logs from current thread should be
+    // stored
+    if (!currentThreadLogOnly || threadId == Thread.currentThread().getId()) {
+      LogEvent eventToBePersisted = logEvent;
+      if (logEvent instanceof MutableLogEvent) {
+        eventToBePersisted = ((MutableLogEvent) logEvent).createMemento();
+      }
+      if (eventToBePersisted.getLevel().equals(Level.DEBUG)) {
+        debugEvents.add(eventToBePersisted);
+      } else if (eventToBePersisted.getLevel().equals(Level.INFO)) {
+        infoEvents.add(eventToBePersisted);
+      } else if (eventToBePersisted.getLevel().equals(Level.WARN)) {
+        warnEvents.add(eventToBePersisted);
+      } else if (eventToBePersisted.getLevel().equals(Level.ERROR)) {
+        errorEvents.add(eventToBePersisted);
+      } else if (eventToBePersisted.getLevel().equals(Level.FATAL)) {
+        fatalEvents.add(eventToBePersisted);
+      } else {
+        otherEvents.add(eventToBePersisted);
+      }
+    }
+  }
+
+  /**
+   * Returns list of warning logs.
+   * 
+   * @return list of warning logs
+   */
+  public List<LogEvent> getWarnings() {
+    return warnEvents;
+  }
+
+  /**
+   * Returns list of error logs.
+   * 
+   * @return list of error logs
+   */
+  public List<LogEvent> getErrors() {
+    return errorEvents;
+  }
+
+  /**
+   * Returns list of fatal logs.
+   * 
+   * @return list of fatal logs
+   */
+  public List<LogEvent> getFatals() {
+    return fatalEvents;
+  }
+
+  /**
+   * Returns list of warning logs.
+   * 
+   * @return list of warning logs
+   */
+  public List<LogEvent> getInfos() {
+    return infoEvents;
+  }
+
+  public List<LogEvent> getDebugs() {
+    return debugEvents;
+  }
+
+}
diff --git a/commons/src/main/java/lcsb/mapviewer/common/SystemClipboard.java b/commons/src/main/java/lcsb/mapviewer/common/SystemClipboard.java
index f69c4c2cb6aa07fd21e67d33a30435d3cdedc096..bfb7431ef6f7a373e76c9657ecb0e31bd6404da2 100644
--- a/commons/src/main/java/lcsb/mapviewer/common/SystemClipboard.java
+++ b/commons/src/main/java/lcsb/mapviewer/common/SystemClipboard.java
@@ -7,7 +7,8 @@ import java.awt.datatransfer.DataFlavor;
 import java.awt.datatransfer.StringSelection;
 import java.awt.datatransfer.Transferable;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.*;
 
 /**
  * Class allowing access to system clipboard.
@@ -19,7 +20,7 @@ public class SystemClipboard implements ClipboardOwner {
 	/**
 	 * Default class logger.
 	 */
-	private final Logger logger = Logger.getLogger(SystemClipboard.class);
+	private final Logger logger = LogManager.getLogger(SystemClipboard.class);
 
 	@Override
 	public void lostOwnership(Clipboard clipboard, Transferable contents) {
diff --git a/commons/src/main/java/lcsb/mapviewer/common/XmlParser.java b/commons/src/main/java/lcsb/mapviewer/common/XmlParser.java
index 7c8a5614e878b04ce342d07652280202eb2475bb..35e9b2821c86f4ddf29ee25f833bc10c7076b58d 100644
--- a/commons/src/main/java/lcsb/mapviewer/common/XmlParser.java
+++ b/commons/src/main/java/lcsb/mapviewer/common/XmlParser.java
@@ -28,7 +28,8 @@ import javax.xml.transform.stream.StreamSource;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.io.output.ByteArrayOutputStream;
 import org.apache.commons.text.StringEscapeUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Document;
 import org.w3c.dom.NamedNodeMap;
 import org.w3c.dom.Node;
@@ -51,7 +52,7 @@ final public class XmlParser {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(XmlParser.class);
+  private static Logger logger = LogManager.getLogger(XmlParser.class);
 
   /**
    * Base of the hex representation.
diff --git a/commons/src/main/java/lcsb/mapviewer/common/comparator/LineComparator.java b/commons/src/main/java/lcsb/mapviewer/common/comparator/LineComparator.java
index cbf00430871d1ef70ddd8571e66a76ad2f184687..97fffceab0391bbb01236aec5c2f991fd587a5c3 100644
--- a/commons/src/main/java/lcsb/mapviewer/common/comparator/LineComparator.java
+++ b/commons/src/main/java/lcsb/mapviewer/common/comparator/LineComparator.java
@@ -3,7 +3,8 @@ package lcsb.mapviewer.common.comparator;
 import java.awt.geom.Line2D;
 import java.util.Comparator;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Configuration;
 
@@ -15,7 +16,7 @@ import lcsb.mapviewer.common.Configuration;
  */
 public class LineComparator implements Comparator<Line2D> {
 
-  private static Logger logger = Logger.getLogger(LineComparator.class);
+  private static Logger logger = LogManager.getLogger(LineComparator.class);
 
   private PointComparator pointComparator;
 
diff --git a/commons/src/main/java/lcsb/mapviewer/common/comparator/ListComparator.java b/commons/src/main/java/lcsb/mapviewer/common/comparator/ListComparator.java
index ed362b8c58296b9d14994c03723a01175af0a0f7..485d1025ebe57a2ef29cd387182502f122973797 100644
--- a/commons/src/main/java/lcsb/mapviewer/common/comparator/ListComparator.java
+++ b/commons/src/main/java/lcsb/mapviewer/common/comparator/ListComparator.java
@@ -3,7 +3,9 @@ package lcsb.mapviewer.common.comparator;
 import java.util.Comparator;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.*;
+
 
 /**
  * Comparator used for comparing lists of objects.
@@ -15,7 +17,7 @@ public class ListComparator<T> implements Comparator<List<T>> {
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(ListComparator.class);
+  private Logger logger = LogManager.getLogger(ListComparator.class);
 
   private Comparator<T> objectComparator;
 
diff --git a/commons/src/main/java/lcsb/mapviewer/common/comparator/SetComparator.java b/commons/src/main/java/lcsb/mapviewer/common/comparator/SetComparator.java
index bc3658717b5c155a0b630a499ee891657a80a7a0..82db4d5ebd1a1d608b2c161134bef9cff175f987 100644
--- a/commons/src/main/java/lcsb/mapviewer/common/comparator/SetComparator.java
+++ b/commons/src/main/java/lcsb/mapviewer/common/comparator/SetComparator.java
@@ -3,7 +3,9 @@ package lcsb.mapviewer.common.comparator;
 import java.util.Comparator;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.*;
+
 
 /**
  * Comparator used for comparing sets of strings.
@@ -15,7 +17,7 @@ public class SetComparator<T> implements Comparator<Set<T>> {
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(SetComparator.class);
+  private Logger logger = LogManager.getLogger(SetComparator.class);
 
   private Comparator<T> objectComparator;
 
diff --git a/commons/src/main/java/lcsb/mapviewer/common/comparator/StringComparator.java b/commons/src/main/java/lcsb/mapviewer/common/comparator/StringComparator.java
index 183e49593e0d898bf0c1878fe4f5284b44937ca2..900ebb7feac744e641a4f928e38eb233f61518a9 100644
--- a/commons/src/main/java/lcsb/mapviewer/common/comparator/StringComparator.java
+++ b/commons/src/main/java/lcsb/mapviewer/common/comparator/StringComparator.java
@@ -2,7 +2,9 @@ package lcsb.mapviewer.common.comparator;
 
 import java.util.Comparator;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.*;
+
 
 /**
  * Comparator used for {@link String} class. It's null safe (it allows to
@@ -16,7 +18,7 @@ public class StringComparator implements Comparator<String> {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private Logger logger = Logger.getLogger(StringComparator.class);
+	private Logger logger = LogManager.getLogger(StringComparator.class);
 
 	@Override
 	public int compare(String arg0, String arg1) {
diff --git a/commons/src/main/java/lcsb/mapviewer/common/comparator/StringListComparator.java b/commons/src/main/java/lcsb/mapviewer/common/comparator/StringListComparator.java
index 92ccd809e3818430e0c5de2973c58a3bf2179f23..0d9eac4d5927f09b1cb6a0aae307ebfbf3dfefb4 100644
--- a/commons/src/main/java/lcsb/mapviewer/common/comparator/StringListComparator.java
+++ b/commons/src/main/java/lcsb/mapviewer/common/comparator/StringListComparator.java
@@ -3,7 +3,8 @@ package lcsb.mapviewer.common.comparator;
 import java.util.Comparator;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.*;
 
 /**
  * Comparator used for list of strings.
@@ -12,45 +13,45 @@ import org.apache.log4j.Logger;
  * 
  */
 public class StringListComparator implements Comparator<List<String>> {
-	/**
-	 * Default class logger.
-	 */
-	private static Logger			logger						= Logger.getLogger(StringListComparator.class);
-
-	/**
-	 * String comparator used for comparing strings.
-	 */
-	private StringComparator	stringComparator	= new StringComparator();
-	/**
-	 * Integer comparator used for comparing integers.
-	 */
-	private IntegerComparator	integerComparator	= new IntegerComparator();
-
-	@Override
-	public int compare(List<String> arg0, List<String> arg1) {
-		if (arg0 == null) {
-			if (arg1 == null) {
-				return 0;
-			} else {
-				return 1;
-			}
-		} else if (arg1 == null) {
-			return -1;
-		}
-
-		if (arg0.size() != arg1.size()) {
-			logger.debug("String lists have different size: " + arg0.size() + ", " + arg1.size());
-			return integerComparator.compare(arg0.size(), arg1.size());
-		}
-
-		for (int i = 0; i < arg0.size(); i++) {
-			if (stringComparator.compare(arg0.get(i), arg1.get(i)) != 0) {
-				logger.debug("Strings in list different: \"" + arg0.get(i) + "\", \"" + arg1.get(i) + "\"");
-				return stringComparator.compare(arg0.get(i), arg1.get(i));
-			}
-		}
-
-		return 0;
-	}
+  /**
+   * Default class logger.
+   */
+  private static Logger logger = LogManager.getLogger(StringListComparator.class);
+
+  /**
+   * String comparator used for comparing strings.
+   */
+  private StringComparator stringComparator = new StringComparator();
+  /**
+   * Integer comparator used for comparing integers.
+   */
+  private IntegerComparator integerComparator = new IntegerComparator();
+
+  @Override
+  public int compare(List<String> arg0, List<String> arg1) {
+    if (arg0 == null) {
+      if (arg1 == null) {
+        return 0;
+      } else {
+        return 1;
+      }
+    } else if (arg1 == null) {
+      return -1;
+    }
+
+    if (arg0.size() != arg1.size()) {
+      logger.debug("String lists have different size: " + arg0.size() + ", " + arg1.size());
+      return integerComparator.compare(arg0.size(), arg1.size());
+    }
+
+    for (int i = 0; i < arg0.size(); i++) {
+      if (stringComparator.compare(arg0.get(i), arg1.get(i)) != 0) {
+        logger.debug("Strings in list different: \"" + arg0.get(i) + "\", \"" + arg1.get(i) + "\"");
+        return stringComparator.compare(arg0.get(i), arg1.get(i));
+      }
+    }
+
+    return 0;
+  }
 
 }
diff --git a/commons/src/main/java/lcsb/mapviewer/common/comparator/StringSetComparator.java b/commons/src/main/java/lcsb/mapviewer/common/comparator/StringSetComparator.java
index 1e3c4759d40fdc9747cb2cd3a22a9d2f62b4c7df..adbcd10916928768799fb188dfa51571a25c069c 100644
--- a/commons/src/main/java/lcsb/mapviewer/common/comparator/StringSetComparator.java
+++ b/commons/src/main/java/lcsb/mapviewer/common/comparator/StringSetComparator.java
@@ -3,7 +3,9 @@ package lcsb.mapviewer.common.comparator;
 import java.util.Comparator;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.*;
+
 
 /**
  * Comparator used for comparing sets of strings.
@@ -15,7 +17,7 @@ public class StringSetComparator implements Comparator<Set<String>> {
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(StringSetComparator.class);
+  private Logger logger = LogManager.getLogger(StringSetComparator.class);
 
   @Override
   public int compare(Set<String> arg0, Set<String> arg1) {
diff --git a/commons/src/main/java/lcsb/mapviewer/common/geometry/EllipseTransformation.java b/commons/src/main/java/lcsb/mapviewer/common/geometry/EllipseTransformation.java
index 03e0c3cb5877aa52ce19b93621a799e4c96b4879..e01a511c93b269680735c27580f1f50db28a3cfe 100644
--- a/commons/src/main/java/lcsb/mapviewer/common/geometry/EllipseTransformation.java
+++ b/commons/src/main/java/lcsb/mapviewer/common/geometry/EllipseTransformation.java
@@ -3,9 +3,11 @@ package lcsb.mapviewer.common.geometry;
 import java.awt.geom.Ellipse2D;
 import java.awt.geom.Point2D;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.*;
+
 import lcsb.mapviewer.common.Configuration;
 
-import org.apache.log4j.Logger;
 
 /**
  * This class contains basic operators on ellipse used by converters.
@@ -14,140 +16,142 @@ import org.apache.log4j.Logger;
  * 
  */
 public class EllipseTransformation {
-	/**
-	 * PI value.
-	 */
-	private static final double	PI			= Math.PI;
-	/**
-	 * PI/2 value.
-	 */
-	private static final double	PI_1_2	= Math.PI / 2;
-	/**
-	 * 3/2 PI value.
-	 */
-	private static final double	PI_3_2	= PI_1_2 * 3;
-
-	/**
-	 * Default class logger.
-	 */
-	@SuppressWarnings("unused")
-	private static Logger				logger	= Logger.getLogger(EllipseTransformation.class.getName());
-
-	/**
-	 * Method returns a cross point between ellipse and a line (from center point
-	 * with angle between the line and X axis).
-	 * 
-	 * @param ellipse
-	 *          ellipse object on which we want to find point
-	 * @param angle
-	 *          angle in degrees
-	 * @return point on the ellipse that connect center of the ellipse with the
-	 *         line that cross X axis by angle
-	 */
-	public Point2D getPointOnEllipseByDegree(final Ellipse2D ellipse, final double angle) {
-		return getPointOnEllipseByRadian(ellipse, Math.toRadians(angle));
-	}
-
-	/**
-	 * Method returns a cross point between ellipse and a line (from center point
-	 * with angle between the line and X axis).
-	 * 
-	 * @param x
-	 *          x coordinate of the ellipse
-	 * @param y
-	 *          y coordinate of the ellipse
-	 * @param width
-	 *          width of the ellipse
-	 * @param height
-	 *          height of the ellipse
-	 * @param angle
-	 *          angle in degrees
-	 * @return point on the ellipse that connect center of the ellipse with the
-	 *         line that cross X axis by angle
-	 */
-	public Point2D getPointOnEllipseByDegree(final double x, final double y, final double width, final double height, final double angle) {
-		return getPointOnEllipseByRadian(x, y, width, height, Math.toRadians(angle));
-	}
-
-	/**
-	 * Method returns a cross point between ellipse and a line (from center point
-	 * with angle between the line and X axis).
-	 * 
-	 * @param x
-	 *          x coordinate of the ellipse
-	 * @param y
-	 *          y coordinate of the ellipse
-	 * @param width
-	 *          width of the ellipse
-	 * @param height
-	 *          height of the ellipse
-	 * @param angle
-	 *          angle in radians
-	 * @return point on the ellipse that connect center of the ellipse with the
-	 *         line that cross X axis by angle
-	 */
-	public Point2D getPointOnEllipseByRadian(final double x, final double y, final double width, final double height, final double angle) {
-		double boundedAngle = angle;
-
-		while (boundedAngle < 0) {
-			boundedAngle += 2 * Math.PI;
-		}
-		while (boundedAngle > (2 * Math.PI - Configuration.EPSILON)) {
-			boundedAngle -= 2 * Math.PI;
-		}
-		Point2D result = new Point2D.Double();
-
-		double a = width / 2;
-		double b = height / 2;
-
-		double resX = 0;
-		double resY = 0;
-		// special cases (atan is infinity)
-		if (Math.abs(boundedAngle - 0) < Configuration.EPSILON) {
-			resX = -a;
-			resY = 0;
-		} else if (Math.abs(boundedAngle - PI) < Configuration.EPSILON) {
-			resX = a;
-			resY = 0;
-		} else if (Math.abs(boundedAngle - PI_1_2) < Configuration.EPSILON) {
-			resX = 0;
-			resY = -b;
-		} else if (Math.abs(boundedAngle - PI_3_2) < Configuration.EPSILON) {
-			resX = 0;
-			resY = b;
-		} else {
-			double tan = Math.tan(boundedAngle);
-
-			resX = a * b / Math.sqrt(b * b + a * a * tan * tan);
-			resY = resX * tan;
-			if (boundedAngle <= PI_1_2 || boundedAngle > PI_3_2) {
-				resX = -resX;
-				resY = -resY;
-			}
-		}
-
-		resX += x + a;
-		resY += y + b;
-
-		result.setLocation(resX, resY);
-		return result;
-	}
-
-	/**
-	 * Method returns a cross point between ellipse and a line (from center point
-	 * with angle between the line and X axis).
-	 * 
-	 * @param ellipse
-	 *          ellipse object on which we want to find point
-	 * @param angle
-	 *          angle in radians
-	 * @return point on the ellipse that connect center of the ellipse with the
-	 *         line that cross X axis by angle
-	 */
-	public Point2D getPointOnEllipseByRadian(final Ellipse2D ellipse, final double angle) {
-		double width = ellipse.getWidth();
-		double height = ellipse.getHeight();
-
-		return getPointOnEllipseByRadian(ellipse.getX(), ellipse.getY(), width, height, angle);
-	}
+  /**
+   * PI value.
+   */
+  private static final double PI = Math.PI;
+  /**
+   * PI/2 value.
+   */
+  private static final double PI_1_2 = Math.PI / 2;
+  /**
+   * 3/2 PI value.
+   */
+  private static final double PI_3_2 = PI_1_2 * 3;
+
+  /**
+   * Default class logger.
+   */
+  @SuppressWarnings("unused")
+  private static Logger logger = LogManager.getLogger(EllipseTransformation.class.getName());
+
+  /**
+   * Method returns a cross point between ellipse and a line (from center point
+   * with angle between the line and X axis).
+   * 
+   * @param ellipse
+   *          ellipse object on which we want to find point
+   * @param angle
+   *          angle in degrees
+   * @return point on the ellipse that connect center of the ellipse with the line
+   *         that cross X axis by angle
+   */
+  public Point2D getPointOnEllipseByDegree(final Ellipse2D ellipse, final double angle) {
+    return getPointOnEllipseByRadian(ellipse, Math.toRadians(angle));
+  }
+
+  /**
+   * Method returns a cross point between ellipse and a line (from center point
+   * with angle between the line and X axis).
+   * 
+   * @param x
+   *          x coordinate of the ellipse
+   * @param y
+   *          y coordinate of the ellipse
+   * @param width
+   *          width of the ellipse
+   * @param height
+   *          height of the ellipse
+   * @param angle
+   *          angle in degrees
+   * @return point on the ellipse that connect center of the ellipse with the line
+   *         that cross X axis by angle
+   */
+  public Point2D getPointOnEllipseByDegree(final double x, final double y, final double width, final double height,
+      final double angle) {
+    return getPointOnEllipseByRadian(x, y, width, height, Math.toRadians(angle));
+  }
+
+  /**
+   * Method returns a cross point between ellipse and a line (from center point
+   * with angle between the line and X axis).
+   * 
+   * @param x
+   *          x coordinate of the ellipse
+   * @param y
+   *          y coordinate of the ellipse
+   * @param width
+   *          width of the ellipse
+   * @param height
+   *          height of the ellipse
+   * @param angle
+   *          angle in radians
+   * @return point on the ellipse that connect center of the ellipse with the line
+   *         that cross X axis by angle
+   */
+  public Point2D getPointOnEllipseByRadian(final double x, final double y, final double width, final double height,
+      final double angle) {
+    double boundedAngle = angle;
+
+    while (boundedAngle < 0) {
+      boundedAngle += 2 * Math.PI;
+    }
+    while (boundedAngle > (2 * Math.PI - Configuration.EPSILON)) {
+      boundedAngle -= 2 * Math.PI;
+    }
+    Point2D result = new Point2D.Double();
+
+    double a = width / 2;
+    double b = height / 2;
+
+    double resX = 0;
+    double resY = 0;
+    // special cases (atan is infinity)
+    if (Math.abs(boundedAngle - 0) < Configuration.EPSILON) {
+      resX = -a;
+      resY = 0;
+    } else if (Math.abs(boundedAngle - PI) < Configuration.EPSILON) {
+      resX = a;
+      resY = 0;
+    } else if (Math.abs(boundedAngle - PI_1_2) < Configuration.EPSILON) {
+      resX = 0;
+      resY = -b;
+    } else if (Math.abs(boundedAngle - PI_3_2) < Configuration.EPSILON) {
+      resX = 0;
+      resY = b;
+    } else {
+      double tan = Math.tan(boundedAngle);
+
+      resX = a * b / Math.sqrt(b * b + a * a * tan * tan);
+      resY = resX * tan;
+      if (boundedAngle <= PI_1_2 || boundedAngle > PI_3_2) {
+        resX = -resX;
+        resY = -resY;
+      }
+    }
+
+    resX += x + a;
+    resY += y + b;
+
+    result.setLocation(resX, resY);
+    return result;
+  }
+
+  /**
+   * Method returns a cross point between ellipse and a line (from center point
+   * with angle between the line and X axis).
+   * 
+   * @param ellipse
+   *          ellipse object on which we want to find point
+   * @param angle
+   *          angle in radians
+   * @return point on the ellipse that connect center of the ellipse with the line
+   *         that cross X axis by angle
+   */
+  public Point2D getPointOnEllipseByRadian(final Ellipse2D ellipse, final double angle) {
+    double width = ellipse.getWidth();
+    double height = ellipse.getHeight();
+
+    return getPointOnEllipseByRadian(ellipse.getX(), ellipse.getY(), width, height, angle);
+  }
 }
diff --git a/commons/src/main/java/lcsb/mapviewer/common/geometry/LineTransformation.java b/commons/src/main/java/lcsb/mapviewer/common/geometry/LineTransformation.java
index 143273978ab78689afbc40e0f47f644088b68e8e..232dc780a694bd72bf10106d9020df7dba1e7e75 100644
--- a/commons/src/main/java/lcsb/mapviewer/common/geometry/LineTransformation.java
+++ b/commons/src/main/java/lcsb/mapviewer/common/geometry/LineTransformation.java
@@ -4,7 +4,8 @@ import java.awt.geom.Line2D;
 import java.awt.geom.PathIterator;
 import java.awt.geom.Point2D;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Configuration;
 
@@ -34,7 +35,7 @@ public class LineTransformation {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(LineTransformation.class.getName());
+  private static Logger logger = LogManager.getLogger(LineTransformation.class.getName());
 
   /**
    * Returns a cross point between path and a line.
diff --git a/commons/src/main/java/lcsb/mapviewer/common/geometry/PointTransformation.java b/commons/src/main/java/lcsb/mapviewer/common/geometry/PointTransformation.java
index 6472057afccabae67e6afef2c9a65275f5d310bb..5f32d1fcdd2ea89d1ed64151d79f9562f90d20ae 100644
--- a/commons/src/main/java/lcsb/mapviewer/common/geometry/PointTransformation.java
+++ b/commons/src/main/java/lcsb/mapviewer/common/geometry/PointTransformation.java
@@ -2,7 +2,8 @@ package lcsb.mapviewer.common.geometry;
 
 import java.awt.geom.Point2D;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.*;
 
 /**
  * Class for basic point transformations.
@@ -15,7 +16,7 @@ public class PointTransformation {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private final Logger	logger	= Logger.getLogger(PointTransformation.class.getName());
+	private final Logger	logger	= LogManager.getLogger(PointTransformation.class.getName());
 
 	/**
 	 * Rotates point around center using the angle.
diff --git a/commons/src/test/java/lcsb/mapviewer/common/AllCommonTests.java b/commons/src/test/java/lcsb/mapviewer/common/AllCommonTests.java
index ddbabc8f96de613d6f89dd9f492596eea53d6d03..20ccdc6b4a6c95e0d8dd8703bf349de8909d2953 100644
--- a/commons/src/test/java/lcsb/mapviewer/common/AllCommonTests.java
+++ b/commons/src/test/java/lcsb/mapviewer/common/AllCommonTests.java
@@ -13,7 +13,7 @@ import lcsb.mapviewer.common.geometry.AllGeometryTests;
 		AllExceptionTests.class,
 		AllGeometryTests.class,
 		ConfigurationTest.class,
-		EventStorageLoggerAppenderTest.class,
+		GlobalLoggerAppenderTest.class,
 		HttpConnectionMethodTypeTest.class,
 		MimeTypeTest.class,
 		ObjectUtilsTest.class,
diff --git a/commons/src/test/java/lcsb/mapviewer/common/CommonTestFunctions.java b/commons/src/test/java/lcsb/mapviewer/common/CommonTestFunctions.java
index d702ff7dfe03708948a68bdbd067a8c8e8a669e6..b13706a0c64b95160f369e2ad7fde2f858202ec7 100644
--- a/commons/src/test/java/lcsb/mapviewer/common/CommonTestFunctions.java
+++ b/commons/src/test/java/lcsb/mapviewer/common/CommonTestFunctions.java
@@ -2,35 +2,31 @@ package lcsb.mapviewer.common;
 
 import java.util.List;
 
-import org.apache.log4j.Logger;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.core.LogEvent;
 import org.junit.After;
 import org.junit.Before;
 
-import lcsb.mapviewer.common.EventStorageLoggerAppender;
-
 public class CommonTestFunctions {
 
-	private EventStorageLoggerAppender appender;
+  private MinervaLoggerAppender appender;
 
-	@Before
-	public final void _setUp() throws Exception {
-		Logger.getRootLogger().removeAppender(appender);
-		appender = new EventStorageLoggerAppender();
-		Logger.getRootLogger().addAppender(appender);
-	}
+  @Before
+  public final void _setUp() throws Exception {
+    MinervaLoggerAppender.unregisterLogEventStorage(appender);
+    appender = MinervaLoggerAppender.createAppender();
+  }
 
-	@After
-	public final void _tearDown() throws Exception {
-		Logger.getRootLogger().removeAppender(appender);
-	}
+  @After
+  public final void _tearDown() throws Exception {
+    MinervaLoggerAppender.unregisterLogEventStorage(appender);
+  }
 
-	protected List<LoggingEvent> getWarnings() {
-		return appender.getWarnings();
-	}
+  protected List<LogEvent> getWarnings() {
+    return appender.getWarnings();
+  }
 
-	protected List<LoggingEvent> getErrors() {
-		return appender.getErrors();
-	}
+  protected List<LogEvent> getErrors() {
+    return appender.getErrors();
+  }
 
 }
diff --git a/commons/src/test/java/lcsb/mapviewer/common/ConfigurationTest.java b/commons/src/test/java/lcsb/mapviewer/common/ConfigurationTest.java
index a1e6ba03e7c358da139ca6c334d3b7d84fd2b7a4..cee7b915d10682b1928fbfcb946fc9b41e78831b 100644
--- a/commons/src/test/java/lcsb/mapviewer/common/ConfigurationTest.java
+++ b/commons/src/test/java/lcsb/mapviewer/common/ConfigurationTest.java
@@ -9,14 +9,15 @@ import java.lang.reflect.Constructor;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 
 public class ConfigurationTest extends CommonTestFunctions{
 
-	Logger logger = Logger.getLogger(ConfigurationTest.class);
+	Logger logger = LogManager.getLogger(ConfigurationTest.class);
 
 	@Before
 	public void setUp() throws Exception {
diff --git a/commons/src/test/java/lcsb/mapviewer/common/EventStorageLoggerAppenderTest.java b/commons/src/test/java/lcsb/mapviewer/common/EventStorageLoggerAppenderTest.java
deleted file mode 100644
index d03f01a0fc885b123811bd0a30a8c6b735f3ff47..0000000000000000000000000000000000000000
--- a/commons/src/test/java/lcsb/mapviewer/common/EventStorageLoggerAppenderTest.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package lcsb.mapviewer.common;
-
-import static org.junit.Assert.assertEquals;
-
-import org.apache.log4j.Logger;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.Test;
-
-public class EventStorageLoggerAppenderTest {
-	Logger logger = Logger.getLogger(EventStorageLoggerAppenderTest.class);
-
-	@AfterClass
-	public static void tearDownAfterClass() throws Exception {
-	}
-
-	@Before
-	public void setUp() throws Exception {
-	}
-
-	@After
-	public void tearDown() throws Exception {
-	}
-
-	@Test
-	public void testLogCatching() {
-		try {
-			EventStorageLoggerAppender appender = new EventStorageLoggerAppender();
-			logger.addAppender(appender);
-			logger.warn("test");
-			logger.debug("1");
-			logger.error("2");
-			logger.info("3");
-			logger.fatal("4");
-			logger.trace("5");
-			assertEquals(1, appender.getWarnings().size());
-			assertEquals(1, appender.getFatals().size());
-			assertEquals(1, appender.getErrors().size());
-			logger.removeAppender(appender);
-			logger.warn("test");
-			assertEquals(1, appender.getWarnings().size());
-		} catch (Exception e) {
-			e.printStackTrace();
-			throw e;
-		}
-	}
-
-	@Test
-	public void testGetters() {
-		try {
-			EventStorageLoggerAppender appender = new EventStorageLoggerAppender();
-			appender.requiresLayout();
-			appender.close();
-		} catch (Exception e) {
-			e.printStackTrace();
-			throw e;
-		}
-	}
-
-}
diff --git a/commons/src/test/java/lcsb/mapviewer/common/GlobalLoggerAppenderTest.java b/commons/src/test/java/lcsb/mapviewer/common/GlobalLoggerAppenderTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..bfcb56d53d0b2c4082b645797bebcbec1d823659
--- /dev/null
+++ b/commons/src/test/java/lcsb/mapviewer/common/GlobalLoggerAppenderTest.java
@@ -0,0 +1,66 @@
+package lcsb.mapviewer.common;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.Test;
+
+public class GlobalLoggerAppenderTest {
+  Logger logger = LogManager.getLogger(GlobalLoggerAppenderTest.class);
+
+  @AfterClass
+  public static void tearDownAfterClass() throws Exception {
+  }
+
+  @Before
+  public void setUp() throws Exception {
+  }
+
+  @After
+  public void tearDown() throws Exception {
+  }
+
+  @Test
+  public void testLogCatching() {
+    try {
+      MinervaLoggerAppender appender = MinervaLoggerAppender.createAppender();
+      logger.warn("test");
+      logger.debug("1");
+      logger.error("2");
+      logger.info("3");
+      logger.fatal("4");
+      logger.trace("5");
+      assertEquals(1, appender.getDebugs().size());
+      assertEquals(1, appender.getWarnings().size());
+      assertEquals(1, appender.getFatals().size());
+      assertEquals(1, appender.getErrors().size());
+      MinervaLoggerAppender.unregisterLogEventStorage(appender);
+      logger.warn("test");
+      assertEquals(1, appender.getWarnings().size());
+    } catch (Exception e) {
+      e.printStackTrace();
+      throw e;
+    }
+  }
+
+  @Test
+  public void testLogContent() {
+    try {
+      MinervaLoggerAppender appender = MinervaLoggerAppender.createAppender();
+      logger.warn("test");
+      logger.warn("xyz");
+      assertEquals(2, appender.getWarnings().size());
+      assertNotEquals(appender.getWarnings().get(0),appender.getWarnings().get(1));
+      MinervaLoggerAppender.unregisterLogEventStorage(appender);
+    } catch (Exception e) {
+      e.printStackTrace();
+      throw e;
+    }
+  }
+
+}
diff --git a/commons/src/test/java/lcsb/mapviewer/common/SystemClipboardTest.java b/commons/src/test/java/lcsb/mapviewer/common/SystemClipboardTest.java
index 88ba17059b9e2a6fd06cfd679dcf7e2e1f837aab..de178fef22bce295d08e0afb4789765b521bfb50 100644
--- a/commons/src/test/java/lcsb/mapviewer/common/SystemClipboardTest.java
+++ b/commons/src/test/java/lcsb/mapviewer/common/SystemClipboardTest.java
@@ -10,13 +10,14 @@ import java.awt.datatransfer.Transferable;
 import java.awt.datatransfer.UnsupportedFlavorException;
 import java.io.IOException;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 
 public class SystemClipboardTest {
-	Logger	logger	= Logger.getLogger(SystemClipboardTest.class);
+	Logger	logger	= LogManager.getLogger(SystemClipboardTest.class);
 
 	@Before
 	public void setUp() throws Exception {
diff --git a/commons/src/test/java/lcsb/mapviewer/common/XmlParserTest.java b/commons/src/test/java/lcsb/mapviewer/common/XmlParserTest.java
index be6e624130e9d278cd82b4d33e713d622529f2bd..375481170770160cbb9b8f8a7ccd62b9617142b5 100644
--- a/commons/src/test/java/lcsb/mapviewer/common/XmlParserTest.java
+++ b/commons/src/test/java/lcsb/mapviewer/common/XmlParserTest.java
@@ -14,7 +14,8 @@ import java.io.InputStream;
 import java.nio.charset.StandardCharsets;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.*;
 import org.apache.xerces.dom.DocumentImpl;
 import org.apache.xerces.dom.ElementImpl;
 import org.junit.After;
@@ -30,7 +31,7 @@ import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.common.exception.InvalidXmlSchemaException;
 
 public class XmlParserTest {
-  Logger logger = Logger.getLogger(XmlParserTest.class);
+  Logger logger = LogManager.getLogger(XmlParserTest.class);
 
   @Before
   public void setUp() throws Exception {
diff --git a/commons/src/test/java/lcsb/mapviewer/common/geometry/EllipseTransformationTest.java b/commons/src/test/java/lcsb/mapviewer/common/geometry/EllipseTransformationTest.java
index eeeca94a548a9e08f9c9fa204fab79ab15b68d72..e73ada3547dab1b91e39757b17dd36f5cc28ec2e 100644
--- a/commons/src/test/java/lcsb/mapviewer/common/geometry/EllipseTransformationTest.java
+++ b/commons/src/test/java/lcsb/mapviewer/common/geometry/EllipseTransformationTest.java
@@ -5,7 +5,8 @@ import static org.junit.Assert.*;
 import java.awt.geom.Ellipse2D;
 import java.awt.geom.Point2D;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -13,7 +14,7 @@ import org.junit.Test;
 import lcsb.mapviewer.common.Configuration;
 
 public class EllipseTransformationTest {
-	Logger logger = Logger.getLogger(EllipseTransformationTest.class);
+	Logger logger = LogManager.getLogger(EllipseTransformationTest.class);
 
 	@Before
 	public void setUp() throws Exception {
diff --git a/commons/src/test/java/lcsb/mapviewer/common/geometry/LineTransformationTest.java b/commons/src/test/java/lcsb/mapviewer/common/geometry/LineTransformationTest.java
index 078abe659154adfac59c5ecbca2a7b16fbc61935..cf3bf6483dd585aa59703ad779e5b53291847fad 100644
--- a/commons/src/test/java/lcsb/mapviewer/common/geometry/LineTransformationTest.java
+++ b/commons/src/test/java/lcsb/mapviewer/common/geometry/LineTransformationTest.java
@@ -13,7 +13,8 @@ import java.awt.geom.Point2D;
 import java.awt.geom.Rectangle2D;
 import java.awt.geom.RoundRectangle2D;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -21,194 +22,199 @@ import org.junit.Test;
 import lcsb.mapviewer.common.Configuration;
 
 public class LineTransformationTest {
-	static Logger			 logger							= Logger.getLogger(LineTransformationTest.class);
-	static double			 EPSILON						= Configuration.EPSILON;
-	LineTransformation lineTransformation	= new LineTransformation();
-
-	@Before
-	public void setUp() throws Exception {
-	}
-
-	@After
-	public void tearDown() throws Exception {
-	}
-
-	@Test
-	public void testIntersection() {
-		Shape s = new RoundRectangle2D.Double(0.0, 0.0, 100.0, 100.0, 10.0, 10.0);
-		Line2D line = new Line2D.Double(50, 50, 50, 200);
-		Point2D p = lineTransformation.getIntersectionWithPathIterator(line, s.getPathIterator(new AffineTransform()));
-		Point2D intPoint = new Point2D.Double(50, 100);
-		double dist = p.distance(intPoint);
-		assertEquals("Invalid intersection point: " + p, 0, dist, EPSILON);
-	}
-
-	@Test
-	public void testIntersectionWithBezierCurve() {
-		double x = 0;
-		double y = 0;
-		double w = 100;
-		double h = 200;
-		GeneralPath path = new GeneralPath();
-
-		path.moveTo((float) (x + 0.25 * w), (float) (y + 0.25 * h));
-		path.quadTo((float) (x + 0.05 * w), (float) (y + 0.25 * h), x, (float) (y + 0.5 * h));
-		path.curveTo(x, (float) (y + 0.66 * h), (float) (x + 0.18 * w), (float) (y + 0.9 * h), (float) (x + 0.31 * w), (float) (y + 0.8 * h));
-		path.curveTo((float) (x + 0.4 * w), (y + h), (float) (x + 0.7 * w), (y + h), (float) (x + 0.8 * w), (float) (y + 0.8 * h));
-		path.curveTo((x + w), (float) (y + 0.8 * h), (x + w), (float) (y + 0.6 * h), (float) (x + 0.875 * w), (float) (y + 0.5 * h));
-		path.curveTo((x + w), (float) (y + 0.3 * h), (float) (x + 0.8 * w), (float) (y + 0.1 * h), (float) (x + 0.625 * w), (float) (y + 0.2 * h));
-		path.curveTo((float) (x + 0.5 * w), (float) (y + 0.05 * h), (float) (x + 0.3 * w), (float) (y + 0.05 * h), (float) (x + 0.25 * w), (float) (y + 0.25 * h));
-		path.closePath();
-
-		Line2D line = new Line2D.Double(50, 50, 50, 300);
-		Point2D p = lineTransformation.getIntersectionWithPathIterator(line, path.getPathIterator(new AffineTransform()));
-		assertNotNull(p);
-	}
-
-	@Test
-	public void testIntersectionToInvalidPath() {
-		Line2D line = new Line2D.Double(50, 50, 50, 200);
-		Point2D p = lineTransformation.getIntersectionWithPathIterator(line, null);
-		assertNull(p);
-
-		Shape s = new Rectangle2D.Double(0.0, 0.0, 10.0, 0.0);
-		p = lineTransformation.getIntersectionWithPathIterator(line, s.getPathIterator(new AffineTransform()));
-		assertNull(p);
-
-		p = lineTransformation.getIntersectionWithPathIterator(line, new PathIterator() {
-
-			@Override
-			public void next() {
-				// TODO Auto-generated method stub
-
-			}
-
-			@Override
-			public boolean isDone() {
-				return true;
-			}
-
-			@Override
-			public int getWindingRule() {
-				// TODO Auto-generated method stub
-				return 0;
-			}
-
-			@Override
-			public int currentSegment(double[] coords) {
-				// TODO Auto-generated method stub
-				return 0;
-			}
-
-			@Override
-			public int currentSegment(float[] coords) {
-				// TODO Auto-generated method stub
-				return 0;
-			}
-		});
-		assertNull(p);
-	}
-
-	@Test
-	public void testDistance() {
-		assertNotNull(lineTransformation);
-		Point2D p1 = new Point2D.Double(2, 2);
-		Point2D p2 = new Point2D.Double(3, 3);
-		Point2D p3 = new Point2D.Double(4, 4);
-
-		double dist = lineTransformation.distBetweenPointAndLineSegment(p1, p2, p3);
-		double d = Math.sqrt(2);
-		assertEquals(dist, d, EPSILON);
-
-		p3 = new Point2D.Double(3, 4);
-		dist = lineTransformation.distBetweenPointAndLineSegment(p1, p2, p3);
-		assertEquals(dist, 1, EPSILON);
-
-		p3 = new Point2D.Double(3, 3);
-		dist = lineTransformation.distBetweenPointAndLineSegment(p1, p2, p3);
-		assertEquals(dist, 0, EPSILON);
-
-		p3 = new Point2D.Double(2.5, 2.5);
-		dist = lineTransformation.distBetweenPointAndLineSegment(p1, p2, p3);
-		assertEquals(dist, 0, EPSILON);
-
-		p3 = new Point2D.Double(2, 2);
-		dist = lineTransformation.distBetweenPointAndLineSegment(p1, p2, p3);
-		assertEquals(dist, 0, EPSILON);
-
-		p3 = new Point2D.Double(2, 0);
-		dist = lineTransformation.distBetweenPointAndLineSegment(p1, p2, p3);
-		assertEquals(dist, 2, EPSILON);
-
-		p3 = new Point2D.Double(3, 2);
-		dist = lineTransformation.distBetweenPointAndLineSegment(p1, p2, p3);
-		d = Math.sqrt(0.5);
-		assertEquals(dist, d, EPSILON);
-
-	}
-
-	@Test
-	public void testDistanceToEmptyLine() {
-		Point2D p1 = new Point2D.Double(2, 2);
-		Point2D p2 = new Point2D.Double(3, 3);
-		double dist = lineTransformation.distBetweenPointAndLineSegment(p1, p1, p2);
-		assertEquals(p1.distance(p2), dist, EPSILON);
-
-		// the same with line
-		Line2D line = new Line2D.Double(p1, p1);
-		dist = lineTransformation.distBetweenPointAndLineSegment(line, p2);
-		assertEquals(p1.distance(p2), dist, EPSILON);
-	}
-
-	@Test
-	public void testClosestPointOnSegmentLineToPointOnEmptyLine() {
-		Point2D p1 = new Point2D.Double(2, 2);
-		Point2D p2 = new Point2D.Double(3, 3);
-		Point2D p3 = lineTransformation.closestPointOnSegmentLineToPoint(p1, p1, p2);
-		assertEquals(p3, p1);
-
-		// the same with line
-		Line2D line = new Line2D.Double(p1, p1);
-		p3 = lineTransformation.closestPointOnSegmentLineToPoint(line, p2);
-		assertEquals(p3, p1);
-
-	}
-
-	@Test
-	public void testClosestPoint() {
-		assertNotNull(lineTransformation);
-		Point2D p1 = new Point2D.Double(2, 2);
-		Point2D p2 = new Point2D.Double(3, 3);
-		Point2D p3 = new Point2D.Double(4, 4);
-
-		Point2D res = lineTransformation.closestPointOnSegmentLineToPoint(p1, p2, p3);
-		double d = Math.sqrt(2);
-		assertEquals(res.distance(p3), d, EPSILON);
-
-		p3 = new Point2D.Double(3, 4);
-		res = lineTransformation.closestPointOnSegmentLineToPoint(p1, p2, p3);
-		assertEquals(res.distance(p3), 1, EPSILON);
-
-		p3 = new Point2D.Double(3, 3);
-		res = lineTransformation.closestPointOnSegmentLineToPoint(p1, p2, p3);
-		assertEquals(res.distance(p3), 0, EPSILON);
-
-		p3 = new Point2D.Double(2.5, 2.5);
-		res = lineTransformation.closestPointOnSegmentLineToPoint(p1, p2, p3);
-		assertEquals(res.distance(p3), 0, EPSILON);
-
-		p3 = new Point2D.Double(2, 2);
-		res = lineTransformation.closestPointOnSegmentLineToPoint(p1, p2, p3);
-		assertEquals(res.distance(p3), 0, EPSILON);
-
-		p3 = new Point2D.Double(2, 0);
-		res = lineTransformation.closestPointOnSegmentLineToPoint(p1, p2, p3);
-		assertEquals(res.distance(p3), 2, EPSILON);
-
-		p3 = new Point2D.Double(3, 2);
-		res = lineTransformation.closestPointOnSegmentLineToPoint(p1, p2, p3);
-		d = Math.sqrt(0.5);
-		assertEquals(res.distance(p3), d, EPSILON);
-
-	}
+  static Logger logger = LogManager.getLogger(LineTransformationTest.class);
+  static double EPSILON = Configuration.EPSILON;
+  LineTransformation lineTransformation = new LineTransformation();
+
+  @Before
+  public void setUp() throws Exception {
+  }
+
+  @After
+  public void tearDown() throws Exception {
+  }
+
+  @Test
+  public void testIntersection() {
+    Shape s = new RoundRectangle2D.Double(0.0, 0.0, 100.0, 100.0, 10.0, 10.0);
+    Line2D line = new Line2D.Double(50, 50, 50, 200);
+    Point2D p = lineTransformation.getIntersectionWithPathIterator(line, s.getPathIterator(new AffineTransform()));
+    Point2D intPoint = new Point2D.Double(50, 100);
+    double dist = p.distance(intPoint);
+    assertEquals("Invalid intersection point: " + p, 0, dist, EPSILON);
+  }
+
+  @Test
+  public void testIntersectionWithBezierCurve() {
+    double x = 0;
+    double y = 0;
+    double w = 100;
+    double h = 200;
+    GeneralPath path = new GeneralPath();
+
+    path.moveTo((float) (x + 0.25 * w), (float) (y + 0.25 * h));
+    path.quadTo((float) (x + 0.05 * w), (float) (y + 0.25 * h), x, (float) (y + 0.5 * h));
+    path.curveTo(x, (float) (y + 0.66 * h), (float) (x + 0.18 * w), (float) (y + 0.9 * h), (float) (x + 0.31 * w),
+        (float) (y + 0.8 * h));
+    path.curveTo((float) (x + 0.4 * w), (y + h), (float) (x + 0.7 * w), (y + h), (float) (x + 0.8 * w),
+        (float) (y + 0.8 * h));
+    path.curveTo((x + w), (float) (y + 0.8 * h), (x + w), (float) (y + 0.6 * h), (float) (x + 0.875 * w),
+        (float) (y + 0.5 * h));
+    path.curveTo((x + w), (float) (y + 0.3 * h), (float) (x + 0.8 * w), (float) (y + 0.1 * h), (float) (x + 0.625 * w),
+        (float) (y + 0.2 * h));
+    path.curveTo((float) (x + 0.5 * w), (float) (y + 0.05 * h), (float) (x + 0.3 * w), (float) (y + 0.05 * h),
+        (float) (x + 0.25 * w), (float) (y + 0.25 * h));
+    path.closePath();
+
+    Line2D line = new Line2D.Double(50, 50, 50, 300);
+    Point2D p = lineTransformation.getIntersectionWithPathIterator(line, path.getPathIterator(new AffineTransform()));
+    assertNotNull(p);
+  }
+
+  @Test
+  public void testIntersectionToInvalidPath() {
+    Line2D line = new Line2D.Double(50, 50, 50, 200);
+    Point2D p = lineTransformation.getIntersectionWithPathIterator(line, null);
+    assertNull(p);
+
+    Shape s = new Rectangle2D.Double(0.0, 0.0, 10.0, 0.0);
+    p = lineTransformation.getIntersectionWithPathIterator(line, s.getPathIterator(new AffineTransform()));
+    assertNull(p);
+
+    p = lineTransformation.getIntersectionWithPathIterator(line, new PathIterator() {
+
+      @Override
+      public void next() {
+        // TODO Auto-generated method stub
+
+      }
+
+      @Override
+      public boolean isDone() {
+        return true;
+      }
+
+      @Override
+      public int getWindingRule() {
+        // TODO Auto-generated method stub
+        return 0;
+      }
+
+      @Override
+      public int currentSegment(double[] coords) {
+        // TODO Auto-generated method stub
+        return 0;
+      }
+
+      @Override
+      public int currentSegment(float[] coords) {
+        // TODO Auto-generated method stub
+        return 0;
+      }
+    });
+    assertNull(p);
+  }
+
+  @Test
+  public void testDistance() {
+    assertNotNull(lineTransformation);
+    Point2D p1 = new Point2D.Double(2, 2);
+    Point2D p2 = new Point2D.Double(3, 3);
+    Point2D p3 = new Point2D.Double(4, 4);
+
+    double dist = lineTransformation.distBetweenPointAndLineSegment(p1, p2, p3);
+    double d = Math.sqrt(2);
+    assertEquals(dist, d, EPSILON);
+
+    p3 = new Point2D.Double(3, 4);
+    dist = lineTransformation.distBetweenPointAndLineSegment(p1, p2, p3);
+    assertEquals(dist, 1, EPSILON);
+
+    p3 = new Point2D.Double(3, 3);
+    dist = lineTransformation.distBetweenPointAndLineSegment(p1, p2, p3);
+    assertEquals(dist, 0, EPSILON);
+
+    p3 = new Point2D.Double(2.5, 2.5);
+    dist = lineTransformation.distBetweenPointAndLineSegment(p1, p2, p3);
+    assertEquals(dist, 0, EPSILON);
+
+    p3 = new Point2D.Double(2, 2);
+    dist = lineTransformation.distBetweenPointAndLineSegment(p1, p2, p3);
+    assertEquals(dist, 0, EPSILON);
+
+    p3 = new Point2D.Double(2, 0);
+    dist = lineTransformation.distBetweenPointAndLineSegment(p1, p2, p3);
+    assertEquals(dist, 2, EPSILON);
+
+    p3 = new Point2D.Double(3, 2);
+    dist = lineTransformation.distBetweenPointAndLineSegment(p1, p2, p3);
+    d = Math.sqrt(0.5);
+    assertEquals(dist, d, EPSILON);
+
+  }
+
+  @Test
+  public void testDistanceToEmptyLine() {
+    Point2D p1 = new Point2D.Double(2, 2);
+    Point2D p2 = new Point2D.Double(3, 3);
+    double dist = lineTransformation.distBetweenPointAndLineSegment(p1, p1, p2);
+    assertEquals(p1.distance(p2), dist, EPSILON);
+
+    // the same with line
+    Line2D line = new Line2D.Double(p1, p1);
+    dist = lineTransformation.distBetweenPointAndLineSegment(line, p2);
+    assertEquals(p1.distance(p2), dist, EPSILON);
+  }
+
+  @Test
+  public void testClosestPointOnSegmentLineToPointOnEmptyLine() {
+    Point2D p1 = new Point2D.Double(2, 2);
+    Point2D p2 = new Point2D.Double(3, 3);
+    Point2D p3 = lineTransformation.closestPointOnSegmentLineToPoint(p1, p1, p2);
+    assertEquals(p3, p1);
+
+    // the same with line
+    Line2D line = new Line2D.Double(p1, p1);
+    p3 = lineTransformation.closestPointOnSegmentLineToPoint(line, p2);
+    assertEquals(p3, p1);
+
+  }
+
+  @Test
+  public void testClosestPoint() {
+    assertNotNull(lineTransformation);
+    Point2D p1 = new Point2D.Double(2, 2);
+    Point2D p2 = new Point2D.Double(3, 3);
+    Point2D p3 = new Point2D.Double(4, 4);
+
+    Point2D res = lineTransformation.closestPointOnSegmentLineToPoint(p1, p2, p3);
+    double d = Math.sqrt(2);
+    assertEquals(res.distance(p3), d, EPSILON);
+
+    p3 = new Point2D.Double(3, 4);
+    res = lineTransformation.closestPointOnSegmentLineToPoint(p1, p2, p3);
+    assertEquals(res.distance(p3), 1, EPSILON);
+
+    p3 = new Point2D.Double(3, 3);
+    res = lineTransformation.closestPointOnSegmentLineToPoint(p1, p2, p3);
+    assertEquals(res.distance(p3), 0, EPSILON);
+
+    p3 = new Point2D.Double(2.5, 2.5);
+    res = lineTransformation.closestPointOnSegmentLineToPoint(p1, p2, p3);
+    assertEquals(res.distance(p3), 0, EPSILON);
+
+    p3 = new Point2D.Double(2, 2);
+    res = lineTransformation.closestPointOnSegmentLineToPoint(p1, p2, p3);
+    assertEquals(res.distance(p3), 0, EPSILON);
+
+    p3 = new Point2D.Double(2, 0);
+    res = lineTransformation.closestPointOnSegmentLineToPoint(p1, p2, p3);
+    assertEquals(res.distance(p3), 2, EPSILON);
+
+    p3 = new Point2D.Double(3, 2);
+    res = lineTransformation.closestPointOnSegmentLineToPoint(p1, p2, p3);
+    d = Math.sqrt(0.5);
+    assertEquals(res.distance(p3), d, EPSILON);
+
+  }
 }
diff --git a/commons/src/test/resources/log4j.properties b/commons/src/test/resources/log4j.properties
deleted file mode 100644
index e270d0a2fa03b224428ebcbda10a6a5c5d107e46..0000000000000000000000000000000000000000
--- a/commons/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-#Set root logger 's level and its appender to an appender called CONSOLE which is defined below.
-log4j.rootLogger=info, CONSOLE
-
-#Set the behavior of the CONSOLE appender 
-log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
-log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
-log4j.appender.CONSOLE.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-#log4j.appender.CONSOLE.layout.ConversionPattern=%m%n
-
-
-#Set the behavior of the FILE appender 
-log4j.appender.R=org.apache.log4j.FileAppender
-log4j.appender.R.File=${catalina.home}/logs/MapViewer.log
-log4j.appender.R.layout=org.apache.log4j.PatternLayout
-log4j.appender.R.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-
-
-log4j.logger.org.springframework=warn
-log4j.logger.org.hibernate=warn
-log4j.logger.lcsb=trace
diff --git a/commons/src/test/resources/log4j2.properties b/commons/src/test/resources/log4j2.properties
new file mode 100644
index 0000000000000000000000000000000000000000..d5d5de895501a0e3bed0fd4816fc302ed65fc346
--- /dev/null
+++ b/commons/src/test/resources/log4j2.properties
@@ -0,0 +1,18 @@
+rootLogger.level = INFO
+appenders = console
+
+appender.console.type = Console
+appender.console.name = STDOUT
+appender.console.layout.type = PatternLayout
+appender.console.layout.pattern = %d %5p [%t] (%F:%L) - %m%n
+
+rootLogger.appenderRefs = console
+
+rootLogger.appenderRef.console.ref = STDOUT
+
+logger.minerva.name = lcsb
+logger.minerva.level = debug
+
+#log4j.logger.org.springframework=warn
+#log4j.logger.org.hibernate=warn
+#log4j.logger.lcsb=trace
diff --git a/converter-CellDesigner/pom.xml b/converter-CellDesigner/pom.xml
index 641ecc14e374496def655b697e6db0f339b751ee..870f92a8579673445eecdc47dcde7ee44f332af9 100644
--- a/converter-CellDesigner/pom.xml
+++ b/converter-CellDesigner/pom.xml
@@ -26,11 +26,16 @@
 			<version>1.0</version>
 		</dependency>
 
-		<!-- Log4J -->
+		<!-- Log4J2-->
 		<dependency>
-			<groupId>log4j</groupId>
-			<artifactId>log4j</artifactId>
-			<version>${log4j.version}</version>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-api</artifactId>
+			<version>${log4j2.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-core</artifactId>
+			<version>${log4j2.version}</version>
 		</dependency>
 
 		<!-- mockito used for testing -->
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerElementCollection.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerElementCollection.java
index 101fd298f92cd7b1edb951b653b13b75003a1995..33703b5189b9565ee83541ee9dc65000ea677127 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerElementCollection.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerElementCollection.java
@@ -8,7 +8,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.converter.model.celldesigner.structure.CellDesignerElement;
@@ -30,7 +30,7 @@ import lcsb.mapviewer.model.map.species.field.ModificationResidue;
  */
 public class CellDesignerElementCollection {
 
-  Logger logger = Logger.getLogger(CellDesignerElementCollection.class);
+  Logger logger = LogManager.getLogger(CellDesignerElementCollection.class);
 
   /**
    * Element by element identifier (it's CellDesigner identifier).
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParser.java
index e77b6de595c06d3355045c3ad8a3a7b2efb93bc6..8535cfabb8c65c76ec2a2b940fc2dbe88eadcd04 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParser.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParser.java
@@ -7,15 +7,17 @@ import java.util.List;
 
 import org.apache.commons.io.FilenameUtils;
 import org.apache.commons.lang3.StringEscapeUtils;
-import org.apache.log4j.Logger;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.*;
+import org.apache.logging.log4j.core.LogEvent;
+
 import org.apache.xerces.parsers.DOMParser;
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
-import lcsb.mapviewer.common.EventStorageLoggerAppender;
+
 import lcsb.mapviewer.common.MimeType;
+import lcsb.mapviewer.common.MinervaLoggerAppender;
 import lcsb.mapviewer.common.Pair;
 import lcsb.mapviewer.common.XmlParser;
 import lcsb.mapviewer.common.exception.InvalidXmlSchemaException;
@@ -77,7 +79,7 @@ public class CellDesignerXmlParser extends Converter {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(CellDesignerXmlParser.class.getName());
+  private static Logger logger = LogManager.getLogger(CellDesignerXmlParser.class.getName());
 
   /**
    * CellDesigner parser for layers.
@@ -596,9 +598,8 @@ public class CellDesignerXmlParser extends Converter {
    * @throws InconsistentModelException
    */
   public String model2Xml(Model model, boolean appendWarnings) throws InconsistentModelException {
-    EventStorageLoggerAppender appender = new EventStorageLoggerAppender();
+    MinervaLoggerAppender appender = MinervaLoggerAppender.createAppender();
     try {
-      Logger.getRootLogger().addAppender(appender);
       CellDesignerElementCollection elements = new CellDesignerElementCollection();
 
       SpeciesCollectionXmlParser speciesCollectionXmlParser = new SpeciesCollectionXmlParser(elements);
@@ -639,10 +640,8 @@ public class CellDesignerXmlParser extends Converter {
           result.append(XmlParser.escapeXml(model.getNotes()));
         }
         if (appendWarnings) {
-          for (LoggingEvent event : appender.getWarnings()) {
-            if (event.getMessage() instanceof String) {
-              result.append("\n" + ((String) event.getMessage()));
-            }
+          for (LogEvent event : appender.getWarnings()) {
+              result.append("\n" + event.getMessage().getFormattedMessage());
           }
         }
         result.append("</notes>");
@@ -652,7 +651,7 @@ public class CellDesignerXmlParser extends Converter {
       result.append("</sbml>");
       return result.toString();
     } finally {
-      Logger.getRootLogger().removeAppender(appender);
+      MinervaLoggerAppender.unregisterLogEventStorage(appender);
     }
   }
 
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/LayerXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/LayerXmlParser.java
index d84b7d7567cd915e6d1230ce2ab448249b450432..e06a9ba21de4b9ff11104fdf487f4419bfd6bf47 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/LayerXmlParser.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/LayerXmlParser.java
@@ -6,7 +6,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
@@ -37,7 +37,7 @@ public class LayerXmlParser {
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(LayerXmlParser.class.getName());
+  private Logger logger = LogManager.getLogger(LayerXmlParser.class.getName());
 
   /**
    * Parser for common CellDesigner structures.
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/AbstractAliasXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/AbstractAliasXmlParser.java
index e51b1b8cf5ed73e4edfc4e5d26a9e8d63b241b13..35c9d295ab2deb3abfd280f4ab87dce1a3603335 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/AbstractAliasXmlParser.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/AbstractAliasXmlParser.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.converter.model.celldesigner.alias;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
@@ -25,7 +25,7 @@ public abstract class AbstractAliasXmlParser<T extends Element> {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(AbstractAliasXmlParser.class.getName());
+  private Logger logger = LogManager.getLogger(AbstractAliasXmlParser.class.getName());
 
   /**
    * Set of common functions used in parsing cell designer xml.
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/AliasCollectionXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/AliasCollectionXmlParser.java
index 541804f13b8bee24568d8eb747536bae44214110..04cf98017389078b4a619a599c009e373c2974f5 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/AliasCollectionXmlParser.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/AliasCollectionXmlParser.java
@@ -4,7 +4,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
@@ -32,7 +32,7 @@ public class AliasCollectionXmlParser {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private Logger										logger								 = Logger.getLogger(AliasCollectionXmlParser.class.getName());
+	private Logger										logger								 = LogManager.getLogger(AliasCollectionXmlParser.class.getName());
 
 	/**
 	 * Single SpeciesAlias parser for CellDesigner node.
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/CompartmentAliasXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/CompartmentAliasXmlParser.java
index 9fd04f1b3bd590b8af2cc913714dc03fe5d7731d..c8cd11454c8262f7f9571aef71259d2424d100c5 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/CompartmentAliasXmlParser.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/CompartmentAliasXmlParser.java
@@ -1,7 +1,7 @@
 package lcsb.mapviewer.converter.model.celldesigner.alias;
 
 import lcsb.mapviewer.common.XmlParser;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
@@ -31,7 +31,7 @@ public class CompartmentAliasXmlParser extends AbstractAliasXmlParser<Compartmen
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(CompartmentAliasXmlParser.class.getName());
+  private Logger logger = LogManager.getLogger(CompartmentAliasXmlParser.class.getName());
 
   /**
    * Model for which we are parsing aliases.
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/ComplexAliasXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/ComplexAliasXmlParser.java
index 2092ce86263f31a353a33c761492bf4ef9fe9070..cecd43d6b14fed3134d51e1d7829a7abcde43a7a 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/ComplexAliasXmlParser.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/ComplexAliasXmlParser.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.converter.model.celldesigner.alias;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
@@ -36,7 +36,7 @@ public class ComplexAliasXmlParser extends AbstractAliasXmlParser<Complex> {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(ComplexAliasXmlParser.class.getName());
+  private Logger logger = LogManager.getLogger(ComplexAliasXmlParser.class.getName());
 
   /**
    * Because of the CellDesigner xml model we have to store information about all
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/SpeciesAliasXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/SpeciesAliasXmlParser.java
index c4a6be2c5e249692d7ab744903e24cc6cc3cd917..b00bd68b1d7644cd29fe1a90798a6cfe686fb737 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/SpeciesAliasXmlParser.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/SpeciesAliasXmlParser.java
@@ -1,7 +1,7 @@
 package lcsb.mapviewer.converter.model.celldesigner.alias;
 
 import lcsb.mapviewer.common.XmlParser;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
@@ -31,7 +31,7 @@ public class SpeciesAliasXmlParser extends AbstractAliasXmlParser<Species> {
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(SpeciesAliasXmlParser.class.getName());
+  private Logger logger = LogManager.getLogger(SpeciesAliasXmlParser.class.getName());
 
   /**
    * Collection of {@link CellDesignerElement cell designer elements} parsed from
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/annotation/RestAnnotationParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/annotation/RestAnnotationParser.java
index adee4494b7013848ae35e23a15015bbc91f098f7..70de0af97a199c35dc1cac05513bea8c80ab30a9 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/annotation/RestAnnotationParser.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/annotation/RestAnnotationParser.java
@@ -9,7 +9,7 @@ import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 import org.apache.commons.lang3.StringEscapeUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Node;
 
 import lcsb.mapviewer.common.XmlParser;
@@ -45,7 +45,7 @@ public class RestAnnotationParser {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(RestAnnotationParser.class);
+  private static Logger logger = LogManager.getLogger(RestAnnotationParser.class);
 
   /**
    * Pattern used to find rdf node in string xml.
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/compartment/CompartmentCollectionXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/compartment/CompartmentCollectionXmlParser.java
index 33bd3f9dffd4630d93bc8c3132bfc5d62506be96..cd43a8ba32751359638c95c63f2368f17cdb31a6 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/compartment/CompartmentCollectionXmlParser.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/compartment/CompartmentCollectionXmlParser.java
@@ -6,7 +6,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
@@ -30,7 +30,7 @@ public class CompartmentCollectionXmlParser {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(CompartmentCollectionXmlParser.class.getName());
+  private Logger logger = LogManager.getLogger(CompartmentCollectionXmlParser.class.getName());
 
   /**
    * CellDesigner xml parser for single compartment.
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/compartment/CompartmentParserException.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/compartment/CompartmentParserException.java
index 6e8afa1fb25d0e6dd23bad6caa74ee82533cba76..aab5cc418971ec6cadf6a24f2fb6eff4abf17078 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/compartment/CompartmentParserException.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/compartment/CompartmentParserException.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.converter.model.celldesigner.compartment;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.converter.model.celldesigner.CellDesignerParserException;
 import lcsb.mapviewer.model.map.compartment.Compartment;
@@ -13,7 +13,7 @@ import lcsb.mapviewer.model.map.compartment.Compartment;
  * 
  */
 public class CompartmentParserException extends CellDesignerParserException {
-  Logger logger = Logger.getLogger(CompartmentParserException.class);
+  Logger logger = LogManager.getLogger(CompartmentParserException.class);
 
   /**
    * 
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/compartment/CompartmentXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/compartment/CompartmentXmlParser.java
index 861b230bee757198fc0bc81cd78cf2f86a49fafd..57381b67233005785f4f9e3c1ef70d24fdbe76ad 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/compartment/CompartmentXmlParser.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/compartment/CompartmentXmlParser.java
@@ -1,7 +1,7 @@
 package lcsb.mapviewer.converter.model.celldesigner.compartment;
 
 import lcsb.mapviewer.common.XmlParser;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
@@ -28,7 +28,7 @@ public class CompartmentXmlParser extends AbstractElementXmlParser<CellDesignerC
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(CompartmentXmlParser.class.getName());
+  private static Logger logger = LogManager.getLogger(CompartmentXmlParser.class.getName());
 
   /**
    * Parser used to retrieve Miriam data for the element.
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/function/FunctionXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/function/FunctionXmlParser.java
index 819db975a747de28c342a263a53b340cf53cf4a9..40f7e5dcab846d7f11084ccecee69ebb96d73375 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/function/FunctionXmlParser.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/function/FunctionXmlParser.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.converter.model.celldesigner.function;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Node;
 
 import lcsb.mapviewer.common.XmlParser;
@@ -11,7 +11,7 @@ import lcsb.mapviewer.common.exception.InvalidXmlSchemaException;
 import lcsb.mapviewer.model.map.kinetics.SbmlFunction;
 
 public class FunctionXmlParser {
-  Logger logger = Logger.getLogger(FunctionXmlParser.class);
+  Logger logger = LogManager.getLogger(FunctionXmlParser.class);
 
   public SbmlFunction parseFunction(Node functionNode) throws InvalidXmlSchemaException {
     String functionId = XmlParser.getNodeAttr("id", functionNode);
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/AbstractCellDesignerAliasConverter.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/AbstractCellDesignerAliasConverter.java
index cbe4ebb4e561e1f008bad91a9b1add546073b75b..3b0eb4869fc61d21dcee0afd0fd9d3ddea4090d5 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/AbstractCellDesignerAliasConverter.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/AbstractCellDesignerAliasConverter.java
@@ -6,7 +6,7 @@ import java.awt.geom.Line2D;
 import java.awt.geom.PathIterator;
 import java.awt.geom.Point2D;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Configuration;
 import lcsb.mapviewer.common.exception.InvalidStateException;
@@ -59,7 +59,7 @@ public abstract class AbstractCellDesignerAliasConverter<T extends Element> impl
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(AbstractCellDesignerAliasConverter.class);
+  private static Logger logger = LogManager.getLogger(AbstractCellDesignerAliasConverter.class);
 
   /**
    * CellDesigner graphical helper with polygon transformation functions.
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/CellDesignerAliasConverter.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/CellDesignerAliasConverter.java
index 22ef7b50bcdb9731b0cf5fea2edd380a259bad39..6fd5c93ca8cf213213ec042a7900b6e6ea9122fb 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/CellDesignerAliasConverter.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/CellDesignerAliasConverter.java
@@ -2,7 +2,7 @@ package lcsb.mapviewer.converter.model.celldesigner.geometry;
 
 import java.awt.geom.Point2D;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.common.exception.NotImplementedException;
@@ -37,7 +37,7 @@ public class CellDesignerAliasConverter implements ICellDesignerAliasConverter<E
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(CellDesignerAliasConverter.class);
+  private static Logger logger = LogManager.getLogger(CellDesignerAliasConverter.class);
 
   /**
    * Class helping with transforming objects into meaningful identifiers.
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/GeneCellDesignerAliasConverter.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/GeneCellDesignerAliasConverter.java
index e7b0bcf8768e39773a413f3e1c7ce69e68375640..6a42ab80291f0a7c2c98b2bfd1cc659fe4a48072 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/GeneCellDesignerAliasConverter.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/GeneCellDesignerAliasConverter.java
@@ -7,7 +7,7 @@ import java.awt.geom.PathIterator;
 import java.awt.geom.Point2D;
 import java.awt.geom.Rectangle2D;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
 import lcsb.mapviewer.converter.model.celldesigner.geometry.helper.CellDesignerAnchor;
@@ -25,7 +25,7 @@ import lcsb.mapviewer.model.map.species.field.ModificationResidue;
  */
 public class GeneCellDesignerAliasConverter extends AbstractCellDesignerAliasConverter<Gene> {
 
-  Logger logger = Logger.getLogger(GeneCellDesignerAliasConverter.class);
+  Logger logger = LogManager.getLogger(GeneCellDesignerAliasConverter.class);
 
   /**
    * Default constructor.
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/IonCellDesignerAliasConverter.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/IonCellDesignerAliasConverter.java
index ceb8b281df888c56796ce7b05c5a6e589ea25f5c..50d1975f814cc813e4525d81915e0037e822e12b 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/IonCellDesignerAliasConverter.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/IonCellDesignerAliasConverter.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.converter.model.celldesigner.geometry;
 import java.awt.geom.PathIterator;
 import java.awt.geom.Point2D;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
 import lcsb.mapviewer.converter.model.celldesigner.geometry.helper.CellDesignerAnchor;
@@ -19,7 +19,7 @@ import lcsb.mapviewer.model.map.species.Ion;
  */
 public class IonCellDesignerAliasConverter extends AbstractCellDesignerAliasConverter<Ion> {
 
-  Logger logger = Logger.getLogger(IonCellDesignerAliasConverter.class);
+  Logger logger = LogManager.getLogger(IonCellDesignerAliasConverter.class);
 
   /**
    * Default constructor.
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/ProteinCellDesignerAliasConverter.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/ProteinCellDesignerAliasConverter.java
index fe5d4724dd8a6467aa71a051e4350d57902b4df1..858ca696891c6be9692adb0a577a64f79d53f85e 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/ProteinCellDesignerAliasConverter.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/ProteinCellDesignerAliasConverter.java
@@ -8,7 +8,7 @@ import java.awt.geom.Point2D;
 import java.awt.geom.RoundRectangle2D;
 import java.util.ArrayList;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
 import lcsb.mapviewer.converter.model.celldesigner.geometry.helper.CellDesignerAnchor;
@@ -43,7 +43,7 @@ public class ProteinCellDesignerAliasConverter extends AbstractCellDesignerAlias
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger		 logger																		 = Logger.getLogger(ProteinCellDesignerAliasConverter.class);
+	private static Logger		 logger																		 = LogManager.getLogger(ProteinCellDesignerAliasConverter.class);
 
 	/**
 	 * How big should be the arc in rectangle for generic protein representation.
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/RnaCellDesignerAliasConverter.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/RnaCellDesignerAliasConverter.java
index e48e6caea925d4f626e17389745624220d7250bf..8cc3a919cd5bf7edbd7f543d2b759079c3314e1c 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/RnaCellDesignerAliasConverter.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/RnaCellDesignerAliasConverter.java
@@ -6,7 +6,7 @@ import java.awt.geom.PathIterator;
 import java.awt.geom.Point2D;
 import java.util.ArrayList;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
 import lcsb.mapviewer.converter.model.celldesigner.geometry.helper.CellDesignerAnchor;
@@ -23,7 +23,7 @@ import lcsb.mapviewer.model.map.species.field.ModificationResidue;
  * 
  */
 public class RnaCellDesignerAliasConverter extends AbstractCellDesignerAliasConverter<Species> {
-  Logger logger = Logger.getLogger(RnaCellDesignerAliasConverter.class);
+  Logger logger = LogManager.getLogger(RnaCellDesignerAliasConverter.class);
 
   /**
    * Default constructor.
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/SimpleMoleculeCellDesignerAliasConverter.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/SimpleMoleculeCellDesignerAliasConverter.java
index 4f5e3a7bb37fe2575813a1f408b93d10ceabec95..979e7516cae9dbc13e5a62b140476f5c3264eb68 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/SimpleMoleculeCellDesignerAliasConverter.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/SimpleMoleculeCellDesignerAliasConverter.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.converter.model.celldesigner.geometry;
 import java.awt.geom.PathIterator;
 import java.awt.geom.Point2D;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
 import lcsb.mapviewer.converter.model.celldesigner.geometry.helper.CellDesignerAnchor;
@@ -18,7 +18,7 @@ import lcsb.mapviewer.model.map.species.SimpleMolecule;
  */
 public class SimpleMoleculeCellDesignerAliasConverter extends AbstractCellDesignerAliasConverter<SimpleMolecule> {
 
-  Logger logger = Logger.getLogger(SimpleMoleculeCellDesignerAliasConverter.class);
+  Logger logger = LogManager.getLogger(SimpleMoleculeCellDesignerAliasConverter.class);
 
   /**
    * Default constructor.
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/UnknownCellDesignerAliasConverter.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/UnknownCellDesignerAliasConverter.java
index 350f6f4f0a392a72a7859145f1d9d49168d8de3f..8dd5e721e7a903f3cca6960c756c210b1742193a 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/UnknownCellDesignerAliasConverter.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/UnknownCellDesignerAliasConverter.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.converter.model.celldesigner.geometry;
 import java.awt.geom.PathIterator;
 import java.awt.geom.Point2D;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
 import lcsb.mapviewer.converter.model.celldesigner.geometry.helper.CellDesignerAnchor;
@@ -19,7 +19,7 @@ import lcsb.mapviewer.model.map.species.Unknown;
  */
 public class UnknownCellDesignerAliasConverter extends AbstractCellDesignerAliasConverter<Unknown> {
 
-  Logger logger = Logger.getLogger(UnknownCellDesignerAliasConverter.class);
+  Logger logger = LogManager.getLogger(UnknownCellDesignerAliasConverter.class);
 
   /**
    * Default constructor.
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/helper/CellDesignerEllipseTransformation.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/helper/CellDesignerEllipseTransformation.java
index 13b748f5c3ed4295ce6761b77a936c54bc89e2d9..374f3c09f84998fec78cf3d60345e0986e5208b6 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/helper/CellDesignerEllipseTransformation.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/helper/CellDesignerEllipseTransformation.java
@@ -4,7 +4,7 @@ import java.awt.geom.Point2D;
 
 import lcsb.mapviewer.common.geometry.EllipseTransformation;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * This class contains basic operators on ellipse used by CellDesigner
@@ -18,7 +18,7 @@ public class CellDesignerEllipseTransformation extends EllipseTransformation {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger	logger	= Logger.getLogger(CellDesignerEllipseTransformation.class.getName());
+	private static Logger	logger	= LogManager.getLogger(CellDesignerEllipseTransformation.class.getName());
 
 	/**
 	 * Method returns a cross point between ellipse and a line (from center point
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/helper/CellDesignerLineTransformation.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/helper/CellDesignerLineTransformation.java
index 0e7e2c69c4ef6008dccd5428b360300b7231d4d8..ac8d51af11451506e56ee91c7bf44ef1219f6ec2 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/helper/CellDesignerLineTransformation.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/helper/CellDesignerLineTransformation.java
@@ -9,7 +9,7 @@ import lcsb.mapviewer.common.geometry.LineTransformation;
 import lcsb.mapviewer.common.geometry.PointTransformation;
 import lcsb.mapviewer.model.graphics.PolylineData;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * Class with basic operations on lines with special functions for CellDesigner
@@ -24,7 +24,7 @@ public class CellDesignerLineTransformation extends LineTransformation {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger								logger	= Logger.getLogger(CellDesignerLineTransformation.class.getName());
+	private static Logger								logger	= LogManager.getLogger(CellDesignerLineTransformation.class.getName());
 
 	/**
 	 * Class used for transformations on {@link Point2D} class.
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/helper/CellDesignerPointTransformation.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/helper/CellDesignerPointTransformation.java
index 4fb062a8dcd9335d5fd09cd6b37a3ce24ae58470..89b2ef4727baa27bc7404b9e323f1ddf8d69d988 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/helper/CellDesignerPointTransformation.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/helper/CellDesignerPointTransformation.java
@@ -4,7 +4,7 @@ import java.awt.geom.Point2D;
 
 import lcsb.mapviewer.common.geometry.PointTransformation;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * Class for basic point transformations.
@@ -17,7 +17,7 @@ public class CellDesignerPointTransformation extends PointTransformation {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger	logger	= Logger.getLogger(CellDesignerPointTransformation.class.getName());
+	private static Logger	logger	= LogManager.getLogger(CellDesignerPointTransformation.class.getName());
 
 	/**
 	 * This method transform coordinates of pointP in celldesginer format (base:
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/helper/CellDesignerPolygonTransformation.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/helper/CellDesignerPolygonTransformation.java
index 7236486ea5d4dca90242e55a646bb196d19eb928..8bee6c829dbb66231d9567d6cc665f60e9a76029 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/helper/CellDesignerPolygonTransformation.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/helper/CellDesignerPolygonTransformation.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.converter.model.celldesigner.geometry.helper;
 import java.awt.geom.Point2D;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 
@@ -19,7 +19,7 @@ public class CellDesignerPolygonTransformation {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger logger = Logger.getLogger(CellDesignerPolygonTransformation.class.getName());
+	private static Logger logger = LogManager.getLogger(CellDesignerPolygonTransformation.class.getName());
 
 	/**
 	 * Returns a middle point between two points (using Euclidean distance).
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/helper/CellDesignerRectangleTransformation.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/helper/CellDesignerRectangleTransformation.java
index e19456989bc8685981cf5b6b4898275d35d03d23..bd8b5a3b48bbfca234fe48309793b4151f44fc6e 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/helper/CellDesignerRectangleTransformation.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/geometry/helper/CellDesignerRectangleTransformation.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.converter.model.celldesigner.geometry.helper;
 import java.awt.geom.Point2D;
 import java.util.ArrayList;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * Class with basic operations on rectangles.
@@ -22,7 +22,7 @@ public class CellDesignerRectangleTransformation {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger											logger								= Logger.getLogger(CellDesignerRectangleTransformation.class.getName());
+	private static Logger											logger								= LogManager.getLogger(CellDesignerRectangleTransformation.class.getName());
 
 	/**
 	 * Returns a point on a rectangle for anchor.
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/parameter/ParameterCollectionXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/parameter/ParameterCollectionXmlParser.java
index 70dbcad476636a115440624da5c35d2f70b23889..84b3aa6e5350d6bb6fdda1cc9b09abf393ee2b45 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/parameter/ParameterCollectionXmlParser.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/parameter/ParameterCollectionXmlParser.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.converter.model.celldesigner.parameter;
 import java.util.HashSet;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Node;
 
 import lcsb.mapviewer.common.XmlParser;
@@ -12,7 +12,7 @@ import lcsb.mapviewer.model.map.kinetics.SbmlParameter;
 import lcsb.mapviewer.model.map.model.Model;
 
 public class ParameterCollectionXmlParser {
-  Logger logger = Logger.getLogger(ParameterCollectionXmlParser.class);
+  Logger logger = LogManager.getLogger(ParameterCollectionXmlParser.class);
 
   private ParameterXmlParser parameterParser;
 
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/parameter/ParameterXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/parameter/ParameterXmlParser.java
index af8f4fcb2682e388b14d8b655a34d1a25ef04384..e813538f34107828ba3e4a79e52e5ff7ea97dc74 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/parameter/ParameterXmlParser.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/parameter/ParameterXmlParser.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.converter.model.celldesigner.parameter;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Node;
 
 import lcsb.mapviewer.common.XmlParser;
@@ -9,7 +9,7 @@ import lcsb.mapviewer.model.map.kinetics.SbmlParameter;
 import lcsb.mapviewer.model.map.model.Model;
 
 public class ParameterXmlParser {
-  Logger logger = Logger.getLogger(ParameterXmlParser.class);
+  Logger logger = LogManager.getLogger(ParameterXmlParser.class);
 
   private Model model;
 
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/reaction/KineticsXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/reaction/KineticsXmlParser.java
index cb11eb1014eb2122826c4811048b2d1549ca82d4..900beeb2c650b23616c798cf63044537ba461076 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/reaction/KineticsXmlParser.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/reaction/KineticsXmlParser.java
@@ -4,7 +4,7 @@ import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Node;
 
 import lcsb.mapviewer.common.XmlParser;
@@ -19,7 +19,7 @@ import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.species.Element;
 
 public class KineticsXmlParser {
-  Logger logger = Logger.getLogger(KineticsXmlParser.class);
+  Logger logger = LogManager.getLogger(KineticsXmlParser.class);
 
   ParameterCollectionXmlParser parameterParser;
 
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionCollectionXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionCollectionXmlParser.java
index f6f3425f66ceef593ff483fcee59d59a015b7176..fedc05898a81e7a4f34a6442847d3c0a40c4a395 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionCollectionXmlParser.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionCollectionXmlParser.java
@@ -4,7 +4,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
@@ -31,7 +31,7 @@ public class ReactionCollectionXmlParser {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(ReactionCollectionXmlParser.class.getName());
+  private Logger logger = LogManager.getLogger(ReactionCollectionXmlParser.class.getName());
 
   /**
    * Model for which parsing (or transformation to xml) is being done.
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionFromXml.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionFromXml.java
index 6fcda6a46edc8a2ce9daecdfd5abbc42c15d8e98..3039694ed84e27d65095819c8d964adee010880a 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionFromXml.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionFromXml.java
@@ -11,7 +11,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
@@ -127,7 +127,7 @@ public class ReactionFromXml {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(ReactionXmlParser.class.getName());
+  private Logger logger = LogManager.getLogger(ReactionXmlParser.class.getName());
 
   /**
    * Xml parser used for processing notes into structured data.
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionToXml.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionToXml.java
index 64fac5e34b44d82bd1dd752883f8c54b3b911011..9e4534e75cb9eb53810e44f7c792e37f2c5ff837 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionToXml.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionToXml.java
@@ -10,7 +10,7 @@ import java.util.Set;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Configuration;
 import lcsb.mapviewer.common.XmlParser;
@@ -55,7 +55,7 @@ public class ReactionToXml {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(ReactionToXml.class);
+  private static Logger logger = LogManager.getLogger(ReactionToXml.class);
 
   /**
    * Helper object used for manipulation on the point coorinates in CellDesigner
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/AbstractElementXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/AbstractElementXmlParser.java
index fb62ed9994a68a4afbcc4068160a7509949d8e4e..4b4c18b2ff0fdf3cf40bf71254b9b72ec7e9cdf8 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/AbstractElementXmlParser.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/AbstractElementXmlParser.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.converter.model.celldesigner.species;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
@@ -34,7 +34,7 @@ public abstract class AbstractElementXmlParser<T extends CellDesignerElement<?>,
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(AbstractElementXmlParser.class.getName());
+  private Logger logger = LogManager.getLogger(AbstractElementXmlParser.class.getName());
 
   /**
    * List of special strings in CellDesigner that should be translated into some
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/AntisenseRnaXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/AntisenseRnaXmlParser.java
index 1534a6873befd87ffce7b49cecca06fd82a411a4..45005aeaed06c7b4688d33e758253ac9295c6390 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/AntisenseRnaXmlParser.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/AntisenseRnaXmlParser.java
@@ -1,7 +1,7 @@
 package lcsb.mapviewer.converter.model.celldesigner.species;
 
 import lcsb.mapviewer.common.XmlParser;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
@@ -29,7 +29,7 @@ public class AntisenseRnaXmlParser extends AbstractElementXmlParser<CellDesigner
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(AntisenseRnaXmlParser.class.getName());
+  private Logger logger = LogManager.getLogger(AntisenseRnaXmlParser.class.getName());
 
   /**
    * List of {@link CellDesignerElement celldesigner elements} obtained during
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/GeneXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/GeneXmlParser.java
index 4ebbcd66a680bbf1bd06da435ffd6bf63d5f581a..1a3fbbfc963feb7f7817648edb07a5e66eead740 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/GeneXmlParser.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/GeneXmlParser.java
@@ -1,7 +1,7 @@
 package lcsb.mapviewer.converter.model.celldesigner.species;
 
 import lcsb.mapviewer.common.XmlParser;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
@@ -30,7 +30,7 @@ public class GeneXmlParser extends AbstractElementXmlParser<CellDesignerGene, Ge
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(GeneXmlParser.class.getName());
+  private Logger logger = LogManager.getLogger(GeneXmlParser.class.getName());
 
   /**
    * Collection of {@link CellDesignerElement cell designer elements} parsed from
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/InternalModelSpeciesData.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/InternalModelSpeciesData.java
index 74548a88b615d74f4eafdde2c44c8e5ac2b44d9f..26770e3b4af306d7e5f4a7ce0f1e8b1dba9c974e 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/InternalModelSpeciesData.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/InternalModelSpeciesData.java
@@ -4,7 +4,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Pair;
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
@@ -34,7 +34,7 @@ public class InternalModelSpeciesData {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private final Logger											logger		= Logger.getLogger(InternalModelSpeciesData.class);
+	private final Logger											logger		= LogManager.getLogger(InternalModelSpeciesData.class);
 
 	/**
 	 * Collection of proteins. Used only by the CellDesigner parser.
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/ProteinMapping.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/ProteinMapping.java
index 49de3bfaf8b7aaaae14c4fc6cc95065254f87202..67dc601b640c042350f2e4eab7e826b161c797f9 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/ProteinMapping.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/ProteinMapping.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.converter.model.celldesigner.species;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.InvalidStateException;
 import lcsb.mapviewer.converter.model.celldesigner.structure.CellDesignerGenericProtein;
@@ -57,7 +57,7 @@ public enum ProteinMapping {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger														logger = Logger.getLogger(ProteinMapping.class);
+	private static Logger														logger = LogManager.getLogger(ProteinMapping.class);
 
 	/**
 	 * {@link CellDesignerProtein Celldesigner structure} used to represent the
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/ProteinXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/ProteinXmlParser.java
index 5989a7b5f46d512ab5604914d0780e4d0f015493..4066b611b610796acfd00cd0fad9f201adab70c3 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/ProteinXmlParser.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/ProteinXmlParser.java
@@ -4,7 +4,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 import lcsb.mapviewer.common.XmlParser;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
@@ -35,7 +35,7 @@ public class ProteinXmlParser extends AbstractElementXmlParser<CellDesignerProte
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(ProteinXmlParser.class.getName());
+  private Logger logger = LogManager.getLogger(ProteinXmlParser.class.getName());
 
   /**
    * Collection of {@link CellDesignerElement cell designer elements} parsed from
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/RnaXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/RnaXmlParser.java
index 10631b4d6dc4dfe5234b82fb59751bec212ab832..3520d7bae2b8908830bf8509a958628f4921de46 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/RnaXmlParser.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/RnaXmlParser.java
@@ -1,7 +1,7 @@
 package lcsb.mapviewer.converter.model.celldesigner.species;
 
 import lcsb.mapviewer.common.XmlParser;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
@@ -30,7 +30,7 @@ public class RnaXmlParser extends AbstractElementXmlParser<CellDesignerRna, Rna>
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(RnaXmlParser.class.getName());
+  private Logger logger = LogManager.getLogger(RnaXmlParser.class.getName());
 
   /**
    * Collection of {@link CellDesignerElement cell designer elements} parsed from
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesCollection.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesCollection.java
index 83ff2439c78f96d5f367aabff44ee7865e039867..731647113ed84675f1d1aa052e8a43b0c3c12c5e 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesCollection.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesCollection.java
@@ -5,7 +5,7 @@ import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.InvalidStateException;
 import lcsb.mapviewer.converter.model.celldesigner.structure.CellDesignerSpecies;
@@ -29,7 +29,7 @@ public class SpeciesCollection<C extends CellDesignerSpecies<?>> {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private Logger										logger = Logger.getLogger(SpeciesCollection.class.getName());
+	private Logger										logger = LogManager.getLogger(SpeciesCollection.class.getName());
 
 	/**
 	 * List of all elements added to this collection.
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesCollectionXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesCollectionXmlParser.java
index 3f333303878aa4b81b97c04ef49ede697d74f8ca..60df8f48b864a95e03532533e565d7ed9375b995 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesCollectionXmlParser.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesCollectionXmlParser.java
@@ -7,7 +7,7 @@ import java.util.List;
 import java.util.Set;
 
 import org.apache.commons.lang3.StringEscapeUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
@@ -46,7 +46,7 @@ public class SpeciesCollectionXmlParser {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private Logger																										logger		 = Logger.getLogger(SpeciesCollectionXmlParser.class.getName());
+	private Logger																										logger		 = LogManager.getLogger(SpeciesCollectionXmlParser.class.getName());
 
 	/**
 	 * Parser used for {@link CellDesignerRna} objects.
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesSbmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesSbmlParser.java
index a9b68f8d3707e34a7fe5014b8730a9c507b082ac..b5a6deabd421ce820581750394a8092bb20affaf 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesSbmlParser.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesSbmlParser.java
@@ -1,7 +1,7 @@
 package lcsb.mapviewer.converter.model.celldesigner.species;
 
 import lcsb.mapviewer.common.XmlParser;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
@@ -48,7 +48,7 @@ public class SpeciesSbmlParser extends AbstractElementXmlParser<CellDesignerSpec
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(SpeciesSbmlParser.class.getName());
+  private Logger logger = LogManager.getLogger(SpeciesSbmlParser.class.getName());
 
   /**
    * Collection of {@link CellDesignerElement cell designer elements} parsed from
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerAntisenseRna.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerAntisenseRna.java
index 119d61fbdac2544fc916434790b5970b8926e227..942d2f895be969c398ac1810cc5c83579f82ec62 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerAntisenseRna.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerAntisenseRna.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.converter.model.celldesigner.structure;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.common.exception.NotImplementedException;
@@ -32,7 +32,7 @@ public class CellDesignerAntisenseRna extends CellDesignerSpecies<AntisenseRna>
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(CellDesignerAntisenseRna.class);
+  private static Logger logger = LogManager.getLogger(CellDesignerAntisenseRna.class);
 
   /**
    * List of antisense rna regions (some rna sequences) in this object.
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerCompartment.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerCompartment.java
index 77f8d8a7a4a9bf0e5efe35b8699c9b78d26c1848..e33cb055d944a60c94850bd5f55a5577edc8e737 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerCompartment.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerCompartment.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.converter.model.celldesigner.structure;
 import java.util.HashSet;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
 import lcsb.mapviewer.model.map.compartment.Compartment;
@@ -26,7 +26,7 @@ public class CellDesignerCompartment extends CellDesignerElement<Compartment>
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(CellDesignerCompartment.class);
+  private static Logger logger = LogManager.getLogger(CellDesignerCompartment.class);
 
   /**
    * Identifier of the compartment. Unique in the model
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerComplexSpecies.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerComplexSpecies.java
index a5ce21f7a13fb14c32bc44b0f15d710ea2b77ead..0de3bc46d8b641a2bdda056e8ec167f3db6fe030 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerComplexSpecies.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerComplexSpecies.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.converter.model.celldesigner.structure;
 import java.util.HashSet;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.common.exception.NotImplementedException;
@@ -25,7 +25,7 @@ public class CellDesignerComplexSpecies extends CellDesignerSpecies<Complex> {
 	/**
 	 * Default class logger.
 	 */
-	private static Logger								logger					 = Logger.getLogger(CellDesignerComplexSpecies.class.getName());
+	private static Logger								logger					 = LogManager.getLogger(CellDesignerComplexSpecies.class.getName());
 
 	/**
 	 * Elements that exists in this complex.
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerElement.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerElement.java
index 55548200389d25432925ef386d9284d9fbbe5144..2174a5c872abf6fd46e31abe1b9dd7f1d4ade58f 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerElement.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerElement.java
@@ -7,7 +7,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.model.map.MiriamData;
@@ -39,7 +39,7 @@ public abstract class CellDesignerElement<T extends Element> implements Serializ
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(CellDesignerElement.class);
+  private static Logger logger = LogManager.getLogger(CellDesignerElement.class);
 
   /**
    * Notes describing this element.
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerGene.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerGene.java
index 5d83e67eab62a02f5fd58fe6c0d7e6b00e30fa80..8981dc84888ceefa119a86626dcdfbb409b2aecf 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerGene.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerGene.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.converter.model.celldesigner.structure;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.common.exception.NotImplementedException;
@@ -27,7 +27,7 @@ public class CellDesignerGene extends CellDesignerSpecies<Gene> {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(CellDesignerGene.class);
+  private static Logger logger = LogManager.getLogger(CellDesignerGene.class);
 
   /**
    * 
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerGenericProtein.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerGenericProtein.java
index 28dec49afe1cf2394b0a6b2c1f382904ee282b2f..52b1d1c780633301ab7f0da438794ae03c09dc51 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerGenericProtein.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerGenericProtein.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.converter.model.celldesigner.structure;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
 import lcsb.mapviewer.model.map.species.GenericProtein;
@@ -17,7 +17,7 @@ public class CellDesignerGenericProtein extends CellDesignerProtein<GenericProte
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private transient Logger logger = Logger.getLogger(CellDesignerGenericProtein.class);
+  private transient Logger logger = LogManager.getLogger(CellDesignerGenericProtein.class);
 
   /**
    * 
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerProtein.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerProtein.java
index 08420d031d2699700bde7ab379d102cc30fda3a0..70ca0ed345a660322585eef00acde132b1676e96 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerProtein.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerProtein.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.converter.model.celldesigner.structure;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.common.exception.NotImplementedException;
@@ -31,7 +31,7 @@ public class CellDesignerProtein<T extends Protein> extends CellDesignerSpecies<
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(CellDesignerProtein.class.getName());
+  private static Logger logger = LogManager.getLogger(CellDesignerProtein.class.getName());
 
   /**
    * State of the protein.
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerRna.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerRna.java
index 10392b74ac7b448feb1553231fa050c3a005abad..42ae597ea7166421897bd1d13e678156433974d7 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerRna.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerRna.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.converter.model.celldesigner.structure;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.common.exception.NotImplementedException;
@@ -32,7 +32,7 @@ public class CellDesignerRna extends CellDesignerSpecies<Rna> {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(CellDesignerRna.class.getName());
+  private static Logger logger = LogManager.getLogger(CellDesignerRna.class.getName());
 
   /**
    * List of rna regions (some rna sequences) in this object.
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerSimpleMolecule.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerSimpleMolecule.java
index 40b0f240c5d5791c71f116a50d4422ee12cde275..04e722dfe6dc7472e4b3cc39cd6f86a7516593d3 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerSimpleMolecule.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerSimpleMolecule.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.converter.model.celldesigner.structure;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
 import lcsb.mapviewer.model.map.species.SimpleMolecule;
@@ -22,7 +22,7 @@ public class CellDesignerSimpleMolecule extends CellDesignerChemical<SimpleMolec
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger			logger					 = Logger.getLogger(CellDesignerSimpleMolecule.class.getName());
+	private static Logger			logger					 = LogManager.getLogger(CellDesignerSimpleMolecule.class.getName());
 
 	/**
 	 * Constructor that initializes molecule with the data passed in the argument.
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerSpecies.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerSpecies.java
index 402e947f42c70c48b0ea07cb8db0773afe7c2407..4835b7a64fa03549cb2f8a9573e9e1f3e58f77a3 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerSpecies.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/CellDesignerSpecies.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.converter.model.celldesigner.structure;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.common.exception.NotImplementedException;
@@ -27,7 +27,7 @@ public class CellDesignerSpecies<T extends Species> extends CellDesignerElement<
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(CellDesignerSpecies.class.getName());
+  private static Logger logger = LogManager.getLogger(CellDesignerSpecies.class.getName());
 
   /**
    * Identifier of the species. It must be unique within the model.
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/fields/CellDesignerModificationResidue.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/fields/CellDesignerModificationResidue.java
index 10789b0b509f5559600096ece698857338bec02f..b131818c5f8526f85de0bd3750e13035de036f83 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/fields/CellDesignerModificationResidue.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/fields/CellDesignerModificationResidue.java
@@ -2,7 +2,7 @@ package lcsb.mapviewer.converter.model.celldesigner.structure.fields;
 
 import java.io.Serializable;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Configuration;
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
@@ -36,7 +36,7 @@ public class CellDesignerModificationResidue implements Serializable {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(CellDesignerModificationResidue.class.getName());
+  private static Logger logger = LogManager.getLogger(CellDesignerModificationResidue.class.getName());
 
   /**
    * Identifier of the modification. Must be unique in single map model.
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/fields/ConnectScheme.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/fields/ConnectScheme.java
index 0f1596600e8d7116e9e55b1186394373eabbc238..dcdab0a36fc2fa6794b9bb937038b3fac32b7a26 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/fields/ConnectScheme.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/fields/ConnectScheme.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.converter.model.celldesigner.structure.fields;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * CellDEsigner structure used for storing some line information.
@@ -17,7 +17,7 @@ public class ConnectScheme {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger				logger = Logger.getLogger(ConnectScheme.class.getName());
+	private static Logger				logger = LogManager.getLogger(ConnectScheme.class.getName());
 
 	/**
 	 * Not used in our model... No ide what it means.
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/fields/SpeciesState.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/fields/SpeciesState.java
index 2e9562224a93b787b2e21c676b552c2e88503108..1c20b73fadc7ccb925a4f0de4c7c0ba5e69217c6 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/fields/SpeciesState.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/structure/fields/SpeciesState.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.converter.model.celldesigner.structure.fields;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.model.map.species.AntisenseRna;
@@ -26,7 +26,7 @@ public class SpeciesState {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(SpeciesState.class.getName());
+  private Logger logger = LogManager.getLogger(SpeciesState.class.getName());
 
   /**
    * How many dimers are in the species.
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/types/ModifierTypeUtils.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/types/ModifierTypeUtils.java
index 99d3aa1eb1887d9f6cd71be096f0576052427909..d70c71fe6c3b92b21f4bf2b68a74a45c8ca28e54 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/types/ModifierTypeUtils.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/types/ModifierTypeUtils.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.converter.model.celldesigner.types;
 import java.awt.geom.Line2D;
 import java.awt.geom.Point2D;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.common.exception.InvalidStateException;
@@ -30,7 +30,7 @@ public class ModifierTypeUtils {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger logger = Logger.getLogger(ModifierTypeUtils.class);
+	private static Logger logger = LogManager.getLogger(ModifierTypeUtils.class);
 
 	/**
 	 * Returns {@link ModifierType} that reference to the clazz.
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/types/OperatorTypeUtils.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/types/OperatorTypeUtils.java
index ccadf86fcceee6ad0fec18df76f2faf7b9e4a6f3..64198f2339620c1c0a7e6b079617899bdd071123 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/types/OperatorTypeUtils.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/types/OperatorTypeUtils.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.converter.model.celldesigner.types;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.common.exception.InvalidStateException;
@@ -19,7 +19,7 @@ public class OperatorTypeUtils {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger logger = Logger.getLogger(OperatorTypeUtils.class);
+	private static Logger logger = LogManager.getLogger(OperatorTypeUtils.class);
 
 	/**
 	 * Return {@link OperatorType} for the operator class.
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/unit/UnitXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/unit/UnitXmlParser.java
index 8ea0c1e6749101f274b4a1ff2b5ac2c1a23a466c..bcefcf7f44c33ebe0000eedbb251b15eeb3413e1 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/unit/UnitXmlParser.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/unit/UnitXmlParser.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.converter.model.celldesigner.unit;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Node;
 
 import lcsb.mapviewer.common.XmlParser;
@@ -13,7 +13,7 @@ import lcsb.mapviewer.model.map.kinetics.SbmlUnitType;
 import lcsb.mapviewer.model.map.kinetics.SbmlUnitTypeFactor;
 
 public class UnitXmlParser {
-  Logger logger = Logger.getLogger(UnitXmlParser.class);
+  Logger logger = LogManager.getLogger(UnitXmlParser.class);
 
   public SbmlUnit parseFunction(Node unitNode) throws InvalidXmlSchemaException {
     String unitId = XmlParser.getNodeAttr("id", unitNode);
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerTestFunctions.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerTestFunctions.java
index fa6ea6d6b3369d711253f546e30c60609c4ee9be..90af2cd71c769d1ef162225c6f14e6b92c16a576 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerTestFunctions.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerTestFunctions.java
@@ -29,8 +29,9 @@ import javax.xml.transform.TransformerFactory;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
 
-import org.apache.log4j.Logger;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.*;
+import org.apache.logging.log4j.core.LogEvent;
+
 import org.junit.After;
 import org.junit.Before;
 import org.w3c.dom.Document;
@@ -40,7 +41,8 @@ import org.xml.sax.InputSource;
 import org.xml.sax.SAXException;
 
 import lcsb.mapviewer.common.Configuration;
-import lcsb.mapviewer.common.EventStorageLoggerAppender;
+
+import lcsb.mapviewer.common.MinervaLoggerAppender;
 import lcsb.mapviewer.common.exception.InvalidXmlSchemaException;
 import lcsb.mapviewer.converter.ConverterParams;
 import lcsb.mapviewer.converter.InvalidInputDataExecption;
@@ -50,25 +52,24 @@ import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.model.ModelComparator;
 
 public abstract class CellDesignerTestFunctions {
-  private Logger logger = Logger.getLogger(CellDesignerTestFunctions.class);
+  private Logger logger = LogManager.getLogger(CellDesignerTestFunctions.class);
 
   protected static double EPSILON = Configuration.EPSILON;
 
-  private EventStorageLoggerAppender appender;
+  private MinervaLoggerAppender appender;
 
   @Before
   public final void _setUp() throws Exception {
-    Logger.getRootLogger().removeAppender(appender);
-    appender = new EventStorageLoggerAppender();
-    Logger.getRootLogger().addAppender(appender);
+    MinervaLoggerAppender.unregisterLogEventStorage(appender);
+    appender = MinervaLoggerAppender.createAppender();
   }
 
   @After
   public final void _tearDown() throws Exception {
-    Logger.getRootLogger().removeAppender(appender);
+    MinervaLoggerAppender.unregisterLogEventStorage(appender);
   }
 
-  protected List<LoggingEvent> getWarnings() {
+  protected List<LogEvent> getWarnings() {
     return appender.getWarnings();
   }
 
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParserTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParserTest.java
index 2f0d754c17ec7b29493c480b83631802df4bc992..31079efea29e8084ffecb4b97f9c80d1bcae6cb0 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParserTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParserTest.java
@@ -24,7 +24,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -58,7 +58,7 @@ import lcsb.mapviewer.model.map.species.SimpleMolecule;
 import lcsb.mapviewer.model.map.species.Species;
 
 public class CellDesignerXmlParserTest extends CellDesignerTestFunctions {
-  Logger logger = Logger.getLogger(CellDesignerXmlParserTest.class);
+  Logger logger = LogManager.getLogger(CellDesignerXmlParserTest.class);
 
   ModelComparator modelComparator = new ModelComparator();
 
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/ComplexParserTests.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/ComplexParserTests.java
index 5c62f1ecae86e3790e75e085960862a73704f3f8..b11d90a33c33a210652988c51797de27fcf63654 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/ComplexParserTests.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/ComplexParserTests.java
@@ -12,7 +12,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -39,7 +39,7 @@ import lcsb.mapviewer.model.map.species.field.Residue;
 import lcsb.mapviewer.modelutils.map.ElementUtils;
 
 public class ComplexParserTests extends CellDesignerTestFunctions {
-  Logger logger = Logger.getLogger(ComplexParserTests.class);
+  Logger logger = LogManager.getLogger(ComplexParserTests.class);
 
   ElementUtils eu = new ElementUtils();
 
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/LayerXmlParserTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/LayerXmlParserTest.java
index cd86511d35604f35e9102a1b91c751b71ecd7f7c..6c40043d8a5260b75ccebc2fe670260de792c720 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/LayerXmlParserTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/LayerXmlParserTest.java
@@ -11,7 +11,7 @@ import java.awt.Color;
 import java.awt.geom.Rectangle2D;
 import java.util.Collection;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -35,7 +35,7 @@ import lcsb.mapviewer.model.map.species.GenericProtein;
 import lcsb.mapviewer.model.map.species.Species;
 
 public class LayerXmlParserTest extends CellDesignerTestFunctions {
-  Logger logger = Logger.getLogger(LayerXmlParserTest.class);
+  Logger logger = LogManager.getLogger(LayerXmlParserTest.class);
 
   LayerXmlParser parser = new LayerXmlParser();
 
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/ModificationTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/ModificationTest.java
index 33809b18ba513a4845abe16ebd9a4fce26f8fbdf..154ccbef7d995ad305b469c3c98f1ac8bac7725c 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/ModificationTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/ModificationTest.java
@@ -4,7 +4,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -26,7 +26,7 @@ import lcsb.mapviewer.model.map.species.field.Residue;
 import lcsb.mapviewer.model.map.species.field.TranscriptionSite;
 
 public class ModificationTest extends CellDesignerTestFunctions {
-  Logger logger = Logger.getLogger(ModificationTest.class);
+  Logger logger = LogManager.getLogger(ModificationTest.class);
 
   @Before
   public void setUp() throws Exception {
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/NestedComplexParsingTests.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/NestedComplexParsingTests.java
index f432dcbdb7e70e8fe8646fd45af78dccf962e715..aeed1f1a96e57eac33af3b0cb00ee890edccebf5 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/NestedComplexParsingTests.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/NestedComplexParsingTests.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.converter.model.celldesigner;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -15,7 +15,7 @@ import lcsb.mapviewer.model.map.species.Species;
 import lcsb.mapviewer.modelutils.map.ElementUtils;
 
 public class NestedComplexParsingTests extends CellDesignerTestFunctions {
-  Logger logger = Logger.getLogger(NestedComplexParsingTests.class);
+  Logger logger = LogManager.getLogger(NestedComplexParsingTests.class);
   ElementUtils eu = new ElementUtils();
 
   @Before
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/ReconDataInCellDesignerXmlParserTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/ReconDataInCellDesignerXmlParserTest.java
index 7a182b3e9f42b2b6126b18f8d554d57b750d231d..dfbe867583ce69eefdbe64333714bf860303ad94 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/ReconDataInCellDesignerXmlParserTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/ReconDataInCellDesignerXmlParserTest.java
@@ -4,7 +4,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -15,7 +15,7 @@ import lcsb.mapviewer.model.map.reaction.Reaction;
 import lcsb.mapviewer.model.map.species.Species;
 
 public class ReconDataInCellDesignerXmlParserTest extends CellDesignerTestFunctions {
-	Logger	logger	= Logger.getLogger(ReconDataInCellDesignerXmlParserTest.class);
+	Logger	logger	= LogManager.getLogger(ReconDataInCellDesignerXmlParserTest.class);
 
 	@Before
 	public void setUp() throws Exception {
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/alias/AliasCollectionXmlParserTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/alias/AliasCollectionXmlParserTest.java
index f5b99e33d9630d9b5b4708ad5ec6d8171a2dea9f..38e4acc9faed93f0b851818587910ed8460dcaa7 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/alias/AliasCollectionXmlParserTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/alias/AliasCollectionXmlParserTest.java
@@ -9,7 +9,7 @@ import java.awt.geom.Point2D;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -34,7 +34,7 @@ public class AliasCollectionXmlParserTest extends CellDesignerTestFunctions {
   AliasCollectionXmlParser parser;
   Model model;
   CellDesignerElementCollection elements;
-  Logger logger = Logger.getLogger(AliasCollectionXmlParserTest.class.getName());
+  Logger logger = LogManager.getLogger(AliasCollectionXmlParserTest.class.getName());
 
   @Before
   public void setUp() throws Exception {
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/alias/CompartmentAliasXmlParserTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/alias/CompartmentAliasXmlParserTest.java
index 766d72f2972054aaf1403e6b39ccbdd034e7efa2..5364039301a8f6d94b201d1d16b4536c04369b22 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/alias/CompartmentAliasXmlParserTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/alias/CompartmentAliasXmlParserTest.java
@@ -8,7 +8,7 @@ import static org.junit.Assert.fail;
 
 import java.awt.geom.Point2D;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -29,7 +29,7 @@ import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.model.ModelFullIndexed;
 
 public class CompartmentAliasXmlParserTest extends CellDesignerTestFunctions {
-  static Logger logger = Logger.getLogger(CompartmentAliasXmlParser.class);
+  static Logger logger = LogManager.getLogger(CompartmentAliasXmlParser.class);
 
   CompartmentAliasXmlParser parser;
   Model model;
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/alias/SpeciesAliasXmlParserTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/alias/SpeciesAliasXmlParserTest.java
index b3832c814b501ed0551fa01473278db1a9de6d3b..dc9211475cbcd050b666b9c883529098c9604a38 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/alias/SpeciesAliasXmlParserTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/alias/SpeciesAliasXmlParserTest.java
@@ -10,7 +10,7 @@ import static org.mockito.Mockito.when;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -30,7 +30,7 @@ import lcsb.mapviewer.model.map.species.GenericProtein;
 import lcsb.mapviewer.model.map.species.Species;
 
 public class SpeciesAliasXmlParserTest extends CellDesignerTestFunctions {
-  static Logger logger = Logger.getLogger(SpeciesAliasXmlParser.class);
+  static Logger logger = LogManager.getLogger(SpeciesAliasXmlParser.class);
 
   Model model;
   private SpeciesAliasXmlParser parser;
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/annotation/RestAnnotationParserTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/annotation/RestAnnotationParserTest.java
index ad764b200dfa7d20cbce00925c55d6953f058469..f894db095527a5f0cad86dbfd635c15733f4d055 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/annotation/RestAnnotationParserTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/annotation/RestAnnotationParserTest.java
@@ -10,7 +10,7 @@ import java.lang.reflect.Field;
 import java.util.List;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.apache.xerces.dom.DocumentImpl;
 import org.junit.After;
 import org.junit.Before;
@@ -34,7 +34,7 @@ import lcsb.mapviewer.model.map.species.GenericProtein;
 import lcsb.mapviewer.model.map.species.Species;
 
 public class RestAnnotationParserTest extends CellDesignerTestFunctions {
-  Logger logger = Logger.getLogger(RestAnnotationParserTest.class);
+  Logger logger = LogManager.getLogger(RestAnnotationParserTest.class);
 
   @Before
   public void setUp() throws Exception {
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/compartment/CompartmentCollectionXmlParserTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/compartment/CompartmentCollectionXmlParserTest.java
index c8964895b9a20d42da40ca768741e7416032964b..9e851e9a7a7ec9b941ec8e99bf05abb815261775 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/compartment/CompartmentCollectionXmlParserTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/compartment/CompartmentCollectionXmlParserTest.java
@@ -8,7 +8,7 @@ import static org.junit.Assert.fail;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -21,7 +21,7 @@ import lcsb.mapviewer.converter.model.celldesigner.structure.CellDesignerCompart
 import lcsb.mapviewer.model.map.compartment.Compartment;
 
 public class CompartmentCollectionXmlParserTest extends CellDesignerTestFunctions {
-	static Logger									 logger					= Logger.getLogger(CompartmentCollectionXmlParserTest.class);
+	static Logger									 logger					= LogManager.getLogger(CompartmentCollectionXmlParserTest.class);
 
 	int														 aliasIdCounter	= 0;
 
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/compartment/CompartmentParserTests.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/compartment/CompartmentParserTests.java
index 8bdf581b7b9c5a335fc9c69117b1ad5304aff666..fa8566b724de60000b67cf287449da2dc5c53756 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/compartment/CompartmentParserTests.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/compartment/CompartmentParserTests.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.converter.model.celldesigner.compartment;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -12,7 +12,7 @@ import lcsb.mapviewer.converter.model.celldesigner.CellDesignerTestFunctions;
 import lcsb.mapviewer.model.map.model.Model;
 
 public class CompartmentParserTests extends CellDesignerTestFunctions {
-	Logger logger = Logger.getLogger(CompartmentParserTests.class);
+	Logger logger = LogManager.getLogger(CompartmentParserTests.class);
 
 	@Before
 	public void setUp() throws Exception {
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/compartment/CompartmentXmlParserTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/compartment/CompartmentXmlParserTest.java
index 674077ea546d3fd9033d55a4cb62bc13a9a001c7..08340b92ebff8bebd1590c667db5eeee74cc0528 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/compartment/CompartmentXmlParserTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/compartment/CompartmentXmlParserTest.java
@@ -10,7 +10,7 @@ import java.io.StringReader;
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -26,7 +26,7 @@ import lcsb.mapviewer.converter.model.celldesigner.structure.CellDesignerCompart
 import lcsb.mapviewer.model.map.compartment.Compartment;
 
 public class CompartmentXmlParserTest extends CellDesignerTestFunctions {
-  protected Logger logger = Logger.getLogger(ProteinXmlParserTest.class.getName());
+  protected Logger logger = LogManager.getLogger(ProteinXmlParserTest.class.getName());
 
   CompartmentXmlParser compartmentParser;
   CellDesignerElementCollection elements;
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/function/FunctionCollectionXmlParserTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/function/FunctionCollectionXmlParserTest.java
index dd5fbd5af76b1de7df929a65d5b7b12522a81265..618f799af2ff15208264d96aa59e9dbcd416b797 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/function/FunctionCollectionXmlParserTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/function/FunctionCollectionXmlParserTest.java
@@ -4,7 +4,7 @@ import static org.junit.Assert.assertEquals;
 
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 
 import lcsb.mapviewer.common.comparator.SetComparator;
@@ -13,7 +13,7 @@ import lcsb.mapviewer.model.map.kinetics.SbmlFunction;
 import lcsb.mapviewer.model.map.kinetics.SbmlFunctionComparator;
 
 public class FunctionCollectionXmlParserTest extends CellDesignerTestFunctions {
-  Logger logger = Logger.getLogger(FunctionCollectionXmlParserTest.class);
+  Logger logger = LogManager.getLogger(FunctionCollectionXmlParserTest.class);
 
   @Test
   public void testToXml() throws Exception {
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/function/FunctionXmlParserTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/function/FunctionXmlParserTest.java
index 35cc01fa9379bb09814aa1b5b53a860291a2f709..a06fcc19c3421a95326435809c5e2b2fb73a6c4d 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/function/FunctionXmlParserTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/function/FunctionXmlParserTest.java
@@ -6,7 +6,7 @@ import static org.junit.Assert.assertTrue;
 
 import java.io.IOException;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 
 import lcsb.mapviewer.common.exception.InvalidXmlSchemaException;
@@ -15,7 +15,7 @@ import lcsb.mapviewer.model.map.kinetics.SbmlFunction;
 import lcsb.mapviewer.model.map.kinetics.SbmlFunctionComparator;
 
 public class FunctionXmlParserTest extends CellDesignerTestFunctions {
-  Logger logger = Logger.getLogger(FunctionXmlParserTest.class);
+  Logger logger = LogManager.getLogger(FunctionXmlParserTest.class);
 
   FunctionXmlParser parser = new FunctionXmlParser();
 
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/geometry/AbstractCellDesignerAliasConverterTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/geometry/AbstractCellDesignerAliasConverterTest.java
index cdd961ee2998232ff69a9abf054a2352641e7401..97e3e031bdd52e0ca074a59cba4206be27b2152f 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/geometry/AbstractCellDesignerAliasConverterTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/geometry/AbstractCellDesignerAliasConverterTest.java
@@ -2,13 +2,14 @@ package lcsb.mapviewer.converter.model.celldesigner.geometry;
 
 import static org.junit.Assert.assertEquals;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Before;
 import org.junit.Test;
 import org.mockito.Mockito;
 
-import lcsb.mapviewer.common.EventStorageLoggerAppender;
+
 import lcsb.mapviewer.common.geometry.LineTransformation;
+import lcsb.mapviewer.converter.model.celldesigner.CellDesignerTestFunctions;
 import lcsb.mapviewer.converter.model.celldesigner.geometry.helper.CellDesignerEllipseTransformation;
 import lcsb.mapviewer.converter.model.celldesigner.geometry.helper.CellDesignerPolygonTransformation;
 import lcsb.mapviewer.converter.model.celldesigner.geometry.helper.CellDesignerRectangleTransformation;
@@ -16,8 +17,8 @@ import lcsb.mapviewer.model.map.species.GenericProtein;
 import lcsb.mapviewer.model.map.species.Protein;
 import lcsb.mapviewer.model.map.species.Species;
 
-public class AbstractCellDesignerAliasConverterTest {
-  Logger logger = Logger.getLogger(AbstractCellDesignerAliasConverterTest.class);
+public class AbstractCellDesignerAliasConverterTest extends CellDesignerTestFunctions {
+  Logger logger = LogManager.getLogger(AbstractCellDesignerAliasConverterTest.class);
 
   AbstractCellDesignerAliasConverter<Species> converter;
 
@@ -29,17 +30,11 @@ public class AbstractCellDesignerAliasConverterTest {
 
   @Test
   public void testGetAnchorPointCoordinatesForInvalidImplementation() {
-    EventStorageLoggerAppender appender = new EventStorageLoggerAppender();
-    Logger.getRootLogger().addAppender(appender);
-    try {
       Protein alias = new GenericProtein("id");
       alias.setWidth(1);
       alias.setHeight(1);
       converter.getAnchorPointCoordinates(alias, 0);
-      assertEquals(1, appender.getWarnings().size());
-    } finally {
-      Logger.getRootLogger().removeAppender(appender);
-    }
+      assertEquals(1, getWarnings().size());
   }
 
   @Test
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/geometry/ComplexConverterTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/geometry/ComplexConverterTest.java
index 7a5ab0420b6546bd18d5cc45c073131f2f7b1eb9..8640d60688e95b43fa731b91a6dd0a5a6a5ef18e 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/geometry/ComplexConverterTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/geometry/ComplexConverterTest.java
@@ -4,7 +4,7 @@ import static org.junit.Assert.assertEquals;
 
 import java.awt.geom.Point2D;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -15,7 +15,7 @@ import lcsb.mapviewer.converter.model.celldesigner.geometry.helper.CellDesignerA
 import lcsb.mapviewer.model.map.species.Complex;
 
 public class ComplexConverterTest extends CellDesignerTestFunctions {
-  static Logger logger = Logger.getLogger(ComplexConverterTest.class);
+  static Logger logger = LogManager.getLogger(ComplexConverterTest.class);
 
   @Before
   public void setUp() throws Exception {
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/geometry/GeneCellDesignerAliasConverterTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/geometry/GeneCellDesignerAliasConverterTest.java
index d6b0d2d19bd43be635f9e44576ef8cbbf28fce47..e4dfc700123480074182d004067613362362655c 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/geometry/GeneCellDesignerAliasConverterTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/geometry/GeneCellDesignerAliasConverterTest.java
@@ -6,7 +6,7 @@ import static org.junit.Assert.assertNotNull;
 import java.awt.geom.PathIterator;
 import java.awt.geom.Point2D;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 
 import lcsb.mapviewer.model.map.model.Model;
@@ -15,7 +15,7 @@ import lcsb.mapviewer.model.map.species.Gene;
 
 public class GeneCellDesignerAliasConverterTest {
 
-  Logger logger = Logger.getLogger(GeneCellDesignerAliasConverterTest.class);
+  Logger logger = LogManager.getLogger(GeneCellDesignerAliasConverterTest.class);
 
   GeneCellDesignerAliasConverter converter = new GeneCellDesignerAliasConverter(false);
 
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/geometry/ProteinCellDesignerAliasConverterTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/geometry/ProteinCellDesignerAliasConverterTest.java
index dd97e7efc725107e0e1b61dad3648fb601eaac9d..372e6f5812018eb347de3d264f3e6e8014b17050 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/geometry/ProteinCellDesignerAliasConverterTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/geometry/ProteinCellDesignerAliasConverterTest.java
@@ -6,7 +6,7 @@ import static org.junit.Assert.fail;
 
 import java.awt.geom.Point2D;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 import org.mockito.Mockito;
 
@@ -17,7 +17,7 @@ import lcsb.mapviewer.model.map.species.GenericProtein;
 import lcsb.mapviewer.model.map.species.Protein;
 
 public class ProteinCellDesignerAliasConverterTest {
-  Logger logger = Logger.getLogger(ProteinCellDesignerAliasConverterTest.class);
+  Logger logger = LogManager.getLogger(ProteinCellDesignerAliasConverterTest.class);
 
   ProteinCellDesignerAliasConverter converter = new ProteinCellDesignerAliasConverter(false);
 
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/geometry/ProteinConverterTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/geometry/ProteinConverterTest.java
index e16751241a1f39ac4481125f94b0308193b257a3..d0b5bd31465e272d9b2c5d0ac6135a4823c22e76 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/geometry/ProteinConverterTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/geometry/ProteinConverterTest.java
@@ -4,7 +4,7 @@ import static org.junit.Assert.assertEquals;
 
 import java.awt.geom.Point2D;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -16,7 +16,7 @@ import lcsb.mapviewer.model.map.species.GenericProtein;
 import lcsb.mapviewer.model.map.species.Protein;
 
 public class ProteinConverterTest extends CellDesignerTestFunctions {
-  static Logger logger = Logger.getLogger(ProteinConverterTest.class);
+  static Logger logger = LogManager.getLogger(ProteinConverterTest.class);
 
   @Before
   public void setUp() throws Exception {
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/geometry/helper/CellDesignerLineTransformationTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/geometry/helper/CellDesignerLineTransformationTest.java
index 94d9a0f2d37d8e250f1610e38f9cb88da81861a6..6e670669e9ed0c3e094f547a76a8144bce29e67c 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/geometry/helper/CellDesignerLineTransformationTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/geometry/helper/CellDesignerLineTransformationTest.java
@@ -9,7 +9,7 @@ import java.awt.geom.Point2D;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -19,7 +19,7 @@ import lcsb.mapviewer.common.geometry.PointTransformation;
 import lcsb.mapviewer.model.graphics.PolylineData;
 
 public class CellDesignerLineTransformationTest {
-	Logger												 logger							 = Logger.getLogger(CellDesignerLineTransformationTest.class);
+	Logger												 logger							 = LogManager.getLogger(CellDesignerLineTransformationTest.class);
 
 	CellDesignerLineTransformation lineTransformation	 = new CellDesignerLineTransformation();
 	PointTransformation						 pointTransformation = new PointTransformation();
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/geometry/helper/CellDesignerPointTransformationTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/geometry/helper/CellDesignerPointTransformationTest.java
index f2d00d9edd5131478d537fe0039fe4ebcc68eff7..c7980de1da623565a8169d4ea6ae83889b0b9374 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/geometry/helper/CellDesignerPointTransformationTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/geometry/helper/CellDesignerPointTransformationTest.java
@@ -5,13 +5,13 @@ import static org.junit.Assert.assertTrue;
 
 import java.awt.geom.Point2D;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 
 public class CellDesignerPointTransformationTest {
-	Logger logger = Logger.getLogger(CellDesignerPointTransformationTest .class);
+	Logger logger = LogManager.getLogger(CellDesignerPointTransformationTest .class);
 
 	CellDesignerPointTransformation	pt	= new CellDesignerPointTransformation();
 
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/reaction/KineticsXmlParserTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/reaction/KineticsXmlParserTest.java
index d0c27562238ea049bc117260a8207e1a91bcaad7..5c98fbdfc84574e21f0be104cadc711a6cc21b35 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/reaction/KineticsXmlParserTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/reaction/KineticsXmlParserTest.java
@@ -9,7 +9,7 @@ import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 import org.w3c.dom.Node;
 
@@ -25,7 +25,7 @@ import lcsb.mapviewer.model.map.species.Element;
 import lcsb.mapviewer.model.map.species.GenericProtein;
 
 public class KineticsXmlParserTest extends CellDesignerTestFunctions {
-  Logger logger = Logger.getLogger(KineticsXmlParserTest.class);
+  Logger logger = LogManager.getLogger(KineticsXmlParserTest.class);
 
   @Test
   public void testParseElements() throws InvalidXmlSchemaException, IOException {
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ModificationReactionTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ModificationReactionTest.java
index 9e7e4627c495e4b991615f7ca25307fd4337be4f..a16a83d1801c622edee8b85d202bd7e09a00b7ad 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ModificationReactionTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ModificationReactionTest.java
@@ -4,7 +4,7 @@ import static org.junit.Assert.assertEquals;
 
 import java.io.FileInputStream;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -22,7 +22,7 @@ import lcsb.mapviewer.model.map.reaction.type.UnknownCatalysisReaction;
 import lcsb.mapviewer.model.map.reaction.type.UnknownInhibitionReaction;
 
 public class ModificationReactionTest extends CellDesignerTestFunctions {
-  Logger logger = Logger.getLogger(ModificationReactionTest.class);
+  Logger logger = LogManager.getLogger(ModificationReactionTest.class);
 
   @Before
   public void setUp() throws Exception {
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionCollectionXmlParserTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionCollectionXmlParserTest.java
index 07bf29dd76f58cfd10009a357d31631b0196694b..95f92dda20213ad0f904451f209678623e217fb8 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionCollectionXmlParserTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionCollectionXmlParserTest.java
@@ -6,7 +6,7 @@ import static org.junit.Assert.assertNotNull;
 import java.awt.geom.Line2D;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -21,7 +21,7 @@ import lcsb.mapviewer.model.map.species.GenericProtein;
 import lcsb.mapviewer.model.map.species.Species;
 
 public class ReactionCollectionXmlParserTest extends CellDesignerTestFunctions {
-	Logger logger = Logger.getLogger(ReactionCollectionXmlParserTest.class);
+	Logger logger = LogManager.getLogger(ReactionCollectionXmlParserTest.class);
 
 	@Before
 	public void setUp() throws Exception {
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionParserTests.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionParserTests.java
index dcac2c483d416892ec704f47647f460f48d751b5..d0359cf5690cb302d6b6267abf7ee26d95df468d 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionParserTests.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionParserTests.java
@@ -12,7 +12,7 @@ import java.io.ByteArrayInputStream;
 import java.util.List;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -59,7 +59,7 @@ import lcsb.mapviewer.model.map.species.Species;
 
 public class ReactionParserTests extends CellDesignerTestFunctions {
 
-  private Logger logger = Logger.getLogger(ReactionParserTests.class.getName());;
+  private Logger logger = LogManager.getLogger(ReactionParserTests.class.getName());;
   ReactionXmlParser parser;
   CellDesignerElementCollection elements;
 
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionToXmlTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionToXmlTest.java
index 3e6ca41a0a1e8c558cff93c437fc18e7fff58db2..b12eb7eabc7d0fb820d3b2a0ab4ec146f853a469 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionToXmlTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/reaction/ReactionToXmlTest.java
@@ -8,15 +8,16 @@ import java.awt.geom.Point2D;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.Test;
 
-import lcsb.mapviewer.common.EventStorageLoggerAppender;
+
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.converter.model.celldesigner.CellDesignerElementCollection;
+import lcsb.mapviewer.converter.model.celldesigner.CellDesignerTestFunctions;
 import lcsb.mapviewer.model.graphics.PolylineData;
 import lcsb.mapviewer.model.map.InconsistentModelException;
 import lcsb.mapviewer.model.map.model.Model;
@@ -34,8 +35,8 @@ import lcsb.mapviewer.model.map.species.Complex;
 import lcsb.mapviewer.model.map.species.GenericProtein;
 import lcsb.mapviewer.model.map.species.Species;
 
-public class ReactionToXmlTest {
-  Logger logger = Logger.getLogger(ReactionToXmlTest.class);
+public class ReactionToXmlTest extends CellDesignerTestFunctions {
+  Logger logger = LogManager.getLogger(ReactionToXmlTest.class);
 
   CellDesignerElementCollection elements;
   ReactionToXml toXmlParser;
@@ -100,15 +101,10 @@ public class ReactionToXmlTest {
     reaction.addModifier(modifier2);
     reaction.addNode(andOperator);
 
-    EventStorageLoggerAppender appender = new EventStorageLoggerAppender();
-    Logger.getRootLogger().addAppender(appender);
-
-    try {
+    int warningCount = getWarnings().size();
+        
       toXmlParser.toXml(reaction);
-      assertEquals(2, appender.getWarnings().size());
-    } finally {
-      Logger.getRootLogger().removeAppender(appender);
-    }
+      assertEquals(2, getWarnings().size()- warningCount);
 
   }
 
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/AntisenseRnaXmlParserTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/AntisenseRnaXmlParserTest.java
index 32345985cb967c8fc413a3b37eb08beb398dd59d..362c8dcff3065486b3d5afa9e909ce5b6be14edd 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/AntisenseRnaXmlParserTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/AntisenseRnaXmlParserTest.java
@@ -9,7 +9,7 @@ import java.io.StringReader;
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -26,7 +26,7 @@ import lcsb.mapviewer.converter.model.celldesigner.structure.fields.CellDesigner
 import lcsb.mapviewer.converter.model.celldesigner.structure.fields.ModificationType;
 
 public class AntisenseRnaXmlParserTest extends CellDesignerTestFunctions {
-  protected Logger logger = Logger.getLogger(AntisenseRnaXmlParserTest.class.getName());
+  protected Logger logger = LogManager.getLogger(AntisenseRnaXmlParserTest.class.getName());
 
   AntisenseRnaXmlParser antisenseRnaParser;
   String testAntisenseRnaFile = "testFiles" + System.getProperty("file.separator") + "xmlNodeTestExamples"
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/ComplexParserTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/ComplexParserTest.java
index 10d6269550aa1ae0cd3a555d0a1022044fc4343c..b4eac9820746375d87c182e0db155670a2c63a62 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/ComplexParserTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/ComplexParserTest.java
@@ -10,7 +10,7 @@ import static org.mockito.Mockito.when;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -30,7 +30,7 @@ import lcsb.mapviewer.model.map.model.ModelFullIndexed;
 import lcsb.mapviewer.model.map.species.Complex;
 
 public class ComplexParserTest extends CellDesignerTestFunctions {
-	Logger												logger									= Logger.getLogger(ComplexParserTest.class);
+	Logger												logger									= LogManager.getLogger(ComplexParserTest.class);
 
 	String												testSpeciesId						= "s3";
 	String												testAliasId							= "sa3";
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/GeneXmlParserTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/GeneXmlParserTest.java
index bdc11d6cca90bc2b2cafcdacc68c6384a04123f6..dd0cba2e9988fbffe00e502e7b6eff7e506fa38c 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/GeneXmlParserTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/GeneXmlParserTest.java
@@ -10,7 +10,7 @@ import java.io.StringReader;
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -29,7 +29,7 @@ import lcsb.mapviewer.model.map.species.field.ModificationSite;
 import lcsb.mapviewer.model.map.species.field.ModificationState;
 
 public class GeneXmlParserTest extends CellDesignerTestFunctions {
-  Logger logger = Logger.getLogger(GeneXmlParserTest.class.getName());
+  Logger logger = LogManager.getLogger(GeneXmlParserTest.class.getName());
 
   GeneXmlParser geneParser;
   String testGeneFile = "testFiles" + System.getProperty("file.separator") + "xmlNodeTestExamples"
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/ProteinMappingTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/ProteinMappingTest.java
index 76fff7ecd1c6342f782d706dfb8423333722afa3..6951d37c7c5d97a38fd435d02bf8de7b9d61824f 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/ProteinMappingTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/ProteinMappingTest.java
@@ -5,7 +5,7 @@ import static org.junit.Assert.fail;
 
 import java.lang.reflect.Field;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Before;
@@ -17,7 +17,7 @@ import lcsb.mapviewer.converter.model.celldesigner.structure.CellDesignerProtein
 import lcsb.mapviewer.model.map.species.TruncatedProtein;
 
 public class ProteinMappingTest {
-	Logger logger = Logger.getLogger(ProteinMappingTest.class);
+	Logger logger = LogManager.getLogger(ProteinMappingTest.class);
 
 	@AfterClass
 	public static void tearDownAfterClass() throws Exception {
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/ProteinXmlParserTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/ProteinXmlParserTest.java
index 9c5ca3758170dd3a8f2e9e9fa08aca3ed459d826..883dba66a61a270fd006320b788cdf9df85e6c16 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/ProteinXmlParserTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/ProteinXmlParserTest.java
@@ -9,7 +9,7 @@ import java.io.StringReader;
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -28,7 +28,7 @@ import lcsb.mapviewer.converter.model.celldesigner.structure.CellDesignerProtein
 import lcsb.mapviewer.model.map.species.Protein;
 
 public class ProteinXmlParserTest extends CellDesignerTestFunctions {
-  Logger logger = Logger.getLogger(ProteinXmlParserTest.class.getName());
+  Logger logger = LogManager.getLogger(ProteinXmlParserTest.class.getName());
 
   ProteinXmlParser proteinParser;
   String testProteinFile = "testFiles" + System.getProperty("file.separator") + "xmlNodeTestExamples"
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/RnaXmlParserTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/RnaXmlParserTest.java
index dfc6456045a088430a8951941a1a20850ac05500..5dffc0f9bc2508a54a96079c1b19796b179df012 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/RnaXmlParserTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/RnaXmlParserTest.java
@@ -10,7 +10,7 @@ import java.io.StringReader;
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -25,7 +25,7 @@ import lcsb.mapviewer.converter.model.celldesigner.CellDesignerTestFunctions;
 import lcsb.mapviewer.converter.model.celldesigner.structure.CellDesignerRna;
 
 public class RnaXmlParserTest extends CellDesignerTestFunctions {
-  protected Logger logger = Logger.getLogger(RnaXmlParserTest.class.getName());
+  protected Logger logger = LogManager.getLogger(RnaXmlParserTest.class.getName());
 
   RnaXmlParser rnaParser;
   String testRnaFile = "testFiles" + System.getProperty("file.separator") + "xmlNodeTestExamples"
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesCollectionTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesCollectionTest.java
index a1d9e754485445b601bef1f4db75505380f6f03a..f2d49cb9668894f63c365f95781666e7f9cca12d 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesCollectionTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesCollectionTest.java
@@ -5,7 +5,7 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -19,7 +19,7 @@ import lcsb.mapviewer.converter.model.celldesigner.structure.CellDesignerSpecies
 import lcsb.mapviewer.model.map.species.Species;
 
 public class SpeciesCollectionTest {
-	Logger logger = Logger.getLogger(SpeciesCollectionTest.class);
+	Logger logger = LogManager.getLogger(SpeciesCollectionTest.class);
 
 	@Before
 	public void setUp() throws Exception {
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesCollectionXmlParserTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesCollectionXmlParserTest.java
index 3d781303f973c620956ca7631f10876225239500..59f21cebeb0b3fc392e51f81d04aafacd0184261 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesCollectionXmlParserTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesCollectionXmlParserTest.java
@@ -9,7 +9,7 @@ import java.lang.reflect.Field;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -37,7 +37,7 @@ import lcsb.mapviewer.model.map.species.Rna;
 import lcsb.mapviewer.model.map.species.Species;
 
 public class SpeciesCollectionXmlParserTest extends CellDesignerTestFunctions {
-	static Logger									logger											= Logger.getLogger(SpeciesCollectionXmlParserTest.class);
+	static Logger									logger											= LogManager.getLogger(SpeciesCollectionXmlParserTest.class);
 	Model													model												= new ModelFullIndexed(null);
 	SpeciesCollectionXmlParser		parser											= null;
 
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesSbmlParserTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesSbmlParserTest.java
index 6e90f40f00d92409c973b74045dc0dd2544231b4..7aa15cd2a33504f0a1dbbcf0585dd4d592325236 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesSbmlParserTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/species/SpeciesSbmlParserTest.java
@@ -11,7 +11,7 @@ import java.io.StringReader;
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -49,7 +49,7 @@ import lcsb.mapviewer.model.map.species.Species;
 
 public class SpeciesSbmlParserTest extends CellDesignerTestFunctions {
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(SpeciesSbmlParserTest.class.getName());
+  private Logger logger = LogManager.getLogger(SpeciesSbmlParserTest.class.getName());
 
   SpeciesSbmlParser parser;
 
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/structure/ElementTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/structure/ElementTest.java
index 015b044475d811f90076767194ee8570ddf540c9..6efd14fc708f9a54e98466b821e59c0698315113 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/structure/ElementTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/structure/ElementTest.java
@@ -8,7 +8,7 @@ import static org.junit.Assert.fail;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -20,7 +20,7 @@ import lcsb.mapviewer.model.map.MiriamData;
 import lcsb.mapviewer.model.map.MiriamType;
 
 public class ElementTest extends CellDesignerTestFunctions {
-	Logger logger = Logger.getLogger(ElementTest.class);
+	Logger logger = LogManager.getLogger(ElementTest.class);
 
 	@Before
 	public void setUp() throws Exception {
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/structure/RnaTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/structure/RnaTest.java
index b1f26667801e48c59f5f781f8fecae1a0a6d72bd..ee2eafcb481aaa3d2ab2cd696ba43b3be5e1c23b 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/structure/RnaTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/structure/RnaTest.java
@@ -9,7 +9,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.commons.lang3.SerializationUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -21,7 +21,7 @@ import lcsb.mapviewer.model.map.species.Rna;
 import lcsb.mapviewer.model.map.species.field.ModificationState;
 
 public class RnaTest {
-  Logger logger = Logger.getLogger(RnaTest.class);
+  Logger logger = LogManager.getLogger(RnaTest.class);
 
   @Before
   public void setUp() throws Exception {
diff --git a/converter-CellDesigner/src/test/resources/log4j.properties b/converter-CellDesigner/src/test/resources/log4j.properties
deleted file mode 100644
index aaee20a0ccf7c7fa6e25471d9a6f189ba2661d95..0000000000000000000000000000000000000000
--- a/converter-CellDesigner/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,47 +0,0 @@
-#Set root logger 's level and its appender to an appender called CONSOLE which is defined below.
-log4j.rootLogger=info, CONSOLE
-
-#Set the behavior of the CONSOLE appender 
-log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
-log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
-log4j.appender.CONSOLE.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-#log4j.appender.CONSOLE.layout.ConversionPattern=%m%n
-
-
-#Set the behavior of the FILE appender 
-log4j.appender.R=org.apache.log4j.FileAppender
-log4j.appender.R.File=${catalina.home}/logs/MapViewer.log
-log4j.appender.R.layout=org.apache.log4j.PatternLayout
-log4j.appender.R.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-
-
-log4j.logger.org.springframework=warn
-log4j.logger.org.hibernate=warn
-log4j.logger.lcsb=debug
-log4j.logger.lcsb.mapviewer.common.Comparator=info
-
-log4j.logger.lcsb.mapviewer.model.map.species.ElementComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.SpeciesComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.SimpleMoleculeComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.ProteinComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.AssociatedElementComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.ComplexSpeciesComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.AssociatedElementComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.PhenotypeComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.fields.AssociatedElementComparator=info
-
-log4j.logger.lcsb.mapviewer.model.map.layout.alias.SpeciesAliasComparator=info
-log4j.logger.lcsb.mapviewer.model.map.layout.alias.AliasComparator=info
-log4j.logger.lcsb.mapviewer.model.map.layout.alias.ComplexAliasComparator=info
-log4j.logger.lcsb.mapviewer.model.map.layout.alias.CompartmentAliasComparator=info
-
-log4j.logger.lcsb.mapviewer.model.map.reaction.ReactionNodeComparator=info
-log4j.logger.lcsb.mapviewer.model.map.reaction.ReactionComparator=info
-log4j.logger.lcsb.mapviewer.model.map.reaction.NodeOperatorComparator=info
-log4j.logger.lcsb.mapviewer.model.map.reaction.AbstractNodeComparator=info
-
-log4j.logger.lcsb.mapviewer.model.map.model.ModelComparator=info
-
-log4j.logger.lcsb.mapviewer.model.graphics.PolylineDataComparator=info
-
-log4j.logger.lcsb.mapviewer.model.map.kinetics.SbmlUnitComparator = info
\ No newline at end of file
diff --git a/converter-CellDesigner/src/test/resources/log4j2.properties b/converter-CellDesigner/src/test/resources/log4j2.properties
new file mode 100644
index 0000000000000000000000000000000000000000..b5eaa32682d177bf266eb6ed4831b4e8f4b9135d
--- /dev/null
+++ b/converter-CellDesigner/src/test/resources/log4j2.properties
@@ -0,0 +1,25 @@
+rootLogger.level = INFO
+appenders = console
+
+appender.console.type = Console
+appender.console.name = STDOUT
+appender.console.layout.type = PatternLayout
+appender.console.layout.pattern = %d %5p [%t] (%F:%L) - %m%n
+
+rootLogger.appenderRefs = console
+
+rootLogger.appenderRef.console.ref = STDOUT
+
+logger.minerva.name = lcsb
+logger.minerva.level = debug
+logger.minerva-persist.name = lcsb.mapviewer.persist.DbUtils
+logger.minerva-persist.level = info
+logger.minerva-cache.name = lcsb.mapviewer.annotation.cache
+logger.minerva-cache.level = info
+
+
+logger.springframework.name = org.springframework
+logger.springframework.level = warn
+
+logger.hibernate.name = org.hibernate
+logger.hibernate.level = warn
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/aliasWithState.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/aliasWithState.sbgn
deleted file mode 100644
index c138ce4beddf01245db43fe112f465fcdc40552b..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/aliasWithState.sbgn
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa3">
-            <label text="s3"/>
-            <bbox w="80.0" h="40.0" x="302.0" y="71.0"/>
-            <glyph class="unit of information" id="sa3uoi">
-                <label text="pc:V"/>
-                <bbox w="60.0" h="12.0" x="312.0" y="65.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa4">
-            <label text="s4"/>
-            <bbox w="80.0" h="40.0" x="219.0" y="146.0"/>
-            <glyph class="unit of information" id="sa4uoi">
-                <label text="ct:truncatedProtein"/>
-                <bbox w="60.0" h="12.0" x="229.0" y="140.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="unspecified entity" id="sa6">
-            <label text="s6"/>
-            <bbox w="70.0" h="25.0" x="138.0" y="281.5"/>
-        </glyph>
-        <glyph class="phenotype" id="sa8">
-            <label text="s8"/>
-            <bbox w="80.0" h="30.0" x="46.0" y="167.0"/>
-        </glyph>
-        <glyph class="source and sink" id="sa7">
-            <label text="s7"/>
-            <bbox w="84.0" h="84.0" x="454.0" y="61.0"/>
-            <glyph class="unit of information" id="sa7uoi">
-                <label text="N:10"/>
-                <bbox w="64.0" h="12.0" x="464.0" y="55.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa9">
-            <label text="s1"/>
-            <bbox w="80.0" h="40.0" x="473.0" y="200.0"/>
-            <glyph class="unit of information" id="sa9uoi">
-                <label text="bla"/>
-                <bbox w="60.0" h="12.0" x="483.0" y="194.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa2">
-            <label text="s2"/>
-            <bbox w="80.0" h="40.0" x="179.0" y="79.0"/>
-            <glyph class="unit of information" id="sa2uoi">
-                <label text="N:8"/>
-                <bbox w="60.0" h="12.0" x="189.0" y="73.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="nucleic acid feature" id="sa5">
-            <label text="s5"/>
-            <bbox w="90.0" h="25.0" x="336.0" y="237.5"/>
-            <glyph class="unit of information" id="sa5uoi">
-                <label text="ct:RNA"/>
-                <bbox w="70.0" h="12.0" x="346.0" y="231.5"/>
-            </glyph>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/annotation/recon_annotation_example.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/annotation/recon_annotation_example.sbgn
deleted file mode 100644
index ad948ba9c22dbcea2868cbccd287357ce056097f..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/annotation/recon_annotation_example.sbgn
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="simple chemical" id="sa2">
-            <label text="s2"/>
-            <bbox w="70.0" h="25.0" x="399.0" y="173.5"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa1">
-            <label text="s1"/>
-            <bbox w="70.0" h="25.0" x="170.0" y="171.5"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re1">
-            <bbox w="10.0" h="10.0" x="314.5" y="180.0"/>
-            <port id="re1.1" x="309.5" y="185.0"/>
-            <port id="re1.2" x="329.5" y="185.0"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="sa1" target="re1.1">
-            <start x="239.98953" y="184.30559"/>
-            <end x="309.5" y="185.0"/>
-        </arc>
-        <arc class="production" id="arc1" source="re1.2" target="sa2">
-            <start x="329.5" y="185.0"/>
-            <end x="399.01047" y="185.69441"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/antisenseRnaWithRegion.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/antisenseRnaWithRegion.sbgn
deleted file mode 100644
index d48ec52fc195c1e0cb1765cd05bed3fca4e94881..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/antisenseRnaWithRegion.sbgn
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="nucleic acid feature" id="sa3">
-            <label text="s3"/>
-            <bbox w="90.0" h="25.0" x="192.0" y="247.5"/>
-            <glyph class="unit of information" id="sa3uoi">
-                <label text="ct:antisenseRNA"/>
-                <bbox w="70.0" h="12.0" x="202.0" y="241.5"/>
-            </glyph>
-        </glyph>
-        <glyph class="nucleic acid feature" id="sa1">
-            <label text="s1"/>
-            <bbox w="90.0" h="25.0" x="93.0" y="75.5"/>
-            <glyph class="unit of information" id="sa1uoi">
-                <label text="ct:antisenseRNA"/>
-                <bbox w="70.0" h="12.0" x="103.0" y="69.5"/>
-            </glyph>
-        </glyph>
-        <glyph class="nucleic acid feature" id="sa2">
-            <label text="s2"/>
-            <bbox w="90.0" h="25.0" x="326.0" y="94.5"/>
-            <glyph class="unit of information" id="sa2uoi">
-                <label text="ct:antisenseRNA"/>
-                <bbox w="70.0" h="12.0" x="336.0" y="88.5"/>
-            </glyph>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/autoMapWidth.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/autoMapWidth.sbgn
deleted file mode 100644
index 5447c5ef0fda262b54100b92a4d8a942a2cc7637..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/autoMapWidth.sbgn
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa1">
-            <label text="s1"/>
-            <bbox w="80.0" h="40.0" x="516.0" y="356.0"/>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/bubbles.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/bubbles.sbgn
deleted file mode 100644
index 800450e2e284fd16d1e3faa5d3d0711eefc40914..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/bubbles.sbgn
+++ /dev/null
@@ -1,245 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="simple chemical" id="sa1">
-            <label text="peroxynitrite"/>
-            <bbox w="100.0" h="35.0" x="529.8125" y="166.4375"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa2">
-            <label text="NOS2"/>
-            <bbox w="80.0" h="40.0" x="276.25" y="59.0625"/>
-        </glyph>
-        <glyph class="complex" id="csa2">
-            <label text="alpha synuclein"/>
-            <bbox w="350.0" h="174.0" x="541.75" y="242.625"/>
-            <glyph class="complex" id="csa8">
-                <label text="misfolded"/>
-                <bbox w="100.0" h="85.0" x="557.25" y="255.625"/>
-                <glyph class="macromolecule" id="sa12">
-                    <label text="SNCA"/>
-                    <bbox w="80.0" h="40.0" x="566.75" y="266.625"/>
-                    <glyph class="state variable" id="sa12-rs1">
-                        <bbox w="20.0" h="22.0" x="633.5921" y="295.625"/>
-                    </glyph>
-                    <glyph class="state variable" id="sa12-rs2">
-                        <bbox w="20.0" h="22.0" x="586.57697" y="295.625"/>
-                    </glyph>
-                    <glyph class="state variable" id="sa12-rs4">
-                        <bbox w="20.0" h="22.0" x="595.83496" y="295.625"/>
-                    </glyph>
-                    <glyph class="state variable" id="sa12-rs5">
-                        <bbox w="20.0" h="22.0" x="604.75" y="295.625"/>
-                    </glyph>
-                    <glyph class="state variable" id="sa12-rs6">
-                        <bbox w="20.0" h="22.0" x="613.69116" y="295.625"/>
-                    </glyph>
-                </glyph>
-            </glyph>
-            <glyph class="complex" id="csa7">
-                <label text="protofibril"/>
-                <bbox w="100.0" h="85.0" x="666.25" y="255.625"/>
-                <glyph class="macromolecule" id="sa11">
-                    <label text="SNCA"/>
-                    <bbox w="80.0" h="40.0" x="675.75" y="266.625"/>
-                    <glyph class="state variable" id="sa11-rs1">
-                        <bbox w="20.0" h="22.0" x="742.5921" y="295.625"/>
-                    </glyph>
-                    <glyph class="state variable" id="sa11-rs2">
-                        <bbox w="20.0" h="22.0" x="695.57697" y="295.625"/>
-                    </glyph>
-                    <glyph class="state variable" id="sa11-rs4">
-                        <bbox w="20.0" h="22.0" x="704.83496" y="295.625"/>
-                    </glyph>
-                    <glyph class="state variable" id="sa11-rs5">
-                        <bbox w="20.0" h="22.0" x="713.75" y="295.625"/>
-                    </glyph>
-                    <glyph class="state variable" id="sa11-rs6">
-                        <bbox w="20.0" h="22.0" x="722.69116" y="295.625"/>
-                    </glyph>
-                </glyph>
-            </glyph>
-            <glyph class="complex" id="csa6">
-                <label text="fibril"/>
-                <bbox w="100.0" h="85.0" x="775.25" y="255.625"/>
-                <glyph class="macromolecule" id="sa10">
-                    <label text="SNCA"/>
-                    <bbox w="80.0" h="40.0" x="784.75" y="266.625"/>
-                    <glyph class="state variable" id="sa10-rs1">
-                        <bbox w="20.0" h="22.0" x="851.5921" y="295.625"/>
-                    </glyph>
-                    <glyph class="state variable" id="sa10-rs2">
-                        <bbox w="20.0" h="22.0" x="804.57697" y="295.625"/>
-                    </glyph>
-                    <glyph class="state variable" id="sa10-rs4">
-                        <bbox w="20.0" h="22.0" x="813.83496" y="295.625"/>
-                    </glyph>
-                    <glyph class="state variable" id="sa10-rs5">
-                        <bbox w="20.0" h="22.0" x="822.75" y="295.625"/>
-                    </glyph>
-                    <glyph class="state variable" id="sa10-rs6">
-                        <bbox w="20.0" h="22.0" x="831.69116" y="295.625"/>
-                    </glyph>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule" id="sa9">
-                <label text="SNCA"/>
-                <bbox w="80.0" h="40.0" x="675.375" y="349.25"/>
-                <glyph class="state variable" id="sa9-rs1">
-                    <bbox w="20.0" h="22.0" x="742.2171" y="378.25"/>
-                </glyph>
-                <glyph class="state variable" id="sa9-rs2">
-                    <bbox w="20.0" h="22.0" x="695.20197" y="378.25"/>
-                </glyph>
-                <glyph class="state variable" id="sa9-rs4">
-                    <bbox w="20.0" h="22.0" x="704.45996" y="378.25"/>
-                </glyph>
-                <glyph class="state variable" id="sa9-rs5">
-                    <bbox w="20.0" h="22.0" x="713.375" y="378.25"/>
-                </glyph>
-                <glyph class="state variable" id="sa9-rs6">
-                    <bbox w="20.0" h="22.0" x="722.31616" y="378.25"/>
-                </glyph>
-            </glyph>
-        </glyph>
-        <glyph class="simple chemical" id="sa4">
-            <label text="NO"/>
-            <bbox w="70.0" h="25.0" x="437.78125" y="66.5625"/>
-        </glyph>
-        <glyph class="complex" id="csa1">
-            <label text="nitrated alpha synuclein"/>
-            <bbox w="350.0" h="174.0" x="89.67308" y="155.79808"/>
-            <glyph class="complex" id="csa5">
-                <label text="misfolded"/>
-                <bbox w="100.0" h="85.0" x="105.17308" y="168.79808"/>
-                <glyph class="macromolecule" id="sa8">
-                    <label text="SNCA"/>
-                    <bbox w="80.0" h="40.0" x="114.94711" y="183.29808"/>
-                    <glyph class="state variable" id="sa8-rs1">
-                        <bbox w="20.0" h="22.0" x="181.78922" y="212.29808"/>
-                    </glyph>
-                    <glyph class="state variable" id="sa8-rs2">
-                        <bbox w="20.0" h="22.0" x="134.7741" y="212.29808"/>
-                    </glyph>
-                    <glyph class="state variable" id="sa8-rs4">
-                        <bbox w="20.0" h="22.0" x="144.03207" y="212.29808"/>
-                    </glyph>
-                    <glyph class="state variable" id="sa8-rs5">
-                        <bbox w="20.0" h="22.0" x="152.94713" y="212.29808"/>
-                    </glyph>
-                    <glyph class="state variable" id="sa8-rs6">
-                        <bbox w="20.0" h="22.0" x="161.8883" y="212.29808"/>
-                    </glyph>
-                </glyph>
-            </glyph>
-            <glyph class="complex" id="csa4">
-                <label text="protofibril"/>
-                <bbox w="100.0" h="85.0" x="214.17308" y="168.79808"/>
-                <glyph class="macromolecule" id="sa7">
-                    <label text="SNCA"/>
-                    <bbox w="80.0" h="40.0" x="220.94711" y="183.29808"/>
-                    <glyph class="state variable" id="sa7-rs1">
-                        <bbox w="20.0" h="22.0" x="287.7892" y="212.29808"/>
-                    </glyph>
-                    <glyph class="state variable" id="sa7-rs2">
-                        <bbox w="20.0" h="22.0" x="240.7741" y="212.29808"/>
-                    </glyph>
-                    <glyph class="state variable" id="sa7-rs4">
-                        <bbox w="20.0" h="22.0" x="250.03207" y="212.29808"/>
-                    </glyph>
-                    <glyph class="state variable" id="sa7-rs5">
-                        <bbox w="20.0" h="22.0" x="258.9471" y="212.29808"/>
-                    </glyph>
-                    <glyph class="state variable" id="sa7-rs6">
-                        <bbox w="20.0" h="22.0" x="267.8883" y="212.29808"/>
-                    </glyph>
-                </glyph>
-            </glyph>
-            <glyph class="complex" id="csa3">
-                <label text="fibril"/>
-                <bbox w="100.0" h="85.0" x="323.17307" y="158.79808"/>
-                <glyph class="macromolecule" id="sa6">
-                    <label text="SNCA"/>
-                    <bbox w="80.0" h="40.0" x="331.9471" y="173.29808"/>
-                    <glyph class="state variable" id="sa6-rs1">
-                        <bbox w="20.0" h="22.0" x="398.7892" y="202.29808"/>
-                    </glyph>
-                    <glyph class="state variable" id="sa6-rs2">
-                        <bbox w="20.0" h="22.0" x="351.7741" y="202.29808"/>
-                    </glyph>
-                    <glyph class="state variable" id="sa6-rs4">
-                        <bbox w="20.0" h="22.0" x="361.03207" y="202.29808"/>
-                    </glyph>
-                    <glyph class="state variable" id="sa6-rs5">
-                        <bbox w="20.0" h="22.0" x="369.9471" y="202.29808"/>
-                    </glyph>
-                    <glyph class="state variable" id="sa6-rs6">
-                        <bbox w="20.0" h="22.0" x="378.8883" y="202.29808"/>
-                    </glyph>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule" id="sa5">
-                <label text="SNCA"/>
-                <bbox w="80.0" h="40.0" x="223.29808" y="262.42307"/>
-                <glyph class="state variable" id="sa5-rs1">
-                    <bbox w="20.0" h="22.0" x="290.1402" y="291.42307"/>
-                </glyph>
-                <glyph class="state variable" id="sa5-rs2">
-                    <bbox w="20.0" h="22.0" x="243.12506" y="291.42307"/>
-                </glyph>
-                <glyph class="state variable" id="sa5-rs4">
-                    <bbox w="20.0" h="22.0" x="252.38306" y="291.42307"/>
-                </glyph>
-                <glyph class="state variable" id="sa5-rs5">
-                    <bbox w="20.0" h="22.0" x="261.2981" y="291.42307"/>
-                </glyph>
-                <glyph class="state variable" id="sa5-rs6">
-                    <bbox w="20.0" h="22.0" x="270.23926" y="291.42307"/>
-                </glyph>
-            </glyph>
-        </glyph>
-        <glyph class="simple chemical" id="sa3">
-            <label text="superoxide"/>
-            <bbox w="70.0" h="25.0" x="747.1875" y="117.0625"/>
-        </glyph>
-        <glyph class="association" orientation="horizontal" id="re3">
-            <bbox w="10.0" h="10.0" x="647.2948" y="145.05005"/>
-            <port id="re3.1" x="662.2948" y="150.05005"/>
-            <port id="re3.2" x="642.2948" y="150.05005"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re2">
-            <bbox w="10.0" h="10.0" x="485.71155" y="281.21155"/>
-            <port id="re2.1" x="500.71155" y="286.21155"/>
-            <port id="re2.2" x="480.71155" y="286.21155"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="sa3" target="re3.1">
-            <start x="747.19415" y="129.80655"/>
-            <next x="694.8125" y="130.17188"/>
-            <end x="662.2948" y="150.05005"/>
-        </arc>
-        <arc class="consumption" id="arc1" source="sa4" target="re3.1">
-            <start x="502.20007" y="85.83442"/>
-            <next x="694.8125" y="130.17188"/>
-            <end x="662.2948" y="150.05005"/>
-        </arc>
-        <arc class="production" id="arc2" source="re3.2" target="sa1">
-            <start x="642.2948" y="150.05005"/>
-            <end x="609.7771" y="169.92822"/>
-        </arc>
-        <arc class="consumption" id="arc3" source="csa2" target="re2.1">
-            <start x="541.75" y="286.125"/>
-            <end x="500.71155" y="286.21155"/>
-        </arc>
-        <arc class="production" id="arc4" source="re2.2" target="csa1">
-            <start x="480.71155" y="286.21155"/>
-            <end x="439.67307" y="286.29807"/>
-        </arc>
-        <arc class="necessary stimulation" id="arc5" source="sa4" target="re2">
-            <start x="473.8889" y="91.55624"/>
-            <end x="490.70306" y="281.21155"/>
-        </arc>
-        <arc class="necessary stimulation" id="arc6" source="sa1" target="re2">
-            <start x="565.3284" y="200.68715"/>
-            <end x="495.70306" y="281.20306"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/colorfull_reaction.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/colorfull_reaction.sbgn
deleted file mode 100644
index 5a2a0fb1cd978670d2e242cf2d44efd994f485f2..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/colorfull_reaction.sbgn
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa2">
-            <label text="s2"/>
-            <bbox w="80.0" h="40.0" x="101.0" y="317.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa7">
-            <label text="s8"/>
-            <bbox w="80.0" h="40.0" x="295.0" y="74.0"/>
-        </glyph>
-        <glyph class="complex" id="csa1">
-            <label text="s3"/>
-            <bbox w="100.0" h="120.0" x="464.0" y="241.0"/>
-            <glyph class="macromolecule" id="sa3">
-                <label text="s1"/>
-                <bbox w="80.0" h="40.0" x="474.0" y="251.0"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa4">
-                <label text="s2"/>
-                <bbox w="80.0" h="40.0" x="474.0" y="301.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa1">
-            <label text="s1"/>
-            <bbox w="80.0" h="40.0" x="138.0" y="146.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa5">
-            <label text="s6"/>
-            <bbox w="80.0" h="40.0" x="381.0" y="135.0"/>
-        </glyph>
-        <glyph class="association" orientation="horizontal" id="re1">
-            <bbox w="10.0" h="10.0" x="379.0" y="287.0"/>
-            <port id="re1.1" x="374.0" y="292.0"/>
-            <port id="re1.2" x="394.0" y="292.0"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re2">
-            <bbox w="10.0" h="10.0" x="251.5" y="125.0"/>
-            <port id="re2.1" x="246.5" y="130.0"/>
-            <port id="re2.2" x="266.5" y="130.0"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="sa1" target="re1.1">
-            <start x="218.0" y="166.0"/>
-            <next x="304.0" y="283.0"/>
-            <end x="374.0" y="292.0"/>
-        </arc>
-        <arc class="consumption" id="arc1" source="sa2" target="re1.1">
-            <start x="181.0" y="337.0"/>
-            <next x="304.0" y="283.0"/>
-            <end x="374.0" y="292.0"/>
-        </arc>
-        <arc class="production" id="arc2" source="re1.2" target="csa1">
-            <start x="394.0" y="292.0"/>
-            <end x="464.0" y="301.0"/>
-        </arc>
-        <arc class="inhibition" id="arc3" source="sa5" target="re1">
-            <start x="414.70062" y="175.0"/>
-            <end x="380.792" y="282.65714"/>
-        </arc>
-        <arc class="consumption" id="arc4" source="sa1" target="re2.1">
-            <start x="215.70743" y="148.70743"/>
-            <end x="246.5" y="130.0"/>
-        </arc>
-        <arc class="production" id="arc5" source="re2.2" target="sa7">
-            <start x="266.5" y="130.0"/>
-            <end x="297.29257" y="111.29258"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/compartment/artifitial_compartments.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/compartment/artifitial_compartments.sbgn
deleted file mode 100644
index 9df89923875ef8a27f04453da0007235d5cc21de..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/compartment/artifitial_compartments.sbgn
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="complex" id="csa1">
-            <label text="s2"/>
-            <bbox w="100.0" h="120.0" x="292.0" y="58.0"/>
-            <glyph class="macromolecule" id="sa2">
-                <label text="s3"/>
-                <bbox w="80.0" h="40.0" x="303.0" y="74.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="compartment" id="ca1">
-            <label text="c1"/>
-            <bbox w="419.0" h="282.0" x="150.0" y="23.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa3">
-            <label text="s4"/>
-            <bbox w="80.0" h="40.0" x="0.0" y="278.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa4">
-            <label text="s5"/>
-            <bbox w="80.0" h="40.0" x="203.0" y="331.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa1">
-            <label text="s1"/>
-            <bbox w="80.0" h="40.0" x="182.0" y="90.0"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re2">
-            <bbox w="10.0" h="10.0" x="227.5" y="225.5"/>
-            <port id="re2.1" x="232.5" y="240.5"/>
-            <port id="re2.2" x="232.5" y="220.5"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re1">
-            <bbox w="10.0" h="10.0" x="186.5" y="191.0"/>
-            <port id="re1.1" x="181.5" y="196.0"/>
-            <port id="re1.2" x="201.5" y="196.0"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="sa4" target="re2.1">
-            <start x="241.25726" y="331.0"/>
-            <end x="232.5" y="240.5"/>
-        </arc>
-        <arc class="production" id="arc1" source="re2.2" target="sa1">
-            <start x="232.5" y="220.5"/>
-            <end x="223.74274" y="130.0"/>
-        </arc>
-        <arc class="consumption" id="arc2" source="sa3" target="re1.1">
-            <start x="69.70588" y="278.0"/>
-            <end x="181.5" y="196.0"/>
-        </arc>
-        <arc class="production" id="arc3" source="re1.2" target="sa2">
-            <start x="201.5" y="196.0"/>
-            <end x="313.29413" y="114.0"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/compartment/bottom_compartment.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/compartment/bottom_compartment.sbgn
deleted file mode 100644
index 21bbd1a0815b47d3f474186d28291ea29c0f33cd..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/compartment/bottom_compartment.sbgn
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="compartment" id="ca4">
-            <label text="c4"/>
-            <bbox w="1200.0" h="800.0" x="0.0" y="115.0"/>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/compartment/left_compartment.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/compartment/left_compartment.sbgn
deleted file mode 100644
index ae1197d2972e088ab33d6e635ba1a91f960fdf6d..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/compartment/left_compartment.sbgn
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="compartment" id="ca1">
-            <label text="c1"/>
-            <bbox w="1200.0" h="800.0" x="119.0" y="0.0"/>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/compartment/nested_compartments.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/compartment/nested_compartments.sbgn
deleted file mode 100644
index acf56de2031476e06df463180104f53c280455c9..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/compartment/nested_compartments.sbgn
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa1">
-            <label text="s1"/>
-            <bbox w="80.0" h="40.0" x="318.0" y="195.0"/>
-        </glyph>
-        <glyph class="compartment" id="ca2">
-            <label text="c2"/>
-            <bbox w="299.0" h="151.0" x="221.0" y="145.0"/>
-        </glyph>
-        <glyph class="compartment" id="ca1">
-            <label text="c1"/>
-            <bbox w="537.0" h="331.0" x="35.0" y="41.0"/>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/compartment/right_compartment.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/compartment/right_compartment.sbgn
deleted file mode 100644
index d783347b0e3ccef12ec83d801f0621fcb0f0f2ed..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/compartment/right_compartment.sbgn
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="compartment" id="ca2">
-            <label text="c2"/>
-            <bbox w="921.0" h="800.0" x="279.0" y="0.0"/>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/compartment/top_compartment.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/compartment/top_compartment.sbgn
deleted file mode 100644
index 26279f2552c161b75ff11f186a3ef6dea0129e64..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/compartment/top_compartment.sbgn
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="compartment" id="ca3">
-            <label text="c3"/>
-            <bbox w="1200.0" h="800.0" x="0.0" y="207.0"/>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/copyingAnnotationModel.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/copyingAnnotationModel.sbgn
deleted file mode 100644
index ca58fd4d63777d88c7d50536edae8bf132cd47b8..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/copyingAnnotationModel.sbgn
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa7">
-            <label text="hello"/>
-            <bbox w="80.0" h="40.0" x="246.0" y="168.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa4">
-            <label text="s4"/>
-            <bbox w="80.0" h="40.0" x="102.0" y="237.0"/>
-        </glyph>
-        <glyph class="compartment" id="ca1">
-            <label text="c1"/>
-            <bbox w="142.0" h="143.0" x="74.0" y="158.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa6">
-            <label text="blabla"/>
-            <bbox w="80.0" h="40.0" x="287.0" y="260.0"/>
-        </glyph>
-        <glyph class="complex" id="csa1">
-            <label text="s5"/>
-            <bbox w="100.0" h="120.0" x="344.0" y="102.0"/>
-            <glyph class="macromolecule" id="sa5">
-                <label text="hello"/>
-                <bbox w="80.0" h="40.0" x="356.0" y="118.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa3">
-            <label text="hello"/>
-            <bbox w="80.0" h="40.0" x="197.0" y="96.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa1">
-            <label text="hello"/>
-            <bbox w="80.0" h="40.0" x="105.0" y="183.0"/>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/empty.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/empty.sbgn
deleted file mode 100644
index aefa384b9c2a4880b84ee9bf7acf326ea24f919b..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/empty.sbgn
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description"/>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/homodimer.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/homodimer.sbgn
deleted file mode 100644
index 74010fc4915c5948d9c642f1936487ba4745a553..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/homodimer.sbgn
+++ /dev/null
@@ -1,117 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="simple chemical multimer" id="sa9">
-            <label text="s9"/>
-            <bbox w="67.0" h="67.0" x="55.5" y="273.5"/>
-            <glyph class="unit of information" id="sa9uoi">
-                <label text="N:8"/>
-                <bbox w="47.0" h="12.0" x="65.5" y="267.5"/>
-            </glyph>
-        </glyph>
-        <glyph class="unspecified entity" id="sa11">
-            <label text="s11"/>
-            <bbox w="92.0" h="42.0" x="210.0" y="287.0"/>
-            <glyph class="unit of information" id="sa11uoi">
-                <label text="N:3"/>
-                <bbox w="72.0" h="12.0" x="220.0" y="281.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="unspecified entity" id="sa12">
-            <label text="s12"/>
-            <bbox w="88.0" h="43.0" x="316.0" y="281.5"/>
-            <glyph class="unit of information" id="sa12uoi">
-                <label text="N:4"/>
-                <bbox w="68.0" h="12.0" x="326.0" y="275.5"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule multimer" id="sa3">
-            <label text="s3"/>
-            <bbox w="98.0" h="58.0" x="247.0" y="73.0"/>
-            <glyph class="unit of information" id="sa3uoi">
-                <label text="N:4"/>
-                <bbox w="78.0" h="12.0" x="257.0" y="67.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="phenotype" id="sa8">
-            <label text="s8"/>
-            <bbox w="104.0" h="54.0" x="300.0" y="162.0"/>
-            <glyph class="unit of information" id="sa8uoi">
-                <label text="N:5"/>
-                <bbox w="84.0" h="12.0" x="310.0" y="156.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="source and sink" id="sa13">
-            <label text="s14"/>
-            <bbox w="60.0" h="60.0" x="519.0" y="118.0"/>
-            <glyph class="unit of information" id="sa13uoi">
-                <label text="N:6"/>
-                <bbox w="40.0" h="12.0" x="529.0" y="112.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="simple chemical multimer" id="sa10">
-            <label text="s10"/>
-            <bbox w="118.0" h="73.0" x="125.0" y="261.5"/>
-            <glyph class="unit of information" id="sa10uoi">
-                <label text="N:9"/>
-                <bbox w="98.0" h="12.0" x="135.0" y="255.5"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule multimer" id="sa2">
-            <label text="s2"/>
-            <bbox w="92.0" h="62.0" x="149.0" y="50.0"/>
-            <glyph class="unit of information" id="sa2uoi">
-                <label text="N:3"/>
-                <bbox w="72.0" h="12.0" x="159.0" y="44.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule multimer" id="sa4">
-            <label text="s4"/>
-            <bbox w="104.0" h="64.0" x="370.0" y="92.0"/>
-            <glyph class="unit of information" id="sa4uoi">
-                <label text="N:5; ct:truncatedProtein"/>
-                <bbox w="84.0" h="12.0" x="380.0" y="86.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="complex multimer" id="csa1">
-            <label text="s13"/>
-            <bbox w="124.0" h="144.0" x="405.0" y="218.0"/>
-            <glyph class="unit of information" id="csa1uoi">
-                <label text="N:5"/>
-                <bbox w="104.0" h="12.0" x="415.0" y="212.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="nucleic acid feature multimer" id="sa5">
-            <label text="s5"/>
-            <bbox w="106.0" h="61.0" x="11.0" y="147.5"/>
-            <glyph class="unit of information" id="sa5uoi">
-                <label text="N:7; ct:gene"/>
-                <bbox w="86.0" h="12.0" x="21.0" y="141.5"/>
-            </glyph>
-        </glyph>
-        <glyph class="nucleic acid feature multimer" id="sa7">
-            <label text="s7"/>
-            <bbox w="96.0" h="31.0" x="223.0" y="207.5"/>
-            <glyph class="unit of information" id="sa7uoi">
-                <label text="N:2; ct:antisenseRNA"/>
-                <bbox w="76.0" h="12.0" x="233.0" y="201.5"/>
-            </glyph>
-        </glyph>
-        <glyph class="nucleic acid feature multimer" id="sa6">
-            <label text="s6"/>
-            <bbox w="132.0" h="67.0" x="118.0" y="143.5"/>
-            <glyph class="unit of information" id="sa6uoi">
-                <label text="N:8; ct:RNA"/>
-                <bbox w="112.0" h="12.0" x="128.0" y="137.5"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule multimer" id="sa1">
-            <label text="s1"/>
-            <bbox w="86.0" h="46.0" x="39.0" y="33.0"/>
-            <glyph class="unit of information" id="sa1uoi">
-                <label text="N:2"/>
-                <bbox w="66.0" h="12.0" x="49.0" y="27.0"/>
-            </glyph>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/includedSpecies.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/includedSpecies.sbgn
deleted file mode 100644
index 33899ca6b8ccf6ecb297a91ca40004d593a8f829..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/includedSpecies.sbgn
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="complex" id="csa1">
-            <label text="s1"/>
-            <bbox w="100.0" h="120.0" x="39.0" y="69.0"/>
-            <glyph class="macromolecule" id="sa1">
-                <label text="s2"/>
-                <bbox w="80.0" h="40.0" x="46.0" y="92.0"/>
-            </glyph>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/missing_xml_nodes.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/missing_xml_nodes.sbgn
deleted file mode 100644
index 19570eeb03094cd73b9159039aae694753e80e11..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/missing_xml_nodes.sbgn
+++ /dev/null
@@ -1,109 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="complex" id="csa3">
-            <label text="s9"/>
-            <bbox w="203.0" h="233.0" x="388.0" y="86.0"/>
-            <glyph class="nucleic acid feature" id="sa6">
-                <label text="s6"/>
-                <bbox w="70.0" h="25.0" x="394.5" y="204.5"/>
-                <glyph class="unit of information" id="sa6uoi">
-                    <label text="ct:gene"/>
-                    <bbox w="50.0" h="12.0" x="404.5" y="198.5"/>
-                </glyph>
-            </glyph>
-            <glyph class="nucleic acid feature" id="sa7">
-                <label text="s7"/>
-                <bbox w="90.0" h="25.0" x="463.5" y="250.5"/>
-                <glyph class="unit of information" id="sa7uoi">
-                    <label text="ct:RNA"/>
-                    <bbox w="70.0" h="12.0" x="473.5" y="244.5"/>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule" id="sa8">
-                <label text="s5"/>
-                <bbox w="80.0" h="40.0" x="473.5" y="184.0"/>
-            </glyph>
-            <glyph class="nucleic acid feature" id="sa9">
-                <label text="s8"/>
-                <bbox w="90.0" h="25.0" x="440.5" y="117.5"/>
-                <glyph class="unit of information" id="sa9uoi">
-                    <label text="ct:antisenseRNA"/>
-                    <bbox w="70.0" h="12.0" x="450.5" y="111.5"/>
-                </glyph>
-            </glyph>
-        </glyph>
-        <glyph class="nucleic acid feature" id="sa3">
-            <label text="s6"/>
-            <bbox w="70.0" h="25.0" x="132.0" y="101.5"/>
-            <glyph class="unit of information" id="sa3uoi">
-                <label text="ct:gene"/>
-                <bbox w="50.0" h="12.0" x="142.0" y="95.5"/>
-            </glyph>
-        </glyph>
-        <glyph class="nucleic acid feature" id="sa12">
-            <label text="s6"/>
-            <bbox w="70.0" h="25.0" x="35.5" y="246.5"/>
-            <glyph class="unit of information" id="sa12uoi">
-                <label text="ct:gene"/>
-                <bbox w="50.0" h="12.0" x="45.5" y="240.5"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa2">
-            <label text="s5"/>
-            <bbox w="80.0" h="40.0" x="215.0" y="64.0"/>
-        </glyph>
-        <glyph class="nucleic acid feature" id="sa5">
-            <label text="s8"/>
-            <bbox w="90.0" h="25.0" x="182.0" y="24.5"/>
-            <glyph class="unit of information" id="sa5uoi">
-                <label text="ct:antisenseRNA"/>
-                <bbox w="70.0" h="12.0" x="192.0" y="18.5"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa14">
-            <label text="s5"/>
-            <bbox w="80.0" h="40.0" x="130.5" y="245.0"/>
-        </glyph>
-        <glyph class="nucleic acid feature" id="sa15">
-            <label text="s8"/>
-            <bbox w="90.0" h="25.0" x="73.5" y="204.5"/>
-            <glyph class="unit of information" id="sa15uoi">
-                <label text="ct:antisenseRNA"/>
-                <bbox w="70.0" h="12.0" x="83.5" y="198.5"/>
-            </glyph>
-        </glyph>
-        <glyph class="compartment" id="ca1">
-            <label text="c1"/>
-            <bbox w="308.0" h="176.0" x="4.0" y="4.0"/>
-        </glyph>
-        <glyph class="complex" id="csa1">
-            <label text="s1"/>
-            <bbox w="100.0" h="120.0" x="20.0" y="38.0"/>
-            <glyph class="complex" id="csa2">
-                <label text="s3"/>
-                <bbox w="89.0" h="58.0" x="24.0" y="57.0"/>
-                <glyph class="macromolecule" id="sa1">
-                    <label text="s2"/>
-                    <bbox w="80.0" h="40.0" x="29.0" y="66.0"/>
-                </glyph>
-            </glyph>
-        </glyph>
-        <glyph class="nucleic acid feature" id="sa4">
-            <label text="s7"/>
-            <bbox w="90.0" h="25.0" x="206.0" y="120.5"/>
-            <glyph class="unit of information" id="sa4uoi">
-                <label text="ct:RNA"/>
-                <bbox w="70.0" h="12.0" x="216.0" y="114.5"/>
-            </glyph>
-        </glyph>
-        <glyph class="nucleic acid feature" id="sa13">
-            <label text="s7"/>
-            <bbox w="90.0" h="25.0" x="228.5" y="203.5"/>
-            <glyph class="unit of information" id="sa13uoi">
-                <label text="ct:RNA"/>
-                <bbox w="70.0" h="12.0" x="238.5" y="197.5"/>
-            </glyph>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/negativeCoords.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/negativeCoords.sbgn
deleted file mode 100644
index 0451e9dc5c20a24c7c3bf0a9ab850a9f386de40b..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/negativeCoords.sbgn
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="al_e4046">
-            <label text="Protein"/>
-            <bbox w="137.0" h="46.0" x="252.5" y="233.5"/>
-        </glyph>
-        <glyph class="macromolecule" id="al_bb779">
-            <label text="Protein"/>
-            <bbox w="162.0" h="27.0" x="746.6857" y="109.398315"/>
-        </glyph>
-        <glyph class="macromolecule" id="al_cc320">
-            <label text="Protein"/>
-            <bbox w="126.0" h="50.0" x="767.5" y="234.5"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="id10001">
-            <bbox w="10.0" h="10.0" x="468.91882" y="186.9885"/>
-            <port id="id10001.1" x="473.91882" y="201.9885"/>
-            <port id="id10001.2" x="473.91882" y="181.9885"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="al_e4046" target="id10001.1">
-            <start x="389.5" y="256.5"/>
-            <end x="473.91882" y="201.9885"/>
-        </arc>
-        <arc class="production" id="arc1" source="id10001.2" target="al_bb779">
-            <start x="473.91882" y="181.9885"/>
-            <next x="558.33765" y="127.477005"/>
-            <end x="746.6857" y="122.898315"/>
-        </arc>
-        <arc class="production" id="arc2" source="id10001.2" target="al_cc320">
-            <start x="473.91882" y="181.9885"/>
-            <next x="-388.99945" y="-6934.2915"/>
-            <end x="826.26196" y="234.5"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/physical_stimulation.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/physical_stimulation.sbgn
deleted file mode 100644
index d3ce16343a834085934de47da439e1bae85ca7bb..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/physical_stimulation.sbgn
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="phenotype" id="sa1">
-            <label text="mtDNA replication"/>
-            <bbox w="147.0" h="36.0" x="5252.308" y="3040.9778"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa3">
-            <label text="TFAM"/>
-            <bbox w="75.0" h="46.0" x="5391.2188" y="3357.049"/>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/acetyled_protein.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/acetyled_protein.sbgn
deleted file mode 100644
index bafe3445dbf115f121423b1296c58b2977935f30..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/acetyled_protein.sbgn
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa1">
-            <label text="PPARGC1A"/>
-            <bbox w="80.0" h="40.0" x="372.495" y="269.73865"/>
-            <glyph class="state variable" id="sa1-rs1">
-                <bbox w="20.0" h="22.0" x="362.495" y="278.73865"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa3">
-            <label text="SIRT1"/>
-            <bbox w="80.0" h="40.0" x="198.495" y="192.98863"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa2">
-            <label text="PPARGC1A"/>
-            <bbox w="80.0" h="40.0" x="372.495" y="118.26136"/>
-            <glyph class="state variable" id="sa2-rs1">
-                <state value="Ac" variable=""/>
-                <bbox w="70.0" h="28.0" x="337.495" y="124.26136"/>
-            </glyph>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re1">
-            <bbox w="10.0" h="10.0" x="407.495" y="209.0"/>
-            <port id="re1.1" x="412.495" y="204.0"/>
-            <port id="re1.2" x="412.495" y="224.0"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="sa2" target="re1.1">
-            <start x="412.495" y="158.26137"/>
-            <end x="412.495" y="204.0"/>
-        </arc>
-        <arc class="production" id="arc1" source="re1.2" target="sa1">
-            <start x="412.495" y="224.0"/>
-            <end x="412.495" y="269.73865"/>
-        </arc>
-        <arc class="catalysis" id="arc2" source="sa3" target="re1">
-            <start x="278.495" y="213.22801"/>
-            <end x="407.495" y="214.0"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/antisense_wtih_region.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/antisense_wtih_region.sbgn
deleted file mode 100644
index d279c255c0520ecce35c871a9ca2cf098ff5a875..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/antisense_wtih_region.sbgn
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="nucleic acid feature" id="sa1">
-            <label text="s1"/>
-            <bbox w="90.0" h="25.0" x="111.0" y="146.5"/>
-            <glyph class="unit of information" id="sa1uoi">
-                <label text="ct:antisenseRNA"/>
-                <bbox w="70.0" h="12.0" x="121.0" y="140.5"/>
-            </glyph>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/compact_complex_view_problem.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/compact_complex_view_problem.sbgn
deleted file mode 100644
index 23273e94d066343ab0c1eedf01df2077d50bcbe6..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/compact_complex_view_problem.sbgn
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="complex" id="csa3">
-            <label text="s5"/>
-            <bbox w="289.0" h="240.0" x="219.0" y="79.0"/>
-            <glyph class="complex" id="csa1">
-                <label text="s1"/>
-                <bbox w="103.0" h="56.0" x="308.0" y="139.0"/>
-                <glyph class="macromolecule" id="sa1">
-                    <label text="s2"/>
-                    <bbox w="103.0" h="56.0" x="308.0" y="139.0"/>
-                </glyph>
-            </glyph>
-        </glyph>
-        <glyph class="complex" id="csa2">
-            <label text="s3"/>
-            <bbox w="165.0" h="252.0" x="31.0" y="75.0"/>
-        </glyph>
-        <glyph class="compartment" id="ca3">
-            <label text="c3"/>
-            <bbox w="522.0" h="323.0" x="14.0" y="26.0"/>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/complex_with_state.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/complex_with_state.sbgn
deleted file mode 100644
index 64186e7040bf050a9391b8bc56ab48fabe45ed2a..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/complex_with_state.sbgn
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="complex" id="csa2">
-            <label text="s3"/>
-            <bbox w="151.0" h="221.0" x="202.0" y="12.0"/>
-            <glyph class="macromolecule" id="sa2">
-                <label text="s4"/>
-                <bbox w="80.0" h="40.0" x="261.0" y="41.0"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa5">
-                <label text="s5"/>
-                <bbox w="80.0" h="40.0" x="251.0" y="137.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="complex" id="csa1">
-            <label text="s1"/>
-            <bbox w="100.0" h="120.0" x="72.0" y="100.0"/>
-            <glyph class="macromolecule" id="sa1">
-                <label text="s2"/>
-                <bbox w="80.0" h="40.0" x="85.0" y="142.0"/>
-            </glyph>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/duplicated_miriam.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/duplicated_miriam.sbgn
deleted file mode 100644
index 80e0b6d34ca1cd4294662ff30ea3397f169e7430..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/duplicated_miriam.sbgn
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa1">
-            <label text="UBE4B"/>
-            <bbox w="80.0" h="40.0" x="300.0" y="200.0"/>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/elements_in_compartments.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/elements_in_compartments.sbgn
deleted file mode 100644
index 01b6bce58010ecfb97f8cb0370664af71bcd103d..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/elements_in_compartments.sbgn
+++ /dev/null
@@ -1,245 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa8">
-            <label text="SYT1"/>
-            <bbox w="80.0" h="40.0" x="672.9167" y="455.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa15">
-            <label text="SYT1"/>
-            <bbox w="80.0" h="40.0" x="973.3333" y="1186.8334"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa20">
-            <label text="VAMP2"/>
-            <bbox w="80.0" h="40.0" x="1086.9375" y="176.83333"/>
-        </glyph>
-        <glyph class="compartment" id="ca2">
-            <label text="c2"/>
-            <bbox w="865.0" h="1357.0" x="457.0" y="120.0"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa18">
-            <label text="ATP"/>
-            <bbox w="70.0" h="25.0" x="742.0833" y="1360.8334"/>
-        </glyph>
-        <glyph class="complex" id="csa5">
-            <label text="V-ATPase"/>
-            <bbox w="100.0" h="120.0" x="689.0833" y="1232.8334"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa14">
-            <label text="SNCA"/>
-            <bbox w="80.0" h="40.0" x="910.3333" y="1242.8334"/>
-            <glyph class="state variable" id="sa14-rs1">
-                <bbox w="20.0" h="22.0" x="977.1754" y="1271.8334"/>
-            </glyph>
-            <glyph class="state variable" id="sa14-rs2">
-                <bbox w="20.0" h="22.0" x="930.1603" y="1271.8334"/>
-            </glyph>
-            <glyph class="state variable" id="sa14-rs4">
-                <bbox w="20.0" h="22.0" x="939.4183" y="1271.8334"/>
-            </glyph>
-            <glyph class="state variable" id="sa14-rs5">
-                <bbox w="20.0" h="22.0" x="948.3333" y="1271.8334"/>
-            </glyph>
-            <glyph class="state variable" id="sa14-rs6">
-                <bbox w="20.0" h="22.0" x="957.2745" y="1271.8334"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa2">
-            <label text="SNCA"/>
-            <bbox w="80.0" h="40.0" x="270.33334" y="499.83334"/>
-            <glyph class="state variable" id="sa2-rs1">
-                <bbox w="20.0" h="22.0" x="337.17545" y="528.8334"/>
-            </glyph>
-            <glyph class="state variable" id="sa2-rs2">
-                <bbox w="20.0" h="22.0" x="290.16034" y="528.8334"/>
-            </glyph>
-            <glyph class="state variable" id="sa2-rs4">
-                <bbox w="20.0" h="22.0" x="299.4183" y="528.8334"/>
-            </glyph>
-            <glyph class="state variable" id="sa2-rs5">
-                <bbox w="20.0" h="22.0" x="308.33334" y="528.8334"/>
-            </glyph>
-            <glyph class="state variable" id="sa2-rs6">
-                <bbox w="20.0" h="22.0" x="317.27454" y="528.8334"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa10">
-            <label text="DNAJC5"/>
-            <bbox w="80.0" h="40.0" x="791.0833" y="995.6795"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa7">
-            <label text="SYP"/>
-            <bbox w="80.0" h="40.0" x="663.6548" y="396.2619"/>
-        </glyph>
-        <glyph class="complex" id="csa6">
-            <label text="cis-SNARE complex"/>
-            <bbox w="196.0" h="167.0" x="845.6905" y="196.83333"/>
-            <glyph class="macromolecule" id="sa29">
-                <label text="VAMP2"/>
-                <bbox w="80.0" h="40.0" x="856.1369" y="298.83334"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa30">
-                <label text="STX1A"/>
-                <bbox w="80.0" h="40.0" x="856.0833" y="203.61905"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa31">
-                <label text="SNAP25"/>
-                <bbox w="80.0" h="40.0" x="856.0833" y="251.2262"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa32">
-                <label text="STXBP1"/>
-                <bbox w="80.0" h="40.0" x="947.0833" y="254.43956"/>
-            </glyph>
-        </glyph>
-        <glyph class="phenotype" id="sa1">
-            <label text="high concentration of alpha-synuclein"/>
-            <bbox w="210.0" h="42.0" x="68.416664" y="44.333332"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa12">
-            <label text="H+"/>
-            <bbox w="25.0" h="25.0" x="824.54486" y="1211.141"/>
-        </glyph>
-        <glyph class="complex" id="csa1">
-            <label text="Calcium channel:RIMBP:RIN:MUNC13:RAB"/>
-            <bbox w="293.0" h="149.0" x="43.654762" y="199.7619"/>
-            <glyph class="complex" id="csa7">
-                <label text="Calcium channel (N and P/Q type)"/>
-                <bbox w="82.0" h="44.0" x="59.60965" y="216.41228"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa21">
-                <label text="RAB3A"/>
-                <bbox w="80.0" h="40.0" x="252.03938" y="255.45421"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa22">
-                <label text="BZRAP1"/>
-                <bbox w="80.0" h="40.0" x="60.654762" y="273.2619"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa23">
-                <label text="UNC13B"/>
-                <bbox w="80.0" h="40.0" x="160.65475" y="224.2619"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa24">
-                <label text="RIMS1"/>
-                <bbox w="80.0" h="40.0" x="158.15475" y="273.2619"/>
-                <glyph class="state variable" id="sa24-rs1">
-                    <bbox w="20.0" h="22.0" x="148.15475" y="282.2619"/>
-                </glyph>
-            </glyph>
-        </glyph>
-        <glyph class="complex" id="csa4">
-            <label text="acidifying vesicle"/>
-            <bbox w="132.0" h="26.0" x="674.0833" y="1115.8334"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa13">
-            <label text="H+"/>
-            <bbox w="25.0" h="25.0" x="823.54486" y="1345.141"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa16">
-            <label text="RAB3A"/>
-            <bbox w="80.0" h="40.0" x="979.0833" y="1067.8334"/>
-        </glyph>
-        <glyph class="complex" id="csa2">
-            <label text="fusing synaptic vesicle"/>
-            <bbox w="176.0" h="26.0" x="265.58334" y="451.66666"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa5">
-            <label text="arachidonic acid"/>
-            <bbox w="70.0" h="25.0" x="269.08334" y="772.3333"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa17">
-            <label text="ADP"/>
-            <bbox w="70.0" h="25.0" x="862.0833" y="1361.8334"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa11">
-            <label text="SYP"/>
-            <bbox w="80.0" h="40.0" x="898.6548" y="1015.4048"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa9">
-            <label text="SLC18A2"/>
-            <bbox w="80.0" h="40.0" x="623.9167" y="528.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa6">
-            <label text="LRRK2"/>
-            <bbox w="80.0" h="40.0" x="270.9405" y="1014.8333"/>
-            <glyph class="state variable" id="sa6-rs1">
-                <bbox w="20.0" h="22.0" x="380.77826" y="1043.8333"/>
-            </glyph>
-        </glyph>
-        <glyph class="simple chemical" id="sa3">
-            <label text="dopamine"/>
-            <bbox w="120.0" h="25.0" x="410.3611" y="290.33334"/>
-        </glyph>
-        <glyph class="compartment" id="ca3">
-            <label text="c3"/>
-            <bbox w="317.0" h="502.0" x="111.0" y="660.0"/>
-        </glyph>
-        <glyph class="compartment" id="ca1">
-            <label text="c1"/>
-            <bbox w="420.0" h="337.0" x="622.0" y="1045.0"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa4">
-            <label text="dopamine"/>
-            <bbox w="120.0" h="25.0" x="412.83334" y="7.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa19">
-            <label text="VAMP2"/>
-            <bbox w="80.0" h="40.0" x="987.0833" y="1128.8334"/>
-        </glyph>
-        <glyph class="complex" id="csa3">
-            <label text="trans-SNARE complex"/>
-            <bbox w="191.0" h="164.0" x="541.3333" y="199.16667"/>
-            <glyph class="macromolecule" id="sa25">
-                <label text="VAMP2"/>
-                <bbox w="80.0" h="40.0" x="551.7798" y="301.16666"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa26">
-                <label text="STX1A"/>
-                <bbox w="80.0" h="40.0" x="551.7262" y="205.95238"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa27">
-                <label text="SNAP25"/>
-                <bbox w="80.0" h="40.0" x="552.003" y="253.55952"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa28">
-                <label text="STXBP1"/>
-                <bbox w="80.0" h="40.0" x="639.0833" y="252.83333"/>
-            </glyph>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re4">
-            <bbox w="10.0" h="10.0" x="784.0119" y="275.7534"/>
-            <port id="re4.1" x="779.0119" y="280.7534"/>
-            <port id="re4.2" x="799.0119" y="280.7534"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re5">
-            <bbox w="10.0" h="10.0" x="541.8333" y="791.75"/>
-            <port id="re5.1" x="546.8333" y="786.75"/>
-            <port id="re5.2" x="546.8333" y="806.75"/>
-        </glyph>
-        <arc class="inhibition" id="re1" source="sa1" target="sa5">
-            <start x="68.41667" y="65.333336"/>
-            <next x="9.0" y="65.333336"/>
-            <next x="9.0" y="784.8333"/>
-            <end x="266.08334" y="784.8333"/>
-        </arc>
-        <arc class="consumption" id="arc0" source="csa3" target="re4.1">
-            <start x="732.3333" y="280.90732"/>
-            <end x="779.0119" y="280.7534"/>
-        </arc>
-        <arc class="production" id="arc1" source="re4.2" target="csa6">
-            <start x="799.0119" y="280.7534"/>
-            <end x="845.6905" y="280.5995"/>
-        </arc>
-        <arc class="inhibition" id="re3" source="sa2" target="sa5">
-            <start x="309.86163" y="539.8333"/>
-            <end x="304.44888" y="769.3346"/>
-        </arc>
-        <arc class="consumption" id="arc2" source="csa2" target="re5.1">
-            <start x="361.14844" y="477.66666"/>
-            <end x="546.8333" y="786.75"/>
-        </arc>
-        <arc class="production" id="arc3" source="re5.2" target="csa4">
-            <start x="546.8333" y="806.75"/>
-            <end x="732.51825" y="1115.8334"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/hypothetical_complex.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/hypothetical_complex.sbgn
deleted file mode 100644
index afcf66a93d22fe21a1a543ae3e2e633b66b3c872..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/hypothetical_complex.sbgn
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="complex" id="csa1">
-            <label text="s1"/>
-            <bbox w="100.0" h="120.0" x="86.0" y="49.0"/>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/invalid_elements_name.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/invalid_elements_name.sbgn
deleted file mode 100644
index 9dbfed1c8e3403c8580e0a7e41fde166c8f4ff05..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/invalid_elements_name.sbgn
+++ /dev/null
@@ -1,1615 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa148">
-            <label text="NTAL"/>
-            <bbox w="81.0" h="41.0" x="10119.86" y="1184.25"/>
-            <glyph class="state variable" id="sa148-rs1">
-                <bbox w="20.0" h="22.0" x="10190.86" y="1193.2847"/>
-            </glyph>
-            <glyph class="state variable" id="sa148-rs2">
-                <bbox w="20.0" h="22.0" x="10190.86" y="1173.8357"/>
-            </glyph>
-            <glyph class="state variable" id="sa148-rs3">
-                <bbox w="20.0" h="22.0" x="10191.673" y="1214.25"/>
-            </glyph>
-            <glyph class="state variable" id="sa148-rs4">
-                <bbox w="20.0" h="22.0" x="10109.86" y="1193.7084"/>
-            </glyph>
-            <glyph class="state variable" id="sa148-rs5">
-                <bbox w="20.0" h="22.0" x="10109.86" y="1213.1111"/>
-            </glyph>
-            <glyph class="state variable" id="sa148-rs6">
-                <bbox w="20.0" h="22.0" x="10109.86" y="1175.2251"/>
-            </glyph>
-            <glyph class="state variable" id="sa148-rs7">
-                <bbox w="20.0" h="22.0" x="10136.603" y="1173.25"/>
-            </glyph>
-            <glyph class="state variable" id="sa148-rs8">
-                <bbox w="20.0" h="22.0" x="10163.293" y="1173.25"/>
-            </glyph>
-            <glyph class="state variable" id="sa148-rs9">
-                <bbox w="20.0" h="22.0" x="10136.388" y="1214.25"/>
-            </glyph>
-            <glyph class="state variable" id="sa148-rs10">
-                <bbox w="20.0" h="22.0" x="10162.953" y="1214.25"/>
-            </glyph>
-        </glyph>
-        <glyph class="complex" id="csa277">
-            <label text="BCAP singalosome"/>
-            <bbox w="301.0" h="84.0" x="7424.5" y="1857.5"/>
-            <glyph class="macromolecule" id="sa1700">
-                <label text="PIK3AP1"/>
-                <bbox w="81.0" h="41.0" x="7441.125" y="1869.25"/>
-                <glyph class="state variable" id="sa1700-rs1">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="7487.125" y="1875.2029"/>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule" id="sa1701">
-                <label text="PIK3CD"/>
-                <bbox w="81.0" h="41.0" x="7623.5" y="1866.5"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1702">
-                <label text="PIK3R1"/>
-                <bbox w="81.0" h="41.0" x="7533.5" y="1868.5"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa1641">
-            <label text="SHC1"/>
-            <bbox w="81.0" h="41.0" x="7926.5" y="1335.5"/>
-            <glyph class="state variable" id="sa1641-rs1">
-                <state value="P" variable=""/>
-                <bbox w="70.0" h="28.0" x="7930.6836" y="1362.5"/>
-            </glyph>
-            <glyph class="state variable" id="sa1641-rs2">
-                <state value="P" variable=""/>
-                <bbox w="70.0" h="28.0" x="7892.442" y="1362.5"/>
-            </glyph>
-            <glyph class="state variable" id="sa1641-rs3">
-                <state value="P" variable=""/>
-                <bbox w="70.0" h="28.0" x="7970.1636" y="1362.5"/>
-            </glyph>
-        </glyph>
-        <glyph class="complex" id="csa258">
-            <label text="BCR complex"/>
-            <bbox w="223.0" h="267.0" x="6704.6665" y="853.0"/>
-            <glyph class="complex multimer" id="csa263">
-                <label text="BCR"/>
-                <bbox w="195.0" h="128.0" x="6718.6665" y="910.0"/>
-                <glyph class="unit of information" id="csa263uoi">
-                    <label text="N:2; N:2"/>
-                    <bbox w="175.0" h="12.0" x="6728.6665" y="904.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa1613">
-                    <label text="CD79A"/>
-                    <bbox w="80.0" h="40.0" x="6731.6665" y="968.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa1614">
-                    <label text="mIg"/>
-                    <bbox w="80.0" h="40.0" x="6730.6665" y="922.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa1615">
-                    <label text="CD79B"/>
-                    <bbox w="80.0" h="40.0" x="6817.6665" y="967.5"/>
-                    <glyph class="state variable" id="sa1615-rs1">
-                        <state value="P" variable=""/>
-                        <bbox w="70.0" h="28.0" x="6798.594" y="993.5"/>
-                    </glyph>
-                    <glyph class="state variable" id="sa1615-rs2">
-                        <state value="P" variable=""/>
-                        <bbox w="70.0" h="28.0" x="6846.9604" y="993.5"/>
-                    </glyph>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule" id="sa1610">
-                <label text="LYN"/>
-                <bbox w="80.0" h="40.0" x="6731.4165" y="1049.0"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1611">
-                <label text="SYK"/>
-                <bbox w="80.0" h="40.0" x="6816.6665" y="1048.5"/>
-                <glyph class="state variable" id="sa1611-rs1">
-                    <bbox w="20.0" h="22.0" x="6844.133" y="1077.5"/>
-                </glyph>
-            </glyph>
-            <glyph class="unspecified entity" id="sa1612">
-                <label text="Allergen"/>
-                <bbox w="70.0" h="25.0" x="6779.6665" y="865.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa1589">
-            <label text="LYN"/>
-            <bbox w="80.0" h="40.0" x="6573.2915" y="1150.75"/>
-        </glyph>
-        <glyph class="complex" id="csa12">
-            <label text="FcεR1 complex"/>
-            <bbox w="241.0" h="329.0" x="11120.36" y="832.1786"/>
-            <glyph class="complex multimer" id="csa79">
-                <label text="FcεR1"/>
-                <bbox w="204.0" h="132.0" x="11140.36" y="951.1786"/>
-                <glyph class="unit of information" id="csa79uoi">
-                    <label text="N:2; N:2"/>
-                    <bbox w="184.0" h="12.0" x="11150.36" y="945.1786"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa283">
-                    <label text="FCER1A"/>
-                    <bbox w="80.0" h="40.0" x="11152.36" y="966.1786"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa284">
-                    <label text="MS4A2"/>
-                    <bbox w="80.0" h="40.0" x="11151.36" y="1013.1786"/>
-                    <glyph class="state variable" id="sa284-rs1">
-                        <state value="P" variable=""/>
-                        <bbox w="70.0" h="28.0" x="11154.352" y="1039.1786"/>
-                    </glyph>
-                </glyph>
-                <glyph class="macromolecule multimer" id="sa285">
-                    <label text="FCER1G"/>
-                    <bbox w="86.0" h="46.0" x="11239.36" y="988.1786"/>
-                    <glyph class="state variable" id="sa285-rs1">
-                        <state value="P" variable=""/>
-                        <bbox w="70.0" h="28.0" x="11219.772" y="1020.1786"/>
-                    </glyph>
-                    <glyph class="state variable" id="sa285-rs2">
-                        <state value="P" variable=""/>
-                        <bbox w="70.0" h="28.0" x="11272.075" y="1020.1786"/>
-                    </glyph>
-                    <glyph class="unit of information" id="sa285uoi">
-                        <label text="N:2; N:2"/>
-                        <bbox w="66.0" h="12.0" x="11249.36" y="982.1786"/>
-                    </glyph>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule multimer" id="sa281">
-                <label text="IgE"/>
-                <bbox w="86.0" h="46.0" x="11203.36" y="889.1786"/>
-                <glyph class="unit of information" id="sa281uoi">
-                    <label text="N:2; N:2"/>
-                    <bbox w="66.0" h="12.0" x="11213.36" y="883.1786"/>
-                </glyph>
-            </glyph>
-            <glyph class="unspecified entity" id="sa282">
-                <label text="Allergen"/>
-                <bbox w="70.0" h="25.0" x="11213.36" y="846.6786"/>
-            </glyph>
-        </glyph>
-        <glyph class="complex" id="csa166">
-            <label text="TCR complex"/>
-            <bbox w="299.0" h="407.0" x="5344.894" y="2138.3823"/>
-            <glyph class="macromolecule multimer" id="sa1205">
-                <label text="CD247"/>
-                <bbox w="87.0" h="47.0" x="5357.019" y="2340.1323"/>
-                <glyph class="state variable" id="sa1205-rs1">
-                    <bbox w="20.0" h="22.0" x="5375.095" y="2376.1323"/>
-                </glyph>
-                <glyph class="state variable" id="sa1205-rs2">
-                    <bbox w="20.0" h="22.0" x="5406.938" y="2376.1323"/>
-                </glyph>
-                <glyph class="state variable" id="sa1205-rs3">
-                    <bbox w="20.0" h="22.0" x="5347.019" y="2352.6323"/>
-                </glyph>
-                <glyph class="state variable" id="sa1205-rs4">
-                    <bbox w="20.0" h="22.0" x="5434.019" y="2352.044"/>
-                </glyph>
-                <glyph class="state variable" id="sa1205-rs5">
-                    <bbox w="20.0" h="22.0" x="5434.5654" y="2376.1323"/>
-                </glyph>
-                <glyph class="state variable" id="sa1205-rs6">
-                    <bbox w="20.0" h="22.0" x="5347.8467" y="2376.1323"/>
-                </glyph>
-                <glyph class="unit of information" id="sa1205uoi">
-                    <label text="N:2; N:2"/>
-                    <bbox w="67.0" h="12.0" x="5367.019" y="2334.1323"/>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule" id="sa1371">
-                <label text="LCK"/>
-                <bbox w="81.0" h="41.0" x="5458.423" y="2160.1155"/>
-                <glyph class="state variable" id="sa1371-rs1">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="5504.423" y="2166.6155"/>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule" id="sa1372">
-                <label text="CD4"/>
-                <bbox w="81.0" h="41.0" x="5552.423" y="2159.1155"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1373">
-                <label text="CD3D"/>
-                <bbox w="81.0" h="41.0" x="5506.423" y="2207.1155"/>
-                <glyph class="state variable" id="sa1373-rs2">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="5552.423" y="2212.9426"/>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule" id="sa1374">
-                <label text="CD3E"/>
-                <bbox w="81.0" h="41.0" x="5505.923" y="2254.6155"/>
-                <glyph class="state variable" id="sa1374-rs2">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="5551.923" y="2260.5432"/>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule" id="sa1375">
-                <label text="TCRC1"/>
-                <bbox w="81.0" h="41.0" x="5460.423" y="2307.1155"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1376">
-                <label text="TCRB"/>
-                <bbox w="81.0" h="41.0" x="5548.423" y="2308.1155"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1377">
-                <label text="TCRC"/>
-                <bbox w="81.0" h="41.0" x="5460.423" y="2376.1155"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1378">
-                <label text="TCRA"/>
-                <bbox w="81.0" h="41.0" x="5549.423" y="2377.1155"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1379">
-                <label text="CD3E"/>
-                <bbox w="81.0" h="41.0" x="5502.423" y="2430.1155"/>
-                <glyph class="state variable" id="sa1379-rs2">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="5548.423" y="2436.0432"/>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule" id="sa1380">
-                <label text="CD3G"/>
-                <bbox w="81.0" h="41.0" x="5502.423" y="2478.1155"/>
-                <glyph class="state variable" id="sa1380-rs2">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="5548.423" y="2484.6155"/>
-                </glyph>
-            </glyph>
-        </glyph>
-        <glyph class="complex" id="csa257">
-            <label text="BCR aggregated"/>
-            <bbox w="223.0" h="317.0" x="6169.6665" y="1240.0"/>
-            <glyph class="complex multimer" id="csa262">
-                <label text="BCR"/>
-                <bbox w="195.0" h="128.0" x="6183.6665" y="1297.0"/>
-                <glyph class="unit of information" id="csa262uoi">
-                    <label text="N:2; N:2"/>
-                    <bbox w="175.0" h="12.0" x="6193.6665" y="1291.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa1607">
-                    <label text="CD79A"/>
-                    <bbox w="80.0" h="40.0" x="6196.6665" y="1355.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa1608">
-                    <label text="mIg"/>
-                    <bbox w="80.0" h="40.0" x="6195.6665" y="1309.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa1609">
-                    <label text="CD79B"/>
-                    <bbox w="80.0" h="40.0" x="6282.6665" y="1354.5"/>
-                    <glyph class="state variable" id="sa1609-rs1">
-                        <state value="P" variable=""/>
-                        <bbox w="70.0" h="28.0" x="6263.594" y="1380.5"/>
-                    </glyph>
-                    <glyph class="state variable" id="sa1609-rs2">
-                        <state value="P" variable=""/>
-                        <bbox w="70.0" h="28.0" x="6311.9604" y="1380.5"/>
-                    </glyph>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule" id="sa1603">
-                <label text="FCGR2B "/>
-                <bbox w="80.0" h="40.0" x="6238.6665" y="1489.5"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1604">
-                <label text="LYN"/>
-                <bbox w="80.0" h="40.0" x="6196.4165" y="1436.0"/>
-            </glyph>
-            <glyph class="unspecified entity" id="sa1605">
-                <label text="FCER1A"/>
-                <bbox w="70.0" h="25.0" x="6244.6665" y="1252.0"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1606">
-                <label text="SYK"/>
-                <bbox w="80.0" h="40.0" x="6281.6665" y="1435.5"/>
-                <glyph class="state variable" id="sa1606-rs1">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="6284.133" y="1461.5"/>
-                </glyph>
-            </glyph>
-        </glyph>
-        <glyph class="complex" id="csa255">
-            <label text="BCR"/>
-            <bbox w="189.0" h="122.0" x="5807.6665" y="925.5"/>
-            <glyph class="macromolecule" id="sa1596">
-                <label text="CD79A"/>
-                <bbox w="80.0" h="40.0" x="5820.6665" y="983.5"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1597">
-                <label text="mIg"/>
-                <bbox w="80.0" h="40.0" x="5819.6665" y="937.5"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1598">
-                <label text="CD79B"/>
-                <bbox w="80.0" h="40.0" x="5906.6665" y="983.5"/>
-                <glyph class="state variable" id="sa1598-rs1">
-                    <bbox w="20.0" h="22.0" x="5912.594" y="1012.5"/>
-                </glyph>
-                <glyph class="state variable" id="sa1598-rs2">
-                    <bbox w="20.0" h="22.0" x="5960.9604" y="1012.5"/>
-                </glyph>
-            </glyph>
-        </glyph>
-        <glyph class="complex" id="csa259">
-            <label text="BCR complex"/>
-            <bbox w="223.0" h="267.0" x="7010.6665" y="853.0"/>
-            <glyph class="complex multimer" id="csa264">
-                <label text="BCR"/>
-                <bbox w="195.0" h="128.0" x="7024.6665" y="910.0"/>
-                <glyph class="unit of information" id="csa264uoi">
-                    <label text="N:2; N:2"/>
-                    <bbox w="175.0" h="12.0" x="7034.6665" y="904.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa1619">
-                    <label text="CD79A"/>
-                    <bbox w="80.0" h="40.0" x="7037.6665" y="968.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa1620">
-                    <label text="mIg"/>
-                    <bbox w="80.0" h="40.0" x="7036.6665" y="922.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa1621">
-                    <label text="CD79B"/>
-                    <bbox w="80.0" h="40.0" x="7123.6665" y="967.5"/>
-                    <glyph class="state variable" id="sa1621-rs1">
-                        <state value="P" variable=""/>
-                        <bbox w="70.0" h="28.0" x="7104.594" y="993.5"/>
-                    </glyph>
-                    <glyph class="state variable" id="sa1621-rs2">
-                        <state value="P" variable=""/>
-                        <bbox w="70.0" h="28.0" x="7152.9604" y="993.5"/>
-                    </glyph>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule" id="sa1616">
-                <label text="LYN"/>
-                <bbox w="80.0" h="40.0" x="7037.4165" y="1049.0"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1617">
-                <label text="SYK"/>
-                <bbox w="80.0" h="40.0" x="7122.6665" y="1048.5"/>
-                <glyph class="state variable" id="sa1617-rs1">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="7125.133" y="1074.5"/>
-                </glyph>
-            </glyph>
-            <glyph class="unspecified entity" id="sa1618">
-                <label text="Allergen"/>
-                <bbox w="70.0" h="25.0" x="7085.6665" y="865.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa1655">
-            <label text="GRB2"/>
-            <bbox w="81.0" h="41.0" x="7933.5" y="1819.5"/>
-        </glyph>
-        <glyph class="complex" id="csa165">
-            <label text="MHCII-TCR"/>
-            <bbox w="490.0" h="396.0" x="5371.394" y="2644.8823"/>
-            <glyph class="macromolecule" id="sa1355">
-                <label text="CD4"/>
-                <bbox w="81.0" h="41.0" x="5571.096" y="2654.1155"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1356">
-                <label text="LCK"/>
-                <bbox w="81.0" h="41.0" x="5477.096" y="2655.1155"/>
-                <glyph class="state variable" id="sa1356-rs1">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="5523.096" y="2661.6155"/>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule" id="sa1357">
-                <label text="CD3D"/>
-                <bbox w="81.0" h="41.0" x="5525.096" y="2702.1155"/>
-                <glyph class="state variable" id="sa1357-rs2">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="5571.096" y="2707.9426"/>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule" id="sa1358">
-                <label text="CD3E"/>
-                <bbox w="81.0" h="41.0" x="5524.596" y="2749.6155"/>
-                <glyph class="state variable" id="sa1358-rs2">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="5570.596" y="2755.5432"/>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule multimer" id="sa1359">
-                <label text="CD247"/>
-                <bbox w="87.0" h="47.0" x="5382.75" y="2830.2234"/>
-                <glyph class="state variable" id="sa1359-rs1">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="5375.826" y="2863.2234"/>
-                </glyph>
-                <glyph class="state variable" id="sa1359-rs2">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="5407.669" y="2863.2234"/>
-                </glyph>
-                <glyph class="state variable" id="sa1359-rs3">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="5347.75" y="2839.7234"/>
-                </glyph>
-                <glyph class="state variable" id="sa1359-rs4">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="5434.75" y="2839.135"/>
-                </glyph>
-                <glyph class="state variable" id="sa1359-rs5">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="5435.2964" y="2863.2234"/>
-                </glyph>
-                <glyph class="state variable" id="sa1359-rs6">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="5348.5776" y="2863.2234"/>
-                </glyph>
-                <glyph class="unit of information" id="sa1359uoi">
-                    <label text="N:2; N:2"/>
-                    <bbox w="67.0" h="12.0" x="5392.75" y="2824.2234"/>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule" id="sa1360">
-                <label text="TCRC"/>
-                <bbox w="81.0" h="41.0" x="5479.096" y="2871.1155"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1361">
-                <label text="TCRC1"/>
-                <bbox w="81.0" h="41.0" x="5479.096" y="2802.1155"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1362">
-                <label text="TCRB"/>
-                <bbox w="81.0" h="41.0" x="5567.096" y="2803.1155"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1363">
-                <label text="TCRA"/>
-                <bbox w="81.0" h="41.0" x="5568.096" y="2872.1155"/>
-            </glyph>
-            <glyph class="unspecified entity" id="sa1364">
-                <label text="Antigen"/>
-                <bbox w="70.0" h="25.0" x="5630.596" y="2845.1155"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1365">
-                <label text="HLA II β1"/>
-                <bbox w="81.0" h="41.0" x="5686.596" y="2803.6155"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1366">
-                <label text="HLA II α1"/>
-                <bbox w="81.0" h="41.0" x="5686.596" y="2871.6155"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1367">
-                <label text="HLA II α2"/>
-                <bbox w="81.0" h="41.0" x="5774.096" y="2873.1155"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1368">
-                <label text="HLA II β2"/>
-                <bbox w="81.0" h="41.0" x="5774.596" y="2805.6155"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1369">
-                <label text="CD3E"/>
-                <bbox w="81.0" h="41.0" x="5521.096" y="2925.1155"/>
-                <glyph class="state variable" id="sa1369-rs2">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="5567.096" y="2931.0432"/>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule" id="sa1370">
-                <label text="CD3G"/>
-                <bbox w="81.0" h="41.0" x="5521.096" y="2973.1155"/>
-                <glyph class="state variable" id="sa1370-rs2">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="5567.096" y="2979.6155"/>
-                </glyph>
-            </glyph>
-        </glyph>
-        <glyph class="complex" id="csa267">
-            <label text="BLNK complex"/>
-            <bbox w="285.0" h="130.0" x="7157.5" y="1170.5"/>
-            <glyph class="macromolecule" id="sa1628">
-                <label text="BLNK"/>
-                <bbox w="81.0" h="41.0" x="7170.5" y="1185.5"/>
-                <glyph class="state variable" id="sa1628-rs1">
-                    <bbox w="20.0" h="22.0" x="7179.496" y="1174.5"/>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule" id="sa1629">
-                <label text="GRB2"/>
-                <bbox w="80.0" h="40.0" x="7259.625" y="1184.25"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1630">
-                <label text="SOS1"/>
-                <bbox w="81.0" h="41.0" x="7346.125" y="1182.25"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1631">
-                <label text="SH3KBP1"/>
-                <bbox w="81.0" h="41.0" x="7171.5" y="1234.5"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1632">
-                <label text="CBL"/>
-                <bbox w="81.0" h="41.0" x="7259.5" y="1232.5"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1634">
-                <label text="CBLB"/>
-                <bbox w="81.0" h="41.0" x="7347.5" y="1230.5"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa1591">
-            <label text="FCGR2B "/>
-            <bbox w="80.0" h="40.0" x="6469.6665" y="1434.5"/>
-        </glyph>
-        <glyph class="complex" id="csa199">
-            <label text="MHC-II"/>
-            <bbox w="236.0" h="158.0" x="5673.5386" y="2285.1538"/>
-            <glyph class="unspecified entity" id="sa1381">
-                <label text="Antigen"/>
-                <bbox w="70.0" h="25.0" x="5673.673" y="2341.75"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1382">
-                <label text="HLA II β1"/>
-                <bbox w="81.0" h="41.0" x="5729.673" y="2300.25"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1383">
-                <label text="HLA II β2"/>
-                <bbox w="81.0" h="41.0" x="5817.673" y="2302.25"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1384">
-                <label text="HLA II α2"/>
-                <bbox w="81.0" h="41.0" x="5817.173" y="2369.75"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1385">
-                <label text="HLA II α1"/>
-                <bbox w="81.0" h="41.0" x="5729.673" y="2368.25"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa1083">
-            <label text="CSF2"/>
-            <bbox w="81.0" h="41.0" x="5213.144" y="3676.1323"/>
-        </glyph>
-        <glyph class="complex" id="csa253">
-            <label text="CD40L-CD40"/>
-            <bbox w="282.0" h="101.0" x="5491.5" y="1962.5"/>
-            <glyph class="macromolecule" id="sa1585">
-                <label text="CD40LG"/>
-                <bbox w="81.0" h="41.0" x="5505.4443" y="1984.6666"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1586">
-                <label text="CD40"/>
-                <bbox w="81.0" h="41.0" x="5677.4443" y="1981.6666"/>
-            </glyph>
-        </glyph>
-        <glyph class="complex" id="csa13">
-            <label text="FcεR1 complex"/>
-            <bbox w="241.0" h="329.0" x="11461.36" y="832.1786"/>
-            <glyph class="complex multimer" id="csa80">
-                <label text="FcεR1"/>
-                <bbox w="204.0" h="132.0" x="11481.36" y="951.1786"/>
-                <glyph class="unit of information" id="csa80uoi">
-                    <label text="N:2; N:2"/>
-                    <bbox w="184.0" h="12.0" x="11491.36" y="945.1786"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa289">
-                    <label text="FCER1A"/>
-                    <bbox w="80.0" h="40.0" x="11493.36" y="966.1786"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa290">
-                    <label text="MS4A2"/>
-                    <bbox w="80.0" h="40.0" x="11492.36" y="1013.1786"/>
-                    <glyph class="state variable" id="sa290-rs1">
-                        <state value="P" variable=""/>
-                        <bbox w="70.0" h="28.0" x="11495.352" y="1039.1786"/>
-                    </glyph>
-                </glyph>
-                <glyph class="macromolecule multimer" id="sa291">
-                    <label text="FCER1G"/>
-                    <bbox w="86.0" h="46.0" x="11581.36" y="985.1786"/>
-                    <glyph class="state variable" id="sa291-rs1">
-                        <state value="P" variable=""/>
-                        <bbox w="70.0" h="28.0" x="11561.772" y="1017.1786"/>
-                    </glyph>
-                    <glyph class="state variable" id="sa291-rs2">
-                        <state value="P" variable=""/>
-                        <bbox w="70.0" h="28.0" x="11614.075" y="1017.1786"/>
-                    </glyph>
-                    <glyph class="unit of information" id="sa291uoi">
-                        <label text="N:2; N:2"/>
-                        <bbox w="66.0" h="12.0" x="11591.36" y="979.1786"/>
-                    </glyph>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule" id="sa286">
-                <label text="LYN"/>
-                <bbox w="80.0" h="40.0" x="11489.36" y="1095.1786"/>
-            </glyph>
-            <glyph class="macromolecule multimer" id="sa287">
-                <label text="IgE"/>
-                <bbox w="86.0" h="46.0" x="11538.36" y="885.1786"/>
-                <glyph class="unit of information" id="sa287uoi">
-                    <label text="N:2; N:2"/>
-                    <bbox w="66.0" h="12.0" x="11548.36" y="879.1786"/>
-                </glyph>
-            </glyph>
-            <glyph class="unspecified entity" id="sa288">
-                <label text="Allergen"/>
-                <bbox w="70.0" h="25.0" x="11548.36" y="842.6786"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule multimer" id="sa1387">
-            <label text="IgE"/>
-            <bbox w="86.0" h="46.0" x="8166.5" y="1081.0"/>
-            <glyph class="unit of information" id="sa1387uoi">
-                <label text="N:2; N:2"/>
-                <bbox w="66.0" h="12.0" x="8176.5" y="1075.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="complex" id="csa271">
-            <label text="BLNK signalosome"/>
-            <bbox w="466.0" h="408.0" x="7159.5" y="1397.5"/>
-            <glyph class="complex" id="csa272">
-                <label text="BCR complex"/>
-                <bbox w="284.0" h="362.0" x="7174.125" y="1418.5"/>
-                <glyph class="complex multimer" id="csa273">
-                    <label text="BCR"/>
-                    <bbox w="195.0" h="128.0" x="7218.125" y="1471.5"/>
-                    <glyph class="unit of information" id="csa273uoi">
-                        <label text="N:2; N:2"/>
-                        <bbox w="175.0" h="12.0" x="7228.125" y="1465.5"/>
-                    </glyph>
-                    <glyph class="macromolecule" id="sa1669">
-                        <label text="CD79A"/>
-                        <bbox w="80.0" h="40.0" x="7231.125" y="1529.5"/>
-                    </glyph>
-                    <glyph class="macromolecule" id="sa1670">
-                        <label text="mIg"/>
-                        <bbox w="80.0" h="40.0" x="7230.125" y="1483.5"/>
-                    </glyph>
-                    <glyph class="macromolecule" id="sa1671">
-                        <label text="CD79B"/>
-                        <bbox w="80.0" h="40.0" x="7317.125" y="1529.0"/>
-                        <glyph class="state variable" id="sa1671-rs1">
-                            <state value="P" variable=""/>
-                            <bbox w="70.0" h="28.0" x="7298.0527" y="1555.0"/>
-                        </glyph>
-                        <glyph class="state variable" id="sa1671-rs2">
-                            <state value="P" variable=""/>
-                            <bbox w="70.0" h="28.0" x="7346.419" y="1555.0"/>
-                        </glyph>
-                    </glyph>
-                </glyph>
-                <glyph class="macromolecule" id="sa1660">
-                    <label text="LYN"/>
-                    <bbox w="80.0" h="40.0" x="7230.875" y="1610.5"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa1661">
-                    <label text="SYK"/>
-                    <bbox w="80.0" h="40.0" x="7316.125" y="1610.0"/>
-                    <glyph class="state variable" id="sa1661-rs1">
-                        <state value="P" variable=""/>
-                        <bbox w="70.0" h="28.0" x="7318.5913" y="1636.0"/>
-                    </glyph>
-                </glyph>
-                <glyph class="unspecified entity" id="sa1662">
-                    <label text="Allergen"/>
-                    <bbox w="70.0" h="25.0" x="7279.125" y="1426.5"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa1663">
-                    <label text="CBLB"/>
-                    <bbox w="81.0" h="41.0" x="7363.0415" y="1708.125"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa1664">
-                    <label text="CBL"/>
-                    <bbox w="81.0" h="41.0" x="7275.0415" y="1710.125"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa1665">
-                    <label text="SH3KBP1"/>
-                    <bbox w="81.0" h="41.0" x="7187.0415" y="1712.125"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa1666">
-                    <label text="SOS1"/>
-                    <bbox w="81.0" h="41.0" x="7361.6665" y="1659.875"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa1667">
-                    <label text="GRB2"/>
-                    <bbox w="80.0" h="40.0" x="7275.1665" y="1661.875"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa1668">
-                    <label text="BLNK"/>
-                    <bbox w="81.0" h="41.0" x="7186.0415" y="1663.125"/>
-                    <glyph class="state variable" id="sa1668-rs1">
-                        <state value="P" variable=""/>
-                        <bbox w="70.0" h="28.0" x="7170.0376" y="1649.125"/>
-                    </glyph>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule" id="sa1672">
-                <label text="NCK1"/>
-                <bbox w="81.0" h="41.0" x="7472.125" y="1420.5"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1673">
-                <label text="VAV1"/>
-                <bbox w="81.0" h="41.0" x="7471.125" y="1473.5"/>
-                <glyph class="state variable" id="sa1673-rs1">
-                    <bbox w="20.0" h="22.0" x="7542.125" y="1483.0"/>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule" id="sa1674">
-                <label text="DAPP1"/>
-                <bbox w="81.0" h="41.0" x="7470.125" y="1524.5"/>
-                <glyph class="state variable" id="sa1674-rs1">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="7516.125" y="1531.0"/>
-                </glyph>
-            </glyph>
-            <glyph class="simple chemical" id="sa1675">
-                <label text="PIP3"/>
-                <bbox w="41.0" h="41.0" x="7565.125" y="1526.5"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1676">
-                <label text="BTK"/>
-                <bbox w="81.0" h="41.0" x="7471.125" y="1575.5"/>
-                <glyph class="state variable" id="sa1676-rs1">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="7527.4473" y="1602.5"/>
-                </glyph>
-                <glyph class="state variable" id="sa1676-rs2">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="7517.125" y="1566.8965"/>
-                </glyph>
-            </glyph>
-            <glyph class="simple chemical" id="sa1677">
-                <label text="PIP3"/>
-                <bbox w="41.0" h="41.0" x="7564.125" y="1577.5"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1678">
-                <label text="PLCG1"/>
-                <bbox w="81.0" h="41.0" x="7471.125" y="1628.5"/>
-                <glyph class="state variable" id="sa1678-rs1">
-                    <bbox w="20.0" h="22.0" x="7551.621" y="1658.5"/>
-                </glyph>
-                <glyph class="state variable" id="sa1678-rs2">
-                    <bbox w="20.0" h="22.0" x="7542.125" y="1623.0043"/>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule" id="sa1679">
-                <label text="SHC1"/>
-                <bbox w="81.0" h="41.0" x="7472.125" y="1681.5"/>
-                <glyph class="state variable" id="sa1679-rs1">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="7476.3086" y="1708.5"/>
-                </glyph>
-                <glyph class="state variable" id="sa1679-rs2">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="7438.067" y="1708.5"/>
-                </glyph>
-                <glyph class="state variable" id="sa1679-rs3">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="7515.7886" y="1708.5"/>
-                </glyph>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa1084">
-            <label text="CSF2"/>
-            <bbox w="81.0" h="41.0" x="5213.019" y="3465.0073"/>
-        </glyph>
-        <glyph class="unspecified entity" id="sa1389">
-            <label text="Allergen"/>
-            <bbox w="70.0" h="25.0" x="5989.5" y="608.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa1583">
-            <label text="CD40"/>
-            <bbox w="81.0" h="41.0" x="5676.5" y="1824.5"/>
-        </glyph>
-        <glyph class="macromolecule multimer" id="sa52">
-            <label text="IgE"/>
-            <bbox w="86.0" h="46.0" x="10367.36" y="734.75"/>
-            <glyph class="unit of information" id="sa52uoi">
-                <label text="N:2; N:2"/>
-                <bbox w="66.0" h="12.0" x="10377.36" y="728.75"/>
-            </glyph>
-        </glyph>
-        <glyph class="compartment" id="ca1">
-            <label text="B CELL"/>
-            <bbox w="2726.0" h="2652.0" x="5737.0" y="957.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa1649">
-            <label text="PLCG1"/>
-            <bbox w="81.0" h="41.0" x="7925.5" y="1397.5"/>
-            <glyph class="state variable" id="sa1649-rs1">
-                <bbox w="20.0" h="22.0" x="8005.996" y="1427.5"/>
-            </glyph>
-            <glyph class="state variable" id="sa1649-rs2">
-                <bbox w="20.0" h="22.0" x="7996.5" y="1392.0043"/>
-            </glyph>
-        </glyph>
-        <glyph class="complex" id="csa14">
-            <label text="FcεR1 complex"/>
-            <bbox w="241.0" h="329.0" x="10794.36" y="832.1786"/>
-            <glyph class="complex multimer" id="csa81">
-                <label text="FcεR1"/>
-                <bbox w="204.0" h="132.0" x="10814.36" y="951.1786"/>
-                <glyph class="unit of information" id="csa81uoi">
-                    <label text="N:2; N:2"/>
-                    <bbox w="184.0" h="12.0" x="10824.36" y="945.1786"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa293">
-                    <label text="FCER1A"/>
-                    <bbox w="80.0" h="40.0" x="10826.36" y="966.1786"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa294">
-                    <label text="MS4A2"/>
-                    <bbox w="80.0" h="40.0" x="10825.36" y="1013.1786"/>
-                    <glyph class="state variable" id="sa294-rs1">
-                        <bbox w="20.0" h="22.0" x="10853.352" y="1042.1786"/>
-                    </glyph>
-                </glyph>
-                <glyph class="macromolecule multimer" id="sa295">
-                    <label text="FCER1G"/>
-                    <bbox w="86.0" h="46.0" x="10914.36" y="985.1786"/>
-                    <glyph class="state variable" id="sa295-rs1">
-                        <bbox w="20.0" h="22.0" x="10919.772" y="1020.1786"/>
-                    </glyph>
-                    <glyph class="state variable" id="sa295-rs2">
-                        <bbox w="20.0" h="22.0" x="10972.075" y="1020.1786"/>
-                    </glyph>
-                    <glyph class="unit of information" id="sa295uoi">
-                        <label text="N:2; N:2"/>
-                        <bbox w="66.0" h="12.0" x="10924.36" y="979.1786"/>
-                    </glyph>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule multimer" id="sa292">
-                <label text="IgE"/>
-                <bbox w="86.0" h="46.0" x="10874.36" y="880.1786"/>
-                <glyph class="unit of information" id="sa292uoi">
-                    <label text="N:2; N:2"/>
-                    <bbox w="66.0" h="12.0" x="10884.36" y="874.1786"/>
-                </glyph>
-            </glyph>
-            <glyph class="unspecified entity" id="sa1388">
-                <label text="Allergen"/>
-                <bbox w="70.0" h="25.0" x="10881.5" y="840.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa1656">
-            <label text="NCK1"/>
-            <bbox w="81.0" h="41.0" x="7931.5" y="1703.5"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa1588">
-            <label text="FYN"/>
-            <bbox w="80.0" h="40.0" x="6242.6665" y="1151.5"/>
-        </glyph>
-        <glyph class="complex" id="csa254">
-            <label text="BCR complex"/>
-            <bbox w="223.0" h="211.0" x="6076.6665" y="880.5"/>
-            <glyph class="complex multimer" id="csa260">
-                <label text="BCR"/>
-                <bbox w="195.0" h="128.0" x="6090.6665" y="937.5"/>
-                <glyph class="unit of information" id="csa260uoi">
-                    <label text="N:2; N:2"/>
-                    <bbox w="175.0" h="12.0" x="6100.6665" y="931.5"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa1593">
-                    <label text="CD79A"/>
-                    <bbox w="80.0" h="40.0" x="6103.6665" y="995.5"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa1594">
-                    <label text="mIg"/>
-                    <bbox w="80.0" h="40.0" x="6102.6665" y="949.5"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa1595">
-                    <label text="CD79B"/>
-                    <bbox w="80.0" h="40.0" x="6190.6665" y="995.5"/>
-                    <glyph class="state variable" id="sa1595-rs1">
-                        <bbox w="20.0" h="22.0" x="6196.594" y="1024.5"/>
-                    </glyph>
-                    <glyph class="state variable" id="sa1595-rs2">
-                        <bbox w="20.0" h="22.0" x="6244.9604" y="1024.5"/>
-                    </glyph>
-                </glyph>
-            </glyph>
-            <glyph class="unspecified entity" id="sa1592">
-                <label text="IL13RA1"/>
-                <bbox w="70.0" h="25.0" x="6151.6665" y="892.5"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa1590">
-            <label text="SYK"/>
-            <bbox w="80.0" h="40.0" x="6658.5415" y="1150.25"/>
-            <glyph class="state variable" id="sa1590-rs1">
-                <bbox w="20.0" h="22.0" x="6686.008" y="1179.25"/>
-            </glyph>
-        </glyph>
-        <glyph class="complex" id="csa265">
-            <label text="BCR complex"/>
-            <bbox w="284.0" h="362.0" x="7601.9585" y="781.75"/>
-            <glyph class="complex multimer" id="csa266">
-                <label text="BCR"/>
-                <bbox w="195.0" h="128.0" x="7645.9585" y="834.75"/>
-                <glyph class="unit of information" id="csa266uoi">
-                    <label text="N:2; N:2"/>
-                    <bbox w="175.0" h="12.0" x="7655.9585" y="828.75"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa1625">
-                    <label text="CD79A"/>
-                    <bbox w="80.0" h="40.0" x="7658.9585" y="892.75"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa1626">
-                    <label text="mIg"/>
-                    <bbox w="80.0" h="40.0" x="7657.9585" y="846.75"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa1627">
-                    <label text="CD79B"/>
-                    <bbox w="80.0" h="40.0" x="7744.9585" y="892.25"/>
-                    <glyph class="state variable" id="sa1627-rs1">
-                        <state value="P" variable=""/>
-                        <bbox w="70.0" h="28.0" x="7725.886" y="918.25"/>
-                    </glyph>
-                    <glyph class="state variable" id="sa1627-rs2">
-                        <state value="P" variable=""/>
-                        <bbox w="70.0" h="28.0" x="7774.2524" y="918.25"/>
-                    </glyph>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule" id="sa1622">
-                <label text="LYN"/>
-                <bbox w="80.0" h="40.0" x="7658.7085" y="973.75"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1623">
-                <label text="SYK"/>
-                <bbox w="80.0" h="40.0" x="7743.9585" y="973.25"/>
-                <glyph class="state variable" id="sa1623-rs1">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="7746.425" y="999.25"/>
-                </glyph>
-            </glyph>
-            <glyph class="unspecified entity" id="sa1624">
-                <label text="Allergen"/>
-                <bbox w="70.0" h="25.0" x="7706.9585" y="789.75"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1635">
-                <label text="CBLB"/>
-                <bbox w="81.0" h="41.0" x="7790.875" y="1071.375"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1636">
-                <label text="CBL"/>
-                <bbox w="81.0" h="41.0" x="7702.875" y="1073.375"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1637">
-                <label text="SH3KBP1"/>
-                <bbox w="81.0" h="41.0" x="7614.875" y="1075.375"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1638">
-                <label text="SOS1"/>
-                <bbox w="81.0" h="41.0" x="7789.5" y="1023.125"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1639">
-                <label text="GRB2"/>
-                <bbox w="80.0" h="40.0" x="7703.0" y="1025.125"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1640">
-                <label text="BLNK"/>
-                <bbox w="81.0" h="41.0" x="7613.875" y="1026.375"/>
-                <glyph class="state variable" id="sa1640-rs1">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="7597.871" y="1012.375"/>
-                </glyph>
-            </glyph>
-        </glyph>
-        <glyph class="complex" id="csa17">
-            <label text="FcεR1"/>
-            <bbox w="198.0" h="126.0" x="10179.36" y="934.6786"/>
-            <glyph class="macromolecule" id="sa310">
-                <label text="FCER1A"/>
-                <bbox w="80.0" h="40.0" x="10191.36" y="949.6786"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa311">
-                <label text="MS4A2"/>
-                <bbox w="80.0" h="40.0" x="10190.36" y="996.6786"/>
-                <glyph class="state variable" id="sa311-rs1">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="10193.352" y="1022.6786"/>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule multimer" id="sa312">
-                <label text="FCER1G"/>
-                <bbox w="86.0" h="46.0" x="10278.36" y="971.6786"/>
-                <glyph class="state variable" id="sa312-rs1">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="10258.772" y="1003.6786"/>
-                </glyph>
-                <glyph class="state variable" id="sa312-rs2">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="10311.075" y="1003.6786"/>
-                </glyph>
-                <glyph class="unit of information" id="sa312uoi">
-                    <label text="N:2; N:2"/>
-                    <bbox w="66.0" h="12.0" x="10288.36" y="965.6786"/>
-                </glyph>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa1584">
-            <label text="CD40LG"/>
-            <bbox w="81.0" h="41.0" x="5506.5" y="1827.5"/>
-        </glyph>
-        <glyph class="complex" id="csa256">
-            <label text="BCR complex"/>
-            <bbox w="223.0" h="211.0" x="6394.6665" y="881.0"/>
-            <glyph class="complex multimer" id="csa261">
-                <label text="BCR"/>
-                <bbox w="195.0" h="128.0" x="6408.6665" y="938.0"/>
-                <glyph class="unit of information" id="csa261uoi">
-                    <label text="N:2; N:2"/>
-                    <bbox w="175.0" h="12.0" x="6418.6665" y="932.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa1600">
-                    <label text="CD79B"/>
-                    <bbox w="80.0" h="40.0" x="6507.6665" y="995.5"/>
-                    <glyph class="state variable" id="sa1600-rs1">
-                        <state value="P" variable=""/>
-                        <bbox w="70.0" h="28.0" x="6488.594" y="1021.5"/>
-                    </glyph>
-                    <glyph class="state variable" id="sa1600-rs2">
-                        <state value="P" variable=""/>
-                        <bbox w="70.0" h="28.0" x="6536.9604" y="1021.5"/>
-                    </glyph>
-                </glyph>
-                <glyph class="macromolecule" id="sa1601">
-                    <label text="CD79A"/>
-                    <bbox w="80.0" h="40.0" x="6421.6665" y="996.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa1602">
-                    <label text="mIg"/>
-                    <bbox w="80.0" h="40.0" x="6420.6665" y="950.0"/>
-                </glyph>
-            </glyph>
-            <glyph class="unspecified entity" id="sa1599">
-                <label text="Allergen"/>
-                <bbox w="70.0" h="25.0" x="6469.6665" y="893.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="complex" id="csa164">
-            <label text="MHCII-TCR"/>
-            <bbox w="490.0" h="396.0" x="5371.894" y="3137.8823"/>
-            <glyph class="macromolecule" id="sa1163">
-                <label text="CD4"/>
-                <bbox w="81.0" h="41.0" x="5571.269" y="3151.7573"/>
-            </glyph>
-            <glyph class="unspecified entity" id="sa1164">
-                <label text="Antigen"/>
-                <bbox w="70.0" h="25.0" x="5630.769" y="3342.7573"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1165">
-                <label text="TCRA"/>
-                <bbox w="81.0" h="41.0" x="5568.269" y="3369.7573"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1166">
-                <label text="TCRC"/>
-                <bbox w="81.0" h="41.0" x="5479.269" y="3368.7573"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1167">
-                <label text="TCRB"/>
-                <bbox w="81.0" h="41.0" x="5567.269" y="3300.7573"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1168">
-                <label text="TCRC1"/>
-                <bbox w="81.0" h="41.0" x="5479.269" y="3299.7573"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1169">
-                <label text="HLA II α1"/>
-                <bbox w="81.0" h="41.0" x="5686.769" y="3369.2573"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1170">
-                <label text="HLA II α2"/>
-                <bbox w="81.0" h="41.0" x="5774.269" y="3370.7573"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1171">
-                <label text="HLA II β1"/>
-                <bbox w="81.0" h="41.0" x="5686.769" y="3301.2573"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1172">
-                <label text="HLA II β2"/>
-                <bbox w="81.0" h="41.0" x="5774.769" y="3303.2573"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa1173">
-                <label text="CD3D"/>
-                <bbox w="81.0" h="41.0" x="5525.269" y="3199.7573"/>
-                <glyph class="state variable" id="sa1173-rs2">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="5571.269" y="3205.5845"/>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule" id="sa1174">
-                <label text="CD3E"/>
-                <bbox w="81.0" h="41.0" x="5524.769" y="3247.2573"/>
-                <glyph class="state variable" id="sa1174-rs2">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="5570.769" y="3253.185"/>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule" id="sa1175">
-                <label text="CD3E"/>
-                <bbox w="81.0" h="41.0" x="5521.269" y="3422.7573"/>
-                <glyph class="state variable" id="sa1175-rs2">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="5567.269" y="3428.685"/>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule" id="sa1176">
-                <label text="CD3G"/>
-                <bbox w="81.0" h="41.0" x="5521.269" y="3470.7573"/>
-                <glyph class="state variable" id="sa1176-rs2">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="5567.269" y="3477.2573"/>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule" id="sa1178">
-                <label text="ZAP70"/>
-                <bbox w="81.0" h="41.0" x="5384.269" y="3425.7573"/>
-                <glyph class="state variable" id="sa1178-rs1">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="5388.4863" y="3452.7573"/>
-                </glyph>
-                <glyph class="state variable" id="sa1178-rs2">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="5428.6807" y="3452.7573"/>
-                </glyph>
-                <glyph class="state variable" id="sa1178-rs3">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="5350.7217" y="3452.7573"/>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule" id="sa1179">
-                <label text="LCK"/>
-                <bbox w="81.0" h="41.0" x="5477.269" y="3152.7573"/>
-                <glyph class="state variable" id="sa1179-rs1">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="5523.269" y="3159.2573"/>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule multimer" id="sa1354">
-                <label text="CD247"/>
-                <bbox w="87.0" h="47.0" x="5382.923" y="3327.8655"/>
-                <glyph class="state variable" id="sa1354-rs1">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="5375.999" y="3360.8655"/>
-                </glyph>
-                <glyph class="state variable" id="sa1354-rs2">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="5407.842" y="3360.8655"/>
-                </glyph>
-                <glyph class="state variable" id="sa1354-rs3">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="5347.923" y="3337.3655"/>
-                </glyph>
-                <glyph class="state variable" id="sa1354-rs4">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="5434.923" y="3336.777"/>
-                </glyph>
-                <glyph class="state variable" id="sa1354-rs5">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="5435.469" y="3360.8655"/>
-                </glyph>
-                <glyph class="state variable" id="sa1354-rs6">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="5348.7505" y="3360.8655"/>
-                </glyph>
-                <glyph class="unit of information" id="sa1354uoi">
-                    <label text="N:2; N:2"/>
-                    <bbox w="67.0" h="12.0" x="5392.923" y="3321.8655"/>
-                </glyph>
-            </glyph>
-        </glyph>
-        <glyph class="simple chemical" id="sa1657">
-            <label text="PIP2"/>
-            <bbox w="41.0" h="41.0" x="7925.5" y="1276.5"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa1650">
-            <label text="PLCG2"/>
-            <bbox w="81.0" h="41.0" x="7927.5" y="1459.5"/>
-            <glyph class="state variable" id="sa1650-rs1">
-                <bbox w="20.0" h="22.0" x="7998.5" y="1469.0"/>
-            </glyph>
-            <glyph class="state variable" id="sa1650-rs2">
-                <bbox w="20.0" h="22.0" x="8001.692" y="1489.5"/>
-            </glyph>
-            <glyph class="state variable" id="sa1650-rs3">
-                <bbox w="20.0" h="22.0" x="7998.5" y="1450.0598"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa1658">
-            <label text="CD19"/>
-            <bbox w="81.0" h="41.0" x="7935.5" y="1881.5"/>
-            <glyph class="state variable" id="sa1658-rs1">
-                <bbox w="20.0" h="22.0" x="8006.5" y="1890.608"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa1652">
-            <label text="BTK"/>
-            <bbox w="81.0" h="41.0" x="7927.5" y="1580.5"/>
-            <glyph class="state variable" id="sa1652-rs1">
-                <bbox w="20.0" h="22.0" x="8008.8223" y="1610.5"/>
-            </glyph>
-            <glyph class="state variable" id="sa1652-rs2">
-                <bbox w="20.0" h="22.0" x="7998.5" y="1574.8965"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa1653">
-            <label text="VAV1"/>
-            <bbox w="81.0" h="41.0" x="7928.5" y="1644.5"/>
-            <glyph class="state variable" id="sa1653-rs1">
-                <bbox w="20.0" h="22.0" x="7999.5" y="1654.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa1654">
-            <label text="PIK3AP1"/>
-            <bbox w="81.0" h="41.0" x="7931.5" y="1761.5"/>
-            <glyph class="state variable" id="sa1654-rs1">
-                <bbox w="20.0" h="22.0" x="8002.5" y="1770.4529"/>
-            </glyph>
-        </glyph>
-        <glyph class="complex" id="csa11">
-            <label text="FcεR1 complex"/>
-            <bbox w="241.0" h="329.0" x="10470.36" y="832.1786"/>
-            <glyph class="complex multimer" id="csa78">
-                <label text="FcεR1"/>
-                <bbox w="204.0" h="132.0" x="10490.36" y="951.1786"/>
-                <glyph class="unit of information" id="csa78uoi">
-                    <label text="N:2; N:2"/>
-                    <bbox w="184.0" h="12.0" x="10500.36" y="945.1786"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa278">
-                    <label text="FCER1A"/>
-                    <bbox w="80.0" h="40.0" x="10502.36" y="966.1786"/>
-                </glyph>
-                <glyph class="macromolecule multimer" id="sa279">
-                    <label text="FCER1G"/>
-                    <bbox w="86.0" h="46.0" x="10589.36" y="988.1786"/>
-                    <glyph class="state variable" id="sa279-rs1">
-                        <bbox w="20.0" h="22.0" x="10594.772" y="1023.1786"/>
-                    </glyph>
-                    <glyph class="state variable" id="sa279-rs2">
-                        <bbox w="20.0" h="22.0" x="10647.075" y="1023.1786"/>
-                    </glyph>
-                    <glyph class="unit of information" id="sa279uoi">
-                        <label text="N:2; N:2"/>
-                        <bbox w="66.0" h="12.0" x="10599.36" y="982.1786"/>
-                    </glyph>
-                </glyph>
-                <glyph class="macromolecule" id="sa280">
-                    <label text="MS4A2"/>
-                    <bbox w="80.0" h="40.0" x="10501.36" y="1013.1786"/>
-                    <glyph class="state variable" id="sa280-rs1">
-                        <bbox w="20.0" h="22.0" x="10529.352" y="1042.1786"/>
-                    </glyph>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule multimer" id="sa277">
-                <label text="IgE"/>
-                <bbox w="86.0" h="46.0" x="10546.36" y="885.1786"/>
-                <glyph class="unit of information" id="sa277uoi">
-                    <label text="N:2; N:2"/>
-                    <bbox w="66.0" h="12.0" x="10556.36" y="879.1786"/>
-                </glyph>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa1651">
-            <label text="DAPP1"/>
-            <bbox w="81.0" h="41.0" x="7928.5" y="1519.5"/>
-            <glyph class="state variable" id="sa1651-rs1">
-                <bbox w="20.0" h="22.0" x="7999.5" y="1529.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa50">
-            <label text="LYN"/>
-            <bbox w="80.0" h="40.0" x="11357.36" y="1181.25"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re11">
-            <bbox w="10.0" h="10.0" x="11406.36" y="991.6786"/>
-            <port id="re11.1" x="11401.36" y="996.6786"/>
-            <port id="re11.2" x="11421.36" y="996.6786"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re12">
-            <bbox w="10.0" h="10.0" x="11072.86" y="991.6786"/>
-            <port id="re12.1" x="11067.86" y="996.6786"/>
-            <port id="re12.2" x="11087.86" y="996.6786"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re357">
-            <bbox w="10.0" h="10.0" x="5489.144" y="3084.3823"/>
-            <port id="re357.1" x="5494.144" y="3079.3823"/>
-            <port id="re357.2" x="5494.144" y="3099.3823"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re459">
-            <bbox w="10.0" h="10.0" x="6656.1665" y="981.5"/>
-            <port id="re459.1" x="6651.1665" y="986.5"/>
-            <port id="re459.2" x="6671.1665" y="986.5"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re456">
-            <bbox w="10.0" h="10.0" x="5705.0" y="1909.0"/>
-            <port id="re456.1" x="5710.0" y="1904.0"/>
-            <port id="re456.2" x="5710.0" y="1924.0"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re14">
-            <bbox w="10.0" h="10.0" x="10747.86" y="991.6786"/>
-            <port id="re14.1" x="10742.86" y="996.6786"/>
-            <port id="re14.2" x="10762.86" y="996.6786"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re458">
-            <bbox w="10.0" h="10.0" x="6342.1665" y="981.25"/>
-            <port id="re458.1" x="6337.1665" y="986.25"/>
-            <port id="re458.2" x="6357.1665" y="986.25"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re461">
-            <bbox w="10.0" h="10.0" x="6445.091" y="1393.5369"/>
-            <port id="re461.1" x="6460.091" y="1398.5369"/>
-            <port id="re461.2" x="6440.091" y="1398.5369"/>
-        </glyph>
-        <glyph class="omitted process" orientation="vertical" id="re378">
-            <bbox w="10.0" h="10.0" x="5248.5815" y="3586.0698"/>
-            <port id="re378.1" x="5253.5815" y="3581.0698"/>
-            <port id="re378.2" x="5253.5815" y="3601.0698"/>
-        </glyph>
-        <glyph class="omitted process" orientation="vertical" id="re414">
-            <bbox w="10.0" h="10.0" x="8204.147" y="1004.5041"/>
-            <port id="re414.1" x="8209.147" y="1019.5041"/>
-            <port id="re414.2" x="8209.147" y="999.5041"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re462">
-            <bbox w="10.0" h="10.0" x="7412.8125" y="1048.25"/>
-            <port id="re462.1" x="7407.8125" y="1053.25"/>
-            <port id="re462.2" x="7427.8125" y="1053.25"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re356">
-            <bbox w="10.0" h="10.0" x="5489.144" y="2590.1323"/>
-            <port id="re356.1" x="5504.144" y="2595.1323"/>
-            <port id="re356.2" x="5484.144" y="2595.1323"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re457">
-            <bbox w="10.0" h="10.0" x="6031.6665" y="981.1146"/>
-            <port id="re457.1" x="6026.6665" y="986.1146"/>
-            <port id="re457.2" x="6046.6665" y="986.1146"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re460">
-            <bbox w="10.0" h="10.0" x="6964.1665" y="981.5"/>
-            <port id="re460.1" x="6959.1665" y="986.5"/>
-            <port id="re460.2" x="6979.1665" y="986.5"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re13">
-            <bbox w="10.0" h="10.0" x="10418.86" y="992.1786"/>
-            <port id="re13.1" x="10413.86" y="997.1786"/>
-            <port id="re13.2" x="10433.86" y="997.1786"/>
-        </glyph>
-        <glyph class="omitted process" orientation="horizontal" id="re465">
-            <bbox w="10.0" h="10.0" x="7771.5" y="1596.25"/>
-            <port id="re465.1" x="7786.5" y="1601.25"/>
-            <port id="re465.2" x="7766.5" y="1601.25"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="csa12" target="re11.1">
-            <start x="11361.36" y="996.6786"/>
-            <end x="11401.36" y="996.6786"/>
-        </arc>
-        <arc class="production" id="arc1" source="re11.2" target="csa13">
-            <start x="11421.36" y="996.6786"/>
-            <end x="11461.36" y="996.6786"/>
-        </arc>
-        <arc class="consumption" id="arc2" source="sa50" target="re11.1">
-            <start x="11397.752" y="1181.25"/>
-            <end x="11401.36" y="996.6786"/>
-        </arc>
-        <arc class="consumption" id="arc3" source="csa14" target="re12.1">
-            <start x="11035.36" y="996.6786"/>
-            <end x="11067.86" y="996.6786"/>
-        </arc>
-        <arc class="production" id="arc4" source="re12.2" target="csa12">
-            <start x="11087.86" y="996.6786"/>
-            <end x="11120.36" y="996.6786"/>
-        </arc>
-        <arc class="consumption" id="arc5" source="csa165" target="re357.1">
-            <start x="5493.894" y="3040.8823"/>
-            <end x="5494.144" y="3079.3823"/>
-        </arc>
-        <arc class="production" id="arc6" source="re357.2" target="csa164">
-            <start x="5494.144" y="3099.3823"/>
-            <end x="5494.394" y="3137.8823"/>
-        </arc>
-        <arc class="consumption" id="arc7" source="csa256" target="re459.1">
-            <start x="6617.6665" y="986.5"/>
-            <end x="6651.1665" y="986.5"/>
-        </arc>
-        <arc class="production" id="arc8" source="re459.2" target="csa258">
-            <start x="6671.1665" y="986.5"/>
-            <end x="6704.6665" y="986.5"/>
-        </arc>
-        <arc class="consumption" id="arc9" source="sa1589" target="re459.1">
-            <start x="6617.544" y="1150.75"/>
-            <end x="6651.1665" y="986.5"/>
-        </arc>
-        <arc class="consumption" id="arc10" source="sa1590" target="re459.1">
-            <start x="6693.527" y="1150.25"/>
-            <end x="6651.1665" y="986.5"/>
-        </arc>
-        <arc class="consumption" id="arc11" source="sa1583" target="re456.1">
-            <start x="5717.0" y="1865.5"/>
-            <end x="5710.0" y="1904.0"/>
-        </arc>
-        <arc class="production" id="arc12" source="re456.2" target="csa253">
-            <start x="5710.0" y="1924.0"/>
-            <end x="5703.0" y="1962.5"/>
-        </arc>
-        <arc class="consumption" id="arc13" source="sa1584" target="re456.1">
-            <start x="5567.25" y="1868.5"/>
-            <end x="5710.0" y="1904.0"/>
-        </arc>
-        <arc class="consumption" id="arc14" source="csa11" target="re14.1">
-            <start x="10711.36" y="996.6786"/>
-            <end x="10742.86" y="996.6786"/>
-        </arc>
-        <arc class="production" id="arc15" source="re14.2" target="csa14">
-            <start x="10762.86" y="996.6786"/>
-            <end x="10794.36" y="996.6786"/>
-        </arc>
-        <arc class="consumption" id="arc16" source="sa1389" target="re14.1">
-            <start x="6059.5" y="620.5"/>
-            <next x="10744.56" y="620.4831"/>
-            <end x="10742.86" y="996.6786"/>
-        </arc>
-        <arc class="consumption" id="arc17" source="csa254" target="re458.1">
-            <start x="6299.6665" y="986.0"/>
-            <end x="6337.1665" y="986.25"/>
-        </arc>
-        <arc class="production" id="arc18" source="re458.2" target="csa256">
-            <start x="6357.1665" y="986.25"/>
-            <end x="6394.6665" y="986.5"/>
-        </arc>
-        <arc class="catalysis" id="arc19" source="sa1588" target="re458">
-            <start x="6302.6665" y="1151.5"/>
-            <end x="6347.14" y="991.24994"/>
-        </arc>
-        <arc class="consumption" id="arc20" source="csa256" target="re461.1">
-            <start x="6506.1665" y="1092.0"/>
-            <next x="6507.5156" y="1398.5737"/>
-            <end x="6460.091" y="1398.5369"/>
-        </arc>
-        <arc class="production" id="arc21" source="re461.2" target="csa257">
-            <start x="6440.091" y="1398.5369"/>
-            <end x="6392.6665" y="1398.5"/>
-        </arc>
-        <arc class="consumption" id="arc22" source="sa1591" target="re461.1">
-            <start x="6492.478" y="1434.5"/>
-            <end x="6460.091" y="1398.5369"/>
-        </arc>
-        <arc class="consumption" id="arc23" source="sa1084" target="re378.1">
-            <start x="5253.519" y="3506.0073"/>
-            <end x="5253.5815" y="3581.0698"/>
-        </arc>
-        <arc class="production" id="arc24" source="re378.2" target="sa1083">
-            <start x="5253.5815" y="3601.0698"/>
-            <end x="5253.644" y="3676.1323"/>
-        </arc>
-        <arc class="consumption" id="arc25" source="sa1387" target="re414.1">
-            <start x="8209.414" y="1081.0"/>
-            <end x="8209.147" y="1019.5041"/>
-        </arc>
-        <arc class="production" id="arc26" source="re414.2" target="sa52">
-            <start x="8209.147" y="999.5041"/>
-            <next x="8208.881" y="938.0082"/>
-            <next x="8208.749" y="757.01587"/>
-            <end x="10367.36" y="757.73566"/>
-        </arc>
-        <arc class="consumption" id="arc27" source="csa259" target="re462.1">
-            <start x="7233.6665" y="1053.25"/>
-            <end x="7407.8125" y="1053.25"/>
-        </arc>
-        <arc class="production" id="arc28" source="re462.2" target="csa265">
-            <start x="7427.8125" y="1053.25"/>
-            <end x="7601.9585" y="1053.25"/>
-        </arc>
-        <arc class="consumption" id="arc29" source="csa267" target="re462.1">
-            <start x="7371.25" y="1170.5"/>
-            <end x="7407.8125" y="1053.25"/>
-        </arc>
-        <arc class="consumption" id="arc30" source="csa166" target="re356.1">
-            <start x="5494.394" y="2545.3823"/>
-            <end x="5504.144" y="2595.1323"/>
-        </arc>
-        <arc class="production" id="arc31" source="re356.2" target="csa165">
-            <start x="5484.144" y="2595.1323"/>
-            <end x="5493.894" y="2644.8823"/>
-        </arc>
-        <arc class="consumption" id="arc32" source="csa199" target="re356.1">
-            <start x="5791.5386" y="2443.1538"/>
-            <next x="5792.6807" y="2582.74"/>
-            <end x="5504.144" y="2595.1323"/>
-        </arc>
-        <arc class="consumption" id="arc33" source="csa255" target="re457.1">
-            <start x="5996.6665" y="986.22925"/>
-            <end x="6026.6665" y="986.1146"/>
-        </arc>
-        <arc class="production" id="arc34" source="re457.2" target="csa254">
-            <start x="6046.6665" y="986.1146"/>
-            <end x="6076.6665" y="986.0"/>
-        </arc>
-        <arc class="consumption" id="arc35" source="sa1389" target="re457.1">
-            <start x="6024.5" y="633.0"/>
-            <end x="6026.6665" y="986.1146"/>
-        </arc>
-        <arc class="consumption" id="arc36" source="csa258" target="re460.1">
-            <start x="6927.6665" y="986.5"/>
-            <end x="6959.1665" y="986.5"/>
-        </arc>
-        <arc class="production" id="arc37" source="re460.2" target="csa259">
-            <start x="6979.1665" y="986.5"/>
-            <end x="7010.6665" y="986.5"/>
-        </arc>
-        <arc class="consumption" id="arc38" source="csa17" target="re13.1">
-            <start x="10377.36" y="997.6786"/>
-            <end x="10413.86" y="997.1786"/>
-        </arc>
-        <arc class="production" id="arc39" source="re13.2" target="csa11">
-            <start x="10433.86" y="997.1786"/>
-            <end x="10470.36" y="996.6786"/>
-        </arc>
-        <arc class="consumption" id="arc40" source="sa52" target="re13.1">
-            <start x="10410.764" y="780.75"/>
-            <end x="10413.86" y="997.1786"/>
-        </arc>
-        <arc class="consumption" id="arc41" source="sa1652" target="re465.1">
-            <start x="7927.5" y="1601.0"/>
-            <end x="7786.5" y="1601.25"/>
-        </arc>
-        <arc class="production" id="arc42" source="re465.2" target="csa271">
-            <start x="7766.5" y="1601.25"/>
-            <end x="7625.5" y="1601.5"/>
-        </arc>
-        <arc class="consumption" id="arc43" source="sa1651" target="re465.1">
-            <start x="7928.5" y="1540.0"/>
-            <end x="7786.5" y="1601.25"/>
-        </arc>
-        <arc class="consumption" id="arc44" source="sa1650" target="re465.1">
-            <start x="7927.5" y="1480.0"/>
-            <end x="7786.5" y="1601.25"/>
-        </arc>
-        <arc class="consumption" id="arc45" source="sa1649" target="re465.1">
-            <start x="7925.5" y="1418.0"/>
-            <end x="7786.5" y="1601.25"/>
-        </arc>
-        <arc class="consumption" id="arc46" source="sa1641" target="re465.1">
-            <start x="7926.5" y="1356.0"/>
-            <end x="7786.5" y="1601.25"/>
-        </arc>
-        <arc class="consumption" id="arc47" source="sa1653" target="re465.1">
-            <start x="7928.5" y="1665.0"/>
-            <end x="7786.5" y="1601.25"/>
-        </arc>
-        <arc class="consumption" id="arc48" source="sa1656" target="re465.1">
-            <start x="7931.5" y="1724.0"/>
-            <end x="7786.5" y="1601.25"/>
-        </arc>
-        <arc class="consumption" id="arc49" source="sa1654" target="re465.1">
-            <start x="7931.5" y="1782.0"/>
-            <end x="7786.5" y="1601.25"/>
-        </arc>
-        <arc class="consumption" id="arc50" source="sa1655" target="re465.1">
-            <start x="7933.5" y="1840.0"/>
-            <end x="7786.5" y="1601.25"/>
-        </arc>
-        <arc class="consumption" id="arc51" source="sa1658" target="re465.1">
-            <start x="7935.5" y="1902.0"/>
-            <end x="7786.5" y="1601.25"/>
-        </arc>
-        <arc class="consumption" id="arc52" source="csa265" target="re465.1">
-            <start x="7814.9585" y="1143.75"/>
-            <end x="7786.5" y="1601.25"/>
-        </arc>
-        <arc class="consumption" id="arc53" source="sa1657" target="re465.1">
-            <start x="7925.5" y="1297.0"/>
-            <end x="7786.5" y="1601.25"/>
-        </arc>
-        <arc class="production" id="arc54" source="re465.2" target="csa277">
-            <start x="7766.5" y="1601.25"/>
-            <end x="7650.25" y="1857.5"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/kappa_description.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/kappa_description.sbgn
deleted file mode 100644
index f9137222a2e5c32cfa47100f8c9ebf2d21be4982..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/kappa_description.sbgn
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa1">
-            <label text="κ bla k K"/>
-            <bbox w="268.0" h="159.0" x="151.0" y="91.0"/>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/kappa_example.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/kappa_example.sbgn
deleted file mode 100644
index ebf6e044c0ec4abdb45bb9b0de281b54edb20993..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/kappa_example.sbgn
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa1">
-            <label text="hi κ bye"/>
-            <bbox w="80.0" h="40.0" x="128.0" y="103.0"/>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/missing_anchor_reaction.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/missing_anchor_reaction.sbgn
deleted file mode 100644
index 77d1d6a0865703c0eb971e9a238a2d4a845fe1fa..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/missing_anchor_reaction.sbgn
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="simple chemical" id="sa9">
-            <label text="beta-D-fructofuranose 1,6-bisphosphate"/>
-            <bbox w="262.0" h="40.0" x="506.33548" y="613.85"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa8">
-            <label text="beta-D-fructofuranose 6-phosphate"/>
-            <bbox w="261.0" h="40.0" x="510.83548" y="449.35"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re6">
-            <bbox w="10.0" h="10.0" x="513.5382" y="546.6"/>
-            <port id="re6.1" x="518.5382" y="561.6"/>
-            <port id="re6.2" x="518.5382" y="541.6"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="sa9" target="re6.1">
-            <start x="516.30725" y="626.19635"/>
-            <end x="518.5382" y="561.6"/>
-        </arc>
-        <arc class="production" id="arc1" source="re6.2" target="sa8">
-            <start x="518.5382" y="541.6"/>
-            <end x="520.7692" y="477.00366"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/pd_map_with_problematic_reaction_line.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/pd_map_with_problematic_reaction_line.sbgn
deleted file mode 100644
index 2bf66e9e8b4bf37b23095478af7d6099cb48ce45..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/pd_map_with_problematic_reaction_line.sbgn
+++ /dev/null
@@ -1,1790 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="complex" id="csa757">
-            <label text="ubiquitin"/>
-            <bbox w="100.0" h="120.0" x="14064.85" y="8147.5"/>
-            <glyph class="macromolecule" id="sa5428">
-                <label text="UBB"/>
-                <bbox w="80.0" h="40.0" x="14074.85" y="8156.5"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa5429">
-                <label text="UBC"/>
-                <bbox w="80.0" h="40.0" x="14074.85" y="8203.5"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa4952">
-            <label text="VCP"/>
-            <bbox w="80.0" h="40.0" x="14474.75" y="10196.0"/>
-        </glyph>
-        <glyph class="complex" id="csa664">
-            <label text="E1:ubiquitin complex"/>
-            <bbox w="233.0" h="157.0" x="14264.567" y="8052.4473"/>
-            <glyph class="complex" id="csa752">
-                <label text="UBL-acyl adenylate intermediate"/>
-                <bbox w="110.0" h="122.0" x="14376.45" y="8065.0"/>
-                <glyph class="complex" id="csa753">
-                    <label text="ubiquitin"/>
-                    <bbox w="80.0" h="60.0" x="14392.15" y="8103.0"/>
-                    <glyph class="macromolecule" id="sa5418">
-                        <label text="UBB"/>
-                        <bbox w="80.0" h="60.0" x="14392.0" y="8103.0"/>
-                    </glyph>
-                    <glyph class="macromolecule" id="sa5419">
-                        <label text="UBC"/>
-                        <bbox w="80.0" h="60.0" x="14392.0" y="8103.0"/>
-                    </glyph>
-                </glyph>
-                <glyph class="simple chemical" id="sa5417">
-                    <label text="AMP"/>
-                    <bbox w="70.0" h="25.0" x="14397.308" y="8070.4287"/>
-                </glyph>
-            </glyph>
-            <glyph class="complex" id="csa740">
-                <label text="E1"/>
-                <bbox w="100.0" h="120.0" x="14273.168" y="8066.0015"/>
-                <glyph class="macromolecule" id="sa5396">
-                    <label text="UBA6"/>
-                    <bbox w="80.0" h="40.0" x="14282.418" y="8125.0015"/>
-                    <glyph class="state variable" id="sa5396-rs1">
-                        <bbox w="20.0" h="22.0" x="14352.418" y="8115.1577"/>
-                    </glyph>
-                </glyph>
-                <glyph class="macromolecule" id="sa5397">
-                    <label text="UBA1"/>
-                    <bbox w="80.0" h="40.0" x="14283.418" y="8078.6973"/>
-                    <glyph class="state variable" id="sa5397-rs1">
-                        <bbox w="20.0" h="22.0" x="14351.655" y="8067.6973"/>
-                    </glyph>
-                </glyph>
-            </glyph>
-        </glyph>
-        <glyph class="complex" id="csa671">
-            <label text="VCP:UBE4B"/>
-            <bbox w="100.0" h="120.0" x="14619.25" y="10302.0"/>
-            <glyph class="macromolecule" id="sa5248">
-                <label text="UBE4B"/>
-                <bbox w="80.0" h="40.0" x="14632.341" y="10363.637"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa5249">
-                <label text="VCP"/>
-                <bbox w="80.0" h="40.0" x="14632.75" y="10314.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="complex" id="csa741">
-            <label text="E1"/>
-            <bbox w="100.0" h="120.0" x="14330.817" y="8294.619"/>
-            <glyph class="macromolecule" id="sa5398">
-                <label text="UBA6"/>
-                <bbox w="80.0" h="40.0" x="14340.067" y="8353.619"/>
-                <glyph class="state variable" id="sa5398-rs1">
-                    <state value="Ub" variable=""/>
-                    <bbox w="70.0" h="28.0" x="14385.067" y="8340.775"/>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule" id="sa5399">
-                <label text="UBA1"/>
-                <bbox w="80.0" h="40.0" x="14341.067" y="8307.314"/>
-                <glyph class="state variable" id="sa5399-rs1">
-                    <state value="Ub" variable=""/>
-                    <bbox w="70.0" h="28.0" x="14384.305" y="8293.314"/>
-                </glyph>
-            </glyph>
-        </glyph>
-        <glyph class="complex" id="csa746">
-            <label text="E2"/>
-            <bbox w="100.0" h="120.0" x="14627.027" y="8438.0"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa4997">
-            <label text="phosphate ion"/>
-            <bbox w="25.0" h="25.0" x="15176.725" y="10149.532"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa4938">
-            <label text="SNCA (A30P)"/>
-            <bbox w="80.0" h="40.0" x="15152.388" y="9969.797"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa4924">
-            <label text="AKAP150"/>
-            <bbox w="80.0" h="40.0" x="16821.25" y="10235.25"/>
-        </glyph>
-        <glyph class="complex" id="csa650">
-            <label text="anchored proteasome"/>
-            <bbox w="152.0" h="181.0" x="16523.25" y="9818.0"/>
-            <glyph class="complex" id="csa675">
-                <label text="26S hybrid proteasome"/>
-                <bbox w="80.0" h="60.0" x="16563.25" y="9904.667"/>
-                <glyph class="complex" id="csa676">
-                    <label text="20S core complex"/>
-                    <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                    <glyph class="complex" id="csa678">
-                        <label text="alpha subunit"/>
-                        <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        <glyph class="macromolecule" id="sa5016">
-                            <label text="PSMA5"/>
-                            <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5017">
-                            <label text="PSMA6"/>
-                            <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5018">
-                            <label text="PSMA7"/>
-                            <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5019">
-                            <label text="PSMA1"/>
-                            <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5020">
-                            <label text="PSMA2"/>
-                            <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5021">
-                            <label text="PSMA3"/>
-                            <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5022">
-                            <label text="PSMA4"/>
-                            <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        </glyph>
-                    </glyph>
-                    <glyph class="complex" id="csa679">
-                        <label text="beta subunit"/>
-                        <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        <glyph class="macromolecule" id="sa5023">
-                            <label text="PSMB1"/>
-                            <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5024">
-                            <label text="PSMB2"/>
-                            <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5025">
-                            <label text="PSMB3"/>
-                            <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5026">
-                            <label text="PSMB4"/>
-                            <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5027">
-                            <label text="PSMB5"/>
-                            <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5028">
-                            <label text="PSMB6"/>
-                            <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5029">
-                            <label text="PSMB7"/>
-                            <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        </glyph>
-                    </glyph>
-                </glyph>
-                <glyph class="complex" id="csa677">
-                    <label text="19S regulatory complex"/>
-                    <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                    <glyph class="complex" id="csa680">
-                        <label text="Lid"/>
-                        <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        <glyph class="macromolecule" id="sa5030">
-                            <label text="PSMD3"/>
-                            <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5031">
-                            <label text="PSMD8"/>
-                            <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5032">
-                            <label text="PSMD6"/>
-                            <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5033">
-                            <label text="PSMD7"/>
-                            <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5034">
-                            <label text="PSMD12"/>
-                            <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5035">
-                            <label text="PSMD11"/>
-                            <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5036">
-                            <label text="PSMD4"/>
-                            <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5037">
-                            <label text="PSMD14"/>
-                            <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5038">
-                            <label text="PSMD9"/>
-                            <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        </glyph>
-                    </glyph>
-                    <glyph class="complex" id="csa681">
-                        <label text="Base"/>
-                        <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        <glyph class="macromolecule" id="sa5039">
-                            <label text="PSMC2 "/>
-                            <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5040">
-                            <label text="PSMC1"/>
-                            <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5041">
-                            <label text="PSMC4"/>
-                            <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5042">
-                            <label text="PSMC6"/>
-                            <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5043">
-                            <label text="PSMC3"/>
-                            <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5044">
-                            <label text="PSMC5"/>
-                            <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5045">
-                            <label text="PSMD2"/>
-                            <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5046">
-                            <label text="PSMD1"/>
-                            <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5047">
-                            <label text="PSMD4"/>
-                            <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5048">
-                            <label text="ADRM1"/>
-                            <bbox w="80.0" h="60.0" x="16563.0" y="9904.0"/>
-                        </glyph>
-                    </glyph>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule" id="sa5015">
-                <label text="actin"/>
-                <bbox w="80.0" h="40.0" x="16561.916" y="9845.667"/>
-            </glyph>
-        </glyph>
-        <glyph class="source and sink" id="sa4996">
-            <label text="a24_degraded"/>
-            <bbox w="30.0" h="30.0" x="15313.75" y="10267.695"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa4915">
-            <label text="CAMK2A"/>
-            <bbox w="80.0" h="40.0" x="16364.442" y="10235.25"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa4980">
-            <label text="misfoded transmembrane ER protein"/>
-            <bbox w="93.0" h="37.0" x="14409.341" y="10295.363"/>
-            <glyph class="state variable" id="sa4980-rs1">
-                <state value="Ub" variable=""/>
-                <bbox w="70.0" h="28.0" x="14467.341" y="10281.363"/>
-            </glyph>
-        </glyph>
-        <glyph class="simple chemical" id="sa5424">
-            <label text="diphosphate ion"/>
-            <bbox w="29.0" h="26.0" x="14020.6" y="8334.833"/>
-        </glyph>
-        <glyph class="complex" id="csa749">
-            <label text="ubiquitin"/>
-            <bbox w="100.0" h="120.0" x="14064.85" y="7726.0"/>
-            <glyph class="macromolecule" id="sa5411">
-                <label text="UBB"/>
-                <bbox w="80.0" h="40.0" x="14074.85" y="7735.0"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa5412">
-                <label text="UBC"/>
-                <bbox w="80.0" h="40.0" x="14074.85" y="7782.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa4991">
-            <label text="ATP-dependent unfoldase"/>
-            <bbox w="80.0" h="40.0" x="15411.25" y="10142.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa5001">
-            <label text="Target protein"/>
-            <bbox w="153.0" h="54.0" x="14826.25" y="9127.695"/>
-            <glyph class="state variable" id="sa5001-rs1">
-                <state value="Ub" variable=""/>
-                <bbox w="70.0" h="28.0" x="14944.25" y="9115.256"/>
-            </glyph>
-            <glyph class="state variable" id="sa5001-rs2">
-                <bbox w="20.0" h="22.0" x="14969.25" y="9128.913"/>
-            </glyph>
-            <glyph class="state variable" id="sa5001-rs3">
-                <bbox w="20.0" h="22.0" x="14969.25" y="9139.57"/>
-            </glyph>
-            <glyph class="state variable" id="sa5001-rs4">
-                <bbox w="20.0" h="22.0" x="15026.934" y="9170.695"/>
-            </glyph>
-            <glyph class="state variable" id="sa5001-rs5">
-                <bbox w="20.0" h="22.0" x="14996.738" y="9170.695"/>
-            </glyph>
-        </glyph>
-        <glyph class="complex" id="csa669">
-            <label text="polyubiquitinated misfolded transmembrane ER protein"/>
-            <bbox w="123.0" h="125.0" x="14399.25" y="10435.0"/>
-            <glyph class="macromolecule" id="sa5213">
-                <label text="misfoded transmembrane ER protein"/>
-                <bbox w="101.0" h="41.0" x="14410.341" y="10443.637"/>
-                <glyph class="state variable" id="sa5213-rs1">
-                    <state value="Ub" variable=""/>
-                    <bbox w="70.0" h="28.0" x="14476.341" y="10429.637"/>
-                </glyph>
-            </glyph>
-            <glyph class="simple chemical multimer" id="sa5214">
-                <label text="ubiquitin"/>
-                <bbox w="90.0" h="40.0" x="14413.341" y="10499.637"/>
-                <glyph class="unit of information" id="sa5214uoi">
-                    <label text="N:4"/>
-                    <bbox w="70.0" h="12.0" x="14423.341" y="10493.637"/>
-                </glyph>
-            </glyph>
-        </glyph>
-        <glyph class="simple chemical" id="sa4950">
-            <label text="AMP"/>
-            <bbox w="29.0" h="26.0" x="14365.25" y="8233.695"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa4931">
-            <label text="DLG4"/>
-            <bbox w="80.0" h="40.0" x="16275.904" y="10235.25"/>
-        </glyph>
-        <glyph class="unspecified entity" id="sa4919">
-            <label text="dexamethasone"/>
-            <bbox w="80.0" h="30.0" x="15001.25" y="8201.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa4927">
-            <label text="misfoded transmembrane ER protein"/>
-            <bbox w="107.0" h="52.0" x="14117.25" y="9967.0"/>
-            <glyph class="state variable" id="sa4927-rs1">
-                <bbox w="20.0" h="22.0" x="14214.25" y="9956.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="complex" id="csa739">
-            <label text="E1"/>
-            <bbox w="100.0" h="120.0" x="14330.817" y="7847.0"/>
-            <glyph class="macromolecule" id="sa4942">
-                <label text="UBA6"/>
-                <bbox w="80.0" h="40.0" x="14340.067" y="7906.0"/>
-                <glyph class="state variable" id="sa4942-rs1">
-                    <bbox w="20.0" h="22.0" x="14410.067" y="7896.1562"/>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule" id="sa4951">
-                <label text="UBA1"/>
-                <bbox w="80.0" h="40.0" x="14341.067" y="7859.6953"/>
-                <glyph class="state variable" id="sa4951-rs1">
-                    <bbox w="20.0" h="22.0" x="14409.305" y="7848.6953"/>
-                </glyph>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa4926">
-            <label text="actin"/>
-            <bbox w="80.0" h="40.0" x="16043.25" y="9408.0"/>
-        </glyph>
-        <glyph class="source and sink" id="sa4922">
-            <label text="s6113"/>
-            <bbox w="30.0" h="30.0" x="16846.625" y="10488.0"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa4999">
-            <label text="ADP"/>
-            <bbox w="29.0" h="26.0" x="15174.725" y="10099.065"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa4939">
-            <label text="SNCA (A53T)"/>
-            <bbox w="80.0" h="40.0" x="15152.388" y="9912.996"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa4934">
-            <label text="diphosphate ion"/>
-            <bbox w="29.0" h="26.0" x="14020.6" y="7913.3335"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa4965">
-            <label text="misfolded protein"/>
-            <bbox w="80.0" h="40.0" x="14364.821" y="8947.127"/>
-            <glyph class="state variable" id="sa4965-rs1">
-                <bbox w="20.0" h="22.0" x="14434.821" y="8936.127"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa4928">
-            <label text="Doa10p"/>
-            <bbox w="80.0" h="40.0" x="14126.25" y="9850.0"/>
-        </glyph>
-        <glyph class="compartment" id="ca46">
-            <label text="ER"/>
-            <bbox w="249.0" h="422.0" x="13911.0" y="9786.0"/>
-        </glyph>
-        <glyph class="complex" id="csa770">
-            <label text="proteasome:substrate complex"/>
-            <bbox w="186.0" h="158.0" x="15235.0" y="9708.0"/>
-            <glyph class="complex" id="csa763">
-                <label text="26S hybrid proteasome"/>
-                <bbox w="80.0" h="60.0" x="15286.625" y="9716.833"/>
-                <glyph class="complex" id="csa764">
-                    <label text="19S regulatory complex"/>
-                    <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                    <glyph class="complex" id="csa767">
-                        <label text="Base"/>
-                        <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        <glyph class="macromolecule" id="sa5448">
-                            <label text="PSMC2 "/>
-                            <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5449">
-                            <label text="PSMC1"/>
-                            <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5450">
-                            <label text="PSMC4"/>
-                            <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5451">
-                            <label text="PSMC6"/>
-                            <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5452">
-                            <label text="PSMC3"/>
-                            <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5453">
-                            <label text="PSMC5"/>
-                            <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5454">
-                            <label text="PSMD2"/>
-                            <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5455">
-                            <label text="PSMD1"/>
-                            <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5456">
-                            <label text="PSMD4"/>
-                            <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5457">
-                            <label text="ADRM1"/>
-                            <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        </glyph>
-                    </glyph>
-                    <glyph class="complex" id="csa766">
-                        <label text="Lid"/>
-                        <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        <glyph class="macromolecule" id="sa5439">
-                            <label text="PSMD3"/>
-                            <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5440">
-                            <label text="PSMD8"/>
-                            <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5441">
-                            <label text="PSMD6"/>
-                            <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5442">
-                            <label text="PSMD7"/>
-                            <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5443">
-                            <label text="PSMD12"/>
-                            <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5444">
-                            <label text="PSMD11"/>
-                            <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5445">
-                            <label text="PSMD4"/>
-                            <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5446">
-                            <label text="PSMD14"/>
-                            <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5447">
-                            <label text="PSMD9"/>
-                            <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        </glyph>
-                    </glyph>
-                </glyph>
-                <glyph class="complex" id="csa765">
-                    <label text="20S core complex"/>
-                    <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                    <glyph class="complex" id="csa769">
-                        <label text="beta subunit"/>
-                        <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        <glyph class="macromolecule" id="sa5465">
-                            <label text="PSMB1"/>
-                            <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5466">
-                            <label text="PSMB2"/>
-                            <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5467">
-                            <label text="PSMB3"/>
-                            <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5468">
-                            <label text="PSMB4"/>
-                            <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5469">
-                            <label text="PSMB5"/>
-                            <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5470">
-                            <label text="PSMB6"/>
-                            <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5471">
-                            <label text="PSMB7"/>
-                            <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        </glyph>
-                    </glyph>
-                    <glyph class="complex" id="csa768">
-                        <label text="alpha subunit"/>
-                        <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        <glyph class="macromolecule" id="sa5458">
-                            <label text="PSMA5"/>
-                            <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5459">
-                            <label text="PSMA6"/>
-                            <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5460">
-                            <label text="PSMA7"/>
-                            <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5461">
-                            <label text="PSMA1"/>
-                            <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5462">
-                            <label text="PSMA2"/>
-                            <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5463">
-                            <label text="PSMA3"/>
-                            <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        </glyph>
-                        <glyph class="macromolecule" id="sa5464">
-                            <label text="PSMA4"/>
-                            <bbox w="80.0" h="60.0" x="15286.0" y="9716.0"/>
-                        </glyph>
-                    </glyph>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule" id="sa5472">
-                <label text="Target protein"/>
-                <bbox w="153.0" h="54.0" x="15249.363" y="9784.197"/>
-                <glyph class="state variable" id="sa5472-rs1">
-                    <state value="Ub" variable=""/>
-                    <bbox w="70.0" h="28.0" x="15367.363" y="9771.758"/>
-                </glyph>
-                <glyph class="state variable" id="sa5472-rs2">
-                    <state value="Ub" variable=""/>
-                    <bbox w="70.0" h="28.0" x="15367.363" y="9782.415"/>
-                </glyph>
-                <glyph class="state variable" id="sa5472-rs3">
-                    <state value="Ub" variable=""/>
-                    <bbox w="70.0" h="28.0" x="15367.363" y="9793.072"/>
-                </glyph>
-                <glyph class="state variable" id="sa5472-rs4">
-                    <state value="Ub" variable=""/>
-                    <bbox w="70.0" h="28.0" x="15425.047" y="9824.197"/>
-                </glyph>
-                <glyph class="state variable" id="sa5472-rs5">
-                    <state value="Ub" variable=""/>
-                    <bbox w="70.0" h="28.0" x="15394.852" y="9824.197"/>
-                </glyph>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa4925">
-            <label text="GRIP1"/>
-            <bbox w="80.0" h="40.0" x="16721.25" y="10235.25"/>
-        </glyph>
-        <glyph class="complex" id="csa762">
-            <label text="ubiquitin"/>
-            <bbox w="80.0" h="60.0" x="15149.225" y="10199.0"/>
-            <glyph class="macromolecule" id="sa5436">
-                <label text="UBB"/>
-                <bbox w="80.0" h="60.0" x="15149.0" y="10199.0"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa5437">
-                <label text="UBC"/>
-                <bbox w="80.0" h="60.0" x="15149.0" y="10199.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="unspecified entity" id="sa4933">
-            <label text="tetrodotoxin"/>
-            <bbox w="80.0" h="30.0" x="16164.25" y="10128.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa4981">
-            <label text="misfoded transmembrane ER protein"/>
-            <bbox w="107.0" h="41.0" x="14117.341" y="10111.363"/>
-            <glyph class="state variable" id="sa4981-rs1">
-                <state value="Ub" variable=""/>
-                <bbox w="70.0" h="28.0" x="14189.341" y="10097.363"/>
-            </glyph>
-        </glyph>
-        <glyph class="complex" id="csa772">
-            <label text="E3"/>
-            <bbox w="99.0" h="161.0" x="15201.0" y="8630.0"/>
-            <glyph class="macromolecule" id="sa4945">
-                <label text="UBE3C"/>
-                <bbox w="80.0" h="40.0" x="15211.9" y="8730.0"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa5474">
-                <label text="UBE3A"/>
-                <bbox w="80.0" h="40.0" x="15211.9" y="8685.212"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa5475">
-                <label text="PARK2"/>
-                <bbox w="80.0" h="40.0" x="15211.9" y="8642.3"/>
-                <glyph class="state variable" id="sa5475-rs1">
-                    <bbox w="20.0" h="22.0" x="15281.9" y="8632.711"/>
-                </glyph>
-            </glyph>
-        </glyph>
-        <glyph class="compartment" id="ca1">
-            <label text="cytosol"/>
-            <bbox w="17916.0" h="10864.0" x="1417.0" y="416.0"/>
-        </glyph>
-        <glyph class="complex" id="csa742">
-            <label text="E1:ubiquitin complex"/>
-            <bbox w="233.0" h="157.0" x="14264.567" y="8500.066"/>
-            <glyph class="complex" id="csa754">
-                <label text="UBL-acyl adenylate intermediate"/>
-                <bbox w="110.0" h="122.0" x="14377.45" y="8511.0"/>
-                <glyph class="complex" id="csa755">
-                    <label text="ubiquitin"/>
-                    <bbox w="80.0" h="60.0" x="14393.15" y="8549.0"/>
-                    <glyph class="macromolecule" id="sa5421">
-                        <label text="UBB"/>
-                        <bbox w="80.0" h="60.0" x="14393.0" y="8549.0"/>
-                    </glyph>
-                    <glyph class="macromolecule" id="sa5422">
-                        <label text="UBC"/>
-                        <bbox w="80.0" h="60.0" x="14393.0" y="8549.0"/>
-                    </glyph>
-                </glyph>
-                <glyph class="simple chemical" id="sa5420">
-                    <label text="AMP"/>
-                    <bbox w="70.0" h="25.0" x="14398.308" y="8516.429"/>
-                </glyph>
-            </glyph>
-            <glyph class="complex" id="csa744">
-                <label text="E1"/>
-                <bbox w="100.0" h="120.0" x="14273.168" y="8513.621"/>
-                <glyph class="macromolecule" id="sa5402">
-                    <label text="UBA6"/>
-                    <bbox w="80.0" h="40.0" x="14282.418" y="8572.621"/>
-                    <glyph class="state variable" id="sa5402-rs1">
-                        <state value="Ub" variable=""/>
-                        <bbox w="70.0" h="28.0" x="14327.418" y="8559.777"/>
-                    </glyph>
-                </glyph>
-                <glyph class="macromolecule" id="sa5403">
-                    <label text="UBA1"/>
-                    <bbox w="80.0" h="40.0" x="14283.418" y="8526.316"/>
-                    <glyph class="state variable" id="sa5403-rs1">
-                        <state value="Ub" variable=""/>
-                        <bbox w="70.0" h="28.0" x="14326.655" y="8512.316"/>
-                    </glyph>
-                </glyph>
-            </glyph>
-        </glyph>
-        <glyph class="phenotype" id="sa4937">
-            <label text="SNCA oligomer"/>
-            <bbox w="80.0" h="30.0" x="15152.5" y="10026.598"/>
-        </glyph>
-        <glyph class="complex" id="csa771">
-            <label text="shutling factors"/>
-            <bbox w="100.0" h="120.0" x="15392.0" y="9541.0"/>
-            <glyph class="macromolecule" id="sa4944">
-                <label text="RAD23A"/>
-                <bbox w="80.0" h="40.0" x="15403.125" y="9549.0"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa5473">
-                <label text="RAD23B"/>
-                <bbox w="80.0" h="40.0" x="15403.5" y="9596.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa4992">
-            <label text="DUB"/>
-            <bbox w="80.0" h="40.0" x="15111.25" y="9343.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa4979">
-            <label text="UBE4B"/>
-            <bbox w="80.0" h="40.0" x="14629.25" y="10156.0"/>
-        </glyph>
-        <glyph class="unspecified entity" id="sa4929">
-            <label text="proteasome inhibitor"/>
-            <bbox w="80.0" h="30.0" x="16258.25" y="10056.0"/>
-        </glyph>
-        <glyph class="phenotype" id="sa4947">
-            <label text="diffusion"/>
-            <bbox w="80.0" h="30.0" x="15137.125" y="9619.0"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa5423">
-            <label text="ATP"/>
-            <bbox w="29.0" h="26.0" x="14020.6" y="8289.167"/>
-        </glyph>
-        <glyph class="complex" id="csa668">
-            <label text="26S hybrid proteasome"/>
-            <bbox w="421.0" h="667.0" x="15555.25" y="9023.5"/>
-            <glyph class="complex" id="csa704">
-                <label text="19S regulatory complex"/>
-                <bbox w="400.0" h="368.0" x="15566.288" y="9033.808"/>
-                <glyph class="complex" id="csa707">
-                    <label text="Base"/>
-                    <bbox w="376.0" h="161.0" x="15580.25" y="9219.5"/>
-                    <glyph class="macromolecule" id="sa5194">
-                        <label text="PSMC2 "/>
-                        <bbox w="80.0" h="40.0" x="15604.288" y="9275.654"/>
-                    </glyph>
-                    <glyph class="macromolecule" id="sa5195">
-                        <label text="PSMC1"/>
-                        <bbox w="80.0" h="40.0" x="15604.288" y="9231.308"/>
-                    </glyph>
-                    <glyph class="macromolecule" id="sa5196">
-                        <label text="PSMC4"/>
-                        <bbox w="80.0" h="40.0" x="15691.288" y="9231.308"/>
-                    </glyph>
-                    <glyph class="macromolecule" id="sa5197">
-                        <label text="PSMC6"/>
-                        <bbox w="80.0" h="40.0" x="15692.288" y="9322.654"/>
-                    </glyph>
-                    <glyph class="macromolecule" id="sa5198">
-                        <label text="PSMC3"/>
-                        <bbox w="80.0" h="40.0" x="15604.288" y="9322.654"/>
-                    </glyph>
-                    <glyph class="macromolecule" id="sa5199">
-                        <label text="PSMC5"/>
-                        <bbox w="80.0" h="40.0" x="15691.275" y="9275.654"/>
-                    </glyph>
-                    <glyph class="macromolecule" id="sa5200">
-                        <label text="PSMD2"/>
-                        <bbox w="80.0" h="40.0" x="15778.263" y="9275.654"/>
-                    </glyph>
-                    <glyph class="macromolecule" id="sa5201">
-                        <label text="PSMD1"/>
-                        <bbox w="80.0" h="40.0" x="15779.25" y="9231.308"/>
-                    </glyph>
-                    <glyph class="macromolecule" id="sa5202">
-                        <label text="PSMD4"/>
-                        <bbox w="80.0" h="40.0" x="15779.25" y="9322.654"/>
-                    </glyph>
-                    <glyph class="macromolecule" id="sa5203">
-                        <label text="ADRM1"/>
-                        <bbox w="80.0" h="40.0" x="15865.25" y="9275.654"/>
-                    </glyph>
-                </glyph>
-                <glyph class="complex" id="csa708">
-                    <label text="Lid"/>
-                    <bbox w="276.0" h="172.0" x="15628.25" y="9038.5"/>
-                    <glyph class="macromolecule" id="sa5204">
-                        <label text="PSMD3"/>
-                        <bbox w="80.0" h="40.0" x="15640.25" y="9049.5"/>
-                    </glyph>
-                    <glyph class="macromolecule" id="sa5205">
-                        <label text="PSMD8"/>
-                        <bbox w="80.0" h="40.0" x="15726.75" y="9100.0"/>
-                    </glyph>
-                    <glyph class="macromolecule" id="sa5206">
-                        <label text="PSMD6"/>
-                        <bbox w="80.0" h="40.0" x="15640.25" y="9150.5"/>
-                    </glyph>
-                    <glyph class="macromolecule" id="sa5207">
-                        <label text="PSMD7"/>
-                        <bbox w="80.0" h="40.0" x="15726.75" y="9049.5"/>
-                    </glyph>
-                    <glyph class="macromolecule" id="sa5208">
-                        <label text="PSMD12"/>
-                        <bbox w="80.0" h="40.0" x="15813.25" y="9100.0"/>
-                    </glyph>
-                    <glyph class="macromolecule" id="sa5209">
-                        <label text="PSMD11"/>
-                        <bbox w="80.0" h="40.0" x="15813.25" y="9049.5"/>
-                    </glyph>
-                    <glyph class="macromolecule" id="sa5210">
-                        <label text="PSMD4"/>
-                        <bbox w="80.0" h="40.0" x="15640.25" y="9100.0"/>
-                    </glyph>
-                    <glyph class="macromolecule" id="sa5211">
-                        <label text="PSMD14"/>
-                        <bbox w="80.0" h="40.0" x="15813.25" y="9150.5"/>
-                    </glyph>
-                    <glyph class="macromolecule" id="sa5212">
-                        <label text="PSMD9"/>
-                        <bbox w="80.0" h="40.0" x="15726.75" y="9150.5"/>
-                    </glyph>
-                </glyph>
-            </glyph>
-            <glyph class="complex" id="csa703">
-                <label text="20S core complex"/>
-                <bbox w="394.0" h="256.0" x="15570.25" y="9409.308"/>
-                <glyph class="complex" id="csa705">
-                    <label text="beta subunit"/>
-                    <bbox w="176.0" h="213.0" x="15776.25" y="9423.308"/>
-                    <glyph class="macromolecule" id="sa5180">
-                        <label text="PSMB1"/>
-                        <bbox w="80.0" h="40.0" x="15782.25" y="9432.308"/>
-                    </glyph>
-                    <glyph class="macromolecule" id="sa5181">
-                        <label text="PSMB2"/>
-                        <bbox w="80.0" h="40.0" x="15782.25" y="9479.975"/>
-                    </glyph>
-                    <glyph class="macromolecule" id="sa5182">
-                        <label text="PSMB3"/>
-                        <bbox w="80.0" h="40.0" x="15782.25" y="9527.641"/>
-                    </glyph>
-                    <glyph class="macromolecule" id="sa5183">
-                        <label text="PSMB4"/>
-                        <bbox w="80.0" h="40.0" x="15782.25" y="9575.308"/>
-                    </glyph>
-                    <glyph class="macromolecule" id="sa5184">
-                        <label text="PSMB5"/>
-                        <bbox w="80.0" h="40.0" x="15866.25" y="9444.308"/>
-                    </glyph>
-                    <glyph class="macromolecule" id="sa5185">
-                        <label text="PSMB6"/>
-                        <bbox w="80.0" h="40.0" x="15867.25" y="9497.308"/>
-                    </glyph>
-                    <glyph class="macromolecule" id="sa5186">
-                        <label text="PSMB7"/>
-                        <bbox w="80.0" h="40.0" x="15866.25" y="9550.308"/>
-                    </glyph>
-                </glyph>
-                <glyph class="complex" id="csa706">
-                    <label text="alpha subunit"/>
-                    <bbox w="177.0" h="214.0" x="15585.25" y="9423.308"/>
-                    <glyph class="macromolecule" id="sa5187">
-                        <label text="PSMA5"/>
-                        <bbox w="80.0" h="40.0" x="15679.25" y="9445.308"/>
-                    </glyph>
-                    <glyph class="macromolecule" id="sa5188">
-                        <label text="PSMA6"/>
-                        <bbox w="80.0" h="40.0" x="15679.25" y="9498.308"/>
-                    </glyph>
-                    <glyph class="macromolecule" id="sa5189">
-                        <label text="PSMA7"/>
-                        <bbox w="80.0" h="40.0" x="15679.25" y="9551.308"/>
-                    </glyph>
-                    <glyph class="macromolecule" id="sa5190">
-                        <label text="PSMA1"/>
-                        <bbox w="80.0" h="40.0" x="15592.25" y="9433.308"/>
-                    </glyph>
-                    <glyph class="macromolecule" id="sa5191">
-                        <label text="PSMA2"/>
-                        <bbox w="80.0" h="40.0" x="15592.25" y="9479.641"/>
-                    </glyph>
-                    <glyph class="macromolecule" id="sa5192">
-                        <label text="PSMA3"/>
-                        <bbox w="80.0" h="40.0" x="15592.25" y="9527.975"/>
-                    </glyph>
-                    <glyph class="macromolecule" id="sa5193">
-                        <label text="PSMA4"/>
-                        <bbox w="80.0" h="40.0" x="15592.25" y="9576.308"/>
-                    </glyph>
-                </glyph>
-            </glyph>
-        </glyph>
-        <glyph class="complex" id="csa673">
-            <label text="HSP40:HSP70"/>
-            <bbox w="100.0" h="120.0" x="14390.25" y="9952.0"/>
-            <glyph class="macromolecule" id="sa5252">
-                <label text="HSP70"/>
-                <bbox w="80.0" h="40.0" x="14401.25" y="9958.0"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa5253">
-                <label text="HSP40"/>
-                <bbox w="80.0" h="40.0" x="14398.25" y="10006.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="complex" id="csa747">
-            <label text="E2"/>
-            <bbox w="100.0" h="120.0" x="14627.027" y="8637.842"/>
-            <glyph class="complex" id="csa761">
-                <label text="ubiquitin"/>
-                <bbox w="80.0" h="60.0" x="14636.45" y="8675.0"/>
-                <glyph class="macromolecule" id="sa5434">
-                    <label text="UBB"/>
-                    <bbox w="80.0" h="60.0" x="14636.0" y="8675.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa5435">
-                    <label text="UBC"/>
-                    <bbox w="80.0" h="60.0" x="14636.0" y="8675.0"/>
-                </glyph>
-            </glyph>
-        </glyph>
-        <glyph class="complex" id="csa781">
-            <label text="HSP70:chaperon"/>
-            <bbox w="332.0" h="182.0" x="13961.0" y="8980.0"/>
-            <glyph class="complex" id="csa780">
-                <label text="co-chaperones of HSP70"/>
-                <bbox w="302.0" h="78.0" x="13977.0" y="9060.0"/>
-                <glyph class="macromolecule" id="sa4968">
-                    <label text="DNAJB2"/>
-                    <bbox w="80.0" h="40.0" x="14089.25" y="9077.5"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa4969">
-                    <label text="STUB1"/>
-                    <bbox w="80.0" h="40.0" x="13986.25" y="9077.5"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa5007">
-                    <label text="BAG1"/>
-                    <bbox w="80.0" h="40.0" x="14192.25" y="9077.5"/>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule" id="sa4967">
-                <label text="HSP70"/>
-                <bbox w="80.0" h="40.0" x="14084.694" y="8998.556"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa5003">
-            <label text="Target protein"/>
-            <bbox w="156.0" h="55.0" x="14825.25" y="8680.695"/>
-            <glyph class="state variable" id="sa5003-rs1">
-                <bbox w="20.0" h="22.0" x="14971.25" y="8671.285"/>
-            </glyph>
-            <glyph class="state variable" id="sa5003-rs2">
-                <bbox w="20.0" h="22.0" x="14971.25" y="8682.14"/>
-            </glyph>
-            <glyph class="state variable" id="sa5003-rs3">
-                <bbox w="20.0" h="22.0" x="14971.25" y="8692.993"/>
-            </glyph>
-            <glyph class="state variable" id="sa5003-rs4">
-                <bbox w="20.0" h="22.0" x="15030.064" y="8724.695"/>
-            </glyph>
-            <glyph class="state variable" id="sa5003-rs5">
-                <bbox w="20.0" h="22.0" x="14999.277" y="8724.695"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa4993">
-            <label text="chaperones"/>
-            <bbox w="80.0" h="40.0" x="15136.75" y="9564.0"/>
-        </glyph>
-        <glyph class="complex" id="csa654">
-            <label text="E2:E3:substrate complex"/>
-            <bbox w="240.0" h="209.0" x="14785.25" y="8832.0"/>
-            <glyph class="complex" id="csa748">
-                <label text="E2"/>
-                <bbox w="100.0" h="120.0" x="14798.0" y="8838.895"/>
-                <glyph class="complex" id="csa760">
-                    <label text="ubiquitin"/>
-                    <bbox w="80.0" h="60.0" x="14810.45" y="8873.0"/>
-                    <glyph class="macromolecule" id="sa5432">
-                        <label text="UBB"/>
-                        <bbox w="80.0" h="60.0" x="14810.0" y="8873.0"/>
-                    </glyph>
-                    <glyph class="macromolecule" id="sa5433">
-                        <label text="UBC"/>
-                        <bbox w="80.0" h="60.0" x="14810.0" y="8873.0"/>
-                    </glyph>
-                </glyph>
-            </glyph>
-            <glyph class="complex" id="csa773">
-                <label text="E3"/>
-                <bbox w="80.0" h="60.0" x="14922.0" y="8875.3"/>
-                <glyph class="macromolecule" id="sa5476">
-                    <label text="UBE3C"/>
-                    <bbox w="80.0" h="60.0" x="14922.0" y="8875.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa5477">
-                    <label text="UBE3A"/>
-                    <bbox w="80.0" h="60.0" x="14922.0" y="8875.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa5478">
-                    <label text="PARK2"/>
-                    <bbox w="80.0" h="60.0" x="14922.0" y="8875.0"/>
-                    <glyph class="state variable" id="sa5478-rs1">
-                        <bbox w="20.0" h="22.0" x="14992.0" y="8866.116"/>
-                    </glyph>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule" id="sa5089">
-                <label text="Target protein"/>
-                <bbox w="156.0" h="55.0" x="14827.333" y="8965.0"/>
-                <glyph class="state variable" id="sa5089-rs1">
-                    <bbox w="20.0" h="22.0" x="14973.333" y="8955.59"/>
-                </glyph>
-                <glyph class="state variable" id="sa5089-rs2">
-                    <bbox w="20.0" h="22.0" x="14973.333" y="8966.444"/>
-                </glyph>
-                <glyph class="state variable" id="sa5089-rs3">
-                    <bbox w="20.0" h="22.0" x="14973.333" y="8977.298"/>
-                </glyph>
-                <glyph class="state variable" id="sa5089-rs4">
-                    <bbox w="20.0" h="22.0" x="15032.147" y="9009.0"/>
-                </glyph>
-                <glyph class="state variable" id="sa5089-rs5">
-                    <bbox w="20.0" h="22.0" x="15001.36" y="9009.0"/>
-                </glyph>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa4914">
-            <label text="GRIN2A"/>
-            <bbox w="80.0" h="40.0" x="16454.25" y="10235.25"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa5085">
-            <label text="Target protein"/>
-            <bbox w="153.0" h="54.0" x="14826.0" y="9369.0"/>
-            <glyph class="state variable" id="sa5085-rs1">
-                <state value="Ub" variable=""/>
-                <bbox w="70.0" h="28.0" x="14944.0" y="9356.561"/>
-            </glyph>
-            <glyph class="state variable" id="sa5085-rs2">
-                <state value="Ub" variable=""/>
-                <bbox w="70.0" h="28.0" x="14944.0" y="9367.218"/>
-            </glyph>
-            <glyph class="state variable" id="sa5085-rs3">
-                <state value="Ub" variable=""/>
-                <bbox w="70.0" h="28.0" x="14944.0" y="9377.875"/>
-            </glyph>
-            <glyph class="state variable" id="sa5085-rs4">
-                <state value="Ub" variable=""/>
-                <bbox w="70.0" h="28.0" x="15001.684" y="9409.0"/>
-            </glyph>
-            <glyph class="state variable" id="sa5085-rs5">
-                <state value="Ub" variable=""/>
-                <bbox w="70.0" h="28.0" x="14971.488" y="9409.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="complex" id="csa756">
-            <label text="UBL-acyl adenylate intermediate"/>
-            <bbox w="110.0" h="122.0" x="14060.6" y="8380.5"/>
-            <glyph class="complex" id="csa758">
-                <label text="ubiquitin"/>
-                <bbox w="80.0" h="60.0" x="14076.3" y="8418.5"/>
-                <glyph class="macromolecule" id="sa5426">
-                    <label text="UBB"/>
-                    <bbox w="80.0" h="60.0" x="14076.0" y="8418.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa5427">
-                    <label text="UBC"/>
-                    <bbox w="80.0" h="60.0" x="14076.0" y="8418.0"/>
-                </glyph>
-            </glyph>
-            <glyph class="simple chemical" id="sa5425">
-                <label text="AMP"/>
-                <bbox w="70.0" h="25.0" x="14081.457" y="8385.929"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa4912">
-            <label text="SHANK2"/>
-            <bbox w="80.0" h="40.0" x="15956.25" y="10235.25"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa4978">
-            <label text="ubiquitin"/>
-            <bbox w="72.0" h="22.0" x="14516.341" y="10317.637"/>
-        </glyph>
-        <glyph class="phenotype" id="sa4948">
-            <label text="endocytosis"/>
-            <bbox w="80.0" h="30.0" x="15154.25" y="9230.0"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa5000">
-            <label text="ATP"/>
-            <bbox w="29.0" h="26.0" x="15178.0" y="9870.195"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa4994">
-            <label text="E4"/>
-            <bbox w="80.0" h="40.0" x="14659.25" y="9278.0"/>
-        </glyph>
-        <glyph class="source and sink" id="sa4923">
-            <label text="s6112"/>
-            <bbox w="30.0" h="30.0" x="16746.625" y="10488.0"/>
-        </glyph>
-        <glyph class="source and sink" id="sa4910">
-            <label text="s6114"/>
-            <bbox w="30.0" h="30.0" x="15983.25" y="10488.0"/>
-        </glyph>
-        <glyph class="phenotype" id="sa4911">
-            <label text="KCl-induced depolarization"/>
-            <bbox w="80.0" h="30.0" x="16428.25" y="9501.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa4932">
-            <label text="protein phosphatase 1"/>
-            <bbox w="80.0" h="40.0" x="16134.976" y="10235.25"/>
-        </glyph>
-        <glyph class="complex" id="csa665">
-            <label text="UBL-acyl adenylate intermediate"/>
-            <bbox w="110.0" h="122.0" x="14060.6" y="7959.0"/>
-            <glyph class="complex" id="csa750">
-                <label text="ubiquitin"/>
-                <bbox w="80.0" h="60.0" x="14076.3" y="7997.0"/>
-                <glyph class="macromolecule" id="sa5413">
-                    <label text="UBB"/>
-                    <bbox w="80.0" h="60.0" x="14076.0" y="7997.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa5414">
-                    <label text="UBC"/>
-                    <bbox w="80.0" h="60.0" x="14076.0" y="7997.0"/>
-                </glyph>
-            </glyph>
-            <glyph class="simple chemical" id="sa5142">
-                <label text="AMP"/>
-                <bbox w="70.0" h="25.0" x="14081.457" y="7964.4287"/>
-            </glyph>
-        </glyph>
-        <glyph class="simple chemical" id="sa4935">
-            <label text="ATP"/>
-            <bbox w="29.0" h="26.0" x="14020.6" y="7867.6665"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa4913">
-            <label text="GRIN2B"/>
-            <bbox w="80.0" h="40.0" x="16045.928" y="10235.25"/>
-        </glyph>
-        <glyph class="complex" id="csa759">
-            <label text="ubiquitin"/>
-            <bbox w="80.0" h="60.0" x="14659.45" y="9209.0"/>
-            <glyph class="macromolecule" id="sa5430">
-                <label text="UBB"/>
-                <bbox w="80.0" h="60.0" x="14659.0" y="9209.0"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa5431">
-                <label text="UBC"/>
-                <bbox w="80.0" h="60.0" x="14659.0" y="9209.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="source and sink" id="sa4921">
-            <label text="s6115"/>
-            <bbox w="30.0" h="30.0" x="16300.952" y="10488.0"/>
-        </glyph>
-        <glyph class="phenotype" id="sa4920">
-            <label text="pharmacological stimulations of synaptic activity"/>
-            <bbox w="80.0" h="30.0" x="16509.25" y="10441.0"/>
-        </glyph>
-        <glyph class="source and sink" id="sa4977">
-            <label text="s6111"/>
-            <bbox w="30.0" h="30.0" x="14446.25" y="10694.0"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re1573">
-            <bbox w="10.0" h="10.0" x="14898.556" y="9079.348"/>
-            <port id="re1573.1" x="14903.556" y="9074.348"/>
-            <port id="re1573.2" x="14903.556" y="9094.348"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re1598">
-            <bbox w="10.0" h="10.0" x="15992.299" y="10380.125"/>
-            <port id="re1598.1" x="15997.299" y="10375.125"/>
-            <port id="re1598.2" x="15997.299" y="10395.125"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re1561">
-            <bbox w="10.0" h="10.0" x="14899.472" y="8778.848"/>
-            <port id="re1561.1" x="14904.472" y="8773.848"/>
-            <port id="re1561.2" x="14904.472" y="8793.848"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re1703">
-            <bbox w="10.0" h="10.0" x="14110.355" y="8319.0"/>
-            <port id="re1703.1" x="14115.355" y="8314.0"/>
-            <port id="re1703.2" x="14115.355" y="8334.0"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re1557">
-            <bbox w="10.0" h="10.0" x="15323.368" y="10065.348"/>
-            <port id="re1557.1" x="15328.368" y="10060.348"/>
-            <port id="re1557.2" x="15328.368" y="10080.348"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re1560">
-            <bbox w="10.0" h="10.0" x="14647.027" y="8592.921"/>
-            <port id="re1560.1" x="14652.027" y="8587.921"/>
-            <port id="re1560.2" x="14652.027" y="8607.921"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re1702">
-            <bbox w="10.0" h="10.0" x="14697.027" y="8592.921"/>
-            <port id="re1702.1" x="14712.027" y="8597.921"/>
-            <port id="re1702.2" x="14692.027" y="8597.921"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re1610">
-            <bbox w="10.0" h="10.0" x="14110.355" y="7897.5"/>
-            <port id="re1610.1" x="14115.355" y="7892.5"/>
-            <port id="re1610.2" x="14115.355" y="7912.5"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re1559">
-            <bbox w="10.0" h="10.0" x="14334.317" y="8247.033"/>
-            <port id="re1559.1" x="14339.317" y="8242.033"/>
-            <port id="re1559.2" x="14339.317" y="8262.033"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re1614">
-            <bbox w="10.0" h="10.0" x="14417.567" y="8004.7236"/>
-            <port id="re1614.1" x="14432.567" y="8009.7236"/>
-            <port id="re1614.2" x="14412.567" y="8009.7236"/>
-        </glyph>
-        <glyph class="association" orientation="vertical" id="re1704">
-            <bbox w="10.0" h="10.0" x="15323.0" y="9595.0"/>
-            <port id="re1704.1" x="15328.0" y="9590.0"/>
-            <port id="re1704.2" x="15328.0" y="9610.0"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re1558">
-            <bbox w="10.0" h="10.0" x="14334.317" y="8004.7236"/>
-            <port id="re1558.1" x="14339.317" y="7999.7236"/>
-            <port id="re1558.2" x="14339.317" y="8019.7236"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re1578">
-            <bbox w="10.0" h="10.0" x="14165.797" y="10060.182"/>
-            <port id="re1578.1" x="14170.797" y="10055.182"/>
-            <port id="re1578.2" x="14170.797" y="10075.182"/>
-        </glyph>
-        <glyph class="association" orientation="horizontal" id="re1597">
-            <bbox w="10.0" h="10.0" x="16285.25" y="9713.938"/>
-            <port id="re1597.1" x="16280.25" y="9718.938"/>
-            <port id="re1597.2" x="16300.25" y="9718.938"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re1581">
-            <bbox w="10.0" h="10.0" x="14452.707" y="10378.682"/>
-            <port id="re1581.1" x="14457.707" y="10373.682"/>
-            <port id="re1581.2" x="14457.707" y="10393.682"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re1612">
-            <bbox w="10.0" h="10.0" x="14334.317" y="8452.343"/>
-            <port id="re1612.1" x="14339.317" y="8447.343"/>
-            <port id="re1612.2" x="14339.317" y="8467.343"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re1617">
-            <bbox w="10.0" h="10.0" x="15033.262" y="8929.919"/>
-            <port id="re1617.1" x="15038.262" y="8944.919"/>
-            <port id="re1617.2" x="15038.262" y="8924.919"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re1582">
-            <bbox w="10.0" h="10.0" x="14456.064" y="10625.5"/>
-            <port id="re1582.1" x="14461.064" y="10620.5"/>
-            <port id="re1582.2" x="14461.064" y="10640.5"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re1613">
-            <bbox w="10.0" h="10.0" x="14417.567" y="8247.033"/>
-            <port id="re1613.1" x="14422.567" y="8262.033"/>
-            <port id="re1613.2" x="14422.567" y="8242.033"/>
-        </glyph>
-        <glyph class="association" orientation="vertical" id="re1580">
-            <bbox w="10.0" h="10.0" x="14663.75" y="10267.125"/>
-            <port id="re1580.1" x="14668.75" y="10262.125"/>
-            <port id="re1580.2" x="14668.75" y="10282.125"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re1599">
-            <bbox w="10.0" h="10.0" x="16310.929" y="10380.125"/>
-            <port id="re1599.1" x="16315.929" y="10375.125"/>
-            <port id="re1599.2" x="16315.929" y="10395.125"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re1595">
-            <bbox w="10.0" h="10.0" x="14399.675" y="9067.017"/>
-            <port id="re1595.1" x="14404.675" y="9062.017"/>
-            <port id="re1595.2" x="14404.675" y="9082.017"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re1600">
-            <bbox w="10.0" h="10.0" x="16756.447" y="10380.125"/>
-            <port id="re1600.1" x="16761.447" y="10375.125"/>
-            <port id="re1600.2" x="16761.447" y="10395.125"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re1615">
-            <bbox w="10.0" h="10.0" x="14417.567" y="8452.343"/>
-            <port id="re1615.1" x="14432.567" y="8457.343"/>
-            <port id="re1615.2" x="14412.567" y="8457.343"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re1562">
-            <bbox w="10.0" h="10.0" x="14859.375" y="9270.348"/>
-            <port id="re1562.1" x="14864.375" y="9265.348"/>
-            <port id="re1562.2" x="14864.375" y="9285.348"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re1705">
-            <bbox w="10.0" h="10.0" x="14935.875" y="9270.348"/>
-            <port id="re1705.1" x="14940.875" y="9285.348"/>
-            <port id="re1705.2" x="14940.875" y="9265.348"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re1601">
-            <bbox w="10.0" h="10.0" x="16856.432" y="10380.125"/>
-            <port id="re1601.1" x="16861.432" y="10375.125"/>
-            <port id="re1601.2" x="16861.432" y="10395.125"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="csa654" target="re1573.1">
-            <start x="14904.053" y="9041.0"/>
-            <end x="14903.556" y="9074.348"/>
-        </arc>
-        <arc class="production" id="arc1" source="re1573.2" target="sa5001">
-            <start x="14903.556" y="9094.348"/>
-            <end x="14903.06" y="9127.695"/>
-        </arc>
-        <arc class="production" id="arc2" source="re1573.2" target="csa746">
-            <start x="14903.556" y="9094.348"/>
-            <next x="14753.484" y="9093.1875"/>
-            <next x="14752.809" y="8497.914"/>
-            <end x="14727.027" y="8497.943"/>
-        </arc>
-        <arc class="production" id="arc3" source="re1573.2" target="csa772">
-            <start x="14903.556" y="9094.348"/>
-            <next x="15143.176" y="9093.625"/>
-            <next x="15144.147" y="8710.23"/>
-            <end x="15201.0" y="8710.374"/>
-        </arc>
-        <arc class="consumption" id="arc4" source="sa4912" target="re1598.1">
-            <start x="15996.411" y="10275.25"/>
-            <end x="15997.299" y="10375.125"/>
-        </arc>
-        <arc class="production" id="arc5" source="re1598.2" target="sa4910">
-            <start x="15997.299" y="10395.125"/>
-            <end x="15998.186" y="10495.0"/>
-        </arc>
-        <arc class="catalysis" id="arc6" source="csa650" target="re1598">
-            <start x="16599.342" y="9999.0"/>
-            <next x="16599.732" y="10389.484"/>
-            <end x="16002.339" y="10390.085"/>
-        </arc>
-        <arc class="necessary stimulation" id="arc7" source="sa4920" target="re1598">
-            <start x="16513.643" y="10451.059"/>
-            <end x="16002.258" y="10380.085"/>
-        </arc>
-        <arc class="consumption" id="arc8" source="sa5003" target="re1561.1">
-            <start x="14903.694" y="8735.695"/>
-            <end x="14904.472" y="8773.848"/>
-        </arc>
-        <arc class="production" id="arc9" source="re1561.2" target="csa654">
-            <start x="14904.472" y="8793.848"/>
-            <end x="14905.25" y="8832.0"/>
-        </arc>
-        <arc class="consumption" id="arc10" source="csa747" target="re1561.1">
-            <start x="14727.027" y="8714.644"/>
-            <end x="14904.472" y="8773.848"/>
-        </arc>
-        <arc class="consumption" id="arc11" source="csa772" target="re1561.1">
-            <start x="15201.0" y="8719.61"/>
-            <end x="14904.472" y="8773.848"/>
-        </arc>
-        <arc class="consumption" id="arc12" source="csa757" target="re1703.1">
-            <start x="14115.11" y="8267.5"/>
-            <end x="14115.355" y="8314.0"/>
-        </arc>
-        <arc class="production" id="arc13" source="re1703.2" target="csa756">
-            <start x="14115.355" y="8334.0"/>
-            <end x="14115.6" y="8380.5"/>
-        </arc>
-        <arc class="consumption" id="arc14" source="sa5423" target="re1703.1">
-            <start x="14049.447" y="8304.051"/>
-            <end x="14115.355" y="8314.0"/>
-        </arc>
-        <arc class="production" id="arc15" source="re1703.2" target="sa5424">
-            <start x="14115.355" y="8334.0"/>
-            <end x="14049.385" y="8345.604"/>
-        </arc>
-        <arc class="consumption" id="arc16" source="csa770" target="re1557.1">
-            <start x="15328.0" y="9866.0"/>
-            <end x="15328.368" y="10060.348"/>
-        </arc>
-        <arc class="production" id="arc17" source="re1557.2" target="sa4996">
-            <start x="15328.368" y="10080.348"/>
-            <end x="15328.735" y="10274.695"/>
-        </arc>
-        <arc class="consumption" id="arc18" source="sa5000" target="re1557.1">
-            <start x="15201.775" y="9893.1875"/>
-            <end x="15328.368" y="10060.348"/>
-        </arc>
-        <arc class="production" id="arc19" source="re1557.2" target="sa4997">
-            <start x="15328.368" y="10080.348"/>
-            <end x="15200.967" y="10157.746"/>
-        </arc>
-        <arc class="production" id="arc20" source="re1557.2" target="csa762">
-            <start x="15328.368" y="10080.348"/>
-            <end x="15224.436" y="10199.211"/>
-        </arc>
-        <arc class="production" id="arc21" source="re1557.2" target="sa4999">
-            <start x="15328.368" y="10080.348"/>
-            <end x="15203.725" y="10111.977"/>
-        </arc>
-        <arc class="catalysis" id="arc22" source="sa4992" target="re1557">
-            <start x="15111.25" y="9363.014"/>
-            <next x="15070.657" y="9363.028"/>
-            <next x="15070.909" y="10075.446"/>
-            <end x="15323.377" y="10075.356"/>
-        </arc>
-        <arc class="catalysis" id="arc23" source="sa4991" target="re1557">
-            <start x="15425.528" y="10142.0"/>
-            <end x="15333.368" y="10070.339"/>
-        </arc>
-        <arc class="catalysis" id="arc24" source="csa770" target="re1557">
-            <start x="15421.0" y="9787.0"/>
-            <next x="15454.056" y="9786.983"/>
-            <next x="15454.192" y="10065.279"/>
-            <end x="15333.358" y="10065.339"/>
-        </arc>
-        <arc class="inhibition" id="arc25" source="sa4939" target="re1557">
-            <start x="15212.178" y="9952.996"/>
-            <end x="15320.545" y="10062.514"/>
-        </arc>
-        <arc class="inhibition" id="arc26" source="sa4938" target="re1557">
-            <start x="15224.905" y="10009.797"/>
-            <end x="15319.961" y="10068.261"/>
-        </arc>
-        <arc class="inhibition" id="arc27" source="sa4937" target="re1557">
-            <start x="15225.964" y="10048.951"/>
-            <end x="15319.461" y="10069.498"/>
-        </arc>
-        <arc class="inhibition" id="re1570" source="sa4933" target="sa4915">
-            <start x="16227.139" y="10155.834"/>
-            <end x="16366.585" y="10234.023"/>
-        </arc>
-        <arc class="consumption" id="arc28" source="csa746" target="re1560.1">
-            <start x="14652.027" y="8558.0"/>
-            <end x="14652.027" y="8587.921"/>
-        </arc>
-        <arc class="production" id="arc29" source="re1560.2" target="csa747">
-            <start x="14652.027" y="8607.921"/>
-            <end x="14652.027" y="8637.842"/>
-        </arc>
-        <arc class="consumption" id="arc30" source="csa742" target="re1560.1">
-            <start x="14497.567" y="8583.455"/>
-            <end x="14652.027" y="8587.921"/>
-        </arc>
-        <arc class="production" id="arc31" source="re1560.2" target="csa664">
-            <start x="14652.027" y="8607.921"/>
-            <next x="14583.999" y="8605.909"/>
-            <next x="14583.966" y="8091.6914"/>
-            <end x="14497.567" y="8091.6973"/>
-        </arc>
-        <arc class="consumption" id="arc32" source="csa747" target="re1702.1">
-            <start x="14702.027" y="8637.842"/>
-            <end x="14712.027" y="8597.921"/>
-        </arc>
-        <arc class="production" id="arc33" source="re1702.2" target="csa746">
-            <start x="14692.027" y="8597.921"/>
-            <end x="14702.027" y="8558.0"/>
-        </arc>
-        <arc class="consumption" id="arc34" source="csa664" target="re1702.1">
-            <start x="14497.567" y="8170.1973"/>
-            <next x="14802.568" y="8171.1284"/>
-            <next x="14803.095" y="8575.959"/>
-            <end x="14712.027" y="8597.921"/>
-        </arc>
-        <arc class="production" id="arc35" source="re1702.2" target="csa742">
-            <start x="14692.027" y="8597.921"/>
-            <end x="14497.567" y="8578.566"/>
-        </arc>
-        <arc class="consumption" id="arc36" source="csa749" target="re1610.1">
-            <start x="14115.11" y="7846.0"/>
-            <end x="14115.355" y="7892.5"/>
-        </arc>
-        <arc class="production" id="arc37" source="re1610.2" target="csa665">
-            <start x="14115.355" y="7912.5"/>
-            <end x="14115.6" y="7959.0"/>
-        </arc>
-        <arc class="consumption" id="arc38" source="sa4935" target="re1610.1">
-            <start x="14049.447" y="7882.551"/>
-            <end x="14115.355" y="7892.5"/>
-        </arc>
-        <arc class="production" id="arc39" source="re1610.2" target="sa4934">
-            <start x="14115.355" y="7912.5"/>
-            <end x="14049.385" y="7924.104"/>
-        </arc>
-        <arc class="consumption" id="arc40" source="csa664" target="re1559.1">
-            <start x="14322.817" y="8209.447"/>
-            <end x="14339.317" y="8242.033"/>
-        </arc>
-        <arc class="production" id="arc41" source="re1559.2" target="csa741">
-            <start x="14339.317" y="8262.033"/>
-            <end x="14355.817" y="8294.619"/>
-        </arc>
-        <arc class="production" id="arc42" source="re1559.2" target="sa4950">
-            <start x="14339.317" y="8262.033"/>
-            <end x="14366.363" y="8251.69"/>
-        </arc>
-        <arc class="inhibition" id="re1569" source="sa4933" target="sa4914">
-            <start x="16230.634" y="10153.212"/>
-            <end x="16451.8" y="10238.819"/>
-        </arc>
-        <arc class="consumption" id="arc43" source="csa664" target="re1614.1">
-            <start x="14439.317" y="8052.4473"/>
-            <end x="14432.567" y="8009.7236"/>
-        </arc>
-        <arc class="production" id="arc44" source="re1614.2" target="csa739">
-            <start x="14412.567" y="8009.7236"/>
-            <end x="14405.817" y="7967.0"/>
-        </arc>
-        <arc class="production" id="arc45" source="re1614.2" target="csa665">
-            <start x="14412.567" y="8009.7236"/>
-            <end x="14170.6" y="7989.5"/>
-        </arc>
-        <arc class="consumption" id="arc46" source="sa5085" target="re1704.1">
-            <start x="14979.0" y="9413.26"/>
-            <next x="15328.0" y="9492.0"/>
-            <end x="15328.0" y="9590.0"/>
-        </arc>
-        <arc class="consumption" id="arc47" source="csa668" target="re1704.1">
-            <start x="15555.25" y="9421.917"/>
-            <next x="15328.0" y="9492.0"/>
-            <end x="15328.0" y="9590.0"/>
-        </arc>
-        <arc class="production" id="arc48" source="re1704.2" target="csa770">
-            <start x="15328.0" y="9610.0"/>
-            <end x="15328.0" y="9708.0"/>
-        </arc>
-        <arc class="necessary stimulation" id="arc49" source="sa4993" target="re1704">
-            <start x="15216.75" y="9588.376"/>
-            <end x="15323.0" y="9600.0"/>
-        </arc>
-        <arc class="necessary stimulation" id="arc50" source="sa4947" target="re1704">
-            <start x="15211.118" y="9627.242"/>
-            <end x="15323.0" y="9605.0"/>
-        </arc>
-        <arc class="necessary stimulation" id="arc51" source="csa771" target="re1704">
-            <start x="15392.0" y="9600.541"/>
-            <end x="15333.0" y="9600.0"/>
-        </arc>
-        <arc class="consumption" id="arc52" source="csa739" target="re1558.1">
-            <start x="14355.817" y="7967.0"/>
-            <end x="14339.317" y="7999.7236"/>
-        </arc>
-        <arc class="production" id="arc53" source="re1558.2" target="csa664">
-            <start x="14339.317" y="8019.7236"/>
-            <end x="14322.817" y="8052.4473"/>
-        </arc>
-        <arc class="consumption" id="arc54" source="csa665" target="re1558.1">
-            <start x="14170.6" y="8015.4404"/>
-            <end x="14339.317" y="7999.7236"/>
-        </arc>
-        <arc class="consumption" id="arc55" source="sa4927" target="re1578.1">
-            <start x="14170.767" y="10019.0"/>
-            <end x="14170.797" y="10055.182"/>
-        </arc>
-        <arc class="production" id="arc56" source="re1578.2" target="sa4981">
-            <start x="14170.797" y="10075.182"/>
-            <end x="14170.827" y="10111.363"/>
-        </arc>
-        <arc class="catalysis" id="arc57" source="sa4928" target="re1578">
-            <start x="14206.25" y="9870.267"/>
-            <next x="14304.179" y="9870.918"/>
-            <next x="14301.66" y="10059.263"/>
-            <end x="14175.794" y="10060.179"/>
-        </arc>
-        <arc class="catalysis" id="arc58" source="csa673" target="re1578">
-            <start x="14390.25" y="10072.0"/>
-            <end x="14175.797" y="10065.179"/>
-        </arc>
-        <arc class="inhibition" id="re1568" source="sa4933" target="sa4931">
-            <start x="16219.17" y="10158.0"/>
-            <end x="16293.895" y="10233.123"/>
-        </arc>
-        <arc class="consumption" id="arc59" source="csa668" target="re1597.1">
-            <start x="15976.25" y="9515.1455"/>
-            <next x="16057.25" y="9576.0"/>
-            <end x="16280.25" y="9718.938"/>
-        </arc>
-        <arc class="consumption" id="arc60" source="sa4926" target="re1597.1">
-            <start x="16079.736" y="9448.0"/>
-            <next x="16057.25" y="9576.0"/>
-            <end x="16280.25" y="9718.938"/>
-        </arc>
-        <arc class="production" id="arc61" source="re1597.2" target="csa650">
-            <start x="16300.25" y="9718.938"/>
-            <end x="16523.25" y="9861.876"/>
-        </arc>
-        <arc class="necessary stimulation" id="arc62" source="sa4911" target="re1597">
-            <start x="16455.008" y="9531.0"/>
-            <end x="16292.864" y="9714.676"/>
-        </arc>
-        <arc class="consumption" id="arc63" source="sa4980" target="re1581.1">
-            <start x="14456.336" y="10332.363"/>
-            <end x="14457.707" y="10373.682"/>
-        </arc>
-        <arc class="production" id="arc64" source="re1581.2" target="csa669">
-            <start x="14457.707" y="10393.682"/>
-            <end x="14459.079" y="10435.0"/>
-        </arc>
-        <arc class="consumption" id="arc65" source="sa4978" target="re1581.1">
-            <start x="14532.772" y="10337.869"/>
-            <end x="14457.707" y="10373.682"/>
-        </arc>
-        <arc class="catalysis" id="arc66" source="csa671" target="re1581">
-            <start x="14619.25" y="10368.431"/>
-            <end x="14462.839" y="10388.547"/>
-        </arc>
-        <arc class="consumption" id="arc67" source="csa741" target="re1612.1">
-            <start x="14355.817" y="8414.619"/>
-            <end x="14339.317" y="8447.343"/>
-        </arc>
-        <arc class="production" id="arc68" source="re1612.2" target="csa742">
-            <start x="14339.317" y="8467.343"/>
-            <end x="14322.817" y="8500.066"/>
-        </arc>
-        <arc class="consumption" id="arc69" source="csa756" target="re1612.1">
-            <start x="14170.6" y="8472.0"/>
-            <end x="14339.317" y="8447.343"/>
-        </arc>
-        <arc class="consumption" id="arc70" source="sa5001" target="re1617.1">
-            <start x="14979.25" y="9156.646"/>
-            <next x="15038.23" y="9158.15"/>
-            <end x="15038.262" y="8944.919"/>
-        </arc>
-        <arc class="production" id="arc71" source="re1617.2" target="sa5003">
-            <start x="15038.262" y="8924.919"/>
-            <next x="15038.292" y="8711.687"/>
-            <end x="14981.25" y="8710.212"/>
-        </arc>
-        <arc class="catalysis" id="arc72" source="sa4992" target="re1617">
-            <start x="15111.25" y="9363.396"/>
-            <next x="15072.071" y="9363.784"/>
-            <next x="15067.822" y="8934.676"/>
-            <end x="15043.262" y="8934.919"/>
-        </arc>
-        <arc class="consumption" id="arc73" source="csa669" target="re1582.1">
-            <start x="14460.897" y="10560.0"/>
-            <end x="14461.064" y="10620.5"/>
-        </arc>
-        <arc class="production" id="arc74" source="re1582.2" target="sa4977">
-            <start x="14461.064" y="10640.5"/>
-            <end x="14461.231" y="10701.0"/>
-        </arc>
-        <arc class="necessary stimulation" id="arc75" source="csa668" target="re1582">
-            <start x="15765.797" y="9690.5"/>
-            <next x="15765.93" y="10629.922"/>
-            <end x="14466.064" y="10630.488"/>
-        </arc>
-        <arc class="consumption" id="arc76" source="csa741" target="re1613.1">
-            <start x="14405.817" y="8294.619"/>
-            <end x="14422.567" y="8262.033"/>
-        </arc>
-        <arc class="production" id="arc77" source="re1613.2" target="csa664">
-            <start x="14422.567" y="8242.033"/>
-            <end x="14439.317" y="8209.447"/>
-        </arc>
-        <arc class="consumption" id="arc78" source="sa4950" target="re1613.1">
-            <start x="14393.252" y="8251.436"/>
-            <end x="14422.567" y="8262.033"/>
-        </arc>
-        <arc class="consumption" id="arc79" source="sa4952" target="re1580.1">
-            <start x="14554.75" y="10222.841"/>
-            <next x="14668.25" y="10242.25"/>
-            <end x="14668.75" y="10262.125"/>
-        </arc>
-        <arc class="consumption" id="arc80" source="sa4979" target="re1580.1">
-            <start x="14668.948" y="10196.0"/>
-            <next x="14668.25" y="10242.25"/>
-            <end x="14668.75" y="10262.125"/>
-        </arc>
-        <arc class="production" id="arc81" source="re1580.2" target="csa671">
-            <start x="14668.75" y="10282.125"/>
-            <end x="14669.25" y="10302.0"/>
-        </arc>
-        <arc class="consumption" id="arc82" source="sa4931" target="re1599.1">
-            <start x="16315.908" y="10275.25"/>
-            <end x="16315.929" y="10375.125"/>
-        </arc>
-        <arc class="production" id="arc83" source="re1599.2" target="sa4921">
-            <start x="16315.929" y="10395.125"/>
-            <end x="16315.95" y="10495.0"/>
-        </arc>
-        <arc class="catalysis" id="arc84" source="csa650" target="re1599">
-            <start x="16599.25" y="9999.0"/>
-            <next x="16599.545" y="10389.913"/>
-            <end x="16320.93" y="10390.124"/>
-        </arc>
-        <arc class="necessary stimulation" id="arc85" source="sa4920" target="re1599">
-            <start x="16518.371" y="10445.738"/>
-            <end x="16320.928" y="10380.124"/>
-        </arc>
-        <arc class="consumption" id="arc86" source="sa4965" target="re1595.1">
-            <start x="14404.794" y="8987.127"/>
-            <end x="14404.675" y="9062.017"/>
-        </arc>
-        <arc class="production" id="arc87" source="re1595.2" target="sa5001">
-            <start x="14404.675" y="9082.017"/>
-            <next x="14404.557" y="9156.907"/>
-            <end x="14826.25" y="9155.035"/>
-        </arc>
-        <arc class="necessary stimulation" id="arc88" source="csa781" target="re1595">
-            <start x="14293.0" y="9071.615"/>
-            <end x="14399.675" y="9072.01"/>
-        </arc>
-        <arc class="consumption" id="arc89" source="sa4925" target="re1600.1">
-            <start x="16761.28" y="10275.25"/>
-            <end x="16761.447" y="10375.125"/>
-        </arc>
-        <arc class="production" id="arc90" source="re1600.2" target="sa4923">
-            <start x="16761.447" y="10395.125"/>
-            <end x="16761.613" y="10495.0"/>
-        </arc>
-        <arc class="catalysis" id="arc91" source="csa650" target="re1600">
-            <start x="16599.197" y="9999.0"/>
-            <next x="16598.969" y="10390.04"/>
-            <end x="16756.455" y="10390.133"/>
-        </arc>
-        <arc class="necessary stimulation" id="arc92" source="sa4920" target="re1600">
-            <start x="16579.428" y="10444.95"/>
-            <end x="16756.44" y="10380.133"/>
-        </arc>
-        <arc class="consumption" id="arc93" source="csa742" target="re1615.1">
-            <start x="14439.317" y="8500.066"/>
-            <end x="14432.567" y="8457.343"/>
-        </arc>
-        <arc class="production" id="arc94" source="re1615.2" target="csa741">
-            <start x="14412.567" y="8457.343"/>
-            <end x="14405.817" y="8414.619"/>
-        </arc>
-        <arc class="production" id="arc95" source="re1615.2" target="csa756">
-            <start x="14412.567" y="8457.343"/>
-            <end x="14170.6" y="8411.0"/>
-        </arc>
-        <arc class="consumption" id="arc96" source="sa5001" target="re1562.1">
-            <start x="14864.5" y="9181.695"/>
-            <end x="14864.375" y="9265.348"/>
-        </arc>
-        <arc class="production" id="arc97" source="re1562.2" target="sa5085">
-            <start x="14864.375" y="9285.348"/>
-            <end x="14864.25" y="9369.0"/>
-        </arc>
-        <arc class="consumption" id="arc98" source="csa759" target="re1562.1">
-            <start x="14739.45" y="9243.272"/>
-            <end x="14864.375" y="9265.348"/>
-        </arc>
-        <arc class="catalysis" id="arc99" source="csa772" target="re1562">
-            <start x="15201.0" y="8783.862"/>
-            <end x="14869.375" y="9275.3545"/>
-        </arc>
-        <arc class="catalysis" id="arc100" source="sa4994" target="re1562">
-            <start x="14739.25" y="9291.091"/>
-            <end x="14859.382" y="9270.341"/>
-        </arc>
-        <arc class="consumption" id="arc101" source="sa5085" target="re1705.1">
-            <start x="14940.75" y="9369.0"/>
-            <end x="14940.875" y="9285.348"/>
-        </arc>
-        <arc class="production" id="arc102" source="re1705.2" target="sa5001">
-            <start x="14940.875" y="9265.348"/>
-            <end x="14941.0" y="9181.695"/>
-        </arc>
-        <arc class="catalysis" id="arc103" source="sa4992" target="re1705">
-            <start x="15111.25" y="9362.975"/>
-            <next x="15071.3125" y="9362.949"/>
-            <next x="15071.369" y="9275.435"/>
-            <end x="14945.875" y="9275.3545"/>
-        </arc>
-        <arc class="inhibition" id="re1571" source="sa4929" target="sa4933">
-            <start x="16278.667" y="10086.0"/>
-            <end x="16226.215" y="10126.176"/>
-        </arc>
-        <arc class="consumption" id="arc104" source="sa4924" target="re1601.1">
-            <start x="16861.25" y="10275.25"/>
-            <end x="16861.432" y="10375.125"/>
-        </arc>
-        <arc class="production" id="arc105" source="re1601.2" target="sa4922">
-            <start x="16861.432" y="10395.125"/>
-            <end x="16861.611" y="10495.0"/>
-        </arc>
-        <arc class="catalysis" id="arc106" source="csa650" target="re1601">
-            <start x="16599.213" y="9999.0"/>
-            <next x="16599.055" y="10390.028"/>
-            <end x="16856.44" y="10390.133"/>
-        </arc>
-        <arc class="necessary stimulation" id="arc107" source="sa4920" target="re1601">
-            <start x="16582.049" y="10447.899"/>
-            <end x="16856.422" y="10380.133"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/phosphorylated_gene.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/phosphorylated_gene.sbgn
deleted file mode 100644
index a633757b064b09c45f8d75e6a1df97efb46ae4d4..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/phosphorylated_gene.sbgn
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="nucleic acid feature" id="sa1">
-            <label text="s1"/>
-            <bbox w="70.0" h="25.0" x="106.0" y="108.5"/>
-            <glyph class="unit of information" id="sa1uoi">
-                <label text="ct:gene"/>
-                <bbox w="50.0" h="12.0" x="116.0" y="102.5"/>
-            </glyph>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/phosphorylated_protein.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/phosphorylated_protein.sbgn
deleted file mode 100644
index 85937afe32b419688ced6447a24887fc84e52cec..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/phosphorylated_protein.sbgn
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa1">
-            <label text="s1"/>
-            <bbox w="80.0" h="40.0" x="143.0" y="150.0"/>
-            <glyph class="state variable" id="sa1-rs1">
-                <state value="P" variable=""/>
-                <bbox w="70.0" h="28.0" x="108.0" y="156.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa2">
-            <label text="s1"/>
-            <bbox w="80.0" h="40.0" x="310.0" y="144.0"/>
-            <glyph class="state variable" id="sa2-rs1">
-                <bbox w="20.0" h="22.0" x="300.0" y="153.0"/>
-            </glyph>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/physical_stimulation.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/physical_stimulation.sbgn
deleted file mode 100644
index f0ab82aa8bae519c8244915c6bae0753c11b13ca..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/physical_stimulation.sbgn
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa2">
-            <label text="TFAM"/>
-            <bbox w="75.0" h="46.0" x="372.95535" y="341.5357"/>
-        </glyph>
-        <glyph class="phenotype" id="sa1">
-            <label text="mtDNA replication"/>
-            <bbox w="147.0" h="36.0" x="234.04465" y="25.464285"/>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/problematic_acetylation.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/problematic_acetylation.sbgn
deleted file mode 100644
index 3f7cc38773c5bd7dfc38dbe9b46470808706f2ef..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/problematic_acetylation.sbgn
+++ /dev/null
@@ -1,425 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="complex" id="csa2">
-            <label text="Acetylated NADH-Q oxireductase (complex I)"/>
-            <bbox w="641.0" h="510.0" x="7.0" y="7.0"/>
-            <glyph class="complex" id="csa8">
-                <label text="beta subcomplex"/>
-                <bbox w="298.0" h="209.0" x="335.0" y="69.0"/>
-                <glyph class="macromolecule" id="sa82">
-                    <label text="NDUFB11"/>
-                    <bbox w="80.0" h="40.0" x="443.5" y="213.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa83">
-                    <label text="NDUFB10"/>
-                    <bbox w="80.0" h="40.0" x="349.0" y="213.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa84">
-                    <label text="NDUFB9"/>
-                    <bbox w="80.0" h="40.0" x="538.0" y="166.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa85">
-                    <label text="NDUFB8"/>
-                    <bbox w="80.0" h="40.0" x="443.5" y="166.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa86">
-                    <label text="NDUFB7"/>
-                    <bbox w="80.0" h="40.0" x="349.0" y="166.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa87">
-                    <label text="NDUFB6"/>
-                    <bbox w="80.0" h="40.0" x="538.0" y="119.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa88">
-                    <label text="NDUFB5"/>
-                    <bbox w="80.0" h="40.0" x="443.5" y="119.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa89">
-                    <label text="NDUFB4"/>
-                    <bbox w="80.0" h="40.0" x="349.0" y="120.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa90">
-                    <label text="NDUFB3"/>
-                    <bbox w="80.0" h="40.0" x="538.0" y="75.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa91">
-                    <label text="NDUFB2"/>
-                    <bbox w="80.0" h="40.0" x="443.5" y="75.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa92">
-                    <label text="NDUFB1"/>
-                    <bbox w="80.0" h="40.0" x="349.0" y="75.0"/>
-                </glyph>
-            </glyph>
-            <glyph class="complex" id="csa7">
-                <label text="alpha subcomplex"/>
-                <bbox w="296.0" h="238.0" x="32.0" y="68.0"/>
-                <glyph class="macromolecule" id="sa69">
-                    <label text="NDUFA13"/>
-                    <bbox w="80.0" h="40.0" x="46.0" y="258.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa70">
-                    <label text="NDUFA12"/>
-                    <bbox w="80.0" h="40.0" x="235.0" y="212.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa71">
-                    <label text="NDUFA11"/>
-                    <bbox w="80.0" h="40.0" x="139.0" y="212.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa72">
-                    <label text="NDUFA10"/>
-                    <bbox w="80.0" h="40.0" x="46.0" y="210.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa73">
-                    <label text="NDUFA9"/>
-                    <bbox w="80.0" h="40.0" x="235.0" y="166.0"/>
-                    <glyph class="state variable" id="sa73-rs1">
-                        <state value="Ac" variable=""/>
-                        <bbox w="70.0" h="28.0" x="200.0" y="172.0"/>
-                    </glyph>
-                </glyph>
-                <glyph class="macromolecule" id="sa74">
-                    <label text="NDUFA8"/>
-                    <bbox w="80.0" h="40.0" x="139.0" y="166.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa75">
-                    <label text="NDUFA7"/>
-                    <bbox w="80.0" h="40.0" x="46.0" y="164.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa76">
-                    <label text="NDUFA6"/>
-                    <bbox w="80.0" h="40.0" x="235.0" y="121.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa77">
-                    <label text="NDUFA5"/>
-                    <bbox w="80.0" h="40.0" x="139.0" y="121.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa78">
-                    <label text="NDUFA4"/>
-                    <bbox w="80.0" h="40.0" x="46.0" y="119.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa79">
-                    <label text="NDUFA3"/>
-                    <bbox w="80.0" h="40.0" x="235.0" y="76.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa80">
-                    <label text="NDUFA2"/>
-                    <bbox w="80.0" h="40.0" x="139.0" y="76.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa81">
-                    <label text="NDUFA1"/>
-                    <bbox w="80.0" h="40.0" x="46.0" y="76.0"/>
-                </glyph>
-            </glyph>
-            <glyph class="complex" id="csa6">
-                <label text="Fe-S protein"/>
-                <bbox w="294.0" h="169.0" x="32.0" y="318.0"/>
-                <glyph class="macromolecule" id="sa61">
-                    <label text="NDUFS1"/>
-                    <bbox w="80.0" h="40.0" x="44.0" y="325.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa62">
-                    <label text="NDUFS8"/>
-                    <bbox w="80.0" h="40.0" x="139.0" y="420.5"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa63">
-                    <label text="NDUFS7"/>
-                    <bbox w="80.0" h="40.0" x="44.0" y="420.5"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa64">
-                    <label text="NDUFS6"/>
-                    <bbox w="80.0" h="40.0" x="233.0" y="372.75"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa65">
-                    <label text="NDUFS5"/>
-                    <bbox w="80.0" h="40.0" x="138.5" y="372.75"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa66">
-                    <label text="NDUFS4"/>
-                    <bbox w="80.0" h="40.0" x="44.0" y="372.75"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa67">
-                    <label text="NDUFS3"/>
-                    <bbox w="80.0" h="40.0" x="233.0" y="325.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa68">
-                    <label text="NDUFS2"/>
-                    <bbox w="80.0" h="40.0" x="138.5" y="325.0"/>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule" id="sa47">
-                <label text="MT-ND6"/>
-                <bbox w="80.0" h="40.0" x="349.5" y="447.0"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa48">
-                <label text="MT-ND5"/>
-                <bbox w="80.0" h="40.0" x="536.0" y="394.5"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa49">
-                <label text="MT-ND4L"/>
-                <bbox w="80.0" h="40.0" x="443.0" y="394.5"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa50">
-                <label text="MT-ND4"/>
-                <bbox w="80.0" h="40.0" x="349.5" y="394.5"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa51">
-                <label text="MT-ND3"/>
-                <bbox w="80.0" h="40.0" x="536.0" y="342.0"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa52">
-                <label text="MT-ND2"/>
-                <bbox w="80.0" h="40.0" x="443.0" y="342.0"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa53">
-                <label text="MT-ND1"/>
-                <bbox w="80.0" h="40.0" x="349.5" y="342.0"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa54">
-                <label text="NDUFV3"/>
-                <bbox w="80.0" h="40.0" x="536.0" y="289.5"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa55">
-                <label text="NDUFV2"/>
-                <bbox w="80.0" h="40.0" x="443.0" y="289.5"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa56">
-                <label text="NDUFV1"/>
-                <bbox w="80.0" h="40.0" x="349.5" y="289.5"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa57">
-                <label text="NDUFC2"/>
-                <bbox w="80.0" h="40.0" x="486.0" y="20.0"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa58">
-                <label text="NDUFC1"/>
-                <bbox w="80.0" h="40.0" x="393.0" y="20.0"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa59">
-                <label text="NDUFAF1"/>
-                <bbox w="80.0" h="40.0" x="173.0" y="20.0"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa60">
-                <label text="NDUFAB1"/>
-                <bbox w="80.0" h="40.0" x="81.0" y="20.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="complex" id="csa1">
-            <label text="NADH-Q oxireductase (complex I)"/>
-            <bbox w="641.0" h="510.0" x="726.0" y="8.0"/>
-            <glyph class="complex" id="csa5">
-                <label text="beta subcomplex"/>
-                <bbox w="298.0" h="209.0" x="1054.0" y="70.0"/>
-                <glyph class="macromolecule" id="sa36">
-                    <label text="NDUFB11"/>
-                    <bbox w="80.0" h="40.0" x="1162.5" y="214.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa37">
-                    <label text="NDUFB10"/>
-                    <bbox w="80.0" h="40.0" x="1068.0" y="214.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa38">
-                    <label text="NDUFB9"/>
-                    <bbox w="80.0" h="40.0" x="1257.0" y="167.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa39">
-                    <label text="NDUFB8"/>
-                    <bbox w="80.0" h="40.0" x="1162.5" y="167.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa40">
-                    <label text="NDUFB7"/>
-                    <bbox w="80.0" h="40.0" x="1068.0" y="167.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa41">
-                    <label text="NDUFB6"/>
-                    <bbox w="80.0" h="40.0" x="1257.0" y="120.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa42">
-                    <label text="NDUFB5"/>
-                    <bbox w="80.0" h="40.0" x="1162.5" y="120.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa43">
-                    <label text="NDUFB4"/>
-                    <bbox w="80.0" h="40.0" x="1068.0" y="121.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa44">
-                    <label text="NDUFB3"/>
-                    <bbox w="80.0" h="40.0" x="1257.0" y="76.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa45">
-                    <label text="NDUFB2"/>
-                    <bbox w="80.0" h="40.0" x="1162.5" y="76.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa46">
-                    <label text="NDUFB1"/>
-                    <bbox w="80.0" h="40.0" x="1068.0" y="76.0"/>
-                </glyph>
-            </glyph>
-            <glyph class="complex" id="csa4">
-                <label text="alpha subcomplex"/>
-                <bbox w="296.0" h="238.0" x="755.0" y="69.0"/>
-                <glyph class="macromolecule" id="sa23">
-                    <label text="NDUFA13"/>
-                    <bbox w="80.0" h="40.0" x="769.0" y="259.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa24">
-                    <label text="NDUFA12"/>
-                    <bbox w="80.0" h="40.0" x="958.0" y="213.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa25">
-                    <label text="NDUFA11"/>
-                    <bbox w="80.0" h="40.0" x="862.0" y="213.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa26">
-                    <label text="NDUFA10"/>
-                    <bbox w="80.0" h="40.0" x="769.0" y="211.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa27">
-                    <label text="NDUFA9"/>
-                    <bbox w="80.0" h="40.0" x="958.0" y="167.0"/>
-                    <glyph class="state variable" id="sa27-rs1">
-                        <bbox w="20.0" h="22.0" x="948.0" y="176.0"/>
-                    </glyph>
-                </glyph>
-                <glyph class="macromolecule" id="sa28">
-                    <label text="NDUFA8"/>
-                    <bbox w="80.0" h="40.0" x="862.0" y="167.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa29">
-                    <label text="NDUFA7"/>
-                    <bbox w="80.0" h="40.0" x="769.0" y="165.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa30">
-                    <label text="NDUFA6"/>
-                    <bbox w="80.0" h="40.0" x="958.0" y="122.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa31">
-                    <label text="NDUFA5"/>
-                    <bbox w="80.0" h="40.0" x="862.0" y="122.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa32">
-                    <label text="NDUFA4"/>
-                    <bbox w="80.0" h="40.0" x="769.0" y="120.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa33">
-                    <label text="NDUFA3"/>
-                    <bbox w="80.0" h="40.0" x="958.0" y="77.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa34">
-                    <label text="NDUFA2"/>
-                    <bbox w="80.0" h="40.0" x="862.0" y="77.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa35">
-                    <label text="NDUFA1"/>
-                    <bbox w="80.0" h="40.0" x="769.0" y="77.0"/>
-                </glyph>
-            </glyph>
-            <glyph class="complex" id="csa3">
-                <label text="Fe-S protein"/>
-                <bbox w="294.0" h="169.0" x="751.0" y="319.0"/>
-                <glyph class="macromolecule" id="sa15">
-                    <label text="NDUFS1"/>
-                    <bbox w="80.0" h="40.0" x="763.0" y="326.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa16">
-                    <label text="NDUFS8"/>
-                    <bbox w="80.0" h="40.0" x="858.0" y="421.5"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa17">
-                    <label text="NDUFS7"/>
-                    <bbox w="80.0" h="40.0" x="763.0" y="421.5"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa18">
-                    <label text="NDUFS6"/>
-                    <bbox w="80.0" h="40.0" x="952.0" y="373.75"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa19">
-                    <label text="NDUFS5"/>
-                    <bbox w="80.0" h="40.0" x="857.5" y="373.75"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa20">
-                    <label text="NDUFS4"/>
-                    <bbox w="80.0" h="40.0" x="763.0" y="373.75"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa21">
-                    <label text="NDUFS3"/>
-                    <bbox w="80.0" h="40.0" x="952.0" y="326.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa22">
-                    <label text="NDUFS2"/>
-                    <bbox w="80.0" h="40.0" x="857.5" y="326.0"/>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule" id="sa1">
-                <label text="MT-ND6"/>
-                <bbox w="80.0" h="40.0" x="1068.5" y="448.0"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa2">
-                <label text="MT-ND5"/>
-                <bbox w="80.0" h="40.0" x="1255.0" y="395.5"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa3">
-                <label text="MT-ND4L"/>
-                <bbox w="80.0" h="40.0" x="1162.0" y="395.5"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa4">
-                <label text="MT-ND4"/>
-                <bbox w="80.0" h="40.0" x="1068.5" y="395.5"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa5">
-                <label text="MT-ND3"/>
-                <bbox w="80.0" h="40.0" x="1255.0" y="343.0"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa6">
-                <label text="MT-ND2"/>
-                <bbox w="80.0" h="40.0" x="1162.0" y="343.0"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa7">
-                <label text="MT-ND1"/>
-                <bbox w="80.0" h="40.0" x="1068.5" y="343.0"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa8">
-                <label text="NDUFV3"/>
-                <bbox w="80.0" h="40.0" x="1255.0" y="290.5"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa9">
-                <label text="NDUFV2"/>
-                <bbox w="80.0" h="40.0" x="1162.0" y="290.5"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa10">
-                <label text="NDUFV1"/>
-                <bbox w="80.0" h="40.0" x="1068.5" y="290.5"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa11">
-                <label text="NDUFC2"/>
-                <bbox w="80.0" h="40.0" x="1205.0" y="21.0"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa12">
-                <label text="NDUFC1"/>
-                <bbox w="80.0" h="40.0" x="1112.0" y="21.0"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa13">
-                <label text="NDUFAF1"/>
-                <bbox w="80.0" h="40.0" x="892.0" y="21.0"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa14">
-                <label text="NDUFAB1"/>
-                <bbox w="80.0" h="40.0" x="800.0" y="21.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re1">
-            <bbox w="10.0" h="10.0" x="682.0" y="257.90213"/>
-            <port id="re1.1" x="677.0" y="262.90213"/>
-            <port id="re1.2" x="697.0" y="262.90213"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="csa2" target="re1.1">
-            <start x="648.0" y="262.80426"/>
-            <end x="677.0" y="262.90213"/>
-        </arc>
-        <arc class="production" id="arc1" source="re1.2" target="csa1">
-            <start x="697.0" y="262.90213"/>
-            <end x="726.0" y="263.0"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/protein_with_modification.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/protein_with_modification.sbgn
deleted file mode 100644
index 89fb8ce34f9b057b7688aebb607e92946984a0fc..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/protein_with_modification.sbgn
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa1">
-            <label text="s1"/>
-            <bbox w="80.0" h="40.0" x="81.0" y="74.0"/>
-            <glyph class="state variable" id="sa1-rs1">
-                <state value="P" variable="desc"/>
-                <bbox w="70.0" h="28.0" x="46.0" y="80.0"/>
-            </glyph>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/proteins_inside_complex.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/proteins_inside_complex.sbgn
deleted file mode 100644
index 35f6ebfe44a31a900613d47df1dc9454bab60cff..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/proteins_inside_complex.sbgn
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="complex" id="csa13">
-            <label text="ASK1 signalsome"/>
-            <bbox w="274.0" h="76.0" x="560.0" y="209.0"/>
-            <glyph class="macromolecule" id="sa41">
-                <label text="MAP3K5"/>
-                <bbox w="80.0" h="40.0" x="571.0909" y="221.0"/>
-                <glyph class="state variable" id="sa41-rs1">
-                    <bbox w="20.0" h="22.0" x="638.8527" y="250.0"/>
-                </glyph>
-            </glyph>
-            <glyph class="macromolecule" id="sa42">
-                <label text="TRAF2"/>
-                <bbox w="80.0" h="40.0" x="660.0909" y="220.0"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa43">
-                <label text="TRAF6"/>
-                <bbox w="80.0" h="40.0" x="746.0909" y="220.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="complex" id="csa12">
-            <label text="TRAF2:TRAF6"/>
-            <bbox w="104.0" h="129.0" x="295.0" y="219.0"/>
-            <glyph class="macromolecule" id="sa39">
-                <label text="TRAF2"/>
-                <bbox w="80.0" h="40.0" x="307.0" y="226.0"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa40">
-                <label text="TRAF6"/>
-                <bbox w="80.0" h="40.0" x="307.0" y="284.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa34">
-            <label text="MAP3K5"/>
-            <bbox w="80.0" h="40.0" x="394.68182" y="99.36364"/>
-            <glyph class="state variable" id="sa34-rs1">
-                <bbox w="20.0" h="22.0" x="462.44366" y="128.36365"/>
-            </glyph>
-        </glyph>
-        <glyph class="association" orientation="horizontal" id="re11">
-            <bbox w="10.0" h="10.0" x="512.0" y="241.5"/>
-            <port id="re11.1" x="507.0" y="246.5"/>
-            <port id="re11.2" x="527.0" y="246.5"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="sa34" target="re11.1">
-            <start x="440.89145" y="139.36363"/>
-            <next x="474.0" y="246.0"/>
-            <end x="507.0" y="246.5"/>
-        </arc>
-        <arc class="consumption" id="arc1" source="sa39" target="re11.1">
-            <start x="387.0" y="246.0"/>
-            <next x="474.0" y="246.0"/>
-            <end x="507.0" y="246.5"/>
-        </arc>
-        <arc class="production" id="arc2" source="re11.2" target="csa13">
-            <start x="527.0" y="246.5"/>
-            <end x="560.0" y="247.0"/>
-        </arc>
-        <arc class="consumption" id="arc3" source="sa40" target="re11.1">
-            <start x="387.0" y="289.7249"/>
-            <next x="508.4" y="246.4"/>
-            <end x="507.0" y="246.5"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/reaction_drawing_problem.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/reaction_drawing_problem.sbgn
deleted file mode 100644
index 47ec2075295e5f01a298a38462dbb4ca9c9b9d38..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/reaction_drawing_problem.sbgn
+++ /dev/null
@@ -1,85 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa3">
-            <label text="s3"/>
-            <bbox w="80.0" h="40.0" x="368.0" y="135.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa1">
-            <label text="s1"/>
-            <bbox w="80.0" h="40.0" x="69.0" y="115.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa4">
-            <label text="s4"/>
-            <bbox w="80.0" h="40.0" x="351.0" y="36.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa2">
-            <label text="s2"/>
-            <bbox w="80.0" h="40.0" x="191.0" y="257.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa6">
-            <label text="s6"/>
-            <bbox w="80.0" h="40.0" x="377.0" y="318.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa7">
-            <label text="s7"/>
-            <bbox w="80.0" h="40.0" x="489.0" y="222.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa8">
-            <label text="s8"/>
-            <bbox w="80.0" h="40.0" x="219.0" y="321.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa5">
-            <label text="s5"/>
-            <bbox w="80.0" h="40.0" x="101.0" y="9.0"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re1">
-            <bbox w="10.0" h="10.0" x="253.5" y="140.0"/>
-            <port id="re1.1" x="248.5" y="145.0"/>
-            <port id="re1.2" x="268.5" y="145.0"/>
-        </glyph>
-        <glyph class="association" orientation="horizontal" id="re4">
-            <bbox w="10.0" h="10.0" x="357.90732" y="256.73438"/>
-            <port id="re4.1" x="352.90732" y="261.73438"/>
-            <port id="re4.2" x="372.90732" y="261.73438"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="sa1" target="re1.1">
-            <start x="149.0" y="137.67558"/>
-            <end x="248.5" y="145.0"/>
-        </arc>
-        <arc class="production" id="arc1" source="re1.2" target="sa3">
-            <start x="268.5" y="145.0"/>
-            <end x="368.0" y="152.32442"/>
-        </arc>
-        <arc class="production" id="arc2" source="re1.2" target="sa4">
-            <start x="268.5" y="145.0"/>
-            <end x="366.54852" y="76.0"/>
-        </arc>
-        <arc class="catalysis" id="arc3" source="sa2" target="re1">
-            <start x="236.07669" y="257.0"/>
-            <end x="263.15515" y="150.32256"/>
-        </arc>
-        <arc class="consumption" id="arc4" source="sa3" target="re4.1">
-            <start x="374.3158" y="175.0"/>
-            <next x="323.0" y="205.46875"/>
-            <end x="352.90732" y="261.73438"/>
-        </arc>
-        <arc class="consumption" id="arc5" source="sa2" target="re4.1">
-            <start x="256.72302" y="257.0"/>
-            <next x="323.0" y="205.46875"/>
-            <end x="352.90732" y="261.73438"/>
-        </arc>
-        <arc class="production" id="arc6" source="re4.2" target="sa6">
-            <start x="372.90732" y="261.73438"/>
-            <end x="402.81467" y="318.0"/>
-        </arc>
-        <arc class="production" id="arc7" source="re4.2" target="sa7">
-            <start x="372.90732" y="261.73438"/>
-            <end x="489.0" y="249.83942"/>
-        </arc>
-        <arc class="catalysis" id="arc8" source="sa8" target="re4">
-            <start x="287.41748" y="321.0"/>
-            <end x="361.72162" y="268.70532"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/reaction_problem.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/reaction_problem.sbgn
deleted file mode 100644
index ed1a2b7bf3e82b3d4e9512cdb57c8aecec62ef47..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/problematic/reaction_problem.sbgn
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="simple chemical" id="sa10">
-            <label text="L-tyrosine"/>
-            <bbox w="70.0" h="25.0" x="4072.5833" y="1141.1666"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa8">
-            <label text="4a-hydroxytetrahydrobiopterin"/>
-            <bbox w="70.0" h="25.0" x="3866.3333" y="1083.1666"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa9">
-            <label text="TYR"/>
-            <bbox w="80.0" h="40.0" x="3932.3333" y="1019.6667"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa7">
-            <label text="L-dopa"/>
-            <bbox w="80.0" h="25.0" x="3742.3333" y="1141.1666"/>
-        </glyph>
-        <glyph class="complex" id="csa3">
-            <label text="Tyrosine 3-monooxygenase (Fe2+ cofactor)"/>
-            <bbox w="128.0" h="100.0" x="3828.3333" y="1243.9166"/>
-            <glyph class="simple chemical" id="sa13">
-                <label text="iron(2+)"/>
-                <bbox w="25.0" h="25.0" x="3876.8333" y="1302.1666"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa14">
-                <label text="TH"/>
-                <bbox w="80.0" h="40.0" x="3853.3333" y="1253.6666"/>
-                <glyph class="state variable" id="sa14-rs1">
-                    <state value="P" variable=""/>
-                    <bbox w="70.0" h="28.0" x="3855.9229" y="1239.6666"/>
-                </glyph>
-            </glyph>
-        </glyph>
-        <glyph class="complex" id="csa5">
-            <label text="PP2A"/>
-            <bbox w="199.0" h="75.0" x="4038.3333" y="1433.6666"/>
-            <glyph class="simple chemical" id="sa17">
-                <label text="tetrahydrodictyopterin"/>
-                <bbox w="70.0" h="25.0" x="4067.5833" y="1483.1666"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa18">
-                <label text="PPP2CA"/>
-                <bbox w="80.0" h="40.0" x="4053.3333" y="1444.6666"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa19">
-                <label text="PPP2CB"/>
-                <bbox w="80.0" h="40.0" x="4145.3335" y="1444.6666"/>
-            </glyph>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re1">
-            <bbox w="10.0" h="10.0" x="3942.4583" y="1148.6666"/>
-            <port id="re1.1" x="3957.4583" y="1153.6666"/>
-            <port id="re1.2" x="3937.4583" y="1153.6666"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="sa10" target="re1.1">
-            <start x="4072.5833" y="1153.6666"/>
-            <end x="3957.4583" y="1153.6666"/>
-        </arc>
-        <arc class="production" id="arc1" source="re1.2" target="sa7">
-            <start x="3937.4583" y="1153.6666"/>
-            <end x="3822.3333" y="1153.6666"/>
-        </arc>
-        <arc class="consumption" id="arc2" source="sa17" target="re1.1">
-            <start x="4097.8716" y="1483.2805"/>
-            <end x="3957.4583" y="1153.6666"/>
-        </arc>
-        <arc class="production" id="arc3" source="re1.2" target="sa8">
-            <start x="3937.4583" y="1153.6666"/>
-            <end x="3905.8428" y="1108.0625"/>
-        </arc>
-        <arc class="catalysis" id="arc4" source="csa3" target="re1">
-            <start x="3912.7122" y="1243.9166"/>
-            <end x="3947.4583" y="1158.6666"/>
-        </arc>
-        <arc class="catalysis" id="arc5" source="sa9" target="re1">
-            <start x="3967.769" y="1059.6666"/>
-            <end x="3947.4583" y="1148.6666"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/proteinWithEverPossibleModification.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/proteinWithEverPossibleModification.sbgn
deleted file mode 100644
index ae49a6f0bda536dce2a3118dc56a60d0bff2db2b..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/proteinWithEverPossibleModification.sbgn
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa1">
-            <label text="s1"/>
-            <bbox w="403.0" h="231.0" x="136.0" y="89.0"/>
-            <glyph class="state variable" id="sa1-rs1">
-                <state value="P" variable="asd"/>
-                <bbox w="70.0" h="28.0" x="101.0" y="190.5"/>
-            </glyph>
-            <glyph class="state variable" id="sa1-rs2">
-                <state value="Ac" variable=""/>
-                <bbox w="70.0" h="28.0" x="101.0" y="122.90961"/>
-            </glyph>
-            <glyph class="state variable" id="sa1-rs3">
-                <state value="Ub" variable=""/>
-                <bbox w="70.0" h="28.0" x="138.92937" y="75.0"/>
-            </glyph>
-            <glyph class="state variable" id="sa1-rs4">
-                <state value="Me" variable=""/>
-                <bbox w="70.0" h="28.0" x="186.9338" y="75.0"/>
-            </glyph>
-            <glyph class="state variable" id="sa1-rs5">
-                <state value="OH" variable=""/>
-                <bbox w="70.0" h="28.0" x="242.15776" y="75.0"/>
-            </glyph>
-            <glyph class="state variable" id="sa1-rs6">
-                <state value="G" variable=""/>
-                <bbox w="70.0" h="28.0" x="299.82352" y="75.0"/>
-            </glyph>
-            <glyph class="state variable" id="sa1-rs7">
-                <state value="My" variable=""/>
-                <bbox w="70.0" h="28.0" x="349.30392" y="75.0"/>
-            </glyph>
-            <glyph class="state variable" id="sa1-rs8">
-                <state value="Pa" variable=""/>
-                <bbox w="70.0" h="28.0" x="400.75464" y="75.0"/>
-            </glyph>
-            <glyph class="state variable" id="sa1-rs9">
-                <state value="Pr" variable=""/>
-                <bbox w="70.0" h="28.0" x="455.2413" y="75.0"/>
-            </glyph>
-            <glyph class="state variable" id="sa1-rs10">
-                <state value="H" variable=""/>
-                <bbox w="70.0" h="28.0" x="504.0" y="114.600006"/>
-            </glyph>
-            <glyph class="state variable" id="sa1-rs11">
-                <state value="S" variable=""/>
-                <bbox w="70.0" h="28.0" x="504.0" y="190.5"/>
-            </glyph>
-            <glyph class="state variable" id="sa1-rs12">
-                <state value="*" variable=""/>
-                <bbox w="70.0" h="28.0" x="594.5791" y="306.0"/>
-            </glyph>
-            <glyph class="state variable" id="sa1-rs13">
-                <state value="?" variable=""/>
-                <bbox w="70.0" h="28.0" x="456.5883" y="306.0"/>
-            </glyph>
-            <glyph class="state variable" id="sa1-rs14">
-                <bbox w="20.0" h="22.0" x="359.87872" y="309.0"/>
-            </glyph>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/centeredAnchorInModifier.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/centeredAnchorInModifier.sbgn
deleted file mode 100644
index ae6478b44b92c2078e809971d2455826ee360bbe..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/centeredAnchorInModifier.sbgn
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa4">
-            <label text="s4"/>
-            <bbox w="80.0" h="40.0" x="137.0" y="41.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa2">
-            <label text="s2"/>
-            <bbox w="80.0" h="40.0" x="353.0" y="151.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa6">
-            <label text="s6"/>
-            <bbox w="80.0" h="40.0" x="212.0" y="319.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa5">
-            <label text="s5"/>
-            <bbox w="80.0" h="40.0" x="442.0" y="42.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa1">
-            <label text="s1"/>
-            <bbox w="80.0" h="40.0" x="140.0" y="144.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa3">
-            <label text="s3"/>
-            <bbox w="80.0" h="40.0" x="489.0" y="239.0"/>
-        </glyph>
-        <glyph class="association" orientation="vertical" id="re3">
-            <bbox w="10.0" h="10.0" x="306.5" y="166.0"/>
-            <port id="re3.1" x="311.5" y="161.0"/>
-            <port id="re3.2" x="311.5" y="181.0"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="sa4" target="re3.1">
-            <start x="217.0" y="61.0"/>
-            <next x="270.0" y="171.0"/>
-            <end x="311.5" y="161.0"/>
-        </arc>
-        <arc class="consumption" id="arc1" source="sa1" target="re3.1">
-            <start x="220.0" y="164.0"/>
-            <next x="270.0" y="171.0"/>
-            <end x="311.5" y="161.0"/>
-        </arc>
-        <arc class="production" id="arc2" source="re3.2" target="sa2">
-            <start x="311.5" y="181.0"/>
-            <end x="353.0" y="171.0"/>
-        </arc>
-        <arc class="consumption" id="arc3" source="sa3" target="re3.1">
-            <start x="489.0" y="269.0"/>
-            <next x="302.7717" y="262.59683"/>
-            <next x="303.2" y="171.0"/>
-            <end x="311.5" y="161.0"/>
-        </arc>
-        <arc class="production" id="arc4" source="re3.2" target="sa6">
-            <start x="311.5" y="181.0"/>
-            <next x="321.4825" y="340.54092"/>
-            <end x="292.0" y="339.8871"/>
-        </arc>
-        <arc class="catalysis" id="arc5" source="sa5" target="re3">
-            <start x="442.0" y="61.755196"/>
-            <next x="315.5735" y="60.981445"/>
-            <end x="316.5" y="166.0"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/complexModifier1.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/complexModifier1.sbgn
deleted file mode 100644
index e02f53ca09ac3fc4a009bf11810d192c4d4c3ed9..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/complexModifier1.sbgn
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa2">
-            <label text="s2"/>
-            <bbox w="80.0" h="40.0" x="343.0" y="223.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa4">
-            <label text="s4"/>
-            <bbox w="80.0" h="40.0" x="308.0" y="37.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa1">
-            <label text="s1"/>
-            <bbox w="80.0" h="40.0" x="49.0" y="214.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa3">
-            <label text="s3"/>
-            <bbox w="80.0" h="40.0" x="94.0" y="21.0"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re1">
-            <bbox w="10.0" h="10.0" x="231.0" y="233.5"/>
-            <port id="re1.1" x="226.0" y="238.5"/>
-            <port id="re1.2" x="246.0" y="238.5"/>
-        </glyph>
-        <glyph class="and" id="operator0">
-            <bbox w="40.0" h="40.0" x="219.0" y="101.333336"/>
-            <port id="operator0.2" x="268.297" y="148.56725"/>
-            <port id="operator0.1" x="209.703" y="94.09942"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="sa1" target="re1.1">
-            <start x="129.0" y="234.0"/>
-            <end x="226.0" y="238.5"/>
-        </arc>
-        <arc class="production" id="arc1" source="re1.2" target="sa2">
-            <start x="246.0" y="238.5"/>
-            <end x="343.0" y="243.0"/>
-        </arc>
-        <arc class="logic arc" id="arc2" source="sa3" target="operator0.1">
-            <start x="174.0" y="61.0"/>
-            <next x="242.32532" y="53.776512"/>
-            <next x="169.3715" y="124.94686"/>
-            <end x="209.703" y="94.09942"/>
-        </arc>
-        <arc class="logic arc" id="arc3" source="sa4" target="operator0.1">
-            <start x="308.0" y="67.0"/>
-            <end x="209.703" y="94.09942"/>
-        </arc>
-        <arc class="catalysis" id="arc4" source="operator0.2" target="re1">
-            <start x="268.297" y="148.56725"/>
-            <next x="295.59714" y="173.94489"/>
-            <end x="236.2101" y="233.50441"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/complexModifier2.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/complexModifier2.sbgn
deleted file mode 100644
index 619fa0772341aabc923967a37869d880f63a9144..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/complexModifier2.sbgn
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa4">
-            <label text="s4"/>
-            <bbox w="80.0" h="40.0" x="308.0" y="37.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa3">
-            <label text="s3"/>
-            <bbox w="80.0" h="40.0" x="94.0" y="21.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa1">
-            <label text="s1"/>
-            <bbox w="80.0" h="40.0" x="49.0" y="214.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa2">
-            <label text="s2"/>
-            <bbox w="80.0" h="40.0" x="343.0" y="223.0"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re1">
-            <bbox w="10.0" h="10.0" x="231.0" y="233.5"/>
-            <port id="re1.1" x="226.0" y="238.5"/>
-            <port id="re1.2" x="246.0" y="238.5"/>
-        </glyph>
-        <glyph class="or" id="operator0">
-            <bbox w="40.0" h="40.0" x="219.0" y="101.333336"/>
-            <port id="operator0.2" x="268.297" y="148.56725"/>
-            <port id="operator0.1" x="209.703" y="94.09942"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="sa1" target="re1.1">
-            <start x="129.0" y="234.0"/>
-            <end x="226.0" y="238.5"/>
-        </arc>
-        <arc class="production" id="arc1" source="re1.2" target="sa2">
-            <start x="246.0" y="238.5"/>
-            <end x="343.0" y="243.0"/>
-        </arc>
-        <arc class="logic arc" id="arc2" source="sa3" target="operator0.1">
-            <start x="174.0" y="61.0"/>
-            <next x="242.32532" y="53.776512"/>
-            <next x="169.3715" y="124.94686"/>
-            <end x="209.703" y="94.09942"/>
-        </arc>
-        <arc class="logic arc" id="arc3" source="sa4" target="operator0.1">
-            <start x="308.0" y="67.0"/>
-            <end x="209.703" y="94.09942"/>
-        </arc>
-        <arc class="inhibition" id="arc4" source="operator0.2" target="re1">
-            <start x="268.297" y="148.56725"/>
-            <next x="295.59714" y="173.94489"/>
-            <end x="239.03442" y="230.67189"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/complexModifier3.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/complexModifier3.sbgn
deleted file mode 100644
index 17d4cd0ab3d95578744b0d0a4998da743bc4254e..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/complexModifier3.sbgn
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa3">
-            <label text="s3"/>
-            <bbox w="80.0" h="40.0" x="94.0" y="21.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa4">
-            <label text="s4"/>
-            <bbox w="80.0" h="40.0" x="308.0" y="37.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa1">
-            <label text="s1"/>
-            <bbox w="80.0" h="40.0" x="49.0" y="214.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa2">
-            <label text="s2"/>
-            <bbox w="80.0" h="40.0" x="343.0" y="223.0"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re1">
-            <bbox w="10.0" h="10.0" x="231.0" y="233.5"/>
-            <port id="re1.1" x="226.0" y="238.5"/>
-            <port id="re1.2" x="246.0" y="238.5"/>
-        </glyph>
-        <glyph id="operator0">
-            <bbox w="40.0" h="40.0" x="219.0" y="101.333336"/>
-            <port id="operator0.2" x="268.297" y="148.56725"/>
-            <port id="operator0.1" x="209.703" y="94.09942"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="sa1" target="re1.1">
-            <start x="129.0" y="234.0"/>
-            <end x="226.0" y="238.5"/>
-        </arc>
-        <arc class="production" id="arc1" source="re1.2" target="sa2">
-            <start x="246.0" y="238.5"/>
-            <end x="343.0" y="243.0"/>
-        </arc>
-        <arc class="logic arc" id="arc2" source="sa3" target="operator0.1">
-            <start x="174.0" y="61.0"/>
-            <next x="242.32532" y="53.776512"/>
-            <next x="169.3715" y="124.94686"/>
-            <end x="209.703" y="94.09942"/>
-        </arc>
-        <arc class="logic arc" id="arc3" source="sa4" target="operator0.1">
-            <start x="308.0" y="67.0"/>
-            <end x="209.703" y="94.09942"/>
-        </arc>
-        <arc class="modulation" id="arc4" source="operator0.2" target="re1">
-            <start x="268.297" y="148.56725"/>
-            <next x="295.59714" y="173.94489"/>
-            <end x="236.2101" y="233.50441"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/complexModifier4.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/complexModifier4.sbgn
deleted file mode 100644
index c4095ccfc12a12cf705c8f4c5cececd010b5c9a1..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/complexModifier4.sbgn
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa1">
-            <label text="s1"/>
-            <bbox w="80.0" h="40.0" x="49.0" y="214.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa2">
-            <label text="s2"/>
-            <bbox w="80.0" h="40.0" x="343.0" y="223.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa3">
-            <label text="s3"/>
-            <bbox w="80.0" h="40.0" x="94.0" y="21.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa4">
-            <label text="s4"/>
-            <bbox w="80.0" h="40.0" x="308.0" y="37.0"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re1">
-            <bbox w="10.0" h="10.0" x="231.0" y="233.5"/>
-            <port id="re1.1" x="226.0" y="238.5"/>
-            <port id="re1.2" x="246.0" y="238.5"/>
-        </glyph>
-        <glyph id="operator0">
-            <bbox w="40.0" h="40.0" x="219.0" y="101.333336"/>
-            <port id="operator0.2" x="268.297" y="148.56725"/>
-            <port id="operator0.1" x="209.703" y="94.09942"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="sa1" target="re1.1">
-            <start x="129.0" y="234.0"/>
-            <end x="226.0" y="238.5"/>
-        </arc>
-        <arc class="production" id="arc1" source="re1.2" target="sa2">
-            <start x="246.0" y="238.5"/>
-            <end x="343.0" y="243.0"/>
-        </arc>
-        <arc class="logic arc" id="arc2" source="sa3" target="operator0.1">
-            <start x="174.0" y="61.0"/>
-            <next x="242.32532" y="53.776512"/>
-            <next x="169.3715" y="124.94686"/>
-            <end x="209.703" y="94.09942"/>
-        </arc>
-        <arc class="logic arc" id="arc3" source="sa4" target="operator0.1">
-            <start x="308.0" y="67.0"/>
-            <end x="209.703" y="94.09942"/>
-        </arc>
-        <arc class="necessary stimulation" id="arc4" source="operator0.2" target="re1">
-            <start x="268.297" y="148.56725"/>
-            <next x="295.59714" y="173.94489"/>
-            <end x="236.2101" y="233.50441"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/complexModifier5.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/complexModifier5.sbgn
deleted file mode 100644
index 1ef24b811462d77d8052ba1cccfccecdb74910b2..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/complexModifier5.sbgn
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="unspecified entity" id="sa6">
-            <label text="s6"/>
-            <bbox w="80.0" h="30.0" x="341.0" y="112.0"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa4">
-            <label text="s4"/>
-            <bbox w="25.0" h="25.0" x="409.5" y="184.5"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa3">
-            <label text="s3"/>
-            <bbox w="80.0" h="40.0" x="371.0" y="28.0"/>
-        </glyph>
-        <glyph class="unspecified entity" id="sa5">
-            <label text="s5"/>
-            <bbox w="70.0" h="25.0" x="370.0" y="316.5"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa2">
-            <label text="s2"/>
-            <bbox w="80.0" h="40.0" x="132.0" y="254.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa1">
-            <label text="s1"/>
-            <bbox w="80.0" h="40.0" x="142.0" y="71.0"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re1">
-            <bbox w="10.0" h="10.0" x="172.0" y="177.5"/>
-            <port id="re1.1" x="177.0" y="172.5"/>
-            <port id="re1.2" x="177.0" y="192.5"/>
-        </glyph>
-        <glyph class="and" id="operator0">
-            <bbox w="40.0" h="40.0" x="281.0" y="94.666664"/>
-            <port id="operator0.2" x="336.32022" y="95.89214"/>
-            <port id="operator0.1" x="265.67978" y="133.4412"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="sa1" target="re1.1">
-            <start x="180.9071" y="111.0"/>
-            <end x="177.0" y="172.5"/>
-        </arc>
-        <arc class="production" id="arc1" source="re1.2" target="sa2">
-            <start x="177.0" y="192.5"/>
-            <end x="173.0929" y="254.0"/>
-        </arc>
-        <arc class="logic arc" id="arc2" source="sa3" target="operator0.1">
-            <start x="371.0" y="38.0"/>
-            <end x="265.67978" y="133.4412"/>
-        </arc>
-        <arc class="logic arc" id="arc3" source="sa6" target="operator0.1">
-            <start x="341.0" y="127.0"/>
-            <end x="265.67978" y="133.4412"/>
-        </arc>
-        <arc class="catalysis" id="arc4" source="sa4" target="re1">
-            <start x="409.5" y="197.0"/>
-            <end x="181.71974" y="187.76537"/>
-        </arc>
-        <arc class="catalysis" id="arc6" source="operator0.2" target="re1">
-            <start x="336.32022" y="95.89214"/>
-            <end x="182.26537" y="177.78026"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/complexReaction.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/complexReaction.sbgn
deleted file mode 100644
index 1f238bf5f6a4d0edc06c8996d09abb84d84ef9cd..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/complexReaction.sbgn
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa10">
-            <label text="s7"/>
-            <bbox w="80.0" h="40.0" x="468.0" y="312.0"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa11">
-            <label text="ATP"/>
-            <bbox w="70.0" h="25.0" x="251.0" y="141.0"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa12">
-            <label text="ADP"/>
-            <bbox w="70.0" h="25.0" x="439.0" y="154.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa9">
-            <label text="s7"/>
-            <bbox w="80.0" h="40.0" x="178.0" y="291.0"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re4">
-            <bbox w="10.0" h="10.0" x="347.0" y="249.0"/>
-            <port id="re4.1" x="342.0" y="254.0"/>
-            <port id="re4.2" x="362.0" y="254.0"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="sa9" target="re4.1">
-            <start x="258.0" y="311.0"/>
-            <next x="265.33334" y="247.0"/>
-            <end x="342.0" y="254.0"/>
-        </arc>
-        <arc class="production" id="arc1" source="re4.2" target="sa10">
-            <start x="362.0" y="254.0"/>
-            <next x="438.66666" y="261.0"/>
-            <end x="468.0" y="332.0"/>
-        </arc>
-        <arc class="consumption" id="arc2" source="sa11" target="re4.1">
-            <start x="286.0" y="166.0"/>
-            <end x="342.0" y="254.0"/>
-        </arc>
-        <arc class="production" id="arc3" source="re4.2" target="sa12">
-            <start x="362.0" y="254.0"/>
-            <end x="474.0" y="179.0"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/complexReactionWithModifier.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/complexReactionWithModifier.sbgn
deleted file mode 100644
index c4fb9f3205a536ab88484002a82679cb41ac5cca..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/complexReactionWithModifier.sbgn
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa1">
-            <label text="SIRT3"/>
-            <bbox w="80.0" h="40.0" x="610.0" y="254.0"/>
-        </glyph>
-        <glyph class="complex" id="csa1">
-            <label text="NADH-Q oxireductase (complex I)"/>
-            <bbox w="162.0" h="173.0" x="726.0" y="8.0"/>
-        </glyph>
-        <glyph class="complex" id="csa2">
-            <label text="Acetylated NADH-Q oxireductase (complex I)"/>
-            <bbox w="574.0" h="173.0" x="7.0" y="7.0"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re1">
-            <bbox w="10.0" h="10.0" x="648.5" y="89.33218"/>
-            <port id="re1.1" x="643.5" y="94.33218"/>
-            <port id="re1.2" x="663.5" y="94.33218"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="csa2" target="re1.1">
-            <start x="581.0" y="94.16435"/>
-            <end x="643.5" y="94.33218"/>
-        </arc>
-        <arc class="production" id="arc1" source="re1.2" target="csa1">
-            <start x="663.5" y="94.33218"/>
-            <end x="726.0" y="94.5"/>
-        </arc>
-        <arc class="catalysis" id="arc2" source="sa1" target="re1">
-            <start x="650.3994" y="254.0"/>
-            <end x="653.4884" y="99.33216"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/dissociation.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/dissociation.sbgn
deleted file mode 100644
index b895f8fe3c283834483a7e5d3a55113b574bc625..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/dissociation.sbgn
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa1">
-            <label text="s1"/>
-            <bbox w="80.0" h="40.0" x="156.0" y="3.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa3">
-            <label text="s3"/>
-            <bbox w="80.0" h="40.0" x="309.0" y="167.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa4">
-            <label text="s4"/>
-            <bbox w="80.0" h="40.0" x="490.0" y="18.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa5">
-            <label text="s5"/>
-            <bbox w="80.0" h="40.0" x="497.0" y="96.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa2">
-            <label text="s2"/>
-            <bbox w="80.0" h="40.0" x="125.0" y="163.0"/>
-        </glyph>
-        <glyph class="dissociation" orientation="vertical" id="re1">
-            <bbox w="10.0" h="10.0" x="358.15967" y="24.126776"/>
-            <port id="re1.1" x="363.15967" y="19.126776"/>
-            <port id="re1.2" x="363.15967" y="39.126774"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re2">
-            <bbox w="10.0" h="10.0" x="538.5" y="72.0"/>
-            <port id="re2.1" x="543.5" y="67.0"/>
-            <port id="re2.2" x="543.5" y="87.0"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="sa1" target="re1.1">
-            <start x="216.0" y="43.0"/>
-            <next x="343.8122" y="13.261439"/>
-            <end x="363.15967" y="19.126776"/>
-        </arc>
-        <arc class="production" id="arc1" source="re1.2" target="sa2">
-            <start x="363.15967" y="39.126774"/>
-            <next x="243.0" y="109.25"/>
-            <next x="247.35747" y="194.30666"/>
-            <next x="125.16346" y="270.6826"/>
-            <next x="74.18043" y="181.65593"/>
-            <next x="184.83017" y="114.991165"/>
-            <end x="185.0" y="163.0"/>
-        </arc>
-        <arc class="production" id="arc2" source="re1.2" target="sa3">
-            <start x="363.15967" y="39.126774"/>
-            <next x="243.0" y="109.25"/>
-            <next x="428.68353" y="125.6511"/>
-            <next x="408.74597" y="301.426"/>
-            <next x="269.0776" y="214.25735"/>
-            <end x="309.0" y="167.0"/>
-        </arc>
-        <arc class="consumption" id="arc3" source="sa4" target="re2.1">
-            <start x="550.0" y="58.0"/>
-            <end x="543.5" y="67.0"/>
-        </arc>
-        <arc class="production" id="arc4" source="re2.2" target="sa5">
-            <start x="543.5" y="87.0"/>
-            <end x="537.0" y="96.0"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/dissociationWithAddition.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/dissociationWithAddition.sbgn
deleted file mode 100644
index 0972cbc392e469a9d0d8234ed9876d8c5a72e042..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/dissociationWithAddition.sbgn
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa5">
-            <label text="s5"/>
-            <bbox w="80.0" h="40.0" x="497.0" y="96.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa1">
-            <label text="s1"/>
-            <bbox w="80.0" h="40.0" x="156.0" y="3.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa4">
-            <label text="s4"/>
-            <bbox w="80.0" h="40.0" x="490.0" y="18.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa2">
-            <label text="s2"/>
-            <bbox w="80.0" h="40.0" x="125.0" y="163.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa3">
-            <label text="s3"/>
-            <bbox w="80.0" h="40.0" x="309.0" y="167.0"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re2">
-            <bbox w="10.0" h="10.0" x="538.5" y="72.0"/>
-            <port id="re2.1" x="543.5" y="67.0"/>
-            <port id="re2.2" x="543.5" y="87.0"/>
-        </glyph>
-        <glyph class="dissociation" orientation="horizontal" id="re1">
-            <bbox w="10.0" h="10.0" x="439.65967" y="96.62678"/>
-            <port id="re1.1" x="454.65967" y="101.62678"/>
-            <port id="re1.2" x="434.65967" y="101.62678"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="sa4" target="re2.1">
-            <start x="550.0" y="58.0"/>
-            <end x="543.5" y="67.0"/>
-        </arc>
-        <arc class="production" id="arc1" source="re2.2" target="sa5">
-            <start x="543.5" y="87.0"/>
-            <end x="537.0" y="96.0"/>
-        </arc>
-        <arc class="consumption" id="arc2" source="sa1" target="re1.1">
-            <start x="216.0" y="43.0"/>
-            <next x="426.8122" y="6.2614393"/>
-            <end x="454.65967" y="101.62678"/>
-        </arc>
-        <arc class="production" id="arc3" source="re1.2" target="sa2">
-            <start x="434.65967" y="101.62678"/>
-            <next x="243.0" y="109.25"/>
-            <next x="247.35747" y="194.30666"/>
-            <next x="125.16346" y="270.6826"/>
-            <next x="74.18043" y="181.65593"/>
-            <next x="184.83017" y="114.991165"/>
-            <end x="185.0" y="163.0"/>
-        </arc>
-        <arc class="production" id="arc4" source="re1.2" target="sa3">
-            <start x="434.65967" y="101.62678"/>
-            <next x="243.0" y="109.25"/>
-            <next x="396.22797" y="146.35283"/>
-            <next x="408.74597" y="301.426"/>
-            <next x="269.0776" y="214.25735"/>
-            <end x="309.0" y="167.0"/>
-        </arc>
-        <arc class="consumption" id="arc5" source="sa4" target="re1.1">
-            <start x="490.0" y="38.0"/>
-            <end x="454.65967" y="101.62678"/>
-        </arc>
-        <arc class="production" id="arc6" source="re1.2" target="sa5">
-            <start x="434.65967" y="101.62678"/>
-            <next x="448.22916" y="120.699844"/>
-            <end x="497.0" y="106.0"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/heterodimer.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/heterodimer.sbgn
deleted file mode 100644
index c9e1f37153f9d95b0a361bff46d4e9dcd1ace87d..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/heterodimer.sbgn
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa1">
-            <label text="s1"/>
-            <bbox w="80.0" h="40.0" x="50.0" y="25.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa2">
-            <label text="s2"/>
-            <bbox w="80.0" h="40.0" x="52.0" y="182.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa3">
-            <label text="s3"/>
-            <bbox w="80.0" h="40.0" x="260.0" y="67.0"/>
-        </glyph>
-        <glyph class="association" orientation="horizontal" id="re1">
-            <bbox w="10.0" h="10.0" x="306.728" y="33.027836"/>
-            <port id="re1.1" x="301.728" y="38.027836"/>
-            <port id="re1.2" x="321.728" y="38.027836"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="sa1" target="re1.1">
-            <start x="130.0" y="45.0"/>
-            <next x="178.69548" y="43.88733"/>
-            <next x="188.0" y="119.0"/>
-            <end x="301.728" y="38.027836"/>
-        </arc>
-        <arc class="consumption" id="arc1" source="sa2" target="re1.1">
-            <start x="132.0" y="202.0"/>
-            <next x="216.52698" y="187.37965"/>
-            <next x="130.51231" y="124.78627"/>
-            <next x="188.0" y="119.0"/>
-            <end x="301.728" y="38.027836"/>
-        </arc>
-        <arc class="production" id="arc2" source="re1.2" target="sa3">
-            <start x="321.728" y="38.027836"/>
-            <next x="381.38666" y="35.843895"/>
-            <next x="378.38574" y="89.18374"/>
-            <end x="340.0" y="87.0"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/heterodimerWithAdditions.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/heterodimerWithAdditions.sbgn
deleted file mode 100644
index 4d885b87a682035600613765fd51f6ca4855df63..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/heterodimerWithAdditions.sbgn
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa1">
-            <label text="s1"/>
-            <bbox w="80.0" h="40.0" x="68.0" y="121.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa5">
-            <label text="s5"/>
-            <bbox w="80.0" h="40.0" x="395.0" y="35.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa2">
-            <label text="s2"/>
-            <bbox w="80.0" h="40.0" x="70.0" y="278.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa3">
-            <label text="s3"/>
-            <bbox w="80.0" h="40.0" x="278.0" y="163.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa4">
-            <label text="s4"/>
-            <bbox w="80.0" h="40.0" x="239.0" y="29.0"/>
-        </glyph>
-        <glyph class="association" orientation="horizontal" id="re1">
-            <bbox w="10.0" h="10.0" x="394.228" y="131.52783"/>
-            <port id="re1.1" x="389.228" y="136.52783"/>
-            <port id="re1.2" x="409.228" y="136.52783"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="sa1" target="re1.1">
-            <start x="148.0" y="141.0"/>
-            <next x="196.69548" y="139.88733"/>
-            <next x="206.0" y="215.0"/>
-            <end x="389.228" y="136.52783"/>
-        </arc>
-        <arc class="consumption" id="arc1" source="sa2" target="re1.1">
-            <start x="150.0" y="298.0"/>
-            <next x="234.52698" y="283.37964"/>
-            <next x="148.51231" y="220.78627"/>
-            <next x="206.0" y="215.0"/>
-            <end x="389.228" y="136.52783"/>
-        </arc>
-        <arc class="production" id="arc2" source="re1.2" target="sa3">
-            <start x="409.228" y="136.52783"/>
-            <next x="538.38666" y="136.84389"/>
-            <next x="538.38574" y="191.18375"/>
-            <end x="358.0" y="183.0"/>
-        </arc>
-        <arc class="consumption" id="arc3" source="sa4" target="re1.1">
-            <start x="299.0" y="69.0"/>
-            <next x="371.39627" y="136.46463"/>
-            <end x="389.228" y="136.52783"/>
-        </arc>
-        <arc class="production" id="arc4" source="re1.2" target="sa5">
-            <start x="409.228" y="136.52783"/>
-            <end x="415.0" y="75.0"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/logicGateAnd.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/logicGateAnd.sbgn
deleted file mode 100644
index 131080a752e247444a7b89873e91e317da47d146..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/logicGateAnd.sbgn
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa3">
-            <label text="s3"/>
-            <bbox w="80.0" h="40.0" x="398.0" y="119.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa2">
-            <label text="s2"/>
-            <bbox w="80.0" h="40.0" x="64.0" y="269.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa1">
-            <label text="s1"/>
-            <bbox w="80.0" h="40.0" x="35.0" y="30.0"/>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/logicGateNot.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/logicGateNot.sbgn
deleted file mode 100644
index 8e4946dd35e5115a58f1b3f5b8f892a32cc936b6..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/logicGateNot.sbgn
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa1">
-            <label text="s1"/>
-            <bbox w="80.0" h="40.0" x="35.0" y="30.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa2">
-            <label text="s2"/>
-            <bbox w="80.0" h="40.0" x="64.0" y="269.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa3">
-            <label text="s3"/>
-            <bbox w="80.0" h="40.0" x="398.0" y="119.0"/>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/logicGateOr.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/logicGateOr.sbgn
deleted file mode 100644
index 84db573febf69db8027afc9fadf2c480035284ec..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/logicGateOr.sbgn
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa2">
-            <label text="s2"/>
-            <bbox w="80.0" h="40.0" x="64.0" y="269.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa3">
-            <label text="s3"/>
-            <bbox w="80.0" h="40.0" x="398.0" y="119.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa1">
-            <label text="s1"/>
-            <bbox w="80.0" h="40.0" x="35.0" y="30.0"/>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/logicGateUnknown.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/logicGateUnknown.sbgn
deleted file mode 100644
index 388a95456bf070972be5b568d879a36efd0f05bb..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/logicGateUnknown.sbgn
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa1">
-            <label text="s1"/>
-            <bbox w="80.0" h="40.0" x="35.0" y="30.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa3">
-            <label text="s3"/>
-            <bbox w="80.0" h="40.0" x="398.0" y="119.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa2">
-            <label text="s2"/>
-            <bbox w="80.0" h="40.0" x="64.0" y="269.0"/>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/manyProducts.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/manyProducts.sbgn
deleted file mode 100644
index c222488eb765b8bf24c245f58b5518846fc8441b..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/manyProducts.sbgn
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa7">
-            <label text="s7"/>
-            <bbox w="80.0" h="40.0" x="247.0" y="52.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa8">
-            <label text="s8"/>
-            <bbox w="80.0" h="50.0" x="221.0" y="323.0"/>
-        </glyph>
-        <glyph class="unspecified entity" id="sa6">
-            <label text="s6"/>
-            <bbox w="70.0" h="25.0" x="405.0" y="144.5"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa2">
-            <label text="s2"/>
-            <bbox w="80.0" h="40.0" x="257.0" y="262.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa1">
-            <label text="s1"/>
-            <bbox w="80.0" h="40.0" x="14.0" y="250.0"/>
-        </glyph>
-        <glyph class="unspecified entity" id="sa9">
-            <label text="s9"/>
-            <bbox w="70.0" h="25.0" x="324.0" y="362.5"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa10">
-            <label text="s10"/>
-            <bbox w="25.0" h="25.0" x="77.5" y="358.5"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa5">
-            <label text="s5"/>
-            <bbox w="73.0" h="69.0" x="96.0" y="32.5"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re1">
-            <bbox w="10.0" h="10.0" x="170.5" y="271.0"/>
-            <port id="re1.1" x="165.5" y="276.0"/>
-            <port id="re1.2" x="185.5" y="276.0"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="sa1" target="re1.1">
-            <start x="94.0" y="271.9753"/>
-            <end x="165.5" y="276.0"/>
-        </arc>
-        <arc class="production" id="arc1" source="re1.2" target="sa2">
-            <start x="185.5" y="276.0"/>
-            <end x="257.0" y="280.0247"/>
-        </arc>
-        <arc class="production" id="arc2" source="re1.2" target="sa6">
-            <start x="185.5" y="276.0"/>
-            <end x="419.18243" y="167.04854"/>
-        </arc>
-        <arc class="production" id="arc3" source="re1.2" target="sa5">
-            <start x="185.5" y="276.0"/>
-            <end x="141.9208" y="100.33104"/>
-        </arc>
-        <arc class="production" id="arc4" source="re1.2" target="sa8">
-            <start x="185.5" y="276.0"/>
-            <end x="241.74036" y="328.1851"/>
-        </arc>
-        <arc class="production" id="arc5" source="re1.2" target="sa7">
-            <start x="185.5" y="276.0"/>
-            <end x="277.70334" y="92.0"/>
-        </arc>
-        <arc class="production" id="arc6" source="re1.2" target="sa10">
-            <start x="185.5" y="276.0"/>
-            <end x="99.17489" y="362.51053"/>
-        </arc>
-        <arc class="production" id="arc7" source="re1.2" target="sa9">
-            <start x="185.5" y="276.0"/>
-            <end x="340.81445" y="364.3198"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/physicalStimulationReaction.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/physicalStimulationReaction.sbgn
deleted file mode 100644
index ba195fd6726d07f886d1fedd8af9ed354987567d..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/physicalStimulationReaction.sbgn
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="phenotype" id="sa14">
-            <label text="s10"/>
-            <bbox w="80.0" h="30.0" x="76.0" y="46.0"/>
-        </glyph>
-        <glyph class="phenotype" id="sa15">
-            <label text="s11"/>
-            <bbox w="80.0" h="30.0" x="293.0" y="34.0"/>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/positive_influence.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/positive_influence.sbgn
deleted file mode 100644
index 90fda5009a43347ec261e302e778c8ffb63975c1..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/positive_influence.sbgn
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa2">
-            <label text="s2"/>
-            <bbox w="80.0" h="40.0" x="306.0" y="98.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa1">
-            <label text="s1"/>
-            <bbox w="80.0" h="40.0" x="47.0" y="100.0"/>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/problemWithAnchors.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/problemWithAnchors.sbgn
deleted file mode 100644
index 184f70dbc642b0ea07ff5a1418241f0e8526e02b..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/problemWithAnchors.sbgn
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="simple chemical" id="sa14">
-            <label text="s3"/>
-            <bbox w="80.0" h="40.0" x="1102.0" y="435.0"/>
-        </glyph>
-        <glyph class="phenotype" id="sa17">
-            <label text="LPS"/>
-            <bbox w="80.0" h="30.0" x="1457.0" y="884.25"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa16">
-            <label text="neuromelanin"/>
-            <bbox w="120.0" h="25.0" x="1552.5" y="885.25"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa19">
-            <label text="neuromelanin"/>
-            <bbox w="120.0" h="25.0" x="1552.5" y="548.25"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa15">
-            <label text="s4"/>
-            <bbox w="80.0" h="40.0" x="1091.0" y="684.0"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa13">
-            <label text="a"/>
-            <bbox w="120.0" h="25.0" x="1316.5" y="414.17856"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa20">
-            <label text="neuromelanin"/>
-            <bbox w="120.0" h="25.0" x="1576.1616" y="416.58334"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa21">
-            <label text="neuromelanin"/>
-            <bbox w="120.0" h="25.0" x="1686.1616" y="759.5833"/>
-        </glyph>
-        <glyph class="phenotype" id="sa18">
-            <label text="Neuronal damage and death"/>
-            <bbox w="80.0" h="30.0" x="1455.0" y="604.25"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa10">
-            <label text="a"/>
-            <bbox w="120.0" h="25.0" x="1313.5" y="751.1786"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re4">
-            <bbox w="10.0" h="10.0" x="1131.5005" y="574.49023"/>
-            <port id="re4.1" x="1136.5005" y="569.49023"/>
-            <port id="re4.2" x="1136.5005" y="589.49023"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="sa14" target="re4.1">
-            <start x="1141.1173" y="474.9805"/>
-            <end x="1136.5005" y="569.49023"/>
-        </arc>
-        <arc class="production" id="arc1" source="re4.2" target="sa15">
-            <start x="1136.5005" y="589.49023"/>
-            <end x="1131.8835" y="684.0"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/problemWithAnchors2.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/problemWithAnchors2.sbgn
deleted file mode 100644
index 975d8f01887de161481a3f03bf6162c7e6ad5d53..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/problemWithAnchors2.sbgn
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="simple chemical" id="sa8">
-            <label text="Ca2+"/>
-            <bbox w="40.0" h="40.0" x="128.1923" y="55.0"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa10">
-            <label text="s8"/>
-            <bbox w="25.0" h="25.0" x="223.5" y="130.5"/>
-        </glyph>
-        <glyph class="phenotype" id="sa7">
-            <label text="Akt pathway"/>
-            <bbox w="80.0" h="30.0" x="370.5" y="285.0"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa11">
-            <label text="s9"/>
-            <bbox w="25.0" h="25.0" x="316.5" y="130.5"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re3">
-            <bbox w="10.0" h="10.0" x="277.5" y="138.0"/>
-            <port id="re3.1" x="272.5" y="143.0"/>
-            <port id="re3.2" x="292.5" y="143.0"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="sa10" target="re3.1">
-            <start x="248.5" y="143.0"/>
-            <end x="272.5" y="143.0"/>
-        </arc>
-        <arc class="production" id="arc1" source="re3.2" target="sa11">
-            <start x="292.5" y="143.0"/>
-            <end x="316.5" y="143.0"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/problemWithAnchors3.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/problemWithAnchors3.sbgn
deleted file mode 100644
index f8aa6c9e3efc5c3073d1105d622c4b74f5b0c3d1..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/problemWithAnchors3.sbgn
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="phenotype" id="sa7">
-            <label text="Akt pathway"/>
-            <bbox w="80.0" h="30.0" x="370.5" y="285.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa12">
-            <label text="s10"/>
-            <bbox w="80.0" h="40.0" x="253.0" y="52.0"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa10">
-            <label text="s8"/>
-            <bbox w="25.0" h="25.0" x="225.5" y="170.5"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa11">
-            <label text="s9"/>
-            <bbox w="25.0" h="25.0" x="316.5" y="130.5"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa13">
-            <label text="s11"/>
-            <bbox w="80.0" h="40.0" x="10.0" y="166.0"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa8">
-            <label text="Ca2+"/>
-            <bbox w="40.0" h="40.0" x="128.1923" y="55.0"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re3">
-            <bbox w="10.0" h="10.0" x="278.5" y="158.0"/>
-            <port id="re3.1" x="273.5" y="163.0"/>
-            <port id="re3.2" x="293.5" y="163.0"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="sa10" target="re3.1">
-            <start x="249.4433" y="177.96999"/>
-            <end x="273.5" y="163.0"/>
-        </arc>
-        <arc class="production" id="arc1" source="re3.2" target="sa11">
-            <start x="293.5" y="163.0"/>
-            <end x="317.5567" y="148.03001"/>
-        </arc>
-        <arc class="catalysis" id="arc2" source="sa8" target="re3">
-            <start x="164.85583" y="86.06014"/>
-            <end x="276.91068" y="160.4347"/>
-        </arc>
-        <arc class="catalysis" id="arc3" source="sa7" target="re3">
-            <start x="397.0648" y="285.0"/>
-            <end x="290.08932" y="165.5653"/>
-        </arc>
-        <arc class="inhibition" id="re4" source="sa8" target="sa12">
-            <start x="168.18411" y="74.42776"/>
-            <end x="250.00122" y="72.08584"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/reactionComparison.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/reactionComparison.sbgn
deleted file mode 100644
index 4eed46ebea3634b8c7e93053ef163e182f109d7b..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/reactionComparison.sbgn
+++ /dev/null
@@ -1,94 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa5">
-            <label text="s5"/>
-            <bbox w="80.0" h="40.0" x="426.0" y="213.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa3">
-            <label text="s3"/>
-            <bbox w="80.0" h="40.0" x="188.0" y="34.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa7">
-            <label text="s7"/>
-            <bbox w="80.0" h="40.0" x="155.0" y="264.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa2">
-            <label text="s2"/>
-            <bbox w="80.0" h="40.0" x="3.0" y="179.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa1">
-            <label text="s1"/>
-            <bbox w="80.0" h="40.0" x="29.0" y="83.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa4">
-            <label text="s4"/>
-            <bbox w="80.0" h="40.0" x="365.0" y="87.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa6">
-            <label text="s6"/>
-            <bbox w="80.0" h="40.0" x="284.0" y="29.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa8">
-            <label text="s8"/>
-            <bbox w="80.0" h="40.0" x="281.0" y="282.0"/>
-        </glyph>
-        <glyph class="association" orientation="horizontal" id="re1">
-            <bbox w="10.0" h="10.0" x="302.94162" y="172.14601"/>
-            <port id="re1.1" x="297.94162" y="177.14601"/>
-            <port id="re1.2" x="317.94162" y="177.14601"/>
-        </glyph>
-        <glyph class="and" id="operator0">
-            <bbox w="40.0" h="40.0" x="228.66667" y="86.333336"/>
-            <port id="operator0.2" x="287.67053" y="115.204605"/>
-            <port id="operator0.1" x="209.6628" y="97.46206"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="sa1" target="re1.1">
-            <start x="109.0" y="103.54422"/>
-            <next x="216.0" y="105.0"/>
-            <end x="297.94162" y="177.14601"/>
-        </arc>
-        <arc class="consumption" id="arc1" source="sa2" target="re1.1">
-            <start x="83.0" y="193.36049"/>
-            <next x="206.8579" y="175.89803"/>
-            <next x="216.0" y="105.0"/>
-            <end x="297.94162" y="177.14601"/>
-        </arc>
-        <arc class="production" id="arc2" source="re1.2" target="sa5">
-            <start x="317.94162" y="177.14601"/>
-            <next x="379.91138" y="179.38908"/>
-            <end x="433.8839" y="213.0"/>
-        </arc>
-        <arc class="consumption" id="arc3" source="sa7" target="re1.1">
-            <start x="196.55482" y="264.0"/>
-            <next x="200.69629" y="210.72743"/>
-            <next x="273.75534" y="215.82555"/>
-            <next x="293.54767" y="176.6974"/>
-            <end x="297.94162" y="177.14601"/>
-        </arc>
-        <arc class="production" id="arc4" source="re1.2" target="sa4">
-            <start x="317.94162" y="177.14601"/>
-            <next x="330.17297" y="106.67673"/>
-            <end x="365.0" y="106.82719"/>
-        </arc>
-        <arc class="logic arc" id="arc5" source="sa3" target="operator0.1">
-            <start x="235.89809" y="74.0"/>
-            <end x="209.6628" y="97.46206"/>
-        </arc>
-        <arc class="logic arc" id="arc6" source="sa6" target="operator0.1">
-            <start x="321.89325" y="69.0"/>
-            <next x="318.7311" y="99.01879"/>
-            <end x="209.6628" y="97.46206"/>
-        </arc>
-        <arc class="modulation" id="arc7" source="sa8" target="re1">
-            <start x="321.46915" y="282.0"/>
-            <next x="323.10458" y="212.27823"/>
-            <end x="307.78586" y="182.14359"/>
-        </arc>
-        <arc class="catalysis" id="arc8" source="operator0.2" target="re1">
-            <start x="287.67053" y="115.204605"/>
-            <next x="312.5036" y="120.8528"/>
-            <end x="308.09738" y="172.14844"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/reactionWithHomodir.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/reactionWithHomodir.sbgn
deleted file mode 100644
index 61f0488c5c798ee825ea77459197602afc0adb09..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/reactionWithHomodir.sbgn
+++ /dev/null
@@ -1,113 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa2">
-            <label text="s2"/>
-            <bbox w="80.0" h="40.0" x="379.0" y="107.0"/>
-        </glyph>
-        <glyph class="macromolecule multimer" id="sa1">
-            <label text="s1"/>
-            <bbox w="247.0" h="178.0" x="67.0" y="78.0"/>
-            <glyph class="unit of information" id="sa1uoi">
-                <label text="N:10"/>
-                <bbox w="227.0" h="12.0" x="77.0" y="72.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa5">
-            <label text="s5"/>
-            <bbox w="80.0" h="40.0" x="202.0" y="341.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa4">
-            <label text="s4"/>
-            <bbox w="80.0" h="40.0" x="21.0" y="331.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa3">
-            <label text="s3"/>
-            <bbox w="80.0" h="40.0" x="379.0" y="248.0"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re5">
-            <bbox w="10.0" h="10.0" x="176.84245" y="278.9922"/>
-            <port id="re5.1" x="191.84245" y="283.9922"/>
-            <port id="re5.2" x="171.84245" y="283.9922"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re3">
-            <bbox w="10.0" h="10.0" x="414.0" y="192.5"/>
-            <port id="re3.1" x="419.0" y="187.5"/>
-            <port id="re3.2" x="419.0" y="207.5"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re2">
-            <bbox w="10.0" h="10.0" x="341.5" y="134.69147"/>
-            <port id="re2.1" x="336.5" y="139.69147"/>
-            <port id="re2.2" x="356.5" y="139.69147"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re1">
-            <bbox w="10.0" h="10.0" x="314.5" y="87.5"/>
-            <port id="re1.1" x="309.5" y="92.5"/>
-            <port id="re1.2" x="329.5" y="92.5"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re6">
-            <bbox w="10.0" h="10.0" x="256.0" y="266.5"/>
-            <port id="re6.1" x="261.0" y="261.5"/>
-            <port id="re6.2" x="261.0" y="281.5"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re4">
-            <bbox w="10.0" h="10.0" x="315.06668" y="221.93333"/>
-            <port id="re4.1" x="310.06668" y="226.93333"/>
-            <port id="re4.2" x="330.06668" y="226.93333"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="sa1" target="re5.1">
-            <start x="260.0" y="202.0"/>
-            <next x="262.14627" y="285.866"/>
-            <end x="191.84245" y="283.9922"/>
-        </arc>
-        <arc class="production" id="arc1" source="re5.2" target="sa4">
-            <start x="171.84245" y="283.9922"/>
-            <next x="101.53862" y="282.11838"/>
-            <end x="101.0" y="331.0"/>
-        </arc>
-        <arc class="consumption" id="arc2" source="sa2" target="re3.1">
-            <start x="419.0" y="147.0"/>
-            <end x="419.0" y="187.5"/>
-        </arc>
-        <arc class="production" id="arc3" source="re3.2" target="sa3">
-            <start x="419.0" y="207.5"/>
-            <end x="419.0" y="248.0"/>
-        </arc>
-        <arc class="consumption" id="arc4" source="sa1" target="re3.1">
-            <start x="314.0" y="178.02582"/>
-            <end x="419.0" y="187.5"/>
-        </arc>
-        <arc class="consumption" id="arc5" source="sa1" target="re2.1">
-            <start x="314.0" y="145.38074"/>
-            <end x="336.5" y="139.69147"/>
-        </arc>
-        <arc class="production" id="arc6" source="re2.2" target="sa2">
-            <start x="356.5" y="139.69147"/>
-            <end x="379.0" y="134.00218"/>
-        </arc>
-        <arc class="consumption" id="arc7" source="sa1" target="re1.1">
-            <start x="260.0" y="78.0"/>
-            <end x="309.5" y="92.5"/>
-        </arc>
-        <arc class="production" id="arc8" source="re1.2" target="sa2">
-            <start x="329.5" y="92.5"/>
-            <end x="379.0" y="107.0"/>
-        </arc>
-        <arc class="consumption" id="arc9" source="sa1" target="re6.1">
-            <start x="260.0" y="202.0"/>
-            <end x="261.0" y="261.5"/>
-        </arc>
-        <arc class="production" id="arc10" source="re6.2" target="sa5">
-            <start x="261.0" y="281.5"/>
-            <end x="262.0" y="341.0"/>
-        </arc>
-        <arc class="consumption" id="arc11" source="sa1" target="re4.1">
-            <start x="260.0" y="202.0"/>
-            <end x="310.06668" y="226.93333"/>
-        </arc>
-        <arc class="production" id="arc12" source="re4.2" target="sa3">
-            <start x="330.06668" y="226.93333"/>
-            <end x="380.13333" y="251.86667"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/reactionWithModifiers.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/reactionWithModifiers.sbgn
deleted file mode 100644
index 7c81ccb4db0fac7675bdc93beeb83e69ea4ebbc0..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/reactionWithModifiers.sbgn
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa3">
-            <label text="s3"/>
-            <bbox w="80.0" h="40.0" x="62.0" y="28.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa4">
-            <label text="s4"/>
-            <bbox w="80.0" h="40.0" x="193.0" y="14.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa2">
-            <label text="s2"/>
-            <bbox w="80.0" h="40.0" x="332.0" y="301.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa1">
-            <label text="s1"/>
-            <bbox w="80.0" h="40.0" x="45.0" y="206.0"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re1">
-            <bbox w="10.0" h="10.0" x="223.5" y="268.5"/>
-            <port id="re1.1" x="218.5" y="273.5"/>
-            <port id="re1.2" x="238.5" y="273.5"/>
-        </glyph>
-        <glyph class="and" id="operator0">
-            <bbox w="40.0" h="40.0" x="170.66667" y="97.666664"/>
-            <port id="operator0.2" x="200.76129" y="156.37195"/>
-            <port id="operator0.1" x="180.57204" y="78.96139"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="sa1" target="re1.1">
-            <start x="125.0" y="239.24042"/>
-            <end x="218.5" y="273.5"/>
-        </arc>
-        <arc class="production" id="arc1" source="re1.2" target="sa2">
-            <start x="238.5" y="273.5"/>
-            <end x="332.0" y="307.75958"/>
-        </arc>
-        <arc class="logic arc" id="arc2" source="sa3" target="operator0.1">
-            <start x="101.95917" y="68.0"/>
-            <next x="101.86751" y="112.8959"/>
-            <end x="180.57204" y="78.96139"/>
-        </arc>
-        <arc class="logic arc" id="arc3" source="sa4" target="operator0.1">
-            <start x="267.70755" y="54.0"/>
-            <next x="298.3736" y="71.6711"/>
-            <end x="180.57204" y="78.96139"/>
-        </arc>
-        <arc class="catalysis" id="arc4" source="operator0.2" target="re1">
-            <start x="200.76129" y="156.37195"/>
-            <end x="230.07121" y="268.7533"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/reactionWithOperators.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/reactionWithOperators.sbgn
deleted file mode 100644
index df0c63b58a0c6db3746864c6ca7b6a3c3ea51064..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/reactionWithOperators.sbgn
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa1">
-            <label text="s1"/>
-            <bbox w="80.0" h="40.0" x="41.0" y="222.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa3">
-            <label text="s3"/>
-            <bbox w="80.0" h="40.0" x="41.0" y="33.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa2">
-            <label text="s2"/>
-            <bbox w="80.0" h="40.0" x="34.0" y="131.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa4">
-            <label text="s4"/>
-            <bbox w="80.0" h="40.0" x="466.0" y="183.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa5">
-            <label text="s5"/>
-            <bbox w="80.0" h="40.0" x="425.0" y="67.0"/>
-        </glyph>
-        <glyph class="association" orientation="horizontal" id="re1">
-            <bbox w="10.0" h="10.0" x="371.98676" y="198.83015"/>
-            <port id="re1.1" x="366.98676" y="203.83015"/>
-            <port id="re1.2" x="386.98676" y="203.83015"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="sa2" target="re1.1">
-            <start x="112.53619" y="167.46382"/>
-            <next x="287.0" y="242.0"/>
-            <end x="366.98676" y="203.83015"/>
-        </arc>
-        <arc class="consumption" id="arc1" source="sa1" target="re1.1">
-            <start x="121.0" y="242.0"/>
-            <next x="287.0" y="242.0"/>
-            <end x="366.98676" y="203.83015"/>
-        </arc>
-        <arc class="production" id="arc2" source="re1.2" target="sa4">
-            <start x="386.98676" y="203.83015"/>
-            <end x="466.0" y="203.25739"/>
-        </arc>
-        <arc class="consumption" id="arc3" source="sa3" target="re1.1">
-            <start x="116.65392" y="72.34608"/>
-            <next x="359.18408" y="203.94472"/>
-            <end x="366.98676" y="203.83015"/>
-        </arc>
-        <arc class="production" id="arc4" source="re1.2" target="sa5">
-            <start x="386.98676" y="203.83015"/>
-            <end x="452.96893" y="107.0"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/transcription.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/transcription.sbgn
deleted file mode 100644
index 8c434f37faa59a0f5b01e948f47ea12c237ed191..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/transcription.sbgn
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa4">
-            <label text="s4"/>
-            <bbox w="80.0" h="40.0" x="63.0" y="36.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa3">
-            <label text="s3"/>
-            <bbox w="80.0" h="40.0" x="333.0" y="37.0"/>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/transcription_with_additions.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/transcription_with_additions.sbgn
deleted file mode 100644
index a0d6aea36b89c6284ebf91a8b0fecc77b101a75c..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/transcription_with_additions.sbgn
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa3">
-            <label text="s3"/>
-            <bbox w="80.0" h="40.0" x="411.0" y="33.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa5">
-            <label text="s5"/>
-            <bbox w="80.0" h="40.0" x="340.0" y="230.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa6">
-            <label text="s6"/>
-            <bbox w="80.0" h="50.0" x="50.0" y="224.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa4">
-            <label text="s4"/>
-            <bbox w="80.0" h="40.0" x="63.0" y="36.0"/>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/transition.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/transition.sbgn
deleted file mode 100644
index 9d7c2663f0d8cefe3cbd5cf6065661501896ca0c..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/transition.sbgn
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa2">
-            <label text="s2"/>
-            <bbox w="80.0" h="40.0" x="212.0" y="50.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa1">
-            <label text="s1"/>
-            <bbox w="80.0" h="40.0" x="1.0" y="60.0"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re1">
-            <bbox w="10.0" h="10.0" x="148.49867" y="33.500866"/>
-            <port id="re1.1" x="143.49867" y="38.500866"/>
-            <port id="re1.2" x="163.49867" y="38.500866"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="sa1" target="re1.1">
-            <start x="81.0" y="80.0"/>
-            <next x="115.803024" y="113.41962"/>
-            <next x="118.22322" y="44.494556"/>
-            <end x="143.49867" y="38.500866"/>
-        </arc>
-        <arc class="production" id="arc1" source="re1.2" target="sa2">
-            <start x="163.49867" y="38.500866"/>
-            <next x="188.77414" y="32.507175"/>
-            <end x="212.0" y="70.0"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/transitionWithAdditionalNodes.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/transitionWithAdditionalNodes.sbgn
deleted file mode 100644
index f2d4a0b90357d0c5faa06dc5024a84267d331e66..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/transitionWithAdditionalNodes.sbgn
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa5">
-            <label text="s5"/>
-            <bbox w="80.0" h="40.0" x="200.0" y="164.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa2">
-            <label text="s2"/>
-            <bbox w="80.0" h="40.0" x="370.0" y="41.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa1">
-            <label text="s1"/>
-            <bbox w="80.0" h="40.0" x="1.0" y="60.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa4">
-            <label text="s4"/>
-            <bbox w="80.0" h="40.0" x="76.0" y="183.0"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re1">
-            <bbox w="10.0" h="10.0" x="204.99867" y="27.500866"/>
-            <port id="re1.1" x="199.99867" y="32.500866"/>
-            <port id="re1.2" x="219.99867" y="32.500866"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="sa1" target="re1.1">
-            <start x="81.0" y="80.0"/>
-            <next x="115.803024" y="113.41962"/>
-            <next x="118.22322" y="44.494556"/>
-            <end x="199.99867" y="32.500866"/>
-        </arc>
-        <arc class="production" id="arc1" source="re1.2" target="sa2">
-            <start x="219.99867" y="32.500866"/>
-            <next x="301.77414" y="20.507177"/>
-            <end x="370.0" y="61.0"/>
-        </arc>
-        <arc class="consumption" id="arc2" source="sa4" target="re1.1">
-            <start x="136.0" y="183.0"/>
-            <next x="155.60646" y="144.82048"/>
-            <end x="199.99867" y="32.500866"/>
-        </arc>
-        <arc class="production" id="arc3" source="re1.2" target="sa5">
-            <start x="219.99867" y="32.500866"/>
-            <next x="242.57022" y="109.32635"/>
-            <next x="449.45874" y="84.382"/>
-            <end x="240.0" y="164.0"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/transition_omitted.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/transition_omitted.sbgn
deleted file mode 100644
index 1dc0cfea0d7e556b85ca361b3a8af51f6aca40c0..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/transition_omitted.sbgn
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa2">
-            <label text="s2"/>
-            <bbox w="80.0" h="40.0" x="47.0" y="287.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa1">
-            <label text="s1"/>
-            <bbox w="80.0" h="40.0" x="49.0" y="59.0"/>
-        </glyph>
-        <glyph class="omitted process" orientation="horizontal" id="re1">
-            <bbox w="10.0" h="10.0" x="97.076324" y="181.56796"/>
-            <port id="re1.1" x="112.076324" y="186.56796"/>
-            <port id="re1.2" x="92.076324" y="186.56796"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="sa1" target="re1.1">
-            <start x="129.0" y="79.0"/>
-            <next x="184.3224" y="134.83525"/>
-            <end x="112.076324" y="186.56796"/>
-        </arc>
-        <arc class="production" id="arc1" source="re1.2" target="sa2">
-            <start x="92.076324" y="186.56796"/>
-            <next x="19.83024" y="238.30069"/>
-            <next x="17.838089" y="300.7939"/>
-            <end x="47.0" y="307.0"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/translation.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/translation.sbgn
deleted file mode 100644
index 1d6a2d0c8bc8ced0d1469f716b1b9c127c759fff..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/translation.sbgn
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa2">
-            <label text="s2"/>
-            <bbox w="80.0" h="40.0" x="263.0" y="47.0"/>
-        </glyph>
-        <glyph class="nucleic acid feature" id="sa1">
-            <label text="s1"/>
-            <bbox w="70.0" h="25.0" x="45.0" y="55.5"/>
-            <glyph class="unit of information" id="sa1uoi">
-                <label text="ct:gene"/>
-                <bbox w="50.0" h="12.0" x="55.0" y="49.5"/>
-            </glyph>
-        </glyph>
-        <glyph class="complex" id="csa1">
-            <label text="s5"/>
-            <bbox w="100.0" h="120.0" x="248.0" y="150.0"/>
-            <glyph class="macromolecule" id="sa5">
-                <label text="s6"/>
-                <bbox w="80.0" h="40.0" x="254.0" y="155.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa3">
-            <label text="s3"/>
-            <bbox w="80.0" h="40.0" x="73.0" y="139.0"/>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/transport.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/transport.sbgn
deleted file mode 100644
index e1b7ef2327cbd621ae568aa140ea72c761045453..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/transport.sbgn
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa1">
-            <label text="s1"/>
-            <bbox w="80.0" h="40.0" x="73.0" y="95.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa2">
-            <label text="s2"/>
-            <bbox w="80.0" h="40.0" x="255.0" y="95.0"/>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/truncation.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/truncation.sbgn
deleted file mode 100644
index 8c32aab076c0cb47b9b9d3115156189041fb745e..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/truncation.sbgn
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa1">
-            <label text="s1"/>
-            <bbox w="80.0" h="40.0" x="100.0" y="81.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa2">
-            <label text="s2"/>
-            <bbox w="80.0" h="40.0" x="208.0" y="264.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa3">
-            <label text="s3"/>
-            <bbox w="80.0" h="40.0" x="342.0" y="110.0"/>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/truncationWithModifier.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/truncationWithModifier.sbgn
deleted file mode 100644
index 3f1b164f0ddefc25674e9f87d1ca1da53f0987cc..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/truncationWithModifier.sbgn
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa13">
-            <label text="s13"/>
-            <bbox w="80.0" h="40.0" x="44.0" y="283.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa1">
-            <label text="s1"/>
-            <bbox w="80.0" h="40.0" x="0.0" y="180.0"/>
-        </glyph>
-        <glyph class="nucleic acid feature" id="sa12">
-            <label text="s12"/>
-            <bbox w="70.0" h="25.0" x="97.0" y="22.5"/>
-            <glyph class="unit of information" id="sa12uoi">
-                <label text="ct:gene"/>
-                <bbox w="50.0" h="12.0" x="107.0" y="16.5"/>
-            </glyph>
-        </glyph>
-        <glyph class="nucleic acid feature" id="sa11">
-            <label text="s11"/>
-            <bbox w="70.0" h="25.0" x="16.0" y="84.5"/>
-            <glyph class="unit of information" id="sa11uoi">
-                <label text="ct:gene"/>
-                <bbox w="50.0" h="12.0" x="26.0" y="78.5"/>
-            </glyph>
-        </glyph>
-        <glyph class="macromolecule" id="sa3">
-            <label text="s3"/>
-            <bbox w="80.0" h="40.0" x="400.0" y="143.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa2">
-            <label text="s2"/>
-            <bbox w="80.0" h="40.0" x="293.0" y="40.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa15">
-            <label text="s15"/>
-            <bbox w="80.0" h="40.0" x="60.0" y="328.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa4">
-            <label text="s4"/>
-            <bbox w="80.0" h="40.0" x="202.0" y="24.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa10">
-            <label text="s10"/>
-            <bbox w="80.0" h="40.0" x="252.0" y="308.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa14">
-            <label text="s14"/>
-            <bbox w="80.0" h="40.0" x="390.0" y="240.0"/>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/unknown_transition.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/unknown_transition.sbgn
deleted file mode 100644
index f80b3bf4dd2903ec57cfe249fb28296e22401d25..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/reactions/unknown_transition.sbgn
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="macromolecule" id="sa1">
-            <label text="s1"/>
-            <bbox w="80.0" h="50.0" x="48.0" y="41.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa2">
-            <label text="s2"/>
-            <bbox w="80.0" h="40.0" x="63.0" y="213.0"/>
-            <glyph class="unit of information" id="sa2uoi">
-                <label text="ct:truncatedProtein"/>
-                <bbox w="60.0" h="12.0" x="73.0" y="207.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="uncertain process" orientation="vertical" id="re1">
-            <bbox w="10.0" h="10.0" x="90.5" y="147.0"/>
-            <port id="re1.1" x="95.5" y="142.0"/>
-            <port id="re1.2" x="95.5" y="162.0"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="sa1" target="re1.1">
-            <start x="88.0" y="91.0"/>
-            <end x="95.5" y="142.0"/>
-        </arc>
-        <arc class="production" id="arc1" source="re1.2" target="sa2">
-            <start x="95.5" y="162.0"/>
-            <end x="103.0" y="213.0"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/rnaWithRegion.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/rnaWithRegion.sbgn
deleted file mode 100644
index 7db21b74bd56167c3f8c1d1c85ea8d335ac2a176..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/rnaWithRegion.sbgn
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="nucleic acid feature" id="sa2">
-            <label text="s2"/>
-            <bbox w="90.0" h="25.0" x="302.0" y="213.5"/>
-            <glyph class="unit of information" id="sa2uoi">
-                <label text="ct:RNA"/>
-                <bbox w="70.0" h="12.0" x="312.0" y="207.5"/>
-            </glyph>
-        </glyph>
-        <glyph class="nucleic acid feature" id="sa1">
-            <label text="s1"/>
-            <bbox w="90.0" h="25.0" x="166.0" y="130.5"/>
-            <glyph class="unit of information" id="sa1uoi">
-                <label text="ct:RNA"/>
-                <bbox w="70.0" h="12.0" x="176.0" y="124.5"/>
-            </glyph>
-        </glyph>
-        <glyph class="nucleic acid feature" id="sa3">
-            <label text="s3"/>
-            <bbox w="90.0" h="25.0" x="303.0" y="76.5"/>
-            <glyph class="unit of information" id="sa3uoi">
-                <label text="ct:RNA"/>
-                <bbox w="70.0" h="12.0" x="313.0" y="70.5"/>
-            </glyph>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/sample.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/sample.sbgn
deleted file mode 100644
index 7a72f0e9ebb0a7545da7a3e2774dd61fa9c58d76..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/sample.sbgn
+++ /dev/null
@@ -1,550 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="unspecified entity" id="sa11">
-            <label text="s11"/>
-            <bbox w="70.0" h="25.0" x="105.0" y="203.5"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa31">
-            <label text="NAD+"/>
-            <bbox w="70.0" h="25.0" x="1197.2682" y="287.5"/>
-        </glyph>
-        <glyph class="complex" id="csa1">
-            <label text="s12"/>
-            <bbox w="101.0" h="164.0" x="271.0" y="207.0"/>
-            <glyph class="macromolecule" id="sa13">
-                <label text="s14"/>
-                <bbox w="80.0" h="40.0" x="279.0" y="233.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="simple chemical" id="sa33">
-            <label text="H+"/>
-            <bbox w="25.0" h="25.0" x="1243.7682" y="12.5"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa8">
-            <label text="s8"/>
-            <bbox w="25.0" h="25.0" x="358.5" y="125.5"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa35">
-            <label text="acetoacetate"/>
-            <bbox w="140.0" h="25.0" x="1044.7318" y="27.5"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa30">
-            <label text="D-beta hydroxybutyrate"/>
-            <bbox w="140.0" h="25.0" x="1022.73175" y="209.5"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa4">
-            <label text="s4"/>
-            <bbox w="80.0" h="40.0" x="419.0" y="45.0"/>
-            <glyph class="unit of information" id="sa4uoi">
-                <label text="ct:truncatedProtein"/>
-                <bbox w="60.0" h="12.0" x="429.0" y="39.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="unspecified entity" id="sa10">
-            <label text="s10"/>
-            <bbox w="80.0" h="30.0" x="0.0" y="186.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa23">
-            <label text="s22"/>
-            <bbox w="80.0" h="40.0" x="918.0" y="427.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa14">
-            <label text="CNC"/>
-            <bbox w="118.0" h="66.0" x="11.0" y="236.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa22">
-            <label text="s22"/>
-            <bbox w="80.0" h="40.0" x="712.0" y="384.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa1">
-            <label text="s1"/>
-            <bbox w="80.0" h="40.0" x="12.0" y="6.0"/>
-        </glyph>
-        <glyph class="nucleic acid feature" id="sa6">
-            <label text="s6"/>
-            <bbox w="90.0" h="25.0" x="101.0" y="129.5"/>
-            <glyph class="unit of information" id="sa6uoi">
-                <label text="ct:antisenseRNA"/>
-                <bbox w="70.0" h="12.0" x="111.0" y="123.5"/>
-            </glyph>
-        </glyph>
-        <glyph class="simple chemical" id="sa25">
-            <label text="GDP"/>
-            <bbox w="70.0" h="25.0" x="959.0" y="271.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa27">
-            <label text="s23"/>
-            <bbox w="80.0" h="40.0" x="695.0" y="239.0"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa28">
-            <label text="ATP"/>
-            <bbox w="70.0" h="25.0" x="683.0" y="132.0"/>
-        </glyph>
-        <glyph class="source and sink" id="sa12">
-            <label text="s13"/>
-            <bbox w="30.0" h="30.0" x="401.0" y="235.0"/>
-        </glyph>
-        <glyph class="phenotype" id="sa7">
-            <label text="s7"/>
-            <bbox w="80.0" h="30.0" x="213.0" y="128.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa32">
-            <label text="BDH1"/>
-            <bbox w="80.0" h="40.0" x="1225.7682" y="66.0"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa34">
-            <label text="NADH"/>
-            <bbox w="70.0" h="25.0" x="1214.2682" y="128.5"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa3">
-            <label text="s3"/>
-            <bbox w="80.0" h="40.0" x="289.0" y="39.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa26">
-            <label text="s23"/>
-            <bbox w="80.0" h="40.0" x="656.0" y="42.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa2">
-            <label text="s2"/>
-            <bbox w="80.0" h="50.0" x="165.0" y="43.0"/>
-        </glyph>
-        <glyph class="nucleic acid feature" id="sa5">
-            <label text="s5"/>
-            <bbox w="90.0" h="25.0" x="0.0" y="118.5"/>
-            <glyph class="unit of information" id="sa5uoi">
-                <label text="ct:RNA"/>
-                <bbox w="70.0" h="12.0" x="10.0" y="112.5"/>
-            </glyph>
-        </glyph>
-        <glyph class="simple chemical" id="sa24">
-            <label text="GTP"/>
-            <bbox w="70.0" h="25.0" x="849.0" y="309.0"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa29">
-            <label text="ADP"/>
-            <bbox w="70.0" h="25.0" x="819.0" y="134.0"/>
-        </glyph>
-        <glyph class="macromolecule" id="sa15">
-            <label text="gfsdhj"/>
-            <bbox w="119.0" h="63.0" x="160.0" y="332.0"/>
-        </glyph>
-        <glyph class="simple chemical" id="sa9">
-            <label text="s9"/>
-            <bbox w="70.0" h="25.0" x="455.0" y="169.5"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re11">
-            <bbox w="10.0" h="10.0" x="283.7381" y="98.5"/>
-            <port id="re11.1" x="288.7381" y="113.5"/>
-            <port id="re11.2" x="288.7381" y="93.5"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re17">
-            <bbox w="10.0" h="10.0" x="389.33884" y="191.08778"/>
-            <port id="re17.1" x="394.33884" y="186.08778"/>
-            <port id="re17.2" x="394.33884" y="206.08778"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re18">
-            <bbox w="10.0" h="10.0" x="385.3025" y="255.60532"/>
-            <port id="re18.1" x="380.3025" y="260.60532"/>
-            <port id="re18.2" x="400.3025" y="260.60532"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re28">
-            <bbox w="10.0" h="10.0" x="1125.5197" y="126.0"/>
-            <port id="re28.1" x="1130.5197" y="121.0"/>
-            <port id="re28.2" x="1130.5197" y="141.0"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re16">
-            <bbox w="10.0" h="10.0" x="402.75552" y="102.50961"/>
-            <port id="re16.1" x="417.75552" y="107.50961"/>
-            <port id="re16.2" x="397.75552" y="107.50961"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re7">
-            <bbox w="10.0" h="10.0" x="212.11961" y="242.0178"/>
-            <port id="re7.1" x="207.11961" y="247.0178"/>
-            <port id="re7.2" x="227.11961" y="247.0178"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re12">
-            <bbox w="10.0" h="10.0" x="347.82986" y="100.20034"/>
-            <port id="re12.1" x="342.82986" y="105.20034"/>
-            <port id="re12.2" x="362.82986" y="105.20034"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re15">
-            <bbox w="10.0" h="10.0" x="470.50095" y="122.277794"/>
-            <port id="re15.1" x="475.50095" y="117.277794"/>
-            <port id="re15.2" x="475.50095" y="137.2778"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re1">
-            <bbox w="10.0" h="10.0" x="37.589287" y="159.75"/>
-            <port id="re1.1" x="42.589287" y="174.75"/>
-            <port id="re1.2" x="42.589287" y="154.75"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re2">
-            <bbox w="10.0" h="10.0" x="43.25" y="77.25"/>
-            <port id="re2.1" x="48.25" y="92.25"/>
-            <port id="re2.2" x="48.25" y="72.25"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re13">
-            <bbox w="10.0" h="10.0" x="262.0" y="58.5"/>
-            <port id="re13.1" x="257.0" y="63.5"/>
-            <port id="re13.2" x="277.0" y="63.5"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re8">
-            <bbox w="10.0" h="10.0" x="137.99979" y="174.00262"/>
-            <port id="re8.1" x="142.99979" y="189.00262"/>
-            <port id="re8.2" x="142.99979" y="169.00262"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re10">
-            <bbox w="10.0" h="10.0" x="191.68292" y="137.47368"/>
-            <port id="re10.1" x="186.68292" y="142.47368"/>
-            <port id="re10.2" x="206.68292" y="142.47368"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re5">
-            <bbox w="10.0" h="10.0" x="123.5" y="42.0"/>
-            <port id="re5.1" x="118.5" y="47.0"/>
-            <port id="re5.2" x="138.5" y="47.0"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re26">
-            <bbox w="10.0" h="10.0" x="895.0" y="373.0"/>
-            <port id="re26.1" x="890.0" y="378.0"/>
-            <port id="re26.2" x="910.0" y="378.0"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re27">
-            <bbox w="10.0" h="10.0" x="883.3333" y="62.0"/>
-            <port id="re27.1" x="878.3333" y="67.0"/>
-            <port id="re27.2" x="898.3333" y="67.0"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re4">
-            <bbox w="10.0" h="10.0" x="87.15974" y="131.13622"/>
-            <port id="re4.1" x="82.15974" y="136.13622"/>
-            <port id="re4.2" x="102.15974" y="136.13622"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re21">
-            <bbox w="10.0" h="10.0" x="213.08105" y="296.73074"/>
-            <port id="re21.1" x="218.08105" y="291.73074"/>
-            <port id="re21.2" x="218.08105" y="311.73074"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re29">
-            <bbox w="10.0" h="10.0" x="1071.944" y="126.0"/>
-            <port id="re29.1" x="1076.944" y="141.0"/>
-            <port id="re29.2" x="1076.944" y="121.0"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re3">
-            <bbox w="10.0" h="10.0" x="167.17325" y="104.17254"/>
-            <port id="re3.1" x="172.17325" y="119.17254"/>
-            <port id="re3.2" x="172.17325" y="99.17254"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re6">
-            <bbox w="10.0" h="10.0" x="85.53198" y="203.5798"/>
-            <port id="re6.1" x="80.53198" y="208.5798"/>
-            <port id="re6.2" x="100.53198" y="208.5798"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re14">
-            <bbox w="10.0" h="10.0" x="389.0" y="57.0"/>
-            <port id="re14.1" x="384.0" y="62.0"/>
-            <port id="re14.2" x="404.0" y="62.0"/>
-        </glyph>
-        <glyph class="association" orientation="horizontal" id="re24">
-            <bbox w="10.0" h="10.0" x="533.4971" y="192.00658"/>
-            <port id="re24.1" x="548.4971" y="197.00658"/>
-            <port id="re24.2" x="528.4971" y="197.00658"/>
-        </glyph>
-        <glyph class="process" orientation="vertical" id="re9">
-            <bbox w="10.0" h="10.0" x="233.64442" y="183.2463"/>
-            <port id="re9.1" x="238.64442" y="198.2463"/>
-            <port id="re9.2" x="238.64442" y="178.2463"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re20">
-            <bbox w="10.0" h="10.0" x="419.20416" y="152.67212"/>
-            <port id="re20.1" x="434.20416" y="157.67212"/>
-            <port id="re20.2" x="414.20416" y="157.67212"/>
-        </glyph>
-        <glyph class="dissociation" orientation="horizontal" id="re23">
-            <bbox w="10.0" h="10.0" x="410.19495" y="332.42752"/>
-            <port id="re23.1" x="405.19495" y="337.42752"/>
-            <port id="re23.2" x="425.19495" y="337.42752"/>
-        </glyph>
-        <glyph class="process" orientation="horizontal" id="re19">
-            <bbox w="10.0" h="10.0" x="320.02966" y="134.94789"/>
-            <port id="re19.1" x="315.02966" y="139.94789"/>
-            <port id="re19.2" x="335.02966" y="139.94789"/>
-        </glyph>
-        <arc class="consumption" id="arc0" source="sa7" target="re11.1">
-            <start x="266.57144" y="128.0"/>
-            <end x="288.7381" y="113.5"/>
-        </arc>
-        <arc class="production" id="arc1" source="re11.2" target="sa3">
-            <start x="288.7381" y="93.5"/>
-            <end x="310.90475" y="79.0"/>
-        </arc>
-        <arc class="consumption" id="arc2" source="sa8" target="re17.1">
-            <start x="375.66025" y="149.5988"/>
-            <end x="394.33884" y="186.08778"/>
-        </arc>
-        <arc class="production" id="arc3" source="re17.2" target="sa12">
-            <start x="394.33884" y="206.08778"/>
-            <end x="413.01746" y="242.57677"/>
-        </arc>
-        <arc class="consumption" id="arc4" source="csa1" target="re18.1">
-            <start x="372.0" y="268.15872"/>
-            <end x="380.3025" y="260.60532"/>
-        </arc>
-        <arc class="production" id="arc5" source="re18.2" target="sa12">
-            <start x="400.3025" y="260.60532"/>
-            <end x="408.605" y="253.0519"/>
-        </arc>
-        <arc class="consumption" id="arc6" source="sa35" target="re28.1">
-            <start x="1141.5197" y="51.548492"/>
-            <end x="1130.5197" y="121.0"/>
-        </arc>
-        <arc class="production" id="arc7" source="re28.2" target="sa30">
-            <start x="1130.5197" y="141.0"/>
-            <end x="1119.5197" y="210.4515"/>
-        </arc>
-        <arc class="consumption" id="arc8" source="sa34" target="re28.1">
-            <start x="1219.5482" y="134.39795"/>
-            <end x="1130.5197" y="121.0"/>
-        </arc>
-        <arc class="consumption" id="arc9" source="sa33" target="re28.1">
-            <start x="1246.169" y="32.365833"/>
-            <end x="1130.5197" y="121.0"/>
-        </arc>
-        <arc class="production" id="arc10" source="re28.2" target="sa31">
-            <start x="1130.5197" y="141.0"/>
-            <next x="1270.6053" y="190.15187"/>
-            <end x="1236.5973" y="287.59598"/>
-        </arc>
-        <arc class="catalysis" id="arc11" source="sa32" target="re28">
-            <start x="1225.7682" y="100.02522"/>
-            <end x="1135.4724" y="131.6857"/>
-        </arc>
-        <arc class="consumption" id="arc12" source="sa4" target="re16.1">
-            <start x="434.8904" y="85.0"/>
-            <end x="417.75552" y="107.50961"/>
-        </arc>
-        <arc class="production" id="arc13" source="re16.2" target="sa8">
-            <start x="397.75552" y="107.50961"/>
-            <end x="380.62067" y="130.01923"/>
-        </arc>
-        <arc class="consumption" id="arc14" source="sa11" target="re7.1">
-            <start x="163.23923" y="225.34691"/>
-            <end x="207.11961" y="247.0178"/>
-        </arc>
-        <arc class="production" id="arc15" source="re7.2" target="csa1">
-            <start x="227.11961" y="247.0178"/>
-            <end x="271.0" y="268.6887"/>
-        </arc>
-        <arc class="consumption" id="arc16" source="sa7" target="re12.1">
-            <start x="282.92737" y="131.66829"/>
-            <end x="342.82986" y="105.20034"/>
-        </arc>
-        <arc class="production" id="arc17" source="re12.2" target="sa4">
-            <start x="362.82986" y="105.20034"/>
-            <end x="422.7324" y="78.73239"/>
-        </arc>
-        <arc class="consumption" id="arc18" source="sa4" target="re15.1">
-            <start x="464.29913" y="85.0"/>
-            <end x="475.50095" y="117.277794"/>
-        </arc>
-        <arc class="production" id="arc19" source="re15.2" target="sa9">
-            <start x="475.50095" y="137.2778"/>
-            <end x="486.70276" y="169.55559"/>
-        </arc>
-        <arc class="consumption" id="arc20" source="sa10" target="re1.1">
-            <start x="41.07143" y="186.0"/>
-            <end x="42.589287" y="174.75"/>
-        </arc>
-        <arc class="production" id="arc21" source="re1.2" target="sa5">
-            <start x="42.589287" y="154.75"/>
-            <end x="44.107143" y="143.5"/>
-        </arc>
-        <arc class="consumption" id="arc22" source="sa5" target="re2.1">
-            <start x="45.833332" y="118.5"/>
-            <end x="48.25" y="92.25"/>
-        </arc>
-        <arc class="production" id="arc23" source="re2.2" target="sa1">
-            <start x="48.25" y="72.25"/>
-            <end x="50.666668" y="46.0"/>
-        </arc>
-        <arc class="consumption" id="arc24" source="sa2" target="re13.1">
-            <start x="245.0" y="65.09677"/>
-            <end x="257.0" y="63.5"/>
-        </arc>
-        <arc class="production" id="arc25" source="re13.2" target="sa3">
-            <start x="277.0" y="63.5"/>
-            <end x="289.0" y="61.903225"/>
-        </arc>
-        <arc class="consumption" id="arc26" source="sa11" target="re8.1">
-            <start x="141.01309" y="203.50523"/>
-            <end x="142.99979" y="189.00262"/>
-        </arc>
-        <arc class="production" id="arc27" source="re8.2" target="sa6">
-            <start x="142.99979" y="169.00262"/>
-            <end x="144.98648" y="154.5"/>
-        </arc>
-        <arc class="consumption" id="arc28" source="sa6" target="re10.1">
-            <start x="180.03629" y="142.3181"/>
-            <end x="186.68292" y="142.47368"/>
-        </arc>
-        <arc class="production" id="arc29" source="re10.2" target="sa7">
-            <start x="206.68292" y="142.47368"/>
-            <end x="213.32956" y="142.62924"/>
-        </arc>
-        <arc class="consumption" id="arc30" source="sa1" target="re5.1">
-            <start x="92.0" y="36.980392"/>
-            <end x="118.5" y="47.0"/>
-        </arc>
-        <arc class="production" id="arc31" source="re5.2" target="sa2">
-            <start x="138.5" y="47.0"/>
-            <end x="165.0" y="57.019608"/>
-        </arc>
-        <arc class="consumption" id="arc33" source="sa22" target="re26.1">
-            <start x="792.0" y="404.0"/>
-            <next x="868.3333" y="378.0"/>
-            <end x="890.0" y="378.0"/>
-        </arc>
-        <arc class="production" id="arc34" source="re26.2" target="sa23">
-            <start x="910.0" y="378.0"/>
-            <next x="931.6667" y="378.0"/>
-            <end x="918.0" y="447.0"/>
-        </arc>
-        <arc class="consumption" id="arc35" source="sa24" target="re26.1">
-            <start x="884.0" y="334.0"/>
-            <end x="890.0" y="378.0"/>
-        </arc>
-        <arc class="production" id="arc36" source="re26.2" target="sa25">
-            <start x="910.0" y="378.0"/>
-            <end x="994.0" y="296.0"/>
-        </arc>
-        <arc class="consumption" id="arc37" source="sa26" target="re27.1">
-            <start x="736.0" y="62.0"/>
-            <end x="878.3333" y="67.0"/>
-        </arc>
-        <arc class="production" id="arc38" source="re27.2" target="sa27">
-            <start x="898.3333" y="67.0"/>
-            <next x="1040.6666" y="72.0"/>
-            <next x="1036.7448" y="161.82878"/>
-            <end x="695.0" y="259.0"/>
-        </arc>
-        <arc class="consumption" id="arc39" source="sa28" target="re27.1">
-            <start x="718.0" y="157.0"/>
-            <end x="878.3333" y="67.0"/>
-        </arc>
-        <arc class="production" id="arc40" source="re27.2" target="sa29">
-            <start x="898.3333" y="67.0"/>
-            <end x="854.0" y="159.0"/>
-        </arc>
-        <arc class="consumption" id="arc41" source="sa5" target="re4.1">
-            <start x="75.73715" y="134.34761"/>
-            <end x="82.15974" y="136.13622"/>
-        </arc>
-        <arc class="production" id="arc42" source="re4.2" target="sa6">
-            <start x="102.15974" y="136.13622"/>
-            <end x="108.58233" y="137.9248"/>
-        </arc>
-        <arc class="consumption" id="arc43" source="sa14" target="re21.1">
-            <start x="129.0" y="269.98535"/>
-            <next x="217.38571" y="271.46146"/>
-            <end x="218.08105" y="291.73074"/>
-        </arc>
-        <arc class="production" id="arc44" source="re21.2" target="sa15">
-            <start x="218.08105" y="311.73074"/>
-            <end x="218.7764" y="332.0"/>
-        </arc>
-        <arc class="consumption" id="arc45" source="sa30" target="re29.1">
-            <start x="1065.944" y="210.4515"/>
-            <end x="1076.944" y="141.0"/>
-        </arc>
-        <arc class="production" id="arc46" source="re29.2" target="sa35">
-            <start x="1076.944" y="121.0"/>
-            <end x="1087.944" y="51.548492"/>
-        </arc>
-        <arc class="catalysis" id="arc47" source="sa32" target="re29">
-            <start x="1225.7682" y="95.938614"/>
-            <end x="1081.8967" y="131.6857"/>
-        </arc>
-        <arc class="consumption" id="arc48" source="sa6" target="re3.1">
-            <start x="155.96622" y="129.5"/>
-            <end x="172.17325" y="119.17254"/>
-        </arc>
-        <arc class="production" id="arc49" source="re3.2" target="sa2">
-            <start x="172.17325" y="99.17254"/>
-            <end x="188.38028" y="88.84507"/>
-        </arc>
-        <arc class="consumption" id="arc50" source="sa10" target="re6.1">
-            <start x="73.333336" y="206.0"/>
-            <end x="80.53198" y="208.5798"/>
-        </arc>
-        <arc class="production" id="arc51" source="re6.2" target="sa11">
-            <start x="100.53198" y="208.5798"/>
-            <end x="107.73063" y="211.15959"/>
-        </arc>
-        <arc class="consumption" id="arc52" source="sa3" target="re14.1">
-            <start x="369.0" y="60.846153"/>
-            <end x="384.0" y="62.0"/>
-        </arc>
-        <arc class="production" id="arc53" source="re14.2" target="sa4">
-            <start x="404.0" y="62.0"/>
-            <end x="419.0" y="63.153847"/>
-        </arc>
-        <arc class="consumption" id="arc54" source="sa4" target="re24.1">
-            <start x="483.0" y="84.29764"/>
-            <next x="533.8362" y="125.173386"/>
-            <next x="570.5932" y="141.9997"/>
-            <next x="599.0" y="233.5"/>
-            <end x="548.4971" y="197.00658"/>
-        </arc>
-        <arc class="consumption" id="arc55" source="csa1" target="re24.1">
-            <start x="372.0" y="278.9"/>
-            <next x="599.0" y="233.5"/>
-            <end x="548.4971" y="197.00658"/>
-        </arc>
-        <arc class="production" id="arc56" source="re24.2" target="sa9">
-            <start x="528.4971" y="197.00658"/>
-            <next x="534.1903" y="223.71376"/>
-            <end x="502.3853" y="193.69121"/>
-        </arc>
-        <arc class="consumption" id="arc57" source="csa1" target="re9.1">
-            <start x="321.85187" y="207.0"/>
-            <next x="321.9271" y="189.47023"/>
-            <next x="229.048" y="218.4926"/>
-            <end x="238.64442" y="198.2463"/>
-        </arc>
-        <arc class="production" id="arc58" source="re9.2" target="sa7">
-            <start x="238.64442" y="178.2463"/>
-            <end x="248.24086" y="158.0"/>
-        </arc>
-        <arc class="consumption" id="arc59" source="sa9" target="re20.1">
-            <start x="465.68408" y="173.00925"/>
-            <end x="434.20416" y="157.67212"/>
-        </arc>
-        <arc class="production" id="arc60" source="re20.2" target="sa8">
-            <start x="414.20416" y="157.67212"/>
-            <end x="382.72424" y="142.335"/>
-        </arc>
-        <arc class="consumption" id="arc61" source="csa1" target="re23.1">
-            <start x="372.0" y="315.10162"/>
-            <end x="405.19495" y="337.42752"/>
-        </arc>
-        <arc class="production" id="arc62" source="re23.2" target="sa8">
-            <start x="425.19495" y="337.42752"/>
-            <next x="543.75" y="362.875"/>
-            <next x="508.0535" y="279.95892"/>
-            <end x="379.6821" y="146.99284"/>
-        </arc>
-        <arc class="production" id="arc63" source="re23.2" target="sa7">
-            <start x="425.19495" y="337.42752"/>
-            <next x="543.75" y="362.875"/>
-            <next x="546.6153" y="307.94925"/>
-            <next x="449.84348" y="307.88464"/>
-            <end x="270.90738" y="158.0"/>
-        </arc>
-        <arc class="consumption" id="arc64" source="sa7" target="re19.1">
-            <start x="291.5481" y="141.36661"/>
-            <end x="315.02966" y="139.94789"/>
-        </arc>
-        <arc class="production" id="arc65" source="re19.2" target="sa8">
-            <start x="335.02966" y="139.94789"/>
-            <end x="358.5112" y="138.52919"/>
-        </arc>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/xmlNodeTestExamples/nested_complex.sbgn b/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/xmlNodeTestExamples/nested_complex.sbgn
deleted file mode 100644
index 5312162e5fe88682dbbe033571155630c23214ee..0000000000000000000000000000000000000000
--- a/converter-SBGNML/bin/testFiles/sbgnmlExporterTestFiles/fromCellDesigner/xmlNodeTestExamples/nested_complex.sbgn
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<sbgn xmlns="http://sbgn.org/libsbgn/0.2">
-    <map language="process description">
-        <glyph class="complex" id="csa2">
-            <label text="s2"/>
-            <bbox w="100.0" h="120.0" x="194.0" y="29.0"/>
-            <glyph class="macromolecule" id="sa1">
-                <label text="s7"/>
-                <bbox w="80.0" h="40.0" x="203.0" y="39.0"/>
-            </glyph>
-            <glyph class="macromolecule" id="sa2">
-                <label text="s8"/>
-                <bbox w="80.0" h="40.0" x="204.0" y="94.0"/>
-            </glyph>
-        </glyph>
-        <glyph class="complex" id="csa6">
-            <label text="s6"/>
-            <bbox w="178.0" h="195.0" x="329.0" y="22.0"/>
-            <glyph class="complex" id="csa5">
-                <label text="s5"/>
-                <bbox w="100.0" h="120.0" x="341.0" y="76.0"/>
-                <glyph class="macromolecule" id="sa4">
-                    <label text="s10"/>
-                    <bbox w="80.0" h="40.0" x="347.0" y="87.0"/>
-                </glyph>
-                <glyph class="macromolecule" id="sa5">
-                    <label text="s11"/>
-                    <bbox w="80.0" h="40.0" x="350.0" y="139.0"/>
-                    <glyph class="unit of information" id="sa5uoi">
-                        <label text="ct:truncatedProtein"/>
-                        <bbox w="60.0" h="12.0" x="360.0" y="133.0"/>
-                    </glyph>
-                </glyph>
-            </glyph>
-            <glyph class="complex" id="csa4">
-                <label text="s4"/>
-                <bbox w="56.0" h="68.0" x="445.0" y="35.0"/>
-            </glyph>
-            <glyph class="nucleic acid feature" id="sa6">
-                <label text="s12"/>
-                <bbox w="70.0" h="25.0" x="339.0" y="35.5"/>
-                <glyph class="unit of information" id="sa6uoi">
-                    <label text="ct:gene"/>
-                    <bbox w="50.0" h="12.0" x="349.0" y="29.5"/>
-                </glyph>
-            </glyph>
-        </glyph>
-        <glyph class="complex" id="csa1">
-            <label text="s1"/>
-            <bbox w="100.0" h="120.0" x="49.0" y="33.0"/>
-            <glyph class="complex" id="csa3">
-                <label text="s3"/>
-                <bbox w="46.0" h="41.0" x="59.0" y="44.0"/>
-            </glyph>
-            <glyph class="simple chemical" id="sa3">
-                <label text="s9"/>
-                <bbox w="70.0" h="25.0" x="56.0" y="101.5"/>
-            </glyph>
-        </glyph>
-    </map>
-</sbgn>
diff --git a/converter-SBGNML/install.xml b/converter-SBGNML/install.xml
index 04568e140b00a82efb5e1c40cbf38e50dc143836..e0505e2398bf0779bf8bc50947f1b5834bfe21ff 100644
--- a/converter-SBGNML/install.xml
+++ b/converter-SBGNML/install.xml
@@ -17,8 +17,8 @@
       </excludes>
 			<unpackOptions>
       	<excludes>
-        	<exclude>**/log4j.xml</exclude>
-          <exclude>**/log4j.properties</exclude>
+        	<exclude>**/log4j2.xml</exclude>
+          <exclude>**/log4j2.properties</exclude>
 				</excludes>
       </unpackOptions>      
     </dependencySet>
@@ -26,9 +26,9 @@
   
   <files>
   	<file>
-    	<source>src/main/resources/log4j.properties</source>
+    	<source>src/main/resources/log4j2.properties</source>
 			<outputDirectory>.</outputDirectory>
-      <destName>log4j.properties</destName>
+      <destName>log4j2.properties</destName>
 		</file>
 	</files>
 </assembly>
\ No newline at end of file
diff --git a/converter-SBGNML/pom.xml b/converter-SBGNML/pom.xml
index be13fd35bc77adfffb74345f17c3420ec740d86d..44f829a127997c4d868458f25101ea51e06f8f2d 100644
--- a/converter-SBGNML/pom.xml
+++ b/converter-SBGNML/pom.xml
@@ -91,6 +91,24 @@
 			<version>${libsbgn.version}</version>
 		</dependency>
 
+		<!-- Log4J2 -->
+		<dependency>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-api</artifactId>
+			<version>${log4j2.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-core</artifactId>
+			<version>${log4j2.version}</version>
+		</dependency>
+		<!-- Spring uses commons-logging, so: https://stackoverflow.com/a/41475146/1127920 -->
+		<dependency>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-jcl</artifactId>
+			<version>${log4j-jcl-version}</version>
+		</dependency>
+
 		<!-- Commons CLI by Apache -->
 		<dependency>
 			<groupId>commons-cli</groupId>
diff --git a/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlConverter.java b/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlConverter.java
index bca93fddd2fe68141d3d6443bec826790b94c379..0cfeba567763cb3c26503cff2ec90e461de6c456 100644
--- a/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlConverter.java
+++ b/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlConverter.java
@@ -8,20 +8,18 @@ import javax.xml.bind.JAXBException;
 
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.text.StringEscapeUtils;
-import org.apache.log4j.Logger;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.core.LogEvent;
 import org.sbgn.SbgnUtil;
 import org.sbgn.bindings.Sbgn;
 
-import lcsb.mapviewer.common.EventStorageLoggerAppender;
 import lcsb.mapviewer.common.MimeType;
+import lcsb.mapviewer.common.MinervaLoggerAppender;
+import lcsb.mapviewer.converter.Converter;
 import lcsb.mapviewer.converter.ConverterException;
 import lcsb.mapviewer.converter.ConverterParams;
-import lcsb.mapviewer.converter.Converter;
 import lcsb.mapviewer.converter.InvalidInputDataExecption;
 import lcsb.mapviewer.model.map.model.Model;
 
-
 public class SbgnmlXmlConverter extends Converter {
 
   @Override
@@ -40,23 +38,20 @@ public class SbgnmlXmlConverter extends Converter {
 
   @Override
   public String model2String(Model model) throws ConverterException {
-    EventStorageLoggerAppender appender = new EventStorageLoggerAppender();
+    MinervaLoggerAppender appender = MinervaLoggerAppender.createAppender();
     Sbgn exportedData;
     StringBuilder notes = new StringBuilder();
     try {
-      Logger.getRootLogger().addAppender(appender);
       SbgnmlXmlExporter exporter = new SbgnmlXmlExporter();
       exportedData = exporter.toSbgnml(model);
       if (!appender.getWarnings().isEmpty()) {
-        for (LoggingEvent event : appender.getWarnings()) {
-          if (event.getMessage() instanceof String) {
-            notes.append("\n");
-            notes.append((String) event.getMessage());
-          }
+        for (LogEvent event : appender.getWarnings()) {
+          notes.append("\n");
+          notes.append(event.getMessage().getFormattedMessage());
         }
       }
     } finally {
-      Logger.getRootLogger().removeAppender(appender);
+      MinervaLoggerAppender.unregisterLogEventStorage(appender);
     }
     try {
       File tempFile = File.createTempFile("sbgnmlExportTempFile", ".tmp");
@@ -78,6 +73,7 @@ public class SbgnmlXmlConverter extends Converter {
       throw new ConverterException(e);
     }
   }
+
   @Override
   public String getCommonName() {
     return "SBGN-ML";
diff --git a/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlExporter.java b/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlExporter.java
index e42c08201cb52bd7f9799fa5a701f2e63dbdbe79..a9866f09a9a144d9fa7111e0395417e1738bf3d6 100644
--- a/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlExporter.java
+++ b/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlExporter.java
@@ -11,7 +11,7 @@ import java.util.stream.Collectors;
 
 import org.apache.commons.lang3.RandomStringUtils;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.sbgn.ArcClazz;
 import org.sbgn.GlyphClazz;
 import org.sbgn.Language;
@@ -91,7 +91,7 @@ public class SbgnmlXmlExporter {
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(SbgnmlXmlExporter.class.getName());
+  private Logger logger = LogManager.getLogger(SbgnmlXmlExporter.class.getName());
 
   /**
    * Counter of the arcs parsed so far, used in generating arc's id.
diff --git a/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlParser.java b/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlParser.java
index 2161a4a2ea516b6ce42cd19bba323053ee21a672..d757847507a1d64bf365f99670cd5018794c1b86 100644
--- a/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlParser.java
+++ b/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlParser.java
@@ -7,7 +7,7 @@ import java.io.File;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.sbgn.ArcClazz;
 import org.sbgn.GlyphClazz;
 import org.sbgn.SbgnUtil;
@@ -84,7 +84,7 @@ public class SbgnmlXmlParser {
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(SbgnmlXmlParser.class.getName());
+  private Logger logger = LogManager.getLogger(SbgnmlXmlParser.class.getName());
 
   /**
    * List of all processes to be parsed.
diff --git a/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/console/SbgnmlConsoleConverter.java b/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/console/SbgnmlConsoleConverter.java
index 8ac8331b5b57f5a8a00cfd5754dbc47a1d739128..2c0a7292a87f56544be1dda88a7f5ddcba3e5581 100644
--- a/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/console/SbgnmlConsoleConverter.java
+++ b/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/console/SbgnmlConsoleConverter.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.converter.model.sbgnml.console;
 import java.io.FileNotFoundException;
 
 import lcsb.mapviewer.converter.ConverterException;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.converter.ConverterParams;
 import lcsb.mapviewer.converter.Converter;
@@ -25,7 +25,7 @@ public class SbgnmlConsoleConverter {
 	/**
 	 * Default class logger.
 	 */
-	private final Logger		 logger	= Logger.getLogger(SbgnmlConsoleConverter.class.getName());
+	private final Logger		 logger	= LogManager.getLogger(SbgnmlConsoleConverter.class.getName());
 
 	/**
 	 * Options from the input.
diff --git a/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/console/SbgnmlRunOptions.java b/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/console/SbgnmlRunOptions.java
index 3889115cfe6ceb49b14b23a68b2872ea9ce92318..31dc6a716ebff8abeb4e9be36a906ebc068e109c 100644
--- a/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/console/SbgnmlRunOptions.java
+++ b/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/console/SbgnmlRunOptions.java
@@ -8,7 +8,7 @@ import org.apache.commons.cli.Option;
 import org.apache.commons.cli.OptionBuilder;
 import org.apache.commons.cli.Options;
 import org.apache.commons.cli.ParseException;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * This class is used to parse and store input data for {@link SbgnmlConsoleConverter}
@@ -22,7 +22,7 @@ public class SbgnmlRunOptions {
 	/**
 	 * Default class logger.
 	 */
-	private final Logger logger = Logger.getLogger(SbgnmlRunOptions.class.getName());
+	private final Logger logger = LogManager.getLogger(SbgnmlRunOptions.class.getName());
 
 	/**
 	 * What is the abbreviation of help option.
diff --git a/converter-SBGNML/src/main/resources/log4j.properties b/converter-SBGNML/src/main/resources/log4j.properties
deleted file mode 100644
index e2e441d6b2ebef0295c3d5303f3f26163abe7c18..0000000000000000000000000000000000000000
--- a/converter-SBGNML/src/main/resources/log4j.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-#Set root logger 's level and its appender to an appender called CONSOLE which is defined below.
-log4j.rootLogger=warn, CONSOLE
-
-#Set the behavior of the CONSOLE appender 
-log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
-log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
-#log4j.appender.CONSOLE.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-log4j.appender.CONSOLE.layout.ConversionPattern=%m%n
-
-log4j.logger.org.springframework=warn
-log4j.logger.org.hibernate=warn
-log4j.logger.lcsb=warn
\ No newline at end of file
diff --git a/converter-SBGNML/src/main/resources/log4j2.properties b/converter-SBGNML/src/main/resources/log4j2.properties
new file mode 100644
index 0000000000000000000000000000000000000000..b5eaa32682d177bf266eb6ed4831b4e8f4b9135d
--- /dev/null
+++ b/converter-SBGNML/src/main/resources/log4j2.properties
@@ -0,0 +1,25 @@
+rootLogger.level = INFO
+appenders = console
+
+appender.console.type = Console
+appender.console.name = STDOUT
+appender.console.layout.type = PatternLayout
+appender.console.layout.pattern = %d %5p [%t] (%F:%L) - %m%n
+
+rootLogger.appenderRefs = console
+
+rootLogger.appenderRef.console.ref = STDOUT
+
+logger.minerva.name = lcsb
+logger.minerva.level = debug
+logger.minerva-persist.name = lcsb.mapviewer.persist.DbUtils
+logger.minerva-persist.level = info
+logger.minerva-cache.name = lcsb.mapviewer.annotation.cache
+logger.minerva-cache.level = info
+
+
+logger.springframework.name = org.springframework
+logger.springframework.level = warn
+
+logger.hibernate.name = org.hibernate
+logger.hibernate.level = warn
diff --git a/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/CellDesigner2SbgnmlConversionTest.java b/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/CellDesigner2SbgnmlConversionTest.java
index 37586a9a452bb211adf72fc388124bd6e836e1d8..68901bd02dc20270de510a8a0e46e12c001dc9f1 100644
--- a/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/CellDesigner2SbgnmlConversionTest.java
+++ b/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/CellDesigner2SbgnmlConversionTest.java
@@ -9,7 +9,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 
 import org.apache.commons.io.FileUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
@@ -23,7 +23,7 @@ import lcsb.mapviewer.model.map.model.Model;
 @RunWith(Parameterized.class)
 public class CellDesigner2SbgnmlConversionTest {
 
-	private static Logger	logger = Logger.getLogger(CellDesigner2SbgnmlConversionTest.class.getName());
+	private static Logger	logger = LogManager.getLogger(CellDesigner2SbgnmlConversionTest.class.getName());
 
 	private Path					testPath;
 
diff --git a/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/CellDesignerToSbgnTest.java b/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/CellDesignerToSbgnTest.java
index eba8dd451e927603064cee5c608dd2aba1401ea9..b2b906eea4777ca54aa48b970f749d9b33f0859c 100644
--- a/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/CellDesignerToSbgnTest.java
+++ b/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/CellDesignerToSbgnTest.java
@@ -7,7 +7,7 @@ import java.io.File;
 import java.io.FileInputStream;
 
 import org.apache.commons.io.IOUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -22,7 +22,7 @@ import lcsb.mapviewer.model.map.species.Protein;
 import lcsb.mapviewer.modelutils.map.ElementUtils;
 
 public class CellDesignerToSbgnTest {
-  Logger logger = Logger.getLogger(CellDesignerToSbgnTest.class);
+  Logger logger = LogManager.getLogger(CellDesignerToSbgnTest.class);
   ElementUtils eu = new ElementUtils();
 
   @Before
diff --git a/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/DbSerializationTest.java b/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/DbSerializationTest.java
index 606d697d655e1556e3131f1b7889b1ed689e3cd9..a913509398be10d8e1417fae0333fae0604434df 100644
--- a/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/DbSerializationTest.java
+++ b/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/DbSerializationTest.java
@@ -4,7 +4,7 @@ import static org.junit.Assert.assertEquals;
 
 import java.io.File;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -29,7 +29,7 @@ public class DbSerializationTest {
   @Autowired
   DbUtils dbUtils;
 
-  Logger logger = Logger.getLogger(DbSerializationTest.class.getName());
+  Logger logger = LogManager.getLogger(DbSerializationTest.class.getName());
 
   private void makeDbSerializationTest(String filePath) throws Exception {
     SbgnmlXmlParser parser = new SbgnmlXmlParser();
diff --git a/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlExporterTest.java b/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlExporterTest.java
index 614f751351fd9ffa63c11215f808f4f45a1ef9fd..5cc4850be5dbf279a99ccbc162e1beb35b7562b1 100644
--- a/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlExporterTest.java
+++ b/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlExporterTest.java
@@ -7,7 +7,7 @@ import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.Collection;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
@@ -20,7 +20,7 @@ import lcsb.mapviewer.model.map.model.Model;
 @RunWith(Parameterized.class)
 public class SbgnmlXmlExporterTest {
 
-	Logger				 logger	= Logger.getLogger(SbgnmlXmlExporterTest.class.getName());
+	Logger				 logger	= LogManager.getLogger(SbgnmlXmlExporterTest.class.getName());
 
 	private String testName;
 
diff --git a/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlParserTest.java b/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlParserTest.java
index 71a77b6fce9474573015961415b50c1649daf4be..bc9241ac0ea1ddb2b1e275a3102e75f81a150b81 100644
--- a/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlParserTest.java
+++ b/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlParserTest.java
@@ -15,7 +15,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 
 import org.apache.commons.io.FileUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
@@ -33,7 +33,7 @@ import lcsb.mapviewer.model.map.model.ModelComparator;
 @RunWith(Parameterized.class)
 public class SbgnmlXmlParserTest {
 
-  Logger logger = Logger.getLogger(SbgnmlXmlParserTest.class.getName());
+  Logger logger = LogManager.getLogger(SbgnmlXmlParserTest.class.getName());
 
   private Path filePath;
 
diff --git a/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlParserTest2.java b/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlParserTest2.java
index 1c8a70fb1271e434b0b036a2bf6b7033c878c3f9..128ea6c0c3e23dba91c00354fabe900c69c28103 100644
--- a/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlParserTest2.java
+++ b/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlParserTest2.java
@@ -6,7 +6,7 @@ import static org.junit.Assert.assertTrue;
 
 import java.awt.geom.Point2D;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 
 import lcsb.mapviewer.common.Configuration;
@@ -20,7 +20,7 @@ import lcsb.mapviewer.model.map.species.field.Residue;
 
 public class SbgnmlXmlParserTest2 {
 
-  Logger logger = Logger.getLogger(SbgnmlXmlParserTest2.class.getName());
+  Logger logger = LogManager.getLogger(SbgnmlXmlParserTest2.class.getName());
 
   @Test
   public void testAdjustModificationCoordinates() throws Exception {
diff --git a/converter-SBGNML/src/test/resources/log4j.properties b/converter-SBGNML/src/test/resources/log4j.properties
deleted file mode 100644
index c113126ca9273d7b83eaf02f15494f05d498fe46..0000000000000000000000000000000000000000
--- a/converter-SBGNML/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,45 +0,0 @@
-#Set root logger 's level and its appender to an appender called CONSOLE which is defined below.
-log4j.rootLogger=info, CONSOLE
-
-#Set the behavior of the CONSOLE appender 
-log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
-log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
-log4j.appender.CONSOLE.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-#log4j.appender.CONSOLE.layout.ConversionPattern=%m%n
-
-
-#Set the behavior of the FILE appender 
-log4j.appender.R=org.apache.log4j.FileAppender
-log4j.appender.R.File=${catalina.home}/logs/MapViewer.log
-log4j.appender.R.layout=org.apache.log4j.PatternLayout
-log4j.appender.R.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-
-
-log4j.logger.org.springframework=warn
-log4j.logger.org.hibernate=warn
-log4j.logger.lcsb=debug
-
-log4j.logger.lcsb.mapviewer.model.map.species.ElementComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.SpeciesComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.SimpleMoleculeComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.ProteinComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.AssociatedElementComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.ComplexSpeciesComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.AssociatedElementComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.PhenotypeComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.fields.AssociatedElementComparator=info
-
-log4j.logger.lcsb.mapviewer.model.map.layout.alias.SpeciesAliasComparator=info
-log4j.logger.lcsb.mapviewer.model.map.layout.alias.AliasComparator=info
-log4j.logger.lcsb.mapviewer.model.map.layout.alias.ComplexAliasComparator=info
-log4j.logger.lcsb.mapviewer.model.map.layout.alias.CompartmentAliasComparator=info
-
-log4j.logger.lcsb.mapviewer.model.map.reaction.ReactionNodeComparator=info
-log4j.logger.lcsb.mapviewer.model.map.reaction.ReactionComparator=info
-log4j.logger.lcsb.mapviewer.model.map.reaction.NodeOperatorComparator=info
-log4j.logger.lcsb.mapviewer.model.map.reaction.AbstractNodeComparator=info
-
-log4j.logger.lcsb.mapviewer.model.map.model.ModelComparator=info
-
-log4j.logger.lcsb.mapviewer.common.comparator=info
-log4j.logger.lcsb.mapviewer.model.graphics.PolylineDataComparator=info
\ No newline at end of file
diff --git a/converter-SBGNML/src/test/resources/log4j2.properties b/converter-SBGNML/src/test/resources/log4j2.properties
new file mode 100644
index 0000000000000000000000000000000000000000..b5eaa32682d177bf266eb6ed4831b4e8f4b9135d
--- /dev/null
+++ b/converter-SBGNML/src/test/resources/log4j2.properties
@@ -0,0 +1,25 @@
+rootLogger.level = INFO
+appenders = console
+
+appender.console.type = Console
+appender.console.name = STDOUT
+appender.console.layout.type = PatternLayout
+appender.console.layout.pattern = %d %5p [%t] (%F:%L) - %m%n
+
+rootLogger.appenderRefs = console
+
+rootLogger.appenderRef.console.ref = STDOUT
+
+logger.minerva.name = lcsb
+logger.minerva.level = debug
+logger.minerva-persist.name = lcsb.mapviewer.persist.DbUtils
+logger.minerva-persist.level = info
+logger.minerva-cache.name = lcsb.mapviewer.annotation.cache
+logger.minerva-cache.level = info
+
+
+logger.springframework.name = org.springframework
+logger.springframework.level = warn
+
+logger.hibernate.name = org.hibernate
+logger.hibernate.level = warn
diff --git a/converter-graphics/pom.xml b/converter-graphics/pom.xml
index be30f8933e8156f190e19921d5d31a6ae8908933..58ee2f2f8a84e0f47c7841d90eb21050e9110780 100644
--- a/converter-graphics/pom.xml
+++ b/converter-graphics/pom.xml
@@ -27,11 +27,16 @@
 			<version>1.0</version>
 		</dependency>
 
-		<!-- Log4J -->
+		<!-- Log4J2-->
 		<dependency>
-			<groupId>log4j</groupId>
-			<artifactId>log4j</artifactId>
-			<version>${log4j.version}</version>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-api</artifactId>
+			<version>${log4j2.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-core</artifactId>
+			<version>${log4j2.version}</version>
 		</dependency>
 
 		<!-- Library used for generating svg -->
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/AbstractImageGenerator.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/AbstractImageGenerator.java
index 002935df68d27758b156b63c358b27ad9c64c726..6e402ee3ecdbbc3822a31fcf58e2d3007342b406 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/AbstractImageGenerator.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/AbstractImageGenerator.java
@@ -11,7 +11,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.commands.ColorExtractor;
 import lcsb.mapviewer.commands.SemanticZoomLevelMatcher;
@@ -132,7 +132,7 @@ public abstract class AbstractImageGenerator {
     /**
      * Default class logger.
      */
-    private final Logger logger = Logger.getLogger(Params.class);
+    private final Logger logger = LogManager.getLogger(Params.class);
 
     /**
      * Scale at which we want to visualize the map. The default value is 1.0 (no
@@ -614,7 +614,7 @@ public abstract class AbstractImageGenerator {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(AbstractImageGenerator.class);
+  private static Logger logger = LogManager.getLogger(AbstractImageGenerator.class);
 
   /**
    * Graphics object which allows to draw objects.
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/ImageGenerators.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/ImageGenerators.java
index 64d7b409b18ac86d48c4ea672cf52d487ed75015..1380ea0939d3a7c623af8b2b8ce3547cd546361b 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/ImageGenerators.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/ImageGenerators.java
@@ -6,7 +6,7 @@ import java.lang.reflect.InvocationTargetException;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.MimeType;
 import lcsb.mapviewer.common.Pair;
@@ -28,7 +28,7 @@ public class ImageGenerators {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private final Logger																								logger						 = Logger.getLogger(ImageGenerators.class);
+	private final Logger																								logger						 = LogManager.getLogger(ImageGenerators.class);
 	/**
 	 * List of {@link AbstractImageGenerator} classes available in the system.
 	 */
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/MapGenerator.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/MapGenerator.java
index 1071f71e17f5b2ea0ddb77485ee71fea568863b9..5a288dec28ffaf26550579cdcd9d17588e99d306 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/MapGenerator.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/MapGenerator.java
@@ -4,7 +4,7 @@ import java.io.File;
 import java.io.IOException;
 
 import org.apache.commons.io.FileUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Configuration;
 import lcsb.mapviewer.common.IProgressUpdater;
@@ -233,7 +233,7 @@ public class MapGenerator {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(MapGenerator.class.getName());
+  private static Logger logger = LogManager.getLogger(MapGenerator.class.getName());
 
   /**
    * Default tile size. It must be 256px*256px, if different value is chosen then
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/NormalImageGenerator.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/NormalImageGenerator.java
index aa325fef7d3153248d122611681df071f408e182..bae85e5d459ab265cca511289584c5961b5fa184 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/NormalImageGenerator.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/NormalImageGenerator.java
@@ -2,7 +2,7 @@ package lcsb.mapviewer.converter.graphics;
 
 import java.awt.image.BufferedImage;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * Extension of the image generator class that use standard awt implementation
@@ -16,7 +16,7 @@ public abstract class NormalImageGenerator extends AbstractImageGenerator {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private Logger				logger = Logger.getLogger(NormalImageGenerator.class);
+	private Logger				logger = LogManager.getLogger(NormalImageGenerator.class);
 
 	/**
 	 * Buffered image structure used for image generating.
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/PdfFontMapper.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/PdfFontMapper.java
index 773518d7153cb2ff15ab52b36fc822c85a6de47d..0f1b991e9aea4aca2c6cf77b56c676a2512d4705 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/PdfFontMapper.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/PdfFontMapper.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.converter.graphics;
 import java.awt.Font;
 import java.io.IOException;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import com.itextpdf.awt.DefaultFontMapper;
 import com.itextpdf.text.DocumentException;
@@ -12,7 +12,7 @@ import com.itextpdf.text.pdf.BaseFont;
 
 public class PdfFontMapper extends DefaultFontMapper {
 
-  Logger logger = Logger.getLogger(PdfFontMapper.class);
+  Logger logger = LogManager.getLogger(PdfFontMapper.class);
 
   @Override
   public BaseFont awtToPdf(Font font) {
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/PngImageGenerator.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/PngImageGenerator.java
index 59a2601c5a33e7e4316430e8f7c2d3b3eed764e9..2c92508fcdb1ff345ec9adab161ee17fb1470030 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/PngImageGenerator.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/PngImageGenerator.java
@@ -9,7 +9,7 @@ import java.io.OutputStream;
 
 import javax.imageio.ImageIO;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.MimeType;
 
@@ -26,7 +26,7 @@ public class PngImageGenerator extends NormalImageGenerator {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private final Logger logger = Logger.getLogger(PngImageGenerator.class);
+	private final Logger logger = LogManager.getLogger(PngImageGenerator.class);
 
 	/**
 	 * Default constructor. Create an image that is described by params. For more
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/BioEntityConverter.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/BioEntityConverter.java
index 0dd861759ebbcbea498fbb73f27a239f150dc443..558e6f9c71a0452ae19ebfef1fb86959617f4e04 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/BioEntityConverter.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/BioEntityConverter.java
@@ -4,7 +4,7 @@ import java.awt.Graphics2D;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.commands.SemanticZoomLevelMatcher;
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
@@ -39,7 +39,7 @@ public abstract class BioEntityConverter<T extends BioEntity> {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private final Logger logger = Logger.getLogger(BioEntityConverter.class);
+  private final Logger logger = LogManager.getLogger(BioEntityConverter.class);
 
   /**
    * Class that allows to check if element is visible (or transparent) when
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/BioEntityConverterImpl.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/BioEntityConverterImpl.java
index 2153b4333e32168ce51092239f70c94b04ef2a14..e8648ce214843589b107882355b8710363c30fb3 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/BioEntityConverterImpl.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/BioEntityConverterImpl.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.converter.graphics.bioEntity;
 import java.awt.Graphics2D;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.commands.ColorExtractor;
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
@@ -70,7 +70,7 @@ public class BioEntityConverterImpl extends BioEntityConverter<BioEntity> {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger logger = Logger.getLogger(BioEntityConverterImpl.class.getName());
+	private static Logger logger = LogManager.getLogger(BioEntityConverterImpl.class.getName());
 
 	/**
 	 * Returns a converter for given element. If converter doesn't exist then
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/compartment/BottomSquareCompartmentConverter.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/compartment/BottomSquareCompartmentConverter.java
index 49fda869361dfbd4e28bddee5e012d4030e7e992..6e5b24fa099f332607a7875811280402fd15fddb 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/compartment/BottomSquareCompartmentConverter.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/compartment/BottomSquareCompartmentConverter.java
@@ -9,7 +9,7 @@ import java.awt.geom.Line2D;
 import java.awt.geom.Point2D;
 import java.awt.geom.Rectangle2D;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.commands.ColorExtractor;
 import lcsb.mapviewer.converter.graphics.ConverterParams;
@@ -31,7 +31,7 @@ public class BottomSquareCompartmentConverter extends CompartmentConverter<Botto
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger logger = Logger.getLogger(BottomSquareCompartmentConverter.class.getName());
+	private static Logger logger = LogManager.getLogger(BottomSquareCompartmentConverter.class.getName());
 
 	/**
 	 * Default constructor.
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/compartment/CompartmentConverter.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/compartment/CompartmentConverter.java
index 1c0d4c4c126aa73bdbb5a42d34e9d942284d5155..a5bdb92e4bc3f4e903718db3299c5ebac972fe06 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/compartment/CompartmentConverter.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/compartment/CompartmentConverter.java
@@ -6,7 +6,7 @@ import java.awt.Graphics2D;
 import java.awt.geom.Rectangle2D;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.commands.ColorExtractor;
 import lcsb.mapviewer.common.Configuration;
@@ -38,7 +38,7 @@ public abstract class CompartmentConverter<T extends Compartment> extends Elemen
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger					logger										 = Logger.getLogger(CompartmentConverter.class.getName());
+	private static Logger					logger										 = LogManager.getLogger(CompartmentConverter.class.getName());
 
 	/**
 	 * Default font size.
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/compartment/LeftSquareCompartmentConverter.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/compartment/LeftSquareCompartmentConverter.java
index 860079d2f74b2d7fbfd0a70834194181f469f8ca..7ec656b2e1c7241bd2cae07b26f0a9f47d98bdcc 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/compartment/LeftSquareCompartmentConverter.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/compartment/LeftSquareCompartmentConverter.java
@@ -16,7 +16,7 @@ import lcsb.mapviewer.model.graphics.LineType;
 import lcsb.mapviewer.model.map.compartment.LeftSquareCompartment;
 import lcsb.mapviewer.model.map.layout.ColorSchema;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * Class responsible for drawing LeftSquareCompartment on the Graphics2D.
@@ -30,7 +30,7 @@ public class LeftSquareCompartmentConverter extends CompartmentConverter<LeftSqu
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger logger = Logger.getLogger(LeftSquareCompartmentConverter.class.getName());
+	private static Logger logger = LogManager.getLogger(LeftSquareCompartmentConverter.class.getName());
 
 	/**
 	 * Default constructor.
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/compartment/RightSquareCompartmentConverter.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/compartment/RightSquareCompartmentConverter.java
index d9116520e2d3cecc6271a0ecb1b9d8e14946aecc..07cbf554678875b5d07b6ebeb886f14cec2bdb7c 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/compartment/RightSquareCompartmentConverter.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/compartment/RightSquareCompartmentConverter.java
@@ -17,7 +17,7 @@ import lcsb.mapviewer.model.map.compartment.RightSquareCompartment;
 import lcsb.mapviewer.model.map.layout.ColorSchema;
 import lcsb.mapviewer.model.map.species.Species;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * Class responsible for drawing RightSquareCompartment on the Graphics2D.
@@ -31,7 +31,7 @@ public class RightSquareCompartmentConverter extends CompartmentConverter<RightS
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger logger = Logger.getLogger(RightSquareCompartmentConverter.class.getName());
+	private static Logger logger = LogManager.getLogger(RightSquareCompartmentConverter.class.getName());
 
 	/**
 	 * Default constructor.
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/compartment/SquareCompartmentConverter.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/compartment/SquareCompartmentConverter.java
index ab6de2d9a5504f9010c1de06e78d475f4f0d4f4f..28a135e7acc2d980edb0c71e10d0b737b4403832 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/compartment/SquareCompartmentConverter.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/compartment/SquareCompartmentConverter.java
@@ -8,7 +8,7 @@ import java.awt.geom.Area;
 import java.awt.geom.Point2D;
 import java.awt.geom.RoundRectangle2D;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.commands.ColorExtractor;
 import lcsb.mapviewer.converter.graphics.ConverterParams;
@@ -35,7 +35,7 @@ public class SquareCompartmentConverter extends CompartmentConverter<SquareCompa
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger		 logger										 = Logger.getLogger(SquareCompartmentConverter.class.getName());
+	private static Logger		 logger										 = LogManager.getLogger(SquareCompartmentConverter.class.getName());
 
 	/**
 	 * Default constructor.
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/compartment/TopSquareCompartmentConverter.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/compartment/TopSquareCompartmentConverter.java
index a1a53b8b3be44b2ad42e32ddbe0ba5268d3673d3..fb9f79783f4f21899cd53c91e465b98fb0e4da14 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/compartment/TopSquareCompartmentConverter.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/compartment/TopSquareCompartmentConverter.java
@@ -17,7 +17,7 @@ import lcsb.mapviewer.model.map.compartment.TopSquareCompartment;
 import lcsb.mapviewer.model.map.layout.ColorSchema;
 import lcsb.mapviewer.model.map.species.Species;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * Class responsible for drawing TopSquareCompartment on the {@link Graphics2D}.
@@ -31,7 +31,7 @@ public class TopSquareCompartmentConverter extends CompartmentConverter<TopSquar
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger logger = Logger.getLogger(TopSquareCompartmentConverter.class.getName());
+	private static Logger logger = LogManager.getLogger(TopSquareCompartmentConverter.class.getName());
 
 	/**
 	 * Default constructor.
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/AntisenseRnaConverter.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/AntisenseRnaConverter.java
index 3b4b395ac87b1abaffa2069131616149e4f4c3a6..df69b75fdd7f6f56b055b5fde5861394fe9a10ea 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/AntisenseRnaConverter.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/AntisenseRnaConverter.java
@@ -8,7 +8,7 @@ import java.awt.geom.GeneralPath;
 import java.awt.geom.Path2D;
 import java.awt.geom.PathIterator;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.commands.ColorExtractor;
 import lcsb.mapviewer.converter.graphics.ConverterParams;
@@ -30,7 +30,7 @@ public class AntisenseRnaConverter extends SpeciesConverter<AntisenseRna> {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(AntisenseRnaConverter.class.getName());
+  private static Logger logger = LogManager.getLogger(AntisenseRnaConverter.class.getName());
 
   /**
    * Default constructor.
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/ComplexConverter.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/ComplexConverter.java
index f8651b9659f5932f2ed442ca56d4c15e4555b771..7d1ec5191de1638b8ce6b7b6545c366f2881a41e 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/ComplexConverter.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/ComplexConverter.java
@@ -9,7 +9,7 @@ import java.awt.geom.GeneralPath;
 import java.awt.geom.Path2D;
 import java.awt.geom.PathIterator;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.commands.ColorExtractor;
 import lcsb.mapviewer.converter.graphics.ConverterParams;
@@ -43,7 +43,7 @@ public class ComplexConverter extends SpeciesConverter<Complex> {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(ComplexConverter.class);
+  private static Logger logger = LogManager.getLogger(ComplexConverter.class);
 
   /**
    * Default constructor.
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/DegradedConverter.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/DegradedConverter.java
index 6e9372c56b9fbbe902bf21658c1c8eb6af2b7436..3d0c456e88c01d4de4ee72296d3fd3e9fec41804 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/DegradedConverter.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/DegradedConverter.java
@@ -9,7 +9,7 @@ import java.awt.geom.GeneralPath;
 import java.awt.geom.Path2D;
 import java.awt.geom.PathIterator;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.commands.ColorExtractor;
 import lcsb.mapviewer.common.exception.InvalidStateException;
@@ -35,7 +35,7 @@ public class DegradedConverter extends SpeciesConverter<Degraded> {
 	/**
 	 * Default class logger.
 	 */
-	private static Logger		 logger											= Logger.getLogger(DegradedConverter.class.getName());
+	private static Logger		 logger											= LogManager.getLogger(DegradedConverter.class.getName());
 
 	/**
 	 * Default constructor.
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/DrugConverter.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/DrugConverter.java
index f917d41fcefc584a52b0777c7d1a51abfb8c9d8d..b737c0071d80bbde7da9e219c136f6f9555e3fbf 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/DrugConverter.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/DrugConverter.java
@@ -10,7 +10,7 @@ import java.awt.geom.Point2D;
 import java.awt.geom.RoundRectangle2D;
 import java.util.ArrayList;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.commands.ColorExtractor;
 import lcsb.mapviewer.converter.graphics.ConverterParams;
@@ -42,7 +42,7 @@ public class DrugConverter extends SpeciesConverter<Drug> {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger		 logger										 = Logger.getLogger(DrugConverter.class.getName());
+	private static Logger		 logger										 = LogManager.getLogger(DrugConverter.class.getName());
 
 	/**
 	 * Default constructor.
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/GeneConverter.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/GeneConverter.java
index 5f3e6682417ba3c38bfe601b46958cde744c054b..434fd029f59f176918c46466d816c24aa437559b 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/GeneConverter.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/GeneConverter.java
@@ -8,7 +8,7 @@ import java.awt.Stroke;
 import java.awt.geom.AffineTransform;
 import java.awt.geom.PathIterator;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.commands.ColorExtractor;
 import lcsb.mapviewer.converter.graphics.ConverterParams;
@@ -29,7 +29,7 @@ public class GeneConverter extends SpeciesConverter<Gene> {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(GeneConverter.class.getName());
+  private static Logger logger = LogManager.getLogger(GeneConverter.class.getName());
 
   /**
    * Default constructor.
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/IonConverter.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/IonConverter.java
index 0b938b0996af830f811059429017c45041e3492b..c8b7b82220e3c6c8fb41ae59a134352c457331ae 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/IonConverter.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/IonConverter.java
@@ -7,7 +7,7 @@ import java.awt.Stroke;
 import java.awt.geom.Ellipse2D;
 import java.awt.geom.PathIterator;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.commands.ColorExtractor;
 import lcsb.mapviewer.common.exception.InvalidStateException;
@@ -28,7 +28,7 @@ public class IonConverter extends SpeciesConverter<Ion> {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(IonConverter.class.getName());
+  private static Logger logger = LogManager.getLogger(IonConverter.class.getName());
 
   /**
    * Default constructor.
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/PhenotypeConverter.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/PhenotypeConverter.java
index 7cd37307323963793183f61023e3466523de5727..9523b1052e0c9f473d3f49f8d2c5c01fe5ca1b71 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/PhenotypeConverter.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/PhenotypeConverter.java
@@ -8,7 +8,7 @@ import java.awt.geom.GeneralPath;
 import java.awt.geom.Path2D;
 import java.awt.geom.PathIterator;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.commands.ColorExtractor;
 import lcsb.mapviewer.converter.graphics.ConverterParams;
@@ -27,7 +27,7 @@ public class PhenotypeConverter extends SpeciesConverter<Phenotype> {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger logger = Logger.getLogger(PhenotypeConverter.class.getName());
+	private static Logger logger = LogManager.getLogger(PhenotypeConverter.class.getName());
 
 	/**
 	 * Default constructor.
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/ProteinConverter.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/ProteinConverter.java
index 26148f80091ba04c270ca15d925433749ddb76c3..740c279f09afc839363ba15d24fc558fbcdbb6b1 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/ProteinConverter.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/ProteinConverter.java
@@ -13,7 +13,7 @@ import java.awt.geom.Point2D;
 import java.awt.geom.RoundRectangle2D;
 import java.util.ArrayList;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.commands.ColorExtractor;
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
@@ -56,7 +56,7 @@ public class ProteinConverter extends SpeciesConverter<Protein> {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(ProteinConverter.class.getName());
+  private static Logger logger = LogManager.getLogger(ProteinConverter.class.getName());
 
   /**
    * Helps in providing human readable identifiers of elements for logging.
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/RnaConverter.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/RnaConverter.java
index c36bf559ea53d37821fc7e5443b129288da01f50..0d1976a6bd043aec00e0fc2fd94ca364c5f0d460 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/RnaConverter.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/RnaConverter.java
@@ -15,7 +15,7 @@ import java.awt.geom.GeneralPath;
 import java.awt.geom.Path2D;
 import java.awt.geom.PathIterator;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.commands.ColorExtractor;
 import lcsb.mapviewer.converter.graphics.ConverterParams;
@@ -36,7 +36,7 @@ public class RnaConverter extends SpeciesConverter<Rna> {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(RnaConverter.class.getName());
+  private static Logger logger = LogManager.getLogger(RnaConverter.class.getName());
 
   /**
    * Default constructor.
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/SimpleMoleculeConverter.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/SimpleMoleculeConverter.java
index 9fb6eab78dd74d9caaa59463f0b8ae18b1bd3bbe..3f1ef8a8e601554cebcf87146d1c26908788193c 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/SimpleMoleculeConverter.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/SimpleMoleculeConverter.java
@@ -7,7 +7,7 @@ import java.awt.Stroke;
 import java.awt.geom.Ellipse2D;
 import java.awt.geom.PathIterator;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.commands.ColorExtractor;
 import lcsb.mapviewer.common.exception.InvalidStateException;
@@ -28,7 +28,7 @@ public class SimpleMoleculeConverter extends SpeciesConverter<SimpleMolecule> {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(SimpleMoleculeConverter.class.getName());
+  private static Logger logger = LogManager.getLogger(SimpleMoleculeConverter.class.getName());
 
   /**
    * Default constructor.
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/SpeciesConverter.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/SpeciesConverter.java
index d5e130d99f5e5a4d4fa02d86d297a5d0cb07845e..9ca7a39cb712f48cc99155f7bb2d7b65d5a4db62 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/SpeciesConverter.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/SpeciesConverter.java
@@ -12,7 +12,7 @@ import java.awt.geom.Point2D;
 import java.awt.geom.Rectangle2D;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.commands.ColorExtractor;
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
@@ -114,7 +114,7 @@ public abstract class SpeciesConverter<T extends Species> extends ElementConvert
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(SpeciesConverter.class.getName());
+  private static Logger logger = LogManager.getLogger(SpeciesConverter.class.getName());
 
   /**
    * Graphical helper object with line transformation functions.
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/UnknownConverter.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/UnknownConverter.java
index 14e17a446350b08b5d75dfebff9d265ffa909e91..1bd3793542f31481573b026ea2cf819588f2bd91 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/UnknownConverter.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/UnknownConverter.java
@@ -7,7 +7,7 @@ import java.awt.Stroke;
 import java.awt.geom.Ellipse2D;
 import java.awt.geom.PathIterator;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.commands.ColorExtractor;
 import lcsb.mapviewer.common.exception.InvalidStateException;
@@ -30,7 +30,7 @@ public class UnknownConverter extends SpeciesConverter<Unknown> {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(UnknownConverter.class.getName());
+  private static Logger logger = LogManager.getLogger(UnknownConverter.class.getName());
 
   /**
    * Default constructor.
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/reaction/ReactionConverter.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/reaction/ReactionConverter.java
index 910e87eb8e91cd4581c712dfa26fbc5c477a14f7..2f86da192efd01082319ab75d63f76db56cce6f4 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/reaction/ReactionConverter.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/bioEntity/reaction/ReactionConverter.java
@@ -11,7 +11,7 @@ import java.awt.geom.Rectangle2D;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.commands.ColorExtractor;
 import lcsb.mapviewer.common.Pair;
@@ -84,7 +84,7 @@ public class ReactionConverter extends BioEntityConverter<Reaction> {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger				logger							= Logger.getLogger(ReactionConverter.class.getName());
+	private static Logger				logger							= LogManager.getLogger(ReactionConverter.class.getName());
 
 	/**
 	 * Font used for drawing reaction description on the map.
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/geometry/ArrowTransformation.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/geometry/ArrowTransformation.java
index 979a7987ea525326a232dc44fd4bbeaee6cc6539..e7af708f14525c188c52d89b2e86cee8132951c5 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/geometry/ArrowTransformation.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/geometry/ArrowTransformation.java
@@ -11,7 +11,7 @@ import java.awt.geom.Point2D;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Configuration;
 import lcsb.mapviewer.common.geometry.PointTransformation;
@@ -34,7 +34,7 @@ public class ArrowTransformation {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(ArrowTransformation.class.getName());
+  private static Logger logger = LogManager.getLogger(ArrowTransformation.class.getName());
 
   /**
    * Object used to perform transformations on point objects.
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/geometry/FontFinder.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/geometry/FontFinder.java
index 7a70eeee404afcbc7d9e796f026f21a8394e2b5b..07d1aac5b1a4650ec3bc54c4db5b9b1b043fc24d 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/geometry/FontFinder.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/geometry/FontFinder.java
@@ -8,7 +8,7 @@ import java.util.List;
 
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * This is utility class that helps to find optimal font to fit text into
@@ -22,7 +22,7 @@ public final class FontFinder {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger	logger	= Logger.getLogger(FontFinder.class);
+	private static Logger	logger	= LogManager.getLogger(FontFinder.class);
 
 	/**
 	 * Constructor that prevents class from instantiate.
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/layer/LayerConverter.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/layer/LayerConverter.java
index 75f7cc5ab545888984505b0b809325cb9cc2cbeb..aafbe6692997a61dd181587e8ec8e038789e50bf 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/layer/LayerConverter.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/layer/LayerConverter.java
@@ -2,7 +2,7 @@ package lcsb.mapviewer.converter.graphics.layer;
 
 import java.awt.Graphics2D;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.model.graphics.PolylineData;
 import lcsb.mapviewer.model.map.layout.graphics.Layer;
@@ -22,7 +22,7 @@ public class LayerConverter {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(LayerConverter.class.getName());
+  private static Logger logger = LogManager.getLogger(LayerConverter.class.getName());
 
   LayerLineConverter lineConverter;
   LayerRectConverter rectConverter;
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/layer/LayerLineConverter.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/layer/LayerLineConverter.java
index db4382e3158dca277a9e60f39e3dbde841f5bf29..5ec1818d22ad587e10d81ab62a899e2f863d4f6c 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/layer/LayerLineConverter.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/layer/LayerLineConverter.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.converter.graphics.layer;
 import java.awt.Color;
 import java.awt.Graphics2D;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.converter.graphics.geometry.ArrowTransformation;
 import lcsb.mapviewer.model.graphics.PolylineData;
@@ -20,7 +20,7 @@ public class LayerLineConverter {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(LayerLineConverter.class.getName());
+  private static Logger logger = LogManager.getLogger(LayerLineConverter.class.getName());
 
   /**
    * This objects helps drawing arrows.
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/layer/LayerOvalConverter.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/layer/LayerOvalConverter.java
index 92fc819dbc9a8ec4ad45e6c930aec3041936e871..3ab35e7117ae71f4ecae55f5decca8ebafd252e9 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/layer/LayerOvalConverter.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/layer/LayerOvalConverter.java
@@ -4,7 +4,7 @@ import java.awt.Color;
 import java.awt.Graphics2D;
 import java.awt.geom.Ellipse2D;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.model.map.layout.graphics.LayerOval;
 
@@ -20,7 +20,7 @@ public class LayerOvalConverter {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(LayerOvalConverter.class.getName());
+  private static Logger logger = LogManager.getLogger(LayerOvalConverter.class.getName());
 
   /**
    * Draws oval on the Graphics2D.
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/layer/LayerRectConverter.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/layer/LayerRectConverter.java
index c448d58c10419f762cbca49c83bd50ceccd05d49..5f8a26d2021722904c85badec68e3d6ea6b28701 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/layer/LayerRectConverter.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/layer/LayerRectConverter.java
@@ -4,7 +4,7 @@ import java.awt.Color;
 import java.awt.Graphics2D;
 import java.awt.geom.Rectangle2D;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.model.map.layout.graphics.LayerRect;
 
@@ -20,7 +20,7 @@ public class LayerRectConverter {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(LayerRectConverter.class.getName());
+  private static Logger logger = LogManager.getLogger(LayerRectConverter.class.getName());
 
   /**
    * Draws rectangle on the Graphics2D.
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/layer/LayerTextConverter.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/layer/LayerTextConverter.java
index 3d5d5f99f4e071c78a8fefcf960b3cc52aa747b4..1f7d1958c5a2cf9a038491e2e2bc0d04fa20ed89 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/layer/LayerTextConverter.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/layer/LayerTextConverter.java
@@ -4,7 +4,7 @@ import java.awt.Color;
 import java.awt.Graphics2D;
 import java.awt.geom.Rectangle2D;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.model.map.layout.graphics.LayerText;
 
@@ -20,7 +20,7 @@ public class LayerTextConverter {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(LayerTextConverter.class.getName());
+  private static Logger logger = LogManager.getLogger(LayerTextConverter.class.getName());
 
   /**
    * Color used for text frames.
diff --git a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/placefinder/PlaceFinder.java b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/placefinder/PlaceFinder.java
index 9e12099a0d1f9fe5d2b019fad415f3b24d9a4789..e2961fbbf5bceafe7f0da5f091352397d44b832f 100644
--- a/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/placefinder/PlaceFinder.java
+++ b/converter-graphics/src/main/java/lcsb/mapviewer/converter/graphics/placefinder/PlaceFinder.java
@@ -8,7 +8,7 @@ import java.util.Map;
 import java.util.Set;
 import java.util.TreeSet;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.commands.SemanticZoomLevelMatcher;
 import lcsb.mapviewer.model.map.compartment.Compartment;
@@ -111,7 +111,7 @@ public class PlaceFinder {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger																	logger			 = Logger.getLogger(PlaceFinder.class.getName());
+	private static Logger																	logger			 = LogManager.getLogger(PlaceFinder.class.getName());
 	/**
 	 * Whole surface is split into rectangular regions. The lines that cut the
 	 * surface correspond to borders of aliases that overlap current alias. This
diff --git a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/AbstractImageGeneratorTest.java b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/AbstractImageGeneratorTest.java
index 83896981a3c0062286b1f8fc460a018e1472b2b6..4fc57b5b08a0f9052f3a2e16c25c266e613b6b47 100644
--- a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/AbstractImageGeneratorTest.java
+++ b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/AbstractImageGeneratorTest.java
@@ -6,7 +6,7 @@ import static org.mockito.Mockito.verify;
 
 import java.awt.Graphics2D;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Before;
@@ -19,7 +19,7 @@ import lcsb.mapviewer.model.map.reaction.Reaction;
 import lcsb.mapviewer.model.map.species.GenericProtein;
 
 public class AbstractImageGeneratorTest extends GraphicsTestFunctions {
-  Logger logger = Logger.getLogger(AbstractImageGeneratorTest.class);
+  Logger logger = LogManager.getLogger(AbstractImageGeneratorTest.class);
 
   @AfterClass
   public static void tearDownAfterClass() throws Exception {
diff --git a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/MapGeneratorTest.java b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/MapGeneratorTest.java
index e69e05f28b0e92af382e729d8e4bcf31a4532e74..7f888089f6516a48f0153201c811c9c8c8939cd1 100644
--- a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/MapGeneratorTest.java
+++ b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/MapGeneratorTest.java
@@ -14,13 +14,13 @@ import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.model.ModelFullIndexed;
 
 import org.apache.commons.io.FileUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 
 public class MapGeneratorTest {
-	Logger	logger	= Logger.getLogger(MapGeneratorTest.class);
+	Logger	logger	= LogManager.getLogger(MapGeneratorTest.class);
 
 	@Before
 	public void setUp() throws Exception {
diff --git a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/NormalImageGeneratorTest.java b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/NormalImageGeneratorTest.java
index b4671daa3184a7bf4ae294210259a07dd12907a9..3dd15c0c5509d3ef122d6802ee53a207ef8c4234 100644
--- a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/NormalImageGeneratorTest.java
+++ b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/NormalImageGeneratorTest.java
@@ -4,7 +4,7 @@ import java.awt.Color;
 import java.awt.geom.Point2D;
 import java.awt.geom.Rectangle2D;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -19,7 +19,7 @@ import lcsb.mapviewer.model.map.model.ModelFullIndexed;
 import lcsb.mapviewer.model.map.species.Complex;
 
 public class NormalImageGeneratorTest {
-	static Logger logger = Logger.getLogger(NormalImageGenerator.class);
+	static Logger logger = LogManager.getLogger(NormalImageGenerator.class);
 
 	@Before
 	public void setUp() throws Exception {
diff --git a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/bioEntity/BioEntityConverterImplTest.java b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/bioEntity/BioEntityConverterImplTest.java
index 4cd4aa512cd6c80c8946fe51d53632d959d63d73..84b9cdc5c0acefe8c90d331d0d5c1665a1cbff2e 100644
--- a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/bioEntity/BioEntityConverterImplTest.java
+++ b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/bioEntity/BioEntityConverterImplTest.java
@@ -7,7 +7,6 @@ import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 
 import java.awt.Color;
-import java.awt.Desktop;
 import java.awt.Graphics2D;
 import java.awt.Image;
 import java.awt.geom.GeneralPath;
@@ -17,8 +16,6 @@ import java.awt.image.ImageObserver;
 import java.io.File;
 import java.nio.file.Files;
 
-import javax.imageio.ImageIO;
-
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Before;
@@ -38,7 +35,7 @@ import lcsb.mapviewer.model.map.reaction.Reactant;
 import lcsb.mapviewer.model.map.reaction.Reaction;
 import lcsb.mapviewer.model.map.species.GenericProtein;
 
-public class BioEntityConverterImplTest extends GraphicsTestFunctions{
+public class BioEntityConverterImplTest extends GraphicsTestFunctions {
 
   ColorExtractor colorExtractor = new ColorExtractor(Color.RED, Color.GREEN, Color.BLUE);
 
@@ -107,12 +104,9 @@ public class BioEntityConverterImplTest extends GraphicsTestFunctions{
       BioEntityConverterImpl converter = new BioEntityConverterImpl(alias, false, colorExtractor);
       converter.draw(alias, graphics, new ConverterParams());
 
-
-
       verify(graphics, times(1)).drawImage(any(Image.class), anyInt(), anyInt(), anyInt(), anyInt(), anyInt(), anyInt(),
           anyInt(), anyInt(), nullable(ImageObserver.class));
 
-
     } catch (Exception e) {
       throw e;
     }
diff --git a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/ComplexConverterTest.java b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/ComplexConverterTest.java
index fa3159f439ca8f4de96d9ef3b17c468f38978765..cf8a3e54b7e5e12e523ca41228007d1d04ef5bb2 100644
--- a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/ComplexConverterTest.java
+++ b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/ComplexConverterTest.java
@@ -7,7 +7,7 @@ import java.awt.Color;
 import java.awt.Graphics2D;
 import java.awt.image.BufferedImage;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -17,7 +17,7 @@ import lcsb.mapviewer.converter.graphics.ConverterParams;
 import lcsb.mapviewer.model.map.species.Complex;
 
 public class ComplexConverterTest {
-  Logger logger = Logger.getLogger(ComplexConverterTest.class);
+  Logger logger = LogManager.getLogger(ComplexConverterTest.class);
 
   ColorExtractor colorExtractor = new ColorExtractor(Color.RED, Color.GREEN, Color.BLUE);
 
diff --git a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/SpeciesConverterTest.java b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/SpeciesConverterTest.java
index 12c1aa6efc6bedd84841e429ee12ab9e778bdf86..7893741dbbfd3933e6955389b38ba5333f7508be 100644
--- a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/SpeciesConverterTest.java
+++ b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/bioEntity/element/species/SpeciesConverterTest.java
@@ -12,7 +12,6 @@ import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 
 import java.awt.Color;
-import java.awt.Desktop;
 import java.awt.Graphics2D;
 import java.awt.Image;
 import java.awt.geom.Point2D;
@@ -23,9 +22,8 @@ import java.nio.file.Files;
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.imageio.ImageIO;
-
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -50,8 +48,8 @@ import lcsb.mapviewer.model.map.species.field.RegulatoryRegion;
 import lcsb.mapviewer.model.map.species.field.Residue;
 import lcsb.mapviewer.model.map.species.field.TranscriptionSite;
 
-public class SpeciesConverterTest extends GraphicsTestFunctions{
-  Logger logger = Logger.getLogger(SpeciesConverterTest.class);
+public class SpeciesConverterTest extends GraphicsTestFunctions {
+  Logger logger = LogManager.getLogger(SpeciesConverterTest.class);
 
   ColorExtractor colorExtractor = new ColorExtractor(Color.RED, Color.GREEN, Color.BLUE);
 
diff --git a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/geometry/ArrowTransformationTest.java b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/geometry/ArrowTransformationTest.java
index 628b799f8c8b6c71b20a6aa5e66b05de944ebedd..f90dec91527104175b107b6685ea8e3801949dc2 100644
--- a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/geometry/ArrowTransformationTest.java
+++ b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/geometry/ArrowTransformationTest.java
@@ -9,7 +9,7 @@ import java.awt.geom.Point2D;
 import java.awt.image.BufferedImage;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -19,7 +19,7 @@ import lcsb.mapviewer.model.graphics.ArrowType;
 import lcsb.mapviewer.model.graphics.PolylineData;
 
 public class ArrowTransformationTest {
-  Logger logger = Logger.getLogger(ArrowTransformationTest.class);
+  Logger logger = LogManager.getLogger(ArrowTransformationTest.class);
 
   ArrowTransformation at = new ArrowTransformation();
   PointTransformation pointTransformation = new PointTransformation();
diff --git a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/placefinder/AllPlaceFinderTest.java b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/placefinder/AllPlaceFinderTest.java
index 3ab34b1d27cb204e00cc734bf46304b02ad1d1ee..d06da1242eaa19f3ba8c2cd361c1d8301201a683 100644
--- a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/placefinder/AllPlaceFinderTest.java
+++ b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/placefinder/AllPlaceFinderTest.java
@@ -7,7 +7,7 @@ import java.awt.geom.Rectangle2D;
 import java.io.IOException;
 import java.util.Arrays;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 
 import lcsb.mapviewer.common.exception.InvalidXmlSchemaException;
@@ -17,7 +17,7 @@ import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.model.ModelFullIndexed;
 
 public class AllPlaceFinderTest {
-	Logger			 logger	= Logger.getLogger(AllPlaceFinderTest.class);
+	Logger			 logger	= LogManager.getLogger(AllPlaceFinderTest.class);
 	final String out		= "map_images/testOutput";
 	final String folder	= "testFiles/placeFinderFiles/";
 
diff --git a/converter-graphics/src/test/resources/log4j.properties b/converter-graphics/src/test/resources/log4j.properties
deleted file mode 100644
index e66aa395621b6423c2efe274234336b4d1baf858..0000000000000000000000000000000000000000
--- a/converter-graphics/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-#Set root logger 's level and its appender to an appender called CONSOLE which is defined below.
-log4j.rootLogger=info, CONSOLE
-
-#Set the behavior of the CONSOLE appender 
-log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
-log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
-log4j.appender.CONSOLE.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-#log4j.appender.CONSOLE.layout.ConversionPattern=%m%n
-
-
-#Set the behavior of the FILE appender 
-log4j.appender.R=org.apache.log4j.FileAppender
-log4j.appender.R.File=${catalina.home}/logs/MapViewer.log
-log4j.appender.R.layout=org.apache.log4j.PatternLayout
-log4j.appender.R.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-
-
-log4j.logger.org.springframework=warn
-log4j.logger.org.hibernate=warn
-log4j.logger.lcsb=debug
diff --git a/converter-graphics/src/test/resources/log4j2.properties b/converter-graphics/src/test/resources/log4j2.properties
new file mode 100644
index 0000000000000000000000000000000000000000..b5eaa32682d177bf266eb6ed4831b4e8f4b9135d
--- /dev/null
+++ b/converter-graphics/src/test/resources/log4j2.properties
@@ -0,0 +1,25 @@
+rootLogger.level = INFO
+appenders = console
+
+appender.console.type = Console
+appender.console.name = STDOUT
+appender.console.layout.type = PatternLayout
+appender.console.layout.pattern = %d %5p [%t] (%F:%L) - %m%n
+
+rootLogger.appenderRefs = console
+
+rootLogger.appenderRef.console.ref = STDOUT
+
+logger.minerva.name = lcsb
+logger.minerva.level = debug
+logger.minerva-persist.name = lcsb.mapviewer.persist.DbUtils
+logger.minerva-persist.level = info
+logger.minerva-cache.name = lcsb.mapviewer.annotation.cache
+logger.minerva-cache.level = info
+
+
+logger.springframework.name = org.springframework
+logger.springframework.level = warn
+
+logger.hibernate.name = org.hibernate
+logger.hibernate.level = warn
diff --git a/converter-sbml/pom.xml b/converter-sbml/pom.xml
index f3c2a5ec22b5b2701bb9a7124504455306fe9d89..c91444737d6e027beb77e9eb42235f85909e3375 100644
--- a/converter-sbml/pom.xml
+++ b/converter-sbml/pom.xml
@@ -58,12 +58,23 @@
 			<version>1.0</version>
 		</dependency>
 
-		<!-- Log4J -->
+		<!-- Log4J2 -->
 		<dependency>
-			<groupId>log4j</groupId>
-			<artifactId>log4j</artifactId>
-			<version>${log4j.version}</version>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-api</artifactId>
+			<version>${log4j2.version}</version>
 		</dependency>
+		<dependency>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-core</artifactId>
+			<version>${log4j2.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-slf4j-impl</artifactId>
+			<version>${log4j2.version}</version>
+		</dependency>
+
 
 		<!-- mockito used for testing -->
 		<dependency>
@@ -77,24 +88,19 @@
 			<groupId>org.sbml.jsbml</groupId>
 			<artifactId>jsbml</artifactId>
 			<version>${jsbml.version}</version>
-			<!-- for now we use lower version of log4j and this one introduce some 
-				problem with tomcat logging -->
+			<!-- we use higher version of log4j -->
 			<exclusions>
-				<exclusion>
-					<groupId>org.apache.logging.log4j</groupId>
-					<artifactId>log4j-core</artifactId>
-				</exclusion>
 				<exclusion>
 					<groupId>org.apache.logging.log4j</groupId>
 					<artifactId>log4j-api</artifactId>
 				</exclusion>
 				<exclusion>
 					<groupId>org.apache.logging.log4j</groupId>
-					<artifactId>log4j-1.2-api</artifactId>
+					<artifactId>log4j-core</artifactId>
 				</exclusion>
 				<exclusion>
-					<groupId>org.slf4j</groupId>
-					<artifactId>slf4j-api</artifactId>
+					<groupId>org.apache.logging.log4j</groupId>
+					<artifactId>log4j-slf4j-impl</artifactId>
 				</exclusion>
 				<exclusion>
 					<groupId>junit</groupId>
@@ -116,20 +122,19 @@
 			<groupId>org.sbml.jsbml</groupId>
 			<artifactId>jsbml-core</artifactId>
 			<version>${jsbml.version}</version>
-			<!-- for now we use lower version of log4j and this one introduce some 
-				problem with tomcat logging -->
+			<!-- we use higher version of log4j -->
 			<exclusions>
 				<exclusion>
 					<groupId>org.apache.logging.log4j</groupId>
-					<artifactId>log4j-core</artifactId>
+					<artifactId>log4j-api</artifactId>
 				</exclusion>
 				<exclusion>
 					<groupId>org.apache.logging.log4j</groupId>
-					<artifactId>log4j-api</artifactId>
+					<artifactId>log4j-core</artifactId>
 				</exclusion>
 				<exclusion>
 					<groupId>org.apache.logging.log4j</groupId>
-					<artifactId>log4j-1.2-api</artifactId>
+					<artifactId>log4j-slf4j-impl</artifactId>
 				</exclusion>
 				<exclusion>
 					<groupId>org.slf4j</groupId>
@@ -158,7 +163,7 @@
 			<artifactId>commons-text</artifactId>
 			<version>${apache.commons-text.version}</version>
 		</dependency>
-		
+
 		<dependency>
 			<groupId>junit</groupId>
 			<artifactId>junit</artifactId>
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlBioEntityExporter.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlBioEntityExporter.java
index af25102b5009fc4accb7905e1a63fb3eeb02397d..9f30881078c1b24b2fbd0339b3b679da5a5463b9 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlBioEntityExporter.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlBioEntityExporter.java
@@ -9,7 +9,7 @@ import java.util.Set;
 
 import javax.xml.stream.XMLStreamException;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.sbml.jsbml.Model;
 import org.sbml.jsbml.ext.SBasePlugin;
 import org.sbml.jsbml.ext.layout.AbstractReferenceGlyph;
@@ -43,7 +43,7 @@ public abstract class SbmlBioEntityExporter<T extends BioEntity, S extends org.s
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(SbmlBioEntityExporter.class);
+  private static Logger logger = LogManager.getLogger(SbmlBioEntityExporter.class);
 
   /**
    * SBML Layout used when exporting map.
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlBioEntityParser.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlBioEntityParser.java
index 0d7b1b69cde649631eea1270d52971df8a5baf00..4b6d452cf181f0036126a70648e2a87d039c5547 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlBioEntityParser.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlBioEntityParser.java
@@ -9,7 +9,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.sbml.jsbml.AbstractNamedSBase;
 import org.sbml.jsbml.Annotation;
 import org.sbml.jsbml.ext.SBasePlugin;
@@ -39,7 +39,7 @@ public class SbmlBioEntityParser {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(SbmlBioEntityParser.class);
+  private static Logger logger = LogManager.getLogger(SbmlBioEntityParser.class);
 
   /**
    * SBML layout attached to parsed {@link #sbmlModel}.
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlElementExporter.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlElementExporter.java
index 6811aa01c06be42fe7e3cbb8a0e29f45153d2f95..0ce8175cd4f80d73d3dce7ac307686ed61eb3430 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlElementExporter.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlElementExporter.java
@@ -2,7 +2,7 @@ package lcsb.mapviewer.converter.model.sbml;
 
 import java.util.Collection;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.sbml.jsbml.Model;
 import org.sbml.jsbml.ext.layout.AbstractReferenceGlyph;
 import org.sbml.jsbml.ext.layout.BoundingBox;
@@ -20,7 +20,7 @@ public abstract class SbmlElementExporter<T extends Element, S extends org.sbml.
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(SbmlElementExporter.class);
+  private static Logger logger = LogManager.getLogger(SbmlElementExporter.class);
 
   public SbmlElementExporter(Model sbmlModel, lcsb.mapviewer.model.map.model.Model minervaModel,
       Collection<SbmlExtension> sbmlExtensions) {
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlElementParser.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlElementParser.java
index d34c7e6eeec524a89b96404230bd5237e4fa39de..0cf6bf8e43400777172f3c3ffed636b3a5ea04f2 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlElementParser.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlElementParser.java
@@ -8,7 +8,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.sbml.jsbml.ListOf;
 import org.sbml.jsbml.Model;
 import org.sbml.jsbml.ext.layout.AbstractReferenceGlyph;
@@ -23,7 +23,7 @@ public abstract class SbmlElementParser<T extends org.sbml.jsbml.Symbol> extends
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(SbmlElementParser.class);
+  private Logger logger = LogManager.getLogger(SbmlElementParser.class);
 
   public SbmlElementParser(Model sbmlModel, lcsb.mapviewer.model.map.model.Model minervaModel) {
     super(sbmlModel, minervaModel);
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlExporter.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlExporter.java
index 74be94336b2aac7b39ebac3d016a50a5e33897cc..a06be0636a4f60169498996119c7b66695850cd1 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlExporter.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlExporter.java
@@ -9,7 +9,7 @@ import java.util.Set;
 import javax.xml.stream.XMLStreamException;
 
 import org.apache.commons.io.output.ByteArrayOutputStream;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.sbml.jsbml.Model;
 import org.sbml.jsbml.SBMLDocument;
 import org.sbml.jsbml.SBMLWriter;
@@ -33,7 +33,7 @@ import lcsb.mapviewer.model.map.species.Species;
 public class SbmlExporter {
 
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(SbmlExporter.class);
+  private static Logger logger = LogManager.getLogger(SbmlExporter.class);
 
   /**
    * Set of SBML extensions that should be used during export.
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlFunctionExporter.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlFunctionExporter.java
index d534a4ff112caeb06a213da946ef85614015e333..516e58830e03869146af1094bafc49448a52b678 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlFunctionExporter.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlFunctionExporter.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.converter.model.sbml;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.sbml.jsbml.ASTNode;
 import org.sbml.jsbml.FunctionDefinition;
 
@@ -8,7 +8,7 @@ import lcsb.mapviewer.model.map.kinetics.SbmlFunction;
 import lcsb.mapviewer.model.map.model.Model;
 
 public class SbmlFunctionExporter {
-  Logger logger = Logger.getLogger(SbmlFunctionExporter.class);
+  Logger logger = LogManager.getLogger(SbmlFunctionExporter.class);
   private Model minervaModel;
 
   public SbmlFunctionExporter(lcsb.mapviewer.model.map.model.Model minervaModel) {
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlFunctionParser.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlFunctionParser.java
index 53197344f5d124d645fcea1fd30b4ad967282c86..325afcb84d0116f55ace54552bc36975c00ce359 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlFunctionParser.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlFunctionParser.java
@@ -5,7 +5,7 @@ import java.util.Collection;
 import java.util.List;
 
 import lcsb.mapviewer.common.XmlParser;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.sbml.jsbml.ListOf;
 import org.sbml.jsbml.Model;
 import org.w3c.dom.Node;
@@ -15,7 +15,7 @@ import lcsb.mapviewer.converter.InvalidInputDataExecption;
 import lcsb.mapviewer.model.map.kinetics.SbmlFunction;
 
 public class SbmlFunctionParser extends SbmlBioEntityParser {
-  Logger logger = Logger.getLogger(SbmlFunctionParser.class);
+  Logger logger = LogManager.getLogger(SbmlFunctionParser.class);
 
   public SbmlFunctionParser(Model sbmlModel, lcsb.mapviewer.model.map.model.Model minervaModel) {
     super(sbmlModel, minervaModel);
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlParameterExporter.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlParameterExporter.java
index ab52589200989af11b4c3865caad90415f14aa4f..684910f667de3af3dcba1c9b79887ac1c5b278a2 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlParameterExporter.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlParameterExporter.java
@@ -1,13 +1,13 @@
 package lcsb.mapviewer.converter.model.sbml;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.sbml.jsbml.Parameter;
 
 import lcsb.mapviewer.model.map.kinetics.SbmlParameter;
 import lcsb.mapviewer.model.map.model.Model;
 
 public class SbmlParameterExporter {
-  Logger logger = Logger.getLogger(SbmlParameterExporter.class);
+  Logger logger = LogManager.getLogger(SbmlParameterExporter.class);
   private Model minervaModel;
 
   public SbmlParameterExporter(lcsb.mapviewer.model.map.model.Model minervaModel) {
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlParameterParser.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlParameterParser.java
index 9669f5992b25517b795685a2174f2a7d08d3e99e..836a91d667fbb90286b23fbb92d4386dc825fce3 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlParameterParser.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlParameterParser.java
@@ -4,7 +4,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.sbml.jsbml.ListOf;
 import org.sbml.jsbml.Model;
 import org.sbml.jsbml.QuantityWithUnit;
@@ -12,7 +12,7 @@ import org.sbml.jsbml.QuantityWithUnit;
 import lcsb.mapviewer.model.map.kinetics.SbmlParameter;
 
 public class SbmlParameterParser extends SbmlBioEntityParser {
-  Logger logger = Logger.getLogger(SbmlParameterParser.class);
+  Logger logger = LogManager.getLogger(SbmlParameterParser.class);
 
   public SbmlParameterParser(Model sbmlModel, lcsb.mapviewer.model.map.model.Model minervaModel) {
     super(sbmlModel, minervaModel);
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlParser.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlParser.java
index d5734ee056b38f5e765553677a5073b04e0cf664..200685a27e77c0d1f277f3c7092c5daf5a656b04 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlParser.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlParser.java
@@ -7,7 +7,7 @@ import java.util.Set;
 import javax.xml.stream.XMLStreamException;
 
 import org.apache.commons.io.FilenameUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.sbml.jsbml.SBMLDocument;
 import org.sbml.jsbml.SBMLReader;
 import org.sbml.jsbml.ext.SBasePlugin;
@@ -48,7 +48,7 @@ public class SbmlParser extends Converter {
   /**
    * Default class logger.
    */
-  Logger logger = Logger.getLogger(SbmlParser.class);
+  Logger logger = LogManager.getLogger(SbmlParser.class);
 
   boolean provideDefaults = true;
 
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/compartment/SbmlCompartmentExporter.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/compartment/SbmlCompartmentExporter.java
index 58a038499c1a00e74a0a0ec1771b25ccc489c38c..1467cae134da8f6ec3bbfb5ec6afe381197342c7 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/compartment/SbmlCompartmentExporter.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/compartment/SbmlCompartmentExporter.java
@@ -5,7 +5,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.sbml.jsbml.Model;
 import org.sbml.jsbml.ext.layout.AbstractReferenceGlyph;
 import org.sbml.jsbml.ext.layout.BoundingBox;
@@ -33,7 +33,7 @@ public class SbmlCompartmentExporter extends SbmlElementExporter<Compartment, or
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(SbmlCompartmentExporter.class);
+  private static Logger logger = LogManager.getLogger(SbmlCompartmentExporter.class);
 
   public SbmlCompartmentExporter(Model sbmlModel, lcsb.mapviewer.model.map.model.Model minervaModel,
       Collection<SbmlExtension> sbmlExtensions) {
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/compartment/SbmlCompartmentParser.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/compartment/SbmlCompartmentParser.java
index d085b74cc1b399f2ae7da2147cddf1b719fef97b..13f0932d32763dda813eae450e9a8f041135a10b 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/compartment/SbmlCompartmentParser.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/compartment/SbmlCompartmentParser.java
@@ -5,7 +5,7 @@ import java.awt.geom.Point2D;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.sbml.jsbml.ListOf;
 import org.sbml.jsbml.Model;
 import org.sbml.jsbml.ext.layout.AbstractReferenceGlyph;
@@ -27,7 +27,7 @@ public class SbmlCompartmentParser extends SbmlElementParser<org.sbml.jsbml.Comp
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(SbmlCompartmentParser.class);
+  private static Logger logger = LogManager.getLogger(SbmlCompartmentParser.class);
 
   public SbmlCompartmentParser(Model sbmlModel, lcsb.mapviewer.model.map.model.Model minervaModel) {
     super(sbmlModel, minervaModel);
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/extension/multi/MultiPackageNamingUtils.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/extension/multi/MultiPackageNamingUtils.java
index 1ef585cd49603525b741891f7130b9324ee41ae0..8dc5e8e95bf508caae8ae3ed52fc3895bc6b5f4e 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/extension/multi/MultiPackageNamingUtils.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/extension/multi/MultiPackageNamingUtils.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.converter.model.sbml.extension.multi;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.sbml.jsbml.ext.multi.MultiSpeciesType;
 
 import lcsb.mapviewer.model.map.species.Element;
@@ -23,7 +23,7 @@ public final class MultiPackageNamingUtils {
    * Default logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(MultiPackageNamingUtils.class);
+  private static Logger logger = LogManager.getLogger(MultiPackageNamingUtils.class);
 
   private static final String MINERVA_MODIFICATION_TYPE_PREFIX = "minerva_modification_type_";
 
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SBOTermModifierType.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SBOTermModifierType.java
index a11b9e26e549ee41d678c387b5767bedf1ee7bfe..e0ebcd078a88eaf761db12274a616d9f4a2350fe 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SBOTermModifierType.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SBOTermModifierType.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.converter.model.sbml.reaction;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.model.map.modifier.Catalysis;
 import lcsb.mapviewer.model.map.modifier.Inhibition;
@@ -24,7 +24,7 @@ public enum SBOTermModifierType {
   UNKNOWN_INHIBITION(UnknownInhibition.class, new String[] { "SBO:0000536" }),
   ;
 
-  private static Logger logger = Logger.getLogger(SBOTermModifierType.class);
+  private static Logger logger = LogManager.getLogger(SBOTermModifierType.class);
   private List<String> sboTerms = new ArrayList<>();
   Class<? extends Modifier> clazz;
 
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SBOTermReactionType.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SBOTermReactionType.java
index dcc34214e639d978a66d1734d47ccc38e88a0721..c9b3dd222ae384aae47b7a7e80a5dd066a25a590 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SBOTermReactionType.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SBOTermReactionType.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.converter.model.sbml.reaction;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.model.map.reaction.Reaction;
 import lcsb.mapviewer.model.map.reaction.type.BooleanLogicGateReaction;
@@ -64,7 +64,7 @@ public enum SBOTermReactionType {
   UNKNOWN_TRANSITION(UnknownTransitionReaction.class, new String[] { "SBO:0000396" }),
   ;
 
-  private static Logger logger = Logger.getLogger(SBOTermReactionType.class);
+  private static Logger logger = LogManager.getLogger(SBOTermReactionType.class);
   private List<String> sboTerms = new ArrayList<>();
   Class<? extends Reaction> clazz;
 
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionExporter.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionExporter.java
index 778ae75c77f920d640d05fb05e723a860a2a66ac..ebc4091132d32be99d20e2aee0210a0f74fad8ee 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionExporter.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionExporter.java
@@ -10,7 +10,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.sbml.jsbml.ASTNode;
 import org.sbml.jsbml.KineticLaw;
 import org.sbml.jsbml.LocalParameter;
@@ -59,7 +59,7 @@ public class SbmlReactionExporter extends SbmlBioEntityExporter<Reaction, org.sb
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(SbmlReactionExporter.class);
+  private static Logger logger = LogManager.getLogger(SbmlReactionExporter.class);
 
   private SbmlBioEntityExporter<lcsb.mapviewer.model.map.species.Species, Species> speciesExporter;
 
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionParser.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionParser.java
index f9a80ab38f4e46cd78aa34ec941a8fba050865f7..7d97e569775e30c2c02ffbdc7fa4f2f2cad19f34 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionParser.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionParser.java
@@ -11,7 +11,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.sbml.jsbml.KineticLaw;
 import org.sbml.jsbml.ListOf;
 import org.sbml.jsbml.LocalParameter;
@@ -70,7 +70,7 @@ import lcsb.mapviewer.model.map.species.Species;
 import lcsb.mapviewer.modelutils.map.ElementUtils;
 
 public class SbmlReactionParser extends SbmlBioEntityParser {
-  Logger logger = Logger.getLogger(SbmlReactionParser.class);
+  Logger logger = LogManager.getLogger(SbmlReactionParser.class);
 
   ElementUtils eu = new ElementUtils();
 
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SBOTermSpeciesType.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SBOTermSpeciesType.java
index fdd3cd31ae9773f76f20d812aec35642b4263ad4..1be4927e69f16c5a3e35862ada022ef03732f2fd 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SBOTermSpeciesType.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SBOTermSpeciesType.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.converter.model.sbml.species;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.model.map.species.AntisenseRna;
 import lcsb.mapviewer.model.map.species.Complex;
@@ -38,7 +38,7 @@ public enum SBOTermSpeciesType {
   UNKNOWN(Unknown.class, new String[] { "SBO:0000285" }),
   ;
 
-  private static Logger logger = Logger.getLogger(SBOTermSpeciesType.class);
+  private static Logger logger = LogManager.getLogger(SBOTermSpeciesType.class);
   private List<String> sboTerms = new ArrayList<>();
   Class<? extends Species> clazz;
 
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesExporter.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesExporter.java
index 2a101b19fa746acb56a5c4ac97d12766f4ab3a32..0dd1cf3936478e320149c94e368ca0f489016841 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesExporter.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesExporter.java
@@ -9,7 +9,7 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.commons.lang3.StringUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.sbml.jsbml.Model;
 import org.sbml.jsbml.ext.layout.AbstractReferenceGlyph;
 import org.sbml.jsbml.ext.layout.BoundingBox;
@@ -67,7 +67,7 @@ public class SbmlSpeciesExporter extends SbmlElementExporter<Species, org.sbml.j
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(SbmlSpeciesExporter.class);
+  private static Logger logger = LogManager.getLogger(SbmlSpeciesExporter.class);
 
   private SbmlCompartmentExporter compartmentExporter;
 
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesParser.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesParser.java
index a86c2ca2eff2f1ed927fd9611f4e318ac790bc12..2cc9689aefccae40985c43622674c7c93d916693 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesParser.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesParser.java
@@ -5,7 +5,7 @@ import java.lang.reflect.InvocationTargetException;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.sbml.jsbml.ListOf;
 import org.sbml.jsbml.Model;
 import org.sbml.jsbml.ext.layout.AbstractReferenceGlyph;
@@ -60,7 +60,7 @@ import lcsb.mapviewer.model.map.species.field.TranscriptionSite;
 import lcsb.mapviewer.modelutils.map.ElementUtils;
 
 public class SbmlSpeciesParser extends SbmlElementParser<org.sbml.jsbml.Species> {
-  Logger logger = Logger.getLogger(SbmlSpeciesParser.class);
+  Logger logger = LogManager.getLogger(SbmlSpeciesParser.class);
 
   private static String ARTIFITIAL_SINK_ID = "sbml_artifitial_sink";
   private static String ARTIFITIAL_SOURCE_ID = "sbml_artifitial_source";
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/units/SbmlUnitExporter.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/units/SbmlUnitExporter.java
index efbfca1d156cf55d92c5e2de6aa54c2d75a5b20c..862d14cb43c8697648d859288bc79c00a615988c 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/units/SbmlUnitExporter.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/units/SbmlUnitExporter.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.converter.model.sbml.units;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.sbml.jsbml.Unit;
 import org.sbml.jsbml.UnitDefinition;
 
@@ -10,7 +10,7 @@ import lcsb.mapviewer.model.map.model.Model;
 
 public class SbmlUnitExporter {
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(SbmlUnitExporter.class);
+  private static Logger logger = LogManager.getLogger(SbmlUnitExporter.class);
   private Model minervaModel;
   private org.sbml.jsbml.Model model;
 
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/units/SbmlUnitsParser.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/units/SbmlUnitsParser.java
index c7411879da61918e4bf5319abf0cc41af5912328..22301f7a120263b3f9b0928a4361b78e5ecef766 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/units/SbmlUnitsParser.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/units/SbmlUnitsParser.java
@@ -4,7 +4,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.sbml.jsbml.ListOf;
 import org.sbml.jsbml.Model;
 import org.sbml.jsbml.Unit;
@@ -14,7 +14,7 @@ import lcsb.mapviewer.model.map.kinetics.SbmlUnit;
 import lcsb.mapviewer.model.map.kinetics.SbmlUnitTypeFactor;
 
 public class SbmlUnitsParser extends SbmlBioEntityParser {
-  Logger logger = Logger.getLogger(SbmlUnitsParser.class);
+  Logger logger = LogManager.getLogger(SbmlUnitsParser.class);
 
   public SbmlUnitsParser(Model sbmlModel, lcsb.mapviewer.model.map.model.Model minervaModel) {
     super(sbmlModel, minervaModel);
diff --git a/converter-sbml/src/main/resources/log4j.properties b/converter-sbml/src/main/resources/log4j.properties
deleted file mode 100644
index a784f69dbe2aa1d6bf3d81fe0083ea25e433fa94..0000000000000000000000000000000000000000
--- a/converter-sbml/src/main/resources/log4j.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-#Set root logger 's level and its appender to an appender called CONSOLE which is defined below.
-log4j.rootLogger=info, SBML_CONSOLE
-
-#Set the behavior of the CONSOLE appender 
-log4j.appender.SBML_CONSOLE=org.apache.log4j.ConsoleAppender
-log4j.appender.SBML_CONSOLE.layout=org.apache.log4j.PatternLayout
-log4j.appender.SBML_CONSOLE.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-#log4j.appender.CONSOLE.layout.ConversionPattern=%m%n
-
-
-#Set the behavior of the FILE appender 
-log4j.appender.R=org.apache.log4j.FileAppender
-log4j.appender.R.File=${catalina.home}/logs/MapViewer.log
-log4j.appender.R.layout=org.apache.log4j.PatternLayout
-log4j.appender.R.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-
-
-log4j.logger.org.springframework=warn
-log4j.logger.org.hibernate=warn
-log4j.logger.lcsb=debug
-log4j.logger.lcsb.mapviewer.common.comparator=info
diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/CellDesignerToMultiExportTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/CellDesignerToMultiExportTest.java
index 143ef22ff0505708228af7151b70803d8a44798f..8f1b1876ffcaf1df37c22d26671d2efebe30abc2 100644
--- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/CellDesignerToMultiExportTest.java
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/CellDesignerToMultiExportTest.java
@@ -12,7 +12,7 @@ import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.Collection;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
@@ -27,7 +27,7 @@ import lcsb.mapviewer.model.map.model.ModelComparator;
 @RunWith(Parameterized.class)
 public class CellDesignerToMultiExportTest {
 
-  static Logger logger = Logger.getLogger(CellDesignerToMultiExportTest.class.getName());
+  static Logger logger = LogManager.getLogger(CellDesignerToMultiExportTest.class.getName());
 
   private Path filePath;
 
diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/CopasiImportTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/CopasiImportTest.java
index 224f3b60e4d6bdefc9d093bc5507b91539ea25ea..d98c3a97d39be527ca627ec1da55467fc713eb93 100644
--- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/CopasiImportTest.java
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/CopasiImportTest.java
@@ -9,7 +9,7 @@ import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.Collection;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
@@ -22,7 +22,7 @@ import lcsb.mapviewer.model.map.model.Model;
 @RunWith(Parameterized.class)
 public class CopasiImportTest extends SbmlTestFunctions{
 
-  static Logger logger = Logger.getLogger(CopasiImportTest.class.getName());
+  static Logger logger = LogManager.getLogger(CopasiImportTest.class.getName());
 
   private Path filePath;
 
diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/ElementPropertiesExport.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/ElementPropertiesExport.java
index b54fbbd2cc63aa6dd7c1e98bd422a8ab6e21902d..20743bf242f202dde67b15393500dcadc968dfee 100644
--- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/ElementPropertiesExport.java
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/ElementPropertiesExport.java
@@ -8,7 +8,7 @@ import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.Collection;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
@@ -24,7 +24,7 @@ import lcsb.mapviewer.model.map.species.Species;
 @RunWith(Parameterized.class)
 public class ElementPropertiesExport extends SbmlTestFunctions {
 
-  static Logger logger = Logger.getLogger(ElementPropertiesExport.class.getName());
+  static Logger logger = LogManager.getLogger(ElementPropertiesExport.class.getName());
 
   private Model model;
 
diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/ElementPropertiesExportToLayoutTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/ElementPropertiesExportToLayoutTest.java
index a2aa989cf3beaa556b11a829b06afdbaabdb112f..d9ed2f12c7b5ccb3189fd0922d427db43c968afa 100644
--- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/ElementPropertiesExportToLayoutTest.java
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/ElementPropertiesExportToLayoutTest.java
@@ -8,7 +8,7 @@ import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.Collection;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
@@ -24,7 +24,7 @@ import lcsb.mapviewer.model.map.species.Species;
 @RunWith(Parameterized.class)
 public class ElementPropertiesExportToLayoutTest extends SbmlTestFunctions {
 
-  static Logger logger = Logger.getLogger(ElementPropertiesExportToLayoutTest.class.getName());
+  static Logger logger = LogManager.getLogger(ElementPropertiesExportToLayoutTest.class.getName());
 
   private Model model;
 
diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/ElementPropertiesExportToMultiTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/ElementPropertiesExportToMultiTest.java
index 55f289eda0e3e4532bacbb74aeb058fecee04361..50cb4b1f7ca95cefa988ff5ad31cb930f00888ab 100644
--- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/ElementPropertiesExportToMultiTest.java
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/ElementPropertiesExportToMultiTest.java
@@ -9,7 +9,7 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
@@ -25,7 +25,7 @@ import lcsb.mapviewer.model.map.species.Species;
 @RunWith(Parameterized.class)
 public class ElementPropertiesExportToMultiTest extends SbmlTestFunctions {
 
-  static Logger logger = Logger.getLogger(ElementPropertiesExportToMultiTest.class.getName());
+  static Logger logger = LogManager.getLogger(ElementPropertiesExportToMultiTest.class.getName());
 
   private Model model;
 
diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/GenericSbmlParserTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/GenericSbmlParserTest.java
index bb885faf54552561af6c048f35247b3945a341fa..b835a13954e3e637d2d56c1594ff0417927f3d92 100644
--- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/GenericSbmlParserTest.java
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/GenericSbmlParserTest.java
@@ -14,7 +14,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 
 import org.apache.commons.io.FileUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
@@ -33,7 +33,7 @@ import lcsb.mapviewer.model.map.model.ModelComparator;
 @RunWith(Parameterized.class)
 public class GenericSbmlParserTest {
 
-  static Logger logger = Logger.getLogger(GenericSbmlParserTest.class.getName());
+  static Logger logger = LogManager.getLogger(GenericSbmlParserTest.class.getName());
 
   private Path filePath;
 
diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/GenericSbmlToXmlParserTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/GenericSbmlToXmlParserTest.java
index a01e176e6cf855366a8502e6c3e95f0d9235f796..965e38c3f09632dbfb4a672115bd32916a874356 100644
--- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/GenericSbmlToXmlParserTest.java
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/GenericSbmlToXmlParserTest.java
@@ -12,7 +12,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 
 import org.apache.commons.io.FileUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
@@ -25,7 +25,7 @@ import lcsb.mapviewer.model.map.model.ModelComparator;
 @RunWith(Parameterized.class)
 public class GenericSbmlToXmlParserTest {
 
-  static Logger logger = Logger.getLogger(GenericSbmlToXmlParserTest.class.getName());
+  static Logger logger = LogManager.getLogger(GenericSbmlToXmlParserTest.class.getName());
 
   private Path filePath;
 
diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/MultiParserTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/MultiParserTest.java
index e73e7e2fa25e1063d7dc599b23c1c7da2a66c2b4..0772d2988cd0003b081aaf21dd2e10ecf7370552 100644
--- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/MultiParserTest.java
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/MultiParserTest.java
@@ -14,7 +14,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 
 import org.apache.commons.io.FileUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
@@ -32,7 +32,7 @@ import lcsb.mapviewer.model.map.model.ModelComparator;
 @RunWith(Parameterized.class)
 public class MultiParserTest {
 
-  static Logger logger = Logger.getLogger(MultiParserTest.class.getName());
+  static Logger logger = LogManager.getLogger(MultiParserTest.class.getName());
 
   private Path filePath;
 
diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/ReactionPropertiesExportToMultiTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/ReactionPropertiesExportToMultiTest.java
index a6e7faca96ceeff0c3a15e8cb67d64acf0daac83..dd4c81fe20f8e65c415c8c63066588aa69d9ee2f 100644
--- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/ReactionPropertiesExportToMultiTest.java
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/ReactionPropertiesExportToMultiTest.java
@@ -10,7 +10,7 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -33,7 +33,7 @@ import lcsb.mapviewer.model.map.species.Ion;
 @RunWith(Parameterized.class)
 public class ReactionPropertiesExportToMultiTest {
 
-  static Logger logger = Logger.getLogger(ReactionPropertiesExportToMultiTest.class.getName());
+  static Logger logger = LogManager.getLogger(ReactionPropertiesExportToMultiTest.class.getName());
 
   private Model model;
   private static String reactionId = "reactionId";
diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlExporterFromCellDesignerTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlExporterFromCellDesignerTest.java
index 72e1b95006b69b8f357af810cfc341ca75aabc45..3bdf0a5b846f9fdc723767c9c62263f0d1cffcde 100644
--- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlExporterFromCellDesignerTest.java
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlExporterFromCellDesignerTest.java
@@ -4,7 +4,7 @@ import static org.junit.Assert.assertEquals;
 
 import java.io.ByteArrayInputStream;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 
 import lcsb.mapviewer.converter.ConverterParams;
@@ -14,7 +14,7 @@ import lcsb.mapviewer.model.map.model.ModelComparator;
 import lcsb.mapviewer.model.map.reaction.Reaction;
 
 public class SbmlExporterFromCellDesignerTest extends SbmlTestFunctions {
-  Logger logger = Logger.getLogger(SbmlExporterFromCellDesignerTest.class);
+  Logger logger = LogManager.getLogger(SbmlExporterFromCellDesignerTest.class);
 
   CellDesignerXmlParser cellDesignerXmlParser = new CellDesignerXmlParser();
 
diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlExporterTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlExporterTest.java
index f227aee44aff23d5baa30531fee097826a42af69..b1b644d16e3b9b59ca0868273afc8e62e1cbc8cd 100644
--- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlExporterTest.java
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlExporterTest.java
@@ -14,7 +14,7 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 import org.reflections.Reflections;
 import org.sbml.jsbml.SBMLDocument;
@@ -44,7 +44,7 @@ import lcsb.mapviewer.model.map.species.field.PositionToCompartment;
 import lcsb.mapviewer.model.map.species.field.Residue;
 
 public class SbmlExporterTest extends SbmlTestFunctions {
-  Logger logger = Logger.getLogger(SbmlExporterTest.class);
+  Logger logger = LogManager.getLogger(SbmlExporterTest.class);
 
   ModelComparator comparator = new ModelComparator();
 
diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlPareserForInvalidReactionTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlPareserForInvalidReactionTest.java
index f8c7079da0a9e2ee87da6d7fa04d6f11d1e4d368..4f4f0f41ee5c3b5e6a26525dee1eda23edd4a603 100644
--- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlPareserForInvalidReactionTest.java
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlPareserForInvalidReactionTest.java
@@ -9,7 +9,7 @@ import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.Collection;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
@@ -22,7 +22,7 @@ import lcsb.mapviewer.converter.InvalidInputDataExecption;
 @RunWith(Parameterized.class)
 public class SbmlPareserForInvalidReactionTest {
 
-  static Logger logger = Logger.getLogger(SbmlPareserForInvalidReactionTest.class.getName());
+  static Logger logger = LogManager.getLogger(SbmlPareserForInvalidReactionTest.class.getName());
 
   private Path filePath;
 
diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlParserTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlParserTest.java
index f7ea971b006e343fdb4bfeb01418ef669cb2add7..8147576f8a6781c625efb6a78b79219d3ee4d0d2 100644
--- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlParserTest.java
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlParserTest.java
@@ -9,7 +9,7 @@ import java.io.FileNotFoundException;
 import java.util.HashSet;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 
 import lcsb.mapviewer.commands.CreateHierarchyCommand;
@@ -27,7 +27,7 @@ import lcsb.mapviewer.model.map.species.GenericProtein;
 import lcsb.mapviewer.model.map.species.Species;
 
 public class SbmlParserTest extends SbmlTestFunctions {
-  Logger logger = Logger.getLogger(SbmlParserTest.class);
+  Logger logger = LogManager.getLogger(SbmlParserTest.class);
   SbmlParser parser = new SbmlParser();
 
   @Test
diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlTestFunctions.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlTestFunctions.java
index 4b9e2610e2dc4d65ad36854b5718717bf59e2732..40f2b73d8a97ccf6f4dcd562becc107957a8ee77 100644
--- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlTestFunctions.java
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlTestFunctions.java
@@ -9,11 +9,11 @@ import java.nio.file.Files;
 import java.util.List;
 
 import org.apache.log4j.Logger;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.core.LogEvent;
 import org.junit.After;
 import org.junit.Before;
 
-import lcsb.mapviewer.common.EventStorageLoggerAppender;
+import lcsb.mapviewer.common.MinervaLoggerAppender;
 import lcsb.mapviewer.converter.ConverterParams;
 import lcsb.mapviewer.converter.graphics.AbstractImageGenerator;
 import lcsb.mapviewer.converter.graphics.NormalImageGenerator;
@@ -33,7 +33,7 @@ import lcsb.mapviewer.model.map.species.GenericProtein;
 public class SbmlTestFunctions {
   private Logger logger = Logger.getLogger(SbmlTestFunctions .class);
   
-  private EventStorageLoggerAppender appender;
+  private MinervaLoggerAppender appender;
 
   private static int identifierCounter = 0;
 
@@ -46,17 +46,16 @@ public class SbmlTestFunctions {
 
   @Before
   public final void _setUp() throws Exception {
-    Logger.getRootLogger().removeAppender(appender);
-    appender = new EventStorageLoggerAppender();
-    Logger.getRootLogger().addAppender(appender);
+    MinervaLoggerAppender.unregisterLogEventStorage(appender);
+    appender = MinervaLoggerAppender.createAppender();
   }
 
   @After
   public final void _tearDown() throws Exception {
-    Logger.getRootLogger().removeAppender(appender);
+    MinervaLoggerAppender.unregisterLogEventStorage(appender);
   }
 
-  protected List<LoggingEvent> getWarnings() {
+  protected List<LogEvent> getWarnings() {
     return appender.getWarnings();
   }
 
diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/compartment/SbmlCompartmentParserTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/compartment/SbmlCompartmentParserTest.java
index 5b4e06584df173bb4c98b25cff3943c1777a56d0..7c4274409bae2d5bc1f2e94ee9b0e083bd1031dd 100644
--- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/compartment/SbmlCompartmentParserTest.java
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/compartment/SbmlCompartmentParserTest.java
@@ -5,7 +5,7 @@ import static org.junit.Assert.assertEquals;
 import java.awt.geom.Point2D;
 import java.io.FileNotFoundException;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 
 import lcsb.mapviewer.common.Configuration;
@@ -16,7 +16,7 @@ import lcsb.mapviewer.model.map.compartment.Compartment;
 import lcsb.mapviewer.model.map.model.Model;
 
 public class SbmlCompartmentParserTest {
-  Logger logger = Logger.getLogger(SbmlCompartmentParserTest.class);
+  Logger logger = LogManager.getLogger(SbmlCompartmentParserTest.class);
 
   SbmlParser parser = new SbmlParser();
 
diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionExportArrowType.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionExportArrowType.java
index 43109e817f343c84baed6f067bd4e5ac271da0a2..83da5ff66570715f174be9cf48a26896dbc4c8f9 100644
--- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionExportArrowType.java
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionExportArrowType.java
@@ -8,7 +8,7 @@ import java.lang.reflect.InvocationTargetException;
 import java.util.ArrayList;
 import java.util.Collection;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
@@ -46,7 +46,7 @@ import lcsb.mapviewer.modelutils.map.ElementUtils;
 public class SbmlReactionExportArrowType {
 
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(SbmlReactionExportArrowType.class);
+  private static Logger logger = LogManager.getLogger(SbmlReactionExportArrowType.class);
 
   SbmlParser parser = new SbmlParser();
   SbmlExporter exporter = new SbmlExporter();
diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionParserTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionParserTest.java
index b89a74be18f2854218c8ddc7bb9c2a50fa590fb5..a7f0842a8e98d9d0622ee820c679f79940a125fd 100644
--- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionParserTest.java
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionParserTest.java
@@ -6,7 +6,7 @@ import static org.junit.Assert.assertTrue;
 
 import java.io.FileNotFoundException;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 
 import lcsb.mapviewer.converter.ConverterParams;
@@ -36,7 +36,7 @@ import lcsb.mapviewer.model.map.reaction.type.UnknownTransitionReaction;
 import lcsb.mapviewer.model.map.species.GenericProtein;
 
 public class SbmlReactionParserTest extends SbmlTestFunctions {
-  Logger logger = Logger.getLogger(SbmlReactionParserTest.class);
+  Logger logger = LogManager.getLogger(SbmlReactionParserTest.class);
   SbmlParser parser = new SbmlParser();
 
   @Test
diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesExporterTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesExporterTest.java
index b7253acab0fafdfff21b8ea07ae75b81dc85cf0a..642f06ed561af31ad79691cf79773b028d83f02d 100644
--- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesExporterTest.java
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesExporterTest.java
@@ -6,7 +6,7 @@ import static org.junit.Assert.assertFalse;
 import java.util.Arrays;
 import java.util.Collection;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 import org.sbml.jsbml.SBMLDocument;
 
@@ -24,7 +24,7 @@ import lcsb.mapviewer.model.map.species.Species;
 
 public class SbmlSpeciesExporterTest extends SbmlTestFunctions {
 
-  Logger logger = Logger.getLogger(SbmlSpeciesExporterTest.class);
+  Logger logger = LogManager.getLogger(SbmlSpeciesExporterTest.class);
 
   org.sbml.jsbml.Model sbmlModel;
 
diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesParserTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesParserTest.java
index 320f64b88aaef466070471fa289582caa970680d..953cd375d4f2a5b483eb0d44fd0271310ef80dde 100644
--- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesParserTest.java
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesParserTest.java
@@ -5,7 +5,7 @@ import static org.junit.Assert.assertTrue;
 
 import java.io.FileNotFoundException;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 
 import lcsb.mapviewer.common.geometry.ColorParser;
@@ -30,7 +30,7 @@ import lcsb.mapviewer.model.map.species.Species;
 import lcsb.mapviewer.model.map.species.Unknown;
 
 public class SbmlSpeciesParserTest {
-  Logger logger = Logger.getLogger(SbmlSpeciesParserTest.class);
+  Logger logger = LogManager.getLogger(SbmlSpeciesParserTest.class);
   SbmlParser parser = new SbmlParser();
 
   ColorParser colorParser = new ColorParser();
diff --git a/converter-sbml/src/test/resources/log4j.properties b/converter-sbml/src/test/resources/log4j.properties
deleted file mode 100644
index 9ed911ce8c108e54fc9edbe563b91ad1de65736c..0000000000000000000000000000000000000000
--- a/converter-sbml/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,48 +0,0 @@
-#Set root logger 's level and its appender to an appender called CONSOLE which is defined below.
-log4j.rootLogger=info, SBML_CONSOLE
-
-#Set the behavior of the CONSOLE appender 
-log4j.appender.SBML_CONSOLE=org.apache.log4j.ConsoleAppender
-log4j.appender.SBML_CONSOLE.layout=org.apache.log4j.PatternLayout
-log4j.appender.SBML_CONSOLE.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-#log4j.appender.CONSOLE.layout.ConversionPattern=%m%n
-
-
-#Set the behavior of the FILE appender 
-log4j.appender.R=org.apache.log4j.FileAppender
-log4j.appender.R.File=${catalina.home}/logs/MapViewer.log
-log4j.appender.R.layout=org.apache.log4j.PatternLayout
-log4j.appender.R.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-
-
-log4j.logger.org.springframework=warn
-log4j.logger.org.hibernate=warn
-log4j.logger.org.sbml.jsbml=error
-log4j.logger.lcsb=debug
-log4j.logger.lcsb.mapviewer.common.Comparator=info
-
-log4j.logger.lcsb.mapviewer.model.map.species.ElementComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.SpeciesComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.SimpleMoleculeComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.ProteinComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.AssociatedElementComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.ComplexSpeciesComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.AssociatedElementComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.PhenotypeComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.fields.AssociatedElementComparator=info
-
-log4j.logger.lcsb.mapviewer.model.map.layout.alias.SpeciesAliasComparator=info
-log4j.logger.lcsb.mapviewer.model.map.layout.alias.AliasComparator=info
-log4j.logger.lcsb.mapviewer.model.map.layout.alias.ComplexAliasComparator=info
-log4j.logger.lcsb.mapviewer.model.map.layout.alias.CompartmentAliasComparator=info
-
-log4j.logger.lcsb.mapviewer.model.map.reaction.ReactionNodeComparator=info
-log4j.logger.lcsb.mapviewer.model.map.reaction.ReactionComparator=info
-log4j.logger.lcsb.mapviewer.model.map.reaction.NodeOperatorComparator=info
-log4j.logger.lcsb.mapviewer.model.map.reaction.AbstractNodeComparator=info
-
-log4j.logger.lcsb.mapviewer.model.map.model.ModelComparator=info
-
-log4j.logger.lcsb.mapviewer.model.graphics.PolylineDataComparator=info
-
-log4j.logger.lcsb.mapviewer.model.map.kinetics.SbmlUnitComparator = info
\ No newline at end of file
diff --git a/converter-sbml/src/test/resources/log4j2.properties b/converter-sbml/src/test/resources/log4j2.properties
new file mode 100644
index 0000000000000000000000000000000000000000..b5eaa32682d177bf266eb6ed4831b4e8f4b9135d
--- /dev/null
+++ b/converter-sbml/src/test/resources/log4j2.properties
@@ -0,0 +1,25 @@
+rootLogger.level = INFO
+appenders = console
+
+appender.console.type = Console
+appender.console.name = STDOUT
+appender.console.layout.type = PatternLayout
+appender.console.layout.pattern = %d %5p [%t] (%F:%L) - %m%n
+
+rootLogger.appenderRefs = console
+
+rootLogger.appenderRef.console.ref = STDOUT
+
+logger.minerva.name = lcsb
+logger.minerva.level = debug
+logger.minerva-persist.name = lcsb.mapviewer.persist.DbUtils
+logger.minerva-persist.level = info
+logger.minerva-cache.name = lcsb.mapviewer.annotation.cache
+logger.minerva-cache.level = info
+
+
+logger.springframework.name = org.springframework
+logger.springframework.level = warn
+
+logger.hibernate.name = org.hibernate
+logger.hibernate.level = warn
diff --git a/converter/src/main/java/lcsb/mapviewer/converter/ComplexZipConverter.java b/converter/src/main/java/lcsb/mapviewer/converter/ComplexZipConverter.java
index 9c734eeac9204e140c1c2426a88818c52734f114..2fbbc1f86008cffa739a4317b33a5ed049408809 100644
--- a/converter/src/main/java/lcsb/mapviewer/converter/ComplexZipConverter.java
+++ b/converter/src/main/java/lcsb/mapviewer/converter/ComplexZipConverter.java
@@ -16,7 +16,7 @@ import java.util.zip.ZipFile;
 
 import org.apache.commons.io.FilenameUtils;
 import org.apache.commons.io.IOUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.common.exception.InvalidClassException;
@@ -57,7 +57,7 @@ public class ComplexZipConverter {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(ComplexZipConverter.class);
+  private static Logger logger = LogManager.getLogger(ComplexZipConverter.class);
 
   /**
    * Class used to create single submap from a file.
diff --git a/converter/src/main/java/lcsb/mapviewer/converter/ComplexZipConverterParams.java b/converter/src/main/java/lcsb/mapviewer/converter/ComplexZipConverterParams.java
index 4d059ffe90bbe4644f6e1c1c52249ae2b6a4f905..fb5dc23bfb4aca5e2a7b04b0e3af393d40cec05e 100644
--- a/converter/src/main/java/lcsb/mapviewer/converter/ComplexZipConverterParams.java
+++ b/converter/src/main/java/lcsb/mapviewer/converter/ComplexZipConverterParams.java
@@ -10,7 +10,7 @@ import java.util.Set;
 import java.util.zip.ZipFile;
 
 import org.apache.commons.io.IOUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.converter.zip.ZipEntryFile;
 import lcsb.mapviewer.model.cache.UploadedFileEntry;
@@ -28,7 +28,7 @@ public class ComplexZipConverterParams {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private final Logger logger = Logger.getLogger(ComplexZipConverterParams.class);
+  private final Logger logger = LogManager.getLogger(ComplexZipConverterParams.class);
 
   /**
    * Zip file where all maps are stored.
diff --git a/converter/src/main/java/lcsb/mapviewer/converter/GlyphParser.java b/converter/src/main/java/lcsb/mapviewer/converter/GlyphParser.java
index 1e7d480fbb30366b80e175b335877498737a89ef..79d5062a22d7c6c5138caa5a0aaa42a6b0577953 100644
--- a/converter/src/main/java/lcsb/mapviewer/converter/GlyphParser.java
+++ b/converter/src/main/java/lcsb/mapviewer/converter/GlyphParser.java
@@ -6,7 +6,7 @@ import java.util.zip.ZipFile;
 
 import org.apache.commons.io.FilenameUtils;
 import org.apache.commons.io.IOUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.converter.zip.GlyphZipEntryFile;
 import lcsb.mapviewer.model.cache.UploadedFileEntry;
@@ -24,7 +24,7 @@ public class GlyphParser {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private final Logger logger = Logger.getLogger(GlyphParser.class);
+  private final Logger logger = LogManager.getLogger(GlyphParser.class);
 
   /**
    * Method that parse zip entry and creates a {@link Glyph} from it.
diff --git a/converter/src/main/java/lcsb/mapviewer/converter/OverviewParser.java b/converter/src/main/java/lcsb/mapviewer/converter/OverviewParser.java
index adcf556305bbe676bd7c3b6e15442f94959994c6..6bef70719c233e02d23349a7a5c85c8bbb5fdd58 100644
--- a/converter/src/main/java/lcsb/mapviewer/converter/OverviewParser.java
+++ b/converter/src/main/java/lcsb/mapviewer/converter/OverviewParser.java
@@ -20,7 +20,7 @@ import java.util.zip.ZipFile;
 import javax.imageio.ImageIO;
 
 import org.apache.commons.io.FilenameUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.converter.zip.ImageZipEntryFile;
@@ -108,7 +108,7 @@ public class OverviewParser {
   /**
    * Default class logger.
    */
-  private final Logger logger = Logger.getLogger(OverviewParser.class);
+  private final Logger logger = LogManager.getLogger(OverviewParser.class);
 
   /**
    * Method that parse zip file and creates list of {@link OverviewImage images}
diff --git a/converter/src/main/java/lcsb/mapviewer/converter/ProjectFactory.java b/converter/src/main/java/lcsb/mapviewer/converter/ProjectFactory.java
index dd5c55cbb876971cc8aaaa549b1ec06fc8b8a994..ef7b2e596128795c93ed6a75f4a3e0798887206e 100644
--- a/converter/src/main/java/lcsb/mapviewer/converter/ProjectFactory.java
+++ b/converter/src/main/java/lcsb/mapviewer/converter/ProjectFactory.java
@@ -9,7 +9,7 @@ import java.util.Set;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipFile;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.converter.zip.GlyphZipEntryFile;
@@ -28,7 +28,7 @@ public class ProjectFactory {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(ProjectFactory.class);
+  private Logger logger = LogManager.getLogger(ProjectFactory.class);
 
   private ComplexZipConverter converter;
 
diff --git a/converter/src/main/java/lcsb/mapviewer/converter/ZIndexPopulator.java b/converter/src/main/java/lcsb/mapviewer/converter/ZIndexPopulator.java
index e206f7ad3abd7f3d6ce48e3a826325424402c4dd..c491491e189b0b151b222d8d1f8e9a086114f5e6 100644
--- a/converter/src/main/java/lcsb/mapviewer/converter/ZIndexPopulator.java
+++ b/converter/src/main/java/lcsb/mapviewer/converter/ZIndexPopulator.java
@@ -4,7 +4,7 @@ import java.util.ArrayList;
 import java.util.Comparator;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Configuration;
 import lcsb.mapviewer.common.comparator.DoubleComparator;
@@ -27,7 +27,7 @@ import lcsb.mapviewer.model.map.species.Species;
 public class ZIndexPopulator {
 
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(ZIndexPopulator.class);
+  private static Logger logger = LogManager.getLogger(ZIndexPopulator.class);
 
   private DoubleComparator doubleComparator = new DoubleComparator(Configuration.EPSILON);
   private StringComparator stringComparator = new StringComparator();
diff --git a/converter/src/main/java/lcsb/mapviewer/converter/annotation/XmlAnnotationParser.java b/converter/src/main/java/lcsb/mapviewer/converter/annotation/XmlAnnotationParser.java
index cf20ef581e83e6ec3b4fa8a76e79a4d279edc5a2..c0fa876bc6e7c7427874cd4fe8456942d8f09b17 100644
--- a/converter/src/main/java/lcsb/mapviewer/converter/annotation/XmlAnnotationParser.java
+++ b/converter/src/main/java/lcsb/mapviewer/converter/annotation/XmlAnnotationParser.java
@@ -10,7 +10,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.DOMException;
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
@@ -36,7 +36,7 @@ public class XmlAnnotationParser {
   /**
    * Default logger.
    */
-  private static Logger logger = Logger.getLogger(XmlAnnotationParser.class.getName());
+  private static Logger logger = LogManager.getLogger(XmlAnnotationParser.class.getName());
 
   private SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 
diff --git a/converter/src/main/java/lcsb/mapviewer/converter/zip/ZipEntryFileFactory.java b/converter/src/main/java/lcsb/mapviewer/converter/zip/ZipEntryFileFactory.java
index e647bedc78143a91ec33fa037ad9a6d347a939f5..41d64302f6f2131dbf5e6d9b11f2fa7e18a9f7c6 100644
--- a/converter/src/main/java/lcsb/mapviewer/converter/zip/ZipEntryFileFactory.java
+++ b/converter/src/main/java/lcsb/mapviewer/converter/zip/ZipEntryFileFactory.java
@@ -7,7 +7,7 @@ import java.util.zip.ZipEntry;
 import java.util.zip.ZipFile;
 
 import org.apache.commons.io.FilenameUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.TextFileUtils;
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
@@ -23,7 +23,7 @@ public class ZipEntryFileFactory {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private final Logger logger = Logger.getLogger(ZipEntryFileFactory.class);
+  private final Logger logger = LogManager.getLogger(ZipEntryFileFactory.class);
 
   /**
    * Directory in a zip file where information about submodels is stored. These
diff --git a/converter/src/test/java/lcsb/mapviewer/converter/ComplexZipConverterTest.java b/converter/src/test/java/lcsb/mapviewer/converter/ComplexZipConverterTest.java
index 81ef20356f6596ae179d361bf2f7c7cc43d26a1d..a4b1126f4306344cad147d2ead8b5ba7fb3f3120 100644
--- a/converter/src/test/java/lcsb/mapviewer/converter/ComplexZipConverterTest.java
+++ b/converter/src/test/java/lcsb/mapviewer/converter/ComplexZipConverterTest.java
@@ -11,7 +11,7 @@ import java.io.ByteArrayInputStream;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipFile;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -30,7 +30,7 @@ import lcsb.mapviewer.model.map.species.Element;
 public class ComplexZipConverterTest {
 
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(ComplexZipConverterTest.class);
+  private static Logger logger = LogManager.getLogger(ComplexZipConverterTest.class);
 
   @Before
   public void setUp() throws Exception {
diff --git a/converter/src/test/java/lcsb/mapviewer/converter/ConverterTestFunctions.java b/converter/src/test/java/lcsb/mapviewer/converter/ConverterTestFunctions.java
index 514977b80d66a2e151c35d4d1636ef405e94e0e9..038ee2cbed0cd0c7ffede7770cbbefb8e14ab861 100644
--- a/converter/src/test/java/lcsb/mapviewer/converter/ConverterTestFunctions.java
+++ b/converter/src/test/java/lcsb/mapviewer/converter/ConverterTestFunctions.java
@@ -26,8 +26,9 @@ import javax.xml.transform.TransformerFactory;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
 
-import org.apache.log4j.Logger;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.*;
+import org.apache.logging.log4j.core.LogEvent;
+
 import org.junit.After;
 import org.junit.Before;
 import org.w3c.dom.Document;
@@ -37,29 +38,29 @@ import org.xml.sax.InputSource;
 import org.xml.sax.SAXException;
 
 import lcsb.mapviewer.common.Configuration;
-import lcsb.mapviewer.common.EventStorageLoggerAppender;
+
+import lcsb.mapviewer.common.MinervaLoggerAppender;
 import lcsb.mapviewer.common.exception.InvalidXmlSchemaException;
 
 public abstract class ConverterTestFunctions {
-  private Logger logger = Logger.getLogger(ConverterTestFunctions.class);
+  private Logger logger = LogManager.getLogger(ConverterTestFunctions.class);
 
   protected static double EPSILON = Configuration.EPSILON;
 
-  private EventStorageLoggerAppender appender;
+  private MinervaLoggerAppender appender;
 
   @Before
   public final void _setUp() throws Exception {
-    Logger.getRootLogger().removeAppender(appender);
-    appender = new EventStorageLoggerAppender();
-    Logger.getRootLogger().addAppender(appender);
+    MinervaLoggerAppender.unregisterLogEventStorage(appender);
+    appender = MinervaLoggerAppender.createAppender();
   }
 
   @After
   public final void _tearDown() throws Exception {
-    Logger.getRootLogger().removeAppender(appender);
+    MinervaLoggerAppender.unregisterLogEventStorage(appender);
   }
 
-  protected List<LoggingEvent> getWarnings() {
+  protected List<LogEvent> getWarnings() {
     return appender.getWarnings();
   }
 
diff --git a/converter/src/test/java/lcsb/mapviewer/converter/OverviewParserTest.java b/converter/src/test/java/lcsb/mapviewer/converter/OverviewParserTest.java
index e35dda709336b8fd97aa839d33a0686983761dcc..d2617032b0b3e35bd8af7d016b45bd00e0423055 100644
--- a/converter/src/test/java/lcsb/mapviewer/converter/OverviewParserTest.java
+++ b/converter/src/test/java/lcsb/mapviewer/converter/OverviewParserTest.java
@@ -17,7 +17,7 @@ import java.util.zip.ZipEntry;
 import java.util.zip.ZipFile;
 
 import org.apache.commons.io.FileUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -34,7 +34,7 @@ import lcsb.mapviewer.model.map.model.ModelFullIndexed;
 public class OverviewParserTest {
   private static final String TEST_FILES_VALID_OVERVIEW_ZIP = "testFiles/valid_overview.zip";
   private static final String TEST_FILES_VALID_OVERVIEW_CASE_SENSITIVE_ZIP = "testFiles/valid_overview_case_sensitive.zip";
-  Logger logger = Logger.getLogger(OverviewParserTest.class);
+  Logger logger = LogManager.getLogger(OverviewParserTest.class);
   OverviewParser parser = new OverviewParser();
 
   @Before
diff --git a/converter/src/test/java/lcsb/mapviewer/converter/ProjectFactoryTest.java b/converter/src/test/java/lcsb/mapviewer/converter/ProjectFactoryTest.java
index ad6b5dc3975aaf8450acb93b7ccd67448f401424..1d982d7fd24058b2939839855596fb5462c8d6dd 100644
--- a/converter/src/test/java/lcsb/mapviewer/converter/ProjectFactoryTest.java
+++ b/converter/src/test/java/lcsb/mapviewer/converter/ProjectFactoryTest.java
@@ -11,7 +11,7 @@ import java.util.List;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipFile;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Before;
@@ -29,7 +29,7 @@ import lcsb.mapviewer.model.map.model.ModelFullIndexed;
 import lcsb.mapviewer.model.map.species.GenericProtein;
 
 public class ProjectFactoryTest extends ConverterTestFunctions {
-  Logger logger = Logger.getLogger(ProjectFactoryTest.class);
+  Logger logger = LogManager.getLogger(ProjectFactoryTest.class);
 
   int elementCounter = 0;
 
diff --git a/converter/src/test/java/lcsb/mapviewer/converter/ZIndexPopulatorTest.java b/converter/src/test/java/lcsb/mapviewer/converter/ZIndexPopulatorTest.java
index 6d2f340d0b08e62049dfbf4d5a2afdde9cfb2a6a..5b57488a49413245cb12027b3557be1c45e60c4f 100644
--- a/converter/src/test/java/lcsb/mapviewer/converter/ZIndexPopulatorTest.java
+++ b/converter/src/test/java/lcsb/mapviewer/converter/ZIndexPopulatorTest.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.converter;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 
 import lcsb.mapviewer.model.map.compartment.Compartment;
@@ -19,7 +19,7 @@ import lcsb.mapviewer.model.map.species.Species;
 
 public class ZIndexPopulatorTest {
 
-  Logger logger = Logger.getLogger(ZIndexPopulatorTest.class);
+  Logger logger = LogManager.getLogger(ZIndexPopulatorTest.class);
 
   int identifierCounter = 0;
 
diff --git a/converter/src/test/java/lcsb/mapviewer/converter/annotation/XmlAnnotationParserTest.java b/converter/src/test/java/lcsb/mapviewer/converter/annotation/XmlAnnotationParserTest.java
index 8a2cbabe60aec00d571ecf9457ba917c197a1008..b3e96a1a90e3322d70e91c6125c6f87b96a2895e 100644
--- a/converter/src/test/java/lcsb/mapviewer/converter/annotation/XmlAnnotationParserTest.java
+++ b/converter/src/test/java/lcsb/mapviewer/converter/annotation/XmlAnnotationParserTest.java
@@ -7,13 +7,11 @@ import static org.junit.Assert.fail;
 
 import java.util.Set;
 
-import org.apache.log4j.Logger;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 import org.w3c.dom.Node;
 
-import lcsb.mapviewer.common.EventStorageLoggerAppender;
 import lcsb.mapviewer.common.exception.InvalidXmlSchemaException;
 import lcsb.mapviewer.converter.ConverterTestFunctions;
 import lcsb.mapviewer.model.map.MiriamData;
@@ -118,8 +116,6 @@ public class XmlAnnotationParserTest extends ConverterTestFunctions {
 
   @Test
   public void testParseInvalidRdf4() throws Exception {
-    EventStorageLoggerAppender appender = new EventStorageLoggerAppender();
-    Logger.getRootLogger().addAppender(appender);
     try {
       XmlAnnotationParser xap = new XmlAnnotationParser();
 
@@ -127,19 +123,15 @@ public class XmlAnnotationParserTest extends ConverterTestFunctions {
 
       xap.parse(xml);
 
-      assertEquals(1, appender.getWarnings().size());
+      assertEquals(1, getWarnings().size());
     } catch (Exception e) {
       e.printStackTrace();
       throw e;
-    } finally {
-      Logger.getRootLogger().removeAppender(appender);
     }
   }
 
   @Test
   public void testParseInvalidRdf5() throws Exception {
-    EventStorageLoggerAppender appender = new EventStorageLoggerAppender();
-    Logger.getRootLogger().addAppender(appender);
     try {
       XmlAnnotationParser xap = new XmlAnnotationParser();
 
@@ -147,12 +139,10 @@ public class XmlAnnotationParserTest extends ConverterTestFunctions {
 
       xap.parse(xml);
 
-      assertEquals(1, appender.getWarnings().size());
+      assertEquals(1, getWarnings().size());
     } catch (Exception e) {
       e.printStackTrace();
       throw e;
-    } finally {
-      Logger.getRootLogger().removeAppender(appender);
     }
   }
 
diff --git a/converter/src/test/resources/log4j.properties b/converter/src/test/resources/log4j.properties
deleted file mode 100644
index 4d46bcbdbbff98b6f0ab577993b51da5a200c6d3..0000000000000000000000000000000000000000
--- a/converter/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-#Set root logger 's level and its appender to an appender called CONSOLE which is defined below.
-log4j.rootLogger=info, CONSOLE
-
-#Set the behavior of the CONSOLE appender 
-log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
-log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
-log4j.appender.CONSOLE.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-#log4j.appender.CONSOLE.layout.ConversionPattern=%m%n
-
-
-#Set the behavior of the FILE appender 
-log4j.appender.R=org.apache.log4j.FileAppender
-log4j.appender.R.File=${catalina.home}/logs/MapViewer.log
-log4j.appender.R.layout=org.apache.log4j.PatternLayout
-log4j.appender.R.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-
-
-log4j.logger.org.springframework=warn
-log4j.logger.org.hibernate=warn
-log4j.logger.lcsb=debug
-log4j.logger.lcsb.mapviewer.persist.DbUtils=info
-log4j.logger.lcsb.mapviewer.annotation.cache.PermanentDatabaseLevelCache=info
\ No newline at end of file
diff --git a/converter/src/test/resources/log4j2.properties b/converter/src/test/resources/log4j2.properties
new file mode 100644
index 0000000000000000000000000000000000000000..b5eaa32682d177bf266eb6ed4831b4e8f4b9135d
--- /dev/null
+++ b/converter/src/test/resources/log4j2.properties
@@ -0,0 +1,25 @@
+rootLogger.level = INFO
+appenders = console
+
+appender.console.type = Console
+appender.console.name = STDOUT
+appender.console.layout.type = PatternLayout
+appender.console.layout.pattern = %d %5p [%t] (%F:%L) - %m%n
+
+rootLogger.appenderRefs = console
+
+rootLogger.appenderRef.console.ref = STDOUT
+
+logger.minerva.name = lcsb
+logger.minerva.level = debug
+logger.minerva-persist.name = lcsb.mapviewer.persist.DbUtils
+logger.minerva-persist.level = info
+logger.minerva-cache.name = lcsb.mapviewer.annotation.cache
+logger.minerva-cache.level = info
+
+
+logger.springframework.name = org.springframework
+logger.springframework.level = warn
+
+logger.hibernate.name = org.hibernate
+logger.hibernate.level = warn
diff --git a/editor/pom.xml b/editor/pom.xml
index f6314f5ac800bb5385c7fc21e2ef3780762013c6..f9a59c9b474e7dd42ef8c12e8dfbf157d9656fb9 100644
--- a/editor/pom.xml
+++ b/editor/pom.xml
@@ -28,10 +28,16 @@
       <version>1.0</version>
     </dependency>
 
+		<!-- Log4J2-->
 		<dependency>
-			<groupId>log4j</groupId>
-			<artifactId>log4j</artifactId>
-			<version>${log4j.version}</version>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-api</artifactId>
+			<version>${log4j2.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-core</artifactId>
+			<version>${log4j2.version}</version>
 		</dependency>
 	</dependencies>
 
diff --git a/editor/src/main/java/lcsb/mapviewer/editor/MinervaEditor.java b/editor/src/main/java/lcsb/mapviewer/editor/MinervaEditor.java
index 8c1b47aefd49000f7d0904f124f34b76060e1853..b8450f00c7bd15822c7f2855b08ed989adce44e1 100644
--- a/editor/src/main/java/lcsb/mapviewer/editor/MinervaEditor.java
+++ b/editor/src/main/java/lcsb/mapviewer/editor/MinervaEditor.java
@@ -2,7 +2,7 @@ package lcsb.mapviewer.editor;
 
 import lcsb.mapviewer.editor.gui.MinervaWindow;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * Entry point to MINERVA editor.
@@ -15,7 +15,7 @@ public final class MinervaEditor {
 	/**
 	 * Default class logger.
 	 */
-	private Logger				logger = Logger.getLogger(MinervaEditor.class);
+	private Logger				logger = LogManager.getLogger(MinervaEditor.class);
 
 	/**
 	 * Window where the software will be running.
@@ -34,7 +34,7 @@ public final class MinervaEditor {
 			editor.run();
 		} catch (Exception e) {
 			e.printStackTrace();
-			Logger.getLogger(MinervaEditor.class).error(e, e);
+			LogManager.getLogger(MinervaEditor.class).error(e, e);
 		}
 	}
 
diff --git a/editor/src/main/java/lcsb/mapviewer/editor/gui/OpenProjectListener.java b/editor/src/main/java/lcsb/mapviewer/editor/gui/OpenProjectListener.java
index f8fc87daf3ee756b3a51eea372f0a8386055b1d8..49c6950249fd618f6125afe21c5c07d3a079c55a 100644
--- a/editor/src/main/java/lcsb/mapviewer/editor/gui/OpenProjectListener.java
+++ b/editor/src/main/java/lcsb/mapviewer/editor/gui/OpenProjectListener.java
@@ -20,7 +20,7 @@ import lcsb.mapviewer.editor.OpenedProject;
 import lcsb.mapviewer.editor.Workspace;
 import lcsb.mapviewer.model.map.model.Model;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * Listener used to open files with {@link OpenedProject}.
@@ -33,7 +33,7 @@ public class OpenProjectListener implements ActionListener {
 	/**
 	 * Default class logger.
 	 */
-	private final Logger			 logger		 = Logger.getLogger(OpenProjectListener.class);
+	private final Logger			 logger		 = LogManager.getLogger(OpenProjectListener.class);
 
 	/**
 	 * {@link Workspace} where opened project should be added.
diff --git a/editor/src/main/java/lcsb/mapviewer/editor/gui/ProjectTab.java b/editor/src/main/java/lcsb/mapviewer/editor/gui/ProjectTab.java
index 211526dcfc7219a93b2a07bf5f7b2a10edbe8717..3d306ec4c4976a0052f543c1473e60ab263adc97 100644
--- a/editor/src/main/java/lcsb/mapviewer/editor/gui/ProjectTab.java
+++ b/editor/src/main/java/lcsb/mapviewer/editor/gui/ProjectTab.java
@@ -10,7 +10,7 @@ import javax.swing.JComponent;
 import lcsb.mapviewer.editor.OpenedProject;
 import lcsb.mapviewer.editor.gui.canvas.MinervaCanvas;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * Component representing ab for single project.
@@ -29,7 +29,7 @@ public class ProjectTab extends JComponent {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private final Logger			logger					 = Logger.getLogger(ProjectTab.class);
+	private final Logger			logger					 = LogManager.getLogger(ProjectTab.class);
 
 	/**
 	 * Project that is visualized in this tab.
diff --git a/editor/src/main/java/lcsb/mapviewer/editor/gui/WindowContent.java b/editor/src/main/java/lcsb/mapviewer/editor/gui/WindowContent.java
index 6706e8e7b0a40ad5026ce34100e844d7be0e2128..76a14fde3ff5f16026f4502766df24df112b21a7 100644
--- a/editor/src/main/java/lcsb/mapviewer/editor/gui/WindowContent.java
+++ b/editor/src/main/java/lcsb/mapviewer/editor/gui/WindowContent.java
@@ -19,7 +19,7 @@ import lcsb.mapviewer.model.map.reaction.Reaction;
 import lcsb.mapviewer.model.map.species.Element;
 
 import org.apache.commons.io.FilenameUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * Panel representing content of the gui window.
@@ -38,7 +38,7 @@ public class WindowContent extends JPanel {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private final Logger				logger					 = Logger.getLogger(WindowContent.class);
+	private final Logger				logger					 = LogManager.getLogger(WindowContent.class);
 
 	/**
 	 * Tabs with projects content.
diff --git a/editor/src/main/java/lcsb/mapviewer/editor/gui/canvas/CanvasSelectMouseListener.java b/editor/src/main/java/lcsb/mapviewer/editor/gui/canvas/CanvasSelectMouseListener.java
index b17ca82654cbe25e58b356684e3b65feea839f1e..e342d68bc4e3b98aa3d1dd8cd1f21c65c7ea00ad 100644
--- a/editor/src/main/java/lcsb/mapviewer/editor/gui/canvas/CanvasSelectMouseListener.java
+++ b/editor/src/main/java/lcsb/mapviewer/editor/gui/canvas/CanvasSelectMouseListener.java
@@ -11,7 +11,7 @@ import lcsb.mapviewer.model.map.reaction.Reaction;
 import lcsb.mapviewer.model.map.species.Element;
 import lcsb.mapviewer.model.map.species.Species;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * {@link MouseListener} used when canvas is in select mode (allows to select
@@ -33,7 +33,7 @@ public class CanvasSelectMouseListener implements MouseListener {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private Logger							logger													 = Logger.getLogger(CanvasSelectMouseListener.class);
+	private Logger							logger													 = LogManager.getLogger(CanvasSelectMouseListener.class);
 
 	/**
 	 * Canvas where drawing is performed.
diff --git a/editor/src/main/java/lcsb/mapviewer/editor/gui/canvas/MinervaCanvas.java b/editor/src/main/java/lcsb/mapviewer/editor/gui/canvas/MinervaCanvas.java
index 7190343e89fedb9dde647437d9ba316d9fd2f0c0..53231f9b36ca50bbe5bb23b23a7cd4bed2525094 100644
--- a/editor/src/main/java/lcsb/mapviewer/editor/gui/canvas/MinervaCanvas.java
+++ b/editor/src/main/java/lcsb/mapviewer/editor/gui/canvas/MinervaCanvas.java
@@ -32,7 +32,7 @@ import lcsb.mapviewer.editor.BufferedImageData;
 import lcsb.mapviewer.editor.gui.GuiStyle;
 import lcsb.mapviewer.model.map.model.Model;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * Canvas used for vizualization of the map.
@@ -82,7 +82,7 @@ public class MinervaCanvas extends JComponent {
 	/**
 	 * Default class logger.
 	 */
-	private final Logger				logger						= Logger.getLogger(MinervaCanvas.class);
+	private final Logger				logger						= LogManager.getLogger(MinervaCanvas.class);
 
 	/**
 	 * Bar representing x coordinate from which we visualize map.
diff --git a/editor/src/main/java/lcsb/mapviewer/editor/gui/detailstab/ElementDetailsPanel.java b/editor/src/main/java/lcsb/mapviewer/editor/gui/detailstab/ElementDetailsPanel.java
index 09d1633b56693497b93a63ff8c85b6e7268d555b..1b4fdcf6df0b673cdd498ec76d5f2bf4a8fd03a8 100644
--- a/editor/src/main/java/lcsb/mapviewer/editor/gui/detailstab/ElementDetailsPanel.java
+++ b/editor/src/main/java/lcsb/mapviewer/editor/gui/detailstab/ElementDetailsPanel.java
@@ -27,7 +27,7 @@ import javax.swing.JTextArea;
 import javax.swing.JTextField;
 import javax.swing.text.JTextComponent;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.commands.CommandExecutionException;
 import lcsb.mapviewer.commands.ModelCommand;
@@ -71,7 +71,7 @@ public class ElementDetailsPanel extends JPanel {
 	/**
 	 * Default class logger.
 	 */
-	private final Logger																 logger									= Logger.getLogger(ElementDetailsPanel.class);
+	private final Logger																 logger									= LogManager.getLogger(ElementDetailsPanel.class);
 
 	/**
 	 * Label for {@link Element#name} parameter.
diff --git a/editor/src/main/java/lcsb/mapviewer/editor/gui/objectedit/ObjectEditDialog.java b/editor/src/main/java/lcsb/mapviewer/editor/gui/objectedit/ObjectEditDialog.java
index a284e01aea1b8f86c9c9546b381d92a1ef6917bd..18051c43c0b7f2bb4d8cb3bf947767586a153fde 100644
--- a/editor/src/main/java/lcsb/mapviewer/editor/gui/objectedit/ObjectEditDialog.java
+++ b/editor/src/main/java/lcsb/mapviewer/editor/gui/objectedit/ObjectEditDialog.java
@@ -19,7 +19,7 @@ import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.editor.gui.ElementModifiedEvent;
 import lcsb.mapviewer.editor.gui.ElementModifiedEventListener;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * Generic class that is a dialog used for editing objects of a given class.
@@ -35,7 +35,7 @@ public abstract class ObjectEditDialog<T> {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private final Logger													logger		= Logger.getLogger(ObjectEditDialog.class);
+	private final Logger													logger		= LogManager.getLogger(ObjectEditDialog.class);
 
 	/**
 	 * Object that is currently edited.
diff --git a/editor/src/main/resources/log4j.properties b/editor/src/main/resources/log4j.properties
deleted file mode 100644
index de3161dd07081470b74af9e8018aba8ae1667e6e..0000000000000000000000000000000000000000
--- a/editor/src/main/resources/log4j.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-#Set root logger 's level and its appender to an appender called CONSOLE which is defined below.
-log4j.rootLogger=info, CONSOLE, R
-
-#Set the behavior of the CONSOLE appender 
-log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
-log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
-log4j.appender.CONSOLE.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-#log4j.appender.CONSOLE.layout.ConversionPattern=%m%n
-
-
-#Set the behavior of the FILE appender 
-log4j.appender.R=org.apache.log4j.FileAppender
-log4j.appender.R.File=minerva.log
-log4j.appender.R.layout=org.apache.log4j.PatternLayout
-log4j.appender.R.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-
-
-log4j.logger.org.springframework=warn
-log4j.logger.org.hibernate=warn
-log4j.logger.lcsb=debug
-log4j.logger.lcsb.mapviewer.persist.DbUtils=info
-log4j.logger.lcsb.mapviewer.annotation.cache.PermanentDatabaseLevelCache=info
\ No newline at end of file
diff --git a/editor/src/main/resources/log4j2.properties b/editor/src/main/resources/log4j2.properties
new file mode 100644
index 0000000000000000000000000000000000000000..b5eaa32682d177bf266eb6ed4831b4e8f4b9135d
--- /dev/null
+++ b/editor/src/main/resources/log4j2.properties
@@ -0,0 +1,25 @@
+rootLogger.level = INFO
+appenders = console
+
+appender.console.type = Console
+appender.console.name = STDOUT
+appender.console.layout.type = PatternLayout
+appender.console.layout.pattern = %d %5p [%t] (%F:%L) - %m%n
+
+rootLogger.appenderRefs = console
+
+rootLogger.appenderRef.console.ref = STDOUT
+
+logger.minerva.name = lcsb
+logger.minerva.level = debug
+logger.minerva-persist.name = lcsb.mapviewer.persist.DbUtils
+logger.minerva-persist.level = info
+logger.minerva-cache.name = lcsb.mapviewer.annotation.cache
+logger.minerva-cache.level = info
+
+
+logger.springframework.name = org.springframework
+logger.springframework.level = warn
+
+logger.hibernate.name = org.hibernate
+logger.hibernate.level = warn
diff --git a/editor/src/test/resources/log4j.properties b/editor/src/test/resources/log4j.properties
deleted file mode 100644
index de3161dd07081470b74af9e8018aba8ae1667e6e..0000000000000000000000000000000000000000
--- a/editor/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-#Set root logger 's level and its appender to an appender called CONSOLE which is defined below.
-log4j.rootLogger=info, CONSOLE, R
-
-#Set the behavior of the CONSOLE appender 
-log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
-log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
-log4j.appender.CONSOLE.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-#log4j.appender.CONSOLE.layout.ConversionPattern=%m%n
-
-
-#Set the behavior of the FILE appender 
-log4j.appender.R=org.apache.log4j.FileAppender
-log4j.appender.R.File=minerva.log
-log4j.appender.R.layout=org.apache.log4j.PatternLayout
-log4j.appender.R.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-
-
-log4j.logger.org.springframework=warn
-log4j.logger.org.hibernate=warn
-log4j.logger.lcsb=debug
-log4j.logger.lcsb.mapviewer.persist.DbUtils=info
-log4j.logger.lcsb.mapviewer.annotation.cache.PermanentDatabaseLevelCache=info
\ No newline at end of file
diff --git a/editor/src/test/resources/log4j2.properties b/editor/src/test/resources/log4j2.properties
new file mode 100644
index 0000000000000000000000000000000000000000..b5eaa32682d177bf266eb6ed4831b4e8f4b9135d
--- /dev/null
+++ b/editor/src/test/resources/log4j2.properties
@@ -0,0 +1,25 @@
+rootLogger.level = INFO
+appenders = console
+
+appender.console.type = Console
+appender.console.name = STDOUT
+appender.console.layout.type = PatternLayout
+appender.console.layout.pattern = %d %5p [%t] (%F:%L) - %m%n
+
+rootLogger.appenderRefs = console
+
+rootLogger.appenderRef.console.ref = STDOUT
+
+logger.minerva.name = lcsb
+logger.minerva.level = debug
+logger.minerva-persist.name = lcsb.mapviewer.persist.DbUtils
+logger.minerva-persist.level = info
+logger.minerva-cache.name = lcsb.mapviewer.annotation.cache
+logger.minerva-cache.level = info
+
+
+logger.springframework.name = org.springframework
+logger.springframework.level = warn
+
+logger.hibernate.name = org.hibernate
+logger.hibernate.level = warn
diff --git a/model-command/pom.xml b/model-command/pom.xml
index a6d6b9166e5e5d8ba19f8ceef4098a0756356950..3092bcd4253f55c1b6605bc82cf84fb94edb14e0 100644
--- a/model-command/pom.xml
+++ b/model-command/pom.xml
@@ -27,10 +27,16 @@
       <version>1.0</version>
     </dependency>
 
+		<!-- Log4J2-->
 		<dependency>
-			<groupId>log4j</groupId>
-			<artifactId>log4j</artifactId>
-			<version>${log4j.version}</version>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-api</artifactId>
+			<version>${log4j2.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-core</artifactId>
+			<version>${log4j2.version}</version>
 		</dependency>
 
 		<!-- mockito used for testing -->
diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/ColorModelCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/ColorModelCommand.java
index 0604eb7b481275c4ed3a5633bcbbfa0ec6712451..37cc33ce058c2543bfdf70999127599680474610 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/ColorModelCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/ColorModelCommand.java
@@ -7,7 +7,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.comparator.StringComparator;
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
@@ -42,7 +42,7 @@ public class ColorModelCommand extends ModelCommand {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(ColorModelCommand.class);
+  private Logger logger = LogManager.getLogger(ColorModelCommand.class);
 
   /**
    * Set of color schemas used in this command to color model.
diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/CopyCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/CopyCommand.java
index 5534be103fc088db2a762530ed2bd2738deead60..3d5f910225c5d746ac6d4405dc58658c66869153 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/CopyCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/CopyCommand.java
@@ -6,7 +6,7 @@ import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.common.exception.InvalidClassException;
@@ -44,7 +44,7 @@ public class CopyCommand extends NewModelCommand {
    * Defaul class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(CopyCommand.class);
+  private static Logger logger = LogManager.getLogger(CopyCommand.class);
 
   /**
    * Default constructor.
diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/CreateHierarchyCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/CreateHierarchyCommand.java
index adb5061425f39f5a07d72c0728ee30ace2141be7..6f7c9f9e3c360c468885b6306ad00370e9170c2f 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/CreateHierarchyCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/CreateHierarchyCommand.java
@@ -7,7 +7,7 @@ import java.util.List;
 import java.util.Set;
 
 import org.apache.commons.lang3.math.NumberUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Configuration;
 import lcsb.mapviewer.common.exception.InvalidStateException;
@@ -36,7 +36,7 @@ public class CreateHierarchyCommand extends ModelCommand {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(CreateHierarchyCommand.class);
+  private static Logger logger = LogManager.getLogger(CreateHierarchyCommand.class);
   /**
    * Natural logarithm of four.
    */
diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/MoveElementsCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/MoveElementsCommand.java
index 42eead9a222d343d86f3fb6377b59b461209f149..251149fcf3ccf5ee5ae6c9cbac90b1a1cfb2e64c 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/MoveElementsCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/MoveElementsCommand.java
@@ -7,7 +7,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.common.exception.InvalidStateException;
@@ -36,7 +36,7 @@ public class MoveElementsCommand extends ModelCommand {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private final Logger logger = Logger.getLogger(MoveElementsCommand.class);
+  private final Logger logger = LogManager.getLogger(MoveElementsCommand.class);
 
   /**
    * Delta x.
diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/SemanticZoomLevelMatcher.java b/model-command/src/main/java/lcsb/mapviewer/commands/SemanticZoomLevelMatcher.java
index 8e55dbd35a707a07aa425b9c166fb372d61f951e..d49f59d7a0a08874a2efb2892931c875687f99ec 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/SemanticZoomLevelMatcher.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/SemanticZoomLevelMatcher.java
@@ -1,13 +1,13 @@
 package lcsb.mapviewer.commands;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 public class SemanticZoomLevelMatcher {
 	/**
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private Logger logger = Logger.getLogger(SemanticZoomLevelMatcher.class);
+	private Logger logger = LogManager.getLogger(SemanticZoomLevelMatcher.class);
 
 	/**
 	 * Checks if level belongs to the range defined in
diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/SetFixedHierarchyLevelCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/SetFixedHierarchyLevelCommand.java
index b6d44ee2198f2e7e33f4d844a6b983cc3d40650e..99325ce1f18a70c8cf2860efc745e582b367e9dd 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/SetFixedHierarchyLevelCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/SetFixedHierarchyLevelCommand.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.commands;
 import java.util.HashSet;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.InvalidStateException;
 import lcsb.mapviewer.common.exception.NotImplementedException;
@@ -24,7 +24,7 @@ public class SetFixedHierarchyLevelCommand extends ModelCommand {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(SetFixedHierarchyLevelCommand.class);
+  private static Logger logger = LogManager.getLogger(SetFixedHierarchyLevelCommand.class);
   private Integer level;
 
   public SetFixedHierarchyLevelCommand(Model model, Integer level) {
diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/SubModelCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/SubModelCommand.java
index b1e301093a37e90c7e003adfb607acfadd20ca73..de058e7b7e2d815dbe4845da018ab0fe276c5fad 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/SubModelCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/SubModelCommand.java
@@ -6,7 +6,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.model.map.layout.graphics.Layer;
 import lcsb.mapviewer.model.map.layout.graphics.LayerText;
@@ -26,7 +26,7 @@ import lcsb.mapviewer.model.map.species.Species;
  */
 public class SubModelCommand extends NewModelCommand {
 
-  Logger logger = Logger.getLogger(SubModelCommand.class);
+  Logger logger = LogManager.getLogger(SubModelCommand.class);
 
   /**
    * Polygon that limits the area for the new model.
diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/layout/ApplyLayoutModelCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/layout/ApplyLayoutModelCommand.java
index fe321ba0709cd2d8cfaa676904aef2bdcedea353..b760013ef39bc5f2209ee9d69c4139d802e156d2 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/layout/ApplyLayoutModelCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/layout/ApplyLayoutModelCommand.java
@@ -5,7 +5,7 @@ import java.awt.geom.Point2D;
 import java.util.Collection;
 import java.util.HashSet;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.commands.ModelCommand;
 import lcsb.mapviewer.common.geometry.DoubleDimension;
@@ -18,7 +18,7 @@ public abstract class ApplyLayoutModelCommand extends ModelCommand {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(ApplyLayoutModelCommand.class);
+  private Logger logger = LogManager.getLogger(ApplyLayoutModelCommand.class);
   private Collection<BioEntity> bioEntities;
   private Double minX;
   private Double minY;
diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/layout/ApplySimpleLayoutModelCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/layout/ApplySimpleLayoutModelCommand.java
index bc5a62e40ec7db894c18582101675ea10d6f1137..22cfbb91e5bf11c2b0f8b957608400280a51c046 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/layout/ApplySimpleLayoutModelCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/layout/ApplySimpleLayoutModelCommand.java
@@ -12,7 +12,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.commands.CommandExecutionException;
 import lcsb.mapviewer.common.Configuration;
@@ -50,7 +50,7 @@ public class ApplySimpleLayoutModelCommand extends ApplyLayoutModelCommand {
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(ApplySimpleLayoutModelCommand.class);
+  private Logger logger = LogManager.getLogger(ApplySimpleLayoutModelCommand.class);
 
   public static final double COMPARTMENT_BORDER = 10;
   private static final double BORDER_FROM_EXISTING_ELEMENTS = 10;
diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/properties/AddElementFormerSymbolsCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/properties/AddElementFormerSymbolsCommand.java
index 27c1f946491d70f98c4871fd7d1c8e0d59ea69be..7b94301d00fdcb1e23918288899dd635a075738d 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/properties/AddElementFormerSymbolsCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/properties/AddElementFormerSymbolsCommand.java
@@ -2,7 +2,7 @@ package lcsb.mapviewer.commands.properties;
 
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.commands.CommandExecutionException;
 import lcsb.mapviewer.model.map.model.Model;
@@ -21,7 +21,7 @@ public class AddElementFormerSymbolsCommand extends AddElementPropertyListEntryC
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private final Logger logger = Logger.getLogger(AddElementFormerSymbolsCommand.class);
+	private final Logger logger = LogManager.getLogger(AddElementFormerSymbolsCommand.class);
 
 	/**
 	 * Default constructor.
diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/properties/AddElementMiriamDataCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/properties/AddElementMiriamDataCommand.java
index d39ea3a322db1979b8bf4604ba10deccbe1a28ca..ba6c0591953fe643b31bb702e51b7f19bb7211f5 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/properties/AddElementMiriamDataCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/properties/AddElementMiriamDataCommand.java
@@ -2,7 +2,7 @@ package lcsb.mapviewer.commands.properties;
 
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.commands.CommandExecutionException;
 import lcsb.mapviewer.model.map.MiriamData;
@@ -22,7 +22,7 @@ public class AddElementMiriamDataCommand extends AddElementPropertyListEntryComm
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private final Logger logger = Logger.getLogger(AddElementMiriamDataCommand.class);
+	private final Logger logger = LogManager.getLogger(AddElementMiriamDataCommand.class);
 
 	/**
 	 * Default constructor.
diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/properties/AddElementSynonymsCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/properties/AddElementSynonymsCommand.java
index 8b9d92133526c16d8a8ee7cbb41916ba9eb3248b..ee8bd9971b0003568412047d254784bdb05d2d49 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/properties/AddElementSynonymsCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/properties/AddElementSynonymsCommand.java
@@ -2,7 +2,7 @@ package lcsb.mapviewer.commands.properties;
 
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.commands.CommandExecutionException;
 import lcsb.mapviewer.model.map.model.Model;
@@ -21,7 +21,7 @@ public class AddElementSynonymsCommand extends AddElementPropertyListEntryComman
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private final Logger logger = Logger.getLogger(AddElementSynonymsCommand.class);
+	private final Logger logger = LogManager.getLogger(AddElementSynonymsCommand.class);
 
 	/**
 	 * Default constructor.
diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementAbbreviationCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementAbbreviationCommand.java
index 61854ce6f87e49512579c7edc969b623113826b0..acad51f8d5b0c577f2d72bee50db33fb5293fff0 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementAbbreviationCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementAbbreviationCommand.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.commands.properties;
 import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.species.Element;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * {@link lcsb.mapviewer.commands.ModelCommand ModelCommand} that changes name
@@ -18,7 +18,7 @@ public class ChangeElementAbbreviationCommand extends ChangeElementPropertyComma
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private final Logger logger = Logger.getLogger(ChangeElementAbbreviationCommand.class);
+	private final Logger logger = LogManager.getLogger(ChangeElementAbbreviationCommand.class);
 
 	/**
 	 * Default constructor.
diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementColorCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementColorCommand.java
index c6a469444136fe3be0b7b8f149e099562b6d45ac..5f42faaa870725c2848765785467ba7826ed0924 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementColorCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementColorCommand.java
@@ -5,7 +5,7 @@ import java.awt.Color;
 import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.species.Element;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * {@link lcsb.mapviewer.commands.ModelCommand ModelCommand} that
@@ -20,7 +20,7 @@ public class ChangeElementColorCommand extends ChangeElementPropertyCommand<Colo
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private final Logger logger = Logger.getLogger(ChangeElementColorCommand.class);
+	private final Logger logger = LogManager.getLogger(ChangeElementColorCommand.class);
 
 	/**
 	 * Default constructor.
diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementFontSizeCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementFontSizeCommand.java
index a00d9de774ecf2bb78d31348c14403699efa31d3..f128cba3af24b69dda5591f2c2b841def7c234ec 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementFontSizeCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementFontSizeCommand.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.commands.properties;
 import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.species.Element;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * {@link lcsb.mapviewer.commands.ModelCommand ModelCommand} that changes
@@ -18,7 +18,7 @@ public class ChangeElementFontSizeCommand extends ChangeElementPropertyCommand<D
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private final Logger logger = Logger.getLogger(ChangeElementFontSizeCommand.class);
+	private final Logger logger = LogManager.getLogger(ChangeElementFontSizeCommand.class);
 
 	/**
 	 * Default constructor.
diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementFormerSymbolCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementFormerSymbolCommand.java
index 01fc85e437b67eb4acb294577fb68a15cf91828f..5e82bf21d138adfa6211c309716c66858ddd11b4 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementFormerSymbolCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementFormerSymbolCommand.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.commands.properties;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.commands.CommandExecutionException;
 import lcsb.mapviewer.model.map.model.Model;
@@ -19,7 +19,7 @@ public class ChangeElementFormerSymbolCommand extends ChangeElementPropertyListE
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private final Logger logger = Logger.getLogger(ChangeElementFormerSymbolCommand.class);
+	private final Logger logger = LogManager.getLogger(ChangeElementFormerSymbolCommand.class);
 
 	/**
 	 * Default constructor.
diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementFormulaCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementFormulaCommand.java
index e0c3f23b8168cf9f7755b639a28e538c5469b30f..238ea5f95d875b513f565ac608466ea23ebf43c5 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementFormulaCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementFormulaCommand.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.commands.properties;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.species.Element;
@@ -18,7 +18,7 @@ public class ChangeElementFormulaCommand extends ChangeElementPropertyCommand<St
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private final Logger logger = Logger.getLogger(ChangeElementFormulaCommand.class);
+	private final Logger logger = LogManager.getLogger(ChangeElementFormulaCommand.class);
 
 	/**
 	 * Default constructor.
diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementFullNameCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementFullNameCommand.java
index 63d4e415504aacff2733bcd775fd0c118efc97f7..cdf2c16147497ea14d7dab9622707d123d5cdd94 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementFullNameCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementFullNameCommand.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.commands.properties;
 import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.species.Element;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * {@link lcsb.mapviewer.commands.ModelCommand ModelCommand} that changes full
@@ -18,7 +18,7 @@ public class ChangeElementFullNameCommand extends ChangeElementPropertyCommand<S
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private final Logger logger = Logger.getLogger(ChangeElementFullNameCommand.class);
+	private final Logger logger = LogManager.getLogger(ChangeElementFullNameCommand.class);
 
 	/**
 	 * Default constructor.
diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementMiriamDataCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementMiriamDataCommand.java
index fc97cf1e541ea9bc23eef3a8a642216861d85ff3..60623304552ca1a211c15cf2b879f2da485305e7 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementMiriamDataCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementMiriamDataCommand.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.commands.properties;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.commands.CommandExecutionException;
 import lcsb.mapviewer.model.map.MiriamData;
@@ -20,7 +20,7 @@ public class ChangeElementMiriamDataCommand extends ChangeElementPropertyListEnt
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private final Logger logger = Logger.getLogger(ChangeElementMiriamDataCommand.class);
+	private final Logger logger = LogManager.getLogger(ChangeElementMiriamDataCommand.class);
 
 	/**
 	 * Default constructor.
diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementNameCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementNameCommand.java
index 584a8a731775875420d6d3f163dea06a13e1edc7..7a6f4d5d7fb0e2b2938e14e39b2894cdc17caea2 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementNameCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementNameCommand.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.commands.properties;
 import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.species.Element;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * {@link lcsb.mapviewer.commands.ModelCommand ModelCommand} that changes name
@@ -18,7 +18,7 @@ public class ChangeElementNameCommand extends ChangeElementPropertyCommand<Strin
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private final Logger logger = Logger.getLogger(ChangeElementNameCommand.class);
+	private final Logger logger = LogManager.getLogger(ChangeElementNameCommand.class);
 
 	/**
 	 * Default constructor.
diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementNotesCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementNotesCommand.java
index 4a9cfb50c12dbabfafa90a1b5246d23d2ebc4d62..77a25a50bd2365dd088e3bfd1bf075d728b92393 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementNotesCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementNotesCommand.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.commands.properties;
 import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.species.Element;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * {@link lcsb.mapviewer.commands.ModelCommand ModelCommand} that changes notes
@@ -18,7 +18,7 @@ public class ChangeElementNotesCommand extends ChangeElementPropertyCommand<Stri
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private final Logger logger = Logger.getLogger(ChangeElementNotesCommand.class);
+	private final Logger logger = LogManager.getLogger(ChangeElementNotesCommand.class);
 
 	/**
 	 * Default constructor.
diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementSymbolCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementSymbolCommand.java
index 8d0ccf5680762861c6e76b1e9bc9d2c5ceea4d1c..646926e4d57d8150cfed8ed1add39c3cf5841207 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementSymbolCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementSymbolCommand.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.commands.properties;
 import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.species.Element;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * {@link lcsb.mapviewer.commands.ModelCommand ModelCommand} that changes symbol
@@ -18,7 +18,7 @@ public class ChangeElementSymbolCommand extends ChangeElementPropertyCommand<Str
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private final Logger logger = Logger.getLogger(ChangeElementSymbolCommand.class);
+	private final Logger logger = LogManager.getLogger(ChangeElementSymbolCommand.class);
 
 	/**
 	 * Default constructor.
diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementSynonymCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementSynonymCommand.java
index 48de685439d1b10af1dd0ada487107d62919677a..8c0d2705b06467ed6b503b0f6ea7915cc9a23fae 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementSynonymCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/properties/ChangeElementSynonymCommand.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.commands.properties;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.commands.CommandExecutionException;
 import lcsb.mapviewer.model.map.model.Model;
@@ -19,7 +19,7 @@ public class ChangeElementSynonymCommand extends ChangeElementPropertyListEntryC
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private final Logger logger = Logger.getLogger(ChangeElementSynonymCommand.class);
+	private final Logger logger = LogManager.getLogger(ChangeElementSynonymCommand.class);
 
 	/**
 	 * Default constructor.
diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/properties/RemoveElementFormerSymbolsCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/properties/RemoveElementFormerSymbolsCommand.java
index e4d2d18926366d265b123cfcf90f1f71653c5263..13e233fd70f4fb84dce0087cc4f2aa5d16098cc3 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/properties/RemoveElementFormerSymbolsCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/properties/RemoveElementFormerSymbolsCommand.java
@@ -2,7 +2,7 @@ package lcsb.mapviewer.commands.properties;
 
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.commands.CommandExecutionException;
 import lcsb.mapviewer.model.map.model.Model;
@@ -21,7 +21,7 @@ public class RemoveElementFormerSymbolsCommand extends RemoveElementPropertyList
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private final Logger logger = Logger.getLogger(RemoveElementFormerSymbolsCommand.class);
+	private final Logger logger = LogManager.getLogger(RemoveElementFormerSymbolsCommand.class);
 
 	/**
 	 * Default constructor.
diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/properties/RemoveElementMiriamDataCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/properties/RemoveElementMiriamDataCommand.java
index f8d9dec4d6ec76152cd02a3eb0feee3c2fda8a23..4a7bc50cf0cb98e65be10853773a5b6455f674fe 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/properties/RemoveElementMiriamDataCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/properties/RemoveElementMiriamDataCommand.java
@@ -2,7 +2,7 @@ package lcsb.mapviewer.commands.properties;
 
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.commands.CommandExecutionException;
 import lcsb.mapviewer.model.map.MiriamData;
@@ -22,7 +22,7 @@ public class RemoveElementMiriamDataCommand extends RemoveElementPropertyListEnt
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private final Logger logger = Logger.getLogger(RemoveElementMiriamDataCommand.class);
+	private final Logger logger = LogManager.getLogger(RemoveElementMiriamDataCommand.class);
 
 	/**
 	 * Default constructor.
diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/properties/RemoveElementSynonymsCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/properties/RemoveElementSynonymsCommand.java
index 2c39a420951beff130986c6d5f1953fe6db949f8..318510ec51c93de6d2056640d18cf96c7ed931b7 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/properties/RemoveElementSynonymsCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/properties/RemoveElementSynonymsCommand.java
@@ -2,7 +2,7 @@ package lcsb.mapviewer.commands.properties;
 
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.commands.CommandExecutionException;
 import lcsb.mapviewer.model.map.model.Model;
@@ -21,7 +21,7 @@ public class RemoveElementSynonymsCommand extends RemoveElementPropertyListEntry
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private final Logger logger = Logger.getLogger(RemoveElementSynonymsCommand.class);
+	private final Logger logger = LogManager.getLogger(RemoveElementSynonymsCommand.class);
 
 	/**
 	 * Default constructor.
diff --git a/model-command/src/test/java/lcsb/mapviewer/commands/ColorModelCommandTest.java b/model-command/src/test/java/lcsb/mapviewer/commands/ColorModelCommandTest.java
index a7e8702c8fa6596d13dec3033575fef71122e445..ad04e4e0010a5705c1a3b41093af37912cb6027e 100644
--- a/model-command/src/test/java/lcsb/mapviewer/commands/ColorModelCommandTest.java
+++ b/model-command/src/test/java/lcsb/mapviewer/commands/ColorModelCommandTest.java
@@ -11,7 +11,7 @@ import java.util.Collection;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -32,7 +32,7 @@ import lcsb.mapviewer.model.map.species.GenericProtein;
 import lcsb.mapviewer.model.map.species.Protein;
 
 public class ColorModelCommandTest extends CommandTestFunctions {
-  Logger logger = Logger.getLogger(ColorModelCommandTest.class);
+  Logger logger = LogManager.getLogger(ColorModelCommandTest.class);
 
   ColorExtractor colorExtractor = new ColorExtractor(Color.RED, Color.GREEN, Color.BLUE);
 
diff --git a/model-command/src/test/java/lcsb/mapviewer/commands/CommandTestFunctions.java b/model-command/src/test/java/lcsb/mapviewer/commands/CommandTestFunctions.java
index b003428d07128446273a0ad8a6dca29b976e0db5..1a835fc4456d50a8e15760b8b04abb6f6eb48637 100644
--- a/model-command/src/test/java/lcsb/mapviewer/commands/CommandTestFunctions.java
+++ b/model-command/src/test/java/lcsb/mapviewer/commands/CommandTestFunctions.java
@@ -8,7 +8,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.converter.ConverterParams;
 import lcsb.mapviewer.converter.InvalidInputDataExecption;
@@ -23,7 +23,7 @@ import lcsb.mapviewer.model.map.species.GenericProtein;
 public abstract class CommandTestFunctions {
   public double EPSILON = 1e-6;
 
-  Logger logger = Logger.getLogger(CommandTestFunctions.class);
+  Logger logger = LogManager.getLogger(CommandTestFunctions.class);
 
   private static Map<String, Model> models = new HashMap<String, Model>();
 
diff --git a/model-command/src/test/java/lcsb/mapviewer/commands/CreateHierarchyCommandTest.java b/model-command/src/test/java/lcsb/mapviewer/commands/CreateHierarchyCommandTest.java
index 70809cf5ae2f8e040010437622e51e87482a4a7f..f1fefd41d7a859ca5f353f2084978ddbbeaf9961 100644
--- a/model-command/src/test/java/lcsb/mapviewer/commands/CreateHierarchyCommandTest.java
+++ b/model-command/src/test/java/lcsb/mapviewer/commands/CreateHierarchyCommandTest.java
@@ -14,7 +14,7 @@ import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -30,7 +30,7 @@ import lcsb.mapviewer.model.map.species.Species;
 import lcsb.mapviewer.modelutils.map.ElementUtils;
 
 public class CreateHierarchyCommandTest extends CommandTestFunctions {
-  Logger logger = Logger.getLogger(CreateHierarchyCommandTest.class);
+  Logger logger = LogManager.getLogger(CreateHierarchyCommandTest.class);
 
   @Before
   public void setUp() throws Exception {
diff --git a/model-command/src/test/resources/log4j.properties b/model-command/src/test/resources/log4j.properties
deleted file mode 100644
index 055d98980b4e018a2e889adcf505703be62756c9..0000000000000000000000000000000000000000
--- a/model-command/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-#Set root logger 's level and its appender to an appender called CONSOLE which is defined below.
-log4j.rootLogger=info, CONSOLE
-
-#Set the behavior of the CONSOLE appender 
-log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
-log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
-log4j.appender.CONSOLE.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-#log4j.appender.CONSOLE.layout.ConversionPattern=%m%n
-
-
-#Set the behavior of the FILE appender 
-log4j.appender.R=org.apache.log4j.FileAppender
-log4j.appender.R.File=${catalina.home}/logs/MapViewer.log
-log4j.appender.R.layout=org.apache.log4j.PatternLayout
-log4j.appender.R.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-
-
-log4j.logger.org.springframework=warn
-log4j.logger.org.hibernate=warn
-log4j.logger.lcsb=debug
diff --git a/model-command/src/test/resources/log4j2.properties b/model-command/src/test/resources/log4j2.properties
new file mode 100644
index 0000000000000000000000000000000000000000..b5eaa32682d177bf266eb6ed4831b4e8f4b9135d
--- /dev/null
+++ b/model-command/src/test/resources/log4j2.properties
@@ -0,0 +1,25 @@
+rootLogger.level = INFO
+appenders = console
+
+appender.console.type = Console
+appender.console.name = STDOUT
+appender.console.layout.type = PatternLayout
+appender.console.layout.pattern = %d %5p [%t] (%F:%L) - %m%n
+
+rootLogger.appenderRefs = console
+
+rootLogger.appenderRef.console.ref = STDOUT
+
+logger.minerva.name = lcsb
+logger.minerva.level = debug
+logger.minerva-persist.name = lcsb.mapviewer.persist.DbUtils
+logger.minerva-persist.level = info
+logger.minerva-cache.name = lcsb.mapviewer.annotation.cache
+logger.minerva-cache.level = info
+
+
+logger.springframework.name = org.springframework
+logger.springframework.level = warn
+
+logger.hibernate.name = org.hibernate
+logger.hibernate.level = warn
diff --git a/model/pom.xml b/model/pom.xml
index 4b9e42594784e985eba784a28b21711b6d53109d..1321aae6e12d367b64dbb16c663094148943f542 100644
--- a/model/pom.xml
+++ b/model/pom.xml
@@ -60,11 +60,21 @@
 			<version>${xml-apis.version}</version>
 		</dependency>
 
-		<!-- Log4j - logging -->
+		<!-- Log4J2-->
 		<dependency>
-			<groupId>log4j</groupId>
-			<artifactId>log4j</artifactId>
-			<version>${log4j.version}</version>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-api</artifactId>
+			<version>${log4j2.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-core</artifactId>
+			<version>${log4j2.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>commons-io</groupId>
+			<artifactId>commons-io</artifactId>
+			<version>${commons-io.version}</version>
 		</dependency>
 
 		<dependency>
diff --git a/model/src/main/java/lcsb/mapviewer/model/Project.java b/model/src/main/java/lcsb/mapviewer/model/Project.java
index 9991f192e912a267ff7afef0ccbc75d2676425c8..acae1a00e9b2188d3b19f239de7e14c3fdfe95aa 100644
--- a/model/src/main/java/lcsb/mapviewer/model/Project.java
+++ b/model/src/main/java/lcsb/mapviewer/model/Project.java
@@ -20,15 +20,16 @@ import javax.persistence.OneToMany;
 import javax.persistence.OneToOne;
 import javax.persistence.OrderBy;
 
-import org.apache.log4j.Appender;
-import org.apache.log4j.Logger;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.*;
+import org.apache.logging.log4j.core.LogEvent;
+
 import org.hibernate.annotations.Cascade;
 import org.hibernate.annotations.CascadeType;
 import org.hibernate.annotations.LazyCollection;
 import org.hibernate.annotations.LazyCollectionOption;
 
-import lcsb.mapviewer.common.EventStorageLoggerAppender;
+
+import lcsb.mapviewer.common.MinervaLoggerAppender;
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.model.cache.UploadedFileEntry;
 import lcsb.mapviewer.model.graphics.MapCanvasType;
@@ -54,7 +55,7 @@ public class Project implements Serializable {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(Project.class);
+  private static Logger logger = LogManager.getLogger(Project.class);
 
   /**
   	* 
@@ -479,14 +480,10 @@ public class Project implements Serializable {
    * @param appender
    *          {@link Appender log4j appender} that gathered logs
    */
-  public void addLoggingInfo(EventStorageLoggerAppender appender) {
+  public void addLoggingInfo(MinervaLoggerAppender appender) {
     List<String> warnings = new ArrayList<>();
-    for (LoggingEvent event : appender.getWarnings()) {
-      if (event.getMessage() instanceof String) {
-        warnings.add(((String) event.getMessage()).replaceAll("\n", "_NEW_LINE_"));
-      } else {
-        logger.warn("Unknown message class: " + event.getClass());
-      }
+    for (LogEvent event : appender.getWarnings()) {
+        warnings.add(event.getMessage().getFormattedMessage().replaceAll("\n", "_NEW_LINE_"));
     }
     addWarnings(warnings);
   }
diff --git a/model/src/main/java/lcsb/mapviewer/model/graphics/ArrowTypeDataComparator.java b/model/src/main/java/lcsb/mapviewer/model/graphics/ArrowTypeDataComparator.java
index 9f482e2c3a3b6d988acc9a90130a11759e1d60cd..63a3dfcfd1b5aaa41435b1545fc36c582f8106a8 100644
--- a/model/src/main/java/lcsb/mapviewer/model/graphics/ArrowTypeDataComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/graphics/ArrowTypeDataComparator.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.model.graphics;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.Configuration;
@@ -17,7 +17,7 @@ public class ArrowTypeDataComparator extends Comparator<ArrowTypeData> {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(PolylineDataComparator.class);
+  private static Logger logger = LogManager.getLogger(PolylineDataComparator.class);
 
   /**
    * Epsilon value used for comparison of doubles.
diff --git a/model/src/main/java/lcsb/mapviewer/model/graphics/PolylineData.java b/model/src/main/java/lcsb/mapviewer/model/graphics/PolylineData.java
index efb5eb7076a0eb4a54aabdcac1a42823147135b2..afeed73af0f6144ca5e338c40d37d5d7829ce60d 100644
--- a/model/src/main/java/lcsb/mapviewer/model/graphics/PolylineData.java
+++ b/model/src/main/java/lcsb/mapviewer/model/graphics/PolylineData.java
@@ -21,7 +21,7 @@ import javax.persistence.Id;
 import javax.persistence.JoinColumn;
 import javax.persistence.OrderColumn;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.hibernate.annotations.Cascade;
 import org.hibernate.annotations.CascadeType;
 import org.hibernate.annotations.Type;
@@ -56,7 +56,7 @@ public class PolylineData implements Serializable, Drawable {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(PolylineData.class);
+  private static Logger logger = LogManager.getLogger(PolylineData.class);
 
   /**
    * Unique identifier in the database.
diff --git a/model/src/main/java/lcsb/mapviewer/model/graphics/PolylineDataComparator.java b/model/src/main/java/lcsb/mapviewer/model/graphics/PolylineDataComparator.java
index edebdb97720fdbef40d0ca0b0381c564fc5bcc81..0dd770744ba0e7160bdb12d1cafc99c80624bfe2 100644
--- a/model/src/main/java/lcsb/mapviewer/model/graphics/PolylineDataComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/graphics/PolylineDataComparator.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.model.graphics;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.Configuration;
@@ -18,7 +18,7 @@ public class PolylineDataComparator extends Comparator<PolylineData> {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(PolylineDataComparator.class);
+  private static Logger logger = LogManager.getLogger(PolylineDataComparator.class);
 
   /**
    * Epsilon value used for comparison of doubles.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/MiriamData.java b/model/src/main/java/lcsb/mapviewer/model/map/MiriamData.java
index 43cfcdceb7be52820a73beb7a42d97c7675e60d9..1c5908da6136362f5cf3b9e200ecedffaff54dd8 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/MiriamData.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/MiriamData.java
@@ -10,7 +10,7 @@ import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.xml.bind.annotation.XmlRootElement;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 
@@ -29,7 +29,7 @@ public class MiriamData implements Comparable<MiriamData>, Serializable {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(MiriamData.class);
+  private static Logger logger = LogManager.getLogger(MiriamData.class);
 
   /**
    * 
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/MiriamType.java b/model/src/main/java/lcsb/mapviewer/model/map/MiriamType.java
index 5ffc1941711b3373bb1d97096d5e8d67308eabc4..9ed33ca02cf35892746804f801db7690664ebdc8 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/MiriamType.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/MiriamType.java
@@ -3,6 +3,9 @@ package lcsb.mapviewer.model.map;
 import java.util.ArrayList;
 import java.util.List;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.model.map.compartment.Compartment;
 import lcsb.mapviewer.model.map.reaction.Reaction;
@@ -26,22 +29,35 @@ public enum MiriamType {
   BiGG_COMPARTMENT("BiGG Compartment",
       "http://bigg.ucsd.edu/compartments/",
       new String[] { "urn:miriam:bigg.compartment" },
-      new Class<?>[] {}, "MIR:00000555"),
+      new Class<?>[] {},
+      "MIR:00000555",
+      new Class<?>[] {},
+      "bigg.compartment",
+      "c"),
 
   BiGG_METABOLITE("BiGG Metabolite",
       "http://bigg.ucsd.edu/universal/metabolites",
       new String[] { "urn:miriam:bigg.metabolite" },
-      new Class<?>[] {}, "MIR:00000556"),
+      new Class<?>[] {}, "MIR:00000556",
+      new Class<?>[] {},
+      "bigg.metabolite",
+      "12dgr161"),
 
   BiGG_REACTIONS("BiGG Reaction",
       "http://bigg.ucsd.edu/universal/reactions",
       new String[] { "urn:miriam:bigg.reaction" },
-      new Class<?>[] {}, "MIR:00000557"),
+      new Class<?>[] {}, "MIR:00000557",
+      new Class<?>[] {},
+      "bigg.reaction",
+      "13GS"),
 
   BIOMODELS_DATABASE("BioModels Database",
       "https://www.ebi.ac.uk/biomodels/",
       new String[] { "urn:miriam:biomodels.db", "http://identifiers.org/biomodels.db/" },
-      new Class<?>[] {}, "MIR:00000007"),
+      new Class<?>[] {}, "MIR:00000007",
+      new Class<?>[] {},
+      "biomodels.db",
+      "BIOMD0000000048"),
 
   /**
    * Brenda enzyme database: http://www.brenda-enzymes.org.
@@ -49,7 +65,10 @@ public enum MiriamType {
   BRENDA("BRENDA",
       "http://www.brenda-enzymes.org",
       new String[] { "urn:miriam:brenda" },
-      new Class<?>[] {}, "MIR:00100101"),
+      new Class<?>[] {}, "MIR:00000071",
+      new Class<?>[] {},
+      "brenda",
+      "1.1.1.1"),
 
   /**
    * Chemical Abstracts Service database: http://commonchemistry.org.
@@ -57,7 +76,10 @@ public enum MiriamType {
   CAS("Chemical Abstracts Service",
       "http://commonchemistry.org",
       new String[] { "urn:miriam:cas" },
-      new Class<?>[] {}, "MIR:00000237"),
+      new Class<?>[] {}, "MIR:00000237",
+      new Class<?>[] {},
+      "cas",
+      "50-00-0"),
 
   /**
    * The Carbohydrate-Active Enzyme (CAZy) database: http://www.cazy.org/.
@@ -65,7 +87,10 @@ public enum MiriamType {
   CAZY("CAZy",
       "http://commonchemistry.org",
       new String[] { "urn:miriam:cazy" },
-      new Class<?>[] {}, "MIR:00000195"),
+      new Class<?>[] {}, "MIR:00000195",
+      new Class<?>[] {},
+      "cazy",
+      "GT10"),
 
   /**
    * Consensus CDS: http://identifiers.org/ccds/.
@@ -73,7 +98,10 @@ public enum MiriamType {
   CCDS("Consensus CDS",
       "http://www.ncbi.nlm.nih.gov/CCDS/",
       new String[] { "urn:miriam:ccds" },
-      new Class<?>[] {}, "MIR:00000375"),
+      new Class<?>[] {}, "MIR:00000375",
+      new Class<?>[] {},
+      "ccds",
+      "CCDS13573.1"),
 
   /**
    * Chebi database:
@@ -84,7 +112,9 @@ public enum MiriamType {
       new String[] { "urn:miriam:obo.chebi", "urn:miriam:chebi",
           "http://identifiers.org/chebi/", "http://identifiers.org/obo.chebi/" },
       new Class<?>[] { Chemical.class, Drug.class, }, "MIR:00000002",
-      new Class<?>[] { Chemical.class }),
+      new Class<?>[] { Chemical.class },
+      "",
+      "CHEBI:36927"),
 
   /**
    * ChemSpider database:
@@ -93,7 +123,10 @@ public enum MiriamType {
   CHEMSPIDER("ChemSpider",
       "http://www.chemspider.com//",
       new String[] { "urn:miriam:chemspider" },
-      new Class<?>[] {}, "MIR:00000138"),
+      new Class<?>[] {}, "MIR:00000138",
+      new Class<?>[] {},
+      "chemspider",
+      "56586"),
 
   /**
    * Chembl database: https://www.ebi.ac.uk/chembldb/.
@@ -101,7 +134,10 @@ public enum MiriamType {
   CHEMBL_COMPOUND("ChEMBL",
       "https://www.ebi.ac.uk/chembldb/",
       new String[] { "urn:miriam:chembl.compound" },
-      new Class<?>[] { Drug.class }, "MIR:00000084"),
+      new Class<?>[] { Drug.class }, "MIR:00000084",
+      new Class<?>[] {},
+      "chembl.compound",
+      "CHEMBL308052"),
 
   /**
    * Target in chembl database: https://www.ebi.ac.uk/chembldb/.
@@ -109,12 +145,18 @@ public enum MiriamType {
   CHEMBL_TARGET("ChEMBL target",
       "https://www.ebi.ac.uk/chembldb/",
       new String[] { "urn:miriam:chembl.target" },
-      new Class<?>[] { Protein.class, Complex.class }, "MIR:00000085"),
+      new Class<?>[] { Protein.class, Complex.class }, "MIR:00000085",
+      new Class<?>[] {},
+      "chembl.target",
+      "CHEMBL3467"),
 
   CLINICAL_TRIALS_GOV("ClinicalTrials.gov",
       "https://clinicaltrials.gov/",
       new String[] { "urn:miriam:clinicaltrials" },
-      new Class<?>[] {}, "MIR:00000137"),
+      new Class<?>[] {}, "MIR:00000137",
+      new Class<?>[] {},
+      "clinicaltrials",
+      "NCT00222573"),
 
   /**
    * Clusters of Orthologous Groups: https://www.ncbi.nlm.nih.gov/COG/.
@@ -122,7 +164,10 @@ public enum MiriamType {
   COG("Clusters of Orthologous Groups",
       "https://www.ncbi.nlm.nih.gov/COG/",
       new String[] { "urn:miriam:cogs" },
-      new Class<?>[] { Reaction.class }, "MIR:00000296"),
+      new Class<?>[] { Reaction.class }, "MIR:00000296",
+      new Class<?>[] {},
+      "cogs",
+      "COG0001"),
 
   /**
    * Digital Object Identifier: http://www.doi.org/.
@@ -130,7 +175,10 @@ public enum MiriamType {
   DOI("Digital Object Identifier",
       "http://www.doi.org/",
       new String[] { "urn:miriam:doi", "http://identifiers.org/doi/" },
-      new Class<?>[] { Reaction.class }, "MIR:00000019"),
+      new Class<?>[] { Reaction.class }, "MIR:00000019",
+      new Class<?>[] {},
+      "doi",
+      "10.1038/nbt1156"),
 
   /**
    * Drugbank database: http://www.drugbank.ca/.
@@ -138,14 +186,21 @@ public enum MiriamType {
   DRUGBANK("DrugBank",
       "http://www.drugbank.ca/",
       new String[] { "urn:miriam:drugbank" },
-      new Class<?>[] { Drug.class }, "MIR:00000102"),
+      new Class<?>[] { Drug.class }, "MIR:00000102",
+      new Class<?>[] {},
+      "drugbank",
+      "DB00001"),
+
   /**
    * Drugbank targets: http://www.drugbank.ca/targets.
    */
   DRUGBANK_TARGET_V4("DrugBank Target v4",
       "http://www.drugbank.ca/targets",
       new String[] { "urn:miriam:drugbankv4.target" },
-      new Class<?>[] {}, "MIR:00000528"),
+      new Class<?>[] {}, "MIR:00000528",
+      new Class<?>[] {},
+      "drugbankv4.target",
+      "BE0000048"),
 
   /**
    * Enzyme Nomenclature: http://www.enzyme-database.org/.
@@ -153,7 +208,10 @@ public enum MiriamType {
   EC("Enzyme Nomenclature",
       "http://www.enzyme-database.org/",
       new String[] { "urn:miriam:ec-code" },
-      new Class<?>[] { Protein.class, Complex.class }, "MIR:00000004"),
+      new Class<?>[] { Protein.class, Complex.class }, "MIR:00000004",
+      new Class<?>[] {},
+      "ec-code",
+      "1.1.1.1"),
 
   /**
    * Ensembl: www.ensembl.org.
@@ -161,7 +219,10 @@ public enum MiriamType {
   ENSEMBL("Ensembl",
       "www.ensembl.org",
       new String[] { "urn:miriam:ensembl", "http://identifiers.org/ensembl/" },
-      new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000003"),
+      new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000003",
+      new Class<?>[] {},
+      "ensembl",
+      "ENSG00000139618"),
 
   /**
    * Ensembl Plants: http://plants.ensembl.org/.
@@ -169,7 +230,10 @@ public enum MiriamType {
   ENSEMBL_PLANTS("Ensembl Plants",
       "http://plants.ensembl.org/",
       new String[] { "urn:miriam:ensembl.plant" },
-      new Class<?>[] {}, "MIR:00000205"),
+      new Class<?>[] {}, "MIR:00000205",
+      new Class<?>[] {},
+      "ensembl.plant",
+      "AT1G73965"),
 
   /**
    * Entrez Gene: http://www.ncbi.nlm.nih.gov/gene.
@@ -177,7 +241,10 @@ public enum MiriamType {
   ENTREZ("Entrez Gene",
       "http://www.ncbi.nlm.nih.gov/gene",
       new String[] { "urn:miriam:ncbigene", "urn:miriam:entrez.gene" },
-      new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000069"),
+      new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000069",
+      new Class<?>[] {},
+      "ncbigene",
+      "100010"),
 
   /**
    * Gene Ontology: http://amigo.geneontology.org/amigo.
@@ -186,7 +253,10 @@ public enum MiriamType {
       "http://amigo.geneontology.org/amigo",
       new String[] { "urn:miriam:obo.go", "urn:miriam:go", "http://identifiers.org/go/",
           "http://identifiers.org/obo.go/" },
-      new Class<?>[] { Phenotype.class, Compartment.class, Complex.class }, "MIR:00000022"),
+      new Class<?>[] { Phenotype.class, Compartment.class, Complex.class }, "MIR:00000022",
+      new Class<?>[] {},
+      "",
+      "GO:0006915"),
 
   /**
    * HGNC: http://www.genenames.org.
@@ -195,7 +265,9 @@ public enum MiriamType {
       "http://www.genenames.org",
       new String[] { "urn:miriam:hgnc" },
       new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000080",
-      new Class<?>[] { Protein.class, Gene.class, Rna.class }),
+      new Class<?>[] { Protein.class, Gene.class, Rna.class },
+      "hgnc",
+      "2674"),
 
   /**
    * HGNC symbol: http://www.genenames.org.
@@ -204,7 +276,9 @@ public enum MiriamType {
       "http://www.genenames.org",
       new String[] { "urn:miriam:hgnc.symbol" },
       new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000362",
-      new Class<?>[] { Protein.class, Gene.class, Rna.class }),
+      new Class<?>[] { Protein.class, Gene.class, Rna.class },
+      "hgnc.symbol",
+      "DAPK1"),
 
   /**
    * HMDB: http://www.hmdb.ca/.
@@ -212,7 +286,10 @@ public enum MiriamType {
   HMDB("HMDB",
       "http://www.hmdb.ca/",
       "urn:miriam:hmdb",
-      new Class<?>[] { Chemical.class, Drug.class, }, "MIR:00000051"),
+      new Class<?>[] { Chemical.class, Drug.class, }, "MIR:00000051",
+      new Class<?>[] {},
+      "hmdb",
+      "HMDB00001"),
 
   /**
    * InterPro: http://www.ebi.ac.uk/interpro/.
@@ -220,7 +297,10 @@ public enum MiriamType {
   INTERPRO("InterPro",
       "http://www.ebi.ac.uk/interpro/",
       new String[] { "urn:miriam:interpro", "http://identifiers.org/interpro/" },
-      new Class<?>[] { Protein.class, Complex.class }, "MIR:00000011"),
+      new Class<?>[] { Protein.class, Complex.class }, "MIR:00000011",
+      new Class<?>[] {},
+      "interpro",
+      "IPR000100"),
 
   /**
    * KEGG Compound: http://www.genome.jp/kegg/ligand.html.
@@ -228,15 +308,21 @@ public enum MiriamType {
   KEGG_COMPOUND("Kegg Compound",
       "http://www.genome.jp/kegg/ligand.html",
       new String[] { "urn:miriam:kegg.compound", "http://identifiers.org/kegg.compound/" },
-      new Class<?>[] { Chemical.class }, "MIR:00000013"),
+      new Class<?>[] { Chemical.class }, "MIR:00000013",
+      new Class<?>[] {},
+      "kegg.compound",
+      "C12345"),
 
   /**
    * KEGG Genes: http://www.genome.jp/kegg/genes.html.
    */
   KEGG_GENES("Kegg Genes",
       "http://www.genome.jp/kegg/genes.html",
-      new String[] { "urn:miriam:kegg.genes"},
-      new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000070"),
+      new String[] { "urn:miriam:kegg.genes" },
+      new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000070",
+      new Class<?>[] {},
+      "kegg.genes",
+      "syn:ssr3451"),
 
   /**
    * KEGG Orthology: http://www.genome.jp/kegg/ko.html.
@@ -244,7 +330,10 @@ public enum MiriamType {
   KEGG_ORTHOLOGY("KEGG Orthology",
       "http://www.genome.jp/kegg/ko.html",
       new String[] { "urn:miriam:kegg.orthology" },
-      new Class<?>[] {}, "MIR:00000116"),
+      new Class<?>[] {}, "MIR:00000116",
+      new Class<?>[] {},
+      "kegg.orthology",
+      "K00001"),
 
   /**
    * KEGG Pathway: http://www.genome.jp/kegg/pathway.html.
@@ -252,7 +341,10 @@ public enum MiriamType {
   KEGG_PATHWAY("Kegg Pathway",
       "http://www.genome.jp/kegg/pathway.html",
       new String[] { "urn:miriam:kegg.pathway", "http://identifiers.org/kegg.pathway/" },
-      new Class<?>[] { Reaction.class }, "MIR:00000012"),
+      new Class<?>[] { Reaction.class }, "MIR:00000012",
+      new Class<?>[] {},
+      "kegg.pathway",
+      "hsa00620"),
 
   /**
    * KEGG Reaction: http://www.genome.jp/kegg/reaction/.
@@ -260,15 +352,21 @@ public enum MiriamType {
   KEGG_REACTION("Kegg Reaction",
       "http://www.genome.jp/kegg/reaction/",
       new String[] { "urn:miriam:kegg.reaction", "http://identifiers.org/kegg.reaction/" },
-      new Class<?>[] { Reaction.class }, "MIR:00000014"),
+      new Class<?>[] { Reaction.class }, "MIR:00000014",
+      new Class<?>[] {},
+      "kegg.reaction",
+      "R00100"),
 
   /**
    * MeSH 2012: http://www.nlm.nih.gov/mesh/.
    */
   MESH_2012("MeSH",
       "http://www.nlm.nih.gov/mesh/",
-      new String[] { "urn:miriam:mesh" },
-      new Class<?>[] { Phenotype.class, Compartment.class, Complex.class }, "MIR:00000270"),
+      new String[] { "urn:miriam:mesh", "urn:miriam:mesh.2012" },
+      new Class<?>[] { Phenotype.class, Compartment.class, Complex.class }, "MIR:00000560",
+      new Class<?>[] {},
+      "mesh",
+      "D010300"),
 
   /**
    * miRBase Sequence: http://www.mirbase.org/.
@@ -276,7 +374,10 @@ public enum MiriamType {
   MI_R_BASE_SEQUENCE("miRBase Sequence Database",
       "http://www.mirbase.org/",
       new String[] { "urn:miriam:mirbase" },
-      new Class<?>[] {}, "MIR:00000078"),
+      new Class<?>[] {}, "MIR:00000078",
+      new Class<?>[] {},
+      "mirbase",
+      "MI0000001"),
 
   /**
    * miRBase Mature Sequence: http://www.mirbase.org/.
@@ -284,7 +385,10 @@ public enum MiriamType {
   MI_R_BASE_MATURE_SEQUENCE("miRBase Mature Sequence Database",
       "http://www.mirbase.org/",
       new String[] { "urn:miriam:mirbase.mature" },
-      new Class<?>[] {}, "MIR:00000235"),
+      new Class<?>[] {}, "MIR:00000235",
+      new Class<?>[] {},
+      "mirbase.mature",
+      "MIMAT0000001"),
 
   /**
    * miRTaRBase Mature Sequence: http://mirtarbase.mbc.nctu.edu.tw/.
@@ -292,7 +396,10 @@ public enum MiriamType {
   MIR_TAR_BASE_MATURE_SEQUENCE("miRTarBase Mature Sequence Database",
       "http://mirtarbase.mbc.nctu.edu.tw/",
       new String[] { "urn:miriam:mirtarbase" },
-      new Class<?>[] {}, "MIR:00100739"),
+      new Class<?>[] {}, "MIR:00000562",
+      new Class<?>[] {},
+      "mirtarbase",
+      "MIRT000002"),
 
   /**
    * Mouse Genome Database: http://www.informatics.jax.org/.
@@ -300,12 +407,18 @@ public enum MiriamType {
   MGD("Mouse Genome Database",
       "http://www.informatics.jax.org/",
       new String[] { "urn:miriam:mgd" },
-      new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000037"),
+      new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000037",
+      new Class<?>[] {},
+      "",
+      "MGI:2442292"),
 
   OBI("Ontology for Biomedical Investigations",
       "https://www.ebi.ac.uk/ols/ontologies/obi/",
       new String[] { "urn:miriam:obi", "http://identifiers.org/obi/" },
-      new Class<?>[] {}, "MIR:00000127"),
+      new Class<?>[] {}, "MIR:00000127",
+      new Class<?>[] {},
+      "obi",
+      "OBI:0000070"),
 
   /**
    * Online Mendelian Inheritance in Man: http://omim.org/.
@@ -313,7 +426,10 @@ public enum MiriamType {
   OMIM("Online Mendelian Inheritance in Man",
       "http://omim.org/",
       new String[] { "urn:miriam:omim", "http://identifiers.org/mim/" },
-      new Class<?>[] { Phenotype.class }, "MIR:00000016"),
+      new Class<?>[] { Phenotype.class }, "MIR:00000016",
+      new Class<?>[] {},
+      "mim",
+      "603903"),
 
   /**
    * PANTHER Family: http://www.pantherdb.org/.
@@ -321,7 +437,10 @@ public enum MiriamType {
   PANTHER("PANTHER Family",
       "http://www.pantherdb.org/",
       new String[] { "urn:miriam:panther.family", "urn:miriam:panther" },
-      new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000060"),
+      new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000060",
+      new Class<?>[] {},
+      "panther.family",
+      "PTHR12345"),
 
   /**
    * PDB: http://www.pdbe.org/.
@@ -329,7 +448,10 @@ public enum MiriamType {
   PDB("Protein Data Bank",
       "http://www.pdbe.org/",
       "urn:miriam:pdb",
-      new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000020"),
+      new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000020",
+      new Class<?>[] {},
+      "pdb",
+      "2gc4"),
 
   /**
    * Protein Family Database: http://pfam.xfam.org/.
@@ -337,7 +459,10 @@ public enum MiriamType {
   PFAM("Protein Family Database",
       "http://pfam.xfam.org//",
       "urn:miriam:pfam",
-      new Class<?>[] {}, "MIR:00000028"),
+      new Class<?>[] {}, "MIR:00000028",
+      new Class<?>[] {},
+      "pfam",
+      "PF01234"),
 
   /**
    * PharmGKB Pathways: http://www.pharmgkb.org/.
@@ -345,7 +470,10 @@ public enum MiriamType {
   PHARM("PharmGKB Pathways",
       "http://www.pharmgkb.org/",
       "urn:miriam:pharmgkb.pathways",
-      new Class<?>[] {}, "MIR:00000089"),
+      new Class<?>[] {}, "MIR:00000089",
+      new Class<?>[] {},
+      "pharmgkb.pathways",
+      "PA146123006"),
 
   /**
    * PubChem-compound: http://pubchem.ncbi.nlm.nih.gov/.
@@ -354,7 +482,9 @@ public enum MiriamType {
       "http://pubchem.ncbi.nlm.nih.gov/",
       new String[] { "urn:miriam:pubchem.compound" },
       new Class<?>[] { Chemical.class }, "MIR:00000034",
-      new Class<?>[] { Chemical.class }),
+      new Class<?>[] { Chemical.class },
+      "pubchem.compound",
+      "100101"),
 
   /**
    * PubChem-substance: http://pubchem.ncbi.nlm.nih.gov/.
@@ -363,7 +493,9 @@ public enum MiriamType {
       "http://pubchem.ncbi.nlm.nih.gov/",
       new String[] { "urn:miriam:pubchem.substance" },
       new Class<?>[] { Chemical.class }, "MIR:00000033",
-      new Class<?>[] { Chemical.class }),
+      new Class<?>[] { Chemical.class },
+      "pubchem.substance",
+      "100101"),
 
   /**
    * PubMed: http://www.ncbi.nlm.nih.gov/PubMed/.
@@ -372,7 +504,9 @@ public enum MiriamType {
       "http://www.ncbi.nlm.nih.gov/PubMed/",
       new String[] { "urn:miriam:pubmed", "http://identifiers.org/pubmed/" },
       new Class<?>[] { BioEntity.class }, "MIR:00000015",
-      new Class<?>[] { Reaction.class }),
+      new Class<?>[] { Reaction.class },
+      "pubmed",
+      "28725475"),
 
   /**
    * Reactome: http://www.reactome.org/.
@@ -380,7 +514,10 @@ public enum MiriamType {
   REACTOME("Reactome",
       "http://www.reactome.org/",
       new String[] { "urn:miriam:reactome", "http://identifiers.org/reactome/" },
-      new Class<?>[] { Reaction.class }, "MIR:00000018"),
+      new Class<?>[] { Reaction.class }, "MIR:00000018",
+      new Class<?>[] {},
+      "reactome",
+      "R-HSA-201451"),
 
   /**
    * RefSeq: http://www.ncbi.nlm.nih.gov/projects/RefSeq/.
@@ -388,7 +525,10 @@ public enum MiriamType {
   REFSEQ("RefSeq",
       "http://www.ncbi.nlm.nih.gov/projects/RefSeq/",
       "urn:miriam:refseq",
-      new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000039"),
+      new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000039",
+      new Class<?>[] {},
+      "refseq",
+      "NP_012345"),
 
   /**
    * Rhea: http://www.rhea-db.org/.
@@ -396,7 +536,10 @@ public enum MiriamType {
   RHEA("Rhea",
       "http://www.rhea-db.org/",
       "urn:miriam:rhea",
-      new Class<?>[] { Reaction.class }, "MIR:00000082"),
+      new Class<?>[] { Reaction.class }, "MIR:00000082",
+      new Class<?>[] {},
+      "rhea",
+      "12345"),
 
   /**
    * SGD: http://www.yeastgenome.org/.
@@ -404,7 +547,10 @@ public enum MiriamType {
   SGD("Saccharomyces Genome Database",
       "http://www.yeastgenome.org/",
       "urn:miriam:sgd",
-      new Class<?>[] {}, "MIR:00000023"),
+      new Class<?>[] {}, "MIR:00000023",
+      new Class<?>[] {},
+      "sgd",
+      "S000003909"),
 
   /**
    * STITCH: http://stitch.embl.de/.
@@ -412,7 +558,10 @@ public enum MiriamType {
   STITCH("STITCH",
       "http://stitch.embl.de/",
       "urn:miriam:stitch",
-      new Class<?>[] {}, "MIR:00100343"),
+      new Class<?>[] {}, "MIR:00000266",
+      new Class<?>[] {},
+      "stitch",
+      "BQJCRHHNABKAKU"),
 
   /**
    * STRING: http://string-db.org/.
@@ -420,7 +569,10 @@ public enum MiriamType {
   STRING("STRING",
       "http://string-db.org/",
       "urn:miriam:string",
-      new Class<?>[] {}, "MIR:00000265"),
+      new Class<?>[] {}, "MIR:00000265",
+      new Class<?>[] {},
+      "string",
+      "P53350"),
 
   /**
    * The Arabidopsis Information Resource (TAIR) maintains a database of genetic
@@ -431,7 +583,10 @@ public enum MiriamType {
   TAIR_LOCUS("TAIR Locus",
       "http://arabidopsis.org/index.jsp",
       "urn:miriam:tair.locus",
-      new Class<?>[] {}, "MIR:00000050"),
+      new Class<?>[] {}, "MIR:00000050",
+      new Class<?>[] {},
+      "tair.locus",
+      "2200950"),
 
   /**
    * Taxonomy: http://www.ncbi.nlm.nih.gov/taxonomy/.
@@ -439,7 +594,10 @@ public enum MiriamType {
   TAXONOMY("Taxonomy",
       "http://www.ncbi.nlm.nih.gov/taxonomy/",
       new String[] { "urn:miriam:taxonomy", "http://identifiers.org/taxonomy/" },
-      new Class<?>[] {}, "MIR:00000006"),
+      new Class<?>[] {}, "MIR:00000006",
+      new Class<?>[] {},
+      "taxonomy",
+      "9606"),
 
   /**
    * Toxicogenomic: Chemical: http://ctdbase.org/detail.go.
@@ -448,7 +606,10 @@ public enum MiriamType {
   TOXICOGENOMIC_CHEMICAL("Toxicogenomic Chemical",
       "http://ctdbase.org/",
       "urn:miriam:ctd.chemical",
-      new Class<?>[] {}, "MIR:00000098"),
+      new Class<?>[] {}, "MIR:00000098",
+      new Class<?>[] {},
+      "ctd.chemical",
+      "D001151"),
 
   /**
    * UniGene: http://www.ncbi.nlm.nih.gov/unigene.
@@ -456,7 +617,10 @@ public enum MiriamType {
   UNIGENE("UniGene",
       "http://www.ncbi.nlm.nih.gov/unigene",
       "urn:miriam:unigene",
-      new Class<?>[] {}, "MIR:00000346"),
+      new Class<?>[] {}, "MIR:00000346",
+      new Class<?>[] {},
+      "unigene",
+      "4900"),
 
   /**
    * Uniprot: http://www.uniprot.org/.
@@ -464,7 +628,10 @@ public enum MiriamType {
   UNIPROT("Uniprot",
       "http://www.uniprot.org/",
       new String[] { "urn:miriam:uniprot", "http://identifiers.org/uniprot/" },
-      new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000005"),
+      new Class<?>[] { Protein.class, Gene.class, Rna.class }, "MIR:00000005",
+      new Class<?>[] {},
+      "uniprot",
+      "P0DP23"),
 
   /**
    * UniProt Isoform: http://www.uniprot.org/.
@@ -472,7 +639,10 @@ public enum MiriamType {
   UNIPROT_ISOFORM("UniProt Isoform",
       "http://www.uniprot.org/",
       "urn:miriam:uniprot.isoform",
-      new Class<?>[] { Protein.class }, "MIR:00000388"),
+      new Class<?>[] { Protein.class }, "MIR:00000388",
+      new Class<?>[] {},
+      "uniprot.isoform",
+      "Q5BJF6-3"),
 
   /**
    * Unknown reference type...
@@ -480,7 +650,10 @@ public enum MiriamType {
   UNKNOWN("Unknown",
       null,
       new String[] {},
-      new Class<?>[] {}, null),
+      new Class<?>[] {}, null,
+      new Class<?>[] {},
+      null,
+      null),
 
   /**
    * VMH metabolite: https://vmh.uni.lu/.
@@ -488,7 +661,10 @@ public enum MiriamType {
   VMH_METABOLITE("VMH metabolite",
       "https://vmh.uni.lu/",
       new String[] { "urn:miriam:vmhmetabolite", "http://identifiers.org/vmhmetabolite/" },
-      new Class<?>[] { Chemical.class }, "MIR:00000636"),
+      new Class<?>[] { Chemical.class }, "MIR:00000636",
+      new Class<?>[] {},
+      "vmhmetabolite",
+      "h2o"),
 
   /**
    * VMH reaction: https://vmh.uni.lu/.
@@ -496,7 +672,10 @@ public enum MiriamType {
   VMH_REACTION("VMH reaction",
       "https://vmh.uni.lu/",
       new String[] { "urn:miriam:vmhreaction", "http://identifiers.org/vmhreaction/" },
-      new Class<?>[] { Reaction.class }, "MIR:00000640"),
+      new Class<?>[] { Reaction.class }, "MIR:00000640",
+      new Class<?>[] {},
+      "vmhreaction",
+      "HEX1"),
 
   /**
    * Wikidata: https://www.wikidata.org/.
@@ -504,7 +683,10 @@ public enum MiriamType {
   WIKIDATA("Wikidata",
       "https://www.wikidata.org/",
       new String[] { "urn:miriam:wikidata" },
-      new Class<?>[] {}, "MIR:00000549"),
+      new Class<?>[] {}, "MIR:00000549",
+      new Class<?>[] {},
+      "wikidata",
+      "Q2207226"),
 
   /**
    * WikiPathways: http://www.wikipathways.org/.
@@ -512,7 +694,10 @@ public enum MiriamType {
   WIKIPATHWAYS("WikiPathways",
       "http://www.wikipathways.org/",
       new String[] { "urn:miriam:wikipathways" },
-      new Class<?>[] {}, "MIR:00000076"),
+      new Class<?>[] {}, "MIR:00000076",
+      new Class<?>[] {},
+      "wikipathways",
+      "WP100"),
 
   /**
    * Wikipedia: http://en.wikipedia.org/wiki/Main_Page.
@@ -520,7 +705,10 @@ public enum MiriamType {
   WIKIPEDIA("Wikipedia (English)",
       "http://en.wikipedia.org/wiki/Main_Page", // /
       new String[] { "urn:miriam:wikipedia.en" },
-      new Class<?>[] {}, "MIR:00000384"),
+      new Class<?>[] {}, "MIR:00000384",
+      new Class<?>[] {},
+      "wikipedia.en",
+      "SM_UB-81"),
 
   /**
    * WormBase: http://wormbase.bio2rdf.org/fct.
@@ -528,8 +716,12 @@ public enum MiriamType {
   WORM_BASE("WormBase",
       "http://wormbase.bio2rdf.org/fct", // /
       new String[] { "urn:miriam:wormbase" },
-      new Class<?>[] {}, "MIR:00000027");
+      new Class<?>[] {}, "MIR:00000027",
+      new Class<?>[] {},
+      "wb",
+      "WBGene00000001");
 
+  private static Logger logger = LogManager.getLogger(MiriamType.class);
   /**
    * User friendly name.
    */
@@ -561,23 +753,9 @@ public enum MiriamType {
    */
   private List<Class<? extends BioEntity>> requiredClass = new ArrayList<>();
 
-  /**
-   * Constructor that initialize enum object.
-   * 
-   * @param dbHomePage
-   *          home page of the resource {@link #dbHomepage}
-   * @param commonName
-   *          {@link #commonName}
-   * @param uris
-   *          {@link #uris}
-   * @param classes
-   *          {@link #validClass}
-   * @param registryIdentifier
-   *          {@link #registryIdentifier}
-   */
-  MiriamType(String commonName, String dbHomePage, String[] uris, Class<?>[] classes, String registryIdentifier) {
-    this(commonName, dbHomePage, uris, classes, registryIdentifier, new Class<?>[] {});
-  }
+  private String namespace;
+
+  private String exampleIdentifier;
 
   /**
    * Constructor that initialize enum object.
@@ -596,7 +774,7 @@ public enum MiriamType {
    *          {@link #requiredClasses}
    */
   MiriamType(String commonName, String dbHomePage, String[] uris, Class<?>[] classes, String registryIdentifier,
-      Class<?>[] requiredClasses) {
+      Class<?>[] requiredClasses, String namespace, String exampleIdentifier) {
     this.commonName = commonName;
     this.dbHomepage = dbHomePage;
     for (String string : uris) {
@@ -609,6 +787,8 @@ public enum MiriamType {
       this.requiredClass.add((Class<? extends BioEntity>) clazz);
     }
     this.registryIdentifier = registryIdentifier;
+    this.namespace = namespace;
+    this.exampleIdentifier = exampleIdentifier;
   }
 
   /**
@@ -625,8 +805,10 @@ public enum MiriamType {
    * @param classes
    *          {@link #validClass}
    */
-  MiriamType(String commonName, String dbHomePage, String uri, Class<?>[] classes, String registryIdentifier) {
-    this(commonName, dbHomePage, new String[] { uri }, classes, registryIdentifier);
+  MiriamType(String commonName, String dbHomePage, String uri, Class<?>[] classes, String registryIdentifier,
+      Class<?>[] requiredClasses, String namespace, String exampleIdentifier) {
+    this(commonName, dbHomePage, new String[] { uri }, classes, registryIdentifier, requiredClasses, namespace,
+        exampleIdentifier);
   }
 
   /**
@@ -668,6 +850,7 @@ public enum MiriamType {
         }
       }
     }
+    logger.warn("Unknown miriam type: " + uri);
     return null;
   }
 
@@ -780,4 +963,13 @@ public enum MiriamType {
     }
     throw new InvalidArgumentException("Invalid miriam uri: " + miriamUri);
   }
+
+  public String getNamespace() {
+    return namespace;
+  }
+
+  public String getExampleIdentifier() {
+    return exampleIdentifier;
+  }
+
 }
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/OverviewImageComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/OverviewImageComparator.java
index 6dc3589c01d45e9e2bb7e3b7bd16b6b2777e8e50..26d2a1a282eb404740e3a1ec8a84d2ebc11ee665 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/OverviewImageComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/OverviewImageComparator.java
@@ -2,7 +2,7 @@ package lcsb.mapviewer.model.map;
 
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.Configuration;
@@ -19,7 +19,7 @@ public class OverviewImageComparator extends Comparator<OverviewImage> {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(OverviewImageComparator.class);
+  private static Logger logger = LogManager.getLogger(OverviewImageComparator.class);
 
   /**
    * Epsilon value used for comparison of doubles.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/OverviewImageLinkComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/OverviewImageLinkComparator.java
index e4c0b99f0db01b1b7213f6c8321e2b18ee55ab00..df31581e58659c78414032899396db1bb9c9c1a7 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/OverviewImageLinkComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/OverviewImageLinkComparator.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.model.map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.Configuration;
@@ -17,7 +17,7 @@ public class OverviewImageLinkComparator extends Comparator<OverviewImageLink> {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(OverviewImageLinkComparator.class);
+  private static Logger logger = LogManager.getLogger(OverviewImageLinkComparator.class);
 
   /**
    * Epsilon value used for comparison of doubles.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/OverviewLinkComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/OverviewLinkComparator.java
index da41e02372051641fc0f1eba2b8be00fa44b1bba..675dde9e30c89b4c2480fd7f6acff8c519e95e00 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/OverviewLinkComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/OverviewLinkComparator.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.model.map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.Configuration;
@@ -17,7 +17,7 @@ public class OverviewLinkComparator extends Comparator<OverviewLink> {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(OverviewLinkComparator.class);
+  private static Logger logger = LogManager.getLogger(OverviewLinkComparator.class);
 
   /**
    * Epsilon value used for comparison of doubles.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/OverviewModelLinkComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/OverviewModelLinkComparator.java
index 3f2154797b86d630bc78788c71294509af8ca5b5..1338b8a25ffa8e40efc61b9fb040c629027ec1be 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/OverviewModelLinkComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/OverviewModelLinkComparator.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.model.map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.Configuration;
@@ -16,7 +16,7 @@ public class OverviewModelLinkComparator extends Comparator<OverviewModelLink> {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(OverviewModelLinkComparator.class);
+  private static Logger logger = LogManager.getLogger(OverviewModelLinkComparator.class);
 
   /**
    * Epsilon value used for comparison of doubles.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/SearchIndex.java b/model/src/main/java/lcsb/mapviewer/model/map/SearchIndex.java
index d50ff698b3cb706c3d034c6ea261a5b839b9097a..d5270b88ad200f75bc0871fbe1d7400387f4091c 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/SearchIndex.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/SearchIndex.java
@@ -8,7 +8,7 @@ import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.ManyToOne;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
 import lcsb.mapviewer.model.map.species.Element;
@@ -33,7 +33,7 @@ public class SearchIndex implements Serializable {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(Element.class);
+  private static Logger logger = LogManager.getLogger(Element.class);
 
   /**
    * Database identifier.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/compartment/Compartment.java b/model/src/main/java/lcsb/mapviewer/model/map/compartment/Compartment.java
index 07b4a36208154e513fb0e543683be7d2a11099b6..7e023dda8bd0dd834e28c8a35c0584d65b70647d 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/compartment/Compartment.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/compartment/Compartment.java
@@ -10,7 +10,7 @@ import javax.persistence.Entity;
 import javax.persistence.FetchType;
 import javax.persistence.OneToMany;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.hibernate.annotations.Cascade;
 import org.hibernate.annotations.CascadeType;
 import org.hibernate.annotations.Type;
@@ -59,7 +59,7 @@ public class Compartment extends Element {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(Compartment.class);
+  private static Logger logger = LogManager.getLogger(Compartment.class);
 
   /**
    * Thickness of the compartment border.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/compartment/CompartmentComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/compartment/CompartmentComparator.java
index f47201b4d80854dfd47582cceb3fa8b315f82b26..7b4b97c17b5678ae60a1a0f4335903e82c97ebae 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/compartment/CompartmentComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/compartment/CompartmentComparator.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.model.map.compartment;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.Configuration;
@@ -27,7 +27,7 @@ public class CompartmentComparator extends Comparator<Compartment> {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(CompartmentComparator.class);
+  private static Logger logger = LogManager.getLogger(CompartmentComparator.class);
 
   /**
    * Epsilon value used for comparison of doubles.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/compartment/RightSquareCompartment.java b/model/src/main/java/lcsb/mapviewer/model/map/compartment/RightSquareCompartment.java
index 9e0d72ac372390b0eaac0c5af1d9729ed17d8af9..d6dd6c0614fda04ea58b2704f890ec33d4064c99 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/compartment/RightSquareCompartment.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/compartment/RightSquareCompartment.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.model.map.compartment;
 import javax.persistence.DiscriminatorValue;
 import javax.persistence.Entity;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
 import lcsb.mapviewer.model.map.model.Model;
@@ -27,7 +27,7 @@ public class RightSquareCompartment extends Compartment {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(RightSquareCompartment.class);
+  private static Logger logger = LogManager.getLogger(RightSquareCompartment.class);
 
   /**
    * Empty constructor required by hibernate.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlFunction.java b/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlFunction.java
index d58764f20dc921d017bbd0732255b292739f0d0a..70116802e06cbb5dba4de8368ca68d3f0485c154 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlFunction.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlFunction.java
@@ -17,7 +17,7 @@ import javax.persistence.ManyToOne;
 import javax.persistence.OrderColumn;
 import javax.xml.bind.annotation.XmlRootElement;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.model.map.model.ModelData;
 
@@ -35,7 +35,7 @@ public class SbmlFunction implements Serializable, SbmlArgument {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(SbmlFunction.class);
+  private static Logger logger = LogManager.getLogger(SbmlFunction.class);
 
   /**
    * 
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlFunctionComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlFunctionComparator.java
index b86fd6d2c9f8a675c0f1f85e3b0b15674c0e300a..877f176ac9534fb67dd5102a84a3ee35d1dd04e3 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlFunctionComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlFunctionComparator.java
@@ -1,13 +1,13 @@
 package lcsb.mapviewer.model.map.kinetics;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.comparator.StringComparator;
 import lcsb.mapviewer.common.comparator.StringListComparator;
 
 public class SbmlFunctionComparator extends Comparator<SbmlFunction> {
-  private static Logger logger = Logger.getLogger(SbmlFunctionComparator.class);
+  private static Logger logger = LogManager.getLogger(SbmlFunctionComparator.class);
 
   public SbmlFunctionComparator() {
     super(SbmlFunction.class);
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlKinetics.java b/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlKinetics.java
index ad518818a370925dd08adf40598dea59d39ac0c2..7e3ce2c1acc2f3d3905d404b7d17aa3a2a452ac5 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlKinetics.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlKinetics.java
@@ -18,7 +18,7 @@ import javax.persistence.JoinTable;
 import javax.persistence.ManyToMany;
 import javax.xml.bind.annotation.XmlRootElement;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.hibernate.annotations.Cascade;
 import org.hibernate.annotations.CascadeType;
 
@@ -38,7 +38,7 @@ public class SbmlKinetics implements Serializable {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(SbmlKinetics.class);
+  private static Logger logger = LogManager.getLogger(SbmlKinetics.class);
 
   /**
    * 
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlKineticsComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlKineticsComparator.java
index 8a8788e5d98e83c9f239c73eeda2c5cbc23a09bb..e7d68acfcde2018b9b226f449f454a528dca4dc6 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlKineticsComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlKineticsComparator.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.model.map.kinetics;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.comparator.SetComparator;
@@ -10,7 +10,7 @@ import lcsb.mapviewer.model.map.species.ElementComparator;
 
 public class SbmlKineticsComparator extends Comparator<SbmlKinetics> {
 
-  private static Logger logger = Logger.getLogger(SbmlKineticsComparator.class);
+  private static Logger logger = LogManager.getLogger(SbmlKineticsComparator.class);
 
   public SbmlKineticsComparator() {
     super(SbmlKinetics.class);
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlParameter.java b/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlParameter.java
index 72acf2ac79e33ce6d64a1679197fee133f04cf52..11f1a5454638c30020fbc51c4ef7ae5c69d142d8 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlParameter.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlParameter.java
@@ -9,7 +9,7 @@ import javax.persistence.Id;
 import javax.persistence.ManyToOne;
 import javax.xml.bind.annotation.XmlRootElement;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * Representation of a single SBML parameter
@@ -25,7 +25,7 @@ public class SbmlParameter implements Serializable, SbmlArgument {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(SbmlParameter.class);
+  private static Logger logger = LogManager.getLogger(SbmlParameter.class);
 
   /**
    * 
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlUnit.java b/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlUnit.java
index 5ac2cee517801d6d2605859928c2172c57bde5c3..d9242e6c69ddadab6c5bd2aa844089c10b96ac53 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlUnit.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlUnit.java
@@ -13,7 +13,7 @@ import javax.persistence.ManyToOne;
 import javax.persistence.OneToMany;
 import javax.xml.bind.annotation.XmlRootElement;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.hibernate.annotations.Cascade;
 import org.hibernate.annotations.CascadeType;
 
@@ -33,7 +33,7 @@ public class SbmlUnit implements Serializable {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(SbmlUnit.class);
+  private static Logger logger = LogManager.getLogger(SbmlUnit.class);
 
   /**
    * 
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlUnitComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlUnitComparator.java
index c337b5a76967daab03f4f071952503cdffa6b576..2144c14b648866ec0315d60c9c8fa700d91466e6 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlUnitComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlUnitComparator.java
@@ -1,13 +1,13 @@
 package lcsb.mapviewer.model.map.kinetics;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.comparator.SetComparator;
 import lcsb.mapviewer.common.comparator.StringComparator;
 
 public class SbmlUnitComparator extends Comparator<SbmlUnit> {
-  private static Logger logger =Logger.getLogger(SbmlUnitComparator.class);
+  private static Logger logger =LogManager.getLogger(SbmlUnitComparator.class);
 
   public SbmlUnitComparator() {
     super(SbmlUnit.class);
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlUnitTypeFactor.java b/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlUnitTypeFactor.java
index da2b39f38b0145fa5f911e06101536ed1991c206..bea7bc652aa87b28c01374190896f0dc99163a0b 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlUnitTypeFactor.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlUnitTypeFactor.java
@@ -12,7 +12,7 @@ import javax.persistence.Id;
 import javax.persistence.ManyToOne;
 import javax.xml.bind.annotation.XmlRootElement;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * Representation of a single SBML unit factor. For example unit for velocity is
@@ -33,7 +33,7 @@ public class SbmlUnitTypeFactor implements Serializable {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(SbmlUnitTypeFactor.class);
+  private static Logger logger = LogManager.getLogger(SbmlUnitTypeFactor.class);
 
   /**
    * 
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/layout/DataOverlayImageLayer.java b/model/src/main/java/lcsb/mapviewer/model/map/layout/DataOverlayImageLayer.java
index a197df698e4ac6e3b99f65ecdce64cb0536df71e..cbba9f6cac2b15044a8f32660420dc5fd9f8804d 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/layout/DataOverlayImageLayer.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/layout/DataOverlayImageLayer.java
@@ -10,7 +10,7 @@ import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.ManyToOne;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.model.ModelData;
@@ -41,7 +41,7 @@ public class DataOverlayImageLayer implements Serializable {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(DataOverlayImageLayer.class);
+  private static Logger logger = LogManager.getLogger(DataOverlayImageLayer.class);
 
   /**
    * Unique database identifier.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/layout/GeneVariation.java b/model/src/main/java/lcsb/mapviewer/model/map/layout/GeneVariation.java
index 8641dd83ec373dc5ea1a5dec0d322abd731750a1..bb70cad70962d7f7800121db46ccb9390e269c15 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/layout/GeneVariation.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/layout/GeneVariation.java
@@ -5,7 +5,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
 import lcsb.mapviewer.model.map.MiriamData;
@@ -22,7 +22,7 @@ public class GeneVariation implements Serializable {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(GeneVariation.class);
+  private static Logger logger = LogManager.getLogger(GeneVariation.class);
 
   /**
    * 
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/layout/Layout.java b/model/src/main/java/lcsb/mapviewer/model/map/layout/Layout.java
index 4e3537e542a2c4a6952a76012bfcbf52ad9c4082..af80343e5726a48973483c2fc8acf92be67786a2 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/layout/Layout.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/layout/Layout.java
@@ -18,7 +18,7 @@ import javax.persistence.ManyToOne;
 import javax.persistence.OneToMany;
 import javax.persistence.OneToOne;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.hibernate.annotations.Cascade;
 import org.hibernate.annotations.CascadeType;
 
@@ -60,7 +60,7 @@ public class Layout implements Serializable {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(Layout.class);
+  private static Logger logger = LogManager.getLogger(Layout.class);
 
   /**
    * Unique database identifier.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/Glyph.java b/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/Glyph.java
index d23576df24d89847075622045b5e14230b82f523..7aba408a260c5f5c0a2c74c4cbdade026517ac35 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/Glyph.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/Glyph.java
@@ -11,7 +11,7 @@ import javax.persistence.JoinColumn;
 import javax.persistence.ManyToOne;
 import javax.persistence.OneToOne;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.hibernate.annotations.Cascade;
 import org.hibernate.annotations.CascadeType;
 
@@ -37,7 +37,7 @@ public class Glyph implements Serializable {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(Glyph.class);
+  private static Logger logger = LogManager.getLogger(Glyph.class);
 
   /**
    * Unique database identifier.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/Layer.java b/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/Layer.java
index 7b397afc3a648759fdd13391c641a5fcc5ebccef..0574b9248b80007cdf5fcb0f68a2183f51ef51da 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/Layer.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/Layer.java
@@ -18,7 +18,7 @@ import javax.persistence.ManyToOne;
 import javax.persistence.OneToMany;
 import javax.persistence.OrderColumn;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.hibernate.annotations.Cascade;
 import org.hibernate.annotations.CascadeType;
 
@@ -46,7 +46,7 @@ public class Layer implements Serializable {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(Layer.class);
+  private static Logger logger = LogManager.getLogger(Layer.class);
 
   /**
    * Unique database identifier.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/LayerComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/LayerComparator.java
index 85275170e84baef0d132b2084a84994fb8e6b866..0c6ec1a1b2c9eb27f681fb8fde3783bd8f57e75c 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/LayerComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/LayerComparator.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.model.map.layout.graphics;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.Configuration;
@@ -21,7 +21,7 @@ public class LayerComparator extends Comparator<Layer> {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(LayerComparator.class);
+  private static Logger logger = LogManager.getLogger(LayerComparator.class);
 
   /**
    * Epsilon value used for comparison of doubles.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/LayerOval.java b/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/LayerOval.java
index 88b9d684d2a82df5132f679656a950dd0602da35..c6378b539f7e40c65f4248538775decfc355e900 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/LayerOval.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/LayerOval.java
@@ -8,7 +8,7 @@ import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.common.exception.NotImplementedException;
@@ -32,7 +32,7 @@ public class LayerOval implements Serializable, Drawable {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(LayerOval.class);
+  private static Logger logger = LogManager.getLogger(LayerOval.class);
 
   /**
    * Unique database identifier.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/LayerRect.java b/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/LayerRect.java
index e0a163b9f8e7eec8f5d93f063b99f26fd63258ce..64c003fc344e55a500fa2b894abdd26d850ffbdf 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/LayerRect.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/LayerRect.java
@@ -8,7 +8,7 @@ import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.common.exception.NotImplementedException;
@@ -32,7 +32,7 @@ public class LayerRect implements Serializable, Drawable {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(LayerRect.class);
+  private static Logger logger = LogManager.getLogger(LayerRect.class);
 
   /**
    * Unique database identifier.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/LayerText.java b/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/LayerText.java
index d866c3e6e1d2d300460fa81aa696a47a8415be1a..0e64330431cd0e83aab853ddc444e83cc41ff194 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/LayerText.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/layout/graphics/LayerText.java
@@ -9,7 +9,7 @@ import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.common.exception.NotImplementedException;
@@ -38,7 +38,7 @@ public class LayerText implements Serializable, Drawable {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(LayerText.class);
+  private static Logger logger = LogManager.getLogger(LayerText.class);
 
   /**
    * Unique database identifier.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/model/Author.java b/model/src/main/java/lcsb/mapviewer/model/map/model/Author.java
index b2356b5d99fe75004f9cb8e026664185052a47bf..54f5052ba6d6dcdc79de1e21127db81ab04cc1d5 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/model/Author.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/model/Author.java
@@ -8,7 +8,7 @@ import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.xml.bind.annotation.XmlRootElement;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * Class representing author object.
@@ -24,7 +24,7 @@ public class Author implements Serializable {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(Author.class);
+  private static Logger logger = LogManager.getLogger(Author.class);
 
   /**
    * 
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/model/AuthorComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/model/AuthorComparator.java
index 0d9a5041c87718f0fd31bf857ff2725ef60efd77..5ea4038644cb398a3f55eb8ccd935eeaee1e1112 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/model/AuthorComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/model/AuthorComparator.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.model.map.model;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.comparator.StringComparator;
@@ -16,7 +16,7 @@ public class AuthorComparator extends Comparator<Author> {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(AuthorComparator.class);
+  private static Logger logger = LogManager.getLogger(AuthorComparator.class);
 
   /**
    * Default constructor.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/model/ElementSubmodelConnectionComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/model/ElementSubmodelConnectionComparator.java
index f1b7c20a8c1c132798d20bcd225b570500a8a7b7..c56a1ea9b2b8e23b340d1fca2250d3fadfcdebcc 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/model/ElementSubmodelConnectionComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/model/ElementSubmodelConnectionComparator.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.model.map.model;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.Configuration;
@@ -19,7 +19,7 @@ public class ElementSubmodelConnectionComparator extends Comparator<ElementSubmo
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(ElementSubmodelConnectionComparator.class);
+  private static Logger logger = LogManager.getLogger(ElementSubmodelConnectionComparator.class);
 
   /**
    * Epsilon value used for comparison of doubles.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelComparator.java
index 16db3ff74a6440eca97e1b83ddf3a72d3b53b3cf..64bc7bed76ff4b1a2a27375a22f4e1230c9027a5 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelComparator.java
@@ -6,7 +6,7 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.Configuration;
@@ -42,7 +42,7 @@ public class ModelComparator extends Comparator<Model> {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(ModelComparator.class);
+  private static Logger logger = LogManager.getLogger(ModelComparator.class);
 
   /**
    * Epsilon value used for comparison of doubles.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelData.java b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelData.java
index beb6cf78f3f2150082e00c6f62a48d7b172ca43d..eba400c886cccb3bb7ffef0fcd2b8bdef343499f 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelData.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelData.java
@@ -25,7 +25,7 @@ import javax.persistence.OrderColumn;
 import javax.persistence.Transient;
 import javax.xml.bind.annotation.XmlTransient;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.hibernate.annotations.Cascade;
 import org.hibernate.annotations.CascadeType;
 
@@ -67,7 +67,7 @@ public class ModelData implements Serializable {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(ModelData.class);
+  private static Logger logger = LogManager.getLogger(ModelData.class);
 
   /**
    * Set of all elements in the map.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelFullIndexed.java b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelFullIndexed.java
index 5487e7011d3cc0c9468d7984620ae3b79e15bbba..bd7085a6b1ea50e005457d0275147d689f9562de 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelFullIndexed.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelFullIndexed.java
@@ -10,7 +10,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.model.Project;
@@ -43,7 +43,7 @@ public class ModelFullIndexed implements Model {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(ModelFullIndexed.class);
+  private static Logger logger = LogManager.getLogger(ModelFullIndexed.class);
 
   /**
    * Object that map {@link Element#elementId element identifier} into
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelSubmodelConnectionComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelSubmodelConnectionComparator.java
index 40af213f7298f3168f1e14b739ae3686790838a0..2d7849907cd3e7b8db9481ff654d5dc7939bec65 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelSubmodelConnectionComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelSubmodelConnectionComparator.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.model.map.model;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.Configuration;
@@ -16,7 +16,7 @@ public class ModelSubmodelConnectionComparator extends Comparator<ModelSubmodelC
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(ModelSubmodelConnectionComparator.class);
+  private static Logger logger = LogManager.getLogger(ModelSubmodelConnectionComparator.class);
 
   /**
    * Epsilon value used for comparison of doubles.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/model/SubmodelConnection.java b/model/src/main/java/lcsb/mapviewer/model/map/model/SubmodelConnection.java
index ed9bdc1e60922ec8aa6d608288470e7266775e3b..9cf64cd9ac4d16a201afb8f21414a5be097062ca 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/model/SubmodelConnection.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/model/SubmodelConnection.java
@@ -16,7 +16,7 @@ import javax.persistence.Inheritance;
 import javax.persistence.InheritanceType;
 import javax.persistence.ManyToOne;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * This abstract class defines connection between models. It points to submodel
@@ -40,7 +40,7 @@ public abstract class SubmodelConnection implements Serializable {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(SubmodelConnection.class);
+  private static Logger logger = LogManager.getLogger(SubmodelConnection.class);
 
   /**
    * Database identifier.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/model/SubmodelConnectionComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/model/SubmodelConnectionComparator.java
index f044d6c7f6581b406fe72c684a525ff413966b5e..947b83716e89f465e2a01bdc08c4c26bdb299ac5 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/model/SubmodelConnectionComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/model/SubmodelConnectionComparator.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.model.map.model;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.Configuration;
@@ -18,7 +18,7 @@ public class SubmodelConnectionComparator extends Comparator<SubmodelConnection>
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(SubmodelConnection.class);
+  private static Logger logger = LogManager.getLogger(SubmodelConnection.class);
 
   /**
    * Epsilon value used for comparison of doubles.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/reaction/AbstractNodeComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/reaction/AbstractNodeComparator.java
index 207f3c4f46b818c1a139f76e48b62ac8288ce407..37f633f246c3e78f503a6becb9090898049ad6bd 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/reaction/AbstractNodeComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/reaction/AbstractNodeComparator.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.model.map.reaction;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.Configuration;
@@ -17,7 +17,7 @@ public class AbstractNodeComparator extends Comparator<AbstractNode> {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(AbstractNodeComparator.class);
+  private static Logger logger = LogManager.getLogger(AbstractNodeComparator.class);
 
   /**
    * Epsilon value used for comparison of doubles.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/reaction/AndOperator.java b/model/src/main/java/lcsb/mapviewer/model/map/reaction/AndOperator.java
index 8fde0ea87e927b3103266793ce77def7ac1be646..53856fec5d56bb3d205d1b11f7d2f689f4eed03c 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/reaction/AndOperator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/reaction/AndOperator.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.model.map.reaction;
 import javax.persistence.DiscriminatorValue;
 import javax.persistence.Entity;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
 
@@ -26,7 +26,7 @@ public class AndOperator extends NodeOperator {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger			logger					 = Logger.getLogger(AndOperator.class);
+	private static Logger			logger					 = LogManager.getLogger(AndOperator.class);
 
 	/**
 	 * Constructor that copies data from the parameter given in the argument.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/reaction/AssociationOperator.java b/model/src/main/java/lcsb/mapviewer/model/map/reaction/AssociationOperator.java
index fcdea08a0e6062da1e0a5f0439ac53c2cbb6f6a6..7859ae764e9a4425c77adfc5d86a8ea1518e7ed2 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/reaction/AssociationOperator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/reaction/AssociationOperator.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.model.map.reaction;
 import javax.persistence.DiscriminatorValue;
 import javax.persistence.Entity;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
 
@@ -28,7 +28,7 @@ public class AssociationOperator extends NodeOperator {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger			logger					 = Logger.getLogger(AssociationOperator.class);
+	private static Logger			logger					 = LogManager.getLogger(AssociationOperator.class);
 
 	/**
 	 * Constructor that copies data from the parameter given in the argument.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/reaction/DissociationOperator.java b/model/src/main/java/lcsb/mapviewer/model/map/reaction/DissociationOperator.java
index 6453ede8c1f6e01aefe67cd24a9358e9aadab835..462044be1d385df3d384a792b68a188e9be8832e 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/reaction/DissociationOperator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/reaction/DissociationOperator.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.model.map.reaction;
 import javax.persistence.DiscriminatorValue;
 import javax.persistence.Entity;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
 
@@ -27,7 +27,7 @@ public class DissociationOperator extends NodeOperator {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger	logger	= Logger.getLogger(DissociationOperator.class);
+	private static Logger	logger	= LogManager.getLogger(DissociationOperator.class);
 
 	/**
 	 * Constructor that copies data from the parameter given in the argument.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/reaction/NandOperator.java b/model/src/main/java/lcsb/mapviewer/model/map/reaction/NandOperator.java
index bc88d04dbdd62703c6dab9de40d98003a79e1997..13a7f475f4b65bbd1a9ca19af430cb9f93d61271 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/reaction/NandOperator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/reaction/NandOperator.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.model.map.reaction;
 import javax.persistence.DiscriminatorValue;
 import javax.persistence.Entity;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
 
@@ -26,7 +26,7 @@ public class NandOperator extends NodeOperator {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger			logger						= Logger.getLogger(NandOperator.class);
+	private static Logger			logger						= LogManager.getLogger(NandOperator.class);
 
 	/**
 	 * Constructor that copies data from the parameter given in the argument.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/reaction/NodeOperator.java b/model/src/main/java/lcsb/mapviewer/model/map/reaction/NodeOperator.java
index e340714aee15b4e44dc0ed9041c6e67143519278..ce0d9e141203145391bf701cddd4aa12878c7441 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/reaction/NodeOperator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/reaction/NodeOperator.java
@@ -10,7 +10,7 @@ import javax.persistence.FetchType;
 import javax.persistence.OneToMany;
 import javax.persistence.OrderBy;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.hibernate.annotations.Cascade;
 import org.hibernate.annotations.CascadeType;
 
@@ -56,7 +56,7 @@ public abstract class NodeOperator extends AbstractNode {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(NodeOperator.class);
+  private static Logger logger = LogManager.getLogger(NodeOperator.class);
 
   /**
    * List of input nodes.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/reaction/NodeOperatorComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/reaction/NodeOperatorComparator.java
index ea25564281b637d18939edaa0c5e5ea66e9147f5..f5af2d3b7c8e2929a4c58f68bd4701bef47664bb 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/reaction/NodeOperatorComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/reaction/NodeOperatorComparator.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.model.map.reaction;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.Configuration;
@@ -18,7 +18,7 @@ public class NodeOperatorComparator extends Comparator<NodeOperator> {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(NodeOperatorComparator.class);
+  private static Logger logger = LogManager.getLogger(NodeOperatorComparator.class);
 
   /**
    * Epsilon value used for comparison of doubles.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/reaction/OrOperator.java b/model/src/main/java/lcsb/mapviewer/model/map/reaction/OrOperator.java
index 267fab63a6b96eca80f08d9edb4a55bc069ebdcb..21613a239b5583bc25b31978612ac24425a3a9d7 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/reaction/OrOperator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/reaction/OrOperator.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.model.map.reaction;
 import javax.persistence.DiscriminatorValue;
 import javax.persistence.Entity;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
 
@@ -27,7 +27,7 @@ public class OrOperator extends NodeOperator {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger	logger	= Logger.getLogger(OrOperator.class);
+	private static Logger	logger	= LogManager.getLogger(OrOperator.class);
 
 	/**
 	 * Constructor that copies data from the parameter given in the argument.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/reaction/Reaction.java b/model/src/main/java/lcsb/mapviewer/model/map/reaction/Reaction.java
index 1958029d3bcd536d81f27cb474baef9d69bf4f3a..d7b70ba297e9409c14b9f3af0ce1b5d58ce5e6ee 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/reaction/Reaction.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/reaction/Reaction.java
@@ -32,7 +32,7 @@ import javax.persistence.OrderBy;
 import javax.persistence.OrderColumn;
 import javax.xml.bind.annotation.XmlTransient;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.hibernate.annotations.Cascade;
 import org.hibernate.annotations.CascadeType;
 
@@ -98,7 +98,7 @@ public class Reaction implements BioEntity {
    * Default class logger.
    */
 
-  private static Logger logger = Logger.getLogger(Reaction.class.getName());
+  private static Logger logger = LogManager.getLogger(Reaction.class.getName());
 
   /**
    * Unique database identifier.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/reaction/ReactionComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/reaction/ReactionComparator.java
index 9635897c8ac447d1b1c91654ea7cdf8b5c564eee..b1f9774eb59ba2e318765a31c79c7f210fdaa2f5 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/reaction/ReactionComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/reaction/ReactionComparator.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.model.map.reaction;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.Configuration;
@@ -24,7 +24,7 @@ public class ReactionComparator extends Comparator<Reaction> {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(ReactionComparator.class);
+  private static Logger logger = LogManager.getLogger(ReactionComparator.class);
 
   /**
    * Epsilon value used for comparison of doubles.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/reaction/ReactionNodeComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/reaction/ReactionNodeComparator.java
index c9d7c065c847574d5a0602ae22eaf20d6f80d0c4..45afc2953e4a130a427048001afa73fa528e4bd6 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/reaction/ReactionNodeComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/reaction/ReactionNodeComparator.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.model.map.reaction;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.Configuration;
@@ -19,7 +19,7 @@ public class ReactionNodeComparator extends Comparator<ReactionNode> {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(ReactionNodeComparator.class);
+  private static Logger logger = LogManager.getLogger(ReactionNodeComparator.class);
 
   /**
    * Epsilon value used for comparison of doubles.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/reaction/SplitOperator.java b/model/src/main/java/lcsb/mapviewer/model/map/reaction/SplitOperator.java
index 4ebb08b8666fc937378e1e05c9e9629b33209291..4affd22bac1bb86ccba16a689197801b7377ff62 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/reaction/SplitOperator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/reaction/SplitOperator.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.model.map.reaction;
 import javax.persistence.DiscriminatorValue;
 import javax.persistence.Entity;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
 
@@ -27,7 +27,7 @@ public class SplitOperator extends NodeOperator {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger	logger	= Logger.getLogger(SplitOperator.class);
+	private static Logger	logger	= LogManager.getLogger(SplitOperator.class);
 
 	/**
 	 * Constructor that copies data from the parameter given in the argument.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/reaction/TruncationOperator.java b/model/src/main/java/lcsb/mapviewer/model/map/reaction/TruncationOperator.java
index a9c96692b8f988c388ba9808405a404c547ffb38..b9850c2681176cac5b833dac8f0906e08d2e890e 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/reaction/TruncationOperator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/reaction/TruncationOperator.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.model.map.reaction;
 import javax.persistence.DiscriminatorValue;
 import javax.persistence.Entity;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
 
@@ -27,7 +27,7 @@ public class TruncationOperator extends NodeOperator {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger	logger	= Logger.getLogger(TruncationOperator.class);
+	private static Logger	logger	= LogManager.getLogger(TruncationOperator.class);
 
 	/**
 	 * Constructor that copies data from the parameter given in the argument.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/reaction/UnknownOperator.java b/model/src/main/java/lcsb/mapviewer/model/map/reaction/UnknownOperator.java
index 01f80e6d22345961a1453b5222f86e7fad7ad420..ae3f63f81b45aedf79818aed344830fcec324920 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/reaction/UnknownOperator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/reaction/UnknownOperator.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.model.map.reaction;
 import javax.persistence.DiscriminatorValue;
 import javax.persistence.Entity;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
 
@@ -27,7 +27,7 @@ public class UnknownOperator extends NodeOperator {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger	logger	= Logger.getLogger(UnknownOperator.class);
+	private static Logger	logger	= LogManager.getLogger(UnknownOperator.class);
 
 	/**
 	 * Constructor that copies data from the parameter given in the argument.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/AntisenseRnaComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/AntisenseRnaComparator.java
index c81aa87861808e327f1772886f0f58f6f46f0839..d50acfca12b854d2a11b282dde64eff479815df7 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/AntisenseRnaComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/AntisenseRnaComparator.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.model.map.species;
 import java.util.HashSet;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.Configuration;
@@ -22,7 +22,7 @@ public class AntisenseRnaComparator extends Comparator<AntisenseRna> {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(AntisenseRnaComparator.class);
+  private static Logger logger = LogManager.getLogger(AntisenseRnaComparator.class);
 
   /**
    * Epsilon value used for comparison of doubles.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/ChemicalComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/ChemicalComparator.java
index 89cde448fea49cdab3d044c7b93fe9f7a9f541cf..b6c41465cf7da963f7113e895849aebb3ad25fb3 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/ChemicalComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/ChemicalComparator.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.model.map.species;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.Configuration;
@@ -17,7 +17,7 @@ public class ChemicalComparator extends Comparator<Chemical> {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(ChemicalComparator.class);
+  private static Logger logger = LogManager.getLogger(ChemicalComparator.class);
 
   /**
    * Epsilon value used for comparison of doubles.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/Complex.java b/model/src/main/java/lcsb/mapviewer/model/map/species/Complex.java
index d41f4423491e8245a473bd76fe71c4afe21c00ee..673f30044bd03480e3cd26289512d859a9ebe48c 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/Complex.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/Complex.java
@@ -10,7 +10,7 @@ import javax.persistence.Entity;
 import javax.persistence.FetchType;
 import javax.persistence.OneToMany;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.hibernate.annotations.Cascade;
 import org.hibernate.annotations.CascadeType;
 
@@ -35,7 +35,7 @@ public class Complex extends Species {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(Complex.class);
+  private static Logger logger = LogManager.getLogger(Complex.class);
 
   /**
    * List of elements that are in this complex (only elements that lies there
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/ComplexComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/ComplexComparator.java
index ccfe3537aaa7d3c41510d392b4682f8697dd6257..980548937b0e12b1eccb8ab4a744d2df36d0db9b 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/ComplexComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/ComplexComparator.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.model.map.species;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.Configuration;
@@ -21,7 +21,7 @@ public class ComplexComparator extends Comparator<Complex> {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(ComplexComparator.class);
+  private static Logger logger = LogManager.getLogger(ComplexComparator.class);
 
   /**
    * Epsilon value used for comparison of doubles.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/DegradedComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/DegradedComparator.java
index 0f578f4414f625c9b736fdf4263c0ffd80fbc70b..533decd1db365be4cce9bacf6acb57a62d331ffc 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/DegradedComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/DegradedComparator.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.model.map.species;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.Configuration;
@@ -17,7 +17,7 @@ public class DegradedComparator extends Comparator<Degraded> {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(DegradedComparator.class);
+  private static Logger logger = LogManager.getLogger(DegradedComparator.class);
 
   /**
    * Epsilon value used for comparison of doubles.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/DrugComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/DrugComparator.java
index f1d068a96508d4e0dbdcdf88d96047371483fdb3..3b6e6ae294bedfb3ab3b0e7ee19c43fed3dcedce 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/DrugComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/DrugComparator.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.model.map.species;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.Configuration;
@@ -17,7 +17,7 @@ public class DrugComparator extends Comparator<Drug> {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(DrugComparator.class);
+  private static Logger logger = LogManager.getLogger(DrugComparator.class);
 
   /**
    * Epsilon value used for comparison of doubles.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/Element.java b/model/src/main/java/lcsb/mapviewer/model/map/species/Element.java
index 1d3ac88910a57f968efda182a040bf44ba50fab3..b12449a84153655e844083de981d2c1ce0d21c16 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/Element.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/Element.java
@@ -32,7 +32,7 @@ import javax.persistence.OneToMany;
 import javax.persistence.OrderColumn;
 import javax.xml.bind.annotation.XmlTransient;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.hibernate.annotations.Cascade;
 import org.hibernate.annotations.CascadeType;
 
@@ -100,7 +100,7 @@ public abstract class Element implements BioEntity, Serializable, SbmlArgument {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(Element.class);
+  private static Logger logger = LogManager.getLogger(Element.class);
 
   /**
    * Database identifier.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/ElementComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/ElementComparator.java
index bed6b9ef4f8997dbd948ad30f6110dade4d233ed..4fc14abe8aabb03dbaa29c4f8b8cffcec9a659ed 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/ElementComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/ElementComparator.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.model.map.species;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.Configuration;
@@ -25,7 +25,7 @@ public class ElementComparator extends Comparator<Element> {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(ElementComparator.class);
+  private static Logger logger = LogManager.getLogger(ElementComparator.class);
 
   /**
    * Epsilon value used for comparison of doubles.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/Gene.java b/model/src/main/java/lcsb/mapviewer/model/map/species/Gene.java
index f27bfbc731d3124b950a6cd18974602f00eee819..729c75d53b8a30d40037b981bb16aaf77ed626c9 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/Gene.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/Gene.java
@@ -7,7 +7,7 @@ import javax.persistence.DiscriminatorValue;
 import javax.persistence.Entity;
 import javax.persistence.OneToMany;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.hibernate.annotations.Cascade;
 import org.hibernate.annotations.CascadeType;
 import org.hibernate.annotations.LazyCollection;
@@ -35,7 +35,7 @@ import lcsb.mapviewer.model.map.species.field.TranscriptionSite;
 public class Gene extends Species implements SpeciesWithCodingRegion, SpeciesWithModificationSite, SpeciesWithRegulatoryRegion, SpeciesWithTranscriptionSite {
   
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(Gene.class);
+  private static Logger logger = LogManager.getLogger(Gene.class);
 
   /**
    * 
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/GeneComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/GeneComparator.java
index 2d33a2e413925b467b74d07c7388e67f7bc28a79..566af4a3521f708393937d0ed3dc450fe595a9ca 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/GeneComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/GeneComparator.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.model.map.species;
 import java.util.HashSet;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.Configuration;
@@ -22,7 +22,7 @@ public class GeneComparator extends Comparator<Gene> {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(GeneComparator.class);
+  private static Logger logger = LogManager.getLogger(GeneComparator.class);
 
   /**
    * Epsilon value used for comparison of doubles.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/GenericProteinComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/GenericProteinComparator.java
index a87f3855e27025b51d915958dd9ba3325c6f5a64..d49c07d7b01ec133730f56cde9a057c80688c79e 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/GenericProteinComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/GenericProteinComparator.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.model.map.species;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.Configuration;
@@ -17,7 +17,7 @@ public class GenericProteinComparator extends Comparator<GenericProtein> {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(GenericProteinComparator.class);
+  private static Logger logger = LogManager.getLogger(GenericProteinComparator.class);
 
   /**
    * Epsilon value used for comparison of doubles.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/IonChannelProteinComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/IonChannelProteinComparator.java
index 6006187ed1323258ba0e22546afe0cb356fdf01d..9cd67ad455c67ce47c159d3fd9c4fe9311189ae6 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/IonChannelProteinComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/IonChannelProteinComparator.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.model.map.species;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.Configuration;
@@ -17,7 +17,7 @@ public class IonChannelProteinComparator extends Comparator<IonChannelProtein> {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(IonChannelProteinComparator.class);
+  private static Logger logger = LogManager.getLogger(IonChannelProteinComparator.class);
 
   /**
    * Epsilon value used for comparison of doubles.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/IonComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/IonComparator.java
index 63126506ac69a880f740d18315cda587cbe3a5ad..bdcc6c159aef2be37aa94ccc3e75bc519997624e 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/IonComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/IonComparator.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.model.map.species;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.Configuration;
@@ -17,7 +17,7 @@ public class IonComparator extends Comparator<Ion> {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(IonComparator.class);
+  private static Logger logger = LogManager.getLogger(IonComparator.class);
 
   /**
    * Epsilon value used for comparison of doubles.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/PhenotypeComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/PhenotypeComparator.java
index c0a199ca92096fd60c53f2e97b4906b1d4a3db73..398feb5823699ae4d3f868e2912af366c8e7db37 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/PhenotypeComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/PhenotypeComparator.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.model.map.species;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.Configuration;
@@ -17,7 +17,7 @@ public class PhenotypeComparator extends Comparator<Phenotype> {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(PhenotypeComparator.class);
+  private static Logger logger = LogManager.getLogger(PhenotypeComparator.class);
 
   /**
    * Epsilon value used for comparison of doubles.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/ProteinComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/ProteinComparator.java
index 5deb711e159257077e98528a5238a224ddc8bf38..67140df7bb4010ba2b956ce133fc1ca06fe764ea 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/ProteinComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/ProteinComparator.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.model.map.species;
 import java.util.HashSet;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.Configuration;
@@ -22,7 +22,7 @@ public class ProteinComparator extends Comparator<Protein> {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(ProteinComparator.class);
+  private static Logger logger = LogManager.getLogger(ProteinComparator.class);
 
   /**
    * Epsilon value used for comparison of doubles.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/ReceptorProteinComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/ReceptorProteinComparator.java
index 36472b445eb589d60753aa417cac1f4edb9cad7b..d00fc3f2bbd725f45a7e82376a4eda583fbe7b6e 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/ReceptorProteinComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/ReceptorProteinComparator.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.model.map.species;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.Configuration;
@@ -17,7 +17,7 @@ public class ReceptorProteinComparator extends Comparator<ReceptorProtein> {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(ReceptorProteinComparator.class);
+  private static Logger logger = LogManager.getLogger(ReceptorProteinComparator.class);
 
   /**
    * Epsilon value used for comparison of doubles.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/RnaComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/RnaComparator.java
index f8ffa614af7e5711ad63cf2e481bdc068ee3fbb5..7c98838f506ac175e1f780df002916777cf99836 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/RnaComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/RnaComparator.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.model.map.species;
 import java.util.HashSet;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.Configuration;
@@ -22,7 +22,7 @@ public class RnaComparator extends Comparator<Rna> {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(RnaComparator.class);
+  private static Logger logger = LogManager.getLogger(RnaComparator.class);
 
   /**
    * Epsilon value used for comparison of doubles.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/SimpleMoleculeComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/SimpleMoleculeComparator.java
index 22c1716164982b425dadd3976ea0f0cecb969e84..8f812206d974962aab00ca928552d46820b6ed75 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/SimpleMoleculeComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/SimpleMoleculeComparator.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.model.map.species;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.Configuration;
@@ -17,7 +17,7 @@ public class SimpleMoleculeComparator extends Comparator<SimpleMolecule> {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(SimpleMoleculeComparator.class);
+  private static Logger logger = LogManager.getLogger(SimpleMoleculeComparator.class);
 
   /**
    * Epsilon value used for comparison of doubles.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/Species.java b/model/src/main/java/lcsb/mapviewer/model/map/species/Species.java
index 7816f47cc97eeccb9829089eb1a3ad4c93a5b3e8..819aafc0766ab18e3c2f9bdb21018f144fa2efab 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/Species.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/Species.java
@@ -12,7 +12,7 @@ import javax.persistence.JoinColumn;
 import javax.persistence.ManyToOne;
 import javax.persistence.OneToMany;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.hibernate.annotations.Cascade;
 import org.hibernate.annotations.CascadeType;
 
@@ -39,7 +39,7 @@ public abstract class Species extends Element {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(Species.class);
+  private static Logger logger = LogManager.getLogger(Species.class);
 
   /**
    * Is the element active.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/SpeciesComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/SpeciesComparator.java
index 54daaec6071f8f46c8f646212ccfabc4ba82b176..539b1d8b9fb85ecc1f30abf4ca50879e5a03a1e3 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/SpeciesComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/SpeciesComparator.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.model.map.species;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.Configuration;
@@ -21,7 +21,7 @@ public class SpeciesComparator extends Comparator<Species> {
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(SpeciesComparator.class);
+  private Logger logger = LogManager.getLogger(SpeciesComparator.class);
 
   /**
    * Epsilon value used for comparison of doubles.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/TruncatedProteinComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/TruncatedProteinComparator.java
index 952e69e4e254bff83f94ce722e95e9fbaec81858..b3c798ecb4d31b208c4c9d4830a82696d48cec54 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/TruncatedProteinComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/TruncatedProteinComparator.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.model.map.species;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.Configuration;
@@ -17,7 +17,7 @@ public class TruncatedProteinComparator extends Comparator<TruncatedProtein> {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(TruncatedProteinComparator.class);
+  private static Logger logger = LogManager.getLogger(TruncatedProteinComparator.class);
 
   /**
    * Epsilon value used for comparison of doubles.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/UnknownComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/UnknownComparator.java
index bbc83d06f9f4cde2755b87e7a5e1052421e189c3..bea3bf142791e156f9d4a2a2b1afb184b2301f6b 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/UnknownComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/UnknownComparator.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.model.map.species;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.Configuration;
@@ -17,7 +17,7 @@ public class UnknownComparator extends Comparator<Unknown> {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(UnknownComparator.class);
+  private static Logger logger = LogManager.getLogger(UnknownComparator.class);
 
   /**
    * Epsilon value used for comparison of doubles.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/field/BindingRegion.java b/model/src/main/java/lcsb/mapviewer/model/map/species/field/BindingRegion.java
index daa42fe4e3ddd4606d56a1ce00fad124a894af5b..bef43a4b256d61e14aa46c37d5f8c06f7556424d 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/field/BindingRegion.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/field/BindingRegion.java
@@ -5,7 +5,7 @@ import java.io.Serializable;
 import javax.persistence.DiscriminatorValue;
 import javax.persistence.Entity;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
 import lcsb.mapviewer.model.map.species.Protein;
@@ -34,7 +34,7 @@ public class BindingRegion extends AbstractRegionModification implements Seriali
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(BindingRegion.class);
+  private static Logger logger = LogManager.getLogger(BindingRegion.class);
 
   /**
    * Default constructor.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/field/CodingRegion.java b/model/src/main/java/lcsb/mapviewer/model/map/species/field/CodingRegion.java
index 4a10b406425a8c4a391a12bc52174c1e704600a2..57368aa9989dbc4b6f21957a9c749180296fd9cf 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/field/CodingRegion.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/field/CodingRegion.java
@@ -5,7 +5,7 @@ import java.io.Serializable;
 import javax.persistence.DiscriminatorValue;
 import javax.persistence.Entity;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
 import lcsb.mapviewer.model.map.species.AntisenseRna;
@@ -38,7 +38,7 @@ public class CodingRegion extends AbstractRegionModification implements Serializ
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(CodingRegion.class);
+  private static Logger logger = LogManager.getLogger(CodingRegion.class);
 
   /**
    * Default constructor.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/field/ModificationResidue.java b/model/src/main/java/lcsb/mapviewer/model/map/species/field/ModificationResidue.java
index 4225d31fb3662e6756f63116111eeac72cf1ee23..c40bafa2e25d37f23a40b2fec9b83fd20aa12cf5 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/field/ModificationResidue.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/field/ModificationResidue.java
@@ -17,7 +17,7 @@ import javax.persistence.InheritanceType;
 import javax.persistence.JoinColumn;
 import javax.persistence.ManyToOne;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.hibernate.annotations.Type;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
@@ -45,7 +45,7 @@ public abstract class ModificationResidue implements Serializable {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(ModificationResidue.class.getName());
+  private static Logger logger = LogManager.getLogger(ModificationResidue.class.getName());
 
   /**
    * Unique identifier in the database.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/field/ProteinBindingDomain.java b/model/src/main/java/lcsb/mapviewer/model/map/species/field/ProteinBindingDomain.java
index 92d9ea58f22dc937cbac59020022de6a79f51d43..cd1f1f3657fb4b36b89a33ecad0811c9c5f0ceb1 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/field/ProteinBindingDomain.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/field/ProteinBindingDomain.java
@@ -5,7 +5,7 @@ import java.io.Serializable;
 import javax.persistence.DiscriminatorValue;
 import javax.persistence.Entity;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
 import lcsb.mapviewer.model.map.species.AntisenseRna;
@@ -36,7 +36,7 @@ public class ProteinBindingDomain extends AbstractRegionModification implements
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(ProteinBindingDomain.class);
+  private static Logger logger = LogManager.getLogger(ProteinBindingDomain.class);
 
   /**
    * Default constructor.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/field/RegulatoryRegion.java b/model/src/main/java/lcsb/mapviewer/model/map/species/field/RegulatoryRegion.java
index fd47c43c8b6eeb0e806de8e8fcbba6be39abca89..b6fcc4ba3fb4e5a50ec785e1fd94ee78f6fb9b07 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/field/RegulatoryRegion.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/field/RegulatoryRegion.java
@@ -5,7 +5,7 @@ import java.io.Serializable;
 import javax.persistence.DiscriminatorValue;
 import javax.persistence.Entity;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
 import lcsb.mapviewer.model.map.species.Gene;
@@ -34,7 +34,7 @@ public class RegulatoryRegion extends AbstractRegionModification implements Seri
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(RegulatoryRegion.class);
+  private static Logger logger = LogManager.getLogger(RegulatoryRegion.class);
 
   /**
    * Default constructor.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/field/TranscriptionSite.java b/model/src/main/java/lcsb/mapviewer/model/map/species/field/TranscriptionSite.java
index e878a893d5d2c8efbb0a7221af064282ae113313..bf7b7f3ab143e823fe7dd9b571dc2d0057a10a65 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/field/TranscriptionSite.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/field/TranscriptionSite.java
@@ -5,7 +5,7 @@ import java.io.Serializable;
 import javax.persistence.DiscriminatorValue;
 import javax.persistence.Entity;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
 import lcsb.mapviewer.model.map.species.Gene;
@@ -34,7 +34,7 @@ public class TranscriptionSite extends AbstractRegionModification implements Ser
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(TranscriptionSite.class);
+  private static Logger logger = LogManager.getLogger(TranscriptionSite.class);
 
   private String direction = null;
 
diff --git a/model/src/main/java/lcsb/mapviewer/model/user/UserAnnotationSchema.java b/model/src/main/java/lcsb/mapviewer/model/user/UserAnnotationSchema.java
index 62e7afc494be1f680a61f4c945fc6f31b113a36c..dff4160f252d7bd102899699863043f1a99a5258 100644
--- a/model/src/main/java/lcsb/mapviewer/model/user/UserAnnotationSchema.java
+++ b/model/src/main/java/lcsb/mapviewer/model/user/UserAnnotationSchema.java
@@ -15,7 +15,7 @@ import javax.persistence.OneToMany;
 import javax.persistence.OneToOne;
 import javax.persistence.OrderBy;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.hibernate.annotations.Cascade;
 import org.hibernate.annotations.CascadeType;
 
@@ -43,7 +43,7 @@ public class UserAnnotationSchema implements Serializable {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(UserAnnotationSchema.class);
+  private static Logger logger = LogManager.getLogger(UserAnnotationSchema.class);
 
   /**
    * Unique identifier in the database.
diff --git a/model/src/main/java/lcsb/mapviewer/model/user/UserClassRequiredAnnotations.java b/model/src/main/java/lcsb/mapviewer/model/user/UserClassRequiredAnnotations.java
index 1d24b9ae71f262b07ff84b6671b6b365eb6a665a..65c9eea44344b04c2b1334ccecd975b1109beeba 100644
--- a/model/src/main/java/lcsb/mapviewer/model/user/UserClassRequiredAnnotations.java
+++ b/model/src/main/java/lcsb/mapviewer/model/user/UserClassRequiredAnnotations.java
@@ -18,7 +18,7 @@ import javax.persistence.JoinTable;
 import javax.persistence.ManyToOne;
 import javax.persistence.OrderColumn;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.model.map.MiriamType;
 
@@ -41,7 +41,7 @@ public class UserClassRequiredAnnotations implements Serializable {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(UserClassRequiredAnnotations.class);
+  private static Logger logger = LogManager.getLogger(UserClassRequiredAnnotations.class);
 
   /**
    * Unique identifier in the database.
diff --git a/model/src/main/java/lcsb/mapviewer/modelutils/map/ElementUtils.java b/model/src/main/java/lcsb/mapviewer/modelutils/map/ElementUtils.java
index 1998162145b42a997aeeb060eeb9832763c8658c..25de87fc35262aada62a9905cd68b9f2ad36ff91 100644
--- a/model/src/main/java/lcsb/mapviewer/modelutils/map/ElementUtils.java
+++ b/model/src/main/java/lcsb/mapviewer/modelutils/map/ElementUtils.java
@@ -8,7 +8,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.reflections.Reflections;
 
 import lcsb.mapviewer.model.map.BioEntity;
@@ -47,7 +47,7 @@ public final class ElementUtils {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(ElementUtils.class);
+  private static Logger logger = LogManager.getLogger(ElementUtils.class);
 
   /**
    * This method return tag that identifies {@link BioEntity}. This tag should be
diff --git a/model/src/test/java/lcsb/mapviewer/ModelTestFunctions.java b/model/src/test/java/lcsb/mapviewer/ModelTestFunctions.java
index fc9832424e2ea7ee356528aa56f8ea48010caad8..4828f73ee3f45232fc919868e3dd8b75abd79e8c 100644
--- a/model/src/test/java/lcsb/mapviewer/ModelTestFunctions.java
+++ b/model/src/test/java/lcsb/mapviewer/ModelTestFunctions.java
@@ -2,31 +2,29 @@ package lcsb.mapviewer;
 
 import java.util.List;
 
-import org.apache.log4j.Logger;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.core.LogEvent;
 import org.junit.After;
 import org.junit.Before;
 
-import lcsb.mapviewer.common.EventStorageLoggerAppender;
+import lcsb.mapviewer.common.MinervaLoggerAppender;
 
 public class ModelTestFunctions {
 
-	private EventStorageLoggerAppender appender;
+  private MinervaLoggerAppender appender;
 
-	@Before
-	public final void _setUp() throws Exception {
-		Logger.getRootLogger().removeAppender(appender);
-		appender = new EventStorageLoggerAppender();
-		Logger.getRootLogger().addAppender(appender);
-	}
+  @Before
+  public final void _setUp() throws Exception {
+    MinervaLoggerAppender.unregisterLogEventStorage(appender);
+    appender = MinervaLoggerAppender.createAppender();
+  }
 
-	@After
-	public final void _tearDown() throws Exception {
-		Logger.getRootLogger().removeAppender(appender);
-	}
+  @After
+  public final void _tearDown() throws Exception {
+    MinervaLoggerAppender.unregisterLogEventStorage(appender);
+  }
 
-	protected List<LoggingEvent> getWarnings() {
-		return appender.getWarnings();
-	}
+  protected List<LogEvent> getWarnings() {
+    return appender.getWarnings();
+  }
 
 }
diff --git a/model/src/test/java/lcsb/mapviewer/model/ProjectTest.java b/model/src/test/java/lcsb/mapviewer/model/ProjectTest.java
index 11e903ab2e3af35c68308211574c167c2e10d56f..181c7cc548b40131397105dbabeb1fee3400f8a8 100644
--- a/model/src/test/java/lcsb/mapviewer/model/ProjectTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/ProjectTest.java
@@ -11,14 +11,14 @@ import java.util.List;
 import java.util.Set;
 
 import org.apache.commons.lang3.SerializationUtils;
-import org.apache.log4j.Logger;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 
 import lcsb.mapviewer.common.Configuration;
-import lcsb.mapviewer.common.EventStorageLoggerAppender;
+import lcsb.mapviewer.common.MinervaLoggerAppender;
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.model.cache.UploadedFileEntry;
 import lcsb.mapviewer.model.map.MiriamData;
@@ -27,7 +27,7 @@ import lcsb.mapviewer.model.map.model.ModelData;
 import lcsb.mapviewer.model.map.model.ModelFullIndexed;
 
 public class ProjectTest {
-  Logger logger = Logger.getLogger(ProjectTest.class);
+  Logger logger = LogManager.getLogger(ProjectTest.class);
 
   @Before
   public void setUp() throws Exception {
@@ -250,13 +250,10 @@ public class ProjectTest {
   public void testAddLoggingInfo() {
     try {
       Project project = new Project();
-      EventStorageLoggerAppender appender = new EventStorageLoggerAppender();
-      logger.addAppender(appender);
+      MinervaLoggerAppender appender = MinervaLoggerAppender.createAppender();
       logger.warn("test");
       logger.warn("test2");
-      LoggingEvent event = appender.getWarnings().get(0);
-      appender.getWarnings().add(new LoggingEvent("St", event.getLogger(), null, new Object(), null));
-      logger.removeAppender(appender);
+      MinervaLoggerAppender.unregisterLogEventStorage(appender);
 
       project.addLoggingInfo(appender);
       assertEquals(2, project.getWarnings().size());
diff --git a/model/src/test/java/lcsb/mapviewer/model/graphics/PolylineDataTest.java b/model/src/test/java/lcsb/mapviewer/model/graphics/PolylineDataTest.java
index 14f57c8d638ecb2c795c76ca17e7afbc97bdeec7..606d2b0c7473538ed0f95c81154c3d7a449722ef 100644
--- a/model/src/test/java/lcsb/mapviewer/model/graphics/PolylineDataTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/graphics/PolylineDataTest.java
@@ -14,7 +14,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.commons.lang3.SerializationUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -25,7 +25,7 @@ import lcsb.mapviewer.common.exception.NotImplementedException;
 import lcsb.mapviewer.common.geometry.PointTransformation;
 
 public class PolylineDataTest {
-  Logger logger = Logger.getLogger(PolylineDataTest.class);
+  Logger logger = LogManager.getLogger(PolylineDataTest.class);
 
   PointTransformation pr = new PointTransformation();
 
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/MiriamTypeTest.java b/model/src/test/java/lcsb/mapviewer/model/map/MiriamTypeTest.java
index 3914805f79a3490e2a45d41382a639f96cf5c8e9..bbb763b3e4920054c4bb2b1e6cbd90587e270780 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/MiriamTypeTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/MiriamTypeTest.java
@@ -9,7 +9,7 @@ import static org.junit.Assert.fail;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -17,7 +17,7 @@ import org.junit.Test;
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 
 public class MiriamTypeTest {
-  Logger logger = Logger.getLogger(MiriamDataTest.class);
+  Logger logger = LogManager.getLogger(MiriamDataTest.class);
 
   @Before
   public void setUp() throws Exception {
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/compartment/CompartmentComparatorTest.java b/model/src/test/java/lcsb/mapviewer/model/map/compartment/CompartmentComparatorTest.java
index 35f4d3ed3f5a523afb07ea423df3be269c979f59..c9b26a97110b78460921bef64658affd8758066c 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/compartment/CompartmentComparatorTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/compartment/CompartmentComparatorTest.java
@@ -7,7 +7,7 @@ import static org.junit.Assert.fail;
 import java.awt.Color;
 import java.awt.geom.Point2D;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -18,7 +18,7 @@ import lcsb.mapviewer.model.map.species.Species;
 
 public class CompartmentComparatorTest {
 
-  Logger logger = Logger.getLogger(CompartmentComparatorTest.class);
+  Logger logger = LogManager.getLogger(CompartmentComparatorTest.class);
 
   CompartmentComparator comparator = new CompartmentComparator();
 
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/compartment/CompartmentTest.java b/model/src/test/java/lcsb/mapviewer/model/map/compartment/CompartmentTest.java
index 47229fe19918c2c0e629de233e1c0e335713dd4a..d5482ab3baab98bd67bf99bf3f4e870136233e6a 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/compartment/CompartmentTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/compartment/CompartmentTest.java
@@ -10,7 +10,7 @@ import java.util.HashSet;
 import java.util.Set;
 
 import org.apache.commons.lang3.SerializationUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -29,7 +29,7 @@ import lcsb.mapviewer.model.map.species.SimpleMolecule;
 import lcsb.mapviewer.model.map.species.Species;
 
 public class CompartmentTest {
-	Logger logger						 = Logger.getLogger(CompartmentTest.class);
+	Logger logger						 = LogManager.getLogger(CompartmentTest.class);
 
 	int		 identifierCounter = 1;
 
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/model/ModelComparatorTest.java b/model/src/test/java/lcsb/mapviewer/model/map/model/ModelComparatorTest.java
index e931941514fdc3a04730c6943f4aea7262173588..3a2cb1c4c4b0583bf0bf7f23b6c3dd20a27007a5 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/model/ModelComparatorTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/model/ModelComparatorTest.java
@@ -7,7 +7,7 @@ import static org.mockito.Mockito.when;
 
 import java.util.Calendar;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -26,7 +26,7 @@ import lcsb.mapviewer.model.map.species.GenericProtein;
 import lcsb.mapviewer.model.map.species.Species;
 
 public class ModelComparatorTest {
-  Logger logger = Logger.getLogger(ModelComparatorTest.class);
+  Logger logger = LogManager.getLogger(ModelComparatorTest.class);
 
   ModelComparator comparator = new ModelComparator();
 
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/model/ModelFullIndexedTest.java b/model/src/test/java/lcsb/mapviewer/model/map/model/ModelFullIndexedTest.java
index bb36ace8271dc52cdd8960c49262925e374471ae..371d0d385a79c0e71fd85b7891f0b70a1a808534 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/model/ModelFullIndexedTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/model/ModelFullIndexedTest.java
@@ -12,7 +12,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -37,7 +37,7 @@ import lcsb.mapviewer.model.map.species.GenericProtein;
 import lcsb.mapviewer.model.map.species.Species;
 
 public class ModelFullIndexedTest {
-  Logger logger = Logger.getLogger(ModelFullIndexedTest.class);
+  Logger logger = LogManager.getLogger(ModelFullIndexedTest.class);
 
   @Before
   public void setUp() throws Exception {
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/model/ModelTest.java b/model/src/test/java/lcsb/mapviewer/model/map/model/ModelTest.java
index 2d3078e3dabb80aa22a6b7fc6ac3ce4d12dc2a88..a399e706f8e3d1476cb9a387b40415e49f215896 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/model/ModelTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/model/ModelTest.java
@@ -9,7 +9,7 @@ import static org.junit.Assert.fail;
 import java.util.List;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -27,7 +27,7 @@ import lcsb.mapviewer.model.map.species.GenericProtein;
 import lcsb.mapviewer.model.map.species.Species;
 
 public class ModelTest {
-	Logger					logger = Logger.getLogger(ModelTest.class);
+	Logger					logger = LogManager.getLogger(ModelTest.class);
 
 	private Species	species;
 
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/reaction/ReactionTest.java b/model/src/test/java/lcsb/mapviewer/model/map/reaction/ReactionTest.java
index e7ebad96304e6a1f62321a85c399c902e3f4d6e1..6106bc40dda41ac783c2fdcffd3dd6648d5af57b 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/reaction/ReactionTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/reaction/ReactionTest.java
@@ -14,7 +14,7 @@ import java.util.Collections;
 import java.util.List;
 
 import org.apache.commons.lang3.SerializationUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -39,7 +39,7 @@ import lcsb.mapviewer.model.map.species.Species;
 
 public class ReactionTest extends ModelTestFunctions {
 
-  Logger logger = Logger.getLogger(ReactantTest.class);
+  Logger logger = LogManager.getLogger(ReactantTest.class);
 
   private Species species;
 
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/species/ComplexComparatorTest.java b/model/src/test/java/lcsb/mapviewer/model/map/species/ComplexComparatorTest.java
index b7d0182c13d8c33500e8015c927aa5d603e0add0..d673e3d8b7a1a8ba4eb44cdee96f81794bff50ca 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/species/ComplexComparatorTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/species/ComplexComparatorTest.java
@@ -7,7 +7,7 @@ import static org.mockito.Mockito.when;
 
 import java.awt.Color;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -18,7 +18,7 @@ import lcsb.mapviewer.common.exception.NotImplementedException;
 
 public class ComplexComparatorTest {
 
-  Logger logger = Logger.getLogger(ComplexComparatorTest.class);
+  Logger logger = LogManager.getLogger(ComplexComparatorTest.class);
   ComplexComparator comparator = new ComplexComparator();
 
   @Before
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/species/ProteinComparatorTest.java b/model/src/test/java/lcsb/mapviewer/model/map/species/ProteinComparatorTest.java
index e0cdc967ea40aa88a95d268006c3985bce232c79..2e44d0cfaaa747767d0bca9054c3e8cad113ba53 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/species/ProteinComparatorTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/species/ProteinComparatorTest.java
@@ -6,7 +6,7 @@ import static org.junit.Assert.fail;
 
 import java.awt.geom.Point2D;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -17,7 +17,7 @@ import lcsb.mapviewer.model.map.species.field.ModificationState;
 import lcsb.mapviewer.model.map.species.field.Residue;
 
 public class ProteinComparatorTest {
-  Logger logger=  Logger.getLogger(ProteinComparatorTest.class);
+  Logger logger=  LogManager.getLogger(ProteinComparatorTest.class);
 
   ProteinComparator comparator = new ProteinComparator();
 
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/species/RnaTest.java b/model/src/test/java/lcsb/mapviewer/model/map/species/RnaTest.java
index f36d79d0012bfcac3cd7404fed3656ddacf39f28..88cb9f2ce62276c24f4c5b70b792e8d90496ad8a 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/species/RnaTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/species/RnaTest.java
@@ -8,7 +8,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.commons.lang3.SerializationUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -19,7 +19,7 @@ import lcsb.mapviewer.model.map.species.field.CodingRegion;
 import lcsb.mapviewer.model.map.species.field.ModificationResidue;
 
 public class RnaTest {
-  Logger logger = Logger.getLogger(RnaTest.class);
+  Logger logger = LogManager.getLogger(RnaTest.class);
 
   @Before
   public void setUp() throws Exception {
diff --git a/model/src/test/java/lcsb/mapviewer/modelutils/map/ElementUtilsTest.java b/model/src/test/java/lcsb/mapviewer/modelutils/map/ElementUtilsTest.java
index 30495b30ec6a58ca4f5eb3437253d43ded9dacdf..d3c84726fc7950f909890ab0cc2d70ff09e71823 100644
--- a/model/src/test/java/lcsb/mapviewer/modelutils/map/ElementUtilsTest.java
+++ b/model/src/test/java/lcsb/mapviewer/modelutils/map/ElementUtilsTest.java
@@ -5,21 +5,19 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Queue;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 import org.mockito.Mockito;
 
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
-import lcsb.mapviewer.common.exception.NotImplementedException;
-import lcsb.mapviewer.model.map.BioEntity;
 import lcsb.mapviewer.model.map.reaction.Reaction;
 import lcsb.mapviewer.model.map.reaction.type.UnknownNegativeInfluenceReaction;
 import lcsb.mapviewer.model.map.species.Element;
@@ -29,7 +27,7 @@ import lcsb.mapviewer.model.map.species.IonChannelProtein;
 import lcsb.mapviewer.model.map.species.Protein;
 
 public class ElementUtilsTest {
-  Logger logger = Logger.getLogger(ElementUtilsTest.class);
+  Logger logger = LogManager.getLogger(ElementUtilsTest.class);
 
   @Before
   public void setUp() throws Exception {
diff --git a/model/src/test/resources/log4j.properties b/model/src/test/resources/log4j.properties
deleted file mode 100644
index 19a3aa0b205013af586b01e8eead31ddcf4926eb..0000000000000000000000000000000000000000
--- a/model/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,44 +0,0 @@
-#Set root logger 's level and its appender to an appender called CONSOLE which is defined below.
-log4j.rootLogger=info, CONSOLE
-
-#Set the behavior of the CONSOLE appender 
-log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
-log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
-log4j.appender.CONSOLE.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-#log4j.appender.CONSOLE.layout.ConversionPattern=%m%n
-
-
-#Set the behavior of the FILE appender 
-log4j.appender.R=org.apache.log4j.FileAppender
-log4j.appender.R.File=${catalina.home}/logs/MapViewer.log
-log4j.appender.R.layout=org.apache.log4j.PatternLayout
-log4j.appender.R.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-
-
-log4j.logger.org.springframework=warn
-log4j.logger.org.hibernate=warn
-log4j.logger.lcsb=debug
-log4j.logger.lcsb.mapviewer.model.map.species.ElementComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.SpeciesComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.SimpleMoleculeComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.ProteinComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.AssociatedElementComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.ComplexSpeciesComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.AssociatedElementComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.PhenotypeComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.fields.AssociatedElementComparator=info
-
-log4j.logger.lcsb.mapviewer.model.map.layout.alias.SpeciesAliasComparator=info
-log4j.logger.lcsb.mapviewer.model.map.layout.alias.AliasComparator=info
-log4j.logger.lcsb.mapviewer.model.map.layout.alias.ComplexAliasComparator=info
-log4j.logger.lcsb.mapviewer.model.map.layout.alias.CompartmentAliasComparator=info
-
-log4j.logger.lcsb.mapviewer.model.map.reaction.ReactionNodeComparator=info
-log4j.logger.lcsb.mapviewer.model.map.reaction.ReactionComparator=info
-log4j.logger.lcsb.mapviewer.model.map.reaction.NodeOperatorComparator=info
-log4j.logger.lcsb.mapviewer.model.map.reaction.AbstractNodeComparator=info
-
-log4j.logger.lcsb.mapviewer.model.map.model.ModelComparator=info
-
-log4j.logger.lcsb.mapviewer.common.comparator=info
-log4j.logger.lcsb.mapviewer.model.graphics.PolylineDataComparator=info
\ No newline at end of file
diff --git a/model/src/test/resources/log4j2.properties b/model/src/test/resources/log4j2.properties
new file mode 100644
index 0000000000000000000000000000000000000000..b5eaa32682d177bf266eb6ed4831b4e8f4b9135d
--- /dev/null
+++ b/model/src/test/resources/log4j2.properties
@@ -0,0 +1,25 @@
+rootLogger.level = INFO
+appenders = console
+
+appender.console.type = Console
+appender.console.name = STDOUT
+appender.console.layout.type = PatternLayout
+appender.console.layout.pattern = %d %5p [%t] (%F:%L) - %m%n
+
+rootLogger.appenderRefs = console
+
+rootLogger.appenderRef.console.ref = STDOUT
+
+logger.minerva.name = lcsb
+logger.minerva.level = debug
+logger.minerva-persist.name = lcsb.mapviewer.persist.DbUtils
+logger.minerva-persist.level = info
+logger.minerva-cache.name = lcsb.mapviewer.annotation.cache
+logger.minerva-cache.level = info
+
+
+logger.springframework.name = org.springframework
+logger.springframework.level = warn
+
+logger.hibernate.name = org.hibernate
+logger.hibernate.level = warn
diff --git a/pathvisio/pom.xml b/pathvisio/pom.xml
index c15f785067ee82eb80afa06baf551818863ff30c..9eac37f38a086b402840afb81feb6930ebec46ce 100644
--- a/pathvisio/pom.xml
+++ b/pathvisio/pom.xml
@@ -181,10 +181,16 @@
       <version>1.0</version>
     </dependency>
 
+		<!-- Log4J2-->
 		<dependency>
-			<groupId>log4j</groupId>
-			<artifactId>log4j</artifactId>
-			<version>${log4j.version}</version>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-api</artifactId>
+			<version>${log4j2.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-core</artifactId>
+			<version>${log4j2.version}</version>
 		</dependency>
 
     <dependency>
diff --git a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/ImportExport.java b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/ImportExport.java
index 7f1963788f6eac83d5602274e187e5a8395074b9..bb5e4a1bfe1d29b31369a3d32949bda688a4e214 100644
--- a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/ImportExport.java
+++ b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/ImportExport.java
@@ -2,17 +2,16 @@ package lcsb.mapviewer.wikipathway;
 
 import java.io.ByteArrayInputStream;
 import java.io.File;
-import java.io.FileInputStream;
 import java.io.InputStream;
 import java.io.PrintWriter;
 import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Properties;
 
-import org.apache.log4j.Logger;
-import org.apache.log4j.PropertyConfigurator;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.LoggerContext;
 import org.pathvisio.core.model.ConverterException;
 import org.pathvisio.core.model.Pathway;
 import org.pathvisio.core.model.PathwayExporter;
@@ -20,7 +19,7 @@ import org.pathvisio.core.model.PathwayImporter;
 import org.pathvisio.desktop.PvDesktop;
 import org.pathvisio.desktop.plugin.Plugin;
 
-import lcsb.mapviewer.common.EventStorageLoggerAppender;
+import lcsb.mapviewer.common.MinervaLoggerAppender;
 import lcsb.mapviewer.converter.ConverterParams;
 import lcsb.mapviewer.converter.model.celldesigner.CellDesignerXmlParser;
 import lcsb.mapviewer.model.map.model.Model;
@@ -37,7 +36,7 @@ public class ImportExport implements Plugin {
 	/**
 	 * Default class logger.
 	 */
-	private static Logger	 logger						= Logger.getLogger(ImportExport.class);
+	private static Logger	 logger						= LogManager.getLogger(ImportExport.class);
 	/**
 	 * List of extensions supported by import plugin.
 	 */
@@ -50,9 +49,9 @@ public class ImportExport implements Plugin {
 	@Override
 	public void init(PvDesktop desktop) {
 		try {
-			Properties props = new Properties();
-			props.load(new FileInputStream("log4j.properties"));
-			PropertyConfigurator.configure(props);
+		  LoggerContext context = (org.apache.logging.log4j.core.LoggerContext) LogManager.getContext(false);
+		  File file = new File("log4j2.properties");
+		  context.setConfigLocation(file.toURI());
 		} catch (Exception e) {
 			e.printStackTrace();
 		}
@@ -78,7 +77,7 @@ public class ImportExport implements Plugin {
 		/**
 		 * List of warnings that occured during conversion.
 		 */
-		private List<LoggingEvent> warnings = new ArrayList<>();
+		private List<LogEvent> warnings = new ArrayList<>();
 
 		/**
 		 * Default constructor.
@@ -98,9 +97,8 @@ public class ImportExport implements Plugin {
 
 		@Override
 		public Pathway doImport(File file) throws ConverterException {
-			EventStorageLoggerAppender appender = new EventStorageLoggerAppender();
+		  MinervaLoggerAppender appender = MinervaLoggerAppender.createAppender();
 			try {
-				Logger.getRootLogger().addAppender(appender);
 				Pathway pathway = new Pathway();
 				String fileName = file.getPath();
 
@@ -111,14 +109,14 @@ public class ImportExport implements Plugin {
 				Boolean validate = false;
 				pathway.readFromXml(stream, validate);
 
-				Logger.getRootLogger().removeAppender(appender);
+			    MinervaLoggerAppender.unregisterLogEventStorage(appender);
 				warnings.addAll(appender.getWarnings());
 				return pathway;
 			} catch (Exception e) {
 				logger.error(e, e);
 				throw new ConverterException(e);
 			} finally {
-				Logger.getRootLogger().removeAppender(appender);
+				MinervaLoggerAppender.unregisterLogEventStorage(appender);
 			}
 		}
 
@@ -130,10 +128,8 @@ public class ImportExport implements Plugin {
 		@Override
 		public List<String> getWarnings() {
 			List<String> result = new ArrayList<>();
-			for (LoggingEvent event : warnings) {
-				if (event.getMessage() instanceof String) {
-					result.add((String) event.getMessage());
-				}
+			for (LogEvent event : warnings) {
+				result.add(event.getMessage().getFormattedMessage());
 			}
 			return result;
 		}
@@ -175,13 +171,12 @@ public class ImportExport implements Plugin {
 
 		@Override
 		public void doExport(File file, Pathway pathway) throws ConverterException {
-			EventStorageLoggerAppender appender = new EventStorageLoggerAppender();
+		  MinervaLoggerAppender appender = MinervaLoggerAppender.createAppender();
 			try {
-				Logger.getRootLogger().addAppender(appender);
 				pathway.writeToXml(new File("tmp.gpml"), false);
 				model = new GPMLToModel().getModel("tmp.gpml");
 
-				Logger.getRootLogger().removeAppender(appender);
+			    MinervaLoggerAppender.unregisterLogEventStorage(appender);
 				warnings = createWarnings(appender);
 
 				CellDesignerXmlParser parser = new CellDesignerXmlParser();
@@ -195,7 +190,7 @@ public class ImportExport implements Plugin {
 				logger.error(e.getMessage(), e);
 				throw new ConverterException(e);
 			} finally {
-				Logger.getRootLogger().removeAppender(appender);
+				MinervaLoggerAppender.unregisterLogEventStorage(appender);
 			}
 		}
 
@@ -206,14 +201,10 @@ public class ImportExport implements Plugin {
 		 *          appender with the logs
 		 * @return list of warnings from log4j appender data
 		 */
-		private List<String> createWarnings(EventStorageLoggerAppender appender) {
+		private List<String> createWarnings(MinervaLoggerAppender appender) {
 			List<String> warnings = new ArrayList<>();
-			for (LoggingEvent event : appender.getWarnings()) {
-				if (event.getMessage() instanceof String) {
-					warnings.add(((String) event.getMessage()).replaceAll("\n", "_NEW_LINE_"));
-				} else {
-					logger.warn("Unknown message class: " + event.getClass());
-				}
+			for (LogEvent event : appender.getWarnings()) {
+				warnings.add(event.getMessage().getFormattedMessage().replaceAll("\n", "_NEW_LINE_"));
 			}
 			return warnings;
 		}
diff --git a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/BiopaxParser.java b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/BiopaxParser.java
index d892ec7f5dd43ea06fe9b34e39636d6d750ddfc3..877f7cf6d3eef9af383883c843c9adea24856dff 100644
--- a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/BiopaxParser.java
+++ b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/BiopaxParser.java
@@ -7,7 +7,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
@@ -31,7 +31,7 @@ public class BiopaxParser {
 	/**
 	 * Default class logger.
 	 */
-	private static Logger						logger		 = Logger.getLogger(BiopaxParser.class);
+	private static Logger						logger		 = LogManager.getLogger(BiopaxParser.class);
 
 	/**
 	 * Hash used for next {@link BiopaxPublication} processed by parser.
diff --git a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/DataNodeParser.java b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/DataNodeParser.java
index 16a6b3b71793ad2db904a4d359691f1373a27a48..96bb89c3e54caa42dd0f56dfae138eb8cbaafdd8 100644
--- a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/DataNodeParser.java
+++ b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/DataNodeParser.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.wikipathway.XML;
 import java.awt.geom.Rectangle2D;
 import java.util.Collection;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
@@ -29,7 +29,7 @@ public class DataNodeParser extends GraphicalPathwayElementParser<DataNode> {
 	/**
 	 * Default claass logger.
 	 */
-	private final Logger					logger					= Logger.getLogger(DataNodeParser.class);
+	private final Logger					logger					= LogManager.getLogger(DataNodeParser.class);
 
 	/**
 	 * PArser used to process references.
diff --git a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/EdgeLineParser.java b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/EdgeLineParser.java
index 92feeb4c0bc16aec9acaa5445e166be15932c399..d848563e2443f5b13f37a5140f5bda77548b2a6b 100644
--- a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/EdgeLineParser.java
+++ b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/EdgeLineParser.java
@@ -2,7 +2,7 @@ package lcsb.mapviewer.wikipathway.XML;
 
 import java.util.Collection;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
@@ -25,7 +25,7 @@ public class EdgeLineParser extends ElementGpmlParser<Edge> {
 	/**
 	 * Default class logger.
 	 */
-	private final Logger		 logger			= Logger.getLogger(EdgeLineParser.class);
+	private final Logger		 logger			= LogManager.getLogger(EdgeLineParser.class);
 
 	/**
 	 * Parser used to parse typical {@link Edge} xml nodes.
diff --git a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/EdgeParser.java b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/EdgeParser.java
index 5c367ccade930489454a29f81fce8bc9adc6f948..dc083bad422bc9016826ed6454d242fe3949a861 100644
--- a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/EdgeParser.java
+++ b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/EdgeParser.java
@@ -6,7 +6,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
@@ -46,7 +46,7 @@ public class EdgeParser extends ElementGpmlParser<Edge> {
 	/**
 	 * Default class logger.
 	 */
-	private final Logger				logger					 = Logger.getLogger(EdgeParser.class);
+	private final Logger				logger					 = LogManager.getLogger(EdgeParser.class);
 
 	/**
 	 * First id value used for generating identifiers during conversion.
diff --git a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/ElementGpmlParser.java b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/ElementGpmlParser.java
index cad379fcbd1966702d4052439a82bd944cd71b4c..7cde314e7267786f30cad240a04a1c30cfa89ac8 100644
--- a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/ElementGpmlParser.java
+++ b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/ElementGpmlParser.java
@@ -11,7 +11,7 @@ import lcsb.mapviewer.common.Pair;
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.converter.ConverterException;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Element;
 import org.w3c.dom.NamedNodeMap;
 import org.w3c.dom.Node;
@@ -30,7 +30,7 @@ public abstract class ElementGpmlParser<T> {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private final Logger			 logger						= Logger.getLogger(ElementGpmlParser.class);
+	private final Logger			 logger						= LogManager.getLogger(ElementGpmlParser.class);
 
 	/**
 	 * Color that should be used when we have transparent color.
diff --git a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/GpmlParser.java b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/GpmlParser.java
index b19db3ef42d6c7a25daa04921adc7e379f133d2c..671ebacb11aa9aa0ecf29ca5091838d8f6ca943e 100644
--- a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/GpmlParser.java
+++ b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/GpmlParser.java
@@ -14,7 +14,7 @@ import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.parsers.ParserConfigurationException;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
@@ -51,7 +51,7 @@ public class GpmlParser {
 	/**
 	 * Default class logger.
 	 */
-	private Logger					logger				 = Logger.getLogger(GpmlParser.class);
+	private Logger					logger				 = LogManager.getLogger(GpmlParser.class);
 
 	/**
 	 * Parser used for creating {@link Shape shapes}.
diff --git a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/GraphicalPathwayElementParser.java b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/GraphicalPathwayElementParser.java
index c868fdc2110f464f776c33cdc6c8d1707e0dac3d..3e6d5c26f50c6784302e8e6422fad8cbfe796369 100644
--- a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/GraphicalPathwayElementParser.java
+++ b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/GraphicalPathwayElementParser.java
@@ -2,7 +2,7 @@ package lcsb.mapviewer.wikipathway.XML;
 
 import java.awt.font.TextAttribute;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Pair;
 import lcsb.mapviewer.common.geometry.TextAlignment;
@@ -23,7 +23,7 @@ public abstract class GraphicalPathwayElementParser<T extends GraphicalPathwayEl
 	/**
 	 * Default class logger.
 	 */
-	private final Logger logger = Logger.getLogger(GraphicalPathwayElementParser.class);
+	private final Logger logger = LogManager.getLogger(GraphicalPathwayElementParser.class);
 
 	/**
 	 * Parse font attributes that might appear.
diff --git a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/LabelParser.java b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/LabelParser.java
index c7f3043a93226f5938fc1d18a9d2f8703f2ac403..82af92ce1be0deef2a94a8223d9b14ac053b312d 100644
--- a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/LabelParser.java
+++ b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/LabelParser.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.wikipathway.XML;
 import java.awt.geom.Rectangle2D;
 import java.util.Collection;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
@@ -27,7 +27,7 @@ public class LabelParser extends GraphicalPathwayElementParser<Label> {
 	/**
 	 * Default class logger.
 	 */
-	private final Logger logger = Logger.getLogger(LabelParser.class);
+	private final Logger logger = LogManager.getLogger(LabelParser.class);
 
 	@Override
 	public Label parse(Element eElement) throws UnknownTypeException {
diff --git a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/ModelContructor.java b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/ModelContructor.java
index f9075260c72c0b7b804f71cac056ad34916098d1..029e14fc5a1bf6d531beb0dbce72918a14c3114c 100644
--- a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/ModelContructor.java
+++ b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/ModelContructor.java
@@ -13,7 +13,7 @@ import java.util.Map;
 import java.util.Set;
 
 import org.apache.commons.lang3.StringEscapeUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Configuration;
 import lcsb.mapviewer.common.Pair;
@@ -115,7 +115,7 @@ public class ModelContructor {
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(ModelContructor.class);
+  private Logger logger = LogManager.getLogger(ModelContructor.class);
 
   /**
    * Parser used for extracting {@link MiriamData references} from GPML model.
diff --git a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/ModelToGPML.java b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/ModelToGPML.java
index 6634a3e9bdbe7c106557479e024a1ca78ef9551f..0e4ba28f7ec518f29ef6bec92248f382f9aef1ba 100644
--- a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/ModelToGPML.java
+++ b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/ModelToGPML.java
@@ -5,7 +5,7 @@ import java.awt.geom.Rectangle2D;
 import java.util.HashSet;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.converter.ConverterException;
@@ -48,7 +48,7 @@ public class ModelToGPML {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private final Logger logger = Logger.getLogger(ModelToGPML.class);
+  private final Logger logger = LogManager.getLogger(ModelToGPML.class);
 
   /**
    * Maximum distance between point and line. ???
diff --git a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/PointDataParser.java b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/PointDataParser.java
index 3538d76c4b8998d9e9e8cfe40f21431441c0b9be..1d1e037c73f008beb805aaebde9f7d7fde9837c9 100644
--- a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/PointDataParser.java
+++ b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/PointDataParser.java
@@ -2,7 +2,7 @@ package lcsb.mapviewer.wikipathway.XML;
 
 import java.util.Collection;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Element;
 
 import lcsb.mapviewer.common.Pair;
@@ -24,7 +24,7 @@ public class PointDataParser extends ElementGpmlParser<PointData> {
 	/**
 	 * Default class logger.
 	 */
-	private final Logger logger = Logger.getLogger(PointDataParser.class);
+	private final Logger logger = LogManager.getLogger(PointDataParser.class);
 
 	@Override
 	public PointData parse(Element element) throws UnknownTypeException {
diff --git a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/ReferenceParser.java b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/ReferenceParser.java
index 74ec378fddd07cdf170b1ec92bada2b714336be1..ec6a06d01e962d7e554729bd9138dd6f370ef423 100644
--- a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/ReferenceParser.java
+++ b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/ReferenceParser.java
@@ -2,12 +2,13 @@ package lcsb.mapviewer.wikipathway.XML;
 
 import java.util.Collection;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
-import lcsb.mapviewer.common.EventStorageLoggerAppender;
+
+import lcsb.mapviewer.common.MinervaLoggerAppender;
 import lcsb.mapviewer.common.Pair;
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.common.exception.NotImplementedException;
@@ -29,7 +30,7 @@ public class ReferenceParser extends ElementGpmlParser<MiriamData> {
 	/**
 	 * Default class logger.
 	 */
-	private final Logger logger = Logger.getLogger(ReferenceParser.class);
+	private final Logger logger = LogManager.getLogger(ReferenceParser.class);
 
 	/**
 	 * This function creates MiriamData from database name and id.
@@ -139,15 +140,14 @@ public class ReferenceParser extends ElementGpmlParser<MiriamData> {
 			if (!md.getDataType().equals(MiriamType.PUBMED)) {
 				counter++;
 				if (counter == 1) {
-					EventStorageLoggerAppender appender = new EventStorageLoggerAppender();
+				  MinervaLoggerAppender appender = MinervaLoggerAppender.createAppender();
 					try {
-						Logger.getRootLogger().addAppender(appender);
 						result.append(toXml(md));
 						if (appender.getWarnings().size() > 0) {
 							counter--;
 						}
 					} finally {
-						Logger.getRootLogger().removeAppender(appender);
+						MinervaLoggerAppender.unregisterLogEventStorage(appender);
 					}
 				} else {
 					logger.warn("Annotation ommited - gpml support only one annotation per element: " + md.getDataType() + ": " + md.getResource());
diff --git a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/ShapeParser.java b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/ShapeParser.java
index 20602560e845e5ee5853419311b3f391f001a218..21aa6c627f9198afda6252187ae401d7a5defa0e 100644
--- a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/ShapeParser.java
+++ b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/ShapeParser.java
@@ -4,7 +4,7 @@ import java.awt.font.TextAttribute;
 import java.awt.geom.Rectangle2D;
 import java.util.Collection;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
@@ -29,7 +29,7 @@ public class ShapeParser extends GraphicalPathwayElementParser<Shape> {
 	/**
 	 * Default class logger.
 	 */
-	private final Logger logger = Logger.getLogger(ShapeParser.class);
+	private final Logger logger = LogManager.getLogger(ShapeParser.class);
 
 	@Override
 	public Shape parse(Element eElement) throws ConverterException {
diff --git a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/StateParser.java b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/StateParser.java
index 9117268a8ac3180886bf7e7224484ce466bffb66..c31cf5f56b150297ee0470fb0102ce194811b41f 100644
--- a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/StateParser.java
+++ b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/StateParser.java
@@ -2,7 +2,7 @@ package lcsb.mapviewer.wikipathway.XML;
 
 import java.util.Collection;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
@@ -29,7 +29,7 @@ public class StateParser extends ElementGpmlParser<State> {
 	/**
 	 * Default class logger.
 	 */
-	private final Logger		logger					= Logger.getLogger(StateParser.class);
+	private final Logger		logger					= LogManager.getLogger(StateParser.class);
 
 	/**
 	 * Parser used for extracting {@link lcsb.mapviewer.model.map.MiriamData
diff --git a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/model/Edge.java b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/model/Edge.java
index 82f6247a32122777ad24e7a9fbf3ca1e1f3847d7..062fbb009039ef548ab4bec7d7d5e8527196cbb1 100644
--- a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/model/Edge.java
+++ b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/model/Edge.java
@@ -8,7 +8,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.model.graphics.PolylineData;
@@ -37,7 +37,7 @@ public class Edge implements Serializable {
 	/**
 	 * Default class logger.
 	 */
-	private final transient Logger logger						= Logger.getLogger(Edge.class);
+	private final transient Logger logger						= LogManager.getLogger(Edge.class);
 
 	/**
 	 * Identifier in gpml model.
diff --git a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/model/Graph.java b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/model/Graph.java
index 59ac161bbca8686adc79756709b5b71ab2de642c..e967340cf521ff9aa2f1d94e310b17984cb2d5ae 100644
--- a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/model/Graph.java
+++ b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/model/Graph.java
@@ -10,7 +10,7 @@ import java.util.Map;
 import lcsb.mapviewer.model.graphics.PolylineData;
 import lcsb.mapviewer.wikipathway.model.biopax.BiopaxData;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * This class models nodes and reaction from PathVisio for easy(?) conversion to
@@ -40,7 +40,7 @@ public class Graph implements Serializable {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger							 logger							 = Logger.getLogger(Graph.class);
+	private static Logger							 logger							 = LogManager.getLogger(Graph.class);
 
 	/**
 	 * Height of the model.
diff --git a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/model/PointData.java b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/model/PointData.java
index 824905397e7933f3e83c2a5559482faed5d379ed..c05084ce6cd28d70e93430f95420e35ba1e974fb 100644
--- a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/model/PointData.java
+++ b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/model/PointData.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.wikipathway.model;
 import java.awt.geom.Point2D;
 import java.io.Serializable;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * Class that defines infgomration about point stored in gpml structures.
@@ -21,7 +21,7 @@ public class PointData implements Serializable {
 	/**
 	 * Defdault clas logger.
 	 */
-	private final transient Logger logger					 = Logger.getLogger(PointData.class);
+	private final transient Logger logger					 = LogManager.getLogger(PointData.class);
 
 	/**
 	 * X coordinate.
diff --git a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/model/biopax/BiopaxData.java b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/model/biopax/BiopaxData.java
index 64bec374b22b2284dd055ac636a7a47c1502f764..3cd84eb8e5bdc819c73a8b42bd606269d8ccc9a5 100644
--- a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/model/biopax/BiopaxData.java
+++ b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/model/biopax/BiopaxData.java
@@ -9,7 +9,7 @@ import java.util.Map;
 
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * Element containg all biopax information parsed from gpml file.
@@ -28,7 +28,7 @@ public class BiopaxData implements Serializable {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private final transient Logger							 logger										 = Logger.getLogger(BiopaxData.class);
+	private final transient Logger							 logger										 = LogManager.getLogger(BiopaxData.class);
 
 	/**
 	 * List of {@link BiopaxPublication publications}.
diff --git a/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/ComplexReactionToModelTest.java b/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/ComplexReactionToModelTest.java
index 7af111468d47235671d1d732c1a51c806b31d728..e3ad0ce78ee96389b4b07f5769eec724fd871356 100644
--- a/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/ComplexReactionToModelTest.java
+++ b/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/ComplexReactionToModelTest.java
@@ -6,7 +6,7 @@ import static org.junit.Assert.assertTrue;
 
 import java.awt.Color;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 
 import lcsb.mapviewer.model.map.model.Model;
@@ -20,7 +20,7 @@ public class ComplexReactionToModelTest extends WikipathwaysTestFunctions {
   /**
    * Default class logger.
    */
-  static Logger logger = Logger.getLogger(ComplexReactionToModelTest.class);
+  static Logger logger = LogManager.getLogger(ComplexReactionToModelTest.class);
 
   @Test
   public void ComplexReactionTest() throws Exception {
diff --git a/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/GPMLToModelTest.java b/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/GPMLToModelTest.java
index 32c31e6da8f88a889581c55b17d527d6f78ded72..47d83f98474126a0a5cf1bc954cbdba2c9c5b266 100644
--- a/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/GPMLToModelTest.java
+++ b/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/GPMLToModelTest.java
@@ -11,7 +11,7 @@ import java.io.File;
 import java.io.InputStream;
 import java.nio.charset.StandardCharsets;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Ignore;
 import org.junit.Test;
 
@@ -33,7 +33,7 @@ public class GPMLToModelTest extends WikipathwaysTestFunctions {
   /**
    * Default class logger.
    */
-  static Logger logger = Logger.getLogger(GPMLToModelTest.class);
+  static Logger logger = LogManager.getLogger(GPMLToModelTest.class);
 
   private ModelComparator mc = new ModelComparator(1.0);
 
diff --git a/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/ReactionElbowsTest.java b/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/ReactionElbowsTest.java
index f19d4987a2956e1d15ca9c6eaf3e20e9e71a7195..05cdc8265a0bfc6c77a384a66544393da77d643c 100644
--- a/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/ReactionElbowsTest.java
+++ b/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/ReactionElbowsTest.java
@@ -5,7 +5,7 @@ import static org.junit.Assert.assertTrue;
 
 import java.awt.geom.Line2D;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 
 import lcsb.mapviewer.model.map.model.Model;
@@ -20,7 +20,7 @@ public class ReactionElbowsTest extends WikipathwaysTestFunctions {
   /**
    * Default class logger.
    */
-  static Logger logger = Logger.getLogger(ReactionElbowsTest.class);
+  static Logger logger = LogManager.getLogger(ReactionElbowsTest.class);
 
   private ModelComparator mc = new ModelComparator(1.0);
 
diff --git a/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/ReactionGpmlInputToModelTest.java b/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/ReactionGpmlInputToModelTest.java
index 0d529b8fbe96a0a0a2946b3489d62872c91f9d1f..d06b396d13c82b91d69bbfde1b9134eb0da83709 100644
--- a/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/ReactionGpmlInputToModelTest.java
+++ b/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/ReactionGpmlInputToModelTest.java
@@ -5,7 +5,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 
 import lcsb.mapviewer.model.map.model.Model;
@@ -26,7 +26,7 @@ public class ReactionGpmlInputToModelTest extends WikipathwaysTestFunctions {
   /**
    * Default class logger.
    */
-  static Logger logger = Logger.getLogger(ReactionGpmlInputToModelTest.class);
+  static Logger logger = LogManager.getLogger(ReactionGpmlInputToModelTest.class);
 
   private ModelComparator mc = new ModelComparator(1.0);
 
diff --git a/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/ReactionGpmlOutputToModelTest.java b/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/ReactionGpmlOutputToModelTest.java
index b9b708663ed00e5489f8461f568fe016c8eeac1a..ae5032bab58069a6bcc28f003bc29f7d8d8b36d9 100644
--- a/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/ReactionGpmlOutputToModelTest.java
+++ b/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/ReactionGpmlOutputToModelTest.java
@@ -5,7 +5,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 
 import lcsb.mapviewer.model.map.model.Model;
@@ -24,7 +24,7 @@ public class ReactionGpmlOutputToModelTest extends WikipathwaysTestFunctions {
   /**
    * Default class logger.
    */
-  static Logger logger = Logger.getLogger(ReactionGpmlOutputToModelTest.class);
+  static Logger logger = LogManager.getLogger(ReactionGpmlOutputToModelTest.class);
 
   private ModelComparator mc = new ModelComparator(1.0);
 
diff --git a/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/ReactionGpmlToModelTest.java b/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/ReactionGpmlToModelTest.java
index cf21d37c15c14adbe08436d68ffd18b7b9d44d2b..9711e06417187656b1752297a82faeba03c886c1 100644
--- a/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/ReactionGpmlToModelTest.java
+++ b/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/ReactionGpmlToModelTest.java
@@ -4,7 +4,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 
 import lcsb.mapviewer.model.map.model.Model;
@@ -24,7 +24,7 @@ public class ReactionGpmlToModelTest extends WikipathwaysTestFunctions {
   /**
    * Default class logger.
    */
-  static Logger logger = Logger.getLogger(ReactionGpmlToModelTest.class);
+  static Logger logger = LogManager.getLogger(ReactionGpmlToModelTest.class);
 
   private ModelComparator mc = new ModelComparator(1.0);
 
diff --git a/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/WikipathwaysTestFunctions.java b/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/WikipathwaysTestFunctions.java
index fb326be303434c33e6846f6df68b28ad48f6e85e..895ef75883d6459d854edad111bf330c8df23340 100644
--- a/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/WikipathwaysTestFunctions.java
+++ b/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/WikipathwaysTestFunctions.java
@@ -28,8 +28,9 @@ import javax.xml.transform.TransformerFactory;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
 
-import org.apache.log4j.Logger;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.*;
+import org.apache.logging.log4j.core.LogEvent;
+
 import org.junit.After;
 import org.junit.Before;
 import org.w3c.dom.Document;
@@ -40,7 +41,8 @@ import org.xml.sax.InputSource;
 import org.xml.sax.SAXException;
 
 import lcsb.mapviewer.common.Configuration;
-import lcsb.mapviewer.common.EventStorageLoggerAppender;
+
+import lcsb.mapviewer.common.MinervaLoggerAppender;
 import lcsb.mapviewer.common.exception.InvalidXmlSchemaException;
 import lcsb.mapviewer.converter.ConverterParams;
 import lcsb.mapviewer.converter.InvalidInputDataExecption;
@@ -51,28 +53,27 @@ import lcsb.mapviewer.model.map.InconsistentModelException;
 import lcsb.mapviewer.model.map.model.Model;
 
 public abstract class WikipathwaysTestFunctions {
-  private Logger logger = Logger.getLogger(WikipathwaysTestFunctions.class);
+  private Logger logger = LogManager.getLogger(WikipathwaysTestFunctions.class);
 
   protected static double EPSILON = Configuration.EPSILON;
 
   private DocumentBuilder db;
 
-  private EventStorageLoggerAppender appender;
+  private MinervaLoggerAppender appender;
 
   @Before
   public final void _setUp() throws Exception {
-    Logger.getRootLogger().removeAppender(appender);
-    appender = new EventStorageLoggerAppender();
-    Logger.getRootLogger().addAppender(appender);
+    MinervaLoggerAppender.unregisterLogEventStorage(appender);
+    appender = MinervaLoggerAppender.createAppender();
     db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
   }
 
   @After
   public final void _tearDown() throws Exception {
-    Logger.getRootLogger().removeAppender(appender);
+    MinervaLoggerAppender.unregisterLogEventStorage(appender);
   }
 
-  protected List<LoggingEvent> getWarnings() {
+  protected List<LogEvent> getWarnings() {
     return appender.getWarnings();
   }
 
diff --git a/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/XML/BugTest.java b/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/XML/BugTest.java
index 81f02a65f9d33c5a2f456d70b3fb65f0cfa0c43b..160443232a3e08103cc17c26ee547fa17935af96 100644
--- a/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/XML/BugTest.java
+++ b/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/XML/BugTest.java
@@ -4,7 +4,7 @@ import static org.junit.Assert.assertEquals;
 
 import java.io.FileInputStream;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 
 import lcsb.mapviewer.model.map.model.Model;
@@ -14,7 +14,7 @@ import lcsb.mapviewer.model.map.species.Element;
 import lcsb.mapviewer.wikipathway.WikipathwaysTestFunctions;
 
 public class BugTest extends WikipathwaysTestFunctions {
-  Logger logger = Logger.getLogger(BugTest.class);
+  Logger logger = LogManager.getLogger(BugTest.class);
 
   @Test
   public void testBug319() throws Exception {
diff --git a/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/XML/DataNodeParserTest.java b/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/XML/DataNodeParserTest.java
index ff4a3f911d70b485525cd7a321a0a81a04431d32..b9090662b2a9e8875850317304a732b383885fd2 100644
--- a/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/XML/DataNodeParserTest.java
+++ b/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/XML/DataNodeParserTest.java
@@ -4,7 +4,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -16,7 +16,7 @@ import lcsb.mapviewer.wikipathway.WikipathwaysTestFunctions;
 import lcsb.mapviewer.wikipathway.model.DataNode;
 
 public class DataNodeParserTest extends WikipathwaysTestFunctions {
-	Logger				 logger	= Logger.getLogger(DataNodeParserTest.class);
+	Logger				 logger	= LogManager.getLogger(DataNodeParserTest.class);
 	DataNodeParser parser	= new DataNodeParser();
 
 	@Before
diff --git a/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/XML/GpmlParserTest.java b/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/XML/GpmlParserTest.java
index 254110e418fcda024a2ae563843810f2964311ba..0d3f6e03c54eb80b51140d7eb28149c89a627072 100644
--- a/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/XML/GpmlParserTest.java
+++ b/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/XML/GpmlParserTest.java
@@ -6,7 +6,7 @@ import static org.junit.Assert.assertTrue;
 
 import java.io.FileInputStream;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -17,7 +17,7 @@ import lcsb.mapviewer.wikipathway.model.Graph;
 import lcsb.mapviewer.wikipathway.model.Interaction;
 
 public class GpmlParserTest extends WikipathwaysTestFunctions {
-	Logger logger = Logger.getLogger(GpmlParserTest.class);
+	Logger logger = LogManager.getLogger(GpmlParserTest.class);
 
 	@Before
 	public void setUp() throws Exception {
diff --git a/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/XML/ModelContructorTest.java b/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/XML/ModelContructorTest.java
index 555d8b58e33fcb2c7aa15386f3967bc422721edf..3306700b7692107abf460099422a3092f2a64a0f 100644
--- a/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/XML/ModelContructorTest.java
+++ b/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/XML/ModelContructorTest.java
@@ -7,7 +7,7 @@ import java.awt.geom.Point2D;
 import java.io.ByteArrayInputStream;
 import java.nio.charset.StandardCharsets;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -20,7 +20,7 @@ import lcsb.mapviewer.model.map.model.ModelFullIndexed;
 import lcsb.mapviewer.model.map.species.GenericProtein;
 
 public class ModelContructorTest {
-  Logger logger = Logger.getLogger(ModelContructorTest.class);
+  Logger logger = LogManager.getLogger(ModelContructorTest.class);
 
   ModelComparator comparator = new ModelComparator();
 
diff --git a/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/XML/ModelToGPMLTest.java b/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/XML/ModelToGPMLTest.java
index da4ba111370fedcd91c056d0009a8f7011807c25..638d3086200d255c1ead660e0dc26521f2dd5a76 100644
--- a/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/XML/ModelToGPMLTest.java
+++ b/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/XML/ModelToGPMLTest.java
@@ -7,7 +7,7 @@ import static org.junit.Assert.assertTrue;
 import java.io.ByteArrayInputStream;
 import java.nio.charset.StandardCharsets;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -23,7 +23,7 @@ import lcsb.mapviewer.model.map.species.GenericProtein;
 import lcsb.mapviewer.wikipathway.WikipathwaysTestFunctions;
 
 public class ModelToGPMLTest extends WikipathwaysTestFunctions {
-	Logger logger = Logger.getLogger(ModelToGPMLTest.class);
+	Logger logger = LogManager.getLogger(ModelToGPMLTest.class);
 
 	@Before
 	public void setUp() throws Exception {
diff --git a/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/XML/ReferenceParserTest.java b/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/XML/ReferenceParserTest.java
index a3732527026d46bb7774f0c891044b36a7af134a..28ccf7a4454c86d5fa354550d7a7573069e6a02d 100644
--- a/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/XML/ReferenceParserTest.java
+++ b/pathvisio/src/test/java/lcsb/mapviewer/wikipathway/XML/ReferenceParserTest.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.wikipathway.XML;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -15,7 +15,7 @@ import lcsb.mapviewer.model.map.MiriamType;
 import lcsb.mapviewer.wikipathway.WikipathwaysTestFunctions;
 
 public class ReferenceParserTest extends WikipathwaysTestFunctions {
-	Logger					logger = Logger.getLogger(ReferenceParserTest.class);
+	Logger					logger = LogManager.getLogger(ReferenceParserTest.class);
 
 	ReferenceParser	mc		 = new ReferenceParser();
 
diff --git a/pathvisio/src/test/resources/log4j.properties b/pathvisio/src/test/resources/log4j.properties
deleted file mode 100644
index f4f85f56c1ad1c869470669bf55d6a83fef76466..0000000000000000000000000000000000000000
--- a/pathvisio/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,45 +0,0 @@
-#Set root logger 's level and its appender to an appender called CONSOLE which is defined below.
-log4j.rootLogger=info, CONSOLE
-
-#Set the behavior of the CONSOLE appender 
-log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
-log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
-log4j.appender.CONSOLE.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-#log4j.appender.CONSOLE.layout.ConversionPattern=%m%n
-
-
-#Set the behavior of the FILE appender 
-log4j.appender.R=org.apache.log4j.FileAppender
-log4j.appender.R.File=${catalina.home}/logs/MapViewer.log
-log4j.appender.R.layout=org.apache.log4j.PatternLayout
-log4j.appender.R.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-
-
-log4j.logger.org.springframework=warn
-log4j.logger.org.hibernate=warn
-log4j.logger.lcsb=debug
-
-log4j.logger.lcsb.mapviewer.model.map.species.ElementComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.SpeciesComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.SimpleMoleculeComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.ProteinComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.AssociatedElementComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.ComplexSpeciesComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.AssociatedElementComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.PhenotypeComparator=info
-log4j.logger.lcsb.mapviewer.model.map.species.fields.AssociatedElementComparator=info
-
-log4j.logger.lcsb.mapviewer.model.map.layout.alias.SpeciesAliasComparator=info
-log4j.logger.lcsb.mapviewer.model.map.layout.alias.AliasComparator=info
-log4j.logger.lcsb.mapviewer.model.map.layout.alias.ComplexAliasComparator=info
-log4j.logger.lcsb.mapviewer.model.map.layout.alias.CompartmentAliasComparator=info
-
-log4j.logger.lcsb.mapviewer.model.map.reaction.ReactionNodeComparator=info
-log4j.logger.lcsb.mapviewer.model.map.reaction.ReactionComparator=info
-log4j.logger.lcsb.mapviewer.model.map.reaction.NodeOperatorComparator=info
-log4j.logger.lcsb.mapviewer.model.map.reaction.AbstractNodeComparator=info
-
-log4j.logger.lcsb.mapviewer.model.map.model.ModelComparator=info
-
-log4j.logger.lcsb.mapviewer.common.Comparator=info
-log4j.logger.lcsb.mapviewer.model.graphics.PolylineDataComparator=info
\ No newline at end of file
diff --git a/pathvisio/src/test/resources/log4j2.properties b/pathvisio/src/test/resources/log4j2.properties
new file mode 100644
index 0000000000000000000000000000000000000000..b5eaa32682d177bf266eb6ed4831b4e8f4b9135d
--- /dev/null
+++ b/pathvisio/src/test/resources/log4j2.properties
@@ -0,0 +1,25 @@
+rootLogger.level = INFO
+appenders = console
+
+appender.console.type = Console
+appender.console.name = STDOUT
+appender.console.layout.type = PatternLayout
+appender.console.layout.pattern = %d %5p [%t] (%F:%L) - %m%n
+
+rootLogger.appenderRefs = console
+
+rootLogger.appenderRef.console.ref = STDOUT
+
+logger.minerva.name = lcsb
+logger.minerva.level = debug
+logger.minerva-persist.name = lcsb.mapviewer.persist.DbUtils
+logger.minerva-persist.level = info
+logger.minerva-cache.name = lcsb.mapviewer.annotation.cache
+logger.minerva-cache.level = info
+
+
+logger.springframework.name = org.springframework
+logger.springframework.level = warn
+
+logger.hibernate.name = org.hibernate
+logger.hibernate.level = warn
diff --git a/persist/pom.xml b/persist/pom.xml
index f0e6cd91348983c39b1d3690336e0de0ff25776f..1cd475a7c2fc433bcf38725a17f8eb30ce260b5b 100644
--- a/persist/pom.xml
+++ b/persist/pom.xml
@@ -79,11 +79,22 @@
 			<version>${xml-apis.version}</version>
 		</dependency>
 
-		<!-- Log4J -->
+		<!-- Log4J2 -->
 		<dependency>
-			<groupId>log4j</groupId>
-			<artifactId>log4j</artifactId>
-			<version>${log4j.version}</version>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-api</artifactId>
+			<version>${log4j2.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-core</artifactId>
+			<version>${log4j2.version}</version>
+		</dependency>
+		<!-- Spring uses commons-logging, so: https://stackoverflow.com/a/41475146/1127920 -->
+		<dependency>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-jcl</artifactId>
+			<version>${log4j-jcl-version}</version>
 		</dependency>
 
 		<!-- Spring -->
diff --git a/persist/src/main/java/lcsb/mapviewer/persist/CustomDatabasePopulator.java b/persist/src/main/java/lcsb/mapviewer/persist/CustomDatabasePopulator.java
index cd431161a43f40d09eaf469c08306d3af6e1386d..74344677b163637c1e835d316d30272fe6c6ba6a 100644
--- a/persist/src/main/java/lcsb/mapviewer/persist/CustomDatabasePopulator.java
+++ b/persist/src/main/java/lcsb/mapviewer/persist/CustomDatabasePopulator.java
@@ -5,7 +5,7 @@ import java.sql.SQLException;
 
 import javax.sql.DataSource;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.flywaydb.core.Flyway;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.datasource.init.DatabasePopulator;
@@ -16,7 +16,7 @@ import org.springframework.stereotype.Service;
 @Service
 public class CustomDatabasePopulator implements DatabasePopulator {
 
-  Logger logger = Logger.getLogger(CustomDatabasePopulator.class);
+  Logger logger = LogManager.getLogger(CustomDatabasePopulator.class);
 
   private ConfigurationHolder config;
 
diff --git a/persist/src/main/java/lcsb/mapviewer/persist/CustomImplicitNamingStrategy.java b/persist/src/main/java/lcsb/mapviewer/persist/CustomImplicitNamingStrategy.java
index 31bcb2caaae9025de0a08452735b17cc96b155d8..145bb4549896f6d1fe2aaba68b76fb72dcf2faeb 100644
--- a/persist/src/main/java/lcsb/mapviewer/persist/CustomImplicitNamingStrategy.java
+++ b/persist/src/main/java/lcsb/mapviewer/persist/CustomImplicitNamingStrategy.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.persist;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.hibernate.boot.model.naming.Identifier;
 import org.hibernate.boot.model.naming.ImplicitEntityNameSource;
 import org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy;
@@ -18,7 +18,7 @@ public class CustomImplicitNamingStrategy extends SpringImplicitNamingStrategy {
    */
   private static final long serialVersionUID = 1L;
 
-  Logger logger = Logger.getLogger(CustomImplicitNamingStrategy.class);
+  Logger logger = LogManager.getLogger(CustomImplicitNamingStrategy.class);
 
   private static final String TABLE_NAME_SUFFIX = "Table";
 
diff --git a/persist/src/main/java/lcsb/mapviewer/persist/DbUtils.java b/persist/src/main/java/lcsb/mapviewer/persist/DbUtils.java
index 6ac53ee658630da86304d224f86dbf92fe1c13f0..fe15ffab38c6b8c8b900ebd2ac50a4e49267a378 100644
--- a/persist/src/main/java/lcsb/mapviewer/persist/DbUtils.java
+++ b/persist/src/main/java/lcsb/mapviewer/persist/DbUtils.java
@@ -5,7 +5,7 @@ import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Observable;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.hibernate.SQLQuery;
 import org.hibernate.Session;
 import org.hibernate.SessionFactory;
@@ -37,7 +37,7 @@ public class DbUtils extends Observable {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(DbUtils.class);
+  private static Logger logger = LogManager.getLogger(DbUtils.class);
 
   /**
    * Hibernate session factory.
diff --git a/persist/src/main/java/lcsb/mapviewer/persist/SpringApplicationContext.java b/persist/src/main/java/lcsb/mapviewer/persist/SpringApplicationContext.java
index 4b8aa0a9d2aa169621d6cbd4ad72a2933b12f562..8b87a2a2949a3ea3902aac6f5abca11fbabdf2bc 100644
--- a/persist/src/main/java/lcsb/mapviewer/persist/SpringApplicationContext.java
+++ b/persist/src/main/java/lcsb/mapviewer/persist/SpringApplicationContext.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.persist;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.ApplicationContextAware;
 import org.springframework.stereotype.Component;
@@ -20,7 +20,7 @@ public class SpringApplicationContext implements ApplicationContextAware {
 	/**
 	 * Default logger for this class.
 	 */
-	private static Logger logger = Logger.getLogger(SpringApplicationContext.class);
+	private static Logger logger = LogManager.getLogger(SpringApplicationContext.class);
 
 	/**
 	 * {@link ApplicationContext} used by the Spring framework.
diff --git a/persist/src/main/java/lcsb/mapviewer/persist/dao/BaseDao.java b/persist/src/main/java/lcsb/mapviewer/persist/dao/BaseDao.java
index dae2101adb8013f6cf32efc5080ae854ca6aca82..3684d2d657f379af9b0b375403f69a3adfb5e168 100644
--- a/persist/src/main/java/lcsb/mapviewer/persist/dao/BaseDao.java
+++ b/persist/src/main/java/lcsb/mapviewer/persist/dao/BaseDao.java
@@ -2,7 +2,7 @@ package lcsb.mapviewer.persist.dao;
 
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.hibernate.Query;
 import org.hibernate.Session;
 import org.hibernate.criterion.Projections;
@@ -29,7 +29,7 @@ public abstract class BaseDao<T> {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(BaseDao.class);
+  private static Logger logger = LogManager.getLogger(BaseDao.class);
 
   /**
    * Sometimes objects have a flag that indicate that the object was removed from
diff --git a/persist/src/main/java/lcsb/mapviewer/persist/dao/ProjectDao.java b/persist/src/main/java/lcsb/mapviewer/persist/dao/ProjectDao.java
index d5de4f32a205c798aaf8a37749aef23614b7dfab..abdfd9f4f1cad35ed59bb0dd6f80253adf701289 100644
--- a/persist/src/main/java/lcsb/mapviewer/persist/dao/ProjectDao.java
+++ b/persist/src/main/java/lcsb/mapviewer/persist/dao/ProjectDao.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.persist.dao;
 import java.math.BigInteger;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.hibernate.SQLQuery;
 import org.hibernate.dialect.Dialect;
 
@@ -19,7 +19,7 @@ import org.springframework.stereotype.Repository;
  */
 @Repository
 public class ProjectDao extends BaseDao<Project> {
-  Logger logger = Logger.getLogger(ProjectDao.class);
+  Logger logger = LogManager.getLogger(ProjectDao.class);
 
   /**
    * Default constructor.
diff --git a/persist/src/main/java/lcsb/mapviewer/persist/dao/cache/BigFileEntryDao.java b/persist/src/main/java/lcsb/mapviewer/persist/dao/cache/BigFileEntryDao.java
index 02c84d0f59d2b39226a40fbd832434011b975097..fca6757cfb51ea63f1de3eaffe81a8870dd89f49 100644
--- a/persist/src/main/java/lcsb/mapviewer/persist/dao/cache/BigFileEntryDao.java
+++ b/persist/src/main/java/lcsb/mapviewer/persist/dao/cache/BigFileEntryDao.java
@@ -2,7 +2,7 @@ package lcsb.mapviewer.persist.dao.cache;
 
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.model.cache.BigFileEntry;
 import lcsb.mapviewer.persist.dao.BaseDao;
@@ -20,7 +20,7 @@ public class BigFileEntryDao extends BaseDao<BigFileEntry> {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(BigFileEntryDao.class);
+  private Logger logger = LogManager.getLogger(BigFileEntryDao.class);
 
   /**
    * Default constructor.
diff --git a/persist/src/main/java/lcsb/mapviewer/persist/dao/cache/CacheTypeDao.java b/persist/src/main/java/lcsb/mapviewer/persist/dao/cache/CacheTypeDao.java
index c2249450a3f71459387138df7f924f1d95f2d3ec..9f92af8c701ffc7b53833cbe04e7cac07dce8f44 100644
--- a/persist/src/main/java/lcsb/mapviewer/persist/dao/cache/CacheTypeDao.java
+++ b/persist/src/main/java/lcsb/mapviewer/persist/dao/cache/CacheTypeDao.java
@@ -5,7 +5,7 @@ import java.util.List;
 import lcsb.mapviewer.model.cache.CacheType;
 import lcsb.mapviewer.persist.dao.BaseDao;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.stereotype.Repository;
 
 /**
@@ -20,7 +20,7 @@ public class CacheTypeDao extends BaseDao<CacheType> {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private Logger	logger	= Logger.getLogger(CacheTypeDao.class);
+	private Logger	logger	= LogManager.getLogger(CacheTypeDao.class);
 
 	/**
 	 * Default constructor.
diff --git a/persist/src/main/java/lcsb/mapviewer/persist/dao/cache/UploadedFileEntryDao.java b/persist/src/main/java/lcsb/mapviewer/persist/dao/cache/UploadedFileEntryDao.java
index 76415949ffbb1480de60e517768877928a7838bb..897c5a5fc31dea1c1160563991482d5b19ad4b56 100644
--- a/persist/src/main/java/lcsb/mapviewer/persist/dao/cache/UploadedFileEntryDao.java
+++ b/persist/src/main/java/lcsb/mapviewer/persist/dao/cache/UploadedFileEntryDao.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.persist.dao.cache;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.model.cache.UploadedFileEntry;
 import lcsb.mapviewer.persist.dao.BaseDao;
@@ -18,7 +18,7 @@ public class UploadedFileEntryDao extends BaseDao<UploadedFileEntry> {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private Logger logger = Logger.getLogger(UploadedFileEntryDao.class);
+	private Logger logger = LogManager.getLogger(UploadedFileEntryDao.class);
 
 	/**
 	 * Default constructor.
diff --git a/persist/src/main/java/lcsb/mapviewer/persist/dao/map/CommentDao.java b/persist/src/main/java/lcsb/mapviewer/persist/dao/map/CommentDao.java
index c2b8ba1071315decfff27e86ce8468d44c744495..64535fe2f2e93725537103cef85260e72bcca719 100644
--- a/persist/src/main/java/lcsb/mapviewer/persist/dao/map/CommentDao.java
+++ b/persist/src/main/java/lcsb/mapviewer/persist/dao/map/CommentDao.java
@@ -8,7 +8,7 @@ import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.model.ModelData;
 import lcsb.mapviewer.persist.dao.BaseDao;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.stereotype.Repository;
 
 /**
@@ -23,7 +23,7 @@ public class CommentDao extends BaseDao<Comment> {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger	logger	= Logger.getLogger(CommentDao.class);
+	private static Logger	logger	= LogManager.getLogger(CommentDao.class);
 
 	/**
 	 * Default constructor.
diff --git a/persist/src/main/java/lcsb/mapviewer/persist/dao/map/LayoutDao.java b/persist/src/main/java/lcsb/mapviewer/persist/dao/map/LayoutDao.java
index c754aef096bc03df8511ed6ca5d0ff789d5810c5..4919c1797069bd61071e8bccee7a64ccc96020f4 100644
--- a/persist/src/main/java/lcsb/mapviewer/persist/dao/map/LayoutDao.java
+++ b/persist/src/main/java/lcsb/mapviewer/persist/dao/map/LayoutDao.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.persist.dao.map;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.hibernate.Criteria;
 import org.hibernate.criterion.Projections;
 import org.hibernate.criterion.Restrictions;
@@ -28,7 +28,7 @@ public class LayoutDao extends BaseDao<Layout> {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(LayoutDao.class);
+  private static Logger logger = LogManager.getLogger(LayoutDao.class);
 
   /**
    * Default constructor.
diff --git a/persist/src/main/java/lcsb/mapviewer/persist/dao/map/ModelDao.java b/persist/src/main/java/lcsb/mapviewer/persist/dao/map/ModelDao.java
index ac43776945f0d09a2a6d8389d2c0ab49b3a79bf5..0d027da0fe1620c3ec025308d684c1104f2c0398 100644
--- a/persist/src/main/java/lcsb/mapviewer/persist/dao/map/ModelDao.java
+++ b/persist/src/main/java/lcsb/mapviewer/persist/dao/map/ModelDao.java
@@ -6,7 +6,7 @@ import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.model.ModelData;
 import lcsb.mapviewer.persist.dao.BaseDao;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.stereotype.Repository;
 
 /**
@@ -21,7 +21,7 @@ public class ModelDao extends BaseDao<ModelData> {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger	logger	= Logger.getLogger(ModelDao.class);
+	private static Logger	logger	= LogManager.getLogger(ModelDao.class);
 
 	/**
 	 * Default constructor.
diff --git a/persist/src/main/java/lcsb/mapviewer/persist/dao/map/statistics/SearchHistoryDao.java b/persist/src/main/java/lcsb/mapviewer/persist/dao/map/statistics/SearchHistoryDao.java
index bee80ebbbe0510955c555d75df5b608250b955c8..ccb94767c20ff0ddf5200777d718c86369b1a351 100644
--- a/persist/src/main/java/lcsb/mapviewer/persist/dao/map/statistics/SearchHistoryDao.java
+++ b/persist/src/main/java/lcsb/mapviewer/persist/dao/map/statistics/SearchHistoryDao.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.persist.dao.map.statistics;
 import lcsb.mapviewer.model.map.statistics.SearchHistory;
 import lcsb.mapviewer.persist.dao.BaseDao;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.stereotype.Repository;
 
 /**
@@ -18,7 +18,7 @@ public class SearchHistoryDao extends BaseDao<SearchHistory> {
 	 * Default constructor.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger	logger	= Logger.getLogger(SearchHistoryDao.class);
+	private static Logger	logger	= LogManager.getLogger(SearchHistoryDao.class);
 
 	/**
 	 * Default constructor.
diff --git a/persist/src/main/resources/db/migration/14.0.0~alpha.0/V14.0.0.20190514__old_miriam_queries.sql b/persist/src/main/resources/db/migration/14.0.0~alpha.0/V14.0.0.20190514__old_miriam_queries.sql
new file mode 100644
index 0000000000000000000000000000000000000000..6861d29699e01c7f22e181c5bcdf1a13424ae9ed
--- /dev/null
+++ b/persist/src/main/resources/db/migration/14.0.0~alpha.0/V14.0.0.20190514__old_miriam_queries.sql
@@ -0,0 +1 @@
+delete from cache_query_table where query like 'Validity:%';
\ No newline at end of file
diff --git a/persist/src/main/resources/db/migration/14.0.0~alpha.0/V14.0.0.20190515__old_miriam_queries.sql b/persist/src/main/resources/db/migration/14.0.0~alpha.0/V14.0.0.20190515__old_miriam_queries.sql
new file mode 100644
index 0000000000000000000000000000000000000000..b80f598dc978276c3656e6e92e511b7ae85a9329
--- /dev/null
+++ b/persist/src/main/resources/db/migration/14.0.0~alpha.0/V14.0.0.20190515__old_miriam_queries.sql
@@ -0,0 +1 @@
+delete from cache_query_table where query like 'Link:%';
\ No newline at end of file
diff --git a/persist/src/test/java/lcsb/mapviewer/persist/ApplicationContextLoaderTest.java b/persist/src/test/java/lcsb/mapviewer/persist/ApplicationContextLoaderTest.java
index ce1d8fb6a69c4903d38912f18742c4ea9a4cadbd..35ac718f7b1b66aee3ff0071ef584b0b3f7e2117 100644
--- a/persist/src/test/java/lcsb/mapviewer/persist/ApplicationContextLoaderTest.java
+++ b/persist/src/test/java/lcsb/mapviewer/persist/ApplicationContextLoaderTest.java
@@ -5,7 +5,7 @@ import static org.junit.Assert.assertNotNull;
 
 import java.lang.reflect.Constructor;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -15,7 +15,7 @@ import org.springframework.context.annotation.AnnotationConfigApplicationContext
 import org.springframework.security.crypto.password.PasswordEncoder;
 
 public class ApplicationContextLoaderTest {
-	Logger												 logger	= Logger.getLogger(ApplicationContextLoaderTest.class);
+	Logger												 logger	= LogManager.getLogger(ApplicationContextLoaderTest.class);
 
 	ConfigurableApplicationContext originalContext;
 
diff --git a/persist/src/test/java/lcsb/mapviewer/persist/DbUtilsTest.java b/persist/src/test/java/lcsb/mapviewer/persist/DbUtilsTest.java
index 81747cf064c4a012fed3457ae8c32edbfcfbd39e..8186de6ddc83c06a65107cf7671566e58e59a831 100644
--- a/persist/src/test/java/lcsb/mapviewer/persist/DbUtilsTest.java
+++ b/persist/src/test/java/lcsb/mapviewer/persist/DbUtilsTest.java
@@ -5,13 +5,13 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 
 import lcsb.mapviewer.common.exception.InvalidStateException;
 
 public class DbUtilsTest extends PersistTestFunctions {
-  Logger logger = Logger.getLogger(DbUtilsTest.class);
+  Logger logger = LogManager.getLogger(DbUtilsTest.class);
 
   @Test
   public void testCreateSession() throws Exception {
diff --git a/persist/src/test/java/lcsb/mapviewer/persist/PersistTestFunctions.java b/persist/src/test/java/lcsb/mapviewer/persist/PersistTestFunctions.java
index 524dc354597e436115c0af79bbf78f4316ed4aea..e51ee787da99247153cfdb451dfded011099a174 100644
--- a/persist/src/test/java/lcsb/mapviewer/persist/PersistTestFunctions.java
+++ b/persist/src/test/java/lcsb/mapviewer/persist/PersistTestFunctions.java
@@ -26,7 +26,7 @@ import javax.xml.transform.TransformerFactory;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.crypto.password.PasswordEncoder;
@@ -70,7 +70,7 @@ import lcsb.mapviewer.persist.dao.user.UserDao;
 @ContextConfiguration(classes = SpringPersistTestConfig.class)
 @RunWith(SpringJUnit4ClassRunner.class)
 public abstract class PersistTestFunctions {
-  private Logger logger = Logger.getLogger(PersistTestFunctions.class);
+  private Logger logger = LogManager.getLogger(PersistTestFunctions.class);
 
   public double EPSILON = 1e-6;
 
diff --git a/persist/src/test/java/lcsb/mapviewer/persist/dao/ProjectDaoTest.java b/persist/src/test/java/lcsb/mapviewer/persist/dao/ProjectDaoTest.java
index 5932a77be706d3443e77fdc00738b7f7ab02421e..d26dc57a6acd756cf772cc1b419a9d362391bebf 100644
--- a/persist/src/test/java/lcsb/mapviewer/persist/dao/ProjectDaoTest.java
+++ b/persist/src/test/java/lcsb/mapviewer/persist/dao/ProjectDaoTest.java
@@ -6,7 +6,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -24,7 +24,7 @@ import lcsb.mapviewer.model.map.species.Species;
 import lcsb.mapviewer.persist.PersistTestFunctions;
 
 public class ProjectDaoTest extends PersistTestFunctions {
-  Logger logger = Logger.getLogger(ProjectDaoTest.class);
+  Logger logger = LogManager.getLogger(ProjectDaoTest.class);
   int identifierCounter = 0;
   String projectId = "Some_id";
 
diff --git a/persist/src/test/java/lcsb/mapviewer/persist/dao/map/LayoutDaoTest.java b/persist/src/test/java/lcsb/mapviewer/persist/dao/map/LayoutDaoTest.java
index b5ef2da1d92622080d39538512f19218be02795f..fda21091584355f43c3cbcd6e412b7ec4d9017ae 100644
--- a/persist/src/test/java/lcsb/mapviewer/persist/dao/map/LayoutDaoTest.java
+++ b/persist/src/test/java/lcsb/mapviewer/persist/dao/map/LayoutDaoTest.java
@@ -6,7 +6,7 @@ import static org.junit.Assert.assertNull;
 
 import java.nio.charset.StandardCharsets;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -37,7 +37,7 @@ public class LayoutDaoTest extends PersistTestFunctions {
   @Autowired
   private LayoutDao layoutDao;
 
-  final static Logger logger = Logger.getLogger(LayoutDaoTest.class);
+  final static Logger logger = LogManager.getLogger(LayoutDaoTest.class);
 
   @Before
   public void setUp() throws Exception {
diff --git a/persist/src/test/java/lcsb/mapviewer/persist/dao/map/ModelDaoTest.java b/persist/src/test/java/lcsb/mapviewer/persist/dao/map/ModelDaoTest.java
index ef22436b5fe44e8e57b1c68ebe0a4af32a2955d1..60a7fd09277216feeac8f4926f235b7e524a5d18 100644
--- a/persist/src/test/java/lcsb/mapviewer/persist/dao/map/ModelDaoTest.java
+++ b/persist/src/test/java/lcsb/mapviewer/persist/dao/map/ModelDaoTest.java
@@ -8,7 +8,7 @@ import static org.junit.Assert.assertTrue;
 
 import java.awt.geom.Point2D;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -45,7 +45,7 @@ import lcsb.mapviewer.persist.PersistTestFunctions;
 public class ModelDaoTest extends PersistTestFunctions {
   ModelComparator modelComparator = new ModelComparator();
 
-  Logger logger = Logger.getLogger(ModelDaoTest.class);
+  Logger logger = LogManager.getLogger(ModelDaoTest.class);
   private Project project;
   String projectId = "Some_id";
   int identifierCounter = 0;
diff --git a/persist/src/test/java/lcsb/mapviewer/persist/dao/map/layout/alias/AliasDaoTest.java b/persist/src/test/java/lcsb/mapviewer/persist/dao/map/layout/alias/AliasDaoTest.java
index 33d7412d58a60271edf2a9a3ea153c4cb3986d8d..b7f69164ff880c4c08b1ac19dce3418c1055c0e3 100644
--- a/persist/src/test/java/lcsb/mapviewer/persist/dao/map/layout/alias/AliasDaoTest.java
+++ b/persist/src/test/java/lcsb/mapviewer/persist/dao/map/layout/alias/AliasDaoTest.java
@@ -5,7 +5,7 @@ import static org.junit.Assert.assertEquals;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -24,7 +24,7 @@ import lcsb.mapviewer.model.map.species.field.UniprotRecord;
 import lcsb.mapviewer.persist.PersistTestFunctions;
 
 public class AliasDaoTest extends PersistTestFunctions {
-  Logger logger = Logger.getLogger(AliasDaoTest.class);
+  Logger logger = LogManager.getLogger(AliasDaoTest.class);
 
   private Project project;
   String projectId = "Some_id";
diff --git a/persist/src/test/java/lcsb/mapviewer/persist/dao/map/layout/alias/AliasDaoTest2.java b/persist/src/test/java/lcsb/mapviewer/persist/dao/map/layout/alias/AliasDaoTest2.java
index c548eba2fdadc446ca5d54eeaa494cc225277699..828210c90952790416e0d6df6b13f7a703a66a01 100644
--- a/persist/src/test/java/lcsb/mapviewer/persist/dao/map/layout/alias/AliasDaoTest2.java
+++ b/persist/src/test/java/lcsb/mapviewer/persist/dao/map/layout/alias/AliasDaoTest2.java
@@ -6,7 +6,7 @@ import static org.junit.Assert.assertNull;
 
 import java.awt.geom.Point2D;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -29,7 +29,7 @@ import lcsb.mapviewer.model.map.species.field.Residue;
 import lcsb.mapviewer.persist.PersistTestFunctions;
 
 public class AliasDaoTest2 extends PersistTestFunctions {
-  static Logger logger = Logger.getLogger(AliasDaoTest.class);
+  static Logger logger = LogManager.getLogger(AliasDaoTest.class);
 
   private Integer testChargeVal = 1;
   private String testIdAlias = "a";
diff --git a/persist/src/test/java/lcsb/mapviewer/persist/dao/map/layout/alias/AntisenseRnaTest.java b/persist/src/test/java/lcsb/mapviewer/persist/dao/map/layout/alias/AntisenseRnaTest.java
index 3199ca948cc089fb7bf5274444e8ccd7d706de91..f0096217721090f9e438569c0a7635c61e7e723c 100644
--- a/persist/src/test/java/lcsb/mapviewer/persist/dao/map/layout/alias/AntisenseRnaTest.java
+++ b/persist/src/test/java/lcsb/mapviewer/persist/dao/map/layout/alias/AntisenseRnaTest.java
@@ -4,7 +4,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -20,7 +20,7 @@ import lcsb.mapviewer.persist.PersistTestFunctions;
 
 @Rollback(true)
 public class AntisenseRnaTest extends PersistTestFunctions {
-  Logger logger = Logger.getLogger(AntisenseRnaTest.class);
+  Logger logger = LogManager.getLogger(AntisenseRnaTest.class);
 
   int identifierCounter = 0;
   String projectId = "Some_id";
diff --git a/persist/src/test/java/lcsb/mapviewer/persist/dao/map/layout/alias/RnaTest.java b/persist/src/test/java/lcsb/mapviewer/persist/dao/map/layout/alias/RnaTest.java
index 893b43ef12ffcfd3c28965d7195f02f85a499d8b..1b7fe00af08253541dc248baec58969df26d998a 100644
--- a/persist/src/test/java/lcsb/mapviewer/persist/dao/map/layout/alias/RnaTest.java
+++ b/persist/src/test/java/lcsb/mapviewer/persist/dao/map/layout/alias/RnaTest.java
@@ -4,7 +4,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -18,7 +18,7 @@ import lcsb.mapviewer.model.map.species.field.CodingRegion;
 import lcsb.mapviewer.persist.PersistTestFunctions;
 
 public class RnaTest extends PersistTestFunctions {
-  Logger logger = Logger.getLogger(RnaTest.class);
+  Logger logger = LogManager.getLogger(RnaTest.class);
 
   int identifierCounter = 0;
 
diff --git a/persist/src/test/java/lcsb/mapviewer/persist/dao/user/UserDaoTest.java b/persist/src/test/java/lcsb/mapviewer/persist/dao/user/UserDaoTest.java
index 9d0c4a9f64f4d989461bfe72b931f63624268a46..fabaf9d4d4c133fb64d654b40d2db1c356c51a0d 100644
--- a/persist/src/test/java/lcsb/mapviewer/persist/dao/user/UserDaoTest.java
+++ b/persist/src/test/java/lcsb/mapviewer/persist/dao/user/UserDaoTest.java
@@ -9,7 +9,7 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -37,7 +37,7 @@ public class UserDaoTest extends PersistTestFunctions {
   @Autowired
   protected PasswordEncoder passwordEncoder;
 
-  protected Logger logger = Logger.getLogger(UserDaoTest.class.getName());
+  protected Logger logger = LogManager.getLogger(UserDaoTest.class.getName());
   String testLogin = "test_login123";
   String testEmail = "a@a.pl";
   String testPasswd = "pwd";
diff --git a/persist/src/test/java/lcsb/mapviewer/persist/mapper/ArrowTypeDataMapperTest.java b/persist/src/test/java/lcsb/mapviewer/persist/mapper/ArrowTypeDataMapperTest.java
index c41ece50f9179c02ca097674322620503ae7b3e9..8c9b78c29bb3ee1b29091bfd8e2597eb70a49046 100644
--- a/persist/src/test/java/lcsb/mapviewer/persist/mapper/ArrowTypeDataMapperTest.java
+++ b/persist/src/test/java/lcsb/mapviewer/persist/mapper/ArrowTypeDataMapperTest.java
@@ -5,7 +5,7 @@ import static org.junit.Assert.assertTrue;
 
 import java.io.Serializable;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -15,7 +15,7 @@ import lcsb.mapviewer.model.graphics.ArrowTypeData;
 import lcsb.mapviewer.model.graphics.LineType;
 
 public class ArrowTypeDataMapperTest {
-  Logger logger = Logger.getLogger(ArrowTypeDataMapperTest.class);
+  Logger logger = LogManager.getLogger(ArrowTypeDataMapperTest.class);
 
   ArrowTypeDataMapper mapper = new ArrowTypeDataMapper();
 
diff --git a/persist/src/test/resources/log4j.properties b/persist/src/test/resources/log4j.properties
deleted file mode 100644
index 055d98980b4e018a2e889adcf505703be62756c9..0000000000000000000000000000000000000000
--- a/persist/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-#Set root logger 's level and its appender to an appender called CONSOLE which is defined below.
-log4j.rootLogger=info, CONSOLE
-
-#Set the behavior of the CONSOLE appender 
-log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
-log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
-log4j.appender.CONSOLE.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-#log4j.appender.CONSOLE.layout.ConversionPattern=%m%n
-
-
-#Set the behavior of the FILE appender 
-log4j.appender.R=org.apache.log4j.FileAppender
-log4j.appender.R.File=${catalina.home}/logs/MapViewer.log
-log4j.appender.R.layout=org.apache.log4j.PatternLayout
-log4j.appender.R.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-
-
-log4j.logger.org.springframework=warn
-log4j.logger.org.hibernate=warn
-log4j.logger.lcsb=debug
diff --git a/persist/src/test/resources/log4j2.properties b/persist/src/test/resources/log4j2.properties
new file mode 100644
index 0000000000000000000000000000000000000000..b5eaa32682d177bf266eb6ed4831b4e8f4b9135d
--- /dev/null
+++ b/persist/src/test/resources/log4j2.properties
@@ -0,0 +1,25 @@
+rootLogger.level = INFO
+appenders = console
+
+appender.console.type = Console
+appender.console.name = STDOUT
+appender.console.layout.type = PatternLayout
+appender.console.layout.pattern = %d %5p [%t] (%F:%L) - %m%n
+
+rootLogger.appenderRefs = console
+
+rootLogger.appenderRef.console.ref = STDOUT
+
+logger.minerva.name = lcsb
+logger.minerva.level = debug
+logger.minerva-persist.name = lcsb.mapviewer.persist.DbUtils
+logger.minerva-persist.level = info
+logger.minerva-cache.name = lcsb.mapviewer.annotation.cache
+logger.minerva-cache.level = info
+
+
+logger.springframework.name = org.springframework
+logger.springframework.level = warn
+
+logger.hibernate.name = org.hibernate
+logger.hibernate.level = warn
diff --git a/pom.xml b/pom.xml
index 2414cc96294e7f5dedb9e93357d58919c901e1e4..5e3329c8451a797d5f3e80de1a8d9ea97debb152 100644
--- a/pom.xml
+++ b/pom.xml
@@ -14,7 +14,10 @@
 	<properties>
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 
-		<log4j.version>1.2.17</log4j.version>
+		<log4j2.version>2.11.2</log4j2.version>
+		<log4j-jcl-version>2.11.2</log4j-jcl-version>
+
+		<mail-version>1.4.7</mail-version>
 
 		<xercesImp.version>2.12.0</xercesImp.version>
 
diff --git a/quadTrees/pom.xml b/quadTrees/pom.xml
index eb40252bcccb1f687b8ce36fa77f43c2ca63ea2a..ffcdd6afa0ca78afeba6bf2e92791952eaa80186 100644
--- a/quadTrees/pom.xml
+++ b/quadTrees/pom.xml
@@ -9,10 +9,16 @@
   <name>Quad Trees implementation</name>
 
 	<dependencies>
+		<!-- Log4J2-->
 		<dependency>
-			<groupId>log4j</groupId>
-			<artifactId>log4j</artifactId>
-			<version>${log4j.version}</version>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-api</artifactId>
+			<version>${log4j2.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-core</artifactId>
+			<version>${log4j2.version}</version>
 		</dependency>
 
 		<dependency>
diff --git a/quadTrees/src/main/java/lcsb/mapviewer/utils/quadtree/geometry/MyRectangle.java b/quadTrees/src/main/java/lcsb/mapviewer/utils/quadtree/geometry/MyRectangle.java
index 9641996ffd5075899c25bae5f17f10c79dd5595e..b4a7e21e2096021c172683bef0bbd8303b270cc7 100644
--- a/quadTrees/src/main/java/lcsb/mapviewer/utils/quadtree/geometry/MyRectangle.java
+++ b/quadTrees/src/main/java/lcsb/mapviewer/utils/quadtree/geometry/MyRectangle.java
@@ -7,7 +7,7 @@ import lcsb.mapviewer.utils.quadtree.containers.Edge;
 import lcsb.mapviewer.utils.quadtree.containers.MyShape;
 import lcsb.mapviewer.utils.quadtree.containers.MySquare;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * Extends Rectangle.
@@ -22,7 +22,7 @@ public class MyRectangle extends Rectangle {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger	logger	= Logger.getLogger(MyRectangle.class);
+	private static Logger	logger	= LogManager.getLogger(MyRectangle.class);
 
 	/**
 	 * 
diff --git a/quadTrees/src/main/java/lcsb/mapviewer/utils/quadtree/quadtrees/AreaQuadTree.java b/quadTrees/src/main/java/lcsb/mapviewer/utils/quadtree/quadtrees/AreaQuadTree.java
index 2f42eda43588f3c0158018c991f482ae3bcdc88b..3ef8833339a0d9fc57a1f5bc11604e0f0bcce3c5 100644
--- a/quadTrees/src/main/java/lcsb/mapviewer/utils/quadtree/quadtrees/AreaQuadTree.java
+++ b/quadTrees/src/main/java/lcsb/mapviewer/utils/quadtree/quadtrees/AreaQuadTree.java
@@ -12,14 +12,14 @@ import lcsb.mapviewer.utils.quadtree.vertexes.Kompozycja;
 import lcsb.mapviewer.utils.quadtree.vertexes.OrangeVertex;
 import lcsb.mapviewer.utils.quadtree.vertexes.VertexWithShapes;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 public class AreaQuadTree extends SegmentQuadTree {
 	/**
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger		logger	= Logger.getLogger(PointQuadTree.class);
+	private static Logger		logger	= LogManager.getLogger(PointQuadTree.class);
 
 	protected List<MyShape>	listOfRectangles;
 
diff --git a/quadTrees/src/main/java/lcsb/mapviewer/utils/quadtree/quadtrees/PointQuadTree.java b/quadTrees/src/main/java/lcsb/mapviewer/utils/quadtree/quadtrees/PointQuadTree.java
index a1d75c5ea6ca81228326bf8344b68be9105f721b..4f90c95eb1ddf3b9fad12dd5c00fd26d6dfa451d 100644
--- a/quadTrees/src/main/java/lcsb/mapviewer/utils/quadtree/quadtrees/PointQuadTree.java
+++ b/quadTrees/src/main/java/lcsb/mapviewer/utils/quadtree/quadtrees/PointQuadTree.java
@@ -17,7 +17,7 @@ import lcsb.mapviewer.utils.quadtree.vertexes.Kompozycja;
 import lcsb.mapviewer.utils.quadtree.vertexes.OrangeVertex;
 import lcsb.mapviewer.utils.quadtree.vertexes.WhiteVertex;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * PointQuadTree that provides adding and removing locations from map.
@@ -32,7 +32,7 @@ public class PointQuadTree {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger				logger						= Logger.getLogger(PointQuadTree.class);
+	private static Logger				logger						= LogManager.getLogger(PointQuadTree.class);
 
 	protected Kompozycja				root;
 	protected List<MyLocation>	myLocations;
diff --git a/quadTrees/src/main/java/lcsb/mapviewer/utils/quadtree/quadtrees/SegmentQuadTree.java b/quadTrees/src/main/java/lcsb/mapviewer/utils/quadtree/quadtrees/SegmentQuadTree.java
index 16fe58b81ca42f752654227587e9068f9903782c..d05f97ac7f14fd2fe0a286579fcab16f64cf1bea 100644
--- a/quadTrees/src/main/java/lcsb/mapviewer/utils/quadtree/quadtrees/SegmentQuadTree.java
+++ b/quadTrees/src/main/java/lcsb/mapviewer/utils/quadtree/quadtrees/SegmentQuadTree.java
@@ -20,7 +20,7 @@ import lcsb.mapviewer.utils.quadtree.vertexes.OrangeVertex;
 import lcsb.mapviewer.utils.quadtree.vertexes.VertexWithShapes;
 import lcsb.mapviewer.utils.quadtree.vertexes.WhiteVertex;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * Extends PointQuadTree.
@@ -34,7 +34,7 @@ public class SegmentQuadTree extends PointQuadTree {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger				logger	= Logger.getLogger(SegmentQuadTree.class);
+	private static Logger				logger	= LogManager.getLogger(SegmentQuadTree.class);
 
 	protected List<MyPolyline>	myPolylines;
 
diff --git a/quadTrees/src/main/java/lcsb/mapviewer/utils/quadtree/testquadtrees/ReactionsQuadTree.java b/quadTrees/src/main/java/lcsb/mapviewer/utils/quadtree/testquadtrees/ReactionsQuadTree.java
index 60d81016a5f7619b8735ce6a9c986ea59e4075bc..6bb29c427e9102ada6f0853eaaed9e080fd409d6 100644
--- a/quadTrees/src/main/java/lcsb/mapviewer/utils/quadtree/testquadtrees/ReactionsQuadTree.java
+++ b/quadTrees/src/main/java/lcsb/mapviewer/utils/quadtree/testquadtrees/ReactionsQuadTree.java
@@ -14,18 +14,15 @@ import lcsb.mapviewer.utils.quadtree.containers.MyPolyline;
 import lcsb.mapviewer.utils.quadtree.quadtrees.SegmentQuadTree;
 import lcsb.mapviewer.utils.quadtree.testquadtrees.baskets.ReactionBasket;
 
-import org.apache.log4j.Logger;
-import org.apache.log4j.PropertyConfigurator;
+import org.apache.logging.log4j.*;
+
 
 public class ReactionsQuadTree extends SegmentQuadTree {
 	/**
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger					logger	= Logger.getLogger(SegmentQuadTree.class);
-	static {
-		PropertyConfigurator.configure("src/main/webapp/WEB-INF/resources/log4j.properties");
-	}
+	private static Logger					logger	= LogManager.getLogger(SegmentQuadTree.class);
 
 	private List<ReactionBasket>	listOfReactions;
 
diff --git a/quadTrees/src/test/java/lcsb/mapviewer/utils/quadtree/quadtrees/AreaQuadTreeTest.java b/quadTrees/src/test/java/lcsb/mapviewer/utils/quadtree/quadtrees/AreaQuadTreeTest.java
index 0265a3dbebe204059b60b5c0d865cbb3a8d4ca86..bf9398335959e79aefefbcaab8c297a69e83bc52 100644
--- a/quadTrees/src/test/java/lcsb/mapviewer/utils/quadtree/quadtrees/AreaQuadTreeTest.java
+++ b/quadTrees/src/test/java/lcsb/mapviewer/utils/quadtree/quadtrees/AreaQuadTreeTest.java
@@ -7,11 +7,11 @@ import java.awt.Point;
 import lcsb.mapviewer.utils.quadtree.containers.MySquare;
 import lcsb.mapviewer.utils.quadtree.geometry.MyLocation;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 
 public class AreaQuadTreeTest {
-	Logger	logger	= Logger.getLogger(AreaQuadTreeTest.class);
+	Logger	logger	= LogManager.getLogger(AreaQuadTreeTest.class);
 
 	@Test
 	public void test() {
diff --git a/quadTrees/src/test/java/lcsb/mapviewer/utils/quadtree/quadtrees/PointQuadTreeTest.java b/quadTrees/src/test/java/lcsb/mapviewer/utils/quadtree/quadtrees/PointQuadTreeTest.java
index fe9d1c81f4963b6fff875367bf90781cf9940897..057561b6f1548b80913bf410b30591c122d71a73 100644
--- a/quadTrees/src/test/java/lcsb/mapviewer/utils/quadtree/quadtrees/PointQuadTreeTest.java
+++ b/quadTrees/src/test/java/lcsb/mapviewer/utils/quadtree/quadtrees/PointQuadTreeTest.java
@@ -6,11 +6,11 @@ import java.awt.Point;
 
 import lcsb.mapviewer.utils.quadtree.geometry.MyLocation;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 
 public class PointQuadTreeTest  {
-	Logger	logger	= Logger.getLogger(PointQuadTreeTest.class);
+	Logger	logger	= LogManager.getLogger(PointQuadTreeTest.class);
 
 	@Test
 	public void test1() {
diff --git a/quadTrees/src/test/java/lcsb/mapviewer/utils/quadtree/quadtrees/SegmentQuadTreeTest.java b/quadTrees/src/test/java/lcsb/mapviewer/utils/quadtree/quadtrees/SegmentQuadTreeTest.java
index 5bcedcaddb0801b1901bab1ec4e992c2eddedd9c..6292e67a76935d428123701dce3eca8714b380f9 100644
--- a/quadTrees/src/test/java/lcsb/mapviewer/utils/quadtree/quadtrees/SegmentQuadTreeTest.java
+++ b/quadTrees/src/test/java/lcsb/mapviewer/utils/quadtree/quadtrees/SegmentQuadTreeTest.java
@@ -7,11 +7,11 @@ import java.awt.Point;
 import lcsb.mapviewer.utils.quadtree.containers.Edge;
 import lcsb.mapviewer.utils.quadtree.containers.MyPolyline;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 
 public class SegmentQuadTreeTest  {
-	Logger	logger	= Logger.getLogger(SegmentQuadTreeTest.class);
+	Logger	logger	= LogManager.getLogger(SegmentQuadTreeTest.class);
 
 	@Test
 	public void test1() {
diff --git a/quadTrees/src/test/resources/log4j.properties b/quadTrees/src/test/resources/log4j.properties
deleted file mode 100644
index d9762865981dac9ac1ba5a67054ab262b021d9f7..0000000000000000000000000000000000000000
--- a/quadTrees/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-#Set root logger 's level and its appender to an appender called CONSOLE which is defined below.
-log4j.rootLogger=info, CONSOLE, R
-
-#Set the behavior of the CONSOLE appender 
-log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
-log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
-log4j.appender.CONSOLE.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-#log4j.appender.CONSOLE.layout.ConversionPattern=%m%n
-
-
-#Set the behavior of the FILE appender 
-log4j.appender.R=org.apache.log4j.FileAppender
-log4j.appender.R.File=${catalina.home}/logs/MapViewer.log
-log4j.appender.R.layout=org.apache.log4j.PatternLayout
-log4j.appender.R.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-
-
-log4j.logger.org.springframework=warn
-log4j.logger.org.hibernate=warn
-log4j.logger.lcsb=debug
diff --git a/quadTrees/src/test/resources/log4j2.properties b/quadTrees/src/test/resources/log4j2.properties
new file mode 100644
index 0000000000000000000000000000000000000000..b5eaa32682d177bf266eb6ed4831b4e8f4b9135d
--- /dev/null
+++ b/quadTrees/src/test/resources/log4j2.properties
@@ -0,0 +1,25 @@
+rootLogger.level = INFO
+appenders = console
+
+appender.console.type = Console
+appender.console.name = STDOUT
+appender.console.layout.type = PatternLayout
+appender.console.layout.pattern = %d %5p [%t] (%F:%L) - %m%n
+
+rootLogger.appenderRefs = console
+
+rootLogger.appenderRef.console.ref = STDOUT
+
+logger.minerva.name = lcsb
+logger.minerva.level = debug
+logger.minerva-persist.name = lcsb.mapviewer.persist.DbUtils
+logger.minerva-persist.level = info
+logger.minerva-cache.name = lcsb.mapviewer.annotation.cache
+logger.minerva-cache.level = info
+
+
+logger.springframework.name = org.springframework
+logger.springframework.level = warn
+
+logger.hibernate.name = org.hibernate
+logger.hibernate.level = warn
diff --git a/reactome/pom.xml b/reactome/pom.xml
index bd9bc710dae86505babe19ee3740865db11e6aeb..1fed4873c62ea45380ed271343446afb714a8e74 100644
--- a/reactome/pom.xml
+++ b/reactome/pom.xml
@@ -44,11 +44,16 @@
 			<version>1.0</version>
 		</dependency>
 
-		<!-- Log4J -->
+		<!-- Log4J2-->
 		<dependency>
-			<groupId>log4j</groupId>
-			<artifactId>log4j</artifactId>
-			<version>${log4j.version}</version>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-api</artifactId>
+			<version>${log4j2.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-core</artifactId>
+			<version>${log4j2.version}</version>
 		</dependency>
 
 		<!-- Spring -->
diff --git a/reactome/src/main/java/lcsb/mapviewer/reactome/ReactomeDatabaseProxy.java b/reactome/src/main/java/lcsb/mapviewer/reactome/ReactomeDatabaseProxy.java
index bed1ca5f86f3b72f63598a45f09e1b3bf0947428..0482ae77a2e73692c3d252a04bc5cee5477d295d 100644
--- a/reactome/src/main/java/lcsb/mapviewer/reactome/ReactomeDatabaseProxy.java
+++ b/reactome/src/main/java/lcsb/mapviewer/reactome/ReactomeDatabaseProxy.java
@@ -14,7 +14,7 @@ import lcsb.mapviewer.reactome.model.ReactomeDatabaseObject;
 import lcsb.mapviewer.reactome.model.ReactomeStatus;
 import lcsb.mapviewer.reactome.utils.DataSourceUpdater;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -31,7 +31,7 @@ public class ReactomeDatabaseProxy {
 	/**
 	 * Default class logger.
 	 */
-	private static Logger			logger	= Logger.getLogger(ReactomeDatabaseProxy.class);
+	private static Logger			logger	= LogManager.getLogger(ReactomeDatabaseProxy.class);
 
 	/**
 	 * Interface used for accessing data in the reactome database.
diff --git a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/DataFormatter.java b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/DataFormatter.java
index b2dce25f982102befbefffa182702eb684c737ea..e6f30afd8d6d0e7fb8a85c6123ae9aec720c7496 100644
--- a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/DataFormatter.java
+++ b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/DataFormatter.java
@@ -4,7 +4,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import lcsb.mapviewer.annotation.services.MiriamConnector;
@@ -31,7 +31,7 @@ public class DataFormatter {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger			logger = Logger.getLogger(DataFormatter.class);
+	private static Logger			logger = LogManager.getLogger(DataFormatter.class);
 
 	/**
 	 * Connector used for accessing data from miriam registry.
diff --git a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/ReactionComparator.java b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/ReactionComparator.java
index 93094fe11dc80a392c180e82f0d255913ddf9daa..580a5594455a6bc5404876331c824b50d417954c 100644
--- a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/ReactionComparator.java
+++ b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/ReactionComparator.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.reactome.utils;
 import java.util.HashSet;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -34,7 +34,7 @@ public class ReactionComparator {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger	 logger	= Logger.getLogger(ReactionComparator.class);
+	private static Logger	 logger	= LogManager.getLogger(ReactionComparator.class);
 
 	/**
 	 * Comparator that allows to compare nodes in our format with nodes in
diff --git a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/ReactomeConnector.java b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/ReactomeConnector.java
index 0b4304a7fd86aafe051e23aa96016239185580bb..26ef9de54309915f1c7085c902c43526c67fcdc1 100644
--- a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/ReactomeConnector.java
+++ b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/ReactomeConnector.java
@@ -17,7 +17,7 @@ import java.util.Set;
 
 import lcsb.mapviewer.common.XmlParser;
 import org.apache.commons.io.IOUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.w3c.dom.Document;
@@ -135,7 +135,7 @@ public class ReactomeConnector extends CachableInterface implements DataSourceUp
 	/**
 	 * Default class logger.
 	 */
-	private static Logger												 logger						= Logger.getLogger(ReactomeConnector.class);
+	private static Logger												 logger						= LogManager.getLogger(ReactomeConnector.class);
 	/**
 	 * Url used for accessing Reactome RestFULL API.
 	 */
diff --git a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/ReactomeQueryUtil.java b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/ReactomeQueryUtil.java
index c08d6d4ff02134ee6410ddd810e9972d16cc95ce..6f410e1148ea46dbc6b0640965b0c035324ac396 100644
--- a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/ReactomeQueryUtil.java
+++ b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/ReactomeQueryUtil.java
@@ -11,7 +11,7 @@ import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import lcsb.mapviewer.annotation.services.annotators.AnnotatorException;
@@ -67,7 +67,7 @@ public class ReactomeQueryUtil {
 	/**
 	 * Default class logger.
 	 */
-	private static Logger			logger = Logger.getLogger(ReactomeQueryUtil.class);
+	private static Logger			logger = LogManager.getLogger(ReactomeQueryUtil.class);
 
 	/**
 	 * Interface used for accessing data in the reactome database.
diff --git a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ANodeComparator.java b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ANodeComparator.java
index 4bf8c5d004de5bcad3ebef766551c52aface5b8e..0046cbf5288b22f0ba2762d728d20157f0365310 100644
--- a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ANodeComparator.java
+++ b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ANodeComparator.java
@@ -2,7 +2,7 @@ package lcsb.mapviewer.reactome.utils.comparators;
 
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -35,7 +35,7 @@ public abstract class ANodeComparator<T extends Element, U extends ReactomeDatab
 	/**
 	 * Default class logger.
 	 */
-	private static Logger																		 logger	= Logger.getLogger(ANodeComparator.class);
+	private static Logger																		 logger	= LogManager.getLogger(ANodeComparator.class);
 
 	/**
 	 * Service used for annotation of proteins (and finding annotation of
diff --git a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ComplexAndCandidateSetComparator.java b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ComplexAndCandidateSetComparator.java
index ac32c6f566bbf68fdc1768870153a07c65e78a0d..d74488c02995d9cd1e5300a3ae82d7e6d10cbef7 100644
--- a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ComplexAndCandidateSetComparator.java
+++ b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ComplexAndCandidateSetComparator.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.reactome.utils.comparators;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.model.map.species.Complex;
 import lcsb.mapviewer.reactome.model.ReactomeCandidateSet;
@@ -19,7 +19,7 @@ public class ComplexAndCandidateSetComparator extends ANodeComparator<Complex, R
 	/**
 	 * Default class logger.
 	 */
-	private static Logger logger = Logger.getLogger(ComplexAndCandidateSetComparator.class);
+	private static Logger logger = LogManager.getLogger(ComplexAndCandidateSetComparator.class);
 
 	/**
 	 * Default constructor.
diff --git a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ComplexAndComplexComparator.java b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ComplexAndComplexComparator.java
index 7a9e32281bae0c8031786dad7e1441452ceb229f..5c287bbeaf0899e29d33aad9afa4fd4eda4f3729 100644
--- a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ComplexAndComplexComparator.java
+++ b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ComplexAndComplexComparator.java
@@ -2,7 +2,7 @@ package lcsb.mapviewer.reactome.utils.comparators;
 
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.model.map.MiriamData;
 import lcsb.mapviewer.model.map.species.Complex;
@@ -23,7 +23,7 @@ public class ComplexAndComplexComparator extends ANodeComparator<Complex, Reacto
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger logger = Logger.getLogger(ComplexAndComplexComparator.class);
+	private static Logger logger = LogManager.getLogger(ComplexAndComplexComparator.class);
 
 	/**
 	 * Default constructor.
diff --git a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ComplexAndDefinedSetComparator.java b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ComplexAndDefinedSetComparator.java
index 7270ee6ecb341ba33d6ca4763d6694518cc99c23..d51b3acf7c7980dcd99f6c34eb2c94d1dd279f0d 100644
--- a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ComplexAndDefinedSetComparator.java
+++ b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ComplexAndDefinedSetComparator.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.reactome.utils.comparators;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.model.map.species.Complex;
 import lcsb.mapviewer.reactome.model.ReactomeDefinedSet;
@@ -19,7 +19,7 @@ public class ComplexAndDefinedSetComparator extends ANodeComparator<Complex, Rea
 	/**
 	 * Default class logger.
 	 */
-	private static Logger logger = Logger.getLogger(ComplexAndDefinedSetComparator.class);
+	private static Logger logger = LogManager.getLogger(ComplexAndDefinedSetComparator.class);
 
 	/**
 	 * Default constructor.
diff --git a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ComplexAndOtherEntityComparator.java b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ComplexAndOtherEntityComparator.java
index 00708cc8f568ac3f5f67d1f9411ef438f35f382a..f4fc3bd41f6e85a798b6c1d472434bd59995b6eb 100644
--- a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ComplexAndOtherEntityComparator.java
+++ b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ComplexAndOtherEntityComparator.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.reactome.utils.comparators;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.model.map.species.Complex;
 import lcsb.mapviewer.reactome.model.ReactomeOtherEntity;
@@ -19,7 +19,7 @@ public class ComplexAndOtherEntityComparator extends ANodeComparator<Complex, Re
 	/**
 	 * Default class logger.
 	 */
-	private static Logger logger = Logger.getLogger(ComplexAndOtherEntityComparator.class);
+	private static Logger logger = LogManager.getLogger(ComplexAndOtherEntityComparator.class);
 
 	/**
 	 * Default constructor.
diff --git a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/DrugAndCatalystComparator.java b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/DrugAndCatalystComparator.java
index 006b3f5abd3a5b76a6bca28c4916241f57ea77d9..5189ce78a6c1fb2324cd30e1d54b47497123d7fa 100644
--- a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/DrugAndCatalystComparator.java
+++ b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/DrugAndCatalystComparator.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.reactome.utils.comparators;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.model.map.species.Drug;
 import lcsb.mapviewer.reactome.model.ReactomeCatalystActivity;
@@ -18,7 +18,7 @@ public class DrugAndCatalystComparator extends ANodeComparator<Drug, ReactomeCat
 	/**
 	 * Default class logger.
 	 */
-	private static Logger logger = Logger.getLogger(DrugAndCatalystComparator.class);
+	private static Logger logger = LogManager.getLogger(DrugAndCatalystComparator.class);
 
 	/**
 	 * Default constructor.
diff --git a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/GeneAndDefinedSetComparator.java b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/GeneAndDefinedSetComparator.java
index 415e2dcb33e19eff5ff24d37eca9803e1a342207..0eff54c6b637dce1e8fa725085b9c7f7eb004803 100644
--- a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/GeneAndDefinedSetComparator.java
+++ b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/GeneAndDefinedSetComparator.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.reactome.utils.comparators;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.model.map.species.Gene;
 import lcsb.mapviewer.reactome.model.ReactomeDefinedSet;
@@ -19,7 +19,7 @@ public class GeneAndDefinedSetComparator extends ANodeComparator<Gene, ReactomeD
 	/**
 	 * Default class logger.
 	 */
-	private static Logger logger = Logger.getLogger(GeneAndDefinedSetComparator.class);
+	private static Logger logger = LogManager.getLogger(GeneAndDefinedSetComparator.class);
 
 	/**
 	 * Default constructor.
diff --git a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/GeneAndOtherEntityComparator.java b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/GeneAndOtherEntityComparator.java
index b92547875bd9eb8ce1c01ca7fb16bb7568bfbfb6..826d0c0572cbf67f998be0f60540303beac03944 100644
--- a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/GeneAndOtherEntityComparator.java
+++ b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/GeneAndOtherEntityComparator.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.reactome.utils.comparators;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.model.map.species.Gene;
 import lcsb.mapviewer.reactome.model.ReactomeOtherEntity;
@@ -19,7 +19,7 @@ public class GeneAndOtherEntityComparator extends ANodeComparator<Gene, Reactome
 	/**
 	 * Default class logger.
 	 */
-	private static Logger logger = Logger.getLogger(GeneAndOtherEntityComparator.class);
+	private static Logger logger = LogManager.getLogger(GeneAndOtherEntityComparator.class);
 
 	/**
 	 * Default constructor.
diff --git a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/MatchResult.java b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/MatchResult.java
index 46376f2de65261cbe8290a6d324601f9d22fb386..7647995fdae5bf8b1ba6b851e69053f7392df024 100644
--- a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/MatchResult.java
+++ b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/MatchResult.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.reactome.utils.comparators;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.model.map.reaction.Reaction;
 import lcsb.mapviewer.model.map.species.Element;
@@ -24,7 +24,7 @@ public class MatchResult {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger								 logger									 = Logger.getLogger(MatchResult.class);
+	private static Logger								 logger									 = LogManager.getLogger(MatchResult.class);
 
 	/**
 	 * Local reaction to be compared.
diff --git a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/NodeComparator.java b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/NodeComparator.java
index a1624c668b9bdfc7dc66e7334ba49e16144f8e08..3b70ea7936081051daee1daa36294b1405c63de6 100644
--- a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/NodeComparator.java
+++ b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/NodeComparator.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.reactome.utils.comparators;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.model.map.species.Element;
@@ -25,7 +25,7 @@ public class NodeComparator extends ANodeComparator<Element, ReactomeDatabaseObj
 	/**
 	 * Default class logger.
 	 */
-	private static Logger											 logger			 = Logger.getLogger(NodeComparator.class);
+	private static Logger											 logger			 = LogManager.getLogger(NodeComparator.class);
 
 	/**
 	 * This map contains implementation of all known comparators between local
diff --git a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ProteinAndComplexComparator.java b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ProteinAndComplexComparator.java
index a3ec075b62a745afa469d10fcb6d75cc8492ae60..624fce2f6d82792bcff0a47813bd886968751bcd 100644
--- a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ProteinAndComplexComparator.java
+++ b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ProteinAndComplexComparator.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.reactome.utils.comparators;
 import java.util.HashSet;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.model.map.MiriamData;
 import lcsb.mapviewer.model.map.MiriamType;
@@ -25,7 +25,7 @@ public class ProteinAndComplexComparator extends ANodeComparator<Protein, Reacto
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger logger = Logger.getLogger(ProteinAndComplexComparator.class);
+	private static Logger logger = LogManager.getLogger(ProteinAndComplexComparator.class);
 
 	/**
 	 * Default constructor.
diff --git a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ProteinAndEntityWithAccessionedSequenceComparator.java b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ProteinAndEntityWithAccessionedSequenceComparator.java
index dab3af2fb5788808ea16bdbb744c91626ea465af..8ed2783dc7f107e546ec03a7053bd6a482de763a 100644
--- a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ProteinAndEntityWithAccessionedSequenceComparator.java
+++ b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ProteinAndEntityWithAccessionedSequenceComparator.java
@@ -2,7 +2,7 @@ package lcsb.mapviewer.reactome.utils.comparators;
 
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.model.map.MiriamData;
@@ -28,7 +28,7 @@ public class ProteinAndEntityWithAccessionedSequenceComparator extends ANodeComp
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger logger = Logger.getLogger(ProteinAndEntityWithAccessionedSequenceComparator.class);
+	private static Logger logger = LogManager.getLogger(ProteinAndEntityWithAccessionedSequenceComparator.class);
 
 	/**
 	 * Default constructor.
diff --git a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ProteinAndGenomeEncodedEntity.java b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ProteinAndGenomeEncodedEntity.java
index 70095a10044f7a5fb9603850b0c75410cea0bb89..41986d9f9abedff99226fbae8ab13f84a861d461 100644
--- a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ProteinAndGenomeEncodedEntity.java
+++ b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ProteinAndGenomeEncodedEntity.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.reactome.utils.comparators;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.model.map.species.Protein;
 import lcsb.mapviewer.reactome.model.ReactomeGenomeEncodedEntity;
@@ -19,7 +19,7 @@ public class ProteinAndGenomeEncodedEntity extends ANodeComparator<Protein, Reac
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger	logger	= Logger.getLogger(ProteinAndGenomeEncodedEntity.class);
+	private static Logger	logger	= LogManager.getLogger(ProteinAndGenomeEncodedEntity.class);
 
 	/**
 	 * Default constructor.
diff --git a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ProteinAndOtherEntityComparator.java b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ProteinAndOtherEntityComparator.java
index f788afb4651cd02e45fe3be2fcc56622f6115889..b709dec94479ebcffbe598bfaeaef32abbcda805 100644
--- a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ProteinAndOtherEntityComparator.java
+++ b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ProteinAndOtherEntityComparator.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.reactome.utils.comparators;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.model.map.species.Protein;
 import lcsb.mapviewer.reactome.model.ReactomeOtherEntity;
@@ -19,7 +19,7 @@ public class ProteinAndOtherEntityComparator extends ANodeComparator<Protein, Re
 	/**
 	 * Default class logger.
 	 */
-	private static Logger logger = Logger.getLogger(ProteinAndOtherEntityComparator.class);
+	private static Logger logger = LogManager.getLogger(ProteinAndOtherEntityComparator.class);
 
 	/**
 	 * Default constructor.
diff --git a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ProteinAndPolymerComparator.java b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ProteinAndPolymerComparator.java
index debf5268d368fedc7be7ba01df59e5101ae34cce..2e29e9807d9cd29f3a5ccfa68471c2455da329b4 100644
--- a/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ProteinAndPolymerComparator.java
+++ b/reactome/src/main/java/lcsb/mapviewer/reactome/utils/comparators/ProteinAndPolymerComparator.java
@@ -4,7 +4,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.model.map.MiriamData;
@@ -34,7 +34,7 @@ public class ProteinAndPolymerComparator extends ANodeComparator<Protein, Reacto
 	/**
 	 * Default class logger.
 	 */
-	private static Logger	logger	= Logger.getLogger(ProteinAndPolymerComparator.class);
+	private static Logger	logger	= LogManager.getLogger(ProteinAndPolymerComparator.class);
 
 	/**
 	 * Default constructor.
diff --git a/reactome/src/main/java/lcsb/mapviewer/reactome/xml/ReactomeNodeParser.java b/reactome/src/main/java/lcsb/mapviewer/reactome/xml/ReactomeNodeParser.java
index 558ffd3322dcd1c427f73dec4ac8455fcfcf76a7..c906d0335d448ba1a76855b6e471665d90a9c081 100644
--- a/reactome/src/main/java/lcsb/mapviewer/reactome/xml/ReactomeNodeParser.java
+++ b/reactome/src/main/java/lcsb/mapviewer/reactome/xml/ReactomeNodeParser.java
@@ -8,7 +8,7 @@ import lcsb.mapviewer.reactome.model.ReactomeStatus;
 import lcsb.mapviewer.reactome.xml.columnParser.ColumnParser;
 import lcsb.mapviewer.reactome.xml.columnParser.ColumnParserFactory;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.w3c.dom.Node;
@@ -26,7 +26,7 @@ public abstract class ReactomeNodeParser<T extends ReactomeDatabaseObject> {
 	/**
 	 * Default class logger.
 	 */
-	private Logger								logger	= Logger.getLogger(ReactomeNodeParser.class);
+	private Logger								logger	= LogManager.getLogger(ReactomeNodeParser.class);
 	/**
 	 * Class for which this parser was created.
 	 */
diff --git a/reactome/src/main/java/lcsb/mapviewer/reactome/xml/ReactomeParserFactory.java b/reactome/src/main/java/lcsb/mapviewer/reactome/xml/ReactomeParserFactory.java
index 26fd904616385c98ba0269fbcb4ebf2abb9a7a4a..0548a258a33f93629b1c62badd84d3c278dbd837 100644
--- a/reactome/src/main/java/lcsb/mapviewer/reactome/xml/ReactomeParserFactory.java
+++ b/reactome/src/main/java/lcsb/mapviewer/reactome/xml/ReactomeParserFactory.java
@@ -6,7 +6,7 @@ import java.util.Map;
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.persist.SpringApplicationContext;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.stereotype.Service;
 
 /**
@@ -29,7 +29,7 @@ public final class ReactomeParserFactory {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private static Logger																logger	= Logger.getLogger(ReactomeParserFactory.class);
+	private static Logger																logger	= LogManager.getLogger(ReactomeParserFactory.class);
 
 	/**
 	 * Static field with all already created parsers.
diff --git a/reactome/src/main/java/lcsb/mapviewer/reactome/xml/columnParser/DatabaseObjectColumnParser.java b/reactome/src/main/java/lcsb/mapviewer/reactome/xml/columnParser/DatabaseObjectColumnParser.java
index b4f6aa1d20ff9d4f3c60ff4102e3b5acc66a0525..06332a0c1180cc1525373462214269f2766bd2a7 100644
--- a/reactome/src/main/java/lcsb/mapviewer/reactome/xml/columnParser/DatabaseObjectColumnParser.java
+++ b/reactome/src/main/java/lcsb/mapviewer/reactome/xml/columnParser/DatabaseObjectColumnParser.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.reactome.xml.columnParser;
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.reactome.model.ReactomeDatabaseObject;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.w3c.dom.Node;
 
 /**
@@ -19,7 +19,7 @@ public class DatabaseObjectColumnParser extends ColumnParser<ReactomeDatabaseObj
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private Logger logger = Logger.getLogger(DatabaseObjectColumnParser.class);
+	private Logger logger = LogManager.getLogger(DatabaseObjectColumnParser.class);
 
 	/**
 	 * Default constructor.
diff --git a/reactome/src/test/java/lcsb/mapviewer/reactome/ReactomeTestFunctions.java b/reactome/src/test/java/lcsb/mapviewer/reactome/ReactomeTestFunctions.java
index 277d349526f5a08f9cf2b7a6e7d3898216456942..d93c1521c112c762880dbf9b935c1d67008e46ad 100644
--- a/reactome/src/test/java/lcsb/mapviewer/reactome/ReactomeTestFunctions.java
+++ b/reactome/src/test/java/lcsb/mapviewer/reactome/ReactomeTestFunctions.java
@@ -27,7 +27,7 @@ import javax.xml.transform.TransformerFactory;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.test.annotation.Rollback;
@@ -54,7 +54,7 @@ import lcsb.mapviewer.reactome.utils.ReactomeQueryUtil;
 @ContextConfiguration(classes = SpringReactomeTestConfig.class)
 @RunWith(SpringJUnit4ClassRunner.class)
 public abstract class ReactomeTestFunctions {
-  private Logger logger = Logger.getLogger(ReactomeTestFunctions.class);
+  private Logger logger = LogManager.getLogger(ReactomeTestFunctions.class);
 
   @Autowired
   protected PermanentDatabaseLevelCacheInterface cache;
diff --git a/reactome/src/test/java/lcsb/mapviewer/reactome/utils/ReactionComparatorTest.java b/reactome/src/test/java/lcsb/mapviewer/reactome/utils/ReactionComparatorTest.java
index 8b3af993bfde121415e0472a47c3c85e845f959e..50e9ee54f2e5327954435a8bba5b9403f3e39473 100644
--- a/reactome/src/test/java/lcsb/mapviewer/reactome/utils/ReactionComparatorTest.java
+++ b/reactome/src/test/java/lcsb/mapviewer/reactome/utils/ReactionComparatorTest.java
@@ -8,7 +8,7 @@ import lcsb.mapviewer.reactome.ReactomeTestFunctions;
 import lcsb.mapviewer.reactome.model.ReactomeReactionlikeEvent;
 import lcsb.mapviewer.reactome.utils.comparators.MatchResult.MatchStatus;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Ignore;
@@ -16,7 +16,7 @@ import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 
 public class ReactionComparatorTest extends ReactomeTestFunctions {
-	Logger logger = Logger.getLogger(ReactionComparatorTest.class);
+	Logger logger = LogManager.getLogger(ReactionComparatorTest.class);
 
 	@Autowired
 	ReactionComparator comparator;
diff --git a/reactome/src/test/java/lcsb/mapviewer/reactome/utils/ReactomeConnectorTest.java b/reactome/src/test/java/lcsb/mapviewer/reactome/utils/ReactomeConnectorTest.java
index 6dc740d05a21fc8e810c6670e6b9c47bfa2f98ad..4815dbbe515d608d393d0ec55dd2ad7c904bb4b2 100644
--- a/reactome/src/test/java/lcsb/mapviewer/reactome/utils/ReactomeConnectorTest.java
+++ b/reactome/src/test/java/lcsb/mapviewer/reactome/utils/ReactomeConnectorTest.java
@@ -12,7 +12,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -33,7 +33,7 @@ import lcsb.mapviewer.reactome.model.ReactomeReactionlikeEvent;
 import lcsb.mapviewer.reactome.model.ReactomeSimpleEntity;
 
 public class ReactomeConnectorTest extends ReactomeTestFunctions {
-  Logger logger = Logger.getLogger(ReactomeConnectorTest.class);
+  Logger logger = LogManager.getLogger(ReactomeConnectorTest.class);
 
   CacheType reactomeCacheType;
 
diff --git a/reactome/src/test/java/lcsb/mapviewer/reactome/utils/ReactomeQueryUtilTest.java b/reactome/src/test/java/lcsb/mapviewer/reactome/utils/ReactomeQueryUtilTest.java
index 0bc125fb112d27787872f84fec86294921b2eb2b..520776b7ee8006e13b045a6877b57cbdd7df1e4e 100644
--- a/reactome/src/test/java/lcsb/mapviewer/reactome/utils/ReactomeQueryUtilTest.java
+++ b/reactome/src/test/java/lcsb/mapviewer/reactome/utils/ReactomeQueryUtilTest.java
@@ -11,7 +11,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Ignore;
@@ -34,7 +34,7 @@ public class ReactomeQueryUtilTest extends ReactomeTestFunctions {
 
 	Model									model;
 
-	static Logger										logger	= Logger.getLogger(ReactomeQueryUtilTest.class);
+	static Logger										logger	= LogManager.getLogger(ReactomeQueryUtilTest.class);
 	@Autowired
 	ReactionComparator							reactionComparator;
 	@Autowired
diff --git a/reactome/src/test/java/lcsb/mapviewer/reactome/utils/comparators/NodeComparatorTest.java b/reactome/src/test/java/lcsb/mapviewer/reactome/utils/comparators/NodeComparatorTest.java
index 62a477e92d3559962a04e1d8cc0277c46b2f644d..a08bf911113a1b7256cc0e7681c876a7d5c33c82 100644
--- a/reactome/src/test/java/lcsb/mapviewer/reactome/utils/comparators/NodeComparatorTest.java
+++ b/reactome/src/test/java/lcsb/mapviewer/reactome/utils/comparators/NodeComparatorTest.java
@@ -4,7 +4,7 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Ignore;
@@ -29,7 +29,7 @@ public class NodeComparatorTest extends ReactomeTestFunctions {
 
 	Model													 model;
 
-	static Logger									 logger	= Logger.getLogger(NodeComparatorTest.class);
+	static Logger									 logger	= LogManager.getLogger(NodeComparatorTest.class);
 	@Autowired
 	ReactomeQueryUtil							 rcu;
 	@Autowired
diff --git a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/GeneralTests.java b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/GeneralTests.java
index 19daa9c94ff6a1dafcbcb5445610aa48797149eb..58b32c4beac919bd3ffdfa69c03ebd1828aef272 100644
--- a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/GeneralTests.java
+++ b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/GeneralTests.java
@@ -4,14 +4,14 @@ import static org.junit.Assert.assertFalse;
 import lcsb.mapviewer.reactome.ReactomeTestFunctions;
 import lcsb.mapviewer.reactome.model.ReactomeDatabaseObject;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Ignore;
 import org.junit.Test;
 
 public class GeneralTests extends ReactomeTestFunctions {
-  Logger logger = Logger.getLogger(GeneralTests.class);
+  Logger logger = LogManager.getLogger(GeneralTests.class);
 
   @Before
   public void setUp() throws Exception {
diff --git a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeBlackBoxEventParserTest.java b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeBlackBoxEventParserTest.java
index 3a9c42066069545e1a31dfe62327b66137c0cc82..b9c5df1cc9452c9c3e3a97fd64c028d3629b9967 100644
--- a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeBlackBoxEventParserTest.java
+++ b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeBlackBoxEventParserTest.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.reactome.xml;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -15,7 +15,7 @@ import lcsb.mapviewer.reactome.model.ReactomeBlackBoxEvent;
 import lcsb.mapviewer.reactome.model.ReactomeStatus;
 
 public class ReactomeBlackBoxEventParserTest extends ReactomeTestFunctions {
-  Logger logger = Logger.getLogger(ReactomeBlackBoxEventParserTest.class);
+  Logger logger = LogManager.getLogger(ReactomeBlackBoxEventParserTest.class);
 
   @Autowired
   ReactomeBlackBoxEventParser parser;
diff --git a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeCandidateSetParserTest.java b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeCandidateSetParserTest.java
index c882c0cdabf43ee16bfb01643a952c75612a20af..41e22cc9906ba6bd4b93c9160264e50818efe195 100644
--- a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeCandidateSetParserTest.java
+++ b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeCandidateSetParserTest.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.reactome.xml;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -15,7 +15,7 @@ import lcsb.mapviewer.reactome.model.ReactomeCandidateSet;
 import lcsb.mapviewer.reactome.model.ReactomeStatus;
 
 public class ReactomeCandidateSetParserTest extends ReactomeTestFunctions {
-	Logger										 logger	= Logger.getLogger(ReactomeCandidateSetParserTest.class);
+	Logger										 logger	= LogManager.getLogger(ReactomeCandidateSetParserTest.class);
 
 	@Autowired
 	ReactomeCandidateSetParser parser;
diff --git a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeCatalystActivityParserTest.java b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeCatalystActivityParserTest.java
index e3bb92a7f24d62c1bcc5cfbd0564a1a06a7c7c67..db3ab6ffd2337ce02d38a3f97089dde930d0f709 100644
--- a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeCatalystActivityParserTest.java
+++ b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeCatalystActivityParserTest.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.reactome.xml;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -15,7 +15,7 @@ import lcsb.mapviewer.reactome.model.ReactomeCatalystActivity;
 import lcsb.mapviewer.reactome.model.ReactomeStatus;
 
 public class ReactomeCatalystActivityParserTest extends ReactomeTestFunctions {
-	Logger												 logger	= Logger.getLogger(ReactomeCatalystActivityParserTest.class);
+	Logger												 logger	= LogManager.getLogger(ReactomeCatalystActivityParserTest.class);
 
 	@Autowired
 	ReactomeCatalystActivityParser parser;
diff --git a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeCompartmentParserTest.java b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeCompartmentParserTest.java
index 21936cfa6edfae9bbdb519d8d3894178d87c70f1..a4683364b20a0ee157688702ea2bf8c089198389 100644
--- a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeCompartmentParserTest.java
+++ b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeCompartmentParserTest.java
@@ -7,7 +7,7 @@ import lcsb.mapviewer.reactome.ReactomeTestFunctions;
 import lcsb.mapviewer.reactome.model.ReactomeCompartment;
 import lcsb.mapviewer.reactome.model.ReactomeStatus;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -15,7 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.w3c.dom.Document;
 
 public class ReactomeCompartmentParserTest extends ReactomeTestFunctions{
-	Logger logger = Logger.getLogger(ReactomeCompartmentParserTest.class);
+	Logger logger = LogManager.getLogger(ReactomeCompartmentParserTest.class);
 
 	@Autowired
 	ReactomeCompartmentParser parser = new ReactomeCompartmentParser();
diff --git a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeComplexParserTest.java b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeComplexParserTest.java
index 7b585e68431569edf3ab08e7baafd0b985ea42a9..e3d448b9daef1c4bb10f29984cfcffed03f02843 100644
--- a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeComplexParserTest.java
+++ b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeComplexParserTest.java
@@ -4,7 +4,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.fail;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -16,7 +16,7 @@ import lcsb.mapviewer.reactome.model.ReactomeComplex;
 import lcsb.mapviewer.reactome.model.ReactomeStatus;
 
 public class ReactomeComplexParserTest extends ReactomeTestFunctions {
-  Logger logger = Logger.getLogger(ReactomeComplexParserTest.class);
+  Logger logger = LogManager.getLogger(ReactomeComplexParserTest.class);
 
   @Autowired
   ReactomeComplexParser parser;
diff --git a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeDefinedSetParserTest.java b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeDefinedSetParserTest.java
index 8a46281582fbebd17df238fe8fffac21ef292e34..031e578d36ef4f2e686c4660904975ae33da288a 100644
--- a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeDefinedSetParserTest.java
+++ b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeDefinedSetParserTest.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.reactome.xml;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -15,7 +15,7 @@ import lcsb.mapviewer.reactome.model.ReactomeDefinedSet;
 import lcsb.mapviewer.reactome.model.ReactomeStatus;
 
 public class ReactomeDefinedSetParserTest extends ReactomeTestFunctions {
-  Logger logger = Logger.getLogger(ReactomeDefinedSetParserTest.class);
+  Logger logger = LogManager.getLogger(ReactomeDefinedSetParserTest.class);
 
   @Autowired
   ReactomeDefinedSetParser parser;
diff --git a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeDepolymerisationParserTest.java b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeDepolymerisationParserTest.java
index e76302fdabbed8b7a9f1b4ae07c24681311707f2..46a17bab8b39337f6338a31400beb47079523656 100644
--- a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeDepolymerisationParserTest.java
+++ b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeDepolymerisationParserTest.java
@@ -5,7 +5,7 @@ import static org.junit.Assert.fail;
 import lcsb.mapviewer.reactome.ReactomeTestFunctions;
 import lcsb.mapviewer.reactome.model.ReactomeDepolymerisation;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -13,7 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.w3c.dom.Document;
 
 public class ReactomeDepolymerisationParserTest extends ReactomeTestFunctions{
-	Logger logger = Logger.getLogger(ReactomeDepolymerisationParserTest.class);
+	Logger logger = LogManager.getLogger(ReactomeDepolymerisationParserTest.class);
 
 	@Autowired
 	ReactomeDepolymerisationParser parser ;
diff --git a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeDiseaseParserTest.java b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeDiseaseParserTest.java
index 3c2c8dacc6136b623182e495351ad1b5848fff8b..91706e1f261f37f407fb1bc42042b1b37555952f 100644
--- a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeDiseaseParserTest.java
+++ b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeDiseaseParserTest.java
@@ -6,7 +6,7 @@ import static org.junit.Assert.fail;
 import lcsb.mapviewer.reactome.ReactomeTestFunctions;
 import lcsb.mapviewer.reactome.model.ReactomeDisease;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -14,7 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.w3c.dom.Document;
 
 public class ReactomeDiseaseParserTest extends ReactomeTestFunctions{
-	Logger logger = Logger.getLogger(ReactomeDiseaseParserTest.class);
+	Logger logger = LogManager.getLogger(ReactomeDiseaseParserTest.class);
 
 	@Autowired
 	ReactomeDiseaseParser parser ;
diff --git a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeEntityCompartmentParserTest.java b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeEntityCompartmentParserTest.java
index c313365fb718f24f94203b923344aa4c3946ee55..c986b721b0f7802f12c46e2ec152cfb362647830 100644
--- a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeEntityCompartmentParserTest.java
+++ b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeEntityCompartmentParserTest.java
@@ -7,7 +7,7 @@ import lcsb.mapviewer.reactome.ReactomeTestFunctions;
 import lcsb.mapviewer.reactome.model.ReactomeEntityCompartment;
 import lcsb.mapviewer.reactome.model.ReactomeStatus;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -15,7 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.w3c.dom.Document;
 
 public class ReactomeEntityCompartmentParserTest extends ReactomeTestFunctions{
-	Logger logger = Logger.getLogger(ReactomeEntityCompartmentParserTest.class);
+	Logger logger = LogManager.getLogger(ReactomeEntityCompartmentParserTest.class);
 
 
 	@Autowired
diff --git a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeFigureParserTest.java b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeFigureParserTest.java
index 7c7d85187043feb137640f84d6de49fca9f48846..f8d59e2e9f3c16e2cb009921649e9c740404bddd 100644
--- a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeFigureParserTest.java
+++ b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeFigureParserTest.java
@@ -7,7 +7,7 @@ import lcsb.mapviewer.reactome.ReactomeTestFunctions;
 import lcsb.mapviewer.reactome.model.ReactomeFigure;
 import lcsb.mapviewer.reactome.model.ReactomeStatus;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -15,7 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.w3c.dom.Document;
 
 public class ReactomeFigureParserTest extends ReactomeTestFunctions{
-	Logger logger = Logger.getLogger(ReactomeFigureParserTest.class);
+	Logger logger = LogManager.getLogger(ReactomeFigureParserTest.class);
 
 	@Autowired
 	ReactomeFigureParser parser ;
diff --git a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeGenomeEncodedEntityParserTest.java b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeGenomeEncodedEntityParserTest.java
index 9a4bf5a13be967daec8feca01314afcf1191695a..5c3997230b5bfc0bcd29c84431623c4edc855955 100644
--- a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeGenomeEncodedEntityParserTest.java
+++ b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeGenomeEncodedEntityParserTest.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.reactome.xml;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -15,7 +15,7 @@ import lcsb.mapviewer.reactome.model.ReactomeGenomeEncodedEntity;
 import lcsb.mapviewer.reactome.model.ReactomeStatus;
 
 public class ReactomeGenomeEncodedEntityParserTest extends ReactomeTestFunctions {
-  Logger logger = Logger.getLogger(ReactomeGenomeEncodedEntityParserTest.class);
+  Logger logger = LogManager.getLogger(ReactomeGenomeEncodedEntityParserTest.class);
 
   @Autowired
   ReactomeGenomeEncodedEntityParser parser = new ReactomeGenomeEncodedEntityParser();
diff --git a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeGoBiologicalProcessParserTest.java b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeGoBiologicalProcessParserTest.java
index 8f034f5ece3882774e624c3797f9eaf2f59654d5..467abedbe8d107895222f48f53a6a80282fb458c 100644
--- a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeGoBiologicalProcessParserTest.java
+++ b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeGoBiologicalProcessParserTest.java
@@ -7,7 +7,7 @@ import lcsb.mapviewer.reactome.ReactomeTestFunctions;
 import lcsb.mapviewer.reactome.model.ReactomeGoBiologicalProcess;
 import lcsb.mapviewer.reactome.model.ReactomeStatus;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -15,7 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.w3c.dom.Document;
 
 public class ReactomeGoBiologicalProcessParserTest extends ReactomeTestFunctions{
-	Logger logger = Logger.getLogger(ReactomeGoBiologicalProcessParserTest.class);
+	Logger logger = LogManager.getLogger(ReactomeGoBiologicalProcessParserTest.class);
 
 	@Autowired
 	ReactomeGoBiologicalProcessParser parser = new ReactomeGoBiologicalProcessParser();
diff --git a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeGoMolecularFunctionParserTest.java b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeGoMolecularFunctionParserTest.java
index 5d842937e49f6311e3d3558e2ea9a34f9081e237..05bb1e9543823ca4346f91e10bcfcb9cc51e3aa9 100644
--- a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeGoMolecularFunctionParserTest.java
+++ b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeGoMolecularFunctionParserTest.java
@@ -7,7 +7,7 @@ import lcsb.mapviewer.reactome.ReactomeTestFunctions;
 import lcsb.mapviewer.reactome.model.ReactomeGoMolecularFunction;
 import lcsb.mapviewer.reactome.model.ReactomeStatus;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -15,7 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.w3c.dom.Document;
 
 public class ReactomeGoMolecularFunctionParserTest extends ReactomeTestFunctions {
-	Logger															logger	= Logger.getLogger(ReactomeGoMolecularFunctionParserTest.class);
+	Logger															logger	= LogManager.getLogger(ReactomeGoMolecularFunctionParserTest.class);
 
 	@Autowired
 	ReactomeGoMolecularFunctionParser	parser;
diff --git a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeInstanceEditParserTest.java b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeInstanceEditParserTest.java
index 628e25a3c81b7125e9eec44ac2abb866ee8e44ee..43779452ca8341802f454a61e2098ec203bdca41 100644
--- a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeInstanceEditParserTest.java
+++ b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeInstanceEditParserTest.java
@@ -9,7 +9,7 @@ import lcsb.mapviewer.reactome.ReactomeTestFunctions;
 import lcsb.mapviewer.reactome.model.ReactomeInstanceEdit;
 import lcsb.mapviewer.reactome.model.ReactomeStatus;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -17,7 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.w3c.dom.Document;
 
 public class ReactomeInstanceEditParserTest extends ReactomeTestFunctions{
-	Logger logger = Logger.getLogger(ReactomeInstanceEditParserTest.class);
+	Logger logger = LogManager.getLogger(ReactomeInstanceEditParserTest.class);
 
 	@Autowired
 	ReactomeInstanceEditParser parser ;
diff --git a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeLiteratureReferenceParserTest.java b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeLiteratureReferenceParserTest.java
index ffff51ff4072052c46ed15586cb141248f82b31a..f645aa78dee35eb79fd0e5a854269d806d422d0c 100644
--- a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeLiteratureReferenceParserTest.java
+++ b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeLiteratureReferenceParserTest.java
@@ -7,7 +7,7 @@ import lcsb.mapviewer.reactome.ReactomeTestFunctions;
 import lcsb.mapviewer.reactome.model.ReactomeLiteratureReference;
 import lcsb.mapviewer.reactome.model.ReactomeStatus;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -15,7 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.w3c.dom.Document;
 
 public class ReactomeLiteratureReferenceParserTest extends ReactomeTestFunctions {
-	Logger														logger	= Logger.getLogger(ReactomeLiteratureReferenceParserTest.class);
+	Logger														logger	= LogManager.getLogger(ReactomeLiteratureReferenceParserTest.class);
 
 	@Autowired
 	ReactomeLiteratureReferenceParser	parser;
diff --git a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeOtherEntityParserTest.java b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeOtherEntityParserTest.java
index ebffa145ef3a45c62cd70bd8ff1af363cd36e5fe..e3ec24f0e408d1af7893bbc8f3d59a169d13fdc0 100644
--- a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeOtherEntityParserTest.java
+++ b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeOtherEntityParserTest.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.reactome.xml;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -15,7 +15,7 @@ import lcsb.mapviewer.reactome.model.ReactomeOtherEntity;
 import lcsb.mapviewer.reactome.model.ReactomeStatus;
 
 public class ReactomeOtherEntityParserTest extends ReactomeTestFunctions {
-	Logger										logger = Logger.getLogger(ReactomeOtherEntityParserTest.class);
+	Logger										logger = LogManager.getLogger(ReactomeOtherEntityParserTest.class);
 
 	@Autowired
 	ReactomeOtherEntityParser	parser;
diff --git a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomePathwayParserTest.java b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomePathwayParserTest.java
index 39ccd8999b067c2c1b112350d281f3c28f038a78..4a0670d5ceb6e927dcccd165dd77feabf2633834 100644
--- a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomePathwayParserTest.java
+++ b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomePathwayParserTest.java
@@ -4,7 +4,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.fail;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -16,7 +16,7 @@ import lcsb.mapviewer.reactome.model.ReactomePathway;
 import lcsb.mapviewer.reactome.model.ReactomeStatus;
 
 public class ReactomePathwayParserTest extends ReactomeTestFunctions {
-  Logger logger = Logger.getLogger(ReactomePathwayParserTest.class);
+  Logger logger = LogManager.getLogger(ReactomePathwayParserTest.class);
 
   @Autowired
   ReactomePathwayParser parser;
diff --git a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomePersonParserTest.java b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomePersonParserTest.java
index 567dd6d466b359d39af93bfd4b6a6fd72b094071..8bf3296f85e726b1b0e80d8527c5798da36c0ac2 100644
--- a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomePersonParserTest.java
+++ b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomePersonParserTest.java
@@ -7,7 +7,7 @@ import lcsb.mapviewer.reactome.ReactomeTestFunctions;
 import lcsb.mapviewer.reactome.model.ReactomePerson;
 import lcsb.mapviewer.reactome.model.ReactomeStatus;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -15,7 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.w3c.dom.Document;
 
 public class ReactomePersonParserTest extends ReactomeTestFunctions {
-	Logger								logger	= Logger.getLogger(ReactomePersonParserTest.class);
+	Logger								logger	= LogManager.getLogger(ReactomePersonParserTest.class);
 
 	@Autowired
 	ReactomePersonParser	parser	= new ReactomePersonParser();
diff --git a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomePolymerParserTest.java b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomePolymerParserTest.java
index a5ddd6fefb8f4b09208411fdf2b36b293f021044..376dbf0949389fbb02eb9e0c0def750e05ad8953 100644
--- a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomePolymerParserTest.java
+++ b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomePolymerParserTest.java
@@ -7,7 +7,7 @@ import lcsb.mapviewer.reactome.ReactomeTestFunctions;
 import lcsb.mapviewer.reactome.model.ReactomePolymer;
 import lcsb.mapviewer.reactome.model.ReactomeStatus;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -15,7 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.w3c.dom.Document;
 
 public class ReactomePolymerParserTest extends ReactomeTestFunctions{
-	Logger logger = Logger.getLogger(ReactomePolymerParserTest.class);
+	Logger logger = LogManager.getLogger(ReactomePolymerParserTest.class);
 
 	@Autowired
 	ReactomePolymerParser parser ;
diff --git a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeReactionParserTest.java b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeReactionParserTest.java
index 32a7e71336dbdb2d5bfe955c2cd4f4387d2c6ee0..66a1776b92d3eb6bbc8b3a734ab1bc6e4f12157b 100644
--- a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeReactionParserTest.java
+++ b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeReactionParserTest.java
@@ -6,7 +6,7 @@ import lcsb.mapviewer.reactome.ReactomeTestFunctions;
 import lcsb.mapviewer.reactome.model.ReactomeReaction;
 import lcsb.mapviewer.reactome.model.ReactomeStatus;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -14,7 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.w3c.dom.Document;
 
 public class ReactomeReactionParserTest extends ReactomeTestFunctions {
-	Logger									logger	= Logger.getLogger(ReactomeReactionParserTest.class);
+	Logger									logger	= LogManager.getLogger(ReactomeReactionParserTest.class);
 
 	@Autowired
 	ReactomeReactionParser	parser	= new ReactomeReactionParser();
diff --git a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeReferenceDatabaseParserTest.java b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeReferenceDatabaseParserTest.java
index d43056899ff72f18819710521523d66f2f89a9e2..bfda02f50da1086ca905a590b7e6d7066a11c60d 100644
--- a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeReferenceDatabaseParserTest.java
+++ b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeReferenceDatabaseParserTest.java
@@ -7,7 +7,7 @@ import lcsb.mapviewer.reactome.ReactomeTestFunctions;
 import lcsb.mapviewer.reactome.model.ReactomeReferenceDatabase;
 import lcsb.mapviewer.reactome.model.ReactomeStatus;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -15,7 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.w3c.dom.Document;
 
 public class ReactomeReferenceDatabaseParserTest extends ReactomeTestFunctions {
-	Logger													logger	= Logger.getLogger(ReactomeReferenceDatabaseParserTest.class);
+	Logger													logger	= LogManager.getLogger(ReactomeReferenceDatabaseParserTest.class);
 
 	@Autowired
 	ReactomeReferenceDatabaseParser	parser	= new ReactomeReferenceDatabaseParser();
diff --git a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeReferenceGeneProductParserTest.java b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeReferenceGeneProductParserTest.java
index 2c51193790a348d9229da562ba4b1413212b49dc..486ffb0b8a036e53762b2f1b4f282a71dc7f88e0 100644
--- a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeReferenceGeneProductParserTest.java
+++ b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeReferenceGeneProductParserTest.java
@@ -6,7 +6,7 @@ import lcsb.mapviewer.reactome.ReactomeTestFunctions;
 import lcsb.mapviewer.reactome.model.ReactomeReferenceGeneProduct;
 import lcsb.mapviewer.reactome.model.ReactomeStatus;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -14,7 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.w3c.dom.Document;
 
 public class ReactomeReferenceGeneProductParserTest extends ReactomeTestFunctions {
-  Logger logger = Logger.getLogger(ReactomeReferenceGeneProductParserTest.class);
+  Logger logger = LogManager.getLogger(ReactomeReferenceGeneProductParserTest.class);
 
   @Autowired
   ReactomeReferenceGeneProductParser parser = new ReactomeReferenceGeneProductParser();
diff --git a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeReferenceIsoformParserTest.java b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeReferenceIsoformParserTest.java
index fc18b30ee840e7c8a35747f728832f10c14a76e2..b4bfb7174ea8199b8966008c56a66c573fcfd1ce 100644
--- a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeReferenceIsoformParserTest.java
+++ b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeReferenceIsoformParserTest.java
@@ -6,7 +6,7 @@ import lcsb.mapviewer.reactome.ReactomeTestFunctions;
 import lcsb.mapviewer.reactome.model.ReactomeReferenceIsoform;
 import lcsb.mapviewer.reactome.model.ReactomeStatus;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -14,7 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.w3c.dom.Document;
 
 public class ReactomeReferenceIsoformParserTest extends ReactomeTestFunctions {
-	Logger													logger	= Logger.getLogger(ReactomeReferenceIsoformParserTest.class);
+	Logger													logger	= LogManager.getLogger(ReactomeReferenceIsoformParserTest.class);
 
 	@Autowired
 	ReactomeReferenceIsoformParser	parser;
diff --git a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeReferenceMoleculeParserTest.java b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeReferenceMoleculeParserTest.java
index 855afc273967ff62cad7f9c3e845a8be14cc5b5c..f27f8ad788149845634dc76d5b04cc9deb26496f 100644
--- a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeReferenceMoleculeParserTest.java
+++ b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeReferenceMoleculeParserTest.java
@@ -7,7 +7,7 @@ import lcsb.mapviewer.reactome.ReactomeTestFunctions;
 import lcsb.mapviewer.reactome.model.ReactomeReferenceMolecule;
 import lcsb.mapviewer.reactome.model.ReactomeStatus;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -15,7 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.w3c.dom.Document;
 
 public class ReactomeReferenceMoleculeParserTest extends ReactomeTestFunctions {
-	Logger													logger	= Logger.getLogger(ReactomeReferenceMoleculeParserTest.class);
+	Logger													logger	= LogManager.getLogger(ReactomeReferenceMoleculeParserTest.class);
 
 	@Autowired
 	ReactomeReferenceMoleculeParser	parser;
diff --git a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeSequenceDomainParserTest.java b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeSequenceDomainParserTest.java
index 32ada03a07c88061746f5c489939b3bbe959f2a4..50c3ec61746e6d4314d35a04026311bcf040dc74 100644
--- a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeSequenceDomainParserTest.java
+++ b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeSequenceDomainParserTest.java
@@ -5,7 +5,7 @@ import static org.junit.Assert.assertNotNull;
 import lcsb.mapviewer.reactome.ReactomeTestFunctions;
 import lcsb.mapviewer.reactome.model.ReactomeSequenceDomain;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -13,7 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.w3c.dom.Document;
 
 public class ReactomeSequenceDomainParserTest extends ReactomeTestFunctions {
-	Logger												logger	= Logger.getLogger(ReactomeSequenceDomainParserTest.class);
+	Logger												logger	= LogManager.getLogger(ReactomeSequenceDomainParserTest.class);
 
 	@Autowired
 	ReactomeSequenceDomainParser	parser	;
diff --git a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeSimpleEntityParserTest.java b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeSimpleEntityParserTest.java
index 9e6e0427d0a9fa79888ff3c56d370c50cfaea73d..ca16598d8db6244e719a0ea940a6b1f31ff38487 100644
--- a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeSimpleEntityParserTest.java
+++ b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeSimpleEntityParserTest.java
@@ -7,7 +7,7 @@ import lcsb.mapviewer.reactome.ReactomeTestFunctions;
 import lcsb.mapviewer.reactome.model.ReactomeSimpleEntity;
 import lcsb.mapviewer.reactome.model.ReactomeStatus;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -15,7 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.w3c.dom.Document;
 
 public class ReactomeSimpleEntityParserTest extends ReactomeTestFunctions {
-	Logger											logger	= Logger.getLogger(ReactomeSimpleEntityParserTest.class);
+	Logger											logger	= LogManager.getLogger(ReactomeSimpleEntityParserTest.class);
 
 	@Autowired
 	ReactomeSimpleEntityParser	parser;
diff --git a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeSpeciesParserTest.java b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeSpeciesParserTest.java
index ab929896f2a9ccfa6ad74cd9e54118908b6c9247..98ced3fd93061df7fa808c7f9e9620fbb4a7cc91 100644
--- a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeSpeciesParserTest.java
+++ b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeSpeciesParserTest.java
@@ -7,7 +7,7 @@ import lcsb.mapviewer.reactome.ReactomeTestFunctions;
 import lcsb.mapviewer.reactome.model.ReactomeSpecies;
 import lcsb.mapviewer.reactome.model.ReactomeStatus;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -15,7 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.w3c.dom.Document;
 
 public class ReactomeSpeciesParserTest extends ReactomeTestFunctions{
-	Logger logger = Logger.getLogger(ReactomeSpeciesParserTest.class);
+	Logger logger = LogManager.getLogger(ReactomeSpeciesParserTest.class);
 
 	@Autowired
 	ReactomeSpeciesParser parser ;
diff --git a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeStableIdentifierParserTest.java b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeStableIdentifierParserTest.java
index 3198fbb14865a4d5a0bbc0778d28946e2450aaeb..c906830faa3c5531e2813ae7a8738cb05dc4af48 100644
--- a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeStableIdentifierParserTest.java
+++ b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeStableIdentifierParserTest.java
@@ -6,7 +6,7 @@ import static org.junit.Assert.fail;
 import lcsb.mapviewer.reactome.ReactomeTestFunctions;
 import lcsb.mapviewer.reactome.model.ReactomeStableIdentifier;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -14,7 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.w3c.dom.Document;
 
 public class ReactomeStableIdentifierParserTest extends ReactomeTestFunctions {
-	Logger													logger	= Logger.getLogger(ReactomeStableIdentifierParserTest.class);
+	Logger													logger	= LogManager.getLogger(ReactomeStableIdentifierParserTest.class);
 
 	@Autowired
 	ReactomeStableIdentifierParser	parser;
diff --git a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeSummationParserTest.java b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeSummationParserTest.java
index 176eed691e3c7c5ae64fba0310bf188fb28527c2..ec5a3822337324ccd1d2ce79e4c5857ba3f09e1d 100644
--- a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeSummationParserTest.java
+++ b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeSummationParserTest.java
@@ -7,7 +7,7 @@ import lcsb.mapviewer.reactome.ReactomeTestFunctions;
 import lcsb.mapviewer.reactome.model.ReactomeStatus;
 import lcsb.mapviewer.reactome.model.ReactomeSummation;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -15,7 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.w3c.dom.Document;
 
 public class ReactomeSummationParserTest extends ReactomeTestFunctions {
-	Logger									logger	= Logger.getLogger(ReactomeSummationParserTest.class);
+	Logger									logger	= LogManager.getLogger(ReactomeSummationParserTest.class);
 
 	@Autowired
 	ReactomeSummationParser	parser;
diff --git a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeURLParserTest.java b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeURLParserTest.java
index 66bcc28bc180c70b448db5ff42d446e97eac4cf6..27ec04b00e07b55feb3031e368a3f16b916091c3 100644
--- a/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeURLParserTest.java
+++ b/reactome/src/test/java/lcsb/mapviewer/reactome/xml/ReactomeURLParserTest.java
@@ -7,7 +7,7 @@ import lcsb.mapviewer.reactome.ReactomeTestFunctions;
 import lcsb.mapviewer.reactome.model.ReactomeStatus;
 import lcsb.mapviewer.reactome.model.ReactomeURL;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -15,7 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.w3c.dom.Document;
 
 public class ReactomeURLParserTest extends ReactomeTestFunctions {
-	Logger						logger	= Logger.getLogger(ReactomeURLParserTest.class);
+	Logger						logger	= LogManager.getLogger(ReactomeURLParserTest.class);
 
 	@Autowired
 	ReactomeURLParser	parser;
diff --git a/reactome/src/test/resources/log4j.properties b/reactome/src/test/resources/log4j.properties
deleted file mode 100644
index 5f361d3bfa44174ff3eb6dd785d238f544ecb678..0000000000000000000000000000000000000000
--- a/reactome/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-#Set root logger 's level and its appender to an appender called CONSOLE which is defined below.
-log4j.rootLogger=info, CONSOLE
-
-#Set the behavior of the CONSOLE appender 
-log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
-log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
-log4j.appender.CONSOLE.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-#log4j.appender.CONSOLE.layout.ConversionPattern=%m%n
-
-
-#Set the behavior of the FILE appender 
-log4j.appender.R=org.apache.log4j.FileAppender
-log4j.appender.R.File=${catalina.home}/logs/MapViewer.log
-log4j.appender.R.layout=org.apache.log4j.PatternLayout
-log4j.appender.R.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-
-
-log4j.logger.org.springframework=warn
-log4j.logger.org.hibernate=warn
-log4j.logger.lcsb=debug
-log4j.logger.lcsb.mapviewer.persist.DbUtils=info
-log4j.logger.lcsb.mapviewer.annotation.cache.PermanentDatabaseLevelCache=info
-
-log4j.logger.lcsb.mapviewer.reactome.utils.ReactomeConnector=info
\ No newline at end of file
diff --git a/reactome/src/test/resources/log4j2.properties b/reactome/src/test/resources/log4j2.properties
new file mode 100644
index 0000000000000000000000000000000000000000..b5eaa32682d177bf266eb6ed4831b4e8f4b9135d
--- /dev/null
+++ b/reactome/src/test/resources/log4j2.properties
@@ -0,0 +1,25 @@
+rootLogger.level = INFO
+appenders = console
+
+appender.console.type = Console
+appender.console.name = STDOUT
+appender.console.layout.type = PatternLayout
+appender.console.layout.pattern = %d %5p [%t] (%F:%L) - %m%n
+
+rootLogger.appenderRefs = console
+
+rootLogger.appenderRef.console.ref = STDOUT
+
+logger.minerva.name = lcsb
+logger.minerva.level = debug
+logger.minerva-persist.name = lcsb.mapviewer.persist.DbUtils
+logger.minerva-persist.level = info
+logger.minerva-cache.name = lcsb.mapviewer.annotation.cache
+logger.minerva-cache.level = info
+
+
+logger.springframework.name = org.springframework
+logger.springframework.level = warn
+
+logger.hibernate.name = org.hibernate
+logger.hibernate.level = warn
diff --git a/rest-api/bin/.project b/rest-api/bin/.project
deleted file mode 100644
index e1a0a0b0429c22b142303481a7f1acc269891943..0000000000000000000000000000000000000000
--- a/rest-api/bin/.project
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>MapViewer-rest-api</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.wst.common.project.facet.core.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.wst.validation.validationbuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.m2e.core.maven2Builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
-		<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.m2e.core.maven2Nature</nature>
-		<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
-		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
-	</natures>
-</projectDescription>
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/BaseController.java b/rest-api/src/main/java/lcsb/mapviewer/api/BaseController.java
index 7bc7a6182d8300741589675c677f06342c3be029..d81c965c5fbd82a2e87a1de494af62fde927b9c6 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/BaseController.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/BaseController.java
@@ -6,7 +6,7 @@ import java.net.URLDecoder;
 import java.util.TreeMap;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
@@ -24,7 +24,7 @@ import lcsb.mapviewer.common.Configuration;
 import lcsb.mapviewer.common.exception.InvalidStateException;
 
 public abstract class BaseController {
-  private Logger logger = Logger.getLogger(BaseController.class);
+  private Logger logger = LogManager.getLogger(BaseController.class);
 
   private ObjectMapper mapper = new ObjectMapper();
 
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/BaseRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/BaseRestImpl.java
index a25d85de5b336ded45bbf38c621bb4a743ce4597..c37806d7a5c9c6cc210b1d9b1f7b7644acb861b7 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/BaseRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/BaseRestImpl.java
@@ -22,7 +22,7 @@ import javax.xml.transform.stream.StreamResult;
 import javax.xml.transform.stream.StreamSource;
 
 import org.apache.commons.lang3.math.NumberUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.io.ClassPathResource;
 import org.springframework.core.io.Resource;
@@ -65,7 +65,7 @@ public abstract class BaseRestImpl {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(BaseRestImpl.class);
+  private static Logger logger = LogManager.getLogger(BaseRestImpl.class);
 
   @Autowired
   private IModelService modelService;
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/ElementIdentifierType.java b/rest-api/src/main/java/lcsb/mapviewer/api/ElementIdentifierType.java
index 6f68907e4cf1ee60e267d782aa25e3327e5361cd..5bae9785dde79907d4950770b4af0f72dc3ae375 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/ElementIdentifierType.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/ElementIdentifierType.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.api;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * Enum identifying type of {@link ElementIdentifier}.
@@ -30,7 +30,7 @@ public enum ElementIdentifierType {
    */
   private String jsName;
 
-  private static Logger logger = Logger.getLogger(ElementIdentifierType.class);
+  private static Logger logger = LogManager.getLogger(ElementIdentifierType.class);
 
   /**
    * Constructor initializing enum type.
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/configuration/ConfigurationRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/configuration/ConfigurationRestImpl.java
index 326e146520f042e5f901211200d4c09a4576e18b..ddc14e7cb4d95e286be5505e841211c20d04d331 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/configuration/ConfigurationRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/configuration/ConfigurationRestImpl.java
@@ -9,7 +9,7 @@ import java.util.Queue;
 import java.util.Set;
 import java.util.TreeMap;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -48,7 +48,7 @@ public class ConfigurationRestImpl extends BaseRestImpl {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(ConfigurationRestImpl.class);
+  private Logger logger = LogManager.getLogger(ConfigurationRestImpl.class);
 
   private IConfigurationService configurationService;
 
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/convert/ConvertController.java b/rest-api/src/main/java/lcsb/mapviewer/api/convert/ConvertController.java
index 4fb92cf8f2349b3ab713bc69299f3ea8aa53873d..0920cee82d1d6fde69bc0c9bf9e7919e232ddfc3 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/convert/ConvertController.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/convert/ConvertController.java
@@ -6,7 +6,7 @@ import java.util.Map;
 
 import javax.xml.stream.XMLStreamException;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.sbml.jsbml.SBMLException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.MediaType;
@@ -32,7 +32,7 @@ import lcsb.mapviewer.services.SecurityException;
 @RestController
 public class ConvertController extends BaseController {
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(ConvertController.class);
+  private Logger logger = LogManager.getLogger(ConvertController.class);
 
   @Autowired
   private ConvertRestImpl convertController;
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/convert/ConvertRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/convert/ConvertRestImpl.java
index c68685a48b43bf748772b971a11223a15fd3f542..729750cb02d02149128eefc9ac6306130c0ef06d 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/convert/ConvertRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/convert/ConvertRestImpl.java
@@ -14,7 +14,7 @@ import java.util.Map;
 import javax.xml.stream.XMLStreamException;
 
 import org.apache.commons.io.IOUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.sbml.jsbml.SBMLException;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -38,7 +38,7 @@ import lcsb.mapviewer.services.SecurityException;
 public class ConvertRestImpl extends BaseRestImpl {
 	
 	  @SuppressWarnings("unused")
-	  private Logger logger = Logger.getLogger(ConvertRestImpl.class);
+	  private Logger logger = LogManager.getLogger(ConvertRestImpl.class);
 
 
   public String convert(String token, String fromFormat, String toFormat, String input)
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/files/FileController.java b/rest-api/src/main/java/lcsb/mapviewer/api/files/FileController.java
index 8a95cd8032996ecbeb2bd9c2b2c3257bed0a38b7..fc596cbfbd9106833a0b18dc3349c2c6a4213023 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/files/FileController.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/files/FileController.java
@@ -2,7 +2,7 @@ package lcsb.mapviewer.api.files;
 
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.CookieValue;
@@ -24,7 +24,7 @@ public class FileController extends BaseController {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(FileController.class);
+  private Logger logger = LogManager.getLogger(FileController.class);
 
   @Autowired
   private FileRestImpl fileRest;
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/genomics/ReferenceGenomeRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/genomics/ReferenceGenomeRestImpl.java
index bcc6152d61139ae1b1d5d9f3734ad6016864a259..2960bb7cce4abc8f3e9c200554ce67112d84f383 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/genomics/ReferenceGenomeRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/genomics/ReferenceGenomeRestImpl.java
@@ -11,7 +11,7 @@ import java.util.Map;
 import java.util.Set;
 import java.util.TreeMap;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -41,7 +41,7 @@ public class ReferenceGenomeRestImpl extends BaseRestImpl {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(ReferenceGenomeRestImpl.class);
+  private Logger logger = LogManager.getLogger(ReferenceGenomeRestImpl.class);
 
   /**
    * Service that manages reference genomes.
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/mesh/MeshController.java b/rest-api/src/main/java/lcsb/mapviewer/api/mesh/MeshController.java
index 01a0398920a46d55d4f40859790108f8050d8b31..14fd2410b8fd577ff554ae5656f33bd3825ad464 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/mesh/MeshController.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/mesh/MeshController.java
@@ -2,7 +2,7 @@ package lcsb.mapviewer.api.mesh;
 
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.CookieValue;
@@ -20,7 +20,7 @@ public class MeshController extends BaseController {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(MeshController.class);
+  private Logger logger = LogManager.getLogger(MeshController.class);
 
   @Autowired
   private MeshRestImpl meshRest;
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/mesh/MeshRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/mesh/MeshRestImpl.java
index aaa88ae16563e4e1c0bc89aaeb33aad196ac2340..2cbe5cf51c39aa58f083bf7bdda735b2526a2781 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/mesh/MeshRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/mesh/MeshRestImpl.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.api.mesh;
 import java.util.TreeMap;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -24,7 +24,7 @@ public class MeshRestImpl extends BaseRestImpl {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(MeshRestImpl.class);
+  private Logger logger = LogManager.getLogger(MeshRestImpl.class);
 
   private MeSHParser meSHParser;
 
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/minervanet/MinervaNetController.java b/rest-api/src/main/java/lcsb/mapviewer/api/minervanet/MinervaNetController.java
index ed0b054a9da14866e0f2d5adb08efe8a65baef25..d6d1a46a1b0be4e36624ecf93f5559a9f6c76ab7 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/minervanet/MinervaNetController.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/minervanet/MinervaNetController.java
@@ -12,7 +12,7 @@ import org.apache.http.entity.StringEntity;
 import org.apache.http.impl.client.CloseableHttpClient;
 import org.apache.http.impl.client.HttpClientBuilder;
 import org.apache.http.util.EntityUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -23,7 +23,7 @@ import java.io.IOException;
 @RequestMapping("/minervanet")
 public class MinervaNetController {
 
-  private Logger logger = Logger.getLogger(MinervaNetController.class);
+  private Logger logger = LogManager.getLogger(MinervaNetController.class);
 
   private ServletContext context;
   private IConfigurationService configurationService;
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/plugins/PluginController.java b/rest-api/src/main/java/lcsb/mapviewer/api/plugins/PluginController.java
index c7f87d233288000472b3ffaee5c1aad43a5f13e1..b8da4162f1893438380b268ea1612c29801559e5 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/plugins/PluginController.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/plugins/PluginController.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.api.plugins;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.CookieValue;
@@ -24,7 +24,7 @@ public class PluginController extends BaseController {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(PluginController.class);
+  private Logger logger = LogManager.getLogger(PluginController.class);
 
   @Autowired
   private PluginRestImpl pluginRest;
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/projects/ProjectController.java b/rest-api/src/main/java/lcsb/mapviewer/api/projects/ProjectController.java
index e054daf40e99196b5fd75867b4fec24d03da8e99..7a992ef050baa3eef23e697645153fc98712be3e 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/projects/ProjectController.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/projects/ProjectController.java
@@ -6,7 +6,7 @@ import java.util.Map;
 
 import javax.servlet.ServletContext;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
@@ -29,7 +29,7 @@ import lcsb.mapviewer.services.SecurityException;
 @RestController
 public class ProjectController extends BaseController {
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(ProjectController.class);
+  private Logger logger = LogManager.getLogger(ProjectController.class);
 
   @Autowired
   private ServletContext context;
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/projects/ProjectRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/projects/ProjectRestImpl.java
index b16dad75a76f11def0be26bacc4585ab9e8f0c8e..1eccdc9861cc8488b6dc8a19f67a986b053d59bc 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/projects/ProjectRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/projects/ProjectRestImpl.java
@@ -14,7 +14,7 @@ import java.util.Map;
 import java.util.Set;
 import java.util.TreeMap;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.MultiValueMap;
@@ -67,7 +67,7 @@ public class ProjectRestImpl extends BaseRestImpl {
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(ProjectRestImpl.class);
+  private Logger logger = LogManager.getLogger(ProjectRestImpl.class);
 
   private PublicationsRestImpl publicationsRestImpl;
 
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/projects/chemicals/ChemicalRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/projects/chemicals/ChemicalRestImpl.java
index a25c4705d9341a353dbee66f194c5b08cdf95c3b..fc0af1cc05803710666220c9301d03eb9aacadc3 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/projects/chemicals/ChemicalRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/projects/chemicals/ChemicalRestImpl.java
@@ -7,7 +7,7 @@ import java.util.Map;
 import java.util.Set;
 import java.util.TreeMap;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -37,7 +37,7 @@ public class ChemicalRestImpl extends BaseRestImpl {
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(ChemicalRestImpl.class);
+  private Logger logger = LogManager.getLogger(ChemicalRestImpl.class);
 
   private IChemicalService chemicalService;
 
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/projects/comments/CommentRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/projects/comments/CommentRestImpl.java
index 726745ab0e8360717589bbddb443725fdb414dbe..cf686524242156b29e331e0367b67568a1527459 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/projects/comments/CommentRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/projects/comments/CommentRestImpl.java
@@ -8,7 +8,7 @@ import java.util.Map;
 import java.util.Set;
 import java.util.TreeMap;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -36,7 +36,7 @@ public class CommentRestImpl extends BaseRestImpl {
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(CommentRestImpl.class);
+  private Logger logger = LogManager.getLogger(CommentRestImpl.class);
 
   private ICommentService commentService;
 
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/projects/drugs/DrugRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/projects/drugs/DrugRestImpl.java
index 9d3dec397f67f295f313f64edf5db20defa85f20..e3730a42d3ddfe3ff1de4df08b79125ae35232a1 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/projects/drugs/DrugRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/projects/drugs/DrugRestImpl.java
@@ -7,7 +7,7 @@ import java.util.Map;
 import java.util.Set;
 import java.util.TreeMap;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -35,7 +35,7 @@ public class DrugRestImpl extends BaseRestImpl {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(DrugRestImpl.class);
+  private Logger logger = LogManager.getLogger(DrugRestImpl.class);
 
   private IDrugService drugService;
 
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/projects/mirnas/MiRnaRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/projects/mirnas/MiRnaRestImpl.java
index d829a1b63d0f3cd84ca85c7959ac7b9bc18fe7a7..a823842c1aa468dae742516dfd2e37644de9be89 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/projects/mirnas/MiRnaRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/projects/mirnas/MiRnaRestImpl.java
@@ -7,7 +7,7 @@ import java.util.Map;
 import java.util.Set;
 import java.util.TreeMap;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -35,7 +35,7 @@ public class MiRnaRestImpl extends BaseRestImpl {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(MiRnaRestImpl.class);
+  private Logger logger = LogManager.getLogger(MiRnaRestImpl.class);
 
   private IMiRNAService miRnaService;
 
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/ModelRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/ModelRestImpl.java
index 133f407c2fb7e45dc48667f19b8a87cdec98e501..789f997cf71fd886f7688fedb06f15821e99f1e5 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/ModelRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/ModelRestImpl.java
@@ -10,14 +10,15 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.LinkedHashSet;
 import java.util.LinkedHashMap;
+import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
 import org.apache.commons.io.IOUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -33,9 +34,8 @@ import lcsb.mapviewer.commands.CopyCommand;
 import lcsb.mapviewer.commands.SetFixedHierarchyLevelCommand;
 import lcsb.mapviewer.commands.SubModelCommand;
 import lcsb.mapviewer.common.Configuration;
-import lcsb.mapviewer.common.exception.InvalidArgumentException;
-import lcsb.mapviewer.converter.ConverterException;
 import lcsb.mapviewer.converter.Converter;
+import lcsb.mapviewer.converter.ConverterException;
 import lcsb.mapviewer.converter.graphics.AbstractImageGenerator.Params;
 import lcsb.mapviewer.converter.graphics.DrawingException;
 import lcsb.mapviewer.converter.graphics.ImageGenerators;
@@ -76,7 +76,7 @@ public class ModelRestImpl extends BaseRestImpl {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(ModelRestImpl.class);
+  private Logger logger = LogManager.getLogger(ModelRestImpl.class);
 
   @Autowired
   public ModelRestImpl(ILayoutService layoutService) {
@@ -224,7 +224,8 @@ public class ModelRestImpl extends BaseRestImpl {
       Layout overlay = layoutService.getLayoutById(Integer.parseInt(overlayId.trim()), token);
 
       ColorSchemaReader reader = new ColorSchemaReader();
-      Collection<ColorSchema> schemas = reader.readColorSchema(overlay.getInputData().getFileContent(), overlay.getColorSchemaType());
+      Collection<ColorSchema> schemas = reader.readColorSchema(overlay.getInputData().getFileContent(),
+          overlay.getColorSchemaType());
 
       new ColorModelCommand(part, schemas, getUserService().getColorExtractorForUser(user)).execute();
     }
@@ -314,7 +315,8 @@ public class ModelRestImpl extends BaseRestImpl {
     if (overlay != null) {
       if (overlay.getInputData() != null) {
         ColorSchemaReader reader = new ColorSchemaReader();
-        Collection<ColorSchema> schemas = reader.readColorSchema(overlay.getInputData().getFileContent(), overlay.getColorSchemaType());
+        Collection<ColorSchema> schemas = reader.readColorSchema(overlay.getInputData().getFileContent(),
+            overlay.getColorSchemaType());
 
         new ColorModelCommand(colorModel, schemas, getUserService().getColorExtractorForUser(user)).execute();
       } else if (overlay.getTitle().equals(BuildInLayout.CLEAN.getTitle())) {
@@ -364,17 +366,9 @@ public class ModelRestImpl extends BaseRestImpl {
 
     ColorExtractor colorExtractor = getUserService().getColorExtractorForUser(user);
 
-    Params params = new Params().
-        x(minX).
-        y(minY).
-        height((maxY - minY) / scale).
-        width((maxX - minX) / scale).
-        level(level - Configuration.MIN_ZOOM_LEVEL).
-        nested(false).// automatically set nested view as invalid
-        scale(scale).
-        colorExtractor(colorExtractor).
-        sbgn(topModel.getProject().isSbgnFormat()).
-        model(colorModel);
+    Params params = new Params().x(minX).y(minY).height((maxY - minY) / scale).width((maxX - minX) / scale)
+        .level(level - Configuration.MIN_ZOOM_LEVEL).nested(false).// automatically set nested view as invalid
+        scale(scale).colorExtractor(colorExtractor).sbgn(topModel.getProject().isSbgnFormat()).model(colorModel);
     if (overlay != null) {
       params.nested(overlay.isHierarchicalView());
     }
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/bioEntities/BioEntitiesRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/bioEntities/BioEntitiesRestImpl.java
index ebd835686028abae4c093ba0f31ed1d79d1c9446..5099fd046382e1f1cababe5982693665a7db9420 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/bioEntities/BioEntitiesRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/bioEntities/BioEntitiesRestImpl.java
@@ -7,7 +7,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -27,7 +27,7 @@ public class BioEntitiesRestImpl extends BaseRestImpl {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(BioEntitiesRestImpl.class);
+  private Logger logger = LogManager.getLogger(BioEntitiesRestImpl.class);
 
   private ISearchService searchService;
 
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/bioEntities/elements/ElementsRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/bioEntities/elements/ElementsRestImpl.java
index b16a777b8dd9b939ba514e1ef16e2de3414c6ad5..97ebe76f994650c673f99caa7aedec5ed63ad75c 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/bioEntities/elements/ElementsRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/bioEntities/elements/ElementsRestImpl.java
@@ -7,7 +7,7 @@ import java.util.Map;
 import java.util.Set;
 import java.util.TreeMap;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -45,7 +45,7 @@ public class ElementsRestImpl extends BaseRestImpl {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(ElementsRestImpl.class);
+  private Logger logger = LogManager.getLogger(ElementsRestImpl.class);
 
   public List<Map<String, Object>> getElements(String projectId, String id, String columns, String modelId,
       String token, String type, String includedCompartmentIds, String excludedCompartmentIds)
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/bioEntities/reactions/ReactionsRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/bioEntities/reactions/ReactionsRestImpl.java
index a548d87c23e90f3190c4aab32874b7ff513cb826..e1feb124487c1290fdc8defa31fc1fa0853b99f1 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/bioEntities/reactions/ReactionsRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/bioEntities/reactions/ReactionsRestImpl.java
@@ -12,7 +12,7 @@ import java.util.TreeMap;
 
 import javax.xml.transform.TransformerException;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -42,7 +42,7 @@ public class ReactionsRestImpl extends BaseRestImpl {
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(ReactionsRestImpl.class);
+  private Logger logger = LogManager.getLogger(ReactionsRestImpl.class);
 
   public ReactionsRestImpl() {
   }
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/functions/FunctionsRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/functions/FunctionsRestImpl.java
index 15861633c66bf8483ccaa066973af28c9dc7fd78..403b39d01be327bba06d0c69d055b0ce155b2dc3 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/functions/FunctionsRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/functions/FunctionsRestImpl.java
@@ -1,6 +1,7 @@
 package lcsb.mapviewer.api.projects.models.functions;
 
 import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
@@ -16,8 +17,8 @@ import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
 import javax.xml.xpath.XPathExpressionException;
 
-import org.apache.axis.utils.ByteArrayOutputStream;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.w3c.dom.Document;
@@ -41,7 +42,7 @@ public class FunctionsRestImpl extends BaseRestImpl {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(FunctionsRestImpl.class);
+  private Logger logger = LogManager.getLogger(FunctionsRestImpl.class);
 
   public Map<String, Object> getFunction(String projectId, String modelId, String token, String functionId)
       throws SecurityException, QueryException {
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/parameters/ParametersRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/parameters/ParametersRestImpl.java
index 46660fbed2905c37d2f0b057d87189ae3c504122..5e80baa5ad7e26526a0bd35207e35c4ded57eceb 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/parameters/ParametersRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/parameters/ParametersRestImpl.java
@@ -7,7 +7,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -27,7 +27,7 @@ public class ParametersRestImpl extends BaseRestImpl {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(ParametersRestImpl.class);
+  private Logger logger = LogManager.getLogger(ParametersRestImpl.class);
 
   public Map<String, Object> getParameter(String projectId, String modelId, String token, String parameterId)
       throws SecurityException, QueryException {
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/publications/PublicationsRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/publications/PublicationsRestImpl.java
index 6fa4406ef870369fff71405de599215cbd5874b1..68207a157d76691817c0a142d851872210df1a45 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/publications/PublicationsRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/publications/PublicationsRestImpl.java
@@ -12,7 +12,7 @@ import java.util.SortedMap;
 import java.util.TreeMap;
 
 import org.apache.commons.lang3.math.NumberUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -38,7 +38,7 @@ public class PublicationsRestImpl extends BaseRestImpl {
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(PublicationsRestImpl.class);
+  private Logger logger = LogManager.getLogger(PublicationsRestImpl.class);
 
   private ISearchService searchService;
 
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/units/UnitsRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/units/UnitsRestImpl.java
index 45f3c2bb1f71605a20a674e4a3c157ce0da447da..734fd4a81e84ed50f2a7978b4e0089ad40432f4f 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/units/UnitsRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/projects/models/units/UnitsRestImpl.java
@@ -5,7 +5,7 @@ import java.util.TreeMap;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -25,7 +25,7 @@ public class UnitsRestImpl extends BaseRestImpl {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(UnitsRestImpl.class);
+  private Logger logger = LogManager.getLogger(UnitsRestImpl.class);
 
   public Map<String, Object> getUnit(String projectId, String modelId, String token, String unitId)
       throws SecurityException, QueryException {
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/projects/overlays/OverlayController.java b/rest-api/src/main/java/lcsb/mapviewer/api/projects/overlays/OverlayController.java
index 39de15b080fd6d3f3b38b9c21dbb4387d0cb2072..c4392783624a015433421864b0e59136505f1adb 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/projects/overlays/OverlayController.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/projects/overlays/OverlayController.java
@@ -4,7 +4,7 @@ import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
@@ -32,7 +32,7 @@ public class OverlayController extends BaseController {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(OverlayController.class);
+  private Logger logger = LogManager.getLogger(OverlayController.class);
 
   @Autowired
   private OverlayRestImpl overlayRestImp;
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/projects/overlays/OverlayRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/projects/overlays/OverlayRestImpl.java
index 81d61309d3b1403d33b4cab62146ee5437f4fc32..73ba446fe789901742b1aebd38784dd7ef8d202e 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/projects/overlays/OverlayRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/projects/overlays/OverlayRestImpl.java
@@ -10,7 +10,8 @@ import java.util.List;
 import java.util.Map;
 import java.util.TreeMap;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -21,7 +22,6 @@ import lcsb.mapviewer.api.ObjectNotFoundException;
 import lcsb.mapviewer.api.QueryException;
 import lcsb.mapviewer.common.Configuration;
 import lcsb.mapviewer.common.Pair;
-import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.common.geometry.ColorParser;
 import lcsb.mapviewer.model.Project;
 import lcsb.mapviewer.model.cache.FileEntry;
@@ -52,7 +52,7 @@ public class OverlayRestImpl extends BaseRestImpl {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(OverlayRestImpl.class);
+  private Logger logger = LogManager.getLogger(OverlayRestImpl.class);
 
   private ILayoutService layoutService;
 
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/taxonomy/TaxonomyController.java b/rest-api/src/main/java/lcsb/mapviewer/api/taxonomy/TaxonomyController.java
index 246ea8bbf8dd60bbe96628778c76a784e1af7e5b..1bb4d2d5a2b34d688980d7fb571df882e3321faf 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/taxonomy/TaxonomyController.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/taxonomy/TaxonomyController.java
@@ -2,7 +2,7 @@ package lcsb.mapviewer.api.taxonomy;
 
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.CookieValue;
@@ -20,7 +20,7 @@ public class TaxonomyController extends BaseController {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(TaxonomyController.class);
+  private Logger logger = LogManager.getLogger(TaxonomyController.class);
 
   @Autowired
   private TaxonomyRestImpl taxonomyRest;
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/taxonomy/TaxonomyRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/taxonomy/TaxonomyRestImpl.java
index d4d65120ecaf0dd2f2241aca8245856d4aae7097..132866d86cab96a8ff3ce84c897e28da47237e24 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/taxonomy/TaxonomyRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/taxonomy/TaxonomyRestImpl.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.api.taxonomy;
 import java.util.Map;
 import java.util.TreeMap;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -23,7 +23,7 @@ public class TaxonomyRestImpl extends BaseRestImpl {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(TaxonomyRestImpl.class);
+  private Logger logger = LogManager.getLogger(TaxonomyRestImpl.class);
 
   private TaxonomyBackend taxonomyParser;
 
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/users/CustomAuthenticationProvider.java b/rest-api/src/main/java/lcsb/mapviewer/api/users/CustomAuthenticationProvider.java
index 84d2db69ce1aa77c926709be8784502f2b7349c4..d9066308e2b848fca43e6c5549b0015aacae0816 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/users/CustomAuthenticationProvider.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/users/CustomAuthenticationProvider.java
@@ -2,7 +2,7 @@ package lcsb.mapviewer.api.users;
 
 import java.util.ArrayList;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.security.authentication.AuthenticationProvider;
 import org.springframework.security.authentication.BadCredentialsException;
 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
@@ -14,7 +14,7 @@ import lcsb.mapviewer.services.interfaces.IUserService;
 
 @Transactional
 public class CustomAuthenticationProvider implements AuthenticationProvider {
-  Logger logger = Logger.getLogger(CustomAuthenticationProvider.class);
+  Logger logger = LogManager.getLogger(CustomAuthenticationProvider.class);
 
   private IUserService userService;
 
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/users/UserController.java b/rest-api/src/main/java/lcsb/mapviewer/api/users/UserController.java
index 634fd17e2dcf0573cbb6ab4af11512258dd8fd24..cebab469088291e70e79239f1109f53a250895be 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/users/UserController.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/users/UserController.java
@@ -9,7 +9,7 @@ import javax.servlet.http.Cookie;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.MediaType;
 import org.springframework.security.authentication.AuthenticationProvider;
@@ -44,7 +44,7 @@ public class UserController extends BaseController {
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(UserController.class);
+  private Logger logger = LogManager.getLogger(UserController.class);
 
   private IUserService userService;
 
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/users/UserRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/users/UserRestImpl.java
index 593a9edf1323a8ddd109d7b59dce3075ad39470b..f6801e21eae86c860228ddc4efa9b7e660e00387 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/users/UserRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/users/UserRestImpl.java
@@ -9,7 +9,7 @@ import java.util.Map;
 import java.util.Set;
 import java.util.TreeMap;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -53,7 +53,7 @@ public class UserRestImpl extends BaseRestImpl {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(UserRestImpl.class);
+  private Logger logger = LogManager.getLogger(UserRestImpl.class);
 
   private ILayoutService layoutService;
 
diff --git a/rest-api/src/test/java/lcsb/mapviewer/api/BaseRestImplTest.java b/rest-api/src/test/java/lcsb/mapviewer/api/BaseRestImplTest.java
index 2f6886e47c6472d0b2907a3d5c660a4e69ec0a83..96f751f9e0cade74be49a6d8cdd51604f78948ad 100644
--- a/rest-api/src/test/java/lcsb/mapviewer/api/BaseRestImplTest.java
+++ b/rest-api/src/test/java/lcsb/mapviewer/api/BaseRestImplTest.java
@@ -10,7 +10,7 @@ import static org.mockito.Mockito.CALLS_REAL_METHODS;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 import org.mockito.Mockito;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -23,7 +23,7 @@ import lcsb.mapviewer.model.map.MiriamType;
 import lcsb.mapviewer.model.user.annotator.AnnotatorData;
 
 public class BaseRestImplTest extends RestTestFunctions {
-  Logger logger = Logger.getLogger(BaseRestImplTest.class);
+  Logger logger = LogManager.getLogger(BaseRestImplTest.class);
 
   @Autowired
   MiriamConnector mc;
diff --git a/rest-api/src/test/java/lcsb/mapviewer/api/RestTestFunctions.java b/rest-api/src/test/java/lcsb/mapviewer/api/RestTestFunctions.java
index 788cca84c00b77cdf7101e15d68bf8dd007a4bb0..372dd10af3a5dc529f1e3717ee52da290db9adce 100644
--- a/rest-api/src/test/java/lcsb/mapviewer/api/RestTestFunctions.java
+++ b/rest-api/src/test/java/lcsb/mapviewer/api/RestTestFunctions.java
@@ -32,7 +32,7 @@ import javax.xml.transform.stream.StreamResult;
 
 import lcsb.mapviewer.converter.*;
 import org.apache.commons.io.FileUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.runner.RunWith;
@@ -71,7 +71,7 @@ import lcsb.mapviewer.services.interfaces.IUserService;
 @WebAppConfiguration
 @RunWith(SpringJUnit4ClassRunner.class)
 public abstract class RestTestFunctions {
-  private Logger logger = Logger.getLogger(RestTestFunctions.class);
+  private Logger logger = LogManager.getLogger(RestTestFunctions.class);
 
   public double EPSILON = 1e-6;
 
diff --git a/rest-api/src/test/java/lcsb/mapviewer/api/configuration/ConfigurationRestImplTest.java b/rest-api/src/test/java/lcsb/mapviewer/api/configuration/ConfigurationRestImplTest.java
index d840f00889a362bb539a4d3abb6b6a7c8aa6338b..1f1cc5314e69fc1288e01939f91bda333d310571 100644
--- a/rest-api/src/test/java/lcsb/mapviewer/api/configuration/ConfigurationRestImplTest.java
+++ b/rest-api/src/test/java/lcsb/mapviewer/api/configuration/ConfigurationRestImplTest.java
@@ -10,7 +10,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Before;
@@ -28,7 +28,7 @@ import lcsb.mapviewer.model.user.annotator.BioEntityField;
 public class ConfigurationRestImplTest extends RestTestFunctions {
 
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(ConfigurationRestImplTest.class);
+  private Logger logger = LogManager.getLogger(ConfigurationRestImplTest.class);
 
   @Autowired
   public ConfigurationRestImpl configurationRestImpl;
diff --git a/rest-api/src/test/java/lcsb/mapviewer/api/convert/ConvertRestImplTest.java b/rest-api/src/test/java/lcsb/mapviewer/api/convert/ConvertRestImplTest.java
index 2e59795a7844cf6e5aa7ac136f4ec5d0f8e64f68..e38de922046f1dadc32fcd12eeab5898cf7d1baf 100644
--- a/rest-api/src/test/java/lcsb/mapviewer/api/convert/ConvertRestImplTest.java
+++ b/rest-api/src/test/java/lcsb/mapviewer/api/convert/ConvertRestImplTest.java
@@ -17,7 +17,7 @@ import java.util.regex.Pattern;
 import javax.xml.stream.XMLStreamException;
 
 import org.apache.commons.io.FileUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Before;
@@ -36,7 +36,7 @@ import lcsb.mapviewer.services.SecurityException;
 public class ConvertRestImplTest extends RestTestFunctions {
 
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(ConvertRestImplTest.class);
+  private Logger logger = LogManager.getLogger(ConvertRestImplTest.class);
 
   @Autowired
   public ConvertRestImpl convertRestImpl;
diff --git a/rest-api/src/test/java/lcsb/mapviewer/api/genomics/ReferenceGenomeControllerTest.java b/rest-api/src/test/java/lcsb/mapviewer/api/genomics/ReferenceGenomeControllerTest.java
index dbaa99ccaf6e1b0ed32bb51776de61cc352dc08a..fbdff7c48b4cc709f48d7f72b3dd30d18b447b97 100644
--- a/rest-api/src/test/java/lcsb/mapviewer/api/genomics/ReferenceGenomeControllerTest.java
+++ b/rest-api/src/test/java/lcsb/mapviewer/api/genomics/ReferenceGenomeControllerTest.java
@@ -7,7 +7,7 @@ import static org.junit.Assert.fail;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Before;
@@ -19,7 +19,7 @@ import lcsb.mapviewer.api.QueryException;
 import lcsb.mapviewer.api.RestTestFunctions;
 
 public class ReferenceGenomeControllerTest extends RestTestFunctions {
-  Logger logger = Logger.getLogger(ReferenceGenomeControllerTest.class);
+  Logger logger = LogManager.getLogger(ReferenceGenomeControllerTest.class);
 
   @Autowired
   public ReferenceGenomeRestImpl referenceGenomeRestImpl;
diff --git a/rest-api/src/test/java/lcsb/mapviewer/api/mesh/MeshRestImplTest.java b/rest-api/src/test/java/lcsb/mapviewer/api/mesh/MeshRestImplTest.java
index dcc0aabb4cac149edc49e3e4fd714c939331b008..8c9b8121f06c1c35fa937cfabc772b59ba9be6aa 100644
--- a/rest-api/src/test/java/lcsb/mapviewer/api/mesh/MeshRestImplTest.java
+++ b/rest-api/src/test/java/lcsb/mapviewer/api/mesh/MeshRestImplTest.java
@@ -5,7 +5,7 @@ import static org.junit.Assert.assertTrue;
 
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 
@@ -15,7 +15,7 @@ import lcsb.mapviewer.api.RestTestFunctions;
 
 public class MeshRestImplTest extends RestTestFunctions {
 
-  Logger logger = Logger.getLogger(MeshRestImplTest.class);
+  Logger logger = LogManager.getLogger(MeshRestImplTest.class);
   @Autowired
   MeshRestImpl meshRestImpl;
 
diff --git a/rest-api/src/test/java/lcsb/mapviewer/api/projects/ProjectRestImplTest.java b/rest-api/src/test/java/lcsb/mapviewer/api/projects/ProjectRestImplTest.java
index d853db6f4652502c45bab756cb86694e6c28ef2b..3544fd6e93b0bbc24168c9c2c2dd12c3af1706d1 100644
--- a/rest-api/src/test/java/lcsb/mapviewer/api/projects/ProjectRestImplTest.java
+++ b/rest-api/src/test/java/lcsb/mapviewer/api/projects/ProjectRestImplTest.java
@@ -14,7 +14,7 @@ import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Before;
 import org.junit.Test;
 import org.mockito.Mockito;
@@ -41,7 +41,7 @@ import lcsb.mapviewer.services.interfaces.IModelService;
 import lcsb.mapviewer.services.interfaces.IProjectService;
 
 public class ProjectRestImplTest extends RestTestFunctions {
-  Logger logger = Logger.getLogger(ProjectRestImplTest.class);
+  Logger logger = LogManager.getLogger(ProjectRestImplTest.class);
 
   @Autowired
   ProjectRestImpl _projectRestImpl;
diff --git a/rest-api/src/test/java/lcsb/mapviewer/api/projects/chemicals/ChemicalRestImplTest.java b/rest-api/src/test/java/lcsb/mapviewer/api/projects/chemicals/ChemicalRestImplTest.java
index 66d8d2278477654acdf15e572ceacaa349b1b21b..efcc1b4e7c3457bedac85bf395e9613258166b57 100644
--- a/rest-api/src/test/java/lcsb/mapviewer/api/projects/chemicals/ChemicalRestImplTest.java
+++ b/rest-api/src/test/java/lcsb/mapviewer/api/projects/chemicals/ChemicalRestImplTest.java
@@ -7,7 +7,7 @@ import static org.mockito.Matchers.anyString;
 import java.util.ArrayList;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Before;
@@ -23,7 +23,7 @@ import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.services.interfaces.IModelService;
 
 public class ChemicalRestImplTest extends RestTestFunctions {
-  Logger logger = Logger.getLogger(ChemicalRestImplTest.class);
+  Logger logger = LogManager.getLogger(ChemicalRestImplTest.class);
 
   @Autowired
   private ChemicalRestImpl _drugRestImpl;
diff --git a/rest-api/src/test/java/lcsb/mapviewer/api/projects/drugs/DrugRestImplTest.java b/rest-api/src/test/java/lcsb/mapviewer/api/projects/drugs/DrugRestImplTest.java
index dd5eb15d048d1075e838db11ad95f6b4796b6780..1c1b38f637cff1f62662c6220dbd5dacd5e31fc3 100644
--- a/rest-api/src/test/java/lcsb/mapviewer/api/projects/drugs/DrugRestImplTest.java
+++ b/rest-api/src/test/java/lcsb/mapviewer/api/projects/drugs/DrugRestImplTest.java
@@ -1,29 +1,23 @@
 package lcsb.mapviewer.api.projects.drugs;
 
 import static org.junit.Assert.assertNotNull;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyString;
 
 import java.util.List;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.Test;
-import org.mockito.Mockito;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import lcsb.mapviewer.api.RestTestFunctions;
-import lcsb.mapviewer.common.exception.InvalidStateException;
 import lcsb.mapviewer.model.map.model.Model;
-import lcsb.mapviewer.services.SecurityException;
-import lcsb.mapviewer.services.interfaces.IModelService;
-import lcsb.mapviewer.services.interfaces.IProjectService;
 
 public class DrugRestImplTest extends RestTestFunctions {
-  Logger logger = Logger.getLogger(DrugRestImplTest.class);
+  Logger logger = LogManager.getLogger(DrugRestImplTest.class);
 
   @Autowired
 
diff --git a/rest-api/src/test/java/lcsb/mapviewer/api/projects/mirnas/MiRnaRestImplTest.java b/rest-api/src/test/java/lcsb/mapviewer/api/projects/mirnas/MiRnaRestImplTest.java
index fc19bd9feb59c53f74cb5e575436e83f3cbbcddf..4cfe34f5d645e4dc6c617cc00c3bd347b9f39d99 100644
--- a/rest-api/src/test/java/lcsb/mapviewer/api/projects/mirnas/MiRnaRestImplTest.java
+++ b/rest-api/src/test/java/lcsb/mapviewer/api/projects/mirnas/MiRnaRestImplTest.java
@@ -7,7 +7,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Before;
@@ -18,7 +18,7 @@ import lcsb.mapviewer.api.RestTestFunctions;
 import lcsb.mapviewer.model.map.model.Model;
 
 public class MiRnaRestImplTest extends RestTestFunctions {
-  Logger logger = Logger.getLogger(MiRnaRestImplTest.class);
+  Logger logger = LogManager.getLogger(MiRnaRestImplTest.class);
 
   @Autowired
   MiRnaRestImpl _miRnaRestImpl;
diff --git a/rest-api/src/test/java/lcsb/mapviewer/api/projects/models/bioEntities/BioEntitiesControllerTest.java b/rest-api/src/test/java/lcsb/mapviewer/api/projects/models/bioEntities/BioEntitiesControllerTest.java
index 29e64d174a28381a8941ccd31f599bd8156db7b9..6025167c89d63c5490c3bc688ed09aa5495bba3e 100644
--- a/rest-api/src/test/java/lcsb/mapviewer/api/projects/models/bioEntities/BioEntitiesControllerTest.java
+++ b/rest-api/src/test/java/lcsb/mapviewer/api/projects/models/bioEntities/BioEntitiesControllerTest.java
@@ -9,7 +9,7 @@ import java.awt.geom.Point2D;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Before;
@@ -24,7 +24,7 @@ import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.services.interfaces.IModelService;
 
 public class BioEntitiesControllerTest extends RestTestFunctions {
-  Logger logger = Logger.getLogger(BioEntitiesControllerTest.class);
+  Logger logger = LogManager.getLogger(BioEntitiesControllerTest.class);
 
   @Autowired
   BioEntitiesRestImpl _bioEntitiesRestImpl;
diff --git a/rest-api/src/test/java/lcsb/mapviewer/api/projects/models/bioEntities/elements/ElementRestImplTest.java b/rest-api/src/test/java/lcsb/mapviewer/api/projects/models/bioEntities/elements/ElementRestImplTest.java
index c9701d3a83d89132eb7e9c0a6122d2f4e3b7dbaf..14d8e4c5fd8bd22f992e511f29a35eb871f37e32 100644
--- a/rest-api/src/test/java/lcsb/mapviewer/api/projects/models/bioEntities/elements/ElementRestImplTest.java
+++ b/rest-api/src/test/java/lcsb/mapviewer/api/projects/models/bioEntities/elements/ElementRestImplTest.java
@@ -10,7 +10,7 @@ import static org.mockito.Matchers.anyString;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Before;
@@ -33,7 +33,7 @@ import lcsb.mapviewer.model.map.species.field.Residue;
 import lcsb.mapviewer.services.interfaces.IModelService;
 
 public class ElementRestImplTest extends RestTestFunctions {
-  Logger logger = Logger.getLogger(RestTestFunctions.class);
+  Logger logger = LogManager.getLogger(RestTestFunctions.class);
 
   @Autowired
   ElementsRestImpl _elementsRestImpl;
diff --git a/rest-api/src/test/java/lcsb/mapviewer/api/projects/models/functions/FunctionsRestImplTest.java b/rest-api/src/test/java/lcsb/mapviewer/api/projects/models/functions/FunctionsRestImplTest.java
index bada30f74c9d4987c15a07708dc31f0867fb5e90..2d5b428fc7bff7a30b4147a5b93adb66d50305a1 100644
--- a/rest-api/src/test/java/lcsb/mapviewer/api/projects/models/functions/FunctionsRestImplTest.java
+++ b/rest-api/src/test/java/lcsb/mapviewer/api/projects/models/functions/FunctionsRestImplTest.java
@@ -4,14 +4,14 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import lcsb.mapviewer.api.RestTestFunctions;
 
 public class FunctionsRestImplTest extends RestTestFunctions {
-  Logger logger = Logger.getLogger(FunctionsRestImplTest.class);
+  Logger logger = LogManager.getLogger(FunctionsRestImplTest.class);
 
   @Autowired
   FunctionsRestImpl functionRestImpl;
diff --git a/rest-api/src/test/java/lcsb/mapviewer/api/projects/models/publications/PublicationsRestImplTest.java b/rest-api/src/test/java/lcsb/mapviewer/api/projects/models/publications/PublicationsRestImplTest.java
index bcaff076ad1bdafa4a80642b548f328eaccf03b8..74a6d3886163c81a757aefe5fd1e7cc9b6990d70 100644
--- a/rest-api/src/test/java/lcsb/mapviewer/api/projects/models/publications/PublicationsRestImplTest.java
+++ b/rest-api/src/test/java/lcsb/mapviewer/api/projects/models/publications/PublicationsRestImplTest.java
@@ -13,7 +13,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Before;
@@ -31,7 +31,7 @@ import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.services.interfaces.IModelService;
 
 public class PublicationsRestImplTest extends RestTestFunctions {
-  Logger logger = Logger.getLogger(PublicationsRestImplTest.class);
+  Logger logger = LogManager.getLogger(PublicationsRestImplTest.class);
 
   @Autowired
   PublicationsRestImpl _projectRestImpl;
diff --git a/rest-api/src/test/java/lcsb/mapviewer/api/users/UserRestImplTest.java b/rest-api/src/test/java/lcsb/mapviewer/api/users/UserRestImplTest.java
index da5cf512d179f441df2a4772dcd46ce6650e8ad9..d40e6dfe5d90c5c0ae18fcd8297f014ea7023c3a 100644
--- a/rest-api/src/test/java/lcsb/mapviewer/api/users/UserRestImplTest.java
+++ b/rest-api/src/test/java/lcsb/mapviewer/api/users/UserRestImplTest.java
@@ -12,7 +12,7 @@ import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Before;
@@ -40,7 +40,7 @@ import lcsb.mapviewer.model.user.annotator.AnnotatorParameter;
 import lcsb.mapviewer.model.user.annotator.BioEntityField;
 
 public class UserRestImplTest extends RestTestFunctions {
-  Logger logger = Logger.getLogger(UserRestImplTest.class);
+  Logger logger = LogManager.getLogger(UserRestImplTest.class);
 
   @Autowired
   UserRestImpl userRestImpl;
diff --git a/rest-api/src/test/resources/log4j.properties b/rest-api/src/test/resources/log4j.properties
deleted file mode 100644
index e3cf076f834ff213be76567ff8498531f0b1d474..0000000000000000000000000000000000000000
--- a/rest-api/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-#Set root logger 's level and its appender to an appender called CONSOLE which is defined below.
-log4j.rootLogger=info, CONSOLE
-
-#Set the behavior of the CONSOLE appender 
-log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
-log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
-log4j.appender.CONSOLE.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-#log4j.appender.CONSOLE.layout.ConversionPattern=%m%n
-
-
-#Set the behavior of the FILE appender 
-log4j.appender.R=org.apache.log4j.FileAppender
-log4j.appender.R.File=${catalina.home}/logs/MapViewer.log
-log4j.appender.R.layout=org.apache.log4j.PatternLayout
-log4j.appender.R.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-
-
-log4j.logger.org.springframework=warn
-log4j.logger.org.hibernate=warn
-log4j.logger.lcsb=debug
-log4j.logger.lcsb.mapviewer.annotation.cache=info
-log4j.logger.lcsb.mapviewer.persist=info
-
-#There are plenty of useless warnings in jsbml library
-log4j.logger.org.sbml.jsbml=error
\ No newline at end of file
diff --git a/rest-api/src/test/resources/log4j2.properties b/rest-api/src/test/resources/log4j2.properties
new file mode 100644
index 0000000000000000000000000000000000000000..5dd72d2bc71a90d1fb119ae215c0d760a60aad71
--- /dev/null
+++ b/rest-api/src/test/resources/log4j2.properties
@@ -0,0 +1,29 @@
+rootLogger.level = INFO
+appenders = console
+
+appender.console.type = Console
+appender.console.name = STDOUT
+appender.console.layout.type = PatternLayout
+appender.console.layout.pattern = %d %5p [%t] (%F:%L) - %m%n
+
+rootLogger.appenderRefs = console
+
+rootLogger.appenderRef.console.ref = STDOUT
+
+logger.minerva.name = lcsb
+logger.minerva.level = debug
+logger.minerva-persist.name = lcsb.mapviewer.persist.DbUtils
+logger.minerva-persist.level = info
+logger.minerva-cache.name = lcsb.mapviewer.annotation.cache
+logger.minerva-cache.level = info
+
+
+logger.springframework.name = org.springframework
+logger.springframework.level = warn
+
+logger.hibernate.name = org.hibernate
+logger.hibernate.level = warn
+
+#There are plenty of useless warnings in jsbml library
+logger.jsbml.name = org.sbml.jsbml
+logger.jsbml.level = error
diff --git a/service/pom.xml b/service/pom.xml
index 75451d1c90ee25a8299299dc683468a5dcf77e75..e662095eb22815892693c2e1380af7e44815993f 100644
--- a/service/pom.xml
+++ b/service/pom.xml
@@ -71,12 +71,16 @@
 			<version>1.0</version>
 		</dependency>
 
-
-		<!-- Log4J -->
+		<!-- Log4J2-->
+		<dependency>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-api</artifactId>
+			<version>${log4j2.version}</version>
+		</dependency>
 		<dependency>
-			<groupId>log4j</groupId>
-			<artifactId>log4j</artifactId>
-			<version>${log4j.version}</version>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-core</artifactId>
+			<version>${log4j2.version}</version>
 		</dependency>
 
 		<!-- Spring -->
diff --git a/service/src/main/java/lcsb/mapviewer/services/impl/CommentService.java b/service/src/main/java/lcsb/mapviewer/services/impl/CommentService.java
index 8ec6eab07ec3c5226cdc839eee44aa35df416d27..f6619db8ec533d0bde1a6cbdb1a2ee609e7e5a50 100644
--- a/service/src/main/java/lcsb/mapviewer/services/impl/CommentService.java
+++ b/service/src/main/java/lcsb/mapviewer/services/impl/CommentService.java
@@ -8,7 +8,7 @@ import java.util.Map;
 
 import javax.mail.MessagingException;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -53,7 +53,7 @@ public class CommentService implements ICommentService {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(CommentService.class);
+  private static Logger logger = LogManager.getLogger(CommentService.class);
 
   /**
    * Data access object fir comments.
diff --git a/service/src/main/java/lcsb/mapviewer/services/impl/ConfigurationService.java b/service/src/main/java/lcsb/mapviewer/services/impl/ConfigurationService.java
index 14141d92d176a3c143ba7d0921c799c5d63f60ac..3156a0fa8ab86aff07fda752c34684e0fee1b20a 100644
--- a/service/src/main/java/lcsb/mapviewer/services/impl/ConfigurationService.java
+++ b/service/src/main/java/lcsb/mapviewer/services/impl/ConfigurationService.java
@@ -5,7 +5,7 @@ import java.util.List;
 
 import org.apache.commons.lang3.EnumUtils;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -40,7 +40,7 @@ public class ConfigurationService implements IConfigurationService {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private final Logger logger = Logger.getLogger(ConfigurationService.class);
+  private final Logger logger = LogManager.getLogger(ConfigurationService.class);
 
   /**
    * Data access object for configuration parameters.
diff --git a/service/src/main/java/lcsb/mapviewer/services/impl/LayoutService.java b/service/src/main/java/lcsb/mapviewer/services/impl/LayoutService.java
index f3379ed425efc9d7d5684a84c8f0068b3dd5091f..3d69391137e630106ee5cc9024ed1d3f95aba6f2 100644
--- a/service/src/main/java/lcsb/mapviewer/services/impl/LayoutService.java
+++ b/service/src/main/java/lcsb/mapviewer/services/impl/LayoutService.java
@@ -12,7 +12,7 @@ import java.util.Map;
 import javax.mail.MessagingException;
 
 import org.apache.commons.io.IOUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -80,7 +80,7 @@ public class LayoutService implements ILayoutService {
     /**
      * Default class logger.
      */
-    private Logger logger = Logger.getLogger(LayoutService.class);
+    private Logger logger = LogManager.getLogger(LayoutService.class);
 
     /**
      * Layout data access object.
diff --git a/service/src/main/java/lcsb/mapviewer/services/impl/LdapService.java b/service/src/main/java/lcsb/mapviewer/services/impl/LdapService.java
index d79290f7e871868dbe4ef725d70932498ff02def..c43c1e9c897ba67b5483ae7d4cb81133daaed217 100644
--- a/service/src/main/java/lcsb/mapviewer/services/impl/LdapService.java
+++ b/service/src/main/java/lcsb/mapviewer/services/impl/LdapService.java
@@ -4,7 +4,7 @@ import java.security.GeneralSecurityException;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -31,7 +31,7 @@ import lcsb.mapviewer.services.interfaces.ILdapService;
 @Transactional
 @Service
 public class LdapService implements ILdapService {
-  Logger logger = Logger.getLogger(LdapService.class);
+  Logger logger = LogManager.getLogger(LdapService.class);
 
   private IConfigurationService configurationService;
 
diff --git a/service/src/main/java/lcsb/mapviewer/services/impl/ModelService.java b/service/src/main/java/lcsb/mapviewer/services/impl/ModelService.java
index 5913a68aada441b931e14177786eea5bb6228877..7292c38af916cc0d5912be2a772d668ca11c63df 100644
--- a/service/src/main/java/lcsb/mapviewer/services/impl/ModelService.java
+++ b/service/src/main/java/lcsb/mapviewer/services/impl/ModelService.java
@@ -7,7 +7,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -50,7 +50,7 @@ public class ModelService implements IModelService {
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(ModelService.class);
+  private Logger logger = LogManager.getLogger(ModelService.class);
 
   /**
    * List of cached models.
diff --git a/service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java b/service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java
index 7e1d6149ef7c781c6e07c7b6189be8fe00518653..558df90d6793be0ce5a53f00fb97221d5eb20b60 100644
--- a/service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java
+++ b/service/src/main/java/lcsb/mapviewer/services/impl/ProjectService.java
@@ -19,7 +19,7 @@ import javax.mail.MessagingException;
 
 import lcsb.mapviewer.converter.*;
 import org.apache.commons.io.FileUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.hibernate.HibernateException;
 import org.primefaces.model.DefaultTreeNode;
 import org.primefaces.model.TreeNode;
@@ -39,8 +39,9 @@ import lcsb.mapviewer.commands.CommandExecutionException;
 import lcsb.mapviewer.commands.CopyCommand;
 import lcsb.mapviewer.commands.CreateHierarchyCommand;
 import lcsb.mapviewer.commands.SetFixedHierarchyLevelCommand;
-import lcsb.mapviewer.common.EventStorageLoggerAppender;
+
 import lcsb.mapviewer.common.IProgressUpdater;
+import lcsb.mapviewer.common.MinervaLoggerAppender;
 import lcsb.mapviewer.common.Pair;
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.converter.graphics.DrawingException;
@@ -112,7 +113,7 @@ public class ProjectService implements IProjectService {
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(ProjectService.class);
+  private Logger logger = LogManager.getLogger(ProjectService.class);
 
   /**
    * Data access object for projects.
@@ -750,9 +751,8 @@ public class ProjectService implements IProjectService {
         }
         waitForInitialData.countDown();
         double[] outOfMemoryBuffer;
-        EventStorageLoggerAppender appender = new EventStorageLoggerAppender();
+        MinervaLoggerAppender appender = MinervaLoggerAppender.createAppender();
         try {
-          Logger.getRootLogger().addAppender(appender);
           logger.debug("Running: " + params.getProjectId() + "; " + params.getProjectFile());
           outOfMemoryBuffer = new double[OUT_OF_MEMORY_BACKUP_BUFFER_SIZE];
           for (int i = 0; i < OUT_OF_MEMORY_BACKUP_BUFFER_SIZE; i++) {
@@ -786,7 +786,7 @@ public class ProjectService implements IProjectService {
           if (params.isAnalyzeAnnotations()) {
             analyzeAnnotations(originalModel, params);
           }
-          Logger.getRootLogger().removeAppender(appender);
+          MinervaLoggerAppender.unregisterLogEventStorage(appender);
           project.addLoggingInfo(appender);
 
           if (params.isCacheModel()) {
@@ -823,7 +823,7 @@ public class ProjectService implements IProjectService {
             // close the transaction for this thread
             dbUtils.closeSessionForCurrentThread();
           }
-          Logger.getRootLogger().removeAppender(appender);
+          MinervaLoggerAppender.unregisterLogEventStorage(appender);
         }
       }
 
diff --git a/service/src/main/java/lcsb/mapviewer/services/impl/ReferenceGenomeService.java b/service/src/main/java/lcsb/mapviewer/services/impl/ReferenceGenomeService.java
index 6cda60e80fc0f0ba000c73aef3d36f6a301315b1..23f3ed544f506e4d1c852b2f6e98f429df8b5fd0 100644
--- a/service/src/main/java/lcsb/mapviewer/services/impl/ReferenceGenomeService.java
+++ b/service/src/main/java/lcsb/mapviewer/services/impl/ReferenceGenomeService.java
@@ -4,7 +4,7 @@ import java.io.IOException;
 import java.net.URISyntaxException;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -37,7 +37,7 @@ public class ReferenceGenomeService implements IReferenceGenomeService {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(ReferenceGenomeService.class);
+  private Logger logger = LogManager.getLogger(ReferenceGenomeService.class);
 
   /**
    * Class responsible for connection to {@link ReferenceGenomeType#UCSC}
diff --git a/service/src/main/java/lcsb/mapviewer/services/impl/SearchService.java b/service/src/main/java/lcsb/mapviewer/services/impl/SearchService.java
index 644174249ffc1d44fc8be3b0f17e4ea7f1a7280f..9a215f67bfe90c2ea18abed74c9a1e02dddd0881 100644
--- a/service/src/main/java/lcsb/mapviewer/services/impl/SearchService.java
+++ b/service/src/main/java/lcsb/mapviewer/services/impl/SearchService.java
@@ -11,7 +11,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -77,7 +77,7 @@ public class SearchService implements ISearchService {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private static Logger logger = Logger.getLogger(SearchService.class.getName());
+  private static Logger logger = LogManager.getLogger(SearchService.class.getName());
 
   /**
    * Data access object for models.
diff --git a/service/src/main/java/lcsb/mapviewer/services/impl/UserService.java b/service/src/main/java/lcsb/mapviewer/services/impl/UserService.java
index 997a06f4555160b1650f65118248ba8ea2bac3eb..32e79c2591aa5957a4b364a5cf4c48867c1675d2 100644
--- a/service/src/main/java/lcsb/mapviewer/services/impl/UserService.java
+++ b/service/src/main/java/lcsb/mapviewer/services/impl/UserService.java
@@ -11,7 +11,7 @@ import java.util.Map;
 import java.util.Random;
 
 import org.apache.commons.lang3.StringUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.core.authority.AuthorityUtils;
 import org.springframework.security.core.session.SessionInformation;
@@ -57,7 +57,7 @@ public class UserService implements IUserService {
   /**
    * Default class logger.
    */
-  private static Logger logger = Logger.getLogger(UserService.class);
+  private static Logger logger = LogManager.getLogger(UserService.class);
 
   /**
    * Data access object for users.
diff --git a/service/src/main/java/lcsb/mapviewer/services/overlay/AnnotatedObjectTreeRow.java b/service/src/main/java/lcsb/mapviewer/services/overlay/AnnotatedObjectTreeRow.java
index 75eaeb1fb2f71119eb57d0c0d91efb66a343a513..684fee085047926b668c8890e8e91636da8700ab 100644
--- a/service/src/main/java/lcsb/mapviewer/services/overlay/AnnotatedObjectTreeRow.java
+++ b/service/src/main/java/lcsb/mapviewer/services/overlay/AnnotatedObjectTreeRow.java
@@ -6,7 +6,7 @@ import java.util.Collection;
 import java.util.HashSet;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.annotation.services.annotators.ElementAnnotator;
 import lcsb.mapviewer.model.map.MiriamType;
@@ -31,7 +31,7 @@ public class AnnotatedObjectTreeRow implements Serializable {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private final transient Logger			logger											= Logger.getLogger(AnnotatedObjectTreeRow.class);
+	private final transient Logger			logger											= LogManager.getLogger(AnnotatedObjectTreeRow.class);
 
 	/**
 	 * Name of the class.
diff --git a/service/src/main/java/lcsb/mapviewer/services/search/ElementMatcher.java b/service/src/main/java/lcsb/mapviewer/services/search/ElementMatcher.java
index 25e33b912ed6db91549602e2d235cb14b7d72486..6754f40b15ef79fc9c6da8bb5fe02282d3215a9d 100644
--- a/service/src/main/java/lcsb/mapviewer/services/search/ElementMatcher.java
+++ b/service/src/main/java/lcsb/mapviewer/services/search/ElementMatcher.java
@@ -4,7 +4,7 @@ import java.util.Collection;
 import java.util.HashSet;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.annotation.data.Target;
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
@@ -23,7 +23,7 @@ public class ElementMatcher {
   /**
    * Default class logger.
    */
-  private final Logger logger = Logger.getLogger(ElementMatcher.class);
+  private final Logger logger = LogManager.getLogger(ElementMatcher.class);
 
   public boolean elementMatch(Target target, BioEntity element) {
     MiriamData targetAnnotation = target.getSource();
diff --git a/service/src/main/java/lcsb/mapviewer/services/search/chemical/ChemicalService.java b/service/src/main/java/lcsb/mapviewer/services/search/chemical/ChemicalService.java
index c64c27825cf22595dbbe3ec8de0a1ff621d557c4..89c40a2b70dfe3d30249c62d221f1786cd54c99e 100644
--- a/service/src/main/java/lcsb/mapviewer/services/search/chemical/ChemicalService.java
+++ b/service/src/main/java/lcsb/mapviewer/services/search/chemical/ChemicalService.java
@@ -12,7 +12,7 @@ import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -48,7 +48,7 @@ public class ChemicalService extends DbSearchService implements IChemicalService
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(ChemicalService.class);
+  private Logger logger = LogManager.getLogger(ChemicalService.class);
 
   /**
    * List of chemicals pairs of id and name.
diff --git a/service/src/main/java/lcsb/mapviewer/services/search/drug/DrugService.java b/service/src/main/java/lcsb/mapviewer/services/search/drug/DrugService.java
index af680065bee15cff9a415671b649f1d7828f0407..2f7d3146cd2b09dee2a46d8cf622761af2274d34 100644
--- a/service/src/main/java/lcsb/mapviewer/services/search/drug/DrugService.java
+++ b/service/src/main/java/lcsb/mapviewer/services/search/drug/DrugService.java
@@ -7,7 +7,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -47,7 +47,7 @@ public class DrugService extends DbSearchService implements IDrugService {
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(DrugService.class);
+  private Logger logger = LogManager.getLogger(DrugService.class);
 
   /**
    * Access point and parser for the online drugbank database.
diff --git a/service/src/main/java/lcsb/mapviewer/services/search/mirna/MiRNAService.java b/service/src/main/java/lcsb/mapviewer/services/search/mirna/MiRNAService.java
index 67b670d25c880a6bb854078242ca273087642cab..57dd229dded21a7f63a3e28baa2a0b8e86401c90 100644
--- a/service/src/main/java/lcsb/mapviewer/services/search/mirna/MiRNAService.java
+++ b/service/src/main/java/lcsb/mapviewer/services/search/mirna/MiRNAService.java
@@ -7,7 +7,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -42,7 +42,7 @@ public class MiRNAService extends DbSearchService implements IMiRNAService {
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(MiRNAService.class);
+  private Logger logger = LogManager.getLogger(MiRNAService.class);
 
   /**
    * Access point and parser for the online ctd database.
diff --git a/service/src/main/java/lcsb/mapviewer/services/utils/ColorSchemaReader.java b/service/src/main/java/lcsb/mapviewer/services/utils/ColorSchemaReader.java
index b2085821ea21ee251891e3e1cb978229ae6d7e22..deb15c6ab0824a9b344e8b523a6b3328981374c1 100644
--- a/service/src/main/java/lcsb/mapviewer/services/utils/ColorSchemaReader.java
+++ b/service/src/main/java/lcsb/mapviewer/services/utils/ColorSchemaReader.java
@@ -16,7 +16,7 @@ import java.util.Map;
 import java.util.Set;
 
 import org.apache.commons.lang3.StringUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.annotation.services.MiriamConnector;
 import lcsb.mapviewer.common.Configuration;
@@ -72,7 +72,7 @@ public class ColorSchemaReader {
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(ColorSchemaReader.class);
+  private Logger logger = LogManager.getLogger(ColorSchemaReader.class);
 
   /**
    * Objects that manipulates {@link MiriamData}.
diff --git a/service/src/main/java/lcsb/mapviewer/services/utils/ColorSchemaXlsxReader.java b/service/src/main/java/lcsb/mapviewer/services/utils/ColorSchemaXlsxReader.java
index 1437bd37958dfe69f61f9d6886aae3127730de7e..31e288e1c6c1630f615948cbf02f291275e57f83 100644
--- a/service/src/main/java/lcsb/mapviewer/services/utils/ColorSchemaXlsxReader.java
+++ b/service/src/main/java/lcsb/mapviewer/services/utils/ColorSchemaXlsxReader.java
@@ -12,7 +12,7 @@ import java.util.Map;
 import java.util.Set;
 
 import org.apache.commons.io.FilenameUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.ss.usermodel.CellStyle;
@@ -46,7 +46,7 @@ public class ColorSchemaXlsxReader {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private Logger logger = Logger.getLogger(ColorSchemaXlsxReader.class);
+  private Logger logger = LogManager.getLogger(ColorSchemaXlsxReader.class);
 
   /**
    * @param fileName
diff --git a/service/src/main/java/lcsb/mapviewer/services/utils/EmailSender.java b/service/src/main/java/lcsb/mapviewer/services/utils/EmailSender.java
index 0e7d0cfce8c6ea34605c81f9283a7e5b40f18ac0..8d0b6f9d768edf9216a8005cab6472981f784374 100644
--- a/service/src/main/java/lcsb/mapviewer/services/utils/EmailSender.java
+++ b/service/src/main/java/lcsb/mapviewer/services/utils/EmailSender.java
@@ -24,7 +24,7 @@ import javax.mail.internet.MimeBodyPart;
 import javax.mail.internet.MimeMessage;
 import javax.mail.internet.MimeMultipart;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import com.sun.mail.smtp.SMTPTransport;
 
@@ -50,7 +50,7 @@ public class EmailSender {
   /**
    * Default class logger.
    */
-  private Logger logger = Logger.getLogger(EmailSender.class);
+  private Logger logger = LogManager.getLogger(EmailSender.class);
 
   /**
    * String (usually email address) that should appear in sender field of the
diff --git a/service/src/main/java/lcsb/mapviewer/services/utils/SearchIndexer.java b/service/src/main/java/lcsb/mapviewer/services/utils/SearchIndexer.java
index 9089a3fd4b12867ff9ea5655bcd6e2822dfdb5d8..b3224f71f457148a12687942544828d2e5f5dce0 100644
--- a/service/src/main/java/lcsb/mapviewer/services/utils/SearchIndexer.java
+++ b/service/src/main/java/lcsb/mapviewer/services/utils/SearchIndexer.java
@@ -6,7 +6,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.model.map.SearchIndex;
 import lcsb.mapviewer.model.map.species.Element;
@@ -54,7 +54,7 @@ public class SearchIndexer {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private Logger					 logger																				= Logger.getLogger(SearchIndexer.class);
+	private Logger					 logger																				= LogManager.getLogger(SearchIndexer.class);
 
 	/**
 	 * This method create list of indexes for an alias. Right now every index is
diff --git a/service/src/test/java/lcsb/mapviewer/services/ServiceTestFunctions.java b/service/src/test/java/lcsb/mapviewer/services/ServiceTestFunctions.java
index 430e360744bac2e5f16eeb1e6d5a416f0b8adf5a..ebc58a093a5a415e6c5082c8002581354261bc07 100644
--- a/service/src/test/java/lcsb/mapviewer/services/ServiceTestFunctions.java
+++ b/service/src/test/java/lcsb/mapviewer/services/ServiceTestFunctions.java
@@ -28,8 +28,9 @@ import javax.xml.transform.TransformerFactory;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
 
-import org.apache.log4j.Logger;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.*;
+import org.apache.logging.log4j.core.LogEvent;
+
 import org.junit.After;
 import org.junit.Before;
 import org.junit.runner.RunWith;
@@ -49,7 +50,8 @@ import lcsb.mapviewer.annotation.services.ChEMBLParser;
 import lcsb.mapviewer.annotation.services.DrugbankHTMLParser;
 import lcsb.mapviewer.annotation.services.ModelAnnotator;
 import lcsb.mapviewer.annotation.services.annotators.BiocompendiumAnnotator;
-import lcsb.mapviewer.common.EventStorageLoggerAppender;
+
+import lcsb.mapviewer.common.MinervaLoggerAppender;
 import lcsb.mapviewer.common.exception.InvalidXmlSchemaException;
 import lcsb.mapviewer.converter.ConverterParams;
 import lcsb.mapviewer.converter.model.celldesigner.CellDesignerXmlParser;
@@ -83,7 +85,7 @@ import lcsb.mapviewer.services.search.drug.IDrugService;
 @ContextConfiguration(classes = SpringServiceTestConfig.class)
 @RunWith(SpringJUnit4ClassRunner.class)
 public abstract class ServiceTestFunctions {
-  private Logger logger = Logger.getLogger(ServiceTestFunctions.class);
+  private Logger logger = LogManager.getLogger(ServiceTestFunctions.class);
 
   @Autowired
   protected ChEMBLParser chemblParser;
@@ -171,30 +173,29 @@ public abstract class ServiceTestFunctions {
   private User user;
   protected User user2 = null;
 
-  private EventStorageLoggerAppender appender;
+  private MinervaLoggerAppender appender;
 
   @Before
   public final void _setUp() throws Exception {
-    Logger.getRootLogger().removeAppender(appender);
-    appender = new EventStorageLoggerAppender();
-    Logger.getRootLogger().addAppender(appender);
+    MinervaLoggerAppender.unregisterLogEventStorage(appender);
+    appender = MinervaLoggerAppender.createAppender();
     dbUtils.setAutoFlush(false);
   }
 
   @After
   public final void _tearDown() throws Exception {
-    Logger.getRootLogger().removeAppender(appender);
+    MinervaLoggerAppender.unregisterLogEventStorage(appender);
   }
 
-  protected List<LoggingEvent> getWarnings() {
+  protected List<LogEvent> getWarnings() {
     return appender.getWarnings();
   }
 
-  protected List<LoggingEvent> getErrors() {
+  protected List<LogEvent> getErrors() {
     return appender.getErrors();
   }
 
-  protected List<LoggingEvent> getInfos() {
+  protected List<LogEvent> getInfos() {
     return appender.getInfos();
   }
 
diff --git a/service/src/test/java/lcsb/mapviewer/services/impl/CommentServiceTest.java b/service/src/test/java/lcsb/mapviewer/services/impl/CommentServiceTest.java
index 12b0b03d3774278f6834f557154745b671783925..1f2d2644ce98d50a053a22d635f12f65fa21cbbb 100644
--- a/service/src/test/java/lcsb/mapviewer/services/impl/CommentServiceTest.java
+++ b/service/src/test/java/lcsb/mapviewer/services/impl/CommentServiceTest.java
@@ -8,7 +8,7 @@ import java.awt.geom.Point2D;
 import java.util.List;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -23,7 +23,7 @@ import lcsb.mapviewer.services.ServiceTestFunctions;
 
 @Rollback(true)
 public class CommentServiceTest extends ServiceTestFunctions {
-  static Logger logger = Logger.getLogger(CommentServiceTest.class);
+  static Logger logger = LogManager.getLogger(CommentServiceTest.class);
   Model model;
   Project project;
   Element alias;
diff --git a/service/src/test/java/lcsb/mapviewer/services/impl/ConfigurationServiceTest.java b/service/src/test/java/lcsb/mapviewer/services/impl/ConfigurationServiceTest.java
index 1c3030f262ea08e6c82be19296fe807168501d70..63ba122efb63a1062df83c188a23fef912374452 100644
--- a/service/src/test/java/lcsb/mapviewer/services/impl/ConfigurationServiceTest.java
+++ b/service/src/test/java/lcsb/mapviewer/services/impl/ConfigurationServiceTest.java
@@ -7,7 +7,7 @@ import static org.junit.Assert.assertTrue;
 
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -23,7 +23,7 @@ import lcsb.mapviewer.services.ServiceTestFunctions;
 
 @Rollback(true)
 public class ConfigurationServiceTest extends ServiceTestFunctions {
-  Logger logger = Logger.getLogger(ConfigurationServiceTest.class);
+  Logger logger = LogManager.getLogger(ConfigurationServiceTest.class);
 
   @Before
   public void setUp() throws Exception {
diff --git a/service/src/test/java/lcsb/mapviewer/services/impl/LayoutServiceTest.java b/service/src/test/java/lcsb/mapviewer/services/impl/LayoutServiceTest.java
index 9ad513fadea982850514981d4fe808f7d11bab2b..2f9b320135d077d196f1419e57dac0f92f2a411c 100644
--- a/service/src/test/java/lcsb/mapviewer/services/impl/LayoutServiceTest.java
+++ b/service/src/test/java/lcsb/mapviewer/services/impl/LayoutServiceTest.java
@@ -16,7 +16,7 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.commons.io.IOUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -51,7 +51,7 @@ import lcsb.mapviewer.services.utils.EmailSender;
 import lcsb.mapviewer.services.utils.data.ColorSchemaColumn;
 
 public class LayoutServiceTest extends ServiceTestFunctions {
-  Logger logger = Logger.getLogger(LayoutServiceTest.class);
+  Logger logger = LogManager.getLogger(LayoutServiceTest.class);
 
   Project project = null;
   Model model = null;
diff --git a/service/src/test/java/lcsb/mapviewer/services/impl/LdapServiceTest.java b/service/src/test/java/lcsb/mapviewer/services/impl/LdapServiceTest.java
index aed2843e3766f38ca14aae5e39fdf98cf698a0b9..28593943587a78ca5431ac8db0e683843c9b7d6b 100644
--- a/service/src/test/java/lcsb/mapviewer/services/impl/LdapServiceTest.java
+++ b/service/src/test/java/lcsb/mapviewer/services/impl/LdapServiceTest.java
@@ -7,7 +7,7 @@ import static org.junit.Assert.assertTrue;
 
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -27,7 +27,7 @@ import lcsb.mapviewer.services.UserDTO;
 
 @Rollback(true)
 public class LdapServiceTest extends ServiceTestFunctions {
-  static Logger logger = Logger.getLogger(LdapServiceTest.class);
+  static Logger logger = LogManager.getLogger(LdapServiceTest.class);
 
   LdapService ldapService;
 
diff --git a/service/src/test/java/lcsb/mapviewer/services/impl/ProjectServiceTest.java b/service/src/test/java/lcsb/mapviewer/services/impl/ProjectServiceTest.java
index 704426978d1de1b56d4aa6ed15b9d551b536ac60..34b527ccd414a4b825cda3838a6e863e23c7c316 100644
--- a/service/src/test/java/lcsb/mapviewer/services/impl/ProjectServiceTest.java
+++ b/service/src/test/java/lcsb/mapviewer/services/impl/ProjectServiceTest.java
@@ -24,7 +24,7 @@ import java.util.Set;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipFile;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.apache.poi.util.IOUtils;
 import org.junit.After;
 import org.junit.Before;
@@ -77,7 +77,7 @@ import lcsb.mapviewer.services.utils.data.BuildInLayout;
 
 @Rollback(true)
 public class ProjectServiceTest extends ServiceTestFunctions {
-  Logger logger = Logger.getLogger(ProjectServiceTest.class);
+  Logger logger = LogManager.getLogger(ProjectServiceTest.class);
 
   ZipEntryFileFactory zefFactory = new ZipEntryFileFactory();
 
diff --git a/service/src/test/java/lcsb/mapviewer/services/impl/SearchServiceTest.java b/service/src/test/java/lcsb/mapviewer/services/impl/SearchServiceTest.java
index ae7f23488487418bf0f226d0a0c94ea303cb8eb3..69146289c20d00bbbe4455295771f4059ced8e3e 100644
--- a/service/src/test/java/lcsb/mapviewer/services/impl/SearchServiceTest.java
+++ b/service/src/test/java/lcsb/mapviewer/services/impl/SearchServiceTest.java
@@ -12,7 +12,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -45,7 +45,7 @@ import lcsb.mapviewer.services.ServiceTestFunctions;
 import lcsb.mapviewer.services.utils.SearchIndexer;
 
 public class SearchServiceTest extends ServiceTestFunctions {
-  static Logger logger = Logger.getLogger(SearchServiceTest.class);
+  static Logger logger = LogManager.getLogger(SearchServiceTest.class);
 
   SearchIndexer indexer = new SearchIndexer();
 
diff --git a/service/src/test/java/lcsb/mapviewer/services/impl/UserServiceTest.java b/service/src/test/java/lcsb/mapviewer/services/impl/UserServiceTest.java
index 8b7269e44d022b15336cd5f185fa853614b68b58..bec5b8d11b154652c06a3a13b0fa993d9ac037cd 100644
--- a/service/src/test/java/lcsb/mapviewer/services/impl/UserServiceTest.java
+++ b/service/src/test/java/lcsb/mapviewer/services/impl/UserServiceTest.java
@@ -7,7 +7,7 @@ import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -32,7 +32,7 @@ import lcsb.mapviewer.services.interfaces.ILdapService;
 
 @Rollback(true)
 public class UserServiceTest extends ServiceTestFunctions {
-  static Logger logger = Logger.getLogger(UserServiceTest.class);
+  static Logger logger = LogManager.getLogger(UserServiceTest.class);
 
   User user;
 
diff --git a/service/src/test/java/lcsb/mapviewer/services/search/chemical/ChemicalServiceTest.java b/service/src/test/java/lcsb/mapviewer/services/search/chemical/ChemicalServiceTest.java
index ea455887639afe1a8a89d4097632b053932f5259..130d11205b1fb6b430c38a438a83f0e0c96de62e 100644
--- a/service/src/test/java/lcsb/mapviewer/services/search/chemical/ChemicalServiceTest.java
+++ b/service/src/test/java/lcsb/mapviewer/services/search/chemical/ChemicalServiceTest.java
@@ -7,7 +7,7 @@ import static org.junit.Assert.assertTrue;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -21,7 +21,7 @@ import lcsb.mapviewer.services.ServiceTestFunctions;
 import lcsb.mapviewer.services.search.DbSearchCriteria;
 
 public class ChemicalServiceTest extends ServiceTestFunctions {
-  Logger logger = Logger.getLogger(ChemicalServiceTest.class);
+  Logger logger = LogManager.getLogger(ChemicalServiceTest.class);
 
   @Before
   public void setUp() throws Exception {
diff --git a/service/src/test/java/lcsb/mapviewer/services/search/drug/DrugServiceTest.java b/service/src/test/java/lcsb/mapviewer/services/search/drug/DrugServiceTest.java
index c93d8dd442397f807d16878070eea849be05fb61..0b23329eb18251ac1befdd522b7673a10af125f8 100644
--- a/service/src/test/java/lcsb/mapviewer/services/search/drug/DrugServiceTest.java
+++ b/service/src/test/java/lcsb/mapviewer/services/search/drug/DrugServiceTest.java
@@ -11,7 +11,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -33,7 +33,7 @@ import lcsb.mapviewer.services.ServiceTestFunctions;
 import lcsb.mapviewer.services.search.DbSearchCriteria;
 
 public class DrugServiceTest extends ServiceTestFunctions {
-  Logger logger = Logger.getLogger(DrugServiceTest.class);
+  Logger logger = LogManager.getLogger(DrugServiceTest.class);
 
   @Autowired
   ElementDao elementDao;
diff --git a/service/src/test/java/lcsb/mapviewer/services/search/mirna/MiRNAServiceTest.java b/service/src/test/java/lcsb/mapviewer/services/search/mirna/MiRNAServiceTest.java
index 8049360871938ac2b52d8a06ec9bb079782c7446..6a8c621463d417d2a1b3c56b7cf2b2142871a633 100644
--- a/service/src/test/java/lcsb/mapviewer/services/search/mirna/MiRNAServiceTest.java
+++ b/service/src/test/java/lcsb/mapviewer/services/search/mirna/MiRNAServiceTest.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.services.search.mirna;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -13,7 +13,7 @@ import lcsb.mapviewer.services.ServiceTestFunctions;
 import lcsb.mapviewer.services.search.mirna.IMiRNAService;
 
 public class MiRNAServiceTest extends ServiceTestFunctions {
-  Logger logger = Logger.getLogger(MiRNAServiceTest.class);
+  Logger logger = LogManager.getLogger(MiRNAServiceTest.class);
 
   @Autowired
   protected IMiRNAService miRNAService;
diff --git a/service/src/test/java/lcsb/mapviewer/services/utils/ColorSchemaReaderTest.java b/service/src/test/java/lcsb/mapviewer/services/utils/ColorSchemaReaderTest.java
index 8f38ead287c120fe84ebf7d78c168c6328a9d200..d2a89adac64d2c41e57ae662448a0d11c1a32b22 100644
--- a/service/src/test/java/lcsb/mapviewer/services/utils/ColorSchemaReaderTest.java
+++ b/service/src/test/java/lcsb/mapviewer/services/utils/ColorSchemaReaderTest.java
@@ -18,7 +18,7 @@ import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.commons.io.output.ByteArrayOutputStream;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -35,7 +35,7 @@ import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.services.ServiceTestFunctions;
 
 public class ColorSchemaReaderTest extends ServiceTestFunctions {
-  Logger logger = Logger.getLogger(ColorSchemaReaderTest.class);
+  Logger logger = LogManager.getLogger(ColorSchemaReaderTest.class);
 
   @Before
   public void setUp() throws Exception {
diff --git a/service/src/test/java/lcsb/mapviewer/services/utils/ColorSchemaReaderXlsTest.java b/service/src/test/java/lcsb/mapviewer/services/utils/ColorSchemaReaderXlsTest.java
index 6b4bab84fda41ca22866345b0e765cce9d73b03f..99fab38053e49baa7b262368bff1eb8d7fe5df29 100644
--- a/service/src/test/java/lcsb/mapviewer/services/utils/ColorSchemaReaderXlsTest.java
+++ b/service/src/test/java/lcsb/mapviewer/services/utils/ColorSchemaReaderXlsTest.java
@@ -7,7 +7,7 @@ import static org.junit.Assert.fail;
 import java.awt.Color;
 import java.util.Collection;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -18,7 +18,7 @@ import lcsb.mapviewer.services.ServiceTestFunctions;
 import lcsb.mapviewer.services.utils.ColorSchemaXlsxReader;
 
 public class ColorSchemaReaderXlsTest extends ServiceTestFunctions {
-	Logger	logger	= Logger.getLogger(ColorSchemaReaderXlsTest.class);
+	Logger	logger	= LogManager.getLogger(ColorSchemaReaderXlsTest.class);
 
 	@Before
 	public void setUp() throws Exception {
diff --git a/service/src/test/java/lcsb/mapviewer/services/utils/ColorSchemaReaderXlsxTest.java b/service/src/test/java/lcsb/mapviewer/services/utils/ColorSchemaReaderXlsxTest.java
index 42be532cd5686ea5a9001579f92dead8caa0bd05..f3ddd5e06e3a8510203b3e5e113f0a0c82df3284 100644
--- a/service/src/test/java/lcsb/mapviewer/services/utils/ColorSchemaReaderXlsxTest.java
+++ b/service/src/test/java/lcsb/mapviewer/services/utils/ColorSchemaReaderXlsxTest.java
@@ -7,7 +7,7 @@ import static org.junit.Assert.fail;
 import java.awt.Color;
 import java.util.Collection;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -18,7 +18,7 @@ import lcsb.mapviewer.services.ServiceTestFunctions;
 import lcsb.mapviewer.services.utils.ColorSchemaXlsxReader;
 
 public class ColorSchemaReaderXlsxTest extends ServiceTestFunctions {
-	Logger	logger	= Logger.getLogger(ColorSchemaReaderXlsxTest.class);
+	Logger	logger	= LogManager.getLogger(ColorSchemaReaderXlsxTest.class);
 
 	@Before
 	public void setUp() throws Exception {
diff --git a/service/src/test/java/lcsb/mapviewer/services/utils/EmailSenderTest.java b/service/src/test/java/lcsb/mapviewer/services/utils/EmailSenderTest.java
index 78051d1aa7d0eef8b5674c8e402ec70272cfe994..c07e2e322a4b08e70dc03059e6f7e1eef5f9efee 100644
--- a/service/src/test/java/lcsb/mapviewer/services/utils/EmailSenderTest.java
+++ b/service/src/test/java/lcsb/mapviewer/services/utils/EmailSenderTest.java
@@ -3,7 +3,7 @@ package lcsb.mapviewer.services.utils;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Ignore;
@@ -12,7 +12,7 @@ import org.junit.Test;
 import lcsb.mapviewer.services.ServiceTestFunctions;
 
 public class EmailSenderTest extends ServiceTestFunctions {
-  Logger logger = Logger.getLogger(EmailSenderTest.class);
+  Logger logger = LogManager.getLogger(EmailSenderTest.class);
 
   @Before
   public void setUp() throws Exception {
diff --git a/service/src/test/resources/log4j.properties b/service/src/test/resources/log4j.properties
deleted file mode 100644
index 148f957870899e27c1c8aa017635befdb7ee6e36..0000000000000000000000000000000000000000
--- a/service/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-#Set root logger 's level and its appender to an appender called CONSOLE which is defined below.
-log4j.rootLogger=info, CONSOLE
-
-#Set the behavior of the CONSOLE appender 
-log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
-log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
-log4j.appender.CONSOLE.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-#log4j.appender.CONSOLE.layout.ConversionPattern=%m%n
-
-
-#Set the behavior of the FILE appender 
-log4j.appender.R=org.apache.log4j.FileAppender
-log4j.appender.R.File=${catalina.home}/logs/MapViewer.log
-log4j.appender.R.layout=org.apache.log4j.PatternLayout
-log4j.appender.R.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-
-
-log4j.logger.org.springframework=warn
-log4j.logger.org.hibernate=warn
-log4j.logger.lcsb=debug
-log4j.logger.lcsb.mapviewer.model=info
-log4j.logger.lcsb.mapviewer.persist=info
-log4j.logger.lcsb.mapviewer.annotation.cache.PermanentDatabaseLevelCache=info
\ No newline at end of file
diff --git a/service/src/test/resources/log4j2.properties b/service/src/test/resources/log4j2.properties
new file mode 100644
index 0000000000000000000000000000000000000000..b5eaa32682d177bf266eb6ed4831b4e8f4b9135d
--- /dev/null
+++ b/service/src/test/resources/log4j2.properties
@@ -0,0 +1,25 @@
+rootLogger.level = INFO
+appenders = console
+
+appender.console.type = Console
+appender.console.name = STDOUT
+appender.console.layout.type = PatternLayout
+appender.console.layout.pattern = %d %5p [%t] (%F:%L) - %m%n
+
+rootLogger.appenderRefs = console
+
+rootLogger.appenderRef.console.ref = STDOUT
+
+logger.minerva.name = lcsb
+logger.minerva.level = debug
+logger.minerva-persist.name = lcsb.mapviewer.persist.DbUtils
+logger.minerva-persist.level = info
+logger.minerva-cache.name = lcsb.mapviewer.annotation.cache
+logger.minerva-cache.level = info
+
+
+logger.springframework.name = org.springframework
+logger.springframework.level = warn
+
+logger.hibernate.name = org.hibernate
+logger.hibernate.level = warn
diff --git a/web/pom.xml b/web/pom.xml
index c8e08da45bea6225805381b5d5040afe20d4f762..79a945a8e40352b96d004be743c8b56f19d01112 100644
--- a/web/pom.xml
+++ b/web/pom.xml
@@ -107,10 +107,16 @@
 			<version>${springframework.version}</version>
 		</dependency>
 
+		<!-- Log4J2-->
 		<dependency>
-			<groupId>log4j</groupId>
-			<artifactId>log4j</artifactId>
-			<version>${log4j.version}</version>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-api</artifactId>
+			<version>${log4j2.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-core</artifactId>
+			<version>${log4j2.version}</version>
 		</dependency>
 
 		<dependency>
diff --git a/web/src/main/java/lcsb/mapviewer/web/bean/utils/ApiAccessControlFilter.java b/web/src/main/java/lcsb/mapviewer/web/bean/utils/ApiAccessControlFilter.java
index c09fdbea38caab127cab317cf67ac6ba2bfde026..fd7f2317a5ffc12b6f2332bbdc5ee41fa0ee9dcb 100644
--- a/web/src/main/java/lcsb/mapviewer/web/bean/utils/ApiAccessControlFilter.java
+++ b/web/src/main/java/lcsb/mapviewer/web/bean/utils/ApiAccessControlFilter.java
@@ -10,7 +10,7 @@ import javax.servlet.ServletRequest;
 import javax.servlet.ServletResponse;
 import javax.servlet.http.HttpServletResponse;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * This filter disables caching for API queries.
@@ -23,7 +23,7 @@ public class ApiAccessControlFilter implements Filter {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private final Logger logger = Logger.getLogger(ApiAccessControlFilter.class);
+  private final Logger logger = LogManager.getLogger(ApiAccessControlFilter.class);
 
   @Override
   public void init(FilterConfig config) throws ServletException {
diff --git a/web/src/main/java/lcsb/mapviewer/web/bean/utils/CssContentTypeFilter.java b/web/src/main/java/lcsb/mapviewer/web/bean/utils/CssContentTypeFilter.java
index 344a3d9a457d1afeed86fbbd71d5a1c6997dc343..0694ff89a8f6887078cd63f09b960b742b47b4a8 100644
--- a/web/src/main/java/lcsb/mapviewer/web/bean/utils/CssContentTypeFilter.java
+++ b/web/src/main/java/lcsb/mapviewer/web/bean/utils/CssContentTypeFilter.java
@@ -13,7 +13,7 @@ import javax.servlet.http.HttpServletResponse;
 
 import lcsb.mapviewer.common.MimeType;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * This class sets content type for requests accessing css files. We have to do
@@ -28,7 +28,7 @@ public class CssContentTypeFilter implements Filter {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private final Logger logger = Logger.getLogger(CssContentTypeFilter.class);
+	private final Logger logger = LogManager.getLogger(CssContentTypeFilter.class);
 
 	@Override
 	public void init(FilterConfig config) throws ServletException {
diff --git a/web/src/main/java/lcsb/mapviewer/web/bean/utils/CustomFilter.java b/web/src/main/java/lcsb/mapviewer/web/bean/utils/CustomFilter.java
index 01a704098d04745e4e00a0253af472d4d07c0682..8178a620f502bb90b40888e9f3809f21acd60785 100644
--- a/web/src/main/java/lcsb/mapviewer/web/bean/utils/CustomFilter.java
+++ b/web/src/main/java/lcsb/mapviewer/web/bean/utils/CustomFilter.java
@@ -11,7 +11,7 @@ import javax.servlet.ServletResponse;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * This class should be used only for debug purpose. It wrapps
@@ -26,7 +26,7 @@ public class CustomFilter implements Filter {
 	/**
 	 * Default class logger.
 	 */
-	private final Logger logger = Logger.getLogger(CustomFilter.class);
+	private final Logger logger = LogManager.getLogger(CustomFilter.class);
 
 	@Override
 	public void init(FilterConfig config) throws ServletException {
diff --git a/web/src/main/java/lcsb/mapviewer/web/bean/utils/CustomHttpServletResponseWrapper.java b/web/src/main/java/lcsb/mapviewer/web/bean/utils/CustomHttpServletResponseWrapper.java
index 68051191766455c6aa04d301afc1b6556b76af3b..e106aabe15ac852dc4c81cea41d0079e441cdb5c 100644
--- a/web/src/main/java/lcsb/mapviewer/web/bean/utils/CustomHttpServletResponseWrapper.java
+++ b/web/src/main/java/lcsb/mapviewer/web/bean/utils/CustomHttpServletResponseWrapper.java
@@ -9,7 +9,7 @@ import javax.servlet.http.Cookie;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponseWrapper;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * This class should be used only for debugging. It's a wrapper to standard JSF
@@ -27,7 +27,7 @@ public class CustomHttpServletResponseWrapper extends HttpServletResponseWrapper
 	/**
 	 * Default class logger.
 	 */
-	private Logger logger = Logger.getLogger(CustomHttpServletResponseWrapper.class);
+	private Logger logger = LogManager.getLogger(CustomHttpServletResponseWrapper.class);
 
 	/**
 	 * Default constructor.
diff --git a/web/src/main/java/lcsb/mapviewer/web/bean/utils/JsfAjaxAccessControlAllowFilter.java b/web/src/main/java/lcsb/mapviewer/web/bean/utils/JsfAjaxAccessControlAllowFilter.java
index 9651247cb62961fdd12acad57ab12249ae2f04ce..4c6b8506a810bf7bdcb0c5c1bd2fded0580793c5 100644
--- a/web/src/main/java/lcsb/mapviewer/web/bean/utils/JsfAjaxAccessControlAllowFilter.java
+++ b/web/src/main/java/lcsb/mapviewer/web/bean/utils/JsfAjaxAccessControlAllowFilter.java
@@ -11,7 +11,7 @@ import javax.servlet.ServletResponse;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Configuration;
 
@@ -27,7 +27,7 @@ public class JsfAjaxAccessControlAllowFilter implements Filter {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private final Logger logger = Logger.getLogger(JsfAjaxAccessControlAllowFilter.class);
+  private final Logger logger = LogManager.getLogger(JsfAjaxAccessControlAllowFilter.class);
 
   @Override
   public void init(FilterConfig config) throws ServletException {
diff --git a/web/src/main/java/lcsb/mapviewer/web/bean/utils/PrimefacesUtils.java b/web/src/main/java/lcsb/mapviewer/web/bean/utils/PrimefacesUtils.java
index 1b1deb0050422125c9b1f269e27120ce9744bb06..432a33a9f3fd31f364a956aa3ec237d479e2d14e 100644
--- a/web/src/main/java/lcsb/mapviewer/web/bean/utils/PrimefacesUtils.java
+++ b/web/src/main/java/lcsb/mapviewer/web/bean/utils/PrimefacesUtils.java
@@ -9,7 +9,7 @@ import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
 import javax.servlet.http.HttpServletRequest;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.primefaces.context.RequestContext;
 import org.springframework.web.jsf.FacesContextUtils;
 
@@ -23,7 +23,7 @@ public class PrimefacesUtils implements IPrimefacesUtils {
 	/**
 	 * Default class logger.
 	 */
-	private final transient Logger	logger	= Logger.getLogger(PrimefacesUtils.class);
+	private final transient Logger	logger	= LogManager.getLogger(PrimefacesUtils.class);
 
 	/**
 	 * Default constructor.
diff --git a/web/src/main/java/lcsb/mapviewer/web/bean/utils/StartupBean.java b/web/src/main/java/lcsb/mapviewer/web/bean/utils/StartupBean.java
index 7a6b35b3c4d271603c1c81cd477627e179526af7..17fad52ec4708266de79ce5214edf3d6fdd3adb4 100644
--- a/web/src/main/java/lcsb/mapviewer/web/bean/utils/StartupBean.java
+++ b/web/src/main/java/lcsb/mapviewer/web/bean/utils/StartupBean.java
@@ -1,17 +1,15 @@
 package lcsb.mapviewer.web.bean.utils;
 
 import java.io.File;
-import java.io.FileInputStream;
 import java.io.IOException;
-import java.io.InputStream;
-import java.util.Properties;
 
 import javax.annotation.PostConstruct;
 import javax.faces.context.FacesContext;
 import javax.servlet.ServletContext;
 
-import org.apache.log4j.Logger;
-import org.apache.log4j.PropertyConfigurator;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.core.LoggerContext;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -38,7 +36,7 @@ public class StartupBean {
   /**
    * Default class logger.
    */
-  private final transient Logger logger = Logger.getLogger(StartupBean.class);
+  private final transient Logger logger = LogManager.getLogger(StartupBean.class);
 
   /**
    * Dao used to access information about projects.
@@ -89,15 +87,12 @@ public class StartupBean {
   }
 
   private void loadCustomLog4jProperties() {
-    String filename = "/etc/minerva/log4j.properties";
+    String filename = "/etc/minerva/log4j2.properties";
     File file = new File(filename);
     if (file.exists()) {
       try {
-        Properties props = new Properties();
-        InputStream configStream = new FileInputStream(file);
-        props.load(configStream);
-        configStream.close();
-        PropertyConfigurator.configure(props);
+        LoggerContext context = (org.apache.logging.log4j.core.LoggerContext) LogManager.getContext(false);
+        context.setConfigLocation(file.toURI());
         logger.info("log4j  configuration loaded from: " + filename);
       } catch (Exception e) {
         logger.error("Problem with loading log4j configuration: " + filename);
diff --git a/web/src/main/java/lcsb/mapviewer/web/bean/utils/VersionResourceHandler.java b/web/src/main/java/lcsb/mapviewer/web/bean/utils/VersionResourceHandler.java
index 1fc05f965b40a59115f0bc6759b91a3ab8882958..4a192a29b8a89dd8533311416a1e7cbe88aabd91 100644
--- a/web/src/main/java/lcsb/mapviewer/web/bean/utils/VersionResourceHandler.java
+++ b/web/src/main/java/lcsb/mapviewer/web/bean/utils/VersionResourceHandler.java
@@ -7,7 +7,7 @@ import javax.faces.application.ResourceWrapper;
 
 import lcsb.mapviewer.services.impl.ConfigurationService;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * This class is used to provide url for jsf resource files with "?v=version"
@@ -21,7 +21,7 @@ public class VersionResourceHandler extends ResourceHandlerWrapper {
 	/**
 	 * Default class logger.
 	 */
-	private final Logger		logger	= Logger.getLogger(VersionResourceHandler.class);
+	private final Logger		logger	= LogManager.getLogger(VersionResourceHandler.class);
 
 	/**
 	 * SVN version of the system.
diff --git a/web/src/main/java/lcsb/mapviewer/web/bean/utils/XFrameAccessControlFilter.java b/web/src/main/java/lcsb/mapviewer/web/bean/utils/XFrameAccessControlFilter.java
index 84efad3f1d1585f901579da84d9904a6e3300045..f401b29f6f76fcab3e08afafa275cb72c053ecd1 100644
--- a/web/src/main/java/lcsb/mapviewer/web/bean/utils/XFrameAccessControlFilter.java
+++ b/web/src/main/java/lcsb/mapviewer/web/bean/utils/XFrameAccessControlFilter.java
@@ -12,7 +12,7 @@ import javax.servlet.ServletResponse;
 import javax.servlet.http.HttpServletResponse;
 
 import org.apache.commons.validator.routines.UrlValidator;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 import lcsb.mapviewer.common.Configuration;
 
@@ -27,7 +27,7 @@ public class XFrameAccessControlFilter implements Filter {
    * Default class logger.
    */
   @SuppressWarnings("unused")
-  private final Logger logger = Logger.getLogger(XFrameAccessControlFilter.class);
+  private final Logger logger = LogManager.getLogger(XFrameAccessControlFilter.class);
 
   @Override
   public void init(FilterConfig config) throws ServletException {
diff --git a/web/src/main/java/lcsb/mapviewer/web/config/WebAppInitializer.java b/web/src/main/java/lcsb/mapviewer/web/config/WebAppInitializer.java
index cde1173065dbf35895da25efe6341549c8b720d3..1f2fcba2fca238cf02ba87b394d5b815a01fbdda 100644
--- a/web/src/main/java/lcsb/mapviewer/web/config/WebAppInitializer.java
+++ b/web/src/main/java/lcsb/mapviewer/web/config/WebAppInitializer.java
@@ -1,9 +1,8 @@
 package lcsb.mapviewer.web.config;
 
-import java.io.InputStream;
+import java.net.URL;
 import java.util.Arrays;
 import java.util.HashSet;
-import java.util.Properties;
 
 import javax.servlet.FilterRegistration;
 import javax.servlet.ServletContext;
@@ -11,8 +10,9 @@ import javax.servlet.ServletRegistration;
 import javax.servlet.SessionCookieConfig;
 import javax.servlet.SessionTrackingMode;
 
-import org.apache.log4j.Logger;
-import org.apache.log4j.PropertyConfigurator;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.core.LoggerContext;
 import org.primefaces.webapp.filter.FileUploadFilter;
 import org.springframework.security.web.session.HttpSessionEventPublisher;
 import org.springframework.web.WebApplicationInitializer;
@@ -30,7 +30,7 @@ import lcsb.mapviewer.web.bean.utils.JsfAjaxAccessControlAllowFilter;
 import lcsb.mapviewer.web.bean.utils.XFrameAccessControlFilter;
 
 public class WebAppInitializer implements WebApplicationInitializer {
-  Logger logger = Logger.getLogger(WebAppInitializer.class);
+  Logger logger = LogManager.getLogger(WebAppInitializer.class);
 
   @Override
   public void onStartup(ServletContext container) {
@@ -58,13 +58,11 @@ public class WebAppInitializer implements WebApplicationInitializer {
     assert container.setInitParameter("javax.faces.DEFAULT_SUFFIX", ".xhtml");
     assert container.setInitParameter("javax.faces.FACELETS_SKIP_COMMENTS", "true");
 
-    String file = "/WEB-INF/resources/log4j.properties";
+    String file = "/WEB-INF/resources/log4j2.properties";
     try {
-      Properties props = new Properties();
-      InputStream configStream = container.getResourceAsStream(file);
-      props.load(configStream);
-      configStream.close();
-      PropertyConfigurator.configure(props);
+      URL configStream = container.getResource(file);
+      LoggerContext context = (org.apache.logging.log4j.core.LoggerContext) LogManager.getContext(false);
+      context.setConfigLocation(configStream.toURI());
     } catch (Exception e) {
       logger.error("Problem with loading log4j configuration: " + file);
     }
@@ -73,8 +71,8 @@ public class WebAppInitializer implements WebApplicationInitializer {
     dispatcherContext.setParent(rootContext);
     dispatcherContext.register(SpringWebConfig.class);
 
-    ServletRegistration.Dynamic dispatcher =
-        container.addServlet("dispatcher", new DispatcherServlet(dispatcherContext));
+    ServletRegistration.Dynamic dispatcher = container.addServlet("dispatcher",
+        new DispatcherServlet(dispatcherContext));
     dispatcher.setLoadOnStartup(1);
     dispatcher.addMapping("/api/*");
 
@@ -101,7 +99,6 @@ public class WebAppInitializer implements WebApplicationInitializer {
     FilterRegistration.Dynamic apiFilterReg = container.addFilter("apiFilter", apiFilter);
     apiFilterReg.addMappingForUrlPatterns(null, true, "/api/*");
 
-
     /*
      * =============== COOKIE SETTINGS ===============
      */
diff --git a/web/src/main/java/lcsb/mapviewer/web/converter/MiriamTypeConverter.java b/web/src/main/java/lcsb/mapviewer/web/converter/MiriamTypeConverter.java
index f32ef9d90c8c4bf9a382da241108e86c7d297e86..6e2ec9290cc22d60d2c0dc8cc901b533396e8425 100644
--- a/web/src/main/java/lcsb/mapviewer/web/converter/MiriamTypeConverter.java
+++ b/web/src/main/java/lcsb/mapviewer/web/converter/MiriamTypeConverter.java
@@ -10,7 +10,7 @@ import javax.faces.context.FacesContext;
 import javax.faces.convert.Converter;
 import javax.faces.convert.FacesConverter;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 
 /**
  * Converter used for {@link lcsb.mapviewer.model.map.MiriamType} in primefaces
@@ -26,7 +26,7 @@ public class MiriamTypeConverter implements Converter {
 	 * Default class logger.
 	 */
 	@SuppressWarnings("unused")
-	private Logger										 logger		= Logger.getLogger(MiriamTypeConverter.class);
+	private Logger										 logger		= LogManager.getLogger(MiriamTypeConverter.class);
 
 	/**
 	 * Map between custom uuid and MiriamType object.
diff --git a/web/src/main/java/lcsb/mapviewer/web/security/MvUsernamePasswordAuthenticationFilter.java b/web/src/main/java/lcsb/mapviewer/web/security/MvUsernamePasswordAuthenticationFilter.java
index 19e8ee277fb767aad395035ecbae2c81974ac049..abad045009d020e5917c7ff44b1c4c31b9866c44 100644
--- a/web/src/main/java/lcsb/mapviewer/web/security/MvUsernamePasswordAuthenticationFilter.java
+++ b/web/src/main/java/lcsb/mapviewer/web/security/MvUsernamePasswordAuthenticationFilter.java
@@ -7,7 +7,7 @@ import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.*;
 import org.springframework.security.core.Authentication;
 import org.springframework.security.core.AuthenticationException;
 import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
@@ -23,7 +23,7 @@ public class MvUsernamePasswordAuthenticationFilter extends UsernamePasswordAuth
 	/**
 	 * Default class logger.
 	 */
-	private static Logger	logger	= Logger.getLogger(MvUsernamePasswordAuthenticationFilter.class);
+	private static Logger	logger	= LogManager.getLogger(MvUsernamePasswordAuthenticationFilter.class);
 
 	@Override
 	protected void successfulAuthentication(HttpServletRequest request, HttpServletResponse response, FilterChain chain, Authentication authResult)
diff --git a/web/src/main/webapp/WEB-INF/resources/log4j.properties b/web/src/main/webapp/WEB-INF/resources/log4j.properties
deleted file mode 100644
index cce0380c86937576a3e43eb5c8567cfe25a20c0f..0000000000000000000000000000000000000000
--- a/web/src/main/webapp/WEB-INF/resources/log4j.properties
+++ /dev/null
@@ -1,38 +0,0 @@
-#Set root logger 's level and its appender to an appender called CONSOLE which is defined below.
-log4j.rootLogger=info, CONSOLE, R
-
-#Set the behavior of the CONSOLE appender 
-log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
-log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
-log4j.appender.CONSOLE.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-#log4j.appender.CONSOLE.layout.ConversionPattern=%m%n
-
-
-#Set the behavior of the FILE appender 
-log4j.appender.R=org.apache.log4j.FileAppender
-log4j.appender.R.File=${catalina.base}/logs/minerva.txt
-log4j.appender.R.layout=org.apache.log4j.PatternLayout
-log4j.appender.R.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-
-
-log4j.logger.org.springframework=warn
-log4j.logger.org.hibernate=warn
-log4j.logger.lcsb=debug
-log4j.logger.lcsb.mapviewer.annotation.cache=info
-log4j.logger.lcsb.mapviewer.persist.DbUtils=info
-
-log4j.logger.lcsb.mapviewer.converter.graphics.geometry=info
-
-log4j.logger.lcsb.mapviewer.db.model.map.ElementComparator=warn
-log4j.logger.lcsb.mapviewer.common.comparator=info
-log4j.logger.lcsb.mapviewer.db.model.map.layout.alias.AliasComparator=warn
-log4j.logger.lcsb.mapviewer.db.model.map.ModelComparator=warn
-log4j.logger.lcsb.mapviewer.db.model.map.species.SpeciesComparator=warn
-log4j.logger.lcsb.mapviewer.db.model.map.layout.alias.SpeciesAliasComparator=warn
-log4j.logger.lcsb.mapviewer.db.model.map.reaction.ReactionComparator=warn
-log4j.logger.lcsb.mapviewer.db.model.map.species.ProteinComparator=warn
-log4j.logger.lcsb.mapviewer.db.model.map.layout.alias.ComplexAliasComparator=warn
-log4j.logger.lcsb.mapviewer.db.model.map.Element=info
-
-#Silence miriam debug logs 
-log4j.logger.uk.ac.ebi.miriam.lib=warn
diff --git a/web/src/main/webapp/WEB-INF/resources/log4j2.properties b/web/src/main/webapp/WEB-INF/resources/log4j2.properties
new file mode 100644
index 0000000000000000000000000000000000000000..0ebb1f5880ed1734dec10156e04ff336f73286f3
--- /dev/null
+++ b/web/src/main/webapp/WEB-INF/resources/log4j2.properties
@@ -0,0 +1,39 @@
+#Set root logger 's level
+
+appenders = console, file
+
+#Set the behavior of the CONSOLE appender 
+appender.console.type = Console
+appender.console.name = STDOUT
+appender.console.layout.type = PatternLayout
+appender.console.layout.pattern = %d %5p [%t] (%F:%L) - %m%n
+
+#Set the behavior of the FILE appender 
+appender.file.type = File
+appender.file.name = LogToFile
+appender.file.fileName=${sys:catalina.base}/logs/minerva.txt
+appender.file.layout.type=PatternLayout
+appender.file.layout.pattern= %d %5p [%t] (%F:%L) - %m%n
+
+logger.minerva.name = lcsb
+logger.minerva.level = debug
+#silence some debug information
+logger.minerva-persist.name = lcsb.mapviewer.persist.DbUtils
+logger.minerva-persist.level = info
+
+logger.minerva-cache.name = lcsb.mapviewer.annotation.cache
+logger.minerva-cache.level = info
+
+#remove spring info messages
+logger.springframework.name = org.springframework
+logger.springframework.level = warn
+
+#remove hibernate info messages
+logger.hibernate.name = org.hibernate
+logger.hibernate.level = warn
+
+rootLogger.level = info
+rootLogger.appenderRefs = console, file
+rootLogger.appenderRef.console.ref = STDOUT
+rootLogger.appenderRef.file.ref = LogToFile
+
diff --git a/web/src/test/resources/log4j.properties b/web/src/test/resources/log4j.properties
deleted file mode 100644
index c36f0e8f0f2d1bc6becf9ac41a23e8ecd76ef358..0000000000000000000000000000000000000000
--- a/web/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-#Set root logger 's level and its appender to an appender called CONSOLE which is defined below.
-log4j.rootLogger=info, CONSOLE
-
-#Set the behavior of the CONSOLE appender 
-log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
-log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
-log4j.appender.CONSOLE.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-#log4j.appender.CONSOLE.layout.ConversionPattern=%m%n
-
-
-#Set the behavior of the FILE appender 
-log4j.appender.R=org.apache.log4j.FileAppender
-log4j.appender.R.File=${catalina.home}/logs/MapViewer.log
-log4j.appender.R.layout=org.apache.log4j.PatternLayout
-log4j.appender.R.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
-
-
-log4j.logger.org.springframework=warn
-log4j.logger.org.hibernate=warn
-log4j.logger.lcsb=debug
-log4j.logger.lcsb.mapviewer.annotation.cache=info
-log4j.logger.lcsb.mapviewer.persist=info
\ No newline at end of file
diff --git a/web/src/test/resources/log4j2.properties b/web/src/test/resources/log4j2.properties
new file mode 100644
index 0000000000000000000000000000000000000000..b5eaa32682d177bf266eb6ed4831b4e8f4b9135d
--- /dev/null
+++ b/web/src/test/resources/log4j2.properties
@@ -0,0 +1,25 @@
+rootLogger.level = INFO
+appenders = console
+
+appender.console.type = Console
+appender.console.name = STDOUT
+appender.console.layout.type = PatternLayout
+appender.console.layout.pattern = %d %5p [%t] (%F:%L) - %m%n
+
+rootLogger.appenderRefs = console
+
+rootLogger.appenderRef.console.ref = STDOUT
+
+logger.minerva.name = lcsb
+logger.minerva.level = debug
+logger.minerva-persist.name = lcsb.mapviewer.persist.DbUtils
+logger.minerva-persist.level = info
+logger.minerva-cache.name = lcsb.mapviewer.annotation.cache
+logger.minerva-cache.level = info
+
+
+logger.springframework.name = org.springframework
+logger.springframework.level = warn
+
+logger.hibernate.name = org.hibernate
+logger.hibernate.level = warn