Skip to content
Snippets Groups Projects
Commit 7d018c14 authored by Piotr Gawron's avatar Piotr Gawron
Browse files

problem with exporting proteins with modifications to xml

parent dac6636a
No related branches found
No related tags found
2 merge requests!630WIP: Resolve "The privileges of a new user are not saved in some cases",!580Resolve "translating pdmap spring18 to SBML throws NPE"
......@@ -391,7 +391,7 @@ public class SbmlSpeciesExporter extends SbmlElementExporter<Species, org.sbml.j
}
List<String> annotations = new ArrayList<>();
for (MiriamData md: element.getMiriamData()) {
for (MiriamData md : element.getMiriamData()) {
annotations.add(md.toString());
}
Collections.sort(annotations);
......@@ -416,7 +416,6 @@ public class SbmlSpeciesExporter extends SbmlElementExporter<Species, org.sbml.j
}
modifications.add(modificationId);
}
Collections.sort(modifications);
multiDistinguisher += "\n" + StringUtils.join(modifications, ",");
}
multiDistinguisher += "\n" + element.getPositionToCompartment();
......@@ -432,7 +431,8 @@ public class SbmlSpeciesExporter extends SbmlElementExporter<Species, org.sbml.j
multiDistinguisher += "\n" + element.getCharge();
multiDistinguisher += "\n" + element.getHomodimer();
}
String result = element.getClass().getSimpleName() + "\n" + annotationNames+"\n"+element.getName() + "\n" + compartmentName + "\n"
String result = element.getClass().getSimpleName() + "\n" + annotationNames + "\n" + element.getName() + "\n"
+ compartmentName + "\n"
+ complexName
+ "\n" + multiDistinguisher;
return result;
......@@ -549,10 +549,13 @@ public class SbmlSpeciesExporter extends SbmlElementExporter<Species, org.sbml.j
private Map<String, String> modificationResidueIds = new HashMap<>();
private String getModificationResidueUniqueId(ModificationResidue mr) {
String result = modificationResidueIds.get(mr.getIdModificationResidue() + "_" + getSbmlIdKey(mr.getSpecies()));
SpeciesWithModificationResidue species = (SpeciesWithModificationResidue) mr.getSpecies();
String modificationId = "mod" + species.getModificationResidues().indexOf(mr);
String result = modificationResidueIds.get(modificationId + "_" + getSbmlIdKey(mr.getSpecies()));
if (result == null) {
result = "modification_residue_" + (modificationResidueCounter++);
modificationResidueIds.put(mr.getIdModificationResidue() + "_" + getSbmlIdKey(mr.getSpecies()), result);
modificationResidueIds.put(modificationId + "_" + getSbmlIdKey(mr.getSpecies()), result);
}
return result;
}
......
......@@ -23,6 +23,8 @@ import lcsb.mapviewer.converter.IConverter;
import lcsb.mapviewer.converter.model.celldesigner.CellDesignerXmlParser;
import lcsb.mapviewer.model.map.model.Model;
import lcsb.mapviewer.model.map.model.ModelComparator;
import lcsb.mapviewer.model.map.species.Element;
import lcsb.mapviewer.model.map.species.field.SpeciesWithModificationResidue;
@RunWith(Parameterized.class)
public class CellDesignerToMultiExportTest {
......@@ -52,6 +54,12 @@ public class CellDesignerToMultiExportTest {
IConverter converter = new CellDesignerXmlParser();
Model model = converter.createModel(new ConverterParams().filename(filePath.toString()));
for (Element element: model.getElements()) {
if (element instanceof SpeciesWithModificationResidue) {
logger.debug(element.getElementId());
logger.debug(((SpeciesWithModificationResidue) element).getModificationResidues());
}
}
model.setName(null);
SbmlExporter sbmlExporter = new SbmlExporter();
......
<?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="A_comprehensive_Parkinsons_disease_map" id="A_comprehensive_Parkinsons_disease_map">
<annotation>
<celldesigner:extension>
<celldesigner:modelVersion>4.0</celldesigner:modelVersion>
<celldesigner:modelDisplay sizeX="28928" sizeY="13893"/>
<celldesigner:listOfCompartmentAliases/>
<celldesigner:listOfComplexSpeciesAliases/>
<celldesigner:listOfSpeciesAliases>
<celldesigner:speciesAlias id="sa10102" species="s_id_sa10102">
<celldesigner:activity>inactive</celldesigner:activity>
<celldesigner:bounds x="342.72727272727207" y="339.840909090909" w="100.0" h="40.0"/>
<celldesigner:font size="12"/>
<celldesigner:view state="usual"/>
<celldesigner:usualView>
<celldesigner:innerPosition x="0.0" y="0.0"/>
<celldesigner:boxSize width="100.0" height="40.0"/>
<celldesigner:singleLine width="1.0"/>
<celldesigner:paint color="ffccffcc" scheme="Color"/>
</celldesigner:usualView>
<celldesigner:briefView>
<celldesigner:innerPosition x="10232.727272727272" y="2304.840909090909"/>
<celldesigner:boxSize width="100.0" height="40.0"/>
<celldesigner:singleLine width="1.0"/>
<celldesigner:paint color="ffccffcc" scheme="Color"/>
</celldesigner:briefView>
<celldesigner:info state="empty" angle="-1.5707963267948966"/>
</celldesigner:speciesAlias>
<celldesigner:speciesAlias id="sa6948" species="s_id_sa6948">
<celldesigner:activity>inactive</celldesigner:activity>
<celldesigner:bounds x="192.5" y="444.9186829904356" w="98.0" h="45.0"/>
<celldesigner:font size="12"/>
<celldesigner:view state="usual"/>
<celldesigner:usualView>
<celldesigner:innerPosition x="0.0" y="0.0"/>
<celldesigner:boxSize width="98.0" height="45.0"/>
<celldesigner:singleLine width="1.0"/>
<celldesigner:paint color="ffccffcc" scheme="Color"/>
</celldesigner:usualView>
<celldesigner:briefView>
<celldesigner:innerPosition x="14925.5" y="9087.918682990436"/>
<celldesigner:boxSize width="98.0" height="45.0"/>
<celldesigner:singleLine width="1.0"/>
<celldesigner:paint color="ffccffcc" scheme="Color"/>
</celldesigner:briefView>
<celldesigner:info state="empty" angle="-1.5707963267948966"/>
</celldesigner:speciesAlias>
</celldesigner:listOfSpeciesAliases>
<celldesigner:listOfGroups/>
<celldesigner:listOfProteins>
<celldesigner:protein id="p_s_id_sa10102" name="generic_space_protein" type="GENERIC">
<celldesigner:listOfModificationResidues>
<celldesigner:modificationResidue angle="0.0" id="rs2" side="none"/>
<celldesigner:modificationResidue angle="0.0" id="rs3" side="none"/>
<celldesigner:modificationResidue angle="0.0" id="rs1" side="none"/>
</celldesigner:listOfModificationResidues>
</celldesigner:protein>
<celldesigner:protein id="p_s_id_sa10354" name="generic_space_protein" type="GENERIC">
<celldesigner:listOfModificationResidues>
<celldesigner:modificationResidue angle="0.0" id="rs1" side="none"/>
<celldesigner:modificationResidue angle="0.0" id="rs2" side="none"/>
<celldesigner:modificationResidue angle="0.0" id="rs3" side="none"/>
</celldesigner:listOfModificationResidues>
</celldesigner:protein>
<celldesigner:protein id="p_s_id_sa6948" name="generic_space_protein" type="GENERIC">
<celldesigner:listOfModificationResidues>
<celldesigner:modificationResidue angle="0.0" id="rs1" side="none"/>
<celldesigner:modificationResidue angle="0.0" id="rs2" side="none"/>
<celldesigner:modificationResidue angle="0.0" id="rs3" side="none"/>
</celldesigner:listOfModificationResidues>
</celldesigner:protein>
</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="CDMT00552" kind="mole"/>
</listOfUnits>
</unitDefinition>
<unitDefinition metaid="volume" id="volume" name="volume">
<listOfUnits>
<unit metaid="CDMT00553" kind="litre"/>
</listOfUnits>
</unitDefinition>
<unitDefinition metaid="area" id="area" name="area">
<listOfUnits>
<unit metaid="CDMT00554" kind="metre" exponent="2"/>
</listOfUnits>
</unitDefinition>
<unitDefinition metaid="length" id="length" name="length">
<listOfUnits>
<unit metaid="CDMT00555" kind="metre"/>
</listOfUnits>
</unitDefinition>
<unitDefinition metaid="time" id="time" name="time">
<listOfUnits>
<unit metaid="CDMT00556" kind="second"/>
</listOfUnits>
</unitDefinition>
</listOfUnitDefinitions>
<listOfCompartments>
<compartment metaid="default" id="default" size="1" units="volume"/>
</listOfCompartments>
<listOfSpecies>
<species metaid="s_id_sa10102" id="s_id_sa10102" name="generic_space_protein" compartment="default" initialAmount="0" charge="0">
<annotation>
<celldesigner:extension>
<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment>
<celldesigner:speciesIdentity>
<celldesigner:class>PROTEIN</celldesigner:class>
<celldesigner:hypothetical>true</celldesigner:hypothetical>
<celldesigner:proteinReference>p_s_id_sa10102</celldesigner:proteinReference>
<celldesigner:state>
<celldesigner:listOfModifications>
<celldesigner:modification residue="rs1" state="ubiquitinated"/>
</celldesigner:listOfModifications>
</celldesigner:state>
</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="#s_id_sa10102">
<bqbiol:isVersionOf>
<rdf:Bag>
<rdf:li rdf:resource="urn:miriam:obo.chebi:CHEBI%3A36080"/>
</rdf:Bag>
</bqbiol:isVersionOf>
</rdf:Description>
</rdf:RDF>
</annotation>
</species>
<species metaid="s_id_sa6948" id="s_id_sa6948" name="generic_space_protein" compartment="default" initialAmount="0" charge="0">
<annotation>
<celldesigner:extension>
<celldesigner:positionToCompartment>inside</celldesigner:positionToCompartment>
<celldesigner:speciesIdentity>
<celldesigner:class>PROTEIN</celldesigner:class>
<celldesigner:hypothetical>true</celldesigner:hypothetical>
<celldesigner:proteinReference>p_s_id_sa6948</celldesigner:proteinReference>
<celldesigner:state>
<celldesigner:listOfModifications>
<celldesigner:modification residue="rs3" state="ubiquitinated"/>
</celldesigner:listOfModifications>
</celldesigner:state>
</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="#s_id_sa6948">
<bqbiol:isVersionOf>
<rdf:Bag>
<rdf:li rdf:resource="urn:miriam:obo.chebi:CHEBI%3A36080"/>
</rdf:Bag>
</bqbiol:isVersionOf>
</rdf:Description>
</rdf:RDF>
</annotation>
</species>
</listOfSpecies>
</model>
</sbml>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment