Search in sources :

Example 1 with PathwayProxy

use of org.vcell.pathway.persistence.BiopaxProxy.PathwayProxy 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 PathwayProxy

use of org.vcell.pathway.persistence.BiopaxProxy.PathwayProxy 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 3 with PathwayProxy

use of org.vcell.pathway.persistence.BiopaxProxy.PathwayProxy 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)3 InteractionProxy (org.vcell.pathway.persistence.BiopaxProxy.InteractionProxy)3 PathwayProxy (org.vcell.pathway.persistence.BiopaxProxy.PathwayProxy)3 BioPaxObject (org.vcell.pathway.BioPaxObject)2 GeneticInteraction (org.vcell.pathway.GeneticInteraction)2 GroupObject (org.vcell.pathway.GroupObject)2 Interaction (org.vcell.pathway.Interaction)2 MolecularInteraction (org.vcell.pathway.MolecularInteraction)2 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 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 PathwayStepProxy (org.vcell.pathway.persistence.BiopaxProxy.PathwayStepProxy)1