Search in sources :

Example 1 with InteractionProxy

use of org.vcell.pathway.persistence.BiopaxProxy.InteractionProxy in project vcell by virtualcell.

the class PathwayReaderBiopax3 method addContentControl.

private boolean addContentControl(Control control, Element element, Element childElement) {
    if (addContentInteraction(control, element, childElement)) {
        return true;
    }
    /**
     * InteractionImpl controlledInteraction
     * Pathway controlledPathway
     * String controlType
     * ArrayList<Pathway> pathwayControllers
     * ArrayList<PhysicalEntity> physicalControllers
     */
    if (childElement.getName().equals("controller")) {
        // if (resourceAttribute != null){
        if (childElement.getChildren().size() == 0) {
            // if there are no children it must be a resource inside another object
            // we don't know yet whether it's Interaction or Pathway, we make a proxy for each
            // at the time when we solve the references we'll find out which is fake
            PhysicalEntityProxy proxyE = new PhysicalEntityProxy();
            addAttributes(proxyE, childElement);
            pathwayModel.add(proxyE);
            control.addPhysicalController(proxyE);
            PathwayProxy proxyP = new PathwayProxy();
            addAttributes(proxyP, childElement);
            pathwayModel.add(proxyP);
            control.getPathwayControllers().add(proxyP);
            return true;
        } else {
            for (Object child : element.getChildren()) {
                if (child instanceof Element) {
                    if (((Element) child).getName().equals("Pathway")) {
                        Pathway thingie = addObjectPathway((Element) child);
                        control.getPathwayControllers().add(thingie);
                        return true;
                    } else if (((Element) child).getName().equals("Complex")) {
                        Complex thingie = addObjectComplex((Element) child);
                        control.getPhysicalControllers().add(thingie);
                        return true;
                    } else if (((Element) child).getName().equals("Dna")) {
                        Dna thingie = addObjectDna((Element) child);
                        control.getPhysicalControllers().add(thingie);
                        return true;
                    } else if (((Element) child).getName().equals("DnaRegion")) {
                        DnaRegion thingie = addObjectDnaRegion((Element) child);
                        control.getPhysicalControllers().add(thingie);
                        return true;
                    } else if (((Element) child).getName().equals("Rna")) {
                        Rna thingie = addObjectRna((Element) child);
                        control.getPhysicalControllers().add(thingie);
                        return true;
                    } else if (((Element) child).getName().equals("RnaRegion")) {
                        RnaRegion thingie = addObjectRnaRegion((Element) child);
                        control.getPhysicalControllers().add(thingie);
                        return true;
                    } else if (((Element) child).getName().equals("Protein")) {
                        Protein thingie = addObjectProtein((Element) child);
                        control.getPhysicalControllers().add(thingie);
                        return true;
                    } else if (((Element) child).getName().equals("SmallMolecule")) {
                        SmallMolecule thingie = addObjectSmallMolecule((Element) child);
                        control.getPhysicalControllers().add(thingie);
                        return true;
                    } else {
                        return false;
                    }
                }
            }
        }
        return false;
    } else if (childElement.getName().equals("controlled")) {
        if (childElement.getChildren().size() == 0) {
            InteractionProxy proxyI = new InteractionProxy();
            addAttributes(proxyI, childElement);
            pathwayModel.add(proxyI);
            control.setControlledInteraction(proxyI);
            PathwayProxy proxyP = new PathwayProxy();
            addAttributes(proxyP, childElement);
            pathwayModel.add(proxyP);
            control.setControlledPathway(proxyP);
            return true;
        } else {
            for (Object child : childElement.getChildren()) {
                if (child instanceof Element) {
                    if (((Element) child).getName().equals("Pathway")) {
                        Pathway thingie = addObjectPathway((Element) child);
                        control.setControlledPathway(thingie);
                        return true;
                    } else {
                        Interaction thingie = (Interaction) addObjectBioPaxObjectSubclass((Element) child);
                        if (thingie == null) {
                            return false;
                        } else {
                            control.setControlledInteraction(thingie);
                            return true;
                        }
                    }
                // if(((Element)child).getName().equals("Pathway")) {
                // Pathway thingie = addObjectPathway((Element)child);
                // control.setControlledPathway(thingie);
                // return true;
                // } else if(((Element)child).getName().equals("Interaction")) {
                // Interaction thingie = addObjectInteraction((Element)child);
                // control.setControlledInteraction(thingie);
                // return true;
                // } else if(((Element)child).getName().equals("Control")) {
                // Control thingie = addObjectControl((Element)child);
                // control.setControlledInteraction(thingie);
                // return true;
                // } else if(((Element)child).getName().equals("Modulation")) {
                // Modulation thingie = addObjectModulation((Element)child);
                // control.setControlledInteraction(thingie);
                // return true;
                // } else if(((Element)child).getName().equals("Catalysis")) {
                // Catalysis thingie = addObjectCatalysis((Element)child);
                // control.setControlledInteraction(thingie);
                // return true;
                // } else if(((Element)child).getName().equals("TemplateReactionRegulation")) {
                // TemplateReactionRegulation thingie = addObjectTemplateReactionRegulation((Element)child);
                // control.setControlledInteraction(thingie);
                // return true;
                // } else if(((Element)child).getName().equals("Conversion")) {
                // Conversion thingie = addObjectConversion((Element)child);
                // control.setControlledInteraction(thingie);
                // return true;
                // } else if(((Element)child).getName().equals("BiochemicalReaction")) {
                // BiochemicalReaction thingie = addObjectBiochemicalReaction((Element)child);
                // control.setControlledInteraction(thingie);
                // return true;
                // } else if(((Element)child).getName().equals("TransportWithBiochemicalReaction")) {
                // TransportWithBiochemicalReaction thingie = addObjectTransportWithBiochemicalReaction((Element)child);
                // control.setControlledInteraction(thingie);
                // return true;
                // } else if(((Element)child).getName().equals("ComplexAssembly")) {
                // ComplexAssembly thingie = addObjectComplexAssembly((Element)child);
                // control.setControlledInteraction(thingie);
                // return true;
                // } else if(((Element)child).getName().equals("Degradation")) {
                // Degradation thingie = addObjectDegradation((Element)child);
                // control.setControlledInteraction(thingie);
                // return true;
                // } else if(((Element)child).getName().equals("Transport")) {
                // Transport thingie = addObjectTransport((Element)child);
                // control.setControlledInteraction(thingie);
                // return true;
                // } else if(((Element)child).getName().equals("GeneticInteraction")) {
                // GeneticInteraction thingie = addObjectGeneticInteraction((Element)child);
                // control.setControlledInteraction(thingie);
                // return true;
                // } else if(((Element)child).getName().equals("MolecularInteraction")) {
                // MolecularInteraction thingie = addObjectMolecularInteraction((Element)child);
                // control.setControlledInteraction(thingie);
                // return true;
                // } else if(((Element)child).getName().equals("TemplateReaction")) {
                // TemplateReaction thingie = addObjectTemplateReaction((Element)child);
                // control.setControlledInteraction(thingie);
                // return true;
                // } else {
                // return false;
                // }
                }
            }
        }
        return false;
    } else if (childElement.getName().equals("controlType")) {
        control.setControlType(childElement.getTextTrim());
        return true;
    } else {
        return false;
    }
}
Also used : InteractionProxy(org.vcell.pathway.persistence.BiopaxProxy.InteractionProxy) Rna(org.vcell.pathway.Rna) Pathway(org.vcell.pathway.Pathway) Interaction(org.vcell.pathway.Interaction) MolecularInteraction(org.vcell.pathway.MolecularInteraction) GeneticInteraction(org.vcell.pathway.GeneticInteraction) Element(org.jdom.Element) Protein(org.vcell.pathway.Protein) Complex(org.vcell.pathway.Complex) RnaRegion(org.vcell.pathway.RnaRegion) DnaRegion(org.vcell.pathway.DnaRegion) SmallMolecule(org.vcell.pathway.SmallMolecule) Dna(org.vcell.pathway.Dna) GroupObject(org.vcell.pathway.GroupObject) BioPaxObject(org.vcell.pathway.BioPaxObject) PathwayProxy(org.vcell.pathway.persistence.BiopaxProxy.PathwayProxy) PhysicalEntityProxy(org.vcell.pathway.persistence.BiopaxProxy.PhysicalEntityProxy)

