Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Gitlab will go into maintenance Friday 3rd February from 9:00 to 10:00
Open sidebar
Devrim Gunyel
core
Commits
b1659f24
Commit
b1659f24
authored
Apr 25, 2019
by
Piotr Gawron
Browse files
Merge tag 'v12.2.3' into merge-12.2.3
parents
a4e4b117
7e538e36
Changes
23
Hide whitespace changes
Inline
Side-by-side
CHANGELOG
View file @
b1659f24
...
...
@@ -10,7 +10,7 @@ minerva (12.3.0~alpha.0) unstable; urgency=low
* Small improvement: New comment dialog does not contain content of previous
comment dialog (#680)
* Small improvement: Left logo is configurable (#731)
* Small improvement: list of element types in choose annotator dialog is
* Small improvement: list of element types in choose annotator dialog is
sorted (#758)
* Small improvement: Plugin API provides list of overview images (#702)
* Small improvement: Plugin API allows to show/hide overview images (#702)
...
...
@@ -37,13 +37,13 @@ minerva (12.3.0~alpha.0) unstable; urgency=low
(#591)
* Small improvement: uploading sbml file should automatically discover a file
type (#784)
* Small improvement: when plugin listeners crash the system notifies user
* Small improvement: when plugin listeners crash the system notifies user
about problem with a plugin (#767)
* Small improvement: when exporting reaction and elements there is
* Small improvement: when exporting reaction and elements there is
possibility to filter by (sub)map (#615)
* Small improvement: during first opening of a map, the zoom level is
* Small improvement: during first opening of a map, the zoom level is
automatically computed if no default information is provided (#776)
* Small improvement: when adding new project columns "Root map", "Mapping
* Small improvement: when adding new project columns "Root map", "Mapping
file" and "Map type" are merged (#700)
* Small improvement: allow admin to disable CORS check (#802)
* Bug fix: progress bar of gene genome mapping upload is refreshing properly
...
...
@@ -54,13 +54,30 @@ minerva (12.3.0~alpha.0) unstable; urgency=low
"Unknown Inhibition"
reactions
(#
664
)
*
Bug
fix
:
"Unknown Catalysis"
and
"Unknown Inhibition"
reaction
end
is
slightly
separated
from
target
phenotype
(#
664
)
*
Bug
fix
:
order
of
genomes
in
admin
panel
doesn
't change after refreshing
*
Bug
fix
:
order
of
genomes
in
admin
panel
doesn
't change after refreshing
list of genomes (#761)
* Bug fix: fixing situation when Molart started with variation overlay not
* Bug fix: fixing situation when Molart started with variation overlay not
having the aa change information
* Bug fix: plugin contect element width is adjusted when link to tabs are
* Bug fix: plugin contect element width is adjusted when link to tabs are
wrapped in more than one line (#758)
minerva (12.2.3) stable; urgency=medium
* Bug fix: sorting of entries in "Edit project->overlays" dialog fixed (#790)
* Bug fix: searching of chemicals stopped working due to expired SSL
certificate on https://ctdbase.org/
* Bug fix: remove button is disabled after starting removing of the data
overlay (#791)
* Bug fix: search autocomplete hint could be initially hidden (#793)
* Bug fix: updating terms of use could crash when list of users was removed
in separate tab or by another user (#797)
* Bug fix: name of the checkbox in ADD PROJECT window adjusted (#799)
* Bug fix: when user didn'
t
have
privileges
to
remove
comments
the
button
was
active
on
pages
other
than
page
1
(#
792
)
*
Bug
fix
:
export
of
reaction
to
SBML
didn
't work when lines on the map were
too short (#805)
-- Piotr Gawron <piotr.gawron@uni.lu> Wed, 24 Apr 2019 17:00:00 +0200
minerva (12.2.2) stable; urgency=medium
* Bug fix: downloading overlays didn'
t
work
from
admin
panel
when
project
with
different
id
than
default
map
was
accessed
...
...
annotation/src/main/java/lcsb/mapviewer/annotation/services/ChemicalParser.java
View file @
b1659f24
...
...
@@ -70,18 +70,18 @@ public class ChemicalParser extends CachableInterface implements IExternalServic
/**
* Home page of ctd database.
*/
static
final
String
URL
=
"http
s
://ctdbase.org/"
;
static
final
String
URL
=
"http://ctdbase.org/"
;
/**
* URL to get a list of chemicals by disease id.
*/
public
static
final
String
DISEASE_URL
=
"https://ctdbase.org/
detail.go?6578706f7274=1&d-1332398-e=5&view=chem&"
public
static
final
String
DISEASE_URL
=
URL
+
"
detail.go?6578706f7274=1&d-1332398-e=5&view=chem&"
+
"type=disease&acc=MESH%3A"
;
/**
* URL to get a list of chemicals by gene id.
*/
public
static
final
String
DISEASE_GENE_URL
=
"https://ctdbase.org/
detail.go?slimTerm=all&6578706f7274=1&qid=3464576&"
public
static
final
String
DISEASE_GENE_URL
=
URL
+
"
detail.go?slimTerm=all&6578706f7274=1&qid=3464576&"
+
"d-1332398-e=5&view=disease&type=gene&assnType=curated&acc="
;
/**
...
...
@@ -404,10 +404,10 @@ public class ChemicalParser extends CachableInterface implements IExternalServic
}
if
(
result
!=
null
)
{
MeSH
mesh
=
meshParser
.
getMeSH
(
result
.
getChemicalId
());
if
(
mesh
!=
null
)
{
result
.
addSynonyms
(
mesh
.
getSynonyms
());
if
(
mesh
!=
null
)
{
result
.
addSynonyms
(
mesh
.
getSynonyms
());
}
else
{
logger
.
warn
(
"Problematic mesh id: "
+
result
.
getChemicalId
());
logger
.
warn
(
"Problematic mesh id: "
+
result
.
getChemicalId
());
}
}
...
...
@@ -486,7 +486,7 @@ public class ChemicalParser extends CachableInterface implements IExternalServic
if
(
entrez
==
null
)
{
invalidHgnc
.
add
(
md
);
}
else
{
String
query
=
"https://ctdbase.org/
detail.go?type=gene&view=ixn&chemAcc="
+
chemID
.
getResource
()
+
"&acc="
String
query
=
URL
+
"
detail.go?type=gene&view=ixn&chemAcc="
+
chemID
.
getResource
()
+
"&acc="
+
entrez
.
getResource
();
String
referencesPage
=
getWebPageContent
(
query
);
Matcher
matcher
=
pattern
.
matcher
(
referencesPage
);
...
...
@@ -494,7 +494,7 @@ public class ChemicalParser extends CachableInterface implements IExternalServic
idx
.
add
(
matcher
.
group
(
1
));
}
for
(
String
string
:
idx
)
{
String
query2
=
"https://ctdbase.org/
detail.go?6578706f7274=1&d-1340579-e=5&type=relationship&ixnId="
String
query2
=
URL
+
"
detail.go?6578706f7274=1&d-1340579-e=5&type=relationship&ixnId="
+
string
;
String
referencesPage2
=
getWebPageContent
(
query2
);
String
[]
lines
=
referencesPage2
.
split
(
"\n"
);
...
...
annotation/src/test/java/lcsb/mapviewer/annotation/services/DrugbankHTMLParserTest.java
View file @
b1659f24
...
...
@@ -156,7 +156,6 @@ public class DrugbankHTMLParserTest extends AnnotationTestFunctions {
assertNotNull
(
drug
);
assertTrue
(
drug
.
getBrandNames
().
contains
(
"PK-Merz"
));
assertTrue
(
drug
.
getBrandNames
().
contains
(
"Symadine"
));
assertTrue
(
drug
.
getBrandNames
().
contains
(
"Symmetrel"
));
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
throw
e
;
...
...
converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlBioEntityExporter.java
View file @
b1659f24
...
...
@@ -37,6 +37,7 @@ import lcsb.mapviewer.converter.annotation.XmlAnnotationParser;
import
lcsb.mapviewer.model.graphics.ArrowType
;
import
lcsb.mapviewer.model.map.BioEntity
;
import
lcsb.mapviewer.model.map.InconsistentModelException
;
import
lcsb.mapviewer.modelutils.map.ElementUtils
;
public
abstract
class
SbmlBioEntityExporter
<
T
extends
BioEntity
,
S
extends
org
.
sbml
.
jsbml
.
AbstractNamedSBase
>
{
/**
...
...
@@ -80,18 +81,28 @@ public abstract class SbmlBioEntityExporter<T extends BioEntity, S extends org.s
public
void
exportElements
()
throws
InconsistentModelException
{
Collection
<
T
>
speciesList
=
getElementList
();
for
(
T
species
:
speciesList
)
{
S
sbmlElement
=
getSbmlElement
(
species
);
for
(
T
bioEntity
:
speciesList
)
{
try
{
S
sbmlElement
=
getSbmlElement
(
bioEntity
);
if
(
sbmlElementByElementId
.
get
(
species
.
getElementId
())
!=
null
)
{
throw
new
InconsistentModelException
(
"More than one species with id: "
+
species
.
getElementId
());
if
(
sbmlElementByElementId
.
get
(
bioEntity
.
getElementId
())
!=
null
)
{
throw
new
InconsistentModelException
(
"More than one species with id: "
+
bioEntity
.
getElementId
());
}
sbmlElementByElementId
.
put
(
bioEntity
.
getElementId
(),
sbmlElement
);
}
catch
(
Exception
e
)
{
throw
new
InconsistentModelException
(
new
ElementUtils
().
getElementTag
(
bioEntity
)
+
"Problem with exporting bioEntity"
,
e
);
}
sbmlElementByElementId
.
put
(
species
.
getElementId
(),
sbmlElement
);
}
if
(
isExtensionEnabled
(
SbmlExtension
.
LAYOUT
))
{
for
(
T
species
:
speciesList
)
{
AbstractReferenceGlyph
elementGlyph
=
createGlyph
(
species
);
sbmlGlyphByElementId
.
put
(
species
.
getElementId
(),
elementGlyph
);
for
(
T
bioEntity
:
speciesList
)
{
try
{
AbstractReferenceGlyph
elementGlyph
=
createGlyph
(
bioEntity
);
sbmlGlyphByElementId
.
put
(
bioEntity
.
getElementId
(),
elementGlyph
);
}
catch
(
Exception
e
)
{
throw
new
InconsistentModelException
(
new
ElementUtils
().
getElementTag
(
bioEntity
)
+
"Problem with exporting bioEntity"
,
e
);
}
}
}
}
...
...
@@ -293,7 +304,7 @@ public abstract class SbmlBioEntityExporter<T extends BioEntity, S extends org.s
BoundingBox
boundingBox
=
createBoundingBox
(-
2
,
0
,
4
,
4
);
result
.
getGroup
().
setFill
(
getColorDefinition
(
Color
.
WHITE
).
getId
());
result
.
setBoundingBox
(
boundingBox
);
Ellipse
ellipse
=
new
Ellipse
();
Ellipse
ellipse
=
new
Ellipse
();
ellipse
.
setAbsoluteCx
(
false
);
ellipse
.
setAbsoluteCy
(
false
);
ellipse
.
setAbsoluteRx
(
true
);
...
...
@@ -365,7 +376,7 @@ public abstract class SbmlBioEntityExporter<T extends BioEntity, S extends org.s
polygon
.
addElement
(
createRenderPoint
(
33
,
100
));
polygon
.
addElement
(
createRenderPoint
(
33
,
0
));
result
.
getGroup
().
addElement
(
polygon
);
Polygon
crossBar
=
new
Polygon
();
crossBar
.
addElement
(
createRenderPoint
(
0
,
0
));
crossBar
.
addElement
(
createRenderPoint
(
0
,
100
));
...
...
@@ -407,12 +418,11 @@ public abstract class SbmlBioEntityExporter<T extends BioEntity, S extends org.s
}
public
void
setProvideDefaults
(
boolean
provideDefaults
)
{
this
.
provideDefaults
=
provideDefaults
;
this
.
provideDefaults
=
provideDefaults
;
}
protected
boolean
isProvideDefaults
()
{
return
provideDefaults
;
}
}
converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlParser.java
View file @
b1659f24
...
...
@@ -229,6 +229,7 @@ public class SbmlParser extends Converter {
}
}
}
return
true
;
}
...
...
converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionExporter.java
View file @
b1659f24
...
...
@@ -49,6 +49,7 @@ import lcsb.mapviewer.model.map.reaction.Reactant;
import
lcsb.mapviewer.model.map.reaction.Reaction
;
import
lcsb.mapviewer.model.map.reaction.ReactionNode
;
import
lcsb.mapviewer.model.map.species.Element
;
import
lcsb.mapviewer.modelutils.map.ElementUtils
;
public
class
SbmlReactionExporter
extends
SbmlBioEntityExporter
<
Reaction
,
org
.
sbml
.
jsbml
.
Reaction
>
{
/**
...
...
@@ -218,8 +219,12 @@ public class SbmlReactionExporter extends SbmlBioEntityExporter<Reaction, org.sb
assignStyleToGlyph
(
reactantGlyph
,
style
);
}
Point
p
=
reactantGlyph
.
getCurve
().
getCurveSegment
(
0
).
getStart
();
reactantEndPoint
=
new
Point2D
.
Double
(
p
.
getX
(),
p
.
getY
());
if
(
reactantGlyph
.
getCurve
().
getCurveSegmentCount
()
>
0
)
{
Point
p
=
reactantGlyph
.
getCurve
().
getCurveSegment
(
0
).
getStart
();
reactantEndPoint
=
new
Point2D
.
Double
(
p
.
getX
(),
p
.
getY
());
}
else
{
reactantEndPoint
=
new
Point2D
.
Double
(
reactant
.
getElement
().
getCenterX
(),
reactant
.
getElement
().
getCenterY
());
}
}
if
(
reactionGlyph
.
getCurve
().
getCurveSegmentCount
()
>
0
)
{
Point
p
=
reactionGlyph
.
getCurve
().
getCurveSegment
(
reactionGlyph
.
getCurve
().
getCurveSegmentCount
()
-
1
).
getEnd
();
...
...
@@ -255,8 +260,12 @@ public class SbmlReactionExporter extends SbmlBioEntityExporter<Reaction, org.sb
assignStyleToGlyph
(
productGlyph
,
style
);
}
Point
p
=
productGlyph
.
getCurve
().
getCurveSegment
(
0
).
getStart
();
productStartPoint
=
new
Point2D
.
Double
(
p
.
getX
(),
p
.
getY
());
if
(
productGlyph
.
getCurve
().
getCurveSegmentCount
()
>
0
)
{
Point
p
=
productGlyph
.
getCurve
().
getCurveSegment
(
0
).
getStart
();
productStartPoint
=
new
Point2D
.
Double
(
p
.
getX
(),
p
.
getY
());
}
else
{
productStartPoint
=
new
Point2D
.
Double
(
product
.
getElement
().
getCenterX
(),
product
.
getElement
().
getCenterY
());
}
}
if
(
segmentCount
<
reactionGlyph
.
getCurve
().
getCurveSegmentCount
())
{
...
...
@@ -361,6 +370,9 @@ public class SbmlReactionExporter extends SbmlBioEntityExporter<Reaction, org.sb
curve
.
addCurveSegment
(
segment
);
}
}
if
(
curve
.
getCurveSegmentCount
()
==
0
)
{
logger
.
warn
(
new
ElementUtils
().
getElementTag
(
node
)
+
" Problematic line"
);
}
return
curve
;
}
...
...
converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionParser.java
View file @
b1659f24
...
...
@@ -30,7 +30,6 @@ import org.sbml.jsbml.ext.render.LocalStyle;
import
org.sbml.jsbml.ext.render.RenderGroup
;
import
org.w3c.dom.Node
;
import
lcsb.mapviewer.common.XmlParser
;
import
lcsb.mapviewer.common.exception.InvalidArgumentException
;
import
lcsb.mapviewer.common.exception.InvalidStateException
;
import
lcsb.mapviewer.common.exception.InvalidXmlSchemaException
;
...
...
@@ -154,8 +153,8 @@ public class SbmlReactionParser extends SbmlBioEntityParser {
}
PolylineData
line
=
getLineFromReferenceGlyph
(
speciesRefernceGlyph
);
if
(
line
==
null
)
{
throw
new
InvalidArgumentExceptio
n
(
"Line undefined for element "
+
minervaElement
.
getElementId
()
if
(
line
.
length
()
==
0
)
{
logger
.
war
n
(
"Line undefined for element "
+
minervaElement
.
getElementId
()
+
" in reaction "
+
reactionWithLayout
.
getElementId
());
}
if
(
minervaNode
instanceof
Reactant
)
{
...
...
@@ -217,8 +216,9 @@ public class SbmlReactionParser extends SbmlBioEntityParser {
}
getMinervaModel
().
addReaction
(
reactionWithLayout
);
}
catch
(
InvalidArgumentException
e
)
{
throw
new
InvalidInputDataExecption
(
e
);
}
catch
(
Exception
e
)
{
throw
new
InvalidInputDataExecption
(
new
ElementUtils
().
getElementTag
(
source
)
+
"Problem with parsing reaction layout"
,
e
);
}
}
Set
<
Reaction
>
elementsToRemove
=
new
HashSet
<>();
...
...
@@ -450,6 +450,9 @@ public class SbmlReactionParser extends SbmlBioEntityParser {
line
.
addPoint
(
end
);
}
}
if
(
line
==
null
)
{
return
new
PolylineData
();
}
return
line
;
}
...
...
converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlExporterTest.java
View file @
b1659f24
...
...
@@ -679,6 +679,20 @@ public class SbmlExporterTest extends SbmlTestFunctions {
ListComparator
<
Line2D
>
comparator
=
new
ListComparator
<>(
new
LineComparator
(
Configuration
.
EPSILON
));
assertEquals
(
0
,
comparator
.
compare
(
lines1
,
lines2
));
}
@Test
public
void
testExportIronMetabolismReaction
()
throws
Exception
{
try
{
Model
originalModel
=
new
CellDesignerXmlParser
()
.
createModel
(
new
ConverterParams
().
filename
(
"testFiles/cell_designer_problems/iron_metabolism_reaction.xml"
));
exporter
.
setProvideDefaults
(
false
);
String
xml
=
exporter
.
toXml
(
originalModel
);
assertNotNull
(
xml
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
throw
e
;
}
}
...
...
@@ -687,7 +701,7 @@ public class SbmlExporterTest extends SbmlTestFunctions {
Model
originalModel
=
parser
.
createModel
(
new
ConverterParams
().
filename
(
"testFiles/small/model_with_creator.xml"
));
Model
model
=
getModelAfterSerializing
(
originalModel
);
assertEquals
(
0
,
comparator
.
compare
(
model
,
originalModel
));
}
...
...
converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionParserTest.java
View file @
b1659f24
...
...
@@ -248,4 +248,32 @@ public class SbmlReactionParserTest {
}
}
@Test
public
void
testParseReactionWithProductWithoutLayout
()
throws
Exception
{
try
{
Model
model
=
parser
.
createModel
(
new
ConverterParams
().
filename
(
"testFiles/small/reaction/product_without_layout.xml"
));
Reaction
reaction
=
model
.
getReactions
().
iterator
().
next
();
assertNotNull
(
reaction
);
assertTrue
(
reaction
instanceof
Reaction
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
throw
e
;
}
}
@Test
public
void
testParseReactionWithReactantWithoutLayout
()
throws
Exception
{
try
{
Model
model
=
parser
.
createModel
(
new
ConverterParams
().
filename
(
"testFiles/small/reaction/reactant_without_layout.xml"
));
Reaction
reaction
=
model
.
getReactions
().
iterator
().
next
();
assertNotNull
(
reaction
);
assertTrue
(
reaction
instanceof
Reaction
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
throw
e
;
}
}
}
converter-sbml/testFiles/cell_designer_problems/iron_metabolism_reaction.xml
0 → 100644
View file @
b1659f24
<?xml version="1.0" encoding="UTF-8"?>
<sbml
xmlns=
"http://www.sbml.org/sbml/level2/version4"
xmlns:celldesigner=
"http://www.sbml.org/2001/ns/celldesigner"
level=
"2"
version=
"4"
>
<model
metaid=
"Dopamine_Neurotransmitter_Release_Cycle"
id=
"A_comprehensive_Parkinsons_disease_map"
>
<annotation>
<celldesigner:extension>
<celldesigner:modelVersion>
4.0
</celldesigner:modelVersion>
<celldesigner:modelDisplay
sizeX=
"9000"
sizeY=
"5500"
/>
<celldesigner:listOfCompartmentAliases/>
<celldesigner:listOfComplexSpeciesAliases>
<celldesigner:complexSpeciesAlias
id=
"csa106"
species=
"irme_458"
>
<celldesigner:activity>
inactive
</celldesigner:activity>
<celldesigner:bounds
x=
"2247.5"
y=
"2007.0"
w=
"103.0"
h=
"171.0"
/>
<celldesigner:font
size=
"12"
/>
<celldesigner:view
state=
"usual"
/>
<celldesigner:backupSize
w=
"0.0"
h=
"0.0"
/>
<celldesigner:backupView
state=
"none"
/>
<celldesigner:usualView>
<celldesigner:boxSize
width=
"103.0"
height=
"171.0"
/>
<celldesigner:singleLine
width=
"2.0"
/>
<celldesigner:paint
color=
"fff7f7f7"
scheme=
"Color"
/>
</celldesigner:usualView>
<celldesigner:briefView>
<celldesigner:innerPosition
x=
"0.0"
y=
"0.0"
/>
<celldesigner:boxSize
width=
"80.0"
height=
"60.0"
/>
<celldesigner:singleLine
width=
"2.0"
/>
<celldesigner:paint
color=
"fff7f7f7"
scheme=
"Color"
/>
</celldesigner:briefView>
<celldesigner:info
state=
"empty"
angle=
"-1.5707963267948966"
/>
</celldesigner:complexSpeciesAlias>
</celldesigner:listOfComplexSpeciesAliases>
<celldesigner:listOfSpeciesAliases>
<celldesigner:speciesAlias
id=
"sa10326"
species=
"irme_72"
>
<celldesigner:activity>
inactive
</celldesigner:activity>
<celldesigner:bounds
x=
"2378.000000000001"
y=
"2072.166666666668"
w=
"40.0"
h=
"40.0"
/>
<celldesigner:font
size=
"12"
/>
<celldesigner:view
state=
"usual"
/>
<celldesigner:usualView>
<celldesigner:boxSize
width=
"40.0"
height=
"40.0"
/>
<celldesigner:singleLine
width=
"1.0"
/>
<celldesigner:paint
color=
"ff9999ff"
scheme=
"Color"
/>
</celldesigner:usualView>
<celldesigner:briefView>
<celldesigner:innerPosition
x=
"7906.815893308081"
y=
"5845.130208333333"
/>
<celldesigner:boxSize
width=
"40.0"
height=
"40.0"
/>
<celldesigner:singleLine
width=
"1.0"
/>
<celldesigner:paint
color=
"ff9999ff"
scheme=
"Color"
/>
</celldesigner:briefView>
<celldesigner:info
state=
"empty"
angle=
"-1.5707963267948966"
/>
</celldesigner:speciesAlias>
</celldesigner:listOfSpeciesAliases>
<celldesigner:listOfGroups/>
<celldesigner:listOfProteins/>
<celldesigner:listOfGenes/>
<celldesigner:listOfRNAs/>
<celldesigner:listOfAntisenseRNAs/>
<celldesigner:listOfLayers/>
<celldesigner:listOfBlockDiagrams/>
</celldesigner:extension>
</annotation>
<listOfUnitDefinitions>
<unitDefinition
metaid=
"substance"
id=
"substance"
name=
"substance"
>
<listOfUnits>
<unit
metaid=
"CDMT00539"
kind=
"mole"
/>
</listOfUnits>
</unitDefinition>
<unitDefinition
metaid=
"volume"
id=
"volume"
name=
"volume"
>
<listOfUnits>
<unit
metaid=
"CDMT00540"
kind=
"litre"
/>
</listOfUnits>
</unitDefinition>
<unitDefinition
metaid=
"area"
id=
"area"
name=
"area"
>
<listOfUnits>
<unit
metaid=
"CDMT00541"
kind=
"metre"
exponent=
"2"
/>
</listOfUnits>
</unitDefinition>
<unitDefinition
metaid=
"length"
id=
"length"
name=
"length"
>
<listOfUnits>
<unit
metaid=
"CDMT00542"
kind=
"metre"
/>
</listOfUnits>
</unitDefinition>
<unitDefinition
metaid=
"time"
id=
"time"
name=
"time"
>
<listOfUnits>
<unit
metaid=
"CDMT00543"
kind=
"second"
/>
</listOfUnits>
</unitDefinition>
</listOfUnitDefinitions>
<listOfCompartments>
<compartment
metaid=
"default"
id=
"default"
size=
"1"
units=
"volume"
/>
<compartment
metaid=
"5"
id=
"5"
name=
"Mitochondrial_space_ROS_space_Metabolism"
size=
"1"
units=
"volume"
outside=
"default"
/>
</listOfCompartments>
<listOfSpecies>
<species
metaid=
"irme_458"
id=
"irme_458"
name=
"labile iron pool"
compartment=
"default"
initialAmount=
"0"
>
<annotation>
<celldesigner:extension>
<celldesigner:positionToCompartment>
inside
</celldesigner:positionToCompartment>
<celldesigner:speciesIdentity>
<celldesigner:class>
COMPLEX
</celldesigner:class>
<celldesigner:hypothetical>
true
</celldesigner:hypothetical>
<celldesigner:name>
labile iron pool
</celldesigner:name>
</celldesigner:speciesIdentity>
</celldesigner:extension>
<rdf:RDF
xmlns:rdf=
"http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc=
"http://purl.org/dc/elements/1.1/"
xmlns:dcterms=
"http://purl.org/dc/terms/"
xmlns:vCard=
"http://www.w3.org/2001/vcard-rdf/3.0#"
xmlns:bqbiol=
"http://biomodels.net/biology-qualifiers/"
xmlns:bqmodel=
"http://biomodels.net/model-qualifiers/"
>
<rdf:Description
rdf:about=
"#irme_458"
>
<bqbiol:isDescribedBy>
<rdf:Bag>
<rdf:li
rdf:resource=
"urn:miriam:pubmed:27293957"
/>
</rdf:Bag>
</bqbiol:isDescribedBy>
</rdf:Description>
</rdf:RDF>
</annotation>
</species>
<species
metaid=
"irme_72"
id=
"irme_72"
name=
"Fe2_plus_"
compartment=
"default"
initialAmount=
"0"
>
<annotation>
<celldesigner:extension>
<celldesigner:positionToCompartment>
inside
</celldesigner:positionToCompartment>
<celldesigner:speciesIdentity>
<celldesigner:class>
ION
</celldesigner:class>
<celldesigner:name>
Fe2_plus_
</celldesigner:name>
</celldesigner:speciesIdentity>
</celldesigner:extension>
</annotation>
</species>
</listOfSpecies>
<listOfReactions>
<reaction
metaid=
"re4888"
id=
"re4888"
reversible=
"false"
>
<annotation>
<celldesigner:extension>
<celldesigner:reactionType>
POSITIVE_INFLUENCE
</celldesigner:reactionType>
<celldesigner:baseReactants>
<celldesigner:baseReactant
species=
"irme_458"
alias=
"csa106"
>
<celldesigner:linkAnchor
position=
"E"
/>
</celldesigner:baseReactant>
</celldesigner:baseReactants>
<celldesigner:baseProducts>
<celldesigner:baseProduct
species=
"irme_72"
alias=
"sa10326"
>
<celldesigner:linkAnchor
position=
"W"
/>
</celldesigner:baseProduct>
</celldesigner:baseProducts>
<celldesigner:connectScheme
connectPolicy=
"square"
>
<celldesigner:listOfLineDirection>
<celldesigner:lineDirection
index=
"0"
value=
"horizontal"
/>
<celldesigner:lineDirection
index=
"1"
value=
"vertical"
/>
<celldesigner:lineDirection
index=
"2"
value=
"horizontal"
/>
</celldesigner:listOfLineDirection>
</celldesigner:connectScheme>
<celldesigner:editPoints>
0.8391667847539281,0.009990080770847953 0.8393084880263331,-0.0019129941901638858
</celldesigner:editPoints>
<celldesigner:line
width=
"1.0"
color=
"ff000000"
/>
</celldesigner:extension>
<rdf:RDF
xmlns:rdf=
"http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc=
"http://purl.org/dc/elements/1.1/"
xmlns:dcterms=
"http://purl.org/dc/terms/"
xmlns:vCard=
"http://www.w3.org/2001/vcard-rdf/3.0#"
xmlns:bqbiol=
"http://biomodels.net/biology-qualifiers/"
xmlns:bqmodel=
"http://biomodels.net/model-qualifiers/"
>
<rdf:Description
rdf:about=
"#re4888"
>
<bqbiol:isDescribedBy>
<rdf:Bag>
<rdf:li
rdf:resource=
"urn:miriam:pubmed:25231526"
/>
</rdf:Bag>
</bqbiol:isDescribedBy>
<bqbiol:isDescribedBy>
<rdf:Bag>
<rdf:li
rdf:resource=
"urn:miriam:pubmed:26106291"
/>
</rdf:Bag>
</bqbiol:isDescribedBy>
</rdf:Description>
</rdf:RDF>
</annotation>
<listOfReactants>
<speciesReference
metaid=
"CDMT00414"
species=
"irme_458"
>
<annotation>
<celldesigner:extension>
<celldesigner:alias>
csa106
</celldesigner:alias>
</celldesigner:extension>
</annotation>
</speciesReference>
</listOfReactants>
<listOfProducts>
<speciesReference
metaid=
"CDMT00415"
species=
"irme_72"
>
<annotation>
<celldesigner:extension>
<celldesigner:alias>
sa10326
</celldesigner:alias>
</celldesigner:extension>
</annotation>
</speciesReference>
</listOfProducts>
</reaction>
</listOfReactions>
</model>
</sbml>
converter-sbml/testFiles/small/reaction/product_without_layout.xml
0 → 100644
View file @
b1659f24
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<!-- Created by minerva version Unknown on 2019-04-25 at 08:13:40 CEST with
JSBML version 1.4. -->
<sbml
xmlns=
"http://www.sbml.org/sbml/level3/version2/core"
layout:required=
"false"
level=
"3"
multi:required=
"true"
render:required=
"false"
version=
"2"
xmlns:layout=
"http://www.sbml.org/sbml/level3/version1/layout/version1"
xmlns:multi=
"http://www.sbml.org/sbml/level3/version1/multi/version1"
xmlns:render=
"http://www.sbml.org/sbml/level3/version1/render/version1"
>
<model
id=
"A_comprehensive_Parkinsons_disease_map"
name=
"iron_metabolism_reaction"
>
<notes>
<body
xmlns=
"http://www.w3.org/1999/xhtml"
>
<p
/>
</body>
</notes>
<layout:listOfLayouts
xmlns:layout=
"http://www.sbml.org/sbml/level3/version1/layout/version1"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
>
<layout:layout
layout:id=
"minerva_layout"
>
<render:listOfRenderInformation
xmlns:render=
"http://www.sbml.org/sbml/level3/version1/render/version1"
>
<render:renderInformation
render:id=
"minerva_definitions"
>
<render:listOfColorDefinitions>