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 9ad77efd72744ef067410592b646760e63baed5d..1e2809aa350f54a8dfca6c68eb9382bc7b34a43b 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 @@ -5,10 +5,15 @@ import java.util.List; import org.apache.log4j.Logger; +import lcsb.mapviewer.common.exception.InvalidArgumentException; import lcsb.mapviewer.common.exception.NotImplementedException; import lcsb.mapviewer.converter.model.celldesigner.structure.fields.CellDesignerModificationResidue; import lcsb.mapviewer.model.map.species.AntisenseRna; import lcsb.mapviewer.model.map.species.Species; +import lcsb.mapviewer.model.map.species.field.CodingRegion; +import lcsb.mapviewer.model.map.species.field.ModificationResidue; +import lcsb.mapviewer.model.map.species.field.ModificationSite; +import lcsb.mapviewer.model.map.species.field.ProteinBindingDomain; /** * Class representing CellDesigner {@link AntisenseRna}. @@ -140,9 +145,18 @@ public class CellDesignerAntisenseRna extends CellDesignerSpecies<AntisenseRna> } @Override - public void updateModelElementAfterLayoutAdded(Species element) { + public void updateModelElementAfterLayoutAdded(AntisenseRna antisenseRna) { for (CellDesignerModificationResidue region : regions) { - ((AntisenseRna) element).addRegion(region.createModificationResidue(element)); + ModificationResidue mr = region.createModificationResidue(antisenseRna); + if (mr instanceof CodingRegion) { + antisenseRna.addCodingRegion((CodingRegion) mr); + } else if (mr instanceof ModificationSite) { + antisenseRna.addModificationSite((ModificationSite) mr); + } else if (mr instanceof ProteinBindingDomain) { + antisenseRna.addProteinBindingDomain((ProteinBindingDomain) mr); + } else { + throw new InvalidArgumentException("Cannot add modification residue to element: " + mr.getClass()); + } } } 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 247887c598d8437f530e4c81b3fe885603c8975f..cd8e8ee223911038c8461483c443a1c0aa9f84ea 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,10 +3,16 @@ package lcsb.mapviewer.converter.model.celldesigner.structure; import java.util.ArrayList; import java.util.List; +import lcsb.mapviewer.common.exception.InvalidArgumentException; import lcsb.mapviewer.common.exception.NotImplementedException; import lcsb.mapviewer.converter.model.celldesigner.structure.fields.CellDesignerModificationResidue; import lcsb.mapviewer.model.map.species.Gene; import lcsb.mapviewer.model.map.species.Species; +import lcsb.mapviewer.model.map.species.field.CodingRegion; +import lcsb.mapviewer.model.map.species.field.ModificationResidue; +import lcsb.mapviewer.model.map.species.field.ModificationSite; +import lcsb.mapviewer.model.map.species.field.RegulatoryRegion; +import lcsb.mapviewer.model.map.species.field.TranscriptionSite; /** * Class representing CellDesigner {@link Gene}. @@ -113,10 +119,20 @@ public class CellDesignerGene extends CellDesignerSpecies<Gene> { } @Override - public void updateModelElementAfterLayoutAdded(Species element) { + public void updateModelElementAfterLayoutAdded(Gene gene) { for (CellDesignerModificationResidue region : modificationResidues) { - ((Gene) element).addModificationResidue(region.createModificationResidue(element)); + ModificationResidue mr = region.createModificationResidue(gene); + if (mr instanceof CodingRegion) { + gene.addCodingRegion((CodingRegion) mr); + } else if (mr instanceof ModificationSite) { + gene.addModificationSite((ModificationSite) mr); + } else if (mr instanceof RegulatoryRegion) { + gene.addRegulatoryRegion((RegulatoryRegion) mr); + } else if (mr instanceof TranscriptionSite) { + gene.addTranscriptionSite((TranscriptionSite) mr); + } else { + throw new InvalidArgumentException("Cannot add modification residue to element: " + mr.getClass()); + } } } - } 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 9fa15ca0dff3c18c82d4db90de02094f23bda405..d82a2060b31e98fe1fa975d068ba8fc9b430be7b 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 @@ -5,10 +5,13 @@ import java.util.List; import org.apache.log4j.Logger; +import lcsb.mapviewer.common.exception.InvalidArgumentException; import lcsb.mapviewer.common.exception.NotImplementedException; import lcsb.mapviewer.converter.model.celldesigner.structure.fields.CellDesignerModificationResidue; import lcsb.mapviewer.model.map.species.Protein; -import lcsb.mapviewer.model.map.species.Species; +import lcsb.mapviewer.model.map.species.field.BindingRegion; +import lcsb.mapviewer.model.map.species.field.ModificationResidue; +import lcsb.mapviewer.model.map.species.field.Residue; /** * Class representing CellDesigner {@link Protein} object. @@ -150,9 +153,16 @@ public class CellDesignerProtein<T extends Protein> extends CellDesignerSpecies< } @Override - public void updateModelElementAfterLayoutAdded(Species element) { - for (CellDesignerModificationResidue mr : modificationResidues) { - ((Protein) element).addModificationResidue(mr.createModificationResidue(element)); + public void updateModelElementAfterLayoutAdded(Protein element) { + for (CellDesignerModificationResidue region : modificationResidues) { + ModificationResidue mr = region.createModificationResidue(element); + if (mr instanceof Residue) { + element.addResidue((Residue) mr); + } else if (mr instanceof BindingRegion) { + element.addBindingRegion((BindingRegion) mr); + } else { + throw new InvalidArgumentException("Cannot add modification residue to element: " + mr.getClass()); + } } } 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 64e121ad9a3dd26675334a8e62feb267e7a1b0a2..1e2406c3749e6975c91a2732429e2cc63b783770 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 @@ -5,10 +5,14 @@ import java.util.List; import org.apache.log4j.Logger; +import lcsb.mapviewer.common.exception.InvalidArgumentException; import lcsb.mapviewer.common.exception.NotImplementedException; import lcsb.mapviewer.converter.model.celldesigner.structure.fields.CellDesignerModificationResidue; import lcsb.mapviewer.model.map.species.Rna; -import lcsb.mapviewer.model.map.species.Species; +import lcsb.mapviewer.model.map.species.field.CodingRegion; +import lcsb.mapviewer.model.map.species.field.ModificationResidue; +import lcsb.mapviewer.model.map.species.field.ModificationSite; +import lcsb.mapviewer.model.map.species.field.ProteinBindingDomain; /** * Class representing CellDesigner {@link Rna}. @@ -139,10 +143,18 @@ public class CellDesignerRna extends CellDesignerSpecies<Rna> { } @Override - public void updateModelElementAfterLayoutAdded(Species element) { + public void updateModelElementAfterLayoutAdded(Rna rna) { for (CellDesignerModificationResidue region : regions) { - Rna rna = (Rna) element; - rna.addRegion(region.createModificationResidue(rna)); + ModificationResidue mr = region.createModificationResidue(rna); + if (mr instanceof CodingRegion) { + rna.addCodingRegion((CodingRegion) mr); + } else if (mr instanceof ModificationSite) { + rna.addModificationSite((ModificationSite) mr); + } else if (mr instanceof ProteinBindingDomain) { + rna.addProteinBindingDomain((ProteinBindingDomain) mr); + } else { + throw new InvalidArgumentException("Cannot add modification residue to element: " + mr.getClass()); + } } } diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/structure/SpeciesStateTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/structure/SpeciesStateTest.java index 5e24aa5ddb18578a19104fcb598e0a3daee9e618..1c6e9ca880ad90b3979c7287ca06d1cfff6045fa 100644 --- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/structure/SpeciesStateTest.java +++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/structure/SpeciesStateTest.java @@ -56,7 +56,7 @@ public class SpeciesStateTest { rna.setHeight(10); CodingRegion mr = new CodingRegion(); mr.setPosition(new Point2D.Double(10, 40)); - rna.addRegion(mr); + rna.addCodingRegion(mr); SpeciesState state = new SpeciesState(rna); assertEquals(1, state.getModifications().size()); } @@ -68,7 +68,7 @@ public class SpeciesStateTest { gene.setHeight(10); ModificationSite mr = new ModificationSite(); mr.setPosition(new Point2D.Double(10, 40)); - gene.addModificationResidue(mr); + gene.addModificationSite(mr); SpeciesState state = new SpeciesState(gene); assertEquals(1, state.getModifications().size()); } 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 7c6c5e53d52912687a33cfebb0affa922f2b66a1..3be28e7f95923df93507b594e50d8401aa755fb1 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 @@ -831,7 +831,7 @@ public class SbgnmlXmlParser { mr.setPosition(new Point2D.Double(x, y)); - protein.addModificationResidue(mr); + protein.addResidue(mr); } /** 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 fd00fea41cba0e4b087597edf4a3563cea2b383b..e14f56980f96d1c3fab13eb7acab1ed807017fab 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 @@ -33,7 +33,7 @@ public class SbgnmlXmlParserTest2 { Residue mr = new Residue(); Point2D position = new Point2D.Double(100, 20); mr.setPosition(position); - protein.addModificationResidue(mr); + protein.addResidue(mr); parser.adjustModificationCoordinates(protein); assertTrue(mr.getPosition().distance(position) > Configuration.EPSILON); 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 9b1ec5616f6490f6b6eae2da279f0be88628bdfc..d44d12eefa6f4a8162467e4debc206eb89ff566c 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 @@ -197,7 +197,7 @@ public class SpeciesConverterTest { bindingRegion.setPosition(new Point2D.Double(10, 10)); bindingRegion.setWidth(100.0); bindingRegion.setHeight(10.0); - protein.addModificationResidue(bindingRegion); + protein.addBindingRegion(bindingRegion); ProteinConverter converter = Mockito.spy(new ProteinConverter(colorExtractor)); converter.drawModification(bindingRegion, graphics, false); 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 1ae127b7232fa28a355a30495106efd534d3fe00..cffe83e9340a9cbbbf15bd7a40d84a99147e78e9 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 @@ -50,7 +50,9 @@ import lcsb.mapviewer.model.map.species.IonChannelProtein; import lcsb.mapviewer.model.map.species.ReceptorProtein; import lcsb.mapviewer.model.map.species.Species; import lcsb.mapviewer.model.map.species.TruncatedProtein; +import lcsb.mapviewer.model.map.species.field.ModificationState; import lcsb.mapviewer.model.map.species.field.PositionToCompartment; +import lcsb.mapviewer.model.map.species.field.Residue; public class SbmlExporterTest { Logger logger = Logger.getLogger(SbmlExporterTest.class); @@ -606,4 +608,33 @@ public class SbmlExporterTest { speciesExtension.getListOfSpeciesFeatures().size() > 0); } + @Test + public void testExportResidue() throws Exception { + Model model = createEmptyModel(); + GenericProtein element = new GenericProtein("id"); + element.setName("test name"); + element.setX(10); + element.setWidth(10); + element.setY(10); + element.setHeight(10); + Residue mr = new Residue("x1"); + mr.setName("217U"); + mr.setState(ModificationState.PHOSPHORYLATED); + element.addResidue(mr); + mr = new Residue("Y"); + mr.setName("218"); + mr.setState(ModificationState.PHOSPHORYLATED); + element.addResidue(mr); + mr = new Residue("Z"); + mr.setName("219"); + mr.setState(ModificationState.UBIQUITINATED); + element.addResidue(mr); + model.addElement(element); + Model deserializedModel = getModelAfterSerializing(model); + + GenericProtein protein = deserializedModel.getElementByElementId("id"); + assertEquals("Residues weren't exported/imported properly", 3, protein.getModificationResidues().size()); + + } + } diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/AntisenseRna.java b/model/src/main/java/lcsb/mapviewer/model/map/species/AntisenseRna.java index bf985706d3cbfd168ac9ea094c32415f6738b34d..416802d7dbd4da2eb52429b2150373cd62a80546 100644 --- a/model/src/main/java/lcsb/mapviewer/model/map/species/AntisenseRna.java +++ b/model/src/main/java/lcsb/mapviewer/model/map/species/AntisenseRna.java @@ -13,7 +13,10 @@ import org.hibernate.annotations.LazyCollection; import org.hibernate.annotations.LazyCollectionOption; import lcsb.mapviewer.common.exception.NotImplementedException; +import lcsb.mapviewer.model.map.species.field.CodingRegion; import lcsb.mapviewer.model.map.species.field.ModificationResidue; +import lcsb.mapviewer.model.map.species.field.ModificationSite; +import lcsb.mapviewer.model.map.species.field.ProteinBindingDomain; /** * Entity representing antisense rna element on the map. @@ -38,7 +41,7 @@ public class AntisenseRna extends Species { @OneToMany(mappedBy = "species") @LazyCollection(LazyCollectionOption.FALSE) private List<ModificationResidue> regions = new ArrayList<>(); - + /** * Empty constructor required by hibernate. */ @@ -54,7 +57,7 @@ public class AntisenseRna extends Species { public AntisenseRna(AntisenseRna original) { super(original); for (ModificationResidue region : original.getRegions()) { - addRegion(region.copy()); + addModificationResidue(region.copy()); } } @@ -74,11 +77,23 @@ public class AntisenseRna extends Species { * @param antisenseRnaRegion * region to be added */ - public void addRegion(ModificationResidue antisenseRnaRegion) { + private void addModificationResidue(ModificationResidue antisenseRnaRegion) { regions.add(antisenseRnaRegion); antisenseRnaRegion.setSpecies(this); } - + + public void addCodingRegion(CodingRegion codingRegion) { + this.addModificationResidue(codingRegion); + } + + public void addProteinBindingDomain(ProteinBindingDomain codingRegion) { + this.addModificationResidue(codingRegion); + } + + public void addModificationSite(ModificationSite codingRegion) { + this.addModificationResidue(codingRegion); + } + @Override public AntisenseRna copy() { if (this.getClass() == AntisenseRna.class) { 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 183c684ef1afb87ccc483765b80053b2eb7dd247..9c87b44c786016db7b99361ce2ddf4ad03935749 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 @@ -13,7 +13,11 @@ import org.hibernate.annotations.LazyCollection; import org.hibernate.annotations.LazyCollectionOption; import lcsb.mapviewer.common.exception.NotImplementedException; +import lcsb.mapviewer.model.map.species.field.CodingRegion; import lcsb.mapviewer.model.map.species.field.ModificationResidue; +import lcsb.mapviewer.model.map.species.field.ModificationSite; +import lcsb.mapviewer.model.map.species.field.RegulatoryRegion; +import lcsb.mapviewer.model.map.species.field.TranscriptionSite; /** * Entity representing gene element on the map. @@ -73,12 +77,28 @@ public class Gene extends Species { * @param modificationResidue * {@link ModificationResidue} to be added */ - public void addModificationResidue(ModificationResidue modificationResidue) { + private void addModificationResidue(ModificationResidue modificationResidue) { modificationResidues.add(modificationResidue); modificationResidue.setSpecies(this); } + public void addCodingRegion(CodingRegion codingRegion) { + this.addModificationResidue(codingRegion); + } + + public void addModificationSite(ModificationSite modificationSite) { + this.addModificationResidue(modificationSite); + } + + public void addRegulatoryRegion(RegulatoryRegion regulatoryRegion) { + this.addModificationResidue(regulatoryRegion); + } + + public void addTranscriptionSite(TranscriptionSite transcriptionSite) { + this.addModificationResidue(transcriptionSite); + } + @Override public Gene copy() { if (this.getClass() == Gene.class) { diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/Protein.java b/model/src/main/java/lcsb/mapviewer/model/map/species/Protein.java index 829ca434832eff182470056c23b1f44c7e803dd6..9a52c460318cf04c6c0bbba8dc2298c20c130bc6 100644 --- a/model/src/main/java/lcsb/mapviewer/model/map/species/Protein.java +++ b/model/src/main/java/lcsb/mapviewer/model/map/species/Protein.java @@ -12,7 +12,9 @@ import org.hibernate.annotations.CascadeType; import org.hibernate.annotations.LazyCollection; import org.hibernate.annotations.LazyCollectionOption; +import lcsb.mapviewer.model.map.species.field.BindingRegion; import lcsb.mapviewer.model.map.species.field.ModificationResidue; +import lcsb.mapviewer.model.map.species.field.Residue; /** * Entity representing protein element on the map. @@ -41,7 +43,7 @@ public abstract class Protein extends Species { @OneToMany(mappedBy = "species", orphanRemoval = true) @LazyCollection(LazyCollectionOption.FALSE) private List<ModificationResidue> modificationResidues = new ArrayList<>(); - + /** * Empty constructor required by hibernate. */ @@ -78,11 +80,19 @@ public abstract class Protein extends Species { * @param modificationResidue * modification to add */ - public void addModificationResidue(ModificationResidue modificationResidue) { + private void addModificationResidue(ModificationResidue modificationResidue) { modificationResidues.add(modificationResidue); modificationResidue.setSpecies(this); } + public void addBindingRegion(BindingRegion bindingRegion) { + this.addModificationResidue(bindingRegion); + } + + public void addResidue(Residue residue) { + this.addModificationResidue(residue); + } + /** * @return the modificationResidues * @see #modificationResidues diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/Rna.java b/model/src/main/java/lcsb/mapviewer/model/map/species/Rna.java index b9d6f9233ff13b29478c251c775de23a2c09b3c5..cbaedd90b4445cb0345df4950679ca5dbfe3541e 100644 --- a/model/src/main/java/lcsb/mapviewer/model/map/species/Rna.java +++ b/model/src/main/java/lcsb/mapviewer/model/map/species/Rna.java @@ -13,7 +13,10 @@ import org.hibernate.annotations.LazyCollection; import org.hibernate.annotations.LazyCollectionOption; import lcsb.mapviewer.common.exception.NotImplementedException; +import lcsb.mapviewer.model.map.species.field.CodingRegion; import lcsb.mapviewer.model.map.species.field.ModificationResidue; +import lcsb.mapviewer.model.map.species.field.ModificationSite; +import lcsb.mapviewer.model.map.species.field.ProteinBindingDomain; /** * Entity representing rna element on the map. @@ -53,7 +56,7 @@ public class Rna extends Species { public Rna(Rna original) { super(original); for (ModificationResidue region : original.getRegions()) { - addRegion(region.copy()); + addModificationResidue(region.copy()); } } @@ -74,9 +77,21 @@ public class Rna extends Species { * @param rnaRegion * object to be added */ - public void addRegion(ModificationResidue rnaRegion) { - regions.add(rnaRegion); - rnaRegion.setSpecies(this); + private void addModificationResidue(ModificationResidue antisenseRnaRegion) { + regions.add(antisenseRnaRegion); + antisenseRnaRegion.setSpecies(this); + } + + public void addCodingRegion(CodingRegion codingRegion) { + this.addModificationResidue(codingRegion); + } + + public void addProteinBindingDomain(ProteinBindingDomain codingRegion) { + this.addModificationResidue(codingRegion); + } + + public void addModificationSite(ModificationSite codingRegion) { + this.addModificationResidue(codingRegion); } @Override diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/field/AbstractSiteModification.java b/model/src/main/java/lcsb/mapviewer/model/map/species/field/AbstractSiteModification.java index e1b7030a96809f6e15175f516571631b5b47ecf7..86ef4c8d196bba7cfdf6fb528323854152ee7aa4 100644 --- a/model/src/main/java/lcsb/mapviewer/model/map/species/field/AbstractSiteModification.java +++ b/model/src/main/java/lcsb/mapviewer/model/map/species/field/AbstractSiteModification.java @@ -31,6 +31,10 @@ public abstract class AbstractSiteModification extends ModificationResidue { this.state = mr.getState(); } + public AbstractSiteModification(String modificationId) { + super(modificationId); + } + public ModificationState getState() { return state; } 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 6d76f71c98a20f272d37727453f6d1f8c69b8fb0..4225d31fb3662e6756f63116111eeac72cf1ee23 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 @@ -92,6 +92,10 @@ public abstract class ModificationResidue implements Serializable { this.position = mr.position; } + public ModificationResidue(String modificationId) { + this.idModificationResidue = modificationId; + } + /** * @return the idModificationResidue * @see #id diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/field/Residue.java b/model/src/main/java/lcsb/mapviewer/model/map/species/field/Residue.java index d93cc8956d07f82c5b61648d481c9d6de4c20b25..c20e0606fb734b1422be9c5dafc701cedf1eb5be 100644 --- a/model/src/main/java/lcsb/mapviewer/model/map/species/field/Residue.java +++ b/model/src/main/java/lcsb/mapviewer/model/map/species/field/Residue.java @@ -29,6 +29,10 @@ public class Residue extends AbstractSiteModification { super(residue); } + public Residue(String modificationId) { + super(modificationId); + } + /** * Creates copy of the object. * diff --git a/model/src/test/java/lcsb/mapviewer/model/map/species/AntisenseRnaComparatorTest.java b/model/src/test/java/lcsb/mapviewer/model/map/species/AntisenseRnaComparatorTest.java index 3df395f239d1d3c67b2a4c19bad944711fc4dd03..858bc750babe6c6ce639b6f1165734a2c660d1d7 100644 --- a/model/src/test/java/lcsb/mapviewer/model/map/species/AntisenseRnaComparatorTest.java +++ b/model/src/test/java/lcsb/mapviewer/model/map/species/AntisenseRnaComparatorTest.java @@ -79,7 +79,7 @@ public class AntisenseRnaComparatorTest { AntisenseRna result = new AntisenseRna(); CodingRegion region1 = new CodingRegion(); - result.addRegion(region1); + result.addCodingRegion(region1); region1.setIdModificationResidue("a"); region1.setName("name"); region1.setPosition(new Point2D.Double(0, 1)); diff --git a/model/src/test/java/lcsb/mapviewer/model/map/species/AntisenseRnaTest.java b/model/src/test/java/lcsb/mapviewer/model/map/species/AntisenseRnaTest.java index f52284cd4f8e1d5ba73d85d9854e48c779c6c85b..102da4683c57e6641882cad666d0dc2b0ce0528c 100644 --- a/model/src/test/java/lcsb/mapviewer/model/map/species/AntisenseRnaTest.java +++ b/model/src/test/java/lcsb/mapviewer/model/map/species/AntisenseRnaTest.java @@ -41,7 +41,7 @@ public class AntisenseRnaTest { public void testConstructor1() { try { AntisenseRna original = new AntisenseRna(); - original.addRegion(new CodingRegion()); + original.addCodingRegion(new CodingRegion()); AntisenseRna aRna = new AntisenseRna(original); assertNotNull(aRna); } catch (Exception e) { diff --git a/model/src/test/java/lcsb/mapviewer/model/map/species/GeneComparatorTest.java b/model/src/test/java/lcsb/mapviewer/model/map/species/GeneComparatorTest.java index e255b76e32b88358472f8baea183936de1a155e3..7b7d6d48694044e69cb299bedf6dd0663e3be914 100644 --- a/model/src/test/java/lcsb/mapviewer/model/map/species/GeneComparatorTest.java +++ b/model/src/test/java/lcsb/mapviewer/model/map/species/GeneComparatorTest.java @@ -82,13 +82,13 @@ public class GeneComparatorTest { Gene result = new Gene(); result.setHypothetical(true); - AbstractSiteModification residue = new ModificationSite(); - result.addModificationResidue(residue); + ModificationSite modificationSite = new ModificationSite(); + result.addModificationSite(modificationSite); - residue.setIdModificationResidue("a"); - residue.setName("name"); - residue.setPosition(new Point2D.Double(10, 20)); - residue.setState(ModificationState.ACETYLATED); + modificationSite.setIdModificationResidue("a"); + modificationSite.setName("name"); + modificationSite.setPosition(new Point2D.Double(10, 20)); + modificationSite.setState(ModificationState.ACETYLATED); return result; } diff --git a/model/src/test/java/lcsb/mapviewer/model/map/species/GeneTest.java b/model/src/test/java/lcsb/mapviewer/model/map/species/GeneTest.java index 5dd200337e5c9606ec99b7c20c0d4aca07f77c9d..f79e6affe717efea9677644296bddade33ea15df 100644 --- a/model/src/test/java/lcsb/mapviewer/model/map/species/GeneTest.java +++ b/model/src/test/java/lcsb/mapviewer/model/map/species/GeneTest.java @@ -41,7 +41,7 @@ public class GeneTest { public void testConstructor1() { try { Gene original = new Gene(); - original.addModificationResidue(new ModificationSite()); + original.addModificationSite(new ModificationSite()); Gene gene = new Gene(original); assertNotNull(gene); } catch (Exception e) { 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 e07e6d0e81ea684b57e326e9463dc66c13aed0b5..e0cdc967ea40aa88a95d268006c3985bce232c79 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 @@ -126,7 +126,7 @@ public class ProteinComparatorTest { result.setHypothetical(true); Residue residue = new Residue(); - result.addModificationResidue(residue); + result.addResidue(residue); residue.setIdModificationResidue("a"); residue.setName("name"); diff --git a/model/src/test/java/lcsb/mapviewer/model/map/species/RnaComparatorTest.java b/model/src/test/java/lcsb/mapviewer/model/map/species/RnaComparatorTest.java index 819c28ea1db97084f9080f6807500db4ae8227c2..f99156d913a2a5756672c1812cfb4505457773c2 100644 --- a/model/src/test/java/lcsb/mapviewer/model/map/species/RnaComparatorTest.java +++ b/model/src/test/java/lcsb/mapviewer/model/map/species/RnaComparatorTest.java @@ -81,7 +81,7 @@ public class RnaComparatorTest { result.setHypothetical(true); CodingRegion region1 = new CodingRegion(); - result.addRegion(region1); + result.addCodingRegion(region1); region1.setIdModificationResidue("a"); region1.setPosition(new Point2D.Double(0, 10)); region1.setWidth(2.0); 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 948f46dcb1d15bb69d13a8cf2e4b2f08068e51e8..f36d79d0012bfcac3cd7404fed3656ddacf39f28 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 @@ -54,7 +54,7 @@ public class RnaTest { public void testConstructor() { try { Rna rna = new Rna("d"); - rna.addRegion(new CodingRegion()); + rna.addCodingRegion(new CodingRegion()); Rna rna2 = new Rna(rna); assertEquals(rna.getRegions().size(), rna2.getRegions().size()); } catch (Exception e) { 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 f340ba5f5b221059b2bc5e756260f88d17fa5ff3..83d50098591ceecf2ee8dcd6a83012c3ce4ca521 100644 --- a/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/ModelContructor.java +++ b/pathvisio/src/main/java/lcsb/mapviewer/wikipathway/XML/ModelContructor.java @@ -390,10 +390,10 @@ public class ModelContructor { if (species instanceof Protein) { mr = new Residue(); - ((Protein) species).addModificationResidue(mr); + ((Protein) species).addResidue((Residue) mr); } else if (species instanceof Gene) { mr = new ModificationSite(); - ((Gene) species).addModificationResidue(mr); + ((Gene) species).addModificationSite((ModificationSite) mr); } else { logger.warn( state.getWarningPrefix() + "state for " + species.getClass().getSimpleName() + " is not supported."); diff --git a/persist/src/test/java/lcsb/mapviewer/persist/dao/map/CommentDaoTest.java b/persist/src/test/java/lcsb/mapviewer/persist/dao/map/CommentDaoTest.java index e00f0b9d3a59dd54fd112a61054a5dc23879a434..f44acde754fb9d737dfe59928134ee319654545c 100644 --- a/persist/src/test/java/lcsb/mapviewer/persist/dao/map/CommentDaoTest.java +++ b/persist/src/test/java/lcsb/mapviewer/persist/dao/map/CommentDaoTest.java @@ -145,9 +145,9 @@ public class CommentDaoTest extends PersistTestFunctions { alias = createSpeciesAlias(264.8333333333335, 517.75, 86.0, 46.0, "pr1"); model.addElement(alias); - ModificationResidue mr = new Residue(); + Residue mr = new Residue(); mr.setName("mr"); - alias.addModificationResidue(mr); + alias.addResidue(mr); alias.addMiriamData(new MiriamData(MiriamRelationType.BQ_BIOL_IS_DESCRIBED_BY, MiriamType.CHEBI, "c")); return model; 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 406af683527f03ab81cf38ba5a72a08ee30c1361..d896472061e959ecabc6bfb5c47a10c8ede5ac31 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 @@ -195,7 +195,7 @@ public class LayoutDaoTest extends PersistTestFunctions { Residue mr = new Residue(); mr.setName("mr"); - protein.addModificationResidue(mr); + protein.addResidue(mr); protein.addMiriamData(new MiriamData(MiriamRelationType.BQ_BIOL_IS_DESCRIBED_BY, MiriamType.CHEBI, "c")); return model; 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 719167ffff6f29616d05b4e5f6f8ad4bd20897a6..400af2be98ef32b8b4ea09c08f3b52becacb25e2 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 @@ -424,7 +424,7 @@ public class ModelDaoTest extends PersistTestFunctions { Residue mr = new Residue(); mr.setName("mr"); mr.setPosition(new Point2D.Double(10, 20)); - alias.addModificationResidue(mr); + alias.addResidue(mr); alias.addMiriamData(new MiriamData(MiriamRelationType.BQ_BIOL_IS_DESCRIBED_BY, MiriamType.CHEBI, "c")); return model; 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 abab8f1ff18ba61d06e5297769f517dd076474b0..08cfd58ce81c03717bd65ef57786e0a7c31e71b4 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 @@ -108,7 +108,7 @@ public class AliasDaoTest2 extends PersistTestFunctions { mr.setPosition(new Point2D.Double(10, 20)); mr.setName("name"); mr.setState(ModificationState.GLYCOSYLATED); - protein.addModificationResidue(mr); + protein.addResidue(mr); elementDao.add(protein); @@ -143,7 +143,7 @@ public class AliasDaoTest2 extends PersistTestFunctions { ModificationSite mr = new ModificationSite(); mr.setName("name"); mr.setState(ModificationState.DONT_CARE); - sp.addRegion(mr); + sp.addModificationSite(mr); elementDao.add(sp); elementDao.evict(sp); @@ -177,7 +177,7 @@ public class AliasDaoTest2 extends PersistTestFunctions { AntisenseRna sp = new AntisenseRna(testIdAlias); ModificationSite mr = new ModificationSite(); mr.setName("name"); - sp.addRegion(mr); + sp.addModificationSite(mr); elementDao.add(sp); elementDao.evict(sp); 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 44bb7dcec7e4cc03078389b86f2b6fcf2e4c5373..1b67cca4e98d1836e22aedfef5cbbd2fa0174713 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 @@ -75,7 +75,7 @@ public class AntisenseRnaTest extends PersistTestFunctions { Model model = new ModelFullIndexed(null); AntisenseRna alias = new AntisenseRna("As"); - alias.addRegion(new CodingRegion()); + alias.addCodingRegion(new CodingRegion()); alias.setX(1); alias.setY(2); alias.setWidth(10); 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 4eea1e67a969bfceb63b199381fe79e7d95e4464..d0392f51a0cd67c3f1f66cd4f4929e5890530306 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 @@ -74,7 +74,7 @@ public class RnaTest extends PersistTestFunctions { Model model = new ModelFullIndexed(null); Rna alias = new Rna("As"); - alias.addRegion(new CodingRegion()); + alias.addCodingRegion(new CodingRegion()); alias.setX(1); alias.setY(2); alias.setWidth(10); 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 61b7458f8ec4fbdf8f18ea7f8a400737aca97f5f..c9701d3a83d89132eb7e9c0a6122d2f4e3b7dbaf 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 @@ -117,7 +117,7 @@ public class ElementRestImplTest extends RestTestFunctions { Residue mr = new Residue(); mr.setState(ModificationState.ACETYLATED); mr.setName("S250"); - protein.addModificationResidue(mr); + protein.addResidue(mr); protein.setStructuralState(state); Map<String, Object> result = _elementsRestImpl.getOthersForElement(protein); assertNotNull(result.get("modifications")); @@ -139,7 +139,7 @@ public class ElementRestImplTest extends RestTestFunctions { ModificationSite mr = new ModificationSite(); mr.setState(ModificationState.ACETYLATED); mr.setName("S250"); - rna.addRegion(mr); + rna.addModificationSite(mr); rna.setState(state); Map<String, Object> result = _elementsRestImpl.getOthersForElement(rna); assertNotNull(result.get("modifications")); @@ -160,7 +160,7 @@ public class ElementRestImplTest extends RestTestFunctions { AntisenseRna antisenseRna = new AntisenseRna("s1"); ModificationSite mr = new ModificationSite(); mr.setName("S250"); - antisenseRna.addRegion(mr); + antisenseRna.addModificationSite(mr); antisenseRna.setState(state); Map<String, Object> result = _elementsRestImpl.getOthersForElement(antisenseRna); assertNotNull(result.get("modifications"));