Example 2 with InteractionProxy

use of org.vcell.pathway.persistence.BiopaxProxy.InteractionProxy in project vcell by virtualcell.

the class PathwayReaderBiopax3 method addObjectInteraction.

private Interaction addObjectInteraction(Element element) {
    if (element.getChildren().size() == 0) {
        // if there are no children it must be a resource inside another object
        InteractionProxy proxy = new InteractionProxy();
        addAttributes(proxy, element);
        pathwayModel.add(proxy);
        return proxy;
    }
    Interaction interaction = new InteractionImpl();
    addAttributes(interaction, element);
    for (Object child : element.getChildren()) {
        if (!addContentInteraction(interaction, element, (Element) child)) {
            showUnexpected((Element) child);
        }
    }
    pathwayModel.add(interaction);
    return interaction;
}
Also used : InteractionProxy(org.vcell.pathway.persistence.BiopaxProxy.InteractionProxy) InteractionImpl(org.vcell.pathway.InteractionImpl) Interaction(org.vcell.pathway.Interaction) MolecularInteraction(org.vcell.pathway.MolecularInteraction) GeneticInteraction(org.vcell.pathway.GeneticInteraction) Element(org.jdom.Element) GroupObject(org.vcell.pathway.GroupObject) BioPaxObject(org.vcell.pathway.BioPaxObject)

