Skip to content
Snippets Groups Projects

Resolve "Export to SBGN does not export some reactions"

Merged Piotr Gawron requested to merge 713-export-to-sbgn-does-not-export-some-reactions into master
33 files
+ 491
73
Compare changes
  • Side-by-side
  • Inline
Files
33
@@ -26,6 +26,8 @@ import lcsb.mapviewer.common.geometry.ColorParser;
import lcsb.mapviewer.converter.ConverterException;
import lcsb.mapviewer.converter.graphics.bioEntity.element.species.SpeciesConverter;
import lcsb.mapviewer.converter.graphics.bioEntity.reaction.ReactionConverter;
import lcsb.mapviewer.model.LogMarker;
import lcsb.mapviewer.model.ProjectLogEntryType;
import lcsb.mapviewer.model.graphics.ArrowType;
import lcsb.mapviewer.model.graphics.PolylineData;
import lcsb.mapviewer.model.map.compartment.Compartment;
@@ -66,18 +68,15 @@ public class SbgnmlXmlExporter {
*/
private static final double PROCESS_PORT_DISTANCE = 10.0;
/**
* Length of random alphabetic string added in the begining of ID, if it is a
* Length of random alphabetic string added in the beginning of ID, if it is a
* number. SBGN-ML doesn't accept numbers as ID.
*/
private static final int ID_RANDOM_STRING_LENGTH = 5;
/**
* Helps in providing human readable identifiers of elements for logging.
*/
private ElementUtils eu = new ElementUtils();
/**
* Default class logger.
*/
private Logger logger = LogManager.getLogger(SbgnmlXmlExporter.class.getName());
private Logger logger = LogManager.getLogger();
/**
* Counter of the arcs parsed so far, used in generating arc's id.
*/
@@ -141,7 +140,7 @@ public class SbgnmlXmlExporter {
try {
map.getArc().add(getArcFromReducedReaction(reaction));
} catch (InvalidArgumentException e) {
logger.warn(eu.getElementTag(reaction) + "Invalid arc type."
logger.warn(new LogMarker(ProjectLogEntryType.EXPORT_ISSUE, reaction), "Invalid arc type."
+ " Reduced notation reaction found of type that is not compliant with SBGN-ML format.");
}
continue;
@@ -263,7 +262,7 @@ public class SbgnmlXmlExporter {
float height = structuralState.getHeight().floatValue();
bbox.setH(height);
bbox.setW(width);
bbox.setX((float) structuralState.getPosition().getX());
bbox.setY((float) structuralState.getPosition().getY());
@@ -423,8 +422,8 @@ public class SbgnmlXmlExporter {
return GlyphClazz.UNSPECIFIED_ENTITY;
}
logger.warn(eu.getElementTag(element)
+ "Element type is not supported by SBGN-ML format. Unspecified Entity type assigned.");
logger.warn(new LogMarker(ProjectLogEntryType.EXPORT_ISSUE, element),
"Element type is not supported by SBGN-ML format. Unspecified Entity type assigned.");
return GlyphClazz.UNSPECIFIED_ENTITY;
}
@@ -721,8 +720,8 @@ public class SbgnmlXmlExporter {
}
if (reaction.getProducts().get(0).getElement() instanceof Phenotype) {
logger.warn(eu.getElementTag(reaction.getProducts().get(0).getElement())
+ "Found Phenotype being a reactant in process. That is discouraged");
logger.warn(new LogMarker(ProjectLogEntryType.PARSING_ISSUE, reaction.getProducts().get(0).getElement()),
"Found Phenotype being a reactant in process. That is discouraged");
}
arc.setSource(sourceTargetMap.get(reaction.getReactants().get(0).getElement().getElementId()));
@@ -820,8 +819,9 @@ public class SbgnmlXmlExporter {
try {
arcList.add(getArcFromNode(node, glyphList));
} catch (InvalidArgumentException ex) {
logger.warn(
eu.getElementTag(node) + "Node skipped in export process, since it is not compliant with SBGN-ML format.");
logger.warn(new LogMarker(ProjectLogEntryType.EXPORT_ISSUE, node),
new ElementUtils().getElementTag(node.getElement()) +
"Node skipped in export process, since it is not compliant with SBGN-ML format.");
continue;
}
}
@@ -839,7 +839,7 @@ public class SbgnmlXmlExporter {
try {
arcList.add(getArcFromNode(node, glyphList));
} catch (InvalidArgumentException ex) {
logger.warn("Node skipped in export process, since it is not compliant with SBGN-ML format: "
logger.warn("Node skipped in export process, since it is not compliant with SBGN-ML format."
+ node.getClass().getName());
continue;
}
Loading