Example 3 with InteractionProxy

use of org.vcell.pathway.persistence.BiopaxProxy.InteractionProxy in project vcell by virtualcell.

the class PathwayReaderBiopax3 method addContentPathway.

private boolean addContentPathway(Pathway pathway, Element element, Element childElement) {
    if (addContentEntity(pathway, element, childElement)) {
        return true;
    }
    /**
     * BioSource organism
     * ArrayList<Interaction> pathwayComponentInteraction
     * ArrayList<Pathway> pathwayComponentPathway
     * ArrayList<PathwayStep> pathwayOrder
     */
    if (childElement.getName().equals("organism")) {
        pathway.setOrganism(addObjectBioSource(childElement));
        return true;
    } else if (childElement.getName().equals("pathwayOrder")) {
        pathway.getPathwayOrder().add(addObjectPathwayStep(childElement));
        return true;
    } else if (childElement.getName().equals("pathwayComponent")) {
        if (childElement.getChildren().size() == 0) {
            // if there are no children it must be a resource inside another object
            // we don't know yet whether it's Interaction or Pathway, we make a proxy for each
            // at the time when we solve the references we'll find out which is fake
            InteractionProxy proxyI = new InteractionProxy();
            addAttributes(proxyI, childElement);
            pathwayModel.add(proxyI);
            pathway.getPathwayComponentInteraction().add(proxyI);
            PathwayProxy proxyP = new PathwayProxy();
            addAttributes(proxyP, childElement);
            pathwayModel.add(proxyP);
            pathway.getPathwayComponentPathway().add(proxyP);
            return true;
        } else {
            // it's the real object declaration - could be an interaction or a pathway
            for (Object child : childElement.getChildren()) {
                if (child instanceof Element) {
                    if (((Element) child).getName().equals("Pathway")) {
                        Pathway thingie = addObjectPathway((Element) child);
                        pathway.getPathwayComponentPathway().add(thingie);
                        return true;
                    } else {
                        Interaction thingie = (Interaction) addObjectBioPaxObjectSubclass((Element) child);
                        if (thingie == null) {
                            return false;
                        } else {
                            pathway.getPathwayComponentInteraction().add(thingie);
                            return true;
                        }
                    }
                }
            }
        }
        return false;
    } else {
        return false;
    }
}
Also used : InteractionProxy(org.vcell.pathway.persistence.BiopaxProxy.InteractionProxy) Pathway(org.vcell.pathway.Pathway) Interaction(org.vcell.pathway.Interaction) MolecularInteraction(org.vcell.pathway.MolecularInteraction) GeneticInteraction(org.vcell.pathway.GeneticInteraction) Element(org.jdom.Element) GroupObject(org.vcell.pathway.GroupObject) BioPaxObject(org.vcell.pathway.BioPaxObject) PathwayProxy(org.vcell.pathway.persistence.BiopaxProxy.PathwayProxy)

Example 4 with InteractionProxy

use of org.vcell.pathway.persistence.BiopaxProxy.InteractionProxy in project vcell by virtualcell.

the class PathwayReader method addContentPathwayStep.

private boolean addContentPathwayStep(PathwayStep pathwayStep, Element element, Element childElement) {
    if (addContentUtilityClass(pathwayStep, element, childElement)) {
        return true;
    }
    /**
     * ArrayList<PathwayStep> nextStep
     * ArrayList<Interaction> stepProcessInteraction
     * ArrayList<Pathway> stepProcessPathway
     * ArrayList<Evidence> evidence
     */
    if (childElement.getName().equals("NEXT-STEP")) {
        Element pathwayStepElement = childElement.getChild("pathwayStep", bp);
        if (pathwayStepElement != null) {
            PathwayStep nextPathwayStep = addObjectPathwayStep(pathwayStepElement);
            pathwayStep.getNextStep().add(nextPathwayStep);
            pathwayModel.add(nextPathwayStep);
            return true;
        } else if (childElement.getChildren().size() == 0) {
            PathwayStepProxy pathwayStepProxy = new PathwayStepProxy();
            addAttributes(pathwayStepProxy, childElement);
            pathwayStep.getNextStep().add(pathwayStepProxy);
            pathwayModel.add(pathwayStepProxy);
            return true;
        } else {
            return false;
        }
    } else if (childElement.getName().equals("STEP-INTERACTIONS")) {
        if (childElement.getChildren().size() == 0) {
            // if there are no children it must be a resource inside another object
            InteractionProxy proxyI = new InteractionProxy();
            addAttributes(proxyI, childElement);
            pathwayModel.add(proxyI);
            pathwayStep.getStepProcessInteraction().add(proxyI);
            PathwayProxy proxyP = new PathwayProxy();
            addAttributes(proxyP, childElement);
            pathwayModel.add(proxyP);
            pathwayStep.getStepProcessPathway().add(proxyP);
            return true;
        } else {
            // it's a real stepProcess object nested here - we ignore this situation for now
            showIgnored(childElement, "Found NESTED child.", pathwayStep);
        }
        return false;
    // }else if (childElement.getName().equals("EVIDENCE")) {
    // pathwayStep.getEvidence().add(addObjectEvidence(childElement));
    // return true;
    } else {
        // no match
        return false;
    }
}
Also used : PathwayStep(org.vcell.pathway.PathwayStep) BiochemicalPathwayStep(org.vcell.pathway.BiochemicalPathwayStep) InteractionProxy(org.vcell.pathway.persistence.BiopaxProxy.InteractionProxy) PathwayStepProxy(org.vcell.pathway.persistence.BiopaxProxy.PathwayStepProxy) Element(org.jdom.Element) PathwayProxy(org.vcell.pathway.persistence.BiopaxProxy.PathwayProxy) InteractionOrPathwayProxy(org.vcell.pathway.persistence.BiopaxProxy.InteractionOrPathwayProxy)

Aggregations

Element (org.jdom.Element)4 InteractionProxy (org.vcell.pathway.persistence.BiopaxProxy.InteractionProxy)4 BioPaxObject (org.vcell.pathway.BioPaxObject)3 GeneticInteraction (org.vcell.pathway.GeneticInteraction)3 GroupObject (org.vcell.pathway.GroupObject)3 Interaction (org.vcell.pathway.Interaction)3 MolecularInteraction (org.vcell.pathway.MolecularInteraction)3 PathwayProxy (org.vcell.pathway.persistence.BiopaxProxy.PathwayProxy)3 Pathway (org.vcell.pathway.Pathway)2 BiochemicalPathwayStep (org.vcell.pathway.BiochemicalPathwayStep)1 Complex (org.vcell.pathway.Complex)1 Dna (org.vcell.pathway.Dna)1 DnaRegion (org.vcell.pathway.DnaRegion)1 InteractionImpl (org.vcell.pathway.InteractionImpl)1 PathwayStep (org.vcell.pathway.PathwayStep)1 Protein (org.vcell.pathway.Protein)1 Rna (org.vcell.pathway.Rna)1 RnaRegion (org.vcell.pathway.RnaRegion)1 SmallMolecule (org.vcell.pathway.SmallMolecule)1 InteractionOrPathwayProxy (org.vcell.pathway.persistence.BiopaxProxy.InteractionOrPathwayProxy